Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Department of Collegiate and Technical Education Diploma in CS&E

Course: Software Engineering principles and practices Code: 20CS44P

WEEK-6 : Requirement Engineering & Modeling


Session No. 3
Requirement modeling strategies; Overview of UML;
Types of diagrams

6.3.1 Requirement modelling strategies

Following are the requirement modelling strategies,


1. Flow Oriented Modeling
2. Class-based Modeling

6.3.1.1 Flow Oriented Modeling


It shows how data objects are transformed by processing the function.
The Flow oriented elements are:
a) Data flow model
b) Control flow model
c) Control Specification
d) Process Specification

6.3.1.2 Class-based Modeling


Class based modeling represents the object. The system manipulates the operations.

The elements of the class-based model are:


e) classes and object
f) attributes
g) operations
h) class – responsibility - collaborator (CRS) models.

6.3.2 Overview of UML

 UML stands for Unified Modelling Language.


 UML is used to model an application structure, behaviour and even business processes.
 It is a visual modeling language used for analysis, design, implementation of software-based
systems, modeling business and similar processes.
 It is a standard modeling language, not a software development process.
 It is a standard notation for the modeling of real-world objects as a first step in developing an
object-oriented methodology.

6.3.2.1 Advantages of UML


[Software Engineering principles and practices-20CS44P]
Department of Collegiate and Technical Education Diploma in CS&E

 UML provides a standard for software development.


 It reduces the development time and cost to develop diagrams of UML using supporting tools.
 It has a large visual element to construct.
 Communication with programmers and outside contractors will be more efficient.
 The past faced issues by the developers no longer exists.

6.3.2.2 Disadvantages of UML


 UML is large and complex.
 UML is difficult to synchronize the code with models.
 It is difficult to keep multiple models or diagrams consistent with each other.
 UML is limited to what the vendor provides out of the box, usually some form of a code generator.
 It does not define a standard file format, which means each UML tool vendor stores the representation
of its UML model in proprietary format.

6.3.3 Types of diagrams

The UML diagrams are categorized into structural diagrams, behavioral diagrams, and also interaction
overview diagrams. The diagrams are hierarchically classified in the following figure,

6.3.3.1 Structural Diagrams


 Structural diagrams depict a static view or structure of a system. It is widely used in the documentation
of software architecture.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

 It embraces class diagrams, composite structure diagrams, component diagrams, deployment


diagrams, object diagrams, and package diagrams.
 It presents an outline for the system. It stresses the elements to be present that are to be modelled.

6.3.3.2 Behavioural Diagrams


Behavioural diagrams portray a dynamic view of a system or the behaviour of a system, which
describes the functioning of the system.
It includes use case diagrams, state diagrams, and activity diagrams.
It defines the interaction within the system.

6.3.3.3 Interaction Diagrams


Interaction diagrams are a subclass of behavioural diagrams that give emphasis to object interactions
and also depicts the flow between various use case elements of a system.
In simple words, it shows how objects interact with each other and how the data flows within them.
It consists of communication, interaction overview, sequence, and timing diagrams.

6.3.3.4 Class Diagram


Class diagrams are the main building block of any object-oriented solution. It shows the
classes in a system, attributes, and operations of each class and the relationship between each
class. A class has three parts, name at the top, attributes in the middle and operations or
methods at the bottom. Different relationships between classes are shown by different
types of arrows.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.5 Component Diagram


A component diagram displays the structural relationship of components of a software
system. These are mostly used when working with complex systems with many components.
Components communicate with each other using interfaces. The interfaces are linked using
connectors.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.6 Object Diagram


Object Diagrams, sometimes referred to as Instance diagrams, similar to class diagrams.
Like class diagrams, they also show the relationship between objects but they use real-world
examples. They show how a system will look like at a given time. Because there is data
available in the objects, they are used to explain complex relationships between objects.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.7 Package Diagram


As the name suggests, a package diagram shows the dependencies between different
packages in a system. Check out this wiki article to learn more about the dependencies
and elements found in package diagrams.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.8 Use Case Diagram


Use case diagrams give a graphic overview of the actors involved in a system, different
functions needed by those actors and how these different functions interact. It’s a great
starting point for any project discussion because you can easily identify the main actors
involved and the main processes of the system.

[Software Engineering principles and practices-20CS44P]


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.9 Activity Diagram


Activity diagrams represent workflows in a graphical way. They can be used to describe the
business workflow or the operational workflow of any component in a system. Sometimes
activity diagrams are used as an alternative to State machine diagrams. Check out this wiki
article to learn about symbols and usage of activity diagrams.

6.3.3.10 Sequence Diagram


Sequence diagrams in UML show how objects interact with each other and the order those
interactions occur. It’s important to note that they show the interactions for a particular
scenario. The processes are represented vertically and interactions are shown as arrows.
This article explains the purpose and the basics of Sequence diagrams.

Software Engineering principles and practices


Department of Collegiate and Technical Education Diploma in CS&E

6.3.3.11 Communication Diagram


In UML 1 they were called collaboration diagrams. Communication diagrams are similar to
sequence diagrams, but the focus is on messages passed between objects. The same
information can be represented using a sequence diagram and different objects.

Software Engineering principles and practices

You might also like