Software Design and Architecture: Engr Saiqa Anjum Lecturer SE Faculty of NUML
Software Design and Architecture: Engr Saiqa Anjum Lecturer SE Faculty of NUML
Use Cases
Class Diagram
Component Diagrams
Interaction Sequence Diagrams
Activity Diagrams
State Machine Diagrams
Object Constraint Language
Deployment Diagrams
Design Patterns or GRASP Patterns
Modeling
• Models are abstractions that portray the essentials of a complex
problem or structure by filtering out nonessential details.
cd Users
«Include»
Business Entities::Employee dsXxx.i
+ Address: CHARACTER incl udes - DEFINE DATASET <dataset-def>:
+ City: CHARACT ER
+ email: CHARACT ER
i ncludes
- EmployeeLanguage: CHARACTER
Architecture Entities::User + employmentEndDate: DAT ET IME-T Z
+ employmentStartDate: DAT E
- UserEmail: CHARACT ER + FirstName: CHARACTER
Architecture Entities:: «incl ude» «Program»
- UserLogin: CHARACTER
1 1 + LastName: CHARACTER
Language «includes» ClientXxx.p
«i ncludes» «Incl ude»
- UserPassword: CHARACTER + MobilePhoneNumber: CHARACTER ttContext.i
etXxx.i
+ Notes: CHARACT ER
0..* 1 - Description: CHARACTER
+ PhoneNumber: CHARACTER
+ createEmployee() : void
+ deleteEmployee() : void «Include»
1 + findEmployee() : void proSIproxyStart.i
+ isAvailable() : LOGICAL
+ updateEmployee() : void ud Manage Employees - NEW GLOBAL SHARED VARIABLE ghProxySIproc:
Architecture Entities::UserGroups
+ validateEmployee() : void
- UserGroupDescription: CHARACTER AutoEdge System «realize PERSISTENT»
- UserGroupName: CHARACTER
Update Employee
dd Integration
Request("Security", "Login", ...)
HQ System
isValidUser(Login, password)
ValidUser
Sonic
[if Valid User]: createSession
Sonic Sonic Sonic Sonic
sessionID
(from Architecture Components) (from Architecture Components) (from Archi tecture Components)
(from Architecture Components)
4+1 architectural view model
• 4+1 is a view model used for "describing the
architecture of software-intensive systems, based on the
use of multiple, concurrent views".
• The views are used to describe the system from the
viewpoint of different stakeholders, such as end-users,
developers, system engineers, and project managers.
• The four views of the model are logical, development,
process and physical view. In addition, selected use
case or scenarios are used to illustrate the architecture
serving as the 'plus one' view.
Use-case View
• Gathering requirements
• Functional & non-functional requirements
• Document functional requirements
• UML Use Case Diagram
• Use Case Description Documents
• Identify actor(s) and association to use case
• Create different levels of use cases (re-use!)
Logical View
• The logical view is concerned with the functionality that the
system provides to end-users.
• Class diagram
• State machine diagram
Process view
• The process view deals with the dynamic aspects of the
system, explains the system processes and how they
communicate, and focuses on the run time behavior of the
system.
• This view is also known as the dynamic view.
• UML diagrams to represent process view include the
• Sequence diagram
• Communication diagram
• Activity diagram
Development view
• The development view illustrates a system from a
programmer's perspective and is concerned with software
management.
• This view is also known as the implementation view.
• UML diagrams to represent process view include the
• Component diagram
• Package diagram
Physical view
• The physical view depicts the system from a system engineer's
point of view.
• It is concerned with the topology of software components on
the physical layer as well as the physical connections between
these components.
• This view is also known as the deployment view.
• UML diagram to represent process view include the
• Deployment diagram
HAVE A NICE DAY
Q/A