Beruflich Dokumente
Kultur Dokumente
Unit V
Software architecture: Data Design, Architectural styles, Requirement mapping. Transform & Transaction mappings. Userinterface design : Golden Rule. UTD, Task analysis & modeling, ID activities, Tools, design evaluation. Component level design : Structure programming, Comparison of design notation.
Book Recommended
Software Engineering, A Practitioners Approach - Pressman Roger. S. TMH. (Strictly 5th Ed)U1-1,2,3
Reference Books R1 Software Engineering Somerville R2 Software Engineering Fairly R R3 Principles of Software Development R4 Software Engineering Shooman, M.L
U2-4,5,6 U3-7,8,9 Addison-Wesley (5/e) McGraw Hill U4-10,11,13 Davis A McGraw Hill U5-14,15,16 McGraw Hill U6-17,18,19
Why Architecture?
The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the effectiveness of the design in meeting its stated requirements,
(2) consider architectural alternatives at a stage when making design changes is still relatively easy, and
(3) reduce the risks associated with the construction of the software.
Data Design
refine data objects and develop a set of data abstractions implement data object attributes as one or more data structures review data structures to ensure that appropriate relationships have been established simplify data structures as required
Architectural Styles
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.
Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures
Data-Centered Architecture
Layered Architecture
architectural design
Program Architecture
Horizontal Partitioning
define separate branches of the module hierarchy for each major function use control modules to coordinate communication between functions
function 1
function 3
function 2
workers
Structured Design
objective: to derive a program architecture that is partitioned approach:
the DFD is mapped into a program architecture the PSPEC and STD are used to indicate the content of each module
Flow Characteristics
Transform flow
Transaction flow
Transform Mapping
a b d c data flow model x1 x2 b a c d x3 e f g h x4 i j e f g i h
"Transform" mapping
Factoring
direction of increasing decision making typical "decision making" modules
input controller
processing controller
output controller
A A B C
Transaction Flow
incoming flow
action path T
Transaction Example
fixture setting commands operator
process operator commands
fixture servos
report
display screen
robot control
3. develop level 02 and 03 flow models 4. create corresponding data dictionary entries 5. refine flow models as appropriate
... now, we're ready to begin design!
Deriving Level 1
Processing narrative for " process operator commands" Process operator command software reads operator commands from the cell operator. An error message is displayed for invalid commands. The command type is determined for valid commands and appropriate action is taken. When fixture commands are encountered, fixture status is analyzed and a fixture setting is output to the fixture servos. When a report is selected, the assembly record file is read and a report is generated and displayed on the operator display screen. When robot control switches are selected, control values are sent to the robot control system. Process operator command software reads operator commands from the cell operator. An error message is displayed for invalid commands. The command type is determined for valid commands and appropriate action is taken. When fixture commands are encountered, fixture status is analyzed and a fixture setting is output to the fixture servos. When a report is selected, the assembly record file is read and a report is generated and displayed on the operator display screen. When robot control switches are selected, control values are sent to the robot control system.
noun-verb parse
f ix ture setting
control robot
generate report
as sembly record
robot control
robo t co ntro l
read reco rd
format repo rt
repo rt
define each of the action paths by looking for the "spokes of the wheel" assess the flow on each action path
define the dispatch and control structure
Transaction Mapping
a b t g h j m x1 b a d x2 e f g t x3 h i k x3.1 j l x4 m n n l e d i k f
Mapping
robo t co ntro l
read reco rd
format repo rt
repo rt
command input controller read command validate command produce error message fixture status controller
determine type
determine setting
format setting
read record
format report
Interface Design
Easy to learn? Easy to use? Easy to understand?
Interface Design
Typical Design Errors lack of consistency too much memorization no guidance / help no context sensitivity poor response Arcane/unfriendly
Golden Rules
Place the user in control Reduce the users memory load Make the interface consistent
Component-Level Design
the closest design activity to coding the approach:
review the design description for the component use stepwise refinement to develop algorithm use structured programming to implement procedural logic use formal methods to prove logic
Stepwise Refinement
open
walk to door; reach for knob; open door; walk through; close door.
repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat
if-then-else
PDL
easy to combine with source code machine readable, no need for graphics input graphics can be generated from PDL enables declaration of data as well as procedure easier to maintain