软件工程讲义07_第1页
软件工程讲义07_第2页
软件工程讲义07_第3页
软件工程讲义07_第4页
软件工程讲义07_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

七面向对象分析

与设计建模1面向对象象分析与与设计的建模软件开发发需要把把问题解解决模型型化。模型化是是理解一一个复杂杂系统的的工具;;模型是系系统早期期抽象的的重要结结构;常用的面面向对象象分析与与设计模模型Rumbaugh等人的OMT模型Coad和Yourdon的模型Booch开发模型型UML统一建模模语言2对象模型型化技术术的三类类模型::对象模模型、动动态模型型和功能能模型。。这个模型型化的过过程是一一个迭代代过程通通过不断断更新、、细化,,直到切切合系统统真正需需求为止止。。Rumbaugh的对象模模型化技技术OMT(objectmodelingtechnique)动态模型对象模型功能模型31.对象模型型也叫做静态模型型,是三个个模型中中最关键键的一个个模型,,它的作作用是描描述系统统的静态态结构,,包括构构成系统统的类和和对象,,它们的的属性和和操作,,及它们们之间的的关系。。在OMT中,类与与类之间间的关系系叫做关关联。关关联代表表一组存存在于两两个或多多个对象象之间的的,具有有相同结结构和含含义的具具体链接接。关联联可以是是物理的的,也可可以是逻逻辑的。。4类名属性操作类类的实例例(类名))属性值类定义示示例自动售货货机饮料编号号价格投入货币币送出饮料料显示金额额按下按钮钮按退币杆杆显示售完完5聚合,代代表整体体与部分分的关系系,这是是一种特特殊形式式的关联联。菱形框表表示整体体侧对象象限定,用用以对关关联的含含义做某某种约束束。角色,用用来说明明关联的的一端。。由于多多数关联联具有两两个端点点,因而而涉及到到两个角角色。附加的说说明对象象之间的的连接连连接属性性。(0个或1个)(0个或多个)1+(1个或多个)12,4(1~2个或4个)6整体部分段落句子聚合类A类B限定词目录文件文件名限定公司名字个人名字工作职务工资雇主雇员类A角色角色类B7泛化关联联(一般-特殊关系系)派生类A派生类A基类雇员年初至今收入计算月工资正式雇员年工资额计算月工资临时雇员小时工资额计算月工资8金额计算器金额累加找零重置自动售货机饮料编号价格投入硬币送出饮料显示金额按下按钮按退币杆显示售空存量计算器饮料编号存量递减显示售空重置退币杆退币杆状态按退币杆顾客姓名硬币投入硬币取出饮料选择按钮按钮状态按钮灯亮按钮灯灭售空灯亮按下按钮顾客按退币杆购买顾客按下按钮属于属于属于属于92.动态模型型动态模型型着重于于系统的的控制逻逻辑,它它包括两两个图,,一是状状态图,,一是事事件追踪踪图。状态图状态A活动状态B活动状态A/操作事件B [条件]起始状态终结状态状态图是是一个状状态和事事件的网网络,侧侧重于描描述每一一类对象象的动态态行为。。10取出饮料结算找零扣减存量完成交易显示售货机就绪,所有灯灭显示金额总数饮料售空灯亮显示总额已够饮料选择灯亮投入硬币(有效的)投入硬币规定金额金额不足再投币按下饮料选择按钮回到就绪状态回到就绪状态取消无效硬币取消11事件追踪踪图事件追踪踪图侧重重于说明明发生于于系统执执行过程程中的一一个特定定“场景景”。场景也叫叫做脚本本,是完完成系统统某个功功能的一一个事件件序列。。场景通常常起始于于一个系系统外部部的输入入事件,,结束于于一个系系统外部部的输出出事件,,它可以以包括发发生在这这个期间间的系统统所有的的内部事事件。12顾客投入硬币自动售货机计算并显示金额顾客持续投入硬币直到足够的金额自动售货机选择按钮灯亮顾客选择饮料种类并按下选择按钮自动售货机送出相应饮料并结算、找零自动售货机扣除该饮料的存量如自动售货机该饮料有存货,回到初始状态如自动售货机该饮料无存货,显示该饮料“售空”灯亮,不再接受选择,回到初始状态自动售货货机售货货脚本((事件序序列)13

顾客售货机金额计算器选择按钮存量计算器售空灯

投入硬币累加总额显示总额金额足够灯亮选择按钮按下按钮送出饮料结算余额找零扣减存量存量为零灯亮

143.功能模型型功能模型型由数据据流图组组成,指指明从外外部输入入到外部部输出,,数据在在系统中中传递和和变换的的情况。。顾客自动售货机输入:投币、按选择按钮、取消交易输出饮料投币金额显示屏选择按钮灯售空灯显示投币金额选择按钮灯亮售空灯亮顶层数据据流图15饮料按钮灯亮顾客投入硬币判断何种饮料按下选择按钮判断存量为零否饮料编号计算扣减存量找零存量非零顾客送出饮料找零售空灯亮存量为零数据流图图16Coad与Yourdon的分析与与设计1.面向对象象分析的的概念模模型通过面向向对象分分析建立立的系统统模型是是以概念念为中心心的,因因此称为为概念模模型。这样的模模型由一一组相关关的类组组成。构造和评评审面向向对象分分析概念念模型的的顺序和和由五个个层次组组成,即即类与对对象、属属性、服服务、结结构和主主题。17类与对象层属性层服务层结构层主题层主题服务消息属性实例连接类边界实例边界182.Coad与Yourdon的设计模模型设计模型型被划分分成了4个组成部部分,这这些组成成部分把把实现技技术隐藏藏起来,,使之与与系统的的基本问问题领域域行为分分离开来来。从分析转转到设计计需要在在分析模模型的基基础上加加入实现现方面的的限制。。设计模型型类似于于构造蓝蓝图,设设计模型型全面地地定义了了如何用用特定的的实现技技术建立立起一个个目标系系统。19类与对象层属性层服务层结构层主题层问题领域部分人机交互部分任务管理部分数据管理部分主题服务消息属性实例连接类边界实例边界设计模型型的体系系结构20UML面向对象象分析与与设计UML把Booch,Rumbaugh和Jacobson等各自独独立的OOA和OOD方法中最最优秀的的特色组组合成一一个统一一的方法法。UML的特点::统一标准准面向对象象可视化,,表示能能力强大大独立于过过程容易掌握握使用21UML的定义UML定义有两两个主要要组成部部分:语义:用用自然语语言描述述表示法::定义UML的可视化化标准表表示符号号使用UML时,要从从不同的的角度观观察系统统,为此此定义了了概念““视图”。。视图是是对系统统的模型型在某方方面的投投影,注注重于系系统的某某个方面面。22结构视图图行为视图图实现视图图环境视图图用例视图图为最终用用户做什什么系统静态态结构程序员提提供什么么软件组织织与管理理系统集成成人员如如何组织织与控制制系统系统工程程师如何何配置和和运行系系统系统拓扑扑、交付付、安装装、操作作、通信信分析员或或测试员员系统任务务控制与与管理(性能,可可伸缩性性,吞吐量)行为23结构视图图:描述系系统的静静态结构构,可根根据它确确定重要要的设计计:类、、包和子子系统。。实现视图图:描述处处于开发发环境中中的静态态软件成成分的组组织(源源程序、、构件、、数据文文件、可可执行程程序等))。行为视图图:描述系系统在运运行时的的并发性性,包括括任务、、线程、、进程及及其相互互作用。。软件体系系结构的的4+1视图模型型24环境视图图:描述处处于运行行环境中中的各种种可执行行程序是是如何映映射到底底层平台台或计算算结点上上的。用例视图图:包括若若干关键键场景或或用例。。在初始始和细化化阶段用用来帮助助发现和和设计体体系结构构。在构构造阶段段用来验验证各种种不同视视图。在在文档中中用来表表明其他他视图是是如何工工作的。。UML分析建模模着重系系统的用用例模型型和结构构模型,,设计建建模着重重行为模模型,实实现模型型和环境境模型上上。25体系结构构中主要要的元素素包括::主要的类类,如为为业务实实体建模模的类。。将行为赋赋予类的的机制,,如协同同。模式与框框架。层次与子子系统。。接口以及及主要的的进程控控制或线线程控制制。UML的三个主主要组成成元素基本构造造块组织构造造块的规规则运用于整整个UML的公共机机制26UML的构成UML包括三种种基本构构造块::事物、、关系和和图。UML事物—结构事物物

类名属性操作open()close()move()display()originsizeWindow类27接口—描述一个个类或构构件的服服务(操操作)。。协作—描述合作作完成某某个特定定任务的的一组类类及其关关联的集集合,用用于对使使用情形形的实现现建模。。用例—表示系统统想要实实现的行行为,不不关心这这些行为为是怎样样实现的的。ISpelling28PlaceOrderOrderManagement用例协作实现主动类—它至少拥拥有一个个进程或或线程,,故能够够启动控控制活动动。

suspend()flush()EventManager29构件—系统中物物理的、可替替代的部部件。节点—系统在运运行时存在的的物理元元素。Orderform.java数据库服务器应用服务器课程管理成绩管理30UML事物—行为事物物交互—由在特定定环境中中共同完完成一定定任务的的一组对对象之间间交换的的消息组组成。p:Person:CompanyAssign(development)消息有名对象匿名对象31状态机—描述了一一个对象象或一个个交互在在生存周周期内响响应事件件所经历历的状态态序列。。initializingcommandidleKeypressFinishedExit32UML事物—分组事物物包用户接口包业务对象包数据库包应用包33UML事物—注释事物物注释—依附于一一个元素素或一组组元素之之上,对对其进行行约束或或解释的的简单符符号。CashAccountpresentValue()Seepolicy8-5-96.docfordetailsaboutthesealgorithms.34UML关系依赖—两个事物物之间的的语义关关系,其其中一个个事物发发生变化化会影响响另一个个事物的的语义。。CourseScheduleadd(c:Course)remove(c:Course)CourseIterator<<friend>>35关联—一种描述一组组对象之之间连接接的结构构关系。。聚合是一一种特殊殊类型的的关联,,描述了了整体和和部分间间的结构构关系。。泛化—一种一般般化—特殊化的的关系。。employeremployee0..1*36EventConsoleWindowDialogBoxControl依赖泛化关联

Windowopen()close()move()display()handleEvent()37实现—类之间的语义关关系,其其中的一一个类指指定了由由另一个个类保证证执行的的契约。。两种情况况出现实实现关系系:在接口和和实现它它们的类类或构件件之间;;用例和它它们的协协作之间间。PlaceOrderOrderManagement用例协作实现38类属性操作对象属性操作接口用例构件节点状态机包注释依赖关联泛化实现聚合复合模型中主主要的图图形元素素39UML模型的图图形UseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagrams部署图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams顺序图StateDiagramsStateDiagrams类图活动图模型401.用例图用例图展展现了一一组用例例、参与与者以及及它们间间的关系系。可以用用用例图描描述系统统的静态态使用情情况,它它定义了了系统的的功能需需求,但但这是从从系统的的外部观观看系统统功能,,并不描描述系统统内部对对功能的的具体实实现。在对系统统行为组组织和建建模方面面,用例例图的是是相当重重要的。。41查询商品价格顾客库存系统售货员总账系统查询商品信息预售商品网上销售商品打折销售商品出售商品查询商品成分商品查询售货管理42说明顾客持所欲购买的商品至收银台结帐,店员刷商品条码后,根据数量及单价计算总金额商品售出后,商品编码、单价、总金额存入电脑,数据记载到“库存系统”和“总帐系统”中(含预售、网络购物、打折销售)。。事件流基本事件流刷条码?结算金额?付款?扣库存?记入日记账?打印发票异常事件流第一异常事件流顾客结帐后更换商品第二异常事件流顾客将已售商品退回特殊需求第一个特殊需求允许退货,并将退回商品加回库存第二个特殊需求记录顾客的性别,年龄,供后续统计分析用用例规格格说明::销售商商品432.类图类图展示示了一组组类、接接口和协协作及它它们间的的关系。。类图没有有时间概概念,是是概念数数据模型型(如E-R图)的一一种延伸伸。用类图说说明系统统的静态态结构视视图,包包含主动动类的类类图—专注于系系统的静静态处理理视图。。系统可有有多个类类图,单单个类图图仅表达达了系统统的一个个方面,,要在高高层给出出类的主主要职责责,在低低层给出出类的属属性和操操作。44类图是从从系统构构成角度度来描述述系统。。类的表示示:类的名称属性属性:数据类型属性:数据类型=初值操作操作(参数表):结果类型45限定关联联类1类2限定词关联名称角色1角色2聚合、引引用和重重复度0..*0..10..*整体类名部分类名2部分类名10..1聚合简单引用复合聚合双方捆绑46关联名类1类2关联类名属性操作角色1角色2关联类47泛化关系系超类子类1子类2操作抽象类操作48雇员雇员标识:char姓名:char职务:char工资:long项目项目标识项目名称参与开始日期结束日期任务任务标识任务名称任务费用技能技能标识技能名称团队团队标识承担工作部门部门标识部门名称客户客户标识客户名称客户地址客户电话客户代表0..*0..*10..*1..*10..*1..*1..*110..*11..*0..*1..*493.对象图对象图展展示了一一组对象象及它们们间的关关系。用对象图图说明类类图中类类的对象象实例的的数据结结构和静静态快照照,即在在某一时时刻,一一组对象象的状态态及其关关系。对象图表表达了系系统的静静态设计计视图或或静态过过程视图图,除了了现实和和原型的的方面因因素外,,它与类类图作用用是相同同的。50c:公司名称=“研发”d2:部门d1:部门名称=“销售”d3:部门名称=“打印机销售”

:联系信息地址=“清华产业楼411”p:人员姓名=“郑人杰”雇员标识=6037职务=“销售副总”经理连接link属性值对象匿名对象514.包图包图表明明包及其其之间的的依赖类类图。包是对模模型中涉涉及的元元素分组组所得的的结果,,是具有有特定语语义的一一个子集集,必须须保证低低耦合、、高内聚聚。广义地讲讲,包可可以包含含类、接接口、构构件、节节点、协协作、用用例等,,还可以以内嵌其其他子包包。包之间的的访问权权限通过过输出((输出品品)和导导入(进进口货))设置,,虚箭头头从从源包到到目标包包。52535.构件图构件图展展现了一一组构件件之间的的组织和和依赖,,用于对对源代码码、可执执行的发发布、物物理数据据库等的的系统建建模。构件图表表示系统统的静态态实现视视图。54CourseCourseOfferingStudentProfessorCourse.dllPeople.dll课程用户Register.exeBilling.exe课表系统556.部署图部署图展展现了对对运行时时处理节节点以及及其中构构件的配配置每一一节点代代表一个个计算单单元。。。它描述系系统硬件件的物理理拓扑结结构(包括网络络布局和和构件在在网络上上的位置置),以及在在此结构构上执行行的软件件(即运运行时软软构件在在节点中中的分布布情况))。用部署图图说明系系统结构构的静态态环境视视图,即即说明分分布、交交付和安安装的物物理系统统。56注册服务器数据库宿舍客户机图书馆客户机主排课客户机578.活动图活动图是是一种特特殊的状状态图,,描述要要做的活活动、执执行这些些活动的的顺序以以及工作作流。它它对于系系统的功功能建模模特别重重要,强强调对象象间的控控制流程程。高层活动动图用于于表示任任务。即即用于分分析用例例,理解解涉及多多个用例例的工作作流、多多线程及及并行,,显示相相互联系系的行为为整体,,还可用用于业务务过程建建模,对对系统的的功能建建模。低低层活动动图用于于表示类类的方法法。58按订单供货接订单开发票结清订单快速交付正常交付收款起点分叉活动分支合并汇合结束[紧急订单][非紧急订单]变迁599.状态图状态图展展示了一一个特定定对象的的所有可可能状态态以及由由于各种种事件的的发生而而引起的的状态间间的转移移。一个状态态图描述述了一个个状态机机,用状状态图说说明系统统的动态态视图。。状态图对对于接口口、类或或协作的的行为建建模尤为为重要,,可用它它描述用用例实例例的生存存周期。。60Project对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论