Architectural Views & Viewpoints

advertisement
‫معماری سيستمهای با‬
‫مقياس بزرگ‬
‫آزمايشگاه سيستمهای هوشمند‬
‫پاييز ‪93‬‬
‫‪1‬‬
‫آزمايشگاه سيستم های هوشمند‬
‫(‪)http://ce.aut.ac.ir/islab‬‬
Uses of views







Capturing the design decisions both early on and as enhancements are
made
Capturing information about the runtime enviroment for software
Providing constrains on the lower-level design and implementation
Providing input to the structure of the development organization
Designing the system to meet the software reliability, availability,
maintainability, and performance requirements
Facilitating communication among the project teams
Communicating software capabilities and constraints to varios
developers, testers, and others
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
2
Other way for thinking

Typical questions answered by views of the architecture










What are subsystems or components of the software?
What are responsibilities of the components?
What are the interfaces provided, consumed by these components?
What subsystems or components are impact by a change to the software?
How much retesting is required if we change this component?
When components are involved in installing this change?
How are part of system to be physically distributed?
How will a change impact the performance of the system
What development teams are impacted by a change to this interface?
How much effort is involves in the development of this functionality?
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
3
What software architecture is not





Hardware, network, physical plant architecture
Hardware model number, hardware configuration,
routers, LAN
Should not duplicate information on other sources
Appropriate level of detail
Low level implementation details should not
included in the software architecture
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
4
Attributes of software architecture(1/2)




Cultural adaptability
Security
Data integrity
Maintainability characteristics


Portability
Changeability
 Fragility






Rigidity
Duplication
Understandability
Debugging support
Testability
usability
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
5
Attributes of software architecture(2/2)

Operational system aspects






Performance




Availability
Manageability
Upgradeability
Reliability
Recoverability
Response
Scalability
Capacity/throughput
safety
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
6
Points


Members of the architecture team need to
constantly evaluate the software architecture
to determine if it meets the desire goal with
respect to these characteristics
Architects must constantly prioritize and
manage the trade-off between these attributes
for a given projects
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
7
Why architect?





Architecting simply recognized the need to focus on the bigger
picture of the software design and to provide guidance to the
development team designers
It is a place to capture early design decitions
Provide constraints on the lower level design and
implementation
Provide the organizational structure for the development team
This goal is that a well defined architecture will produce a
system that will be easier to design, develop and maintain
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
8
Uses of software architecture







Training for the new team members
Making modification
Testers need to understand the system
Ensuring architectural attributes
Verification of requirements
Project management
Operating systems
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
9
Architectural viewpoint summary


Viewpoint are built by applying the various UML
diagram types to specific architecture development
tasks
Each viewpoint has specific modeling goals and
stakeholders
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
10
IEEE 1471 viewpoints



Conceptual and analysis viewpoint
Logical design viewpoint
Environment/physical viewpoint
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
11
UML: Unified Modeling Language
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
12
Conceptual and analysis viewpoint
Viewpoint
UML diagram
Description
Analysis focused
Class
Describe system entities in
response to a scenario.
Often refer to as a view of
participating classes or VOPC
Analysis interaction
interaction
Interaction diagram between
objects for analysis
Analysis overall
Class
Combination of all classes
from all focused analysis
viewpoints
Context
Use case
Show the external system
actors and the system under
design
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
13
Logical design viewpoints
Viewpoint
UML diagram
Description
Component
Component
Component communications
Component interaction
Interaction
Interactions among components
Component state
State/activity
State transition/activity diagram
for a component or for a set of
components
Layered subsystem
Packages
Layering and subsystem design
Logical data
Classes
Critical data views used for
integration
Subsystem interface
dependency
Class
Subsystem dependencies and
interfaces
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
14
Environment/physical viewpoint
Viewpoint
UML diagram
Description
Deployment
Deployment
Mapping of software to
hardware for distributed
systems
Physical data
Deployment
Physical view of a
particular database
Process
Deployment
Show the processes of a
particular system instance
Process state
State
Show the dynamic states
of a process
‫آزمايشگاه سيستم های هوشمند‬
)http://ce.aut.ac.ir/islab(
15
Download