Software Architecture
Software Architecture
Stacey Baror
[email protected]
Software Architecture
Introduction to Software Architecture 3 of 3
Lecture Outcome
Ø Extracting architectural decisions of quality
requirements/quality attributes from functional requirements
ØIdentifying the requirements of each
quality requirements.
ØArchitectural Strategies (Tactics)
ØArchitectural Patterns (Styles)
Recommended Textbook for Software Architecture
Ø Block diagram
Ø SysML diagrams
luggage &
flight data Flight
Information
System
3-29
Component based Architecture
Ø Component: It is a self-contained unit of
software functionality that encapsulates
both data and processing logic.
events instructions
instructions events
instructions
events
Component 3
call
air link instructions data
events <<subsystem>>
<<subsystem>>
<<subsystem>> Base Station
Antenna
Mobile <<subsystem>> Account
Hardware Management
Controller
Software
events
<<subsystem>> <<subsystem>> <<subsystem>>
High-Power Controller
Mobile instructions Transceivers Hardware
Software
Legend: component port <<subsystem>> stereotype for introducing new modeling constructs
3-32
SysML Block Definition Diagram
bdd [package] Legend:
Structure
subsystem
or
component
Airport Baggage
Handling System consist
of
3-33
SysML Internal Block Diagram
ibd [Block] Terminal Subsystem
[Nested Flow]
bar-code instructions
Legend:
subsystem input or input & association
or output output relation, or port-
component port port to-port flow
3-34
Data Flow Diagram with Material Flows
1 valid 2 3
shipment shipment new titles
slip Verify slip Classify available Handle
Publisher Shipment Publications Documents
Content Received Check-
In/Out
Purchasing Cataloging Circulatio
n
Receiving Cataloging Book
Dock Room Shelves
raw shipment publications publications
w/call
numbers
Legend:
ID information
flow External Internal
Function Entity Entity
material flow
Subsystem
3-35
Other System Engineering Activities
Ø Development of subsystems
üThe subsystems are developed by different engineering teams.
üThe engineering teams collaborate to jointly solve
interdisciplinary problems.
Ø System integration, testing, and deployment
üThe subsystems and components are integrated and tested for
interoperability.
üThe system is tested to ensure that it satisfies the system
requirements and constraints.
üThe system is then installed and tested in the target
environment.
Thank you