SDA LEC 2 WEEK 2 29022024 020146pm
SDA LEC 2 WEEK 2 29022024 020146pm
ARCITECTURE(SDA)
LECTURE 2
ENGR.RAMSHA MASHOOD
SENIOR LECTURER
DEPARTMENT OF SOFTWARE ENGINEERING
BAHRIA UNIVERSITY KARACHI CAMPUS
TEXT BOOK
OBJECT-ORIENTED ANALYSIS, DESIGN AND
IMPLEMENTATION, BRAHMA DATHAN, SARNATH
RAMNATH, LATEST EDITION, UNIVERSITIES PRESS
July 30, 2024 4
REFERENCE BOOK
2. SOFTWARE ENGINEERING: A PRACTITIONER’S
APPROACH, ROGER S. PRESSMAN, BRUCE R. MAXIM,
8TH ED, MCGRAW-HILL EDUCATION, 2015. 3.
Abstraction
An abstraction is a tool that enables a designer to consider a component at an abstract
level without bothering about the internal details of the implementation. Abstraction can
be used for existing element as well as the component being designed.
Here, there are two common abstraction mechanisms
1. Functional Abstraction
2. Data Abstraction
Strategy of Design
A good system design strategy is to organize the program modules in such a method that
are easy to develop and latter too, change. Structured design methods help developers to
deal with the size and complexity of programs. To design a system, there are two
possible approaches:
1. Top-down Approach
2. Bottom-up Approach
Model 2
View 2
View 1
System
View 3
Model 1
Electrical
Wiring
Scale Model
MODELS, VIEWS AND SYSTEMS
(UML)
* *
System Model View
Described by Depicted by
Airplane: System
• OBJECT DIAGRAMS:
• OBJECT DIAGRAMS REPRESENT INSTANCES OF CLASSES AND THE
RELATIONSHIPS BETWEEN THESE INSTANCES AT A SPECIFIC POINT IN TIME.
THEY PROVIDE A SNAPSHOT OF THE SYSTEM'S STRUCTURE DURING RUNTIME.
• PACKAGE DIAGRAMS:
• PACKAGE DIAGRAMS SHOW THE ORGANIZATION AND DEPENDENCIES AMONG
PACKAGES IN A SYSTEM. THEY HELP IN ORGANIZING AND MANAGING LARGE-
SCALE SYSTEMS BY GROUPING RELATED ELEMENTS INTO PACKAGES.
STRUCTURE UML
• COMPONENT DIAGRAMS:
• COMPONENT DIAGRAMS REPRESENT THE PHYSICAL COMPONENTS (E.G.,
EXECUTABLE FILES, LIBRARIES) OF A SYSTEM AND THEIR RELATIONSHIPS.
THEY FOCUS ON THE ORGANIZATION AND DEPENDENCIES OF THESE
COMPONENTS.
• DEPLOYMENT DIAGRAMS:
• DEPLOYMENT DIAGRAMS MODEL THE PHYSICAL DEPLOYMENT OF SOFTWARE
COMPONENTS TO HARDWARE NODES. THEY SHOW HOW SOFTWARE
ARTIFACTS ARE DISTRIBUTED ACROSS DIFFERENT NODES IN A NETWORK.
BEHAVIORAL UML
• USE CASE DIAGRAMS:
• USE CASE DIAGRAMS DEPICT THE INTERACTIONS BETWEEN A SYSTEM AND ITS
EXTERNAL ACTORS. THEY ILLUSTRATE THE VARIOUS USE CASES AND THEIR
RELATIONSHIPS, PROVIDING A HIGH-LEVEL VIEW OF SYSTEM FUNCTIONALITY
FROM A USER'S PERSPECTIVE.
• SEQUENCE DIAGRAMS:
• SEQUENCE DIAGRAMS SHOW THE INTERACTIONS BETWEEN DIFFERENT
OBJECTS OR COMPONENTS OVER TIME. THEY DEPICT THE ORDER IN WHICH
MESSAGES ARE EXCHANGED BETWEEN OBJECTS, HELPING TO VISUALIZE THE
DYNAMIC BEHAVIOR OF A SYSTEM DURING A SPECIFIC SCENARIO OR
OPERATION.
• TIMING DIAGRAMS:
• TIMING DIAGRAMS FOCUS ON THE TIMING CONSTRAINTS AND INTERACTIONS BETWEEN
OBJECTS IN A SYSTEM. THEY REPRESENT THE TIMING OF MESSAGES AND EVENTS OVER A
SPECIFIC PERIOD, HELPING TO VISUALIZE THE TEMPORAL ASPECTS OF A SYSTEM.
UML FIRST PASS: USE CASE
DIAGRAMS
Package Use case
Watch
Actor
ReadTime
SetTime
WatchUser WatchRepairPerson
ChangeBattery
Multiplicity Watch
1 1 1 1
2 1 2 1
PushButton LCDDisplay Battery Time
state blinkIdx load now
push() blinkSeconds()
release() blinkMinutes()
blinkHours()
stopBlinking()
referesh()
Attribute
Operations
UML FIRST PASS: SEQUENCE DIAGRAM
Actor Object
pressButton1() blinkHours()
pressButton1() blinkMinutes()
Activation
Lifeline
[button1Pressed]
Transition
[button1&2Pressed] [button2Pressed]
BlinkMinutes IncrementMin.
[button1Pressed]
[button1&2Pressed] [button2Pressed]
BlinkSeconds IncrementSec.
StopBlinking
Final state
• HTTPS://WWW.UML-DIAGRAMS.ORG/UML-25-DIAGRAMS.HTML
• HTTPS://WWW.LUCIDCHART.COM/PAGES/WHAT-IS-UML-UNIFIED-MODELING-L
ANGUAGE/#SECTION_0
ANY THING TO ASK ??