0% found this document useful (0 votes)
4 views

Software Engineering Unit 3

The document provides an overview of Software Engineering, focusing on the Unified Modeling Language (UML) and its role in simplifying complex software development through modeling techniques. It discusses various UML components such as use cases, actors, and associations, as well as object-oriented concepts like classes, inheritance, and polymorphism. Additionally, it highlights the importance of UML in facilitating communication and documentation throughout the software development life-cycle.

Uploaded by

business.karsiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Software Engineering Unit 3

The document provides an overview of Software Engineering, focusing on the Unified Modeling Language (UML) and its role in simplifying complex software development through modeling techniques. It discusses various UML components such as use cases, actors, and associations, as well as object-oriented concepts like classes, inheritance, and polymorphism. Additionally, it highlights the importance of UML in facilitating communication and documentation throughout the software development life-cycle.

Uploaded by

business.karsiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Software Engineering Notes 2023

SOFTWARE ENGINEERING

DR. TEJASHREE TEJPAL MOHAREKAR


MCA, NET, Ph. D
Assistant Professor
Shivaji University, Kolhapur

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 1


Software Engineering Notes 2023

UNIT 3

Introduction to UML: The design model: Developing use cases, Relationships, class diagrams,
associations, generalizations, object diagram, Dynamic modeling – State diagrams, Sequence
diagrams, Collaboration diagrams, Activity diagrams etc. Logical and physical architecture –
Component diagram, Deployment diagrams etc. Case Studies: Courseware management system,
ATM, Airline reservation System.

INTRODUCTION

Models are representations of reality which help simplify the reality. It is not different in the
software development field. The software under development can be complex. So the models of
software can be used. One such modeling technique is the Unified Modeling Language.

Models are created to represent reality in a simplified way. They provide a structure for problem
solving. They help in understanding how one can proceed with the problem at hand. They also
allow to experiment with multiple solutions. Since the models are created before the actual
development of the system, we can understand different possibilities, problems, options etc. This
also leads to decrease in the development costs. Since the time will not be wasted in trials and
errors the product will be ready in lesser time. Models also help manage the complexity of the
problem so the planning of the development, allocation of the resources like machines,
programmers, testers can be done easily.

UML

Unified Modeling Language (UML) is a standardized general-purpose modeling language in the


field of object-oriented software engineering. UML includes a set of graphic notation techniques
to create visual models of object-oriented software systems. UML combines techniques from
data modeling, business modeling, object modeling, and component modeling and can be used
throughout the software development life-cycle and across different implementation
technologies.

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 2


Software Engineering Notes 2023

The Unified Modeling language, popularly known as the UML is a visual modeling language
that helps system developers to create blueprints that captures their vision in a standard, easy to
understand form, and gives a mechanism to effectively share and communicate their visions with
others.

The Object Management Group gives the formal definition of the UML as The UML is a
graphical language for specifying, visualizing, constructing and documenting the artifacts of
the software system.

Specifying – UML provides the means to model precisely, unambiguously and completely the
system in question.

Visualizing – UML provides graphical notation which articulates and ambiguously


communicates the overall view of the system.

Constructing - UML provides the ‘design’ dimension to the models built. These are language
independent and can be implemented in any programming language.

Documenting – every software project involves a lot of documentation from the inception phase
to the deliverables.

Modeling

There is a difference between a UML model and the set of diagrams of a system. A diagram is a
partial graphic representation of a system’s model. The model also contains documentation that
drives the model elements and diagrams (such as written use cases).

UML diagrams are not only made for developers but also for business users, common people,
and anybody interested to understand the system. The system can be a software or non-software
system. Thus it must be clear that UML is not a development method rather it accompanies with
processes to make it a successful system.

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 3


Software Engineering Notes 2023

Object-Oriented Concepts

UML can be described as the successor of object-oriented (OO) analysis and design. An object
contains both data and methods that control the data. The data represents the state of the object.
A class describes an object and they also form a hierarchy to model the real-world system. The
hierarchy is represented as inheritance and the classes can also be associated in different ways as
per the requirement. Objects are the real-world entities that exist around us and the basic
concepts such as abstraction, encapsulation, inheritance, and polymorphism all can be
represented using UML. UML is powerful enough to represent all the concepts that exist in
object-oriented analysis and design. UML diagrams are representation of object-oriented
concepts only. Thus, before learning UML, it becomes important to understand OO concept in
detail.

Following are some fundamental concepts of the object-oriented world:

 Objects: Objects represent an entity and the basic building block.


 Class: Class is the blueprint of an object.
 Abstraction: Abstraction represents the behavior of a real world entity.
 Encapsulation: Encapsulation is the mechanism of binding the data together and hiding
them from the outside world.
 Inheritance: Inheritance is the mechanism of making new classes from existing ones.
 Polymorphism: It defines the mechanism to exist in different forms.

USE-CASE MODEL

The Use-case model is defined as a model which is used to show how users interact with the
system in order to solve a problem. As such, the use case model defines the user's objective, the
interactions between the system and the user, and the system's behavior required to meet these
objectives.

Various model elements are contained in use-case model, such as actors, use cases, and the
association between them.

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 4


Software Engineering Notes 2023

We use a use-case diagram to graphically portray a subset of the model in order to make the
communication simpler. There will regularly be a numerous use-case diagram which is related to
the given model, each demonstrating a subset of the model components related to a specific
purpose. A similar model component might be appearing on a few use-case diagrams; however,
each use-case should be consistent. If, in order to handle the use-case model, tools are used then
this consistency restriction is automated so that any variations to the component of the model
(changing the name, for instance) will be reflected automatically on each use-case diagram,
which shows that component.

Components of Basic Model

There are various components of the basic model:

 Actor
 Use Case
 Associations

Actor

Usually, actors are people involved with the system defined on the basis of their roles. An actor
can be anything such as human or another external system.

Use Case

The use case defines how actors use a system to accomplish a specific objective. The use cases
are generally introduced by the user to meet the objectives of the activities and variants involved
in the achievement of the goal.

Associations

Associations are another component of the basic model. It is used to define the associations
among actors and use cases they contribute in. This association is called communicates-
association.

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 5


Software Engineering Notes 2023

Advanced Model Components

There are various components of the advanced model:

 Subject
 Use-Case Package
 Generalizations
 Generalizations
 Dependencies

Subject

The subject component is used to represent the boundary of the system of interest.

Use-Case Package

We use the model component in order to structure the use case model to make simpler the
analysis, planning, navigation, and communication. Suppose there are various actors or use
cases. In that case, we can also use use-case packages in order to further structure the use-case
model in much the similar way we use directories or folders to organize the information on our
hard-disk.

For various reasons, we divide the use-case model into the use-case packages, containing:

o To help parallel development by partitioning the problem into bite-sized parts.

o To improve communication with various stakeholders by making packaging containing


actors, use cases and related to the specific stakeholder.

Generalizations

Generalizations mean the association between the actors in order to help re-use of common
properties.

Dr. Tejashree Tejpal Moharekar ( MCA, NET, Ph. D ) Page 6

You might also like