教学目的理解面向对象的概念、掌握基于UML语言机制的需求分ppt课件



《教学目的理解面向对象的概念、掌握基于UML语言机制的需求分ppt课件》由会员分享,可在线阅读,更多相关《教学目的理解面向对象的概念、掌握基于UML语言机制的需求分ppt课件(32页珍藏版)》请在装配图网上搜索。
1、软 件 工 程,教学目的:理解面向对象的概念、掌握基于UML语,言机制的需求分析方法和过程。,教学重点:基于UML语言机制的需求分析方法和过,程、CASE工具,教学难点:CASE工具,教 具:多媒体教室、电子教案,作 业:,第6章 面向对象的需求分析,教学目的:理解面向对象的概念、掌握基于UML语第6章 面向,6.1面向对象的概念与思想,面向对象(Object Oriented)方法是,将现实世界的事物以对象的方式映射到计算机世界的方法,。用面向对象的方法求解现实世界问题的第一步便是面向对象分析。面向对象分析包含两个可以重叠的过程:用面向对象的,方法,对现实世界的问题进行分析;用面向对象的,工
2、具,对分析结果进行描述。,本章重点介绍面向对象的方法,并用“C程序设计上机考试系统”为例来介绍UML语言机制。,6.1面向对象的概念与思想面向对象(Object Orien,现实世界,OOA,OOD,OOP,SA,SD,SP,机器世界,结构化生命周期方法,面向对象方法,面向对象方法和面向过程方法的对比,现实世界OOAOODOOPSASDSP机器世界结构化生命周期,6.1 面向对象的概念与思想,从事物的,过程侧面,来描述事物的方法被称之为,面向过程的方法,。该方法在认识现实事物的整个过程中是把事物内部的处理过程作为核心来描述的。,从事物的,组成部件及每个部件的属性、功能,来认识事物。比如,汽车由
3、发动机,底盘,变速箱等组成,发动机有排量,有冲程数等属性,同时发动机还具有启动,加大油门等操作。这就是将现实世界的事物的属性和及其过程一并进行描述的方法,这种方法被称为,面向对象的方法,。,从事物的,属性侧面,来描述事物的方法就是,面向数据的方法,,该方法在认识事物的过程中始终把事物的属性作为描述的核心。,6.1 面向对象的概念与思想从事物的过程侧面来描述事物的方,6.1 面向对象的概念与思想,在抽象现实世界的事物时,必须把抽象的范围限定在我们的,问题域内,。现实世界的事物都有很多侧面,我们只应关心那些跟我们要解决的问题相关的侧面。,比如:在抽象和描述“学生”对象时,针对不同的问题域,可能得到
4、不同的抽象结果。对于学生管理系统,学生的成绩、所选的课程等在问题域范围内,而学生的病史,过敏史则不在问题域内;如果是一个医管系统,病史,过敏史则落在问题域内。,下面介绍面向对象的,五大要素,:,6.1 面向对象的概念与思想在抽象现实世界的事物时,必须把抽,(1)对象(Object),对象,是现实世界事物或个体的抽象表示,是其属性和相关操作的封装。抽象的结果不仅包括事物个体的属性,还包括事物的操作。属性值表示了对象的内部状态。,在分析阶段,,对象的操作,是对象展现给外部的服务。,对象状态,的改变是由对对象的操作引起的。,例如,对于民航机场的指挥控制系统,MU9114航班就是该问题域中的对象,该对
5、象的属性可以包含:航班号、起飞机场、降落机场、起飞时间、降落时间,位置等;可能的操作包括离港、到港等。当对MU9114航班对象进行离港操作时,对象的状态将从停靠状态改变成飞行状态。,(1)对象(Object)对象是现实世界事物或个体的抽象,(2)类(Class),类是对具有共同特征(属性和操作)的对象的进一步抽象。类通常被认为是对象的模板,通过该模板可以创建特性一致的对象。使用类创建对象的过程实际上是类的实例化过程。,类是对象的抽象,对象是类的实例。在客观世界存在的是类的实例,即对象。,(3)继承(Inheritance),继承关系模拟了现实世界中遗传关系的直接模拟,也即一般与特殊关系的模拟。
6、它允许我们在已有的类的特性基础上构造新类。被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类(子类)。派生类的特性比基类的特性更细致。,(2)类(Class)类是对具有共同特征(属,(4)聚集(Aggregation),聚集模拟了现实世界的部分与整体的关系。它允许利用现有的类组成新类。比如说汽车,它是由发动机、变速箱、底盘等组成,那么我们就可以利用发动机、变速箱、底盘等类聚集成一个新的类:汽车类。,(5)消息(Message),消息是对象之间交互的唯一途径,一个对象要想使用其他对象的服务,必须向该对象发送服务请求消息。而接收服务请求的对象必须对请求做出响应。,例如:当我
7、们向银行系统的帐号对象发送取款消息时,帐号对象将根据消息中携带的取款金额对客户的帐号进行取款操作:验证帐号余额,如果帐号余额足够,并且操作成功,对象将把执行成功的消息返回给服务请求的发送对象,否则发送交易失败消息。,(4)聚集(Aggregation)聚集模拟了现实世界的,6.1 面向对象的概念与思想,小结,:面向对象的需求分析方法通过提供,对象、对象间消息传递,等语言机制,让分析人员在,解空间,中直接模拟,问题空间,中的对象,从而消减运用其他分析方法带来的,语义断层,,为需求建模活动提供直观、自然的语言支持和方法学指导。,面向对象对象类继承聚集消息,。,6.1 面向对象的概念与思想 小结:面
8、向对象的需求分,6.2 UML 概述,6.2.1 UML 语言机制,UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,共有5类10种视图如下所示:,静态模型 动态模型,逻辑模型 类图 用例图,对象图 顺序图,包图 协作图,状态图,活动图,物理模型 构件图,配置图,6.2 UML 概述6.2.1 UML 语言机制,6.2.1 UML,语言机制,1、用例图(Usecase Diagram):用于表示系统的功能,并指出各功能的操作者;,2、静态图:包括类图(Class Diagram)、对象图(Object Diagram)及包图(Package Diagram),表示系统的静态结
9、构;,3、行为图:包括状态图(State Diagram)及活动图(Activity Diagram),用于描述系统的动态行为和对象之间的交互关系;,4、交互图:包括顺序图(Sequence Diagram)和协作图(Collaboration Diagram),用于描述系统对象之间的动态合作关系;,5、实现图:包括构件图(Compoment Diagram)和配置图(Deployment Diagram),用于描述系统的物理实现。,6.2.1 UML 语言机制1、用例图(Usecase Di,6.2.2 基于UML 的软件开发过程,1、初启:确定项目的,主要目标和范围,,并进行初步的,可行性
10、分析和经济效益分析,。,2、细化:细化阶段的开始标志着项目的正式确立。软件项目在此阶段需要完成以下工作:,(1)初步的需求分析。采用UML的,用例,描述目标软件系统所有比较重要、比较有风险的用例,利用,用例图,表示参与者与用例、以及用例和用例之间的关系。采用UML的,类图,表示目标软件系统所基于的应用领域中的概念与概念之间的关系。这些相互关联的概念构成领域模型。,(2)初步的高层设计。根据用例、类在业务领域中的关系,或者根据业务领域中某种有意义的分类方法将整个软件系统划分为若干个包,利用UML的,包图,刻化这些包及其包间关系。,6.2.2 基于UML 的软件开发过程1、初启:确定项目的,(3)
11、部分的详细设计。对于系统中某些重要的或者风险比较高的用例,可以采用,交互图,进一步探讨其内部实现过程。同样,对于系统中的关键类,也可以详细研究其属性和操作,并在UML,类图,中加以表现。,(4)部分的原型构造。,综上所述,在细化阶段可能需要使用的UML语言机制包括:,描述用户需求的用例及用例图,、,表示领域概念模型的类图,、,表示业务流程处理的活动图,、,表示系统高层结构的包图,和,表示用例内部实现过程的交互图,等。,细化阶段的结束条件是,所有主要的用户需求已通过用例和用例图得以描述;所有重要的风险已被标识,并对风险应对措施了如指掌;能够比较精确地估算实现每一用例的时间。,6.2.2 基于UM
12、L 的软件开发过程,(3)部分的详细设计。对于系统中某些重要的或者风险比较高的用,3、构造:在构造阶段,开发人员通过一系列的迭代完成对所有用例的软件实现工作,在每次迭代中实现一部分用例。以迭代方式实现所有用例的好处在于,用户可以及早参与对已实现用例的实际评价,并提出改进意见。这样可有效降低大型软件系统的开发风险。,在实际开始构造软件系统之前,有必要预先制定迭代计划。计划的制定应遵循如下两项原则:,(1)用户认为业务价值较大的用例应优先安排;,(2)开发人员评估后认为开发风险较高的用例应优先安排。,6.2.2 基于UML 的软件开发过程,3、构造:在构造阶段,开发人员通过一系列的迭代完成对所有用
13、例,在迭代计划中,要确定迭代次数、每次迭代所需时间及每次迭代中应完成(或部分完成)的用例。,每次迭代过程由针对用例的分析、设计、编码、测试和集成5个子阶段构成。在集成之后,用户可以对用例的实现效果进行评价,并提出修改意见。这些修改意见可以在本次迭代过程中立即实现,也可以在下次迭代中再予以考虑。,构造过程中,需要使用UML的交互图来设计用例的实现方法。为了与设计得出的交互图协调一致,需要修改或精化在细化阶段绘制的作为领域模型的类图,增加一些为软件实现所必需的类、类的属性或方法。,6.2.2 基于UML 的软件开发过程,在迭代计划中,要确定迭代次数、每次迭代所需时间及每次迭代中应,如果一个类有复杂
14、的生命周期行为,或者类的对象在生命周期内需要对各种外部事件的刺激作出反应,应考虑用UML的状态图来表述类的对象的行为。,UML的活动图可以在构造阶段用来表示复杂的算法过程和有多个对象参与的业务外理过程。活动图尤其适用于表示过程中的并发和同步。,在构造阶段的每次迭代过程中,可以对细化阶段绘出的包图进行修改或精化,以便包图切实反映目标软件系统最顶层的结构划分状况。,4、移交,在移交阶段,开发人员将构造阶段获得的软件系统在用户实际工作环境(或接近实际的模拟环境)中试运行,根据用户的修改意见进行少量修改。,6.2.2 基于UML 的软件开发过程,如果一个类有复杂的生命周期行为,或者类的对象在生命周期内
15、需要,6.3 基于UML的需求分析,基于UML的需求分析步骤:,(1)利用用例及用例图表示需求。,(2)利用包图及类图表示目标软件系统的总体框架结构。,6.3.1 开发场景,场景:,是指从单个执行者的角度观察目标软件系统的功能和行为。这种功能通过系统与用户之间的交互来表征。因此也可以说,场景是用户与系统之间进行交互的一组具体的动作。场景是用例的实例,而用例是某类场景的共同抽象。,场景描述:,场景名称、执行者实例、前置条件、事件流和后置条件。,6.3 基于UML的需求分析基于UML的需求分析步骤:,6.3.2 生成用例,执行者:,是指外部用户或外部实体在系统中扮演的角色。,用例:从外部用户的视角
16、看,一个用例是执行者与目标软件系统之间的一次典型的交互作用。从软件系统内部的视角出发,一个用例代表系统执行的一系列动作,动作执行的结果能够被外部的执行者所观察。,用例描述:,用例名称、参与执行者、前置条件、一个主事件流、零到多个辅助事件流和后置条件。,6.3.2 生成用例执行者:是指外部用户或外部实体在系统中扮,6.3.3 用活动图表示用例,活动图,主要用于系统分析,它描述系统的行为,显示系统中动作之间的转移。活动图一般从,开始节点,开始,经过若干动作后,最后到达,结束节点,。,活动图是简化的状态图,它重点说明了活动间所经过的操作和过程。活动图(Activity)只有一个动作(Action),活动的转移有一个相应的触发事件。活动图可用来描述用例、包和类的行为,它把活动描述成正在执行的操作,,活动代表了一个完整的动作,,即它代表一个类或用例内部的行为。活动图不区分状态、活动和事件,它是一个从活动到活动的简单描述,其中,,同步线用粗横线表示,,用于表示活动之间的同步。,6.3.3 用活动图表示用例活动图主要用于系统分析,它描述系,同步线,6.3.3 用活动图表示用例,考生考试的活动图,同步
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。