中南大学软件体系结构重要资料
UML-软件体系结构-实验2-中南大学-软件学院

实验2 UML实验(2)实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学习类图的绘制;2. 学习从系统需求中识别类,并构建相应的面向对象模型;3. 学习使用顺序图描述对象之间的交互;4. 学习使用活动图为业务流程建模;5. 学习使用PowerDesigner实现正向工程和逆向工程。
二、实验内容1. 根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape 类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。
提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(char type),其返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。
【注:“创建关系”是一种特殊的“依赖关系”】2. 根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
软件体系结构(老师划重点版)

软件体系结构(老师划重点版)软件体系结构复习资料Chapter 11.软件重用技术可以减少软件开发过程中大量的重复性工作,这样就能提高软件生产率、降低开发成本、缩短开发周期。
2.软件构件是语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上他是语义描述、通信接口和实现代码的复合体。
简单的说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体。
3.可重用技术对构件库组织方法的要求是:不仅要支持精确匹配、还要支持相似构件的查找。
4.超文本方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
5.件体系结构充当一个理解系统构件和他们之间关系的框架,特别是那些始终跨越时间和实现的属性。
Chapter 26.软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型。
7.“4+1视图模型“从5个不同的视角:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
8.逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
开发视图也可以成为模块视图,主要侧重于软件模块的组织与管理。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
物理视图主要考虑如何把软件映射的硬件上,它通常要考虑系统性能、规模和可靠性等。
场景可以看做是那些重要系统活动的抽象,他是四个视图有效的联系起来,从某种意义上说场景是最重要的需求抽象。
从以上分析可知,逻辑视图和开发视图描述软件的静态结构,进程视图和物理视图描述系统的动态结构。
9.软件体系结构的核心模型有五种元素构成:构件、连接件、配置、端口和角色,其中构件、连接件和配置是最近本的元素。
构件时具有某种功能的可重用的软件模板单元,表示系统中最重要的计算元素和计算存储。
构件有两种:符合构件和原子构件,符合构件有其他符合构件和原子构件通过连接而成。
南信 软件体系结构 必考点

软件体系结构复习填空、判断:1.构件概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
简单地说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。
构件分类方法:关键字分类法、刻面分类法、超文本组织法2.ADL的构成要素构件:是一个计算或数据存储单元,构件是计算与状态存在的场所,其自身也包含多种属性;连接件:用于建立构件间的交互以及支配这些交互规则的体系结构构造模块,它可以不与现实系统中的编译单元对应;体系结构配置/拓扑:描述体系结构的构件与连接件的连接图,它提供信息来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。
3.动态软件体系结构概念动态性分为三类:交互式动态性、结构化动态性、体系结构动态性。
4.基于构件的动态系统结构模型:应用层、中间层、体系结构层5.Web服务模型(三种逻辑构件):一个完整的Web服务包括三种逻辑构建:服务提供者、服务代理和服务请求。
6.设计模式目录中对模式的分类根据模式的目标,可以将它们分成创建性模式、结构性模式和行为性模式。
创建性模式处理的是对象的创建过程,结构性模式处理的是对象/类的组合,行为性模式处理类和对象间的交互方式和任务分布。
7.体系结构驱动所谓体系结构驱动,是指构成体系结构的商业、质量和功能需求的组合。
它决定ABSD方法。
8.基于实现和说明的程序测试方法是否适用于对软件体系结构的测试。
不适用9.可用性概念可用性是系统能够正常运行的时间比例。
经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
10.SEI模型SEI将产品线的基本活动分为:核心资源开发(领域工程)、产品开发(应用工程)、管理。
11.框架分类及创建方式框架有三种建立方式:自顶向下,自底向上和混合方式。
(完整word)中南大学软件体系结构实验报告

CENTRAL SOUTH UNIVERSITY软件体系结构实验报告学生姓名周建权班级学号 0909121915指导教师穆帅设计时间2014年11月实验一系统的用例模型一、实验目的1.熟悉用例图的基本功能和使用方法。
2.锻炼结合给定题目,进行有效需求分析的能力。
3.掌握如何使用建模工具绘制用例图的方法。
二、实验器材1.计算机一台。
2.UML建模工具,比如软件Rational Rose 或StarUML。
三、实验内容在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。
用Rational Rose或StarUML工具软件绘制系统的用例图.下文以Rational Rose为例讲解基本步骤。
四、实验步骤1.结合实际给定题目,完成系统的需求建模。
2.针对每个用例进行业务分析。
以图书管理系统中“删除读者信息"用例为例来说明实验具体步骤。
(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。
(2)根据分析结果,书写业务流程,一般包含以下信息:①管理员在录入界面,输入待删除的读者名;②“业务逻辑”组件在数据库中,查找待删除的读者名;③如果不存在,则显示出错信息,返回步骤①,如果存在则继续;④“业务逻辑”组件判断“待删除的读者”是否可以删除;⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续;⑥在数据库中,删除相关信息;⑦显示删除成功信息;⑧结束。
3.根据分析结果,绘制用例图.以图书管理系统中“删除读者信息"用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1。
中南大学软件体系结构重点

第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern of structuralorganization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connector types, and aset of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
这种风格的构件是对象或者说是抽象数据类型的实例。
对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用构件不直接调用一个过程,而是触发或广播一个或多个事件。
事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统组织成一个层次结构。
每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统构件:中心数据结构(仓库)和一些独立构件的集合。
中南大学软件体系结构实验五解读

实验5 结构型和行为型设计模式实验实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型和行为型设计模式,包括代理模式、职责链模式和命令模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法method()调用之前输出“方法method()被调用,调用时间为2014-11-5 10:10:10”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输出“方法method()调用失败”。
在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录模块的结构,绘制类软图并编程模拟实现。
2. 某软件公司承接了某信息咨询公司的收费商务信息查询系统的开发任务,该系统的基本需求如下:(1) 在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统;(2) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户端代码可以无区别地对待原始的商务信息查询模块和增加新功能之后的商务信息查询模块,而且可能在将来还要在该信息查询模块中增加一些新的功能。
试使用代理模式设计并编程模拟实现该收费商务信息查询系统。
【提示:使用保护代理和智能引用代理】3. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
软件体系结构参考材料

1. 体系结构的概念软件体系结构包括构成系统的设计元素的描述,设计元素的交互模式,以及在这些模式中的约束。
精简为:组件+连接件+约束。
2. 体系结构风格 体系结构风格是描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。
精简为:构件/连接件集、拓扑约束:每个步骤都是一个独立的程序,每一步必须在前一步结束前才能开始,数据必须是完整的以整体的方式约束:过滤器都是各自独立的,相互之间并不存在联系 优点:良好的隐蔽性,高内聚、低耦合;便于设计者理解;支持功能模块的重用;系统易于维护和扩展;支持 缺点:不适合于交互性很强的应用;数据传输无通用标优点:对象抽象使得组件和组件之间的操作以黑箱的方式进行;封装性使得细节内容对外部环境得以良好的隐藏。
对象之间的访问是通过方法调用来实现的;考虑操封装完成了相关功能和属性的包装,并由对象来对它们进行管理;使用某个对象提供的服务优点:每层为上一层提供服务,使用下一层的服务,智能访问相邻层;大的问题分解为小问题逐步解决,降低缺点:上层必须知道下层的身份,不能调整层次之间的通信进程系统组件:收发消息的进程 连接件:消息连接件:事件-过程绑定,对某事件进行注册了的自动为软件重用提供了强大的支持。
当需要将一个构件加入现存系统中时,只需将它注册到系统的事件中;为改进系统带来了方便。
当用一个构件代替另一个构件时,不 构件放弃了对系统计算的控制。
一个构件触发一个事件时,不能确定其它构件是否会响应它。
而且即使它知道事件注册了哪些构件的构成,它也不能保证这些过程被 调用的顺序;数据交换的问题。
有时数据可被一个事件传递,但另一些情况下,基于事件的系统必须依靠一个共享的仓库进行交互。
在这些情况下,全局性能和资源管理便成了问题;既然过程的语义必须依赖于被触发事基于规则的系统仓库构件:一个内存模块,多个纯计算进程连接件:通过直接访问或过程调用与内存交互的计算单元约束:适用于核心问题是发布、扩大和维护一个复杂信息中心体的应用没有直接的算法可解(多种方法都能解决问题,需要多不确定性(数据和解决方法可能错误或者变化,数据中质量属性场景(Quality Attribute Scenario )是一个具体的质量属性需求,场景就是风险承担者与系统的交互的简短陈述。
软件体系结构重点

一:名词解释构件:语义完整、语法正确和有可重用性价值的单位软件,是软件重用过程中可以明确辨识的系统,结构上,它是语义描述、通信接口和实现代码的复合体。
构件是具有某种功能的可重用的软件模板单元,表示系统中主要的元素和数据存储。
UDDI:Universal Description Discovery and Integration ,UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
层:层是由一组具有相同抽象级别的构件构成。
模型:通过主观意识借助实体或者虚拟表现、构成客观阐述形态、结构的一种表达目的的物件(物件并不等于物体,不局限于实体与虚拟、不限于平面与立体)。
SOA:面向服务的体系结构,(service-oriented architecture)是构造分布式系统的应用程序的方法,它将应用程序功能作为服务发送给最终用户或者其他服务。
它采用开放标准、与软件资源进行交互并采用表示的标准方法。
体系结构:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件连接件:表示构件之间的交互。
SOAP:即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML 编码信息的轻量级协议。
WSDL:web Service Description Language 的缩写,是用来描述Web服务和说明如何与Web服务通信的XML语言,为用户提供详细的接口说明书。
Web service:一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。
Web service可以执行从简单的请求到复杂商务处理的任何功能。
一旦部署以后,其他Web Service可以发现并且调用它部署的服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern ofstructural organization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connectortypes, and a set of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器➢每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
➢过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织➢数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
➢这种风格的构件是对象或者说是抽象数据类型的实例。
➢对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用➢构件不直接调用一个过程,而是触发或广播一个或多个事件。
➢事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统➢组织成一个层次结构。
➢每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统➢构件:中心数据结构(仓库)和一些独立构件的集合。
➢仓库和在系统中很重要的外部构件之间的相互作用。
●过程控制环路➢源自于控制理论中的模型框架,将事务处理看成输入、加工、输出、反馈、再输入的一个持续的过程模型。
➢通过持续性的加工处理过程将输入数据转换成既定属性的“产品”。
●C2风格通过连接件绑定在一起的按照一组规则运作的并行构件网络。
●C/S风格➢基于资源不对等,且为实现共享而提出来的。
➢有三个主要组成部分:数据库服务器、客户应用程序和网络。
➢优点:✓具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
✓对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
✓将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
➢缺点:✓开发成本较高。
✓客户端程序设计复杂。
✓信息内容和形式单一。
✓用户界面风格不一,使用繁杂,不利于推广使用。
✓软件移植困难。
✓软件维护和升级困难。
✓新技术不能轻易应用。
●三层C/S风格➢优点:✓能提高系统和软件的可维护性和可扩展性。
✓具有良好的可升级性和开放性。
✓可以并行开发。
✓有效地隔离开表示层与数据层,为严格的安全管理奠定了坚实的基础。
➢缺点:✓各层间的通信效率不高。
✓设计时必须慎重考虑三层间的通信方法、通信频率及数据量。
●B/S风格(浏览器/Web服务器/数据库服务器)➢优点:✓基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
✓提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实的开放性基础。
➢缺点:✓缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
✓系统扩展能力差,安全性难以控制。
✓数据查询等响应速度上,要远远低于C/S体系结构。
✓数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。
第三章软件需求与架构(15分)一、软件需求的概念需求是指明必须实现什么的规格说明。
它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
二、软件需求的流程三、软件需求的分类●按层分:➢业务需求:反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。
——领域专家➢用户需求:描述用户使用产品必须要完成什么任务,怎么完成的需求。
——用户➢系统需求:从系统的角度来说明软件的需求。
——开发人员●按类分:➢功能需求:系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。
➢非功能需求:产品必须具备的属性或品质,如正确性、可靠性、性能、容错性和可扩展性等。
➢设计约束:对解决方案的一些约束说明。
四、软件需求面临的主要困难●知识技能问题●态度问题●合作关系●用户说不清楚需求●双方误解需求●开发人员写不好需求文档●用户经常变更需求五、需求工程●定义:把所有与需求直接相关的活动通称为需求工程。
●需求工程创建的第一份文档是需求陈述,用于在项目开发之初理解客户的需求。
●分类:➢需求开发:目的是通过调查与分析,获取用户需求并定义产品需求。
包括:✓需求调查(需求获取)的目的是通过各种途径获取用户的需求信息(原始材料),产生《需求陈述》。
✓需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。
常见的需求分析方法有“问答分析法”和“建模分析法”两类。
✓需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《软件需求规格说明书》。
➢需求管理:目的是在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。
包括:✓需求确认是指开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果。
✓需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。
✓需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。
●需求工程结构图:六、需求获取技术●获取需求的方法➢面谈(访谈):开放式问题和封闭式问题➢问卷调查:潜在使用者太多或分布太广时➢会议(需求讨论会、重点问题讨论会、业务专题讨论会、设计专题讨论会)➢文档研究➢任务示范(观察):通过观察可以获得第一手的资料。
➢用例与角色扮演➢原型设计(小规模试验)➢研究类似公司●需求陈述➢是一份文档,陈述用户对软件的期望和需要,并对可能的规格要求加以说明。
➢需求陈述用来明确软件的用途,它不仅要说明软件有什么用,还要在宏观层次上明确软件应具备的特性。
➢核心内容✓开发该软件的动机(愿景)是什么?✓该项目的主要涉众是谁?✓希望该软件具备哪些主要功能和特性?七、需求建模●需求模型分类:➢功能模型——如UC——见下章➢业务流程模型——如DFD✓数据流图(Data Flow Diagram, DFD)是结构化方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。
➢数据建模模型——如ER✓ER建模用于对数据进行建模(概念模型)✓在ER图中包含三个图形符号,分别表示:实体(矩形)、属性(椭圆)、联系(菱形)八、编写软件需求规格说明书●需求分析的主要成果:软件需求规格说明书(Software RequirementSpecification, SRS)●要求的属性:➢正确:最重要的属性。
➢清楚:让人易读易懂,不在于文档的厚度。
➢无二义性:是指每个需求只有唯一的含义。
➢一致:指《软件需求规格说明书》中各个需求之间不会发生矛盾。
➢必要:其中的各项需求对用户而言应当都是必要的。
➢完备:指《软件需求规格说明书》中没有遗漏一些必要的需求。
➢可实现:其中各项需求对开发方而言应当都是可实现的。
➢可验证:其中的各项需求对用户方而言应当都是可验证的。
➢确定优先级:先做优先级高的需求,后做(甚至放弃)优先级低的需求,这样可以将风险降到最低。
●阐述“做什么”而不是“怎么做”九、需求确认●需求确认是指开发方和客户方共同对《软件需求规格说明书》进行评审,双方对需求达成共识后作出承诺。
●包含两个重要工作:➢需求评审➢需求承诺十、需求跟踪技术●需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。
●跟踪有两种方式:➢正向跟踪。
检查《软件需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。
➢逆向跟踪。
检查设计文档、代码、测试用例等工作成果是否都能在《软件需求规格说明书》中找到出处。
●跟踪矩阵➢源跟踪矩阵(需求与需求来源)➢功能跟踪矩阵(需求与功能)➢依赖跟踪矩阵(一个需求与另一个需求)十一、需求变更控制●需求发生变更的起因主要有:➢随着项目的进展,人们(包括开发方和客户方)对需求的了解越来越深入。
原先的需求文档可能存在这样那样的错误或不足,因此要变更需求。
➢市场发生了变化,原先的需求文档可能跟不上当前的市场需求,因此要变更需求。
●需求变更控制的目的:➢如果需求变更带来的好处大于坏处,那么允许变更,但必须按照已定义的变更规程执行,以免变更失去控制。
➢如果需求变更带来的坏处大于好处,那么拒绝变更。
●需求基线➢已经通过正式评审和批准的规格说明或产品,它可以作为进一步开发的基础,并且只有通过正式的变更控制过程才能修改它。
➢是被明确和固定下来的需求集合,是项目团队需要在某一特定产品版本中实现的特征和需求集合。
第五章统一建模语言UML(20分)(Unified Modeling Language)(重点看实验1)一、用例图(Use Case Diagram)●执行者和用例之间的关联关系(Association):一根直线来表示●执行者之间的泛化关系(Generalization)(或继承关系)用例之间的关系:●包含关系:描述在多个用例中都有的公共行为,由用例A指向用例B,表示用例A中使用了用例B中的行为或功能,包含关系是通过在依赖关系上应用<<include>>构造型(衍型)来表示的。
●扩展关系:扩展用例可以在基用例之上添加新的行为,但是基用例必须声明某些特定的“扩展点”,并且扩展用例只能在这些扩展点上扩展新的行为。
扩展关系是通过在依赖关系上应用<<extend>>构造型(衍型)来表示的。
●泛化关系:➢当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
➢在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。
➢泛化关系一般很少使用。