软件工程-8-面向对象概述.ppt

上传人:max****ui 文档编号:3272728 上传时间:2019-12-10 格式:PPT 页数:37 大小:1.10MB
返回 下载 相关 举报
软件工程-8-面向对象概述.ppt_第1页
第1页 / 共37页
软件工程-8-面向对象概述.ppt_第2页
第2页 / 共37页
软件工程-8-面向对象概述.ppt_第3页
第3页 / 共37页
点击查看更多>>
资源描述
软件工程,第八章面向对象基础,一、软件工程主要方法论,结构化分析和设计方法论也叫数据流建模方法论把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。存在问题面向过程方法大多基于瀑布模型面向过程方法是将用户需求对应到软件功能上,而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定。过程分析和数据分析之间的边界问题始终没解决,面向对象方法论认为客观世界是由各种对象组成,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成的。把所有的对象划分成各种对象类(简称类class),每个对象类都定义了一组数据和一组方法。按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统。对象彼此之间仅能通过传递消息互相联系。,传统方法系统是过程的集合过程与数据实体交互过程接受输入并产生输出,面向对象方法系统是交互对象的集合对象与其它对象交互对象发送消息与响应消息,传统方法论与面向对象方法论的比较,例子设计一个程序,对不同类型的图形求其面积,并打印结果。请分别采用结构化思想和面向对象思想对问题展开分析。,传统方法论,面向对象方法论,面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。每个对象可以看作是一个微型程序,有自己的数据、操作、功能和目的。,面向对象分析和设计解决的两个经典问题传统的分析和设计方法将处理问题的数据模型和处理模型分离,而面向对象的方法将数据模型和处理模型二者合一。从系统分析能够平滑地过渡到系统设计。UML将分析和设计模型统一,使用的符号统一,设计模型是分析模型的完善和扩充。,对象类消息封装继承多态,二、面向对象基本概念,对象定义可以将问题域中任何事物都视为对象,对象是所有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称,是具有一定知识和处理能力的独立个体。它可以是具体的物理实体,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。对象包含两个基本要素:属性:用于描述对象的静态特征,是反映类或对象当前状态本质的数据项。方法:用于描述对象的动态特征,反映对象的一种行为,是对对象属性的操作、服务。,对象的形象化表示,类定义具有相同属性和行为的一组对象的集合类与对象的关系类是对象的抽象对象是类的实例类的描述方法,消息定义消息是用来请求对象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。通常一个消息由三部分组成:对象名:接收消息的对象消息名:要求接收对象完成的操作参数:执行操作时的参数或操作返回的结果,例如MyCircle.Show(Green):MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的参数。MyCircle.ChangeColor(Green);,消息的表示形式student.read(inbooks,outreport),消息接收者,参数类型,输入参数,操作,消息,封装性是面向对象的主要特征之一,它是一种信息隐蔽技术,它体现于类的说明。封装使数据和加工该数据的方法(函数)封装为一个整体,使得用户只能见到对象的外部特性,而对象的内部特性对用户是隐蔽的。继承性是子类自动共享父类之间数据和方法的机制。一个类直接继承其它类的全部描述,同时可修改和扩充。继承能够直接获得已有的性质和特征,而不必重复定义它们。多态性是对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。,三、为何使用UML,UML统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言,1.UML的应用方式,应用方式UML作为草图非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。UML作为蓝图相对详细的设计图逆向工程前向工程(代码生成),UML只是一种工具UML并不是面向对象分析和设计的全部,它只是一种手段,一种工具。我们需要通过自己对对象的理解和面向对象分析设计技术的掌握来进行系统的分析和设计,然后通过UML的形式来进行表述。,2.UML的三种透视图,概念透视图用图来描述现实世界或关注领域中的事物设计透视图用图来描述软件的抽象物或具有规格说明和接口的构件,但是并不约束特定实现实现透视图用图来描述特定技术中的软件实现,UML的不同视图,四、软件开发过程模型,RUP过程模型,UP阶段(按照时间进行的内容-横轴)UP将其工作和迭代组织为四个主要阶段初始:大体上的构思、业务案例、范围和模糊评估细化:已精化的构思、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估构造:对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。交付:进行测试和部署,1.UP的阶段和制品,UP阶段(每个阶段的活动组成-纵轴)纵轴表示的是在每次迭代过程中都要经历的工作流程(有一定顺序的活动)。业务建模理解待开发系统所在的机构及其商业运作,确保所有人员对它有共同的认识,评估待开发系统对结构的影响;需求定义系统功能及用户界面,为项目预算及计划提供基础;分析与设计把需求分析结果转换为分析与设计模型;实现把设计模型转换为实现结果,并做单元测试,集成为可执行系统;,测试验证所有需求是否已经被正确实现,对软件质量提出改进意见;部署打包、分发、安装软件,培训用户及销售人员;配置与变更管理跟踪并维护系统开发过程中产生的所有制品的完整性和一致性;项目管理为软件开发项目提供计划、人员分配、执行、监控等方面指导,为风险管理提供框架;环境为软件开发机构提供软件开发环境。,2.判断你是否理解迭代开发或UP,下面列出一些迹象表明你并没有理解迭代开发和UP的真正含义在开始设计或实现之前试图定义大多数需求在编程之前花费数日或数周进行UML建模。认为初始阶段=需求阶段,细化阶段=设计阶段,构造阶段=实现阶段认为细化的目的是完整仔细地定义模型,以能够在构造阶段将其转换成代码试图对项目从开始到结束制定详细计划;试图预测所有迭代,以及每个迭代中可能发生的事情,目前计算机系有一个系内小型图书馆(资料室)。它主要用来存放系里老师自行购买并由学校报销过的图书资料。这部分图书资料存放在一个资料室中,图书的借阅手续和图书馆的图书借阅手续相同。但是,目前存在一些问题:查阅过程中,老师们并不清楚资料室中有什么资料。由于资料室中的图书借阅期限较长(一般为三个月),很多老师往往忘记归还手中的资料。老师自己购买的私人图书(藏书),可能会根据研究领域的变化而会出现资源闲置的情况。而此时,其他的老师有可能正在寻找这方面的资料。老师们在私下里经常相互借阅图书,但经常出现时间长了自己想用书时,又不知到借给谁了,或者是想还书时,忘记从谁那里借的了。老师之间相互进行图书的借阅只限制在小范围内,其他教研室的资源则很大程度上需要老师之间的相互打听。是否能够解决这些问题,使这些图书资源尽可能地被充分利用呢,使资源的流动处在一个有序透明的状态之下呢?,五、启动项目,1.过程模型,初始阶段的任务建立一个项目前景,说明哪些是目标,哪些不是讨论所组成的系统的用例,写出项目用例的初稿,确定用例的优先级对系统体系结构重要的用例和/或用例路径对项目的四个阶段(开始、细化、构造、交付)的高层阶段进行规划,并对前述步骤中识别出来的体系结构重要的需求,制定详细的迭代计划。确定风险,并估计在风险发生时应该如何解决它们建立一个开发环境(选择、安装并配置开发工具),2.编写开发案例,定义一个开发案例是对你如何为自己的项目定制这一开发过程的描述,它将描述如何根据需要采用RUP。,样例项目中使用案例,角色映射,开发案例中的制品项目前景风险列表用例模型设计模型构件测试计划测试用例测试结果产品(交付给用户的完整系统),发布说明终端用户支持材料迭代计划迭代评估项目计划开发案例编程指南工具,初始阶段的计划,定义系统需要补充更多的实质性的内容。明确项目前景的描述有助于帮助项目团队理解自己要构建的内容。一个清晰的前景是开发一个满足涉众真正需求的产品的关键。对前景的陈述应该能回答以下问题:我们尝试解决的问题是什么?(问题陈述)我们需要构建什么而不是构建什么?涉众是谁?用户是谁?他们各自的需求是什么?关键术语是什么?(词汇表)产品的特性是什么?功能性需求是什么?(用例)非功能性需求是什么?设计约束是什么?,3.确定项目前景,业务词汇,本章知识点总结,面向对象基础软件工程主要方法论面向对象知识回顾为何使用UML软件开发过程模型项目启动,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!