Architectural Design based on Chapter 10 - Software Engineering: A Practitioner’s Approach, 6/e copyright © 1996, 2001, 2005 R.S.

Download Report

Transcript Architectural Design based on Chapter 10 - Software Engineering: A Practitioner’s Approach, 6/e copyright © 1996, 2001, 2005 R.S.

Architectural Design
based on
Chapter 10 - Software Engineering: A Practitioner’s Approach, 6/e
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
1
Modified Waterfall model 1 [aka Royce1970]
Separate and distinct phases of specification and development
Systems Engineering
Software Req. Analysis
Operation/Maintenance
Project Planning
Design
Architectural
Detailed
Implementation
Testing/Verification
Release
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
2
http://www.utdallas.edu/~chung/SE3354Honors/HOUSE.ppt
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
3
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
4
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 …





Data-centered architectures
Data flow architectures
Call and return architectures
Object-oriented architectures
Layered architectures
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
5
Data-Centered Architecture
Communication between software?
Centralized or distributed?
Any exemplary?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
6
Data Flow Architecture
Constraints?
Any exemplary?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
7
Call and Return Architecture
Relationship to DFDs?
Any exemplary?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
8
Layered Architecture
Constraints?
Any exemplary?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
9
Architectural Context
Safehome
Product
control
panel
homeow ner
Internet-based
system
target system:
Security Function
uses
surveillance
f unction
peers
uses
uses
sensors
sensors
UML? DFD?
What are small rectanlges?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
10
Component Structure
SafeHome
Execut ive
Funct ion
select ion
Ext ernal
Communicat ion
Management
Securit y
GUI
Surveillance
Home
management
Int ernet
Int erface
Cont rol
panel
processing
det ect or
management
alarm
processing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
11
Refined Component Structure
SafeHome
Executive
Ext ernal
Communicat ion
Management
Securit y
GUI
Internet
Interface
Co n t ro l
p an e l
p ro ce ssin g
Ke y p ad
p ro ce ssin g
d e t e ct o r
m an ag e m e n t
sch e d u le r
CP d isp lay
fu n ct io n s
alarm
p ro ce ssin g
phone
co m m u n icat io n
alarm
sennnso
sorrr
se
se
se
soso
se
nnso
so
rr
se
se
nnso
rr
se
n
so
r
se n so r
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
12
Analyzing Architectural Design
. Describe the architectural styles/patterns that have been chosen to address
the scenarios and requirements:
• module view
• process view
• data flow view
. Evaluate quality attributes by considering each attribute in isolation.




easier to test
easier to maintain
propagation of fewer side effects
easier to extend
Is this list enough?
Relationship of this list to requirements?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
13
Omitted Slides
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
14
Partitioning the Architecture

“horizontal” and “vertical” partitioning are
required
decision-makers
workers
function 1
function 2
function 3
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
15
Data Design

At the architectural level …



Design of one or more databases to support the application architecture
Design of methods for ‘mining’ the content of multiple databases
At the component level …




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
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
16