system context and domain analysis abbas rasoolzadegan

23
1 Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems L aboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh System Context and Domain Analysis Abbas Rasoolzadegan

Upload: janis-riley

Post on 04-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: System Context and Domain Analysis Abbas Rasoolzadegan

1Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

System Context and Domain Analysis

Abbas Rasoolzadegan

Page 2: 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

Page 3: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 4: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 5: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 6: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 7: System Context and Domain Analysis Abbas Rasoolzadegan

7Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Example of Conceptual Diagram

Page 8: System Context and Domain Analysis Abbas Rasoolzadegan

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, …)

Page 9: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 10: System Context and Domain Analysis Abbas Rasoolzadegan

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, …)

Page 11: System Context and Domain Analysis Abbas Rasoolzadegan

11Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Context Viewpoint (Cont.)

Page 12: System Context and Domain Analysis Abbas Rasoolzadegan

12Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Banking System Context View

Page 13: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 14: System Context and Domain Analysis Abbas Rasoolzadegan

14Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

A Formal Analysis Technique

Page 15: System Context and Domain Analysis Abbas Rasoolzadegan

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

Page 16: System Context and Domain Analysis Abbas Rasoolzadegan

16Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Analysis Interaction Viewpoint

Page 17: System Context and Domain Analysis Abbas Rasoolzadegan

17Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Collect Customer Contact Data

Page 18: System Context and Domain Analysis Abbas Rasoolzadegan

18Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Analysis Focused Viewpoint

Page 19: System Context and Domain Analysis Abbas Rasoolzadegan

19Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Example Analysis Focused View

Page 20: System Context and Domain Analysis Abbas Rasoolzadegan

20Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Analysis Overall View

Page 21: System Context and Domain Analysis Abbas Rasoolzadegan

21Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

ExampleAnalysis Overall View

Page 22: System Context and Domain Analysis Abbas Rasoolzadegan

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”.

Page 23: System Context and Domain Analysis Abbas Rasoolzadegan

23Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Large Scale Software Architecture Course, Dr. Abdollahzadeh

Conclusion