DESIGN OF SOFTWARE ARCHITECTURE - PowerPoint PPT Presentation

About This Presentation
Title:

DESIGN OF SOFTWARE ARCHITECTURE

Description:

A Simple Example of Software Architecture Using UML2 SATELLITE CONTROL SYSTEM ... Designing The Subsystems, ... a hardware configuration and a platform ... – PowerPoint PPT presentation

Number of Views:272
Avg rating:3.0/5.0
Slides: 49
Provided by: Prefer539
Category:

less

Transcript and Presenter's Notes

Title: DESIGN OF SOFTWARE ARCHITECTURE


1
DESIGN OFSOFTWARE ARCHITECTURE
  • Instructor Dr. Hany H. Ammar
  • Dept. of Computer Science and Electrical
    Engineering, WVU

2
Ouline
  • UML Development Overview
  • The Requirements, Analysis, and Design Models
  • What is Software Architecture?
  • Software Architecture Elements
  • Software Architecture Styles
  • A Simple Example of Software Architecture
  • Design of Software Architecture
  • Examples

3
UML Development - Overview
REQUIREMENTS ELICITATION
Time
D
A
SEQUENCE DIAGRAMS
T
A
ANALYSIS CLASS DIAGRAM(S)
StateChart DIAGRAMs
ANALYSIS Specify Domain Objects
D
I
OPERATION CONTRACTS
C
T
Architectural Design Include Design Objects
I
SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS
DESIGN SEQUENCE DIAG.
DEPLOYMENT DIAGRAM
O
N
DESIGN DIAGRAMS
A
R
Detailed DESIGN
Y
Object Design
IMPLEMENTATION Activity DIAGRAMS
IMPLEMENTATION CHOICES
IMPLEMENTATION
PROGRAM
4
The Requirements, Analysis, and Design Models
Use Case Diagrams/ Sequence Diagrams (the system
level)
Requirements Elicitation Process
Functional/ Nonfunctional Requirements
- Analysis Class Diagrams - State
Diagrams/ Refined Sequence Diagrams (The object
level)
Static Analysis Dynamic Analysis
The Analysis Process
  • Design Class Diagrams and
  • Components Diagrams
  • Design Sequence Diagrams

The Design Process
Static Architectural Design Dynamic Design
5
Ouline
  • UML Development Overview
  • The Requirements, Analysis, and Design Models
  • What is Software Architecture?
  • Software Architecture Elements
  • Software Architecture Styles
  • A Simple Example of Software Architecture
  • Design of Software Architecture
  • Examples

6
What is Software Architecture?
  • A simplified Definition
  • A software architecture is defined by a
    configuration of architectural elements--component
    s, connectors, and data--constrained in their
    relationships in order to achieve a desired set
    of architectural properties.

7
Software Architecture Elements
  • A component is an abstract unit of software
    instructions and internal state that provides a
    transformation of data via its interface
  • A connector is an abstract mechanism that
    mediates communication, coordination, or
    cooperation among components.

8
Software Architecture Elements
  • A datum is an element of information that is
    transferred from a component, or received by a
    component, via a connector.
  • A configuration is the structure of architectural
    relationships among components, connectors, and
    data during a period of system run-time.
  • An architectural style is a coordinated set of
    architectural constraints that restricts the
    roles/features of architectural elements and the
    allowed relationships among those elements within
    any architecture that conforms to that style.
  • Detailed example http//sunset.usc.edu/SSCS/toc.h
    tml
  • Standard Satellite Control SegmentReference
    Architecture

9
Ouline
  • UML Development Overview
  • The Requirements, Analysis, and Design Models
  • What is Software Architecture?
  • Software Architecture Elements
  • Software Architecture Styles
  • A Simple Example of Software Architecture
  • Design of Software Architecture
  • Examples

10
Software Architectural Styles
  • An architectural style is a class of
    architectures characterized by
  • Components types are component classes
    characterized by either SW packaging properties
    or functional or computational roles within an
    application.
  • Communication patterns between the components
    the communication protocols between the component
    types.
  • Semantic constraints, indicating the behavioral
    properties of the components individually, and in
    the context of their interactions.
  • A set of connectors, SW artifacts that enable us
    to implement the communication between the
    components in a way that satisfies the semantic
    constraints.

11
Example of an Architecture Style
  • Embedded Systems example architecture

ltltInterfacegtgt Input_devices or actors
Monitors Monitor sensors
Controllers Generate controls
Schedulers Schedule controllers
ltltInterfacegtgt Output_devices or actors
12
Example of an Architecture Style
  • The Layered Architecture
  • e.g computer network
  • Services architecture

Application Layer
Presentation Layer
Session Layer
13
Layered Architectural stylesExample of a Layered
Application Architecture
14
Example of an Architecture Style The Layered
Architecture
  • Interactive Electronic Technical Manuals (IETMs)
    for Technicians to use for repairing complex
    systems

15
Ouline
  • UML Development Overview
  • The Requirements, Analysis, and Design Models
  • What is Software Architecture?
  • Software Architecture Elements
  • Software Architecture Styles
  • A Simple Example of Software Architecture
  • Design of Software Architecture
  • Examples

16
Information Available At Architectural Design
  • The Requirements model
  • Use cases, Use case Diagram, system sequence
    diagrams
  • The Analysis model
  • Analysis class diagram,
  • stateCharts for multi-modal classes, and
  • Domain Object sequence diagrams

17
Artifacts Developed at Architectural Design
  • Subsystems their public interfaces (APIs)
  • Subsystem dependencies
  • Subsystems class diagrams. A class diagram for
    each subsystem

Requirements And Analysis models
Design Class Diagrams
Architecture design
18
The Process of Designing Software Architectures
  • Software Architecture
  • Define overall structure of the system into
    components or subsystems, or classes
  • Define Component interfaces and interconnections
    separately from component internals (defined
    during details design)
  • Each subsystem performs major service
  • Contains highly coupled objects
  • Relatively independent of other subsystems
  • May be decomposed further into smaller subsystems
  • Subsystem can be an aggregate or a composite
    object

19
Step 1 - Subsystem/Components Structuring
Criteria
  • Decompose the system into subsystems or classes
    such that each performs a specific function or
    task to maximize cohesion and minimize coupling,
    the following are typical examples of subsystems
    or classes
  • Controllers
  • Subsystem controls a given aspect of the system
    (e.g., Cruise cont. Fig. 20.45)
  • Coordinators/Schedulers
  • Coordinates several control subsystems (e.g.,
    Cruise cont Fig 20.45,20.46)
  • Data Collectors/Monitors
  • Collects data from external environment (e.g.,
    Cruise cont Fig. 20.45)
  • Data analyzers
  • Provides reports and/or displays (e.g., Cruise
    cont Fig. 20.26)
  • Servers
  • Provides service for client subsystems (e.g.,
    MyTrip example)
  • User/Device Interface
  • Collection of objects supporting needs of user
    (e.g., Cruise cont Fig. 20.26)

20
Another way of forming subsystems
  • Aggregate into the same subsystem
  • Objects that participate in the same use case
    (functional cohesion)
  • Objects that have a large volume of interactions
    (e,g, Control object objects it controls) or
    share common data or file structures
    (communicational cohesion)
  • Object that execute in the same time (temporal
    cohesion)

21
Example MyTrip System, uses a Global Positioning
System to locate and coordinate a trip for a
driver in an automobile software system The
Analysis Class Diagram
22
Design Class DiagramMyTrip Subsystems
23
MyTrip Deployment Diagram
Components must be associated with a processor
node in the deployment diagram
24
New Classes and Subsystems
25
MyTrip Data Storage
26
Example Cruise Control And Monitoring System
Class Diagram of the Cruise Control Subsystem
27
Example Cruise Control System The Monitoring
Subsystem
28
Example Aggregating classes into a subsystem
using temporal cohesion
29
Example aggregating classes Using functional
cohesion
30
Step 2 - Define Subsystem Interfaces
  • The set of public operations forms the subsystem
    interface or Application Programming Interface
    (API)
  • Includes operations and also their parameters,
    types, and return values
  • Operation contracts are also defined (pre- and
    post-conditions) and accounted for by client
    subsystems they can be considered part of the
    API

31
Subsystem Interfaces
Interfaces can be methods such as Notify, update,
Or can be classes such context.
32
Ouline
  • UML Development Overview
  • The Requirements, Analysis, and Design Models
  • What is Software Architecture?
  • Software Architecture Elements
  • Software Architecture Styles
  • Design of Software Architecture
  • Examples

33
A Simple Example of Software Architecture
  • EXAMPLE SATELLITE CONTROL SYSTEM

34
A Simple Example of Software Architecture Using
UML2
  • SATELLITE CONTROL SYSTEM Architecture

35
A Simple Example of Software Architecture Using
UML2
  • SATELLITE CONTROL SYSTEM Architecture

36
A Simple Example of Software Architecture
  • SATELLITE CONTROL SYSTEM Architectural behavior

Interactions between components of the
architecture for a given scanrio
37
A complete Example A Digital Sound
RecorderFrom Requirements-to-Analysis-to-Design
  • The main function of the DSR is to record and
    playback speech.
  • The messages are recorded using a built-in
    microphone and they are stored in a digital
    memory.
  • The DSR contains an alarm clock with a calendar.
    The user can set a daily alarm. The alarm beeps
    until the user presses a key, or after 60
    seconds.

38
Digital Sound RecorderA Complete ExampleFrom
Requirements-to-Analysis-to-Design
39
Digital Sound RecorderA Complete Example
40
Digital Sound RecorderA Complete Example
System Sequence Diagram
41
Digital Sound RecorderA Complete Example
42
Digital Sound RecorderA Complete Example
43
Digital Sound RecorderA Complete Example
Analysis Class Diagram
44
Digital Sound RecorderA Complete Example
Design Class Diagram Designing The
Subsystems, The names of subsystems Should
be improved
45
Digital Sound RecorderA Complete Example
Operation Details Are defined Using Design
Sequence diagrams
46
Digital Sound RecorderA Complete Example
47
Digital Sound RecorderA Complete Example
48
Digital Sound RecorderA Complete Example
Write a Comment
User Comments (0)
About PowerShow.com