软件需求分析(2)ppt培训课件

上传人:aa****6 文档编号:57711600 上传时间:2018-10-24 格式:PPT 页数:114 大小:479.50KB
返回 下载 相关 举报
软件需求分析(2)ppt培训课件_第1页
第1页 / 共114页
软件需求分析(2)ppt培训课件_第2页
第2页 / 共114页
软件需求分析(2)ppt培训课件_第3页
第3页 / 共114页
软件需求分析(2)ppt培训课件_第4页
第4页 / 共114页
软件需求分析(2)ppt培训课件_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《软件需求分析(2)ppt培训课件》由会员分享,可在线阅读,更多相关《软件需求分析(2)ppt培训课件(114页珍藏版)》请在金锄头文库上搜索。

1、3.4 分析建摸方法,结构化分析(传统建模方法) 面向对象分析,计算机世界,现实世界,影射,计算机世界,现实世界,结 构 化 开 发 方 法,结构化 分析,结构化 设计,结构化 编程,OOA,OOD,OOP,面 向 对 象 开 发 方 法,3.4.2 面向对象分析方法,软件开发中为什么要使用面向对象方法? 面向对象分析方法与结构化分析方法有哪些相似之处?有何区别? 面向对象方法是对过去的一个完全突破,还是“换汤不换药”?,对象(object),现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 对象具有的含义: 在现实世界中: 是客观世界中的一个实体 在面向对象程序中: 表达成计算

2、机可理解、可操纵、具有一 定属性和行为的对象 在计算机世界中: 是一个可标识的存储区域,面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。,面向对象=对象 + 类 + 继承 + 消息通信,面向对象的主要特征: 封闭性 (Encapsulation) 继承性 (Inheritance) 多态性 (Polymorphism),类(class),具有共同属性和行为的对象的抽象 类与对象的关系 类是对象的抽象 对象是类的实例,类,对象,对象、实体与类,对象,实体,类,抽象数据类,计算机世界,现实世界,计算机逻 辑的实现,影射,抽 象,实 例 化,抽 象,

3、概念世界,封装,封装是软件开发方法的重要原则,有两个涵义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。 尽可能隐蔽对象的内部细节 (信息隐蔽),传统方法数据与过程是分离的,过程1,输入,输出,过程2,过程3,数据实体,属于该对象 的数据,对象,处理数据的方法,消息,消息,对象把数据和处理数据的方法封状成一个单元,传统方法和面向对象方法的比较,传统方法 系统是过程的集合 过程与数据实体交互 过程接受输入产生输出,面向对象方法 系统是交互对象的集合 对象与人或其它对象交互 对象发送与响应消息,继承 (继承性inheritance),继承性是父类和子类之间共享数据和方

4、法的机制 继承性具有传递性 继承性包括单继承和多重继承,子类,继承部分,增加部分,父类,共性部分,继承性作用,使软件系统具有开放性 更好地进行抽象与分类 增强代码的重用率,多态(多态性polymorphism),不同的对象收到同一消息可产生完全不同的结果,这一现象叫做多态 多态的效果 用户发送一个通用的消息,而实现的细节则由接收对象自行决定,多态性的作用,增强了操作的透明性,可理解性和可扩展性 增强了软件的灵活性和重用性,消息(message),消息 对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明 消息内容 通常包含接收方及请求接收方完成的功能信息 发送方 发出消息

5、,请求接收方响应 接收方 收到消息后,经过解释,激活方法,予以响应,为什么对面向对象方法感兴趣?,面向对象方法的主要优点: 自然性 追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。 软件复用 可复用性(可重用性) reusebility 可扩展性 可管理性,面向对象技术允许复用的不仅仅是 代码, 通过面向对象技术, 我们可以复 用需求、分析、设计、测试计划、用 户界面以及体系结构等等, 事实上, 软 件工程生存期中的每个部分都可以复 用。,可复用性(可重用性),传统系统分析:面向功能 ,把系统看成 一组功能 OOA: 把问题当作一组相互作用的实体,并确

6、定实体间关系,(1)方法是对软件开发过程所有阶段进行综合考虑而得到的; (2)从生存期的一个阶段到下一个阶段所使用的方法与技术具有高度的连续性; (3)将OOA、OOD、OOP集成到生存期的相应阶段。,面向对象技术的特点,OO方法改进了在生存期各个阶段间的界面,因为生存期各个阶段开发出来的“部件”都是类,在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析、设计和实现的基本单元。,OO方法的开发过程,类的生存期模型,类的规 格说明,从废弃型开发,既存类 的复用,渐增式的实现,渐增式的测试,求精和 维护,测试用 例和测试 的开发,实现,从既存 类演变,类的规格说明指导对存放现存类的软件库

7、进行查找 现存类提供当前应用所需功能 三种可能利用现存类的方向: 现存类的复用 从现存类进行演变 从废弃类进行开发,类的设计与实现,对象之间的联系与对象模型,面向对象方法开发软件 通常建立的三种形式的模型 描述系统数据结构的对象模型 描述系统控制结构的动态模型 描述系统功能的功能模型 三种模型从三个不同但由密切相关的角度模拟目标系统。 对象模型是最重要、最基本、最核心的。,对象模型表示静态的、结构的系统数据的性质。 对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。 OO方法强调围绕对象而不是功能来构造系统。,对象模型,分类关系 (归纳关系、一般与特殊的关系) 组成关

8、系 (组合关系、整体/部分的关系) 对象属性之间的静态的联系 对象行为的动态联系,类及对象间常见的联系,分类关系(一般与特殊的关系)示例,学生,本科生,研究生,组成关系(整体与部分的关系)示例,学科部,办公室,学院,实验室,对象模型中表现 上述联系的结构和连接,分类是对象抽象的基础 分类结构表现的是事物的一般与特殊的关系,即“is-a”关系。 面向对象术语中常把一般与特殊的关系称为泛化(Generalization)与特化(Specialization)联系,(1)分类结构(一般/特殊结构),存户,一般/特殊结构举例,一般类 (父类、基类、超类),特殊类 (子类、具体类),继承,一个特殊类中的

9、所有对象可继承一般类中的属性、服务、关系,账号 姓名 余额,存款 取款,支票存户,储蓄存户,利息率,组装结构表示对象类之间的组成关系,即整体与部分的关系。 整体对于部分是“has-a”关系。 (部分对于整体是“a-part-of”关系) 组装结构体现了面向对象方法的 聚合(也叫聚集 Aggregation)原则。,(2) 组装结构(整体/部分结构),1+,电源,主机箱,键盘,监视器,鼠标,内存,CPU,硬盘,o,微机,整体/部分结构表示法举例,实例连接表现了对象之间的静态联系,通过对象的属性来表现对象之间的依赖关系。 面向对象术语中把对象之间的实例连接称为链接(Link),把类之间的实例连接称

10、为关联(Association)。,(3)实例连接(Instance Connection),教师,指导论文 0,m 1,学生,教师为学生 指导论文:,教师,教学 0,m 0,n,学生,教师为学生 授课:,实例连接示例及表示,允许实例连接带有一组属性,这些属性通过关联来描述,关联关系(链属性)的表示,为之工作,工资 职务,雇主,雇员,个人 名字 身份证号,公司 名字 地址,题目 答辩时间 成绩,教师,学生,指导论文 0,m 1,关联关系 (链属性),对象之间的通信联系。 一需要另一个对象的服务,便向它发出个对象请求服务的消息,接收消息的对象响应消息,触发所要求的服务操作。 消息连接体现了对象行

11、为的动态联系。,(4)消息连接 (Message Connection),一家公司的对象模型(OMT)示例,为之工作,管理 0,1,姓名 身份证号码 地址,员工,名字 电话号码 主要产品 地址,公司,职务,雇用 解雇,项目名 预算 优先级,项目,产品名 成本 重量,产品,工人,经理,部门,部门名,主持,参加,1+,1+,1+,1+,1+,生产,方法论是如何对复杂系统进行“抽象”的工作,以及如何建立抽象模型。,面向对象的方法论,面向对象分析方法确实不同于结构化分析方法吗? Fichman,R.G and C.F.Kemerer, 在“Object-oriented Conventional An

12、alysis and Design Methodologies” 中阐述: 我们的结论是面向对象分析方法表现了相对面向过程的方法学(如结构化分析)的根本性变化,而且相对面向数据的方法学仅仅是增量性的变化。面向过程的方法学在建模过程中的关注点不是对象的内在性质,从而导致了和面向对象的三个基本原理相正交的问题域模型。,二.面向对象分析建模(OOA),面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。,面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。,建立分析模型5个基本原则: (1)建模信息域; (2)描

13、述模块功能; (3)表示模型行为; (4)分解以模型显示更多细节; (5)早期模型表示问题的本质,而后期 模型提供实现细节。,是定义所有和被求解的问题相关的类(及同类关联的关系和行为),为了达到这个目标,必须完成以下任务: (1)必须在客户和软件工程师之间沟通了解基本的用户需求; (2)必须标识类(定义属性和方法); (3)必须刻划类层次; (4)表示对象对象关系(对象连接); (5)必须建模对象行为; (6) (1)到(5)递进地反复使用,直至完成建模,OOA的意图,面向对象分析方法相似步骤: (1)使用基本需求作为指南选择类和对象; (2)为对象标识属性和操作; (3)定义组织类的结构和层

14、次; (4)建造对象-关系模型的; (5)建造对象-行为模型。,由Rumbaugh 、 Booch 、 Jacobson提出的统一建模语言 (Unify Modeing Language简称UML),UML是一种定义良好,易于表达,功能强大且普遍实用的建模语言。,统一的OOA方法,对象模型技术 (OMT, Object Model Tech.),对象模型,动态模型,功能模型,基本模型:,三个模型分别从不同角度分析系统,对象模型: 描述静态结构, 定义做事情的实体 功能模型: 描述处理(数据变换),指明系统应“做什么” 动态模型: 描述交互过程, 规定什么时候做,分析模型,OMT模型系统分析和设

15、计过程概观图,产生需求,结构及对象 设计,建立模型,问题描述,对象模型、动态模型、功能模型,详细的对象模型 详细的动态模型 详细的功能模型,分 析 阶 段,设 计 阶 段,设置:由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 销售: 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。 取消交易: 顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,实例:饮料自动售货机系统,(1)找出对象及其关联 (2)赋予类及关联的属性数据 (3)组织类的结构,OMT的对象图,步骤:,设置: 一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 销售: 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。 取消交易: 顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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