Download presentation
Presentation is loading. Please wait.
1
Princess Nourah bint Abdulrahman University
Architectural Design Princess Nourah bint Abdulrahman University College of Computer and Information Sciences Department of Computer Science Dr. Doaa Sami Khafaga
2
S.H 2010 2 Software Engineering Architectural Design
3
Topics covered Introduction Architectural design decisions
System organisation Decomposition models Control models S.H 20310 Software Engineering Architectural Design
4
S.H 2010 Software Engineering Architectural Design
5
S.H 2010 Software Engineering Architectural Design
6
UML diagram of system parts
S.H 2010 Software Engineering Architectural Design
7
S.H 2010 Software Engineering Architectural Design
8
S.H 2010 Software Engineering Architectural Design
9
Topics covered Introduction Architectural design decisions
System organisation Decomposition models Control models S.H 20910 Software Engineering Architectural Design
10
S.H 2010 Software Engineering Architectural Design
11
S.H 2010 Software Engineering Architectural Design
12
S.H 2010 Software Engineering Architectural Design
13
Architectural design process: System structuring
S.H 2010 Software Engineering Architectural Design
14
S.H 210410 Software Engineering Architectural Design
15
S.H 210510 Software Engineering Architectural Design
16
S.H 210610 Software Engineering Architectural Design
17
S.H 210710 Software Engineering Architectural Design
18
S.H 210810 Software Engineering Architectural Design
19
S.H 210910 Software Engineering Architectural Design
20
Example: Architectural design for “Packing robot control system”
S.H 2010 20 Software Engineering Architectural Design
21
Topics covered Introduction Architectural design decisions
System organisation Decomposition models Control models S.H 220110 Software Engineering Architectural Design
22
System Organisation Reflects the basic strategy that is used to structure the system Three architectural styles are widely used: Shared data repository Client-server (services and servers) Abstract machine or layered style S.H 220210 Software Engineering Architectural Design
23
S.H 2010 Software Engineering Architectural Design
24
Example: repository model for “CASE toolset architecture”
S.H 2010 Software Engineering Architectural Design
25
Repository Model Characteristics
Advantages Can efficiently share large amounts of data Sub-systems need not be concerned with how data is produced by other sub-systems Centralized backup, access control, and error recovery New tools compatible with the repository schema (data model) are easily integrated Disadvantages Sub-systems must agree on a repository data model, compromising on needs of each tool, affecting performance and integration with incompatible tools Translating data into different data model is difficult, expensive, or impossible; Same policy forced on all sub-systems Difficult to distribute repository over many machines efficiently, leading to problems with data redundancy and inconsistency S.H 2010 Software Engineering Architectural Design
26
S.H 2010 Software Engineering Architectural Design
27
Example: Client-server architecture for Film and picture library
S.H 2010 Software Engineering Architectural Design
28
S.H 2010 Software Engineering Architectural Design
29
(Layered Model) Difficult to structure system in layers:
Inner layers may provide services required in several layers, making outer layers depend on more than its adjacent layer Performance may suffer when service requests must be interpreted across many layers before processing S.H 2010 29 Software Engineering Architectural Design
30
Example: Abstract machine model for Version management system
S.H 2010 30 Software Engineering Architectural Design
31
Topics covered Introduction Architectural design decisions
System organisation Decomposition models Control models S.H 230110 Software Engineering Architectural Design
32
S.H 2010 Software Engineering Architectural Design
33
Object models decomposition
S.H 2010 Software Engineering Architectural Design
34
Example: Object models for Invoice processing system
S.H 2010 Software Engineering Architectural Design
35
Object models decomposition
Advantages: Loose coupling ensures that changes in one object class does not affect other objects Since objects tend to reflect real-world entities, object models are easy to understand Disadvantages: Changes to the interface of an object have an impact on other users of the object Complex entities may be difficult to represent as objects S.H 230510 Software Engineering Architectural Design
36
Function-Oriented Pipelining
S.H 2010 Software Engineering Architectural Design
37
Example: Data-flow models for Invoice processing system
S.H 2010 Software Engineering Architectural Design
38
Function-Oriented Pipelining
Advantages: Supports reuse of transformations Intuitive for many who view work as input, processing, and output Easy to evolve system by adding new transformations Simple to implement as concurrent or sequential system Disadvantages: Requires common data format for all transformations Event-driven interactions are hard to support S.H 230810 Software Engineering Architectural Design
39
Topics covered Introduction Architectural design decisions
System organisation Decomposition models Control models S.H 230910 Software Engineering Architectural Design
40
Control models Refers to the control flow between sub-systems (not the same as system decomposition model) Centralized control One sub-system has overall responsibility for control and to start/shutdown other sub-systems Event-based control Each sub-system can respond to externally generated events; these events may come from other sub-systems or the system environment S.H 2010 Software Engineering Architectural Design
41
S.H 2010 Software Engineering Architectural Design
42
Centralised control One sub-system is responsible for managing the execution of other sub-systems. Depending on whether the controlled sub-system executes sequentially or in parallel, the centralized control models may be: Call-return model: Applicable to sequential systems. Control starts at the top of the hierarchy, and passes to lower level processes via function calls Manager model: Applicable to concurrent systems. Controlled by a designated manager system component that coordinates other processes S.H 2010 Software Engineering Architectural Design
43
Centralized control: Call-return control
model S.H 2010 Software Engineering Architectural Design
44
S.H 2010 Software Engineering Architectural Design
45
Centralized control: Manager control model
S.H 2010 Software Engineering Architectural Design
46
Example: Manager control model for Real-time system control
S.H 2010 46 Software Engineering Architectural Design
47
S.H 2010 Software Engineering Architectural Design
48
Event-driven systems: Broadcast model
S.H 2010 Software Engineering Architectural Design
49
Event-driven systems: Selective broadcasting
S.H 2010 Software Engineering Architectural Design
50
Event-driven systems: Interrupt-driven systems
S.H 2010 Software Engineering Architectural Design
51
Event-driven systems: Interrupt-driven control
S.H 2010 Software Engineering Architectural Design
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.