1. Trang chủ
  2. » Cao đẳng - Đại học

3-Analysis and Design Overview

60 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Analysis and Design Overview
Trường học Not Provided University
Chuyên ngành Analysis and Design
Thể loại Bài luận
Năm xuất bản 2021
Thành phố Not Provided City
Định dạng
Số trang 60
Dung lượng 1,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

12 Architect Software Architecture Document Reference Architecture Analysis Model Design Model Deployment Model Implementation Model... Designer’s Responsibilities.[r]

Trang 1

Analysis and Design Overview

Trang 2

Review the key Analysis and Design terms and concepts

Introduce the Analysis and Design process,

including roles, artifacts and workflow

Explain the difference between Analysis and Design

2

Trang 3

Analysis and Design in Context

The purposes of Analysis and

Design are to:

into a design of the

system-to-be

Evolve a robust architecture

for the system

Adapt the design to match

the implementation

environment, designing it for

performance.

The purposes of Analysis and

Design are to:

into a design of the

system-to-be

Evolve a robust architecture

for the system

Adapt the design to match

the implementation

environment, designing it for

performance.

Trang 4

Analysis and Design Overview

4

Supplementary Specification

Data Model

Architecture Document

Analysis and Design

Glossary

Trang 5

Analysis Versus Design

Trang 6

Analysis and Design Are Not Top-Down

Trang 7

What Is Architecture?

Software architecture encompasses a set of significant decisions about the organization of

a software system.

interfaces by which a system is composed

elements

elements into larger subsystems

Grady Booch, Philippe Kruchten, Rich Reitman, Kurt Bittner;

Rational (derived from Mary Shaw)

Trang 8

Architecture Constrains Design and

Architecture decisions are the most fundamental decisions,

and changing them will have significant effects

Architecture

Design Implementation

Code

Trang 9

Software Architecture:

The “4+1 View” Model

Process View Deployment View

Performance, scalability, throughput

System integrators System topology, delivery,

installation, communication

System engineering

Analysts/Designers

Structure

Trang 10

Analysis and Design Workflow

10

Analysis

Design

[Early Elaboration Iteration]

[Inception Iteration (Optional)]

Define a Candidate Architecture ArchitecturalPerform

Synthesis

Analyze Behavior

Refine the Architecture

Design Components Design theDatabase

(Optional)

Trang 11

Analysis and Design Activity Overview

Architect

Designer

Trang 12

Software Architect’s Responsibilities

Reference Architecture

Analysis Model

Design Model

Deployment Model Implementation Model

Trang 14

Analysis and Design Is Use-Case Driven

Use cases defined for a system are the basis for the entire development process.

Benefits of use cases:

of stakeholders.

14

Withdraw Money

Check Balance

Customer

Trang 15

What Is a Use-Case Realization?

Class Diagrams Use Case

Communication Diagrams Sequence

Diagrams

Trang 16

Analysis and Design

in an Iterative Process

16

Iteration n Iteration n + 1

Use Case A Scenarios 1 & 2

Use-Case Realization A Start of iteration

End of iteration

Use Case B Scenario 1

Use-Case Realization A

Use Case A Scenario 3

Use-Case Realization B

Trang 17

What is the purpose of the Analysis and

Design Discipline?

What are the input and output artifacts?

Name and briefly describe the 4+1 Views of Architecture.

What is the difference between Analysis and Design?

What is architecture?

Trang 18

Architectural Analysis

18

Trang 19

Objectives: Architectural Analysis

Explain the purpose of Architectural Analysis and where it is performed in the lifecycle.

Describe a representative architectural

pattern and set of analysis mechanisms, and how they affect the architecture.

Describe the rationale and considerations

that support the architectural decisions.

Show how to read and interpret the results of Architectural Analysis:

Trang 20

Architectural Analysis in Context

20

[Early Elaboration Iteration] Iteration (Optional)][Inception

Define a Candidate Architecture ArchitecturalPerform

Synthesis

Analyze Behavior

Refine the Architecture

Design Components Design theDatabase

(Optional)

Architecture

Analysis

Architect

Trang 21

Architectural Analysis Overview

Design Model

Reference Architecture

Deployment Model

Vision Document

Software Architecture Doc

Project-Specific

Guidelines

Trang 22

Architectural Analysis Steps

Key Concepts

model

22

Trang 23

The “4+1 View” Model

Process View Deployment View

Performance, scalability, throughput

installation, communication

System engineering

Analysts/Designers

Structure

Trang 24

Review: What Is a Package?

A package is a general-purpose

mechanism for organizing

elements into groups.

It is a model element that can

contain other model elements.

A package can be used

Trang 25

Package Relationships: Dependency

Trang 26

Hierarchy should be acyclic

Circular dependencies make it impossible

to reuse one package

without the other.

Avoiding Circular Dependencies

A

B

C

A' C

A

B

A

B

Trang 27

Architectural Analysis Steps

Define the High-Level Organization of the

model

Trang 28

Patterns and Frameworks

details may be Analysis/Design patterns

28

Trang 29

What Is a Design Pattern?

A design pattern is a solution to a common design problem.

 Describes a common design problem

 Describes the solution to the problem

 Discusses the results and trade-offs of applying the

Trang 30

What Is an Architectural Pattern?

An architectural pattern expresses a

fundamental structural organization schema for software systems It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them – Buschman et al,

“Pattern-Oriented Software Architecture — A

Trang 31

Typical Layering Approach

General

functionality

Specific

an application — contains the value adding software developed by the organization.

Business specific — contains a number of reusable subsystems specific to the type of business.

Middleware — offers subsystems for utility classes and platform-independent services for distributed object computing in heterogeneous environments and so on.

System software — contains the software for the actual infrastructure such as operating systems, interfaces to specific hardware, device drivers, and so on.

Application

Business-Specific

Middleware

System Software

Trang 32

Detects and corrects errors in bit sequences Transmits bits: velocity, bit-code, connection, etc.

Trang 33

Layering Considerations

 Group elements at the same level of abstraction

 Group like things together

 Separate disparate things

 Application vs domain model elements

 Loose coupling

 Concentrate on encapsulating change

 User interface, business rules, and retained data tend to have

a high potential for change

Trang 34

Modeling Architectural Layers

Architectural layers can be modeled using

Trang 35

What Are Stereotypes?

Stereotypes define a new model element

in terms of another model element.

Sometimes you need to introduce new

things that speak the language of your

domain and look like primitive building

blocks.

Class

<<stereotypename>> Stereotype

Trang 36

High-Level Organization of the Model

Trang 37

Architectural Analysis Steps

model

Identify Analysis mechanisms

Trang 38

What Are Architectural Mechanisms?

38

Required

Functionality

Implementation Environment

Architect

Supplementary

Specification

Use-Case Model

Mechanisms COTS Products Databases

IPC Technology, etc.

“realized by client classes using”

“responsible for”

“constrained by”

Trang 39

Architectural Mechanisms: Three Categories

Architectural Mechanism Categories

Trang 40

Why Use Analysis Mechanisms?

That is why we have a persistence analysis mechanism We don’t know enough yet, so we can bookmark it and come back to it later.

Analysis mechanisms are used during analysis to reduce the

complexity of analysis and to improve its consistency by providing

designers with a shorthand representation for complex behavior.

Trang 41

Sample Analysis Mechanisms

Trang 42

Examples of Analysis Mechanism Characteristics

Trang 43

Example: Analysis Mechanism Characteristics

Legacy interface mechanism

Trang 44

Describing Analysis Mechanisms

Collect all analysis

Analysis Mechanisms

Trang 45

Example: Course Registration Analysis

Mechanisms

Persistence Distribution

Trang 46

Architectural Analysis Steps

model

Identify Key Abstractions

46

Trang 47

What Are Key Abstractions?

A key abstraction is a concept, normally

uncovered in Requirements, that the system must be able to handle

Sources for key abstractions

Trang 48

Defining Key Abstractions

Define analysis classes

Model analysis classes and relationships on

Trang 49

Example: Key Abstractions

Student Professor

Schedule

Trang 50

Architectural Analysis Steps

model

Create Use-Case Realizations

50

Trang 51

What Is a Use-Case Realization?

Use-Case Model Design Model

Class Diagrams Use Case

Communication Diagrams Sequence

Diagrams

Trang 52

The Value of Use-Case Realizations

Provides traceability from Analysis and Design back to Requirements

The Architect creates the Use-Case

Trang 53

Architectural Analysis Steps

model

Checkpoints

Trang 54

General

done in a logically consistent way?

been identified?

Packages

picture of the services of the packages in

upper-level layers?

54

Trang 55

Checkpoints (continued)

Classes

relationships been identified and

accurately modeled?

reflect the role it plays?

their relationships consistent with the

Business Model, Domain Model,

Requirements, Glossary, etc.?

Trang 56

Review: Architectural Analysis

typical layers.

Architectural Analysis? Why are they identified

here?

56

Trang 57

Exercise: Architectural Analysis

Given the following:

discipline: (Exercise Workbook: Payroll

Requirements)

Workbook: Payroll Architecture

Handbook, Logical View, Architectural

Analysis)

layers and their dependencies

Trang 58

Exercise: Architectural Analysis

(continued)

Identify the following:

58

Trang 59

Exercise: Architectural Analysis

(continued)

Produce the following:

architectural layers and their dependencies

Trang 60

Exercise: Review

Compare your key abstractions

with the rest of the class

identified?

the role it plays?

Compare your class diagram

showing the upper-level layers

the Payroll System architecture?

60

Ngày đăng: 27/04/2021, 19:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w