You are on page 1of 11

Name : Umar Ali

Roll Number : 522

Class # : BS (CS) – 6th Semester

Assignment # : 05

Submitted to : Sir Idress

Subject : “CS-511-Software
Engineering-II”
Q1: Explain Collaboration Diagram in UML with example.
Answer:
Collaboration Diagram in UML:
Collaboration diagrams are also known as communication diagrams. They can
demonstrate how objects communicate to execute a specific use case's actions or an
aspect of a use case. Designers can use collaboration diagrams to explain and identify
the roles of objects performing a specific flow of events in a use case. They are the main
information source used to establish class roles and interfaces.

Collaboration diagrams are developed by first determining the design elements


required to incorporate the functionality of interface features. The interactions among
these elements are then used to build a model. The aim of a collaboration diagram is to
illustrate the systemic dimensions of a structure, i.e., how various lifelines link within the
structure. Collaboration is a set of named actions and systems which have connections
to them. They work together to perform any task.

Through interacting together, objects may generate (usable) high-level functionalities.


The objects collaborate and operate together by communicating (passing messages)
with each other. The collaboration diagram represents the relationships between the
objects. The collaboration diagram illustrates how messages are exchanged between
classes and objects (instances). It is generated for each process of the system and relates
to the existing development phase.

Application Scenarios for Collaboration Diagrams:


Few examples of situations where collaboration diagrams may be beneficial include:

 Create a birds-eye view of a collection of objects collaborating, especially within a


real-time system.
 Allocate capability to classes by exploring a system's behavioral attributes.
 Modelling collaborations, processes or hierarchical organization in the
architecture of a system.
 Providing a description of objects operating together within an object-oriented
framework.
 To display multiple alternate possibilities for the same use case.
 To illustrate forward and reverse engineering.
 Capturing information passing between objects.
 To visualize the complex logic of a system.

Benefits of a Collaboration Diagram-


 It reinforces the structural aspects of an interaction system which is how the
lifeline is connected.
 Messages transmitted over sequencing are shown by hierarchical numeration of
each message.
 It enables to focus on the structural elements and not on the flow of message as
stated in sequence diagrams.

Drawbacks of a Collaboration Diagram-


 Exploring every object in the diagram is not easy.
 An object’s state changes frequently, which makes it troublesome to keep track
of every change in every object present in the system.
 There are instances when there are too many objects present in the collaboration
diagram and this can crowd the diagram.

Relations between Collaboration Diagram and


Sequence Diagram-
Sequence diagrams and collaboration diagrams display the same details, but simply
present it differently. Within UML the collaboration and sequence diagrams are the two
forms of interaction diagrams. While both styles use relevant and similar data, they
present the information in different ways.

Collaboration diagrams have been used to envision the structural organization and
interactions between objects. At the other hand, sequence diagrams concentrate on the
order of messages moving in between objects. Nonetheless, a single figure is not
enough in most situations to explain a system's behavior, so both diagrams are
necessary.
Symbols and Components of Collaboration Diagram-

 Links: Links connect objects as well as actors. These are cases of associations, and
each link within the class diagram relates to a connection.
 Actor: Typically an instance of the actor exists as the beginning of the interaction
in the relationship. If multiple instances of actors are present in the same
diagram, focus on keeping them towards the outside of the diagram.
 Object: An object is depicted by an object symbol displaying the object's name,
and underlining its class, differentiated by a colon.
 Message A message is an interaction between objects conveying information
with the belief that the action will follow. A message is displayed in collaboration
diagrams as a labelled arrow, located near a link.
Collaboration Diagram Examples:
Diagram 1: Purchase Journey-

In this example, a collaboration diagram of the purchase journey of a consumer on an e-


commerce website is illustrated. It depicts the order of purchase from the ‘Item’ object
to the message of ‘order details’ being displayed.
Diagram 2: Admin Panel-

This example depicts a collaboration diagram of an admin panel. It shows the user
signing in using their unique Id to access an interface of profiles, products, etc.

Summary:
Collaboration diagrams are particularly well suited for depicting simplistic interactions
between small numbers of objects. While collaboration diagrams are not used as
frequently as sequence diagrams, they are an incredibly useful aspect of UML. It helps to
envision, in a single diagram, all the complex dimensions of collaboration and the
relationships between objects.
Q2: Discuss System Design Process with Examples?
Answer:
Definition:
Systems design is the process of defining elements of a system like modules, architecture,
components and their interfaces and data for a system based on the specified requirements. It
is the process of defining, developing and designing systems which satisfies the specific needs
and requirements of a business or organization.

In this phase, the complex activity of system development is divided into several smaller sub-activities,
which coordinate with each other to achieve the main objective of system development.

Inputs to System Design-


System design takes the following inputs −
Statement of work
Requirement determination plan
Current situation analysis
Proposed system requirements including a conceptual data model, modified DFDs, and Metadata (data
about data).
Outputs for System Design-
System design gives the following outputs −
Infrastructure and organizational changes for the proposed system.
A data schema, often a relational schema.
Metadata to define the tables/files and columns/data-items.
A function hierarchy diagram or web page map that graphically describes the program
structure.
Actual or pseudo code for each module in the program.
A prototype for the proposed system.
Types of System Design-
Logical Design-

Logical design pertains to an abstract representation of the data flow, inputs, and outputs of the
system. It describes the inputs (sources), outputs (destinations), databases (data stores),
procedures (data flows) all in a format that meets the user requirements.

While preparing the logical design of a system, the system analyst specifies the user needs at
level of detail that virtually determines the information flow into and out of the system and the
required data sources. Data flow diagram, E-R diagram modeling are used.

Physical Design-

Physical design relates to the actual input and output processes of the system. It focuses on
how data is entered into a system, verified, processed, and displayed as output.

It produces the working system by defining the design specification that specifies exactly what
the candidate system does. It is concerned with user interface design, process design, and data
design.

It consists of the following steps −

Specifying the input/output media, designing the database, and specifying backup procedures.

Planning system implementation.

Devising a test and implementation plan, and specifying any new hardware and software.

Updating costs, benefits, conversion dates, and system constraints.

Architectural Design-

It is also known as high level design that focuses on the design of system architecture. It
describes the structure and behavior of the system. It defines the structure and relationship
between various modules of system development process.
Detailed Design

It follows Architectural design and focuses on development of each module.

Conceptual Data Modeling

It is representation of organizational data which includes all the major entities and relationship.
System analysts develop a conceptual data model for the current system that supports the
scope and requirement for the proposed system.

The main aim of conceptual data modeling is to capture as much meaning of data as possible.
Most organization today use conceptual data modeling using E-R model which uses special
notation to represent as much meaning about data as possible.

Some of the examples of graphical modelling languages are

a. Unified Modelling Language (UML): To describe software both structurally and behaviorally with
graphical notation.

b. Flowchart: A schematic or stepwise representation of an algorithm.

c. Business Process Modelling Notation (BPMN): Used for Process Modelling language.

d. Systems Modelling Language (SysML): Used for systems engineering.

Design methods:
1) Architectural design: To describes the views, models, behaviour, and structure of the system.

2) Logical design: To represent the data flow, inputs and outputs of the system. Example: ER Diagrams
(Entity Relationship Diagrams).

3) Physical design: Defined as a) How users add information to the system and how the system
represents information back to the user. b) How the data is modeled and stored within the system. c)
How data moves through the system, how data is validated, secured and/or transformed as it flows
through and out of the system.
System Design Process Examples:

You might also like