architectural design introduction design has been described as a multistep process in which...
TRANSCRIPT
![Page 1: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/1.jpg)
![Page 2: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/2.jpg)
Architectural Design
www.mitf09.co.cc
![Page 3: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/3.jpg)
Introduction
Design has been described as a multistep process in which representations of data and program structure, interface characteristics, and procedural detail are synthesized from information requirements.
Design is an activity concerned with making major decisions, often of a structural nature.
![Page 4: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/4.jpg)
Design builds coherent, well planned representations of programs that concentrate on the interrelationships of parts at the higher level and the logical operations involved at the lower levels
![Page 5: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/5.jpg)
Software Design Model
Information model
Functional model
Behavioral model
Other requirements
Design
Code
Test
Data design
Architectural design
Procedural design
Programmodules
Integrated& validated
software
![Page 6: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/6.jpg)
Steps
Begins with
Proceeds to
Architectural Design
Data Design
Architectural structure of the system
![Page 7: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/7.jpg)
Steps (contd.)
Analysis of alternative architectural styles or patterns
Selection of Alternative
Elaboration of Architecture
![Page 8: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/8.jpg)
Software Architecture
What Is Architecture?• The software architecture of a program or
computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
• The architecture is not the operational software.
![Page 9: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/9.jpg)
Architectural Styles
Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures
Each style describes a system category that encompasses: (1) a set of components (e.g., a database, computational modules) that perform a function required by a system, (2) a set of connectors that enable “communication, coordination and cooperation” among components, (3) constraints that define how components can be integrated to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.
![Page 10: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/10.jpg)
Data-Centered Architecture
![Page 11: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/11.jpg)
Data Flow Architecture
![Page 12: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/12.jpg)
Call and Return Architecture
![Page 13: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/13.jpg)
Layered Architecture
![Page 14: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/14.jpg)
Mapping Requirements into a Software Architecture
![Page 15: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/15.jpg)
An Architectural Design Method
"four bedrooms, lounge, drawing & dinning,
lots of glass ..."
customer requirements
architectural design
![Page 16: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/16.jpg)
Mapping Requirements Into Software Architecture
Earlier had said certain models can be mapped directing intoan architectural design
methods do not exist for all architectural stylesWill look at 1 approach for the call & return architecture sometimes called structured design - origins in top-down design [WIR71], structured programming [DAH72],
•SD is a data-flow oriented design method
•Provides a method to go from a DFD to program structure
![Page 17: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/17.jpg)
Deriving Program Architecture
ProgramProgramArchitectureArchitecture
![Page 18: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/18.jpg)
Structured Design
objective: develop a modular program structure and represent control relationships between modules
approach:
• the DFD is mapped into a program architecture
• the PSPEC and STD are used to indicate the content of each module
notation: structure chart
![Page 19: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/19.jpg)
Structured Design
It provides a convenient transition from a data flow diagram to software Architecture
1. The type of information flow is established2. Flow boundaries are indicated3. The DFD is mapped into program structure4. Control hierarchy is defined5. Resultant structure is refined using design measures
and heuristics6. The architectural description is refined and elaborated
![Page 20: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/20.jpg)
Types of Information Flow
There are 2 different types of information flow that have different treatmentsTransform flow - Overall data flows in sequential manner
and follows one, or only a few, “straight line” paths. (incoming, transform, output)
Transaction Flow - Info flow has a single transaction node that triggers other data flow
![Page 21: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/21.jpg)
A Btransformcenter
incoming flow outgoing flows
C
Transform Flow
![Page 22: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/22.jpg)
Transform Flow
Incoming Flow: The paths that transform the external data into an internal form
Transform Center: The incoming data are passed through a transform center and begin to move along paths that lead it out of the software
Outgoing Flow: The paths that move the data out of the software
Transform flow
![Page 23: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/23.jpg)
Transform Flow Characteristics
the system has a single, coherent objective transformation center executes algorithms, data transformation,
database manipulation, ... input-driven processes filter, check and translate external data flows output-driven processes format results for presentation to the
environment (user) multiple paths to obtain input
![Page 24: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/24.jpg)
Transform Analysis:mapping heuristic
i1
i2 tc2
o1 o2
o3
sys
I-ctrl P-ctrl O-ctrl
i1 i2 tc1 tc2 o1
o2
tc1
o3
![Page 25: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/25.jpg)
Transaction Flow
T
Transactioncenter
TransactionAction paths
![Page 26: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/26.jpg)
Transactionflow
Transaction Flow
• Information flow is often characterized by a single data item, called a transaction that triggers other data flow along one of many paths
• Action Paths :The transaction is evaluated and based on its value flow along one of many action paths
• Transaction center :The hub of info flow from which many action paths originate
![Page 27: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/27.jpg)
Transaction Flow Characteristics
single line of reception processes transaction: a single data item that includes all
necessary information for execution transaction center evaluates transaction & initializes
correct action-path => distribution action-paths implement (clearly) different types of
functionality => execution an action-path could be a complete
(sub-)system with transform flow characteristics
![Page 28: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/28.jpg)
r1
r2 r2
r1
sys
trc
s1 s2
i2
i1
cot o1i1
i2
cot
o1
trc
Transaction Analysis:mapping heuristic
![Page 29: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/29.jpg)
Transaction Analysismay include
Transform Analysisas an element.
![Page 30: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/30.jpg)
r1
r2 r2
r1
sys
trc
s1 s2
i2
i1
cot o1i1
i2
cot
o1
trc
Transform Analysis as an element of Transaction Analysis
![Page 31: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/31.jpg)
Transform Mapping (cont)
Design steps
• Step 1. Review the fundamental system model.
• Step 2. Review and refine data flow diagrams for the software.
• Step 3. Determine whether DFD has transform or transaction flow characteristics.
• in general---transform flow
• special case---transaction flow
![Page 32: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/32.jpg)
String ConversionSystem
User
User Input
User Selection
New String
User
Reversed String
Character Count
Appended String
Context Level DFD
![Page 33: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/33.jpg)
Level 1 DFD
1Validatethe input
2Displaychoices 3
Get userselection
4ReverseString
5Count
Characters6
AppendString
Reverse StringSelection
Character CountSelection Append String
Selection
Valid input choicesUser input
Reversed String
Appended String
Character Count
User selection
New String
String
String
String
Transform Flow
![Page 34: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/34.jpg)
4.1Get String
4.2Reverse
the String
5.1Get String
5.2Read
Characters
6.1Get String
6.3CombineStrings
6.2Get newString
String String Reversed String
CharacterStringString
String
New String
Appended StringString
New String
4.3DisplayOutput
Reversed String
5.3Increment
Count
5.4DisplayOutput
Character Count Character Count
6.4DisplayOutput
Appended String
DFD Level-2 For REVERSE STRING - <Process # 4>
DFD Level-2 For Count Characters - <Process # 5>
DFD Level-2 For Append STRING - <Process # 6>
![Page 35: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/35.jpg)
Transform Mapping (cont)
Step 4. Isolate the transform center by specifying incoming and outgoing flow boundaries• different designers may select slightly differently• transform center can contain more than one bubble.
Step 5. Perform “first-level factoring”• program structure represent a top-down distribution control.• factoring results in a program structure(top-level, middle-
level, low-level)• number of modules limited to minimum.
![Page 36: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/36.jpg)
String Conversion
Tansform Flow for Count Charachter
Main
OutputCnotrollor
CountCharachterControllor
InputControllor
First Level Factoring
![Page 37: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/37.jpg)
Transform Mapping (cont)
• Step 6. Perform “second-level factoring”
• mapping individual transforms(bubbles) to appropriate modules.
• factoring accomplished by moving outwards from transform center boundary.
• Step 7. Refine the first iteration program structure using design heuristics for improved software quality.
![Page 38: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/38.jpg)
Second Level Factoring
String Conversion
Transform Flow for Count Character
Main
IncrementCount
DisplayOutput
ReadCharacter
OutputController
CountCharacterController
InputController
Get String
![Page 39: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/39.jpg)
Transaction Mapping
A single data item triggers one or more information flows
1Validatethe input
2Displaychoices 3
Get userselection
4ReverseString
5Count
Characters6
AppendString
Reverse StringSelection
Character CountSelection Append String
Selection
Valid input choicesUser input
Reversed String
Appended String
Character Count
User selection
New String
String
String
String
Transform Flow
![Page 40: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/40.jpg)
Transaction Mapping Design
Step 1.Review the fundamental system model. Step 2.Review and refine DFD for the software Step 3.Determine whether the DFD has transform or transaction
flow characteristics Step 4. Identify the transaction center and flow characteristics
along each of the action paths
• isolate incoming path and all action paths
• each action path evaluated for its flow characteristic.
![Page 41: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/41.jpg)
Transaction Mapping (cont)
Step 5. Map the DFD in a program structure amenable to transaction processing
• incoming branch
• bubbles along this path map to modules
• dispatch branch
• dispatcher module controls all subordinate action modules
• each action path mapped to corresponding structure
![Page 42: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/42.jpg)
Transaction Mapping
![Page 43: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/43.jpg)
Validate the Input
String Conversion Executive
Get User Selection
Reverse StringController
Display Choices
Append StringControllerCount String
Controller
First Level Factoring
![Page 44: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/44.jpg)
Validate the Input
String Conversion Executive
Get User Selection
Reverse StringController
Reverse String
Processing Controller
Display Choices
Read Char. Increment Count
Append StringController
Input StringController
Append Str
Get new Str
Display Output
Count StringController
Get String
![Page 45: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/45.jpg)
Transaction Mapping (cont)
Step 6. Factor and refine the transaction structure and the structure of each action path
Step 7. Refine the first iteration program structure using design heuristics for improved software quality
![Page 46: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/46.jpg)
Design Post processing
A processing narrative must be developed for each module An interface description is provided for each module Local and global data structures are defined All design restrictions/limitations are noted A design review is conducted “Optimization” is considered (if required and justified)
![Page 47: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/47.jpg)
Summary
Data-flow oriented design:Natural flow from analysis
Find type of information flow Find flow boundaries Map DFD to program flow Factor control Refine structure
![Page 48: Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,](https://reader036.vdocuments.us/reader036/viewer/2022070415/5697c02e1a28abf838cda0ec/html5/thumbnails/48.jpg)
References:
Software Engineering - A practitioner’ s Approach by Roger S. Pressman (6th Ed)• 10.1, 10.3,10.6
Software Engineering - A practitioner’ s Approach by Roger S. Pressman(5th Ed)• Chapter 14
• 14.1-(14.1.1, 14.1.2), 14.3-(14.3.1), 14.5-(14.5.1, 14.5.2), 14.6-(14.6.1, 14.6.2), 14.7-(14.7.1, 14.7.2)