软件工程课件07(1)

上传人:第*** 文档编号:49798657 上传时间:2018-08-03 格式:PPT 页数:34 大小:267KB
返回 下载 相关 举报
软件工程课件07(1)_第1页
第1页 / 共34页
软件工程课件07(1)_第2页
第2页 / 共34页
软件工程课件07(1)_第3页
第3页 / 共34页
软件工程课件07(1)_第4页
第4页 / 共34页
软件工程课件07(1)_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《软件工程课件07(1)》由会员分享,可在线阅读,更多相关《软件工程课件07(1)(34页珍藏版)》请在金锄头文库上搜索。

1、 第7章 构建分析模型(1)刘林峰1提纲n需求分析n分析建模的方法n数据建模概念n面向对象的分析简介n基于场景建模n面向流的建模n基于类的建模n生成行为模型本次课内容2需求分析n需求分析是对收集到的需求进行提炼、分析和认真 审查,以确保所有的项目相关人员都明白其含义, 并找出其中的错误、遗漏或其它不足的地方,形成 完整的分析模型,最终产生规格说明。n需求分析的核心在于建立分析模型分析模型详细定义了系统需求而没有局限于具体技术。事件列表、数据流图、实体关系图、数据流定义、数据字典 、状态转换图、用例图、时序图、协作图、类图、状态图、3整体目标和原理n分析模型必须建立的三个目标: (1)描述客户需

2、要什么; (2)为软件设计奠定基础; (3)定义的一组需求在软件完成后可以被确认。分析模型在系统描述和设计模型之间建立桥梁4分析的经验原则n创建分析模型应该遵循的原则:n模型应关注在问题域或业务域可见的需求,抽象的级别应该相 对高一些;n分析模型的每个元素都应能增加对软件需求的整体理解,并提 供对信息域、功能和系统行为的深入理解;n关于基础结构和其他非功能的模型应推迟到设计阶段再考虑;n最小化整个系统内的关联;n确认分析模型为所有共利益者都带来价值;n尽可能保持模型简洁。5域分析n域分析出现的原因:分析模型在特定业务领域的很 多应用中重复发生,有相似之处。n域分析的定义:识别、分析和详细说明来

3、自某个特 定应用领域的公共需求,特别是那些在该应用领域 内被多个项目重复使用的。n作用:通过识别和复用分析模型的模式和软件构件 ,能够减少开发时间和开发费用。6域分析师的角色n发现和定义可复用的分析模式、分析类 和相关信息。n域分析过程的输入和输出:7分析建模的方法n结构化分析n面向对象的分析(OOA,使用UML)n哪种好?判断标准:为共利益者提供最佳软件需求模 型,更好地实现到设计活动的过渡。8数据建模n数据建模是分析建模的开始。n数据建模定义以下内容:n数据对象n数据对象间的关系n与关系相关的其他信息9数据对象n定义:由一组属性/特征描述,被软件(系统 )管理的事物。n数据对象中没有操作。

4、n数据对象可以是:n外部实体(打印机、用户、传感器)n事物(报告、显示、信号)n事件(警报)n角色(销售人员、经理、工程师)n10数据属性n数据对象中会有多个数据属性来描述对象。n数据属性的作用:n为数据对象的实例进行命名;n描述该实例;n建立另一个表中另一个实例的引用; object: automobileobject: automobile attributes:attributes:make makemodel modelbody type body typeprice priceoptions code options code 11关系n关系一种必须被系统“记住”的对象间的“连接”;

5、n数据对象person和car的关系图(A)对象间的基本连接(B)对象间的关系 12基数和形态n基数:一个对象的出现次数可以与另一个对 象出现次数相关联的规格说明。 一对一(11) 一对多(1N) 多对多(MN)n形态:如果对关系的出现没有明显的需要或 关系是可选的时,关系的形态是0,如果关系 必须出现一次,则形态是113实体/关系图ERD(0, m)(1, 1)objectobjectobjectobjectrelationshiprelationship1 12 2常见形式常见形式1:1:(0,m)(0,m)(1,1) (1,1)objectobject1 1objectobject2 2

6、relationshiprelationship常见形式常见形式2:2:attributeattribute14实体/关系图ERD构造方法1. 将涉及到的事物演化为数据对象2. 考虑对象和其他对象间是否存在连接3. 创建一个或多个对象关系对。4. 对每个对象关系对,考察其基数和形态。5. 进行步骤2到4,直至定义了所有的对象关系对。6. 定义每个实体的属性。7. 形式化并评审对象关系图。8. 重复步骤1到步骤7,直到数据建模完成15实体/关系图ERD:举例(1,1)(1,1)(1,m)(1,m)给出给出顾客顾客服务请求服务请求产生产生(1,n)(1,n)(1,1)(1,1)工作工作 指令指令工

7、作工作任务任务原料原料组成组成列出列出(1,1)(1,1)(1,w)(1,w)(1,1)(1,i)(1,i)选择选择标准任务表标准任务表(1,w)(1,w)(1,1)(1,1)16面向对象是什么n几个关键概念:n类和对象n属性和操作n封装和实例化n继承17类n面向对象开始于类的构建。n一个元类(超类)会继承出一系列的类 。n一旦类构建后,相应的实例对象才能创 建。18封装n对象会把数据和操作数据的逻辑程序封 装起来。method # 1 datamethod # 2method # 4method # 5method # 6method # 319类的继承ChairTableDesk cabi

8、netinstances of ChairPiece Of Furniture (superclass)subclasses of the20面向对象分析n面向对象分析注重分析业务领域和系统责任,忽略与实现有关的问题。发现和描述对象(或概念),分析对象的内部构成和外部关系 ,建立面向对象的分析模型。n面向对象分析的产品分析类分析类是概念层次上的内容,粒度可能比类大,往往很少有操作和 特征标记,使用责任定义其行为,有概念性的属性和关系。用例实现(从分析角度)分析类图:描述分析类及其之间的静态关系交互图:描述分析类之间的交互关系事件流分析补充需求:使用文本描述持久性、分布性、并发性、安全性、容错

9、性等方面的非功能需求21面向对象分析n面向对象分析的产品(续)分析包建立包图时,应将概念上或语义上相近的模型元素纳入一个 包。一般地,把支持一个特定的业务过程或参与者的一些用例或 类组织在一个包中,或把具有泛化或扩展关系的用例或类组织 在一个包中。体系结构描述(从分析角度)从分析模型的角度,描述系统的体系结构;通常包括由分析包以及它们之间的依赖、关键分析类、实现 重要或关键功能的用例实现。22面向对象分析的过程23基于场景建模编写用例n用户满意度很重要,因此需要从用户( 参与者)的视角来表示系统。n编写用例需要知道:n n(1) (1) 编写什么编写什么? ?n n(2) (2) 写多少写多少

10、? ?n n(3) (3) 编写说明需要多详细编写说明需要多详细? ? n n(4) (4) 如何组织说明如何组织说明? ? 24safeHome系统的初步用例图25开发活动图n与流程图类似n提供交互流的图形表示来补充用例n课本P120例图26泳道图n是活动图的变形n指示哪个参与者对特定功能负责n课本P121例图27面向流的建模n作为UML图的补充,帮助认识系统需求和流 。n当信息“流”过基于计算机的系统时会被变换 。n我们可以为任何基于计算机的系统产生流模 型。DFD仅仅简单地显示数据的流动。n分层方式,逐步增加细节。computercomputer basedbased systemsys

11、teminputinputoutputoutput28面向流的建模外部实体转换过程数据流数据存储数据转化数据转化( (从输入到输出从输入到输出) )数据的使用者数据的使用者通过系统的数据流通过系统的数据流, , 从输入开始并被转换为输出从输入开始并被转换为输出数据常常被存储,以便后用数据常常被存储,以便后用29创建数据流模型的指导原则n第0层的数据流图应将软件/系统描述为一个 泡泡(圆圈);n主要的输入和输出应被仔细的标记;n通过把在下一层表示的候选处理过程、数据 对象和数据存储分离,开始求精过程;n应使用有意义的名称标记所有的箭头和泡泡 ;n当从一层转到另一个层时要保持信息流连续 性;n一次精化一个泡泡。30创建控制流模型n很多应用问题是事件驱动而不是数据驱 动;产生控制信息而不是报告或者显示 信息;处理信息时非常关注时间和性能 控制流建模。31控制规格说明CSPEC控制规格说明可以是控制规格说明可以是: :状态图状态图 ( (序列说明序列说明) )状态转换表状态转换表决策表决策表 行为表行为表组合说明组合说明32课堂讨论问题n假设参与者有普通读者、注册读者、图 书管理员、邮件系统四种,试分析下 Mini-library系统的初步用例图。33参考用例图34

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号