Software
Engineering 1
Week 3
System Modeling
● System modeling is the process of developing abstract
models of a system, with each model presenting a different
view or perspective of that system.
● is the process of creating abstract representations of a
system using diagrams, symbols, and text.
● A Model is an abstract representation of a system structure
Unified Modeling Language
● What is UML?
• UML is a standard language for specifying, visualizing, constructing,
and documenting theartifacts of software systems.
• UML stands for Unified Modeling Language.
• UML is a language used to make software blueprints.
• UML diagram is a model that describes a part of a system. It is used to define the
functionality or a design of asystem. A diagram must be clear and concise so that the
viewer will readily understand it.
UML Diagrams
• UML diagrams are divided into two main categories such as:
Interaction diagram
• For example : Sequence Diagram: It defines the interaction between classes.
• For example : Use-case diagrams describe the high-level functions and scope of
a system which show the interactions between a system and its environment.
Structural diagram
● For example : Class Diagram: Structure diagram represents structures that are
used in documenting the architecture of system.
Use case diagaram
● Identifies the interactions between the system and its actors
Components of use case diagaram
● Actor
● Use case
● Relationship
• Actors
• An actor can be a human, or a machine or a program .
• Use Cases:
o A use case describes the possible sequences of
interactions among the system and one or
more actors in response to some initial stimulus
by one of the actors.
Relationships :
o To represent complex relationships between different use cases, we can
use the extendand include relationships.
o Extend relationship: The use case is optional and comes after the base
use case. It isrepresented by a dashed arrow in the direction of the
base use case with the notation <<extend>>.
o Include relationship: The use case is mandatory and part of the
base use case. It isrepresented by a dashed arrow in the direction of
the included use case with the notation <<include>>
o Generalization
Use case example
EXAMPLE
● An automated teller machine (ATM) is a banking subsystem thatprovides bank
customers with access to financial transactions ina public space without the
need for a cashier, clerk, or bank teller. Customer uses bank ATM to Check
Balances of his/her bank accounts, Deposit Funds, Withdraw Cash and/or
Transfer Funds. ATM Technician provides Maintenance and Repairs. All these
use cases also involve Bank actor whether it is related to customer
transactions or to the ATM servicing
EXAMPLE
• An Online Public Access Catalog (OPAC) is an e-Library
website which is part of Integrated Library System (ILS), also
known as a Library Management System (LMS), and
managed by a library or group of libraries.
• Patrons of the library can search library catalog online to
locatevarious resources - books, periodicals, audio and
visual materials, or other items under control of the
library. Patrons may reserve or renew item, provide
feedback, and manage theiraccount.
EXAMPLE
• Web Customer actor uses some web site to make purchases online. Top level use
cases are View Items, Make Purchase and Client Register. View Items use case
could be used by customer as top-level use case if customer only wants to find and
see someproducts. This use case could also be used as a part of Make Purchase
use case. Client Register use case allows customer to register on the web site, for
example to get somecoupons or be invited to private sales.
• Note, that Checkout use case is included use case not available by itself -
checkout ispart of making purchase.
• Except for the Web Customer actor there are several other actors which
will bedescribed below with detailed use cases.