软件体系结构SoftwareArchitecture.ppt
《软件体系结构SoftwareArchitecture.ppt》由会员分享,可在线阅读,更多相关《软件体系结构SoftwareArchitecture.ppt(137页珍藏版)》请在三一文库上搜索。
1、软件体系结构 (Software Architecture),讲义13:统一软件开发过程(RUP),一、引言,为屏蔽计算机硬件的异构性,发展了操作系统,C/C+ 语言,Java 语言,支撑软件中间件,为屏蔽操作系统和编程语言的异构性,发展了支撑软件和中间件,Fortran 语言,为了祢补应用软件与现实计算环境之间的距离,应用系统,网 络 层,综观 软件技术 的发展,应用系统,概念不同,逻辑不同。 解决问题的思维逻辑 不同。 -“距离”,语 言,网络 异构,VB、VC -程序设计环境,中间件技术与产品,面向领域的软件体系结构,应用框架,领域软件生产线,系统建模,运行平台,开发平台,软件工程学科所
2、要解决的问题,软件开发的本质 可概括为: 第一点: 问题空间的概念 与 解空间的模型化概念 之间的映射 例如:对象 = F(张山) (模型化概念) (问题空间的概念) 其中, 对应的过程:需求分析 使用的技术:面向对象 使用的原理:数据抽象 目的:作为计算的客体。,第二点:问题空间的处理逻辑 与 解空间处理逻辑 之间的映射 例如1: 加工1(及相关的数据流)=F(计算学生成绩) 其中:使用的方法:结构化方法; 对应的过程:需求分析 使用的原理:过程抽象,加工1 计算学生平均成绩,科目+年级/班,学生成绩文件,学生平均成绩,规约后的处理逻辑,例如2: 交互图1=H(计算学生成绩) 其中:对应的过
3、程:需求分析 使用的方法:面向对象 使用的原理:行为结构抽象(简称行为抽象) 作用:作为计算规则,:教务员,:教员,递交A科学生成绩表,A科学生成绩表,:教学主任,求A科平均,A科平均,由于以上两个映射是由“人”完成的,因此 就软件开发而言,需要解决两个方面的问题: 1:技术 2:管理 进一步说,技术问题主要是指软件开发过程通常需 要遵循的途径和方向 其中,过程方向 确定用于创建问题模型和设计解的 特定的抽象层次 例如,需求、设计、实现、部署等,问题空间,需求-一个抽象层,设计-一个抽象层,实现-一个抽象层,部署-一个抽象层,特定的notation,特定的notation,特定的notatio
4、n,特定的notation,验 证/ 确 认,问题空间,需求-一个抽象层,设计-一个抽象层,实现-一个抽象层,部署-一个抽象层,特定的notation,特定的notation,特定的notation,特定的notation,验 证/ 确 认,它们体现了我们所说的一些软件设计原理,过程途径 实现不同抽象层次的映射,?,?,?,?,?,?,?,?,典型的途径有: 结构化方法 面向数据结构方法 面向对象方法以及 维也纳开发方法(VDM)等 注:主要讲解结构化方法和面向对象方法。,RUP的本质及特点 (1) 是一种迭代的、以架构为中心的、用例驱动的软件开发方法 (2) 是一种具有明确定义和结构的软件工
5、程过程,包括规定了人员的职责、如何完成各项工作以及何时完成各项工作。还提供了软件开发生命周期的结构,明确定义了主要里程碑和决策的关系 (3) 是一个过程产品,提供了可定制的软件工程的过程框架。可以适用于于不同规模的开发团队和规范程度不同的开发方法,RUP的基本原理 尽早并且不断化解重大的风险 确保满足客户的需求 把注意力放到可执行软件上 尽早在项目中适应变化 在早期确定一个可执行的架构 使用构件构造系统 建立高效的开发团队,突出特点是: Use Case 驱动的、 以体系结构为中心的、 迭代、增量的开发 ., 何谓 USE CASE 驱动,USE CASE,分 析,输入,设 计,实 现,跟踪,
6、输入,跟踪,输入,跟踪,输入,输入,测 试,输入,跟踪,输入,从USE CASE模型的视觉,从分析模型的视觉,从设计模型的视觉,从实现模型的视觉,从部署模型的视觉,给 出,体 系 结 构,描 述, 何谓以体系结构为中心,阶 段,核心工作流, 何谓迭代、增量的开发,初始阶段(the inception phase)的基本目标是: -了解项目的范围 -建立业务模型 -得到涉众的认可 换言之,其目标是:建立该项目的生存周期目标 (objectives), 精化阶段( the elaboration phase)的基本目标是 -建立体系结构基线 -捕获大多数的需求 -降低主要的技术风险 -减少次要的错
7、误风险,即建立生存周期体系结构 ( the life cycle architecture). 到该阶段末,就能够估算成本、进度,并能详细地 规划构造阶段( the construction phase)。,构造阶段( the construction phase)的基本目标是: -开发完整的系统 -确保产品可以开始向客户交付, 即具有初始操作能力。 交付阶段( the transition phase)的基本目标是: -确保有一个实在的产品,发布给用户群。 期间,培训用户如何使用该软件。 注:这4个阶段是演化模型的一个变体。,由上可见:USDP对于如何运用UML的概念进行软件开发提供了详细指
8、导。即: 指导开发队伍安排其开发活动的次序; 为各开发者和整个开发组指定任务; 明确地规定需要开发的制品; 提供对项目中的制品和活动进行监控与度量的准则。,1)需求获取的目标 对大系统的开发来说,需求一般包括需求获取和需求分析 需求获取的目标是: 需求分析的目标是:,客观问题(系统),系统需求获取模型,形成-涉及:不同概念和不同处理逻辑,形成-涉及:不同概念和不同处理逻辑,系统分析模型,描述系统需求获取模型,体系结构描述 -USE CASE模型,体系结构描述 -Analysis模型,实现需求获取目标的基本途径 实现需求获取的目标,即实现实际问题到软件开发需求获取层的映射,从软件开发的角度-实现
9、第一次抽象。其中至少涉及以下3个问题: 如何定义需求获取层,即给出该层的术语; 如何确定模型表示工具; 如何映射。,实际问题,需求获取层,模型表示 工具,注:这些概念体现了一些设计原理,(1)需求获取层的术语(概念) USE CASE actor 以及 4个表达关系的概念:关联、包含、扩展、泛化。 以及USE CASE图。,实际问题,模型表示 工具 -USE CASE图,体系结构描述 -USE CASE模型,(2) 需求工作流,实际问题,?,需求获取模型 -(USE CASE 模型),形成,体系结构描述 -USE CASE模型,形成,2.1 需求工作流及所创建的制品 一般来说,需求工作流包括以
10、下四步,但它们并非是严格 分离的。,要做的工作 产生的制品 -列出候选的需求 特征(Feature)列表 -理解系统语境 领域模型或业务模型 -捕获功能需求 Use case 模型 -捕获非功能需求 补充需求或针对一些特定需求 的use cases,特征(Feature): 一个功能项(function item )以及相关的简要描述 称为特征( feature)。作为需求, 并被转换为其它制品。,应用系统,潜在的抽象层,例如:按学科计算每一学生的期末考试平均成绩。 统计2科以上不及格的人数。 给出各分段(0-60,60-85,85-100)的人数分布情况。,feature,作为需求, 被转换
11、为其它制品。,应用系统,潜在的抽象层 (特征层),一个抽象层 ( USE CASE 层),USE CASE1,USE CASE,USE CASE2,USE CASE3,制品:USE CASE模型,规约,规约,形成,Actor,关联,关于特征的几点说明: -每一特征有一个简短的名字和简要的说明或定义。 -每一特征还有一组对规划有意义的信息,可以包括: 状态( Status),例如 ,提交,批准,确认 是组成的等。 估算的实现成本。( 所需的资源类型和人/时)。 优先级(Priority)(e.g.,critical, important, or ancillary)。 实现中相联的风险等级。,
12、业务模型或领域模型 领域模型 领域模型捕获了系统语境中的一些重要对象类型。其中领域 对象表示 系统工作环境中存在的事物或发生的事件。 一般来说,领域类以三种形态出现: 业务对象:表示那些被业务所操纵( manipulate)的事物 ( thing),例如定单,帐目和合同等。 实在对象(Real-world objects)和概念:例如 飞机, 火箭等。 事件(Events):例如飞机到达,飞机起飞等。 一般来说,领域模型是以类图予以描述的。,Order date of submission delivery address,Item description picture cost,Invoi
13、ce amount date of submission last date of payment,Account balance owner,1* payable,1*,buyer 1,seller 1,A class diagram in a domain model, capturing the most important concepts in the context of the system,Example: Domain Classes Order, Invoice, Item, and Account,业务模型 业务模型可以分为以下2个层次: 业务 use case 模型 通
14、过业务use case和业务 actors 来描述业务过程,他们分别 对应业务过程(business processes)和客户(customers )。 一般来说,业务 use case 模型 是以use case 图予以描述的. 业务对象模型 业务对象模型是一个业务的内部(interior)模型。描述每 一个业务use case 是如何通过一组workers 、business entities 、 work units予以细化的。,其中, Business entity 表示某些事物( something),例如 一张发票。 它们在一个业务use case中被使用之。 A work un
15、it 是这样实体的一个集合,对最终用户 而言,形成了可认知的整体。 Business entities 和 work unit 用于表达同一类概念,作为 领域类,例如定单,栏目,发票等。 每一个业务use case的细化可以通过交互图和活动图予以 表示。, 以 use case 捕获需求 Use-Case 模型 Use-Case 模型 用以表达客户认可的需求-系统必须 满足的条件和能力。 Use-Case模型 作为客户和开发人员之间的一种共识。 Use-Case 模型是一个系统的一种模型,包括 actors、 use cases 以及它们之间的关系。,Use-Case system,Use-C
16、ase model,Actor,Use case,*,*,1,The Use-Case system denotes the top-level package of the model,Use-Case 模型以及其内容,参与需求工作流的有关人员,System Analysis,responsible for,Use-case Specifier,responsible for,User-interface designer,responsible for,Architect,responsible for,use case model,Actor Glossary,Use case,User
17、 interface prototype,Architecture Description,需求捕获工作流中的活动 1、发现并描述Actor (1)发现 Actor的方法 发现 actor的这一任务,依赖于起始点: - 当存在业务模型时 可以直接地发现一些候选的 actors,即: 对于业务中的每一个工作人员,可以建议一个候选的 actor 对于每一个将要使用该信息系统的业务actor (即每一个业务客户), 可以建议候选的一个 actor。 - 当有或没有领域模型时 分析人员就要与客户一起标识 actor,并将所标识 actor进行分类,形成 一些候选的 actors。 Note:还要标识表
18、示外部系统的actor和系统维护和运行所需要的actor 。,在确定系统actors 时可用的2条准则: 第一条准则:至少要识别出一个用户,可以扮演候选的 actor。 该准则将帮助我们仅发现那些相关的actors,避免 actor 仅是一些想象的“事物”。 第二条准则:系统中不同actors 实例之间,其角色的重叠 应是最少的。 如果2个或多个actors有着几乎相同的角色,那么就应该 考虑: 是否将这些角色组合到一个actor的角色中,或 是否需要发现另外一个“一般化”的actor,使之具有那些 重叠的、公共的角色 ,并可以通过“泛化”,形成那些特 定actor。,(2)Actors的命名
19、与描述 Actors的命名: 对actors给出恰当的名字是非常重要的。这样的名字可以 “传达”( convey)所期望的语义。 Actors的描述: 对actor的描述,应包含其角色(责任)以及为了完成其 责任所需要的条件。,例如: the Buyer, Seller,and Accounting System Actors Buyer A Buyer represents a person who is responsible for buying goods or services as described in the business use case Sales: from Ord
20、er to Delivery. This person may be an individual or someone within a business organization. The Buyer of goods and services need the Billing and Payment System to send order and to pay invoices., Seller A Seller represents a person who sells and delivers goods or services. The Seller uses the system
21、 to look for new orders and to send order confirmations, invoices, and payment reminders., Accounting System The Billing and Payment System sends verifications of transactions to the Accounting System.,Order Goods or Services,Confirm Order,Invoice Buyer,Pay Invoice,Perform Transaction,Pay Overdraft
22、Fee,Send Reminders,extend,Initiator,Initiator,Initiator,Initiator,Initiator,Buyer,Seller,Accounting system,Use case in the Billing and Payment System that support the business use case Sales:From Order to Delivery. The role initiator, attached to the associations, indicate which actor starts the use
23、 case.,2、发现并描述 Use Case (1) 对 use case的回顾 A use case specifies a sequence of actions, including alternatives of the sequence , that the system can perform , interacting with actor of the system. actor 使用系统的每一方法( way ),被表示为一个use case Use case 是系统向它的actors 提供结果(值)的功能块 (chunks )。 例如, use case 实例,Withdr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 SoftwareArchitecture
链接地址:https://www.31doc.com/p-2612106.html