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

合集下载

软件体系结构课件第5章统一建模语言

软件体系结构课件第5章统一建模语言

2:GetPrefSet()
10:PrefSet(date_mg)
1:GetPrefSet()
:MeetingInitiator
第5章 统一建模语言 直接使用UML建模 – 会议安排系统的类图
Person
StronglyConflicts With
Conflicts With
Important Attendee
0..* 0..*
0..* Profers
Attendee
1..* 1..* 0..* 0..*
11 1 1
1
Meeting Initiator
Find.exe
Query .dll
部署图 定义系 统中软 硬件的 物理体
系结构
第5章 统一建模语言 部署图
客户端:个人PC QueryClient.exe
服务器
《TCP/IP》 查询
QueryServer.exe 部署图
定义系
统中软
Find.exe
硬件的
物理体
Query.dll系结构
第5章 统一建模语言
第5章 统一建模语言
直接使用UML建模 – UML中的通用表示
➢ 字符串:表示有关模型的信息; ➢ 名字:表示模型元素; ➢ 标号:不同于编程语言中的标号,是用于表示或说明图形符号的字
符串; ➢ 特殊字符串:表示某一模型元素的特性; ➢ 类型表达式:声明属性、变量及参数,含义同编程语言中的类型表
0
10
20
30s 时间刻度
第5章 统一建模语言 状态图
提交订单 已审核 印前处理
客户付钱
已付款
已处理
进行冲印
冲印中 冲印完成
描述满足 用例要求 所要进行 的活动以 及活动间 的完约成束关 系,有利 于识别并 行活动

电子科技大学,软件工程第九章进行体系结构设计幻灯片

电子科技大学,软件工程第九章进行体系结构设计幻灯片

• 9.3 体系构造风格和模式
• 对完成同一种或同一类工作,不同的设计 人员在体系构造设计的方式各不一样,这种 方式的一定程度上的抽象,就是体系构造风 格。
• 体系构造模式就是风格的具体表达,或者 体系构造设计的一个框架。
• 以数据为中心的体系构造 • 特点:客户构件根本独立
• 数据流体系构造 • 数据服从输入—变换---输出的简单流
• 数据挖掘技术〔数据库中的知识发现〕 〔knowledge discory in database,KDD)
• 数据仓库的概念
构建级的数据设计原那么:
应用于功能和行为的系统分析原那么也可用于数据。 标识所有数据构造及其完成的操作。 如何给数据以特定内容 低层的数据设计应放到设计过程的后期。 数据的隐蔽性 开发由有用的数据构造及其操作组成的库。 选用适宜的编程工具。
电子科技大学,软件工程第 九章进行体系结构设计幻
灯片
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
• 9.1 软件体系构造
• 软件体系构造:描述一个计算机软件的各 个功能模块内部关系以及不同模块之间的 关系的构造图〔可以是文字的描述,也可 以是图表的描述〕,类似于硬件设计中的 原理框图, 它是软件流程图的上层抽象。
• 实现一个具体的任务可以有多种不同的 体系构造,哪一个更好?
• 体系构造权衡分析方法〔SEI〕: • 核心:通过孤立地考虑每个属性来评估质
量属性
➢ 体系构造的复杂性
➢ 体系构造描述语言
➢ UML ➢ 体系构造描述语言〔architectural description
language,ADL)
• 9.6 映射数据流到软件体系构造 • 变换流 • 事务流 • 变换映射 • 事务映射

软件工程与UMLPPT课件

软件工程与UMLPPT课件

根据用户访谈得知,图书登录号即为图书编号,因此去掉此项,加入图书状态一项,用于图书遗失处理
我们的进度,在这里
修改后的领域类图
领域类图描述的是系统中的数据对象,又称为 object Model, object Model属于概念级别的模型,需要映射为表(Data Model)才能被计算机存储
我们的进度,在这里
我们的进度,在这里
图书管理系统Sql脚本_SQL Server 2000
CREATE TABLE [dbo].[借阅信息] ( [借阅时间] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [归还时间] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [借阅信息_ID] [int] IDENTITY (1, 1) NOT NULL , [学生_ID] [int] NOT NULL , [图书_ID] [int] NOT NULL ) ON [PRIMARY] GO
我们的进度,在这里
图书管理系统Sql脚本_SQL Server 2000
CREATE TABLE [dbo].[图书] ( [图书状态] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [ISBN] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [书名] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [作者] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [出版社] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [出版日期] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [总页数] [int] NOT NULL , [定价] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [图书分类] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL , [图书_ID] [int] IDENTITY (1, 1) NOT NULL ) ON [PRIMARY] GO

软件体系结构设计方法ppt课件

软件体系结构设计方法ppt课件
2.1.3 模式驱动的方法
模式驱动的体系结构设计方法从模式导出体系结构 抽象。软件设计模式的目的在于编制一套可重用的 基本原则,用于开发高质量的应用系统。体系结构 模式类似于设计模式,但它关心更粗粒度的系统结 构及其交互。
15
客户 需求规格说明书
通用知识 2:实现
体系结构模式 描述 意图
上下文
问题
解决方案
体系结构描述Biblioteka 4:组合3:应用 体系结构模式
图4 模式驱动的体系结构设计的概念模型
16
3. 系统的管理端业务处理模块
3.1 总的网络拓补结构
系统管理员
数据库 和
Web程序 都在这上
导师
导师
导师
17
3. 系统的管理端业务处理模块
在该系统中采用面向对
象分析作为主要的系统
建模方法,用不同的设
计角度描述角色(管理
有所不同。
3
客户
领域知识
捕捉需求 需求规格 说明书
提取解决方 案的结构
领域知识 工作
解决方案抽象
体系结构 规格说明
领域知识
体系结构
图1 体系结构设计方法的元模型 4
2.软件体系结构设计方法的分析
为了获取对体系结构设计的抽象,人们已经提出 了许多方法。
2.1 体系结构设计方法的分类
(1)工件驱动(Artifact-Driven)的方法 (2)用例驱动(Use-Case-Driven)的方法 (3)模式驱动(Pattern-Driven)的方法 (4)领域驱动(Domain-Driven)的方法
*
者)与系统的其它的 管理员
构件是如何联系的。管
管理端子系统 *
理端的主用例图如右图:

课件—UML系统建模与分析设计(7)-系统体系结构建模

课件—UML系统建模与分析设计(7)-系统体系结构建模

还应用伪代码或者文字给出类的规约。
2020/8/8
UML系统建模与分析设计
17
OO方法中执行主要活动的描述。主要步骤是分析、 设计、实现及测试。
需求分析
设计 实现
实现活动实际上就是编写程序 代码,包括反复的编译、连结、排 错等。
并应遵循传统的编程准则。
测试
2020/8/8
UML系统建模与分析设计
18
21
2 UML体系结构设计
从一般意义上说,体系结构包括两个层面,即硬件体 系结构和软件体系结构。
硬件体系结构指系统的硬件组织模式;而软件体系结 构则描述软件的组织模式。这里我们主要关注软件体系结 构的问题。
1、用包图或构件图描述的静态结构 2、基于配置图的软件体系结构 3、基于模式的软件体系结构
2020/8/8
构件对外提供的可见操作和属性称为构件的界面。 界面的图符是一个小圆圈。用一条连线将构件与圆圈连 起来。
构件之间的依赖关系是指结构之间在编译,连接或 执行时的依赖关系。用虚线箭头表示。
2020/8/8
UML系统建模与分析设计
5
窗口控制 (whnd.cpp)


通信控制
(comhnd.cpp)
窗口控制 (whnd.obj)
是指在编译阶段和连接阶段,组件之间的依赖关系。
• 调用依赖(Call Dependency)
是指一个组件调用或使用另外一个组件服务。
业务 (源码)
系统管理 (源码)
系统管理 (对象)
系统管理 (执行码)
资源管理 (源码)
资源管理 (对象)
资源管理 (执行码)
项目管理 (源码)
2020/8/8

第4章 UML:系统结构(用例、类及对象图)

第4章  UML:系统结构(用例、类及对象图)
第四章 UML:系统结构(静态) UML:系统结构 静态) 系统结构(
UML的静态建模机制包括: UML的静态建模机制包括: 的静态建模机制包括 用例图(Use 用例图(Use case diagram); 类图(Class 类图(Class diagram); 对象图(Object 对象图(Object diagram ); 包(Package); 构件图(Component 构件图(Component diagram); 配置图(Deployment diagram)。 配置图(Deployment diagram)。
• 面向对象分析(OOA) 面向对象分析(OOA) • 面向对象设计(OOD) 面向对象设计(OOD) • 面向对象编程(OOP) 面向对象编程(OOP)
12
用例图 (Use Case Diagram)
角色( 角色(参与者 actor )
角色:参与者是为了完成一个事件而与系统交互的实体, 角色:参与者是为了完成一个事件而与系统交互的实体,是用户 相对系统而言所演的角色 参与者不仅可以由人承担,还可以是其它系统、硬件设备、 参与者不仅可以由人承担,还可以是其它系统、硬件设备、甚至 人承担 是时钟 其它系统:当系统需要与其它系统交互时, ATM柜员机 1)其它系统:当系统需要与其它系统交互时,如ATM柜员机 系统中,银行后台系统就是一个参与者; 系统中,银行后台系统就是一个参与者; 硬件设备:如果系统需要与硬件设备交互时, 2)硬件设备:如果系统需要与硬件设备交互时,如在开发 IC卡门禁系统时 IC卡读写 卡门禁系统时, IC卡门禁系统时,IC卡读写 器就是一个参与者; 器就是一个参与者; 时钟: 3)时钟:当系统需要定时触发 时,时钟就是参与者
1
教学目标
掌握用例的基本概念及分析方法; 掌握用例的基本概念及分析方法; 掌握用例图的绘制 掌握类的捕获及分析方法; 掌握类的捕获及分析方法; 掌握类图的绘制
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Architectural Mechanisms can be treated as patterns (i.e., stereotyped parameterized collaboration)
Template Parameters
Pattern Name
Structural Aspect
Behavioral Aspect
(from java.sql)
(from java.sql)
Connection
(from java.sql)
getString() : string
executeQuery(sql : String) : ResultSet executeUpdate(sql : String) : int
createStatement() : Statement
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
Glossary
Supplementary Specifications Design Guidelines
Software Architecture Document
Design Guidelines
Analysis Classes
Architectural Design
Design Model Design Model
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()
: PersistencyClient : DBClass : PersistentClass : Connection : Statement
1. create( )
1.1. New() 1.2. getData( )
1.3. createStatement( )
1.4. executeUpdate(String)
13
Example: Persistency: RDBMS: JDBC: Initialize
: DBClass : DriverManager
1. getConnection(url, user, pass)
14
Example: Persistency: RDBMS: JDBC: Create
4
Architectural Design Topics
Key Concepts Design and Implementation Mechanisms Design Classes and Subsystems Reuse Opportunities Design Model Organization Checkpoints
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
(from SamplePersistentClass)
getData() setData() command() new()
DriverManager
(from java.sql)
1
getConnection(url, user, pass) : Connection
Statement ResultSet
1.5. getString( ) 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
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)
Key Concepts Design and Implementation Mechanisms Design Classes and Subsystems Reuse Opportunities Design Model Organization Checkpoints
10
Class Name
What is a package?
A general purpose mechanism for organizing elements into groups A model element which can contain other model elements
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
2
Architectural Design in Context
Architectural Analysis Review the Architecture Architecture Reviewer
Architect
Describe Architectural Concurrency Design
Design and Implementation Mechanisms
Analysis Design ImplConceptual)
Mechanism
(Concrete)
Legacy Data
Mechanism
(Actual)
Persistency
RDBMS
<<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
Documented in Design Guidelines
12
Example: Persistency: RDBMS: JDBC
<<role>> PersistencyClient
(from SamplePersistency Client)
Roles to be filled by the designer applying the mechanism
17
Example: Persistency: RDBMS: JDBC: Delete
: PersistencyClient : DBClass : Connection : Statement
New Data
JDBC
Persistency
OODBMS
ObjectStore
Distribution Analysis
Remote Method Invocation (RMI) Design
11
Java 1.2 from Sun Implementation
相关文档
最新文档