Upload
janis-riley
View
219
Download
1
Tags:
Embed Size (px)
Citation preview
1Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
System Context and Domain Analysis
Abbas Rasoolzadegan
2Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
What this chapter will covered
How to produce several overall representations of the top-level architecture include: Context View Conceptual diagrams
Non-architectural docs: System engineering docs May be referenced in S.A. description
Analysis Overall View To gain understanding of the key entities in the system To produce other artifacts and is usually not maintained
Except for use in product families
3Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Conceptual Diagrams
Illustrates some of the elements of the system and relationships to external entities
Very similar to context view Capture the system and its interfaces
Less formal than Context view Can not write a viewpoint for them due to the:
Lack of formality Variability in the stakeholders Lack of specific modeling conventions
Usage To communicate with the stakeholders are not familiar with UML
notations and concepts To give newly hired employees an overview of the system scope beyond
the software developed
4Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Conceptual Diagrams Producer
Systems engineering organizations Illustrate a proposed functional breakdown of the system along with
some key hardware they expect to be included in the final system Marketing organizations
Communicate the functionality of the system to prospective clients of the product
Technical leaders Prepare a technical white paper intended for readers who may not
know UML …. Also to prepare a proposal where the evaluators don’t understand
UML
5Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Conceptual Diag.s Guidelines
Some guidelines for creating a conceptual diag.: Identify who are the stakeholders What information the view is intended to convey Analyze the level of information that must be
communicated to the intended consumer …
Before generating a conceptual diagram, be sure that a UML view won’t work just as well
6Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Conceptual Diag.s (Cont.)
Software architect or members of the architecture team are frequently asked to develop or support development of a conceptual diagram Exception
To prepare a technical paper for marketing purposes that will need to include conceptual diagrams
The use of conceptual diagrams should be limited to communications with individuals external to the software development team
7Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Example of Conceptual Diagram
8Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Context Viewpoint
Contains only the system, the external entities with which it interfaces, and the system’s interfaces with these external entities
Goal Create only one view (Context View) from this viewpoint that
captures all external entities and their interfaces Is the first view of the system the architecture team often will
create Can be used at several levels (System, Subsystems, …)
9Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Context Viewpoint (Cont.)
Can be based on information provided by The systems engineering Marketing or other sources that describe the system at a high
level The external entities along with the roles they perform
are referred to as actors Includes the interfaces between the system and external
systems The operator and system names defined by the software
architecture team will be used for all lower level design It is critical the names are carefully selected and change is
minimized
10Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Context Viewpoint (Cont.)
Context View in UML Use a modified use case diagram to represent a context view
The system under design is placed as a box surrounding a set of use cases for the system
The actors are then connected to the use cases and not the system
In the software architecture documents, this view should be supplemented with a table to provide a brief description of each actor (roles, responsibilities, …) and interface (performance, data throughput, protocol utilized, …)
11Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Context Viewpoint (Cont.)
12Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Banking System Context View
13Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Domain Analysis Techniques
Domain analysis is the process of identifying entities and abstractions related to problem domain
Three viewpoints used for domain analysis Analysis Overall Viewpoint Analysis Focused Viewpoint Analysis Interaction Viewpoint
14Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
A Formal Analysis Technique
15Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Analysis Shortcuts
Most projects come with real deadlines and constraints and projects that analyze endlessly are eventually canceled
It is important to get users looking at finished products as early as possible Using a part of the system will make users recognize missing
functions Approaches
Prioritization of use cases Use analysis patterns or predefined views for similar projects
has been done previously
16Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Analysis Interaction Viewpoint
17Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Collect Customer Contact Data
18Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Analysis Focused Viewpoint
19Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Example Analysis Focused View
20Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Analysis Overall View
21Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
ExampleAnalysis Overall View
22Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Reference
Jeff Garland, Richard Anthony, Chapter 6 of Book entitled “Large-Scale Software Architecture”.
23Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh
Conclusion