基于UML的软件体系结构设计(课件)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Glossary
Supplementary Specifications Design Guidelines
Software Architecture Document
Design Guidelines
Analysis Classes
Architectural Design
Design Model Design Model
(from SamplePersistentClass)
getData() setData() command() new()
DriverManager
(from java.sql)
1
getConnection(url, user, pass) : Connection
Statement ResultSet
Package Name
8
Global Packages
Certain packages are used by all other packages These packages are marked global
Foundation
Classes
global
9
Architectural Design Topics
6
The “4+1 View” Architecture Model
Logical View
End-user Functionality
Implementation View
Analysts/Designers Structure
Programmers Software management
Use-Case View Process View
5
Architectural Design Topics
Key Concepts Design and Implementation Mechanisms Design Classes and Subsystems Reuse Opportunities Design Model Organization Checkpoints
2
Architectural Design in Context
Architectural Analysis Review the Architecture Architecture Reviewer
Architect
Describe Architectural Concurrency Design
Architectural Mechanisms can be treated as patterns (i.e., stereotyped parameterized collaboration)
Template Parameters
Pattern Name
Structural Aspect
Behavioral Aspect
Key Concepts Design and Implementation Mechanisms Design Classes and Subsystems Reuse Opportunities Design Model Organization Checkpoints
10
<<role>> DBClass
<<role>> PersistentClassList
(from SamplePersistentClass)
new() add(c: PersistentClass) 1
0..* create() : PersistentClass read(searchCriteria : string) : PersistentClassList update(c : PersistentClass) delete(c : PersistentClass) 1 <<role>> PersistentClass
Class Name
What is a package?
A general purpose mechanism for organizing elements into groups A model element which can contain other model elements
13
Example: Persistency: RDBMS: JDBC: Initialize
: DBClass : DriverManager
1. getConnection(url, user, pass)
14
Example: Persistency: RDBMS: JDBC: Create
1.3. new( )
Repeat these operations for each element returned from the executeQuery() command. The PersistentClassList is loaded with the data retrieved from the database.
4
Architectural Design Topics
Key Concepts Design and Implementation Mechanisms Design Classes and Subsystems Reuse Opportunities Design Model Organization Checkpoints
1.5. geHale Waihona Puke BaiduString( ) 1.6. setData( ) 1.7. add(PersistentClass)
called for each attribute in the class
Add the retrieved course offering to the list to be returned
15
Example: Persistency: RDBMS: JDBC: Read
: PersistencyClient : DBClass : Connection : Statement : ResultSet : PersistentClassList : PersistentClass 1. read(string) 1.1. createStatement( )
Describe Distribution
Use-Case Analysis Designer Use-Case Design
Subsystem Design Review the Design
Design Reviewer
Class Design
3
Architectural Design Overview
17
Example: Persistency: RDBMS: JDBC: Delete
: PersistencyClient : DBClass : Connection : Statement
Documented in Design Guidelines
12
Example: Persistency: RDBMS: JDBC
<<role>> PersistencyClient
(from SamplePersistency Client)
Roles to be filled by the designer applying the mechanism
The criteria used to access data for the persistent class
returns a Statement
1.2. executeQuery(string)
The SQL statement built by the DBClass using the given criteria is passed to executeQuery() Create a list to hold all retrieved data 1.4. new()
16
Example: Persistency: RDBMS: JDBC: Update
: PersistencyClient : DBClass : PersistentClass : Connection : Statement
1. update(PersistentClass) 1.1. getData( ) 1.2. createStatement( ) execute SQL statement 1.3. executeUpdate(string)
Design and Implementation Mechanisms
Analysis Design Implementation
Mechanism
(Conceptual)
Mechanism
(Concrete)
Legacy Data
Mechanism
(Actual)
Persistency
RDBMS
System integrators Performance Scalability Throughput
Deployment View
System engineering System topology Delivery, installation communication
The Logical View is an “architecturally significant” slice of the Design Model
(from java.sql)
(from java.sql)
Connection
(from java.sql)
getString() : string
executeQuery(sql : String) : ResultSet executeUpdate(sql : String) : int
createStatement() : Statement
Architectural Design
基于UML的软件体系结构设计 孙知信
1
Objectives: Architectural Design
Understand the purpose of Architectural Design and where in the lifecycle it is performed Explain what Design and Implementation Mechanisms are and how they map from Analysis Mechanisms Understand what subsystems and interfaces are and what role they play in the architecture Describe the process for identifying interfaces and subsystems Understand the rationale and considerations that support the architectural decisions
7
Review: Class and Package
What is a class?
A description of a set of objects that share the same responsibilities, relationships, operations, attributes, and semantics.
New Data
JDBC
Persistency
OODBMS
ObjectStore
Distribution Analysis
Remote Method Invocation (RMI) Design
11
Java 1.2 from Sun Implementation
Documenting Architectural Mechanisms
: PersistencyClient : DBClass : PersistentClass : Connection : Statement
1. create( )
1.1. New() 1.2. getData( )
1.3. createStatement( )
1.4. executeUpdate(String)
相关文档
最新文档