1、第四章 面向对象与UML教学内容:面向对象概述UML简介静态建模动态建模物理架构建模UML工具n重点:重点:模型对象设计模型,系统设计,对象设计。UML中的视图与图。n难点:难点:领域对象设计。UML中的视图与图。n主要考核内容:主要考核内容:n1、面向对象设计的任务;n2、系统设计;n3、对象设计。n4、UML的组成、特点与应用;n5、静态建模、动态建模及物理架构建模。1.面向对象概述vv对象:对象:代表客观世界中实际或抽象的事物代表客观世界中实际或抽象的事物 vv客观世界是由各种对象组成的客观世界是由各种对象组成的 vv数据以及在其上的操作的封装体数据以及在其上的操作的封装体 vv类:类:
2、一组相似的对象的共性抽象一组相似的对象的共性抽象vv类是一组客观对象的抽象类是一组客观对象的抽象vv实现抽象数据类型的工具实现抽象数据类型的工具 vv类与对象的关系类与对象的关系vv抽象与具体的关系抽象与具体的关系vv组成类的每个对象都是该类的实例组成类的每个对象都是该类的实例 v实例是类的具体事物v类是各个实例的综合抽象n掌握面向对象的概念、面向对象软件的开发过程、面向对象分析(OOA)与模型化、面向对象设计(OOD)n了解对象模型技术、UML1.面向对象概述-面向对象的基本特征n面向对象的基本特征n抽象n在某个重要的或想关注的方面来表示某个物体或概念n忽略主题中与当前目标无关的方面n封装n
3、把操作和数据包围起来,对数据的访问只通过已定义的接口来完成n继承n类之间的“isa”或“islike”关系n类层次,定义一个新类,可以从现有的类中派生出来n子类可以从父类继承方法和属性n多态n不同类的对象可以对同一消息作出响应,执行不同的处理n面向对象符合人类习惯的思维方式nOO开发的优点n提高软件系统的可复用性n提高软件系统的可扩展性n提高软件系统的可维护性1.面向对象概述-面向对象开发的优点2.UML简介nUnifiedModelingLanguagen近10多年来OOSE最重要的成果n贡献者:GradyBooch,IvarJacobson,JimRumbaughn中文网站nhttp:/n
4、http:/UML的组成nUML的模型元素n表示模型中的某个概念n类、对象、构件、用例、结点(node)、接口(interface)、包(package)和注释(note)n表示模型元素之间的关系n关联、泛化、依赖、实现、聚合和组合nUML的元模型结构n元元模型层n元模型层n模型层n用户模型层用户模型元模型模型元元模型UML的组成n图n静态图n用例图、类图、对象图、构件图和部署图n动态图n状态图、时序图、协作图和活动图n视图n用例视图n从用户的角度看到的系统应有的外部功能n逻辑视图n描述系统的静态结构和对象间的动态协作关系n进程视图n展示系统的动态行为及其并发性n构件视图n展示系统实现的结构和
5、行为特征n部署视图n显示系统的实现环境和构件被部署到物理结构中的映射UML的特点n统一标准n面向对象n表达能力强大n可视化UML的应用n用于描述系统开发的不同类型于不同阶段n从需求分析到软件设计到软件测试及维护n可视化问题描述,帮助理解问题n帮助建立各阶段的文档n获取和交流有关应用问题求解的知识n辅助构建系统3.静态建模n静态建模n用例图、类图和对象图n用例模型n用例图表示n从最终用户的角度描述系统功能n类和对象模型n类图和对象图表示用例图与用例模型n用例图的组成符号系统名称系统边界用例名用例参与者关联建立用例图保险商务系统签定保险单销售统计客户统计客户保险销售员用例之间的关系n扩展关系n根据
6、指定的条件,一个用例中有可能加入另一个用例的动作n包含关系n一个用例的行为包含另一个用例的行为扩展签保险单签汽车购买合同使用使用签保险单签汽车保险单签房屋保险单类图ClassDiagram学生姓名:string学号:string书书名:string价格:real 1购买0.*属于对象图ObjectDiagram王平:学生姓名:王平学号:020106英语:书书名:英语价格:26.5数学:书书名:数学价格:21.8类图表示类间关系n关联关系(Association)n类之间存在的语义上的关系n普通关联、递归关联、多重关联等n聚集关系(Aggregation)n特殊的关联:整体-部分n组合关系(Co
7、mposition)n特殊的聚集:整体强烈拥有部分n泛化关系(Generalization)n继承n依赖关系(Dependency)n对一个类/对象的修改会影响另一个类/对象关联关系1.*工人管理老板0.1员工递归关联机器工人产品三重关联聚集和组合成员课题组个人聚集关系窗口标题外框显示区组合关系泛化关系交通工具abstract船车轿车卡车客车依赖关系类B类A约束与派生n约束和派生机制能应用与任何模型元素n用花括号括起放在模型元素旁边n典型的属性约束是该属性的取值范围n派生属性可由其它属性通过某种方式计算得到,通常在派生属性前面加一个“/”表示n关联关系可以被约束,也可以被派生包图子系统A子系统
8、D子系统B子系统C子系统E子系统F4.动态建模n消息(Message)n状态图(StateDiagram)n时序图(SequenceDiagram)n协作图(CollaborationDiagram)n活动图(ActivityDiagram)消息同步消息异步消息简单消息状态图StateDiagram超时到达下楼上楼到达上楼到达在底楼向上移动向底楼移动向下移动空闲状态图之间发送消息Off()play()stop()On()CD机Off()/stop()stop()Off()On()stop()play()On()Off()遥控器关开关 开/停止开/播放play()时序图(SequenceDiag
9、ram)打印机忙保存文件打印机就绪打印文件打印文件打印文件计算机打印服务器打印队列打印机协作图(CollaborationDiagram)打印机忙2.2:保存文件打印机就绪2.1:打印文件1:打印文件计算机打印队列打印服务器打印机活动图ActivityDiagram购买处理顾客销售部门处理销售支付货款库存处理发送商品收取商品水未开水开了打开信号接通电源加热显示灯亮水壶断电5.物理架构建模n逻辑架构和物理架构n逻辑架构n物理架构n构件图n配置图构件图ComponentDiagram部署图DeploymentDiagram6.UML工具nRationalRosenStarUMLRationalRo
10、seStarUML小结n面向对象开发按人的思维方式来理解和解决问题,将问题空间的概念直接映射到解空间。面向对象的基本特征是抽象、封装、继承和多态。n作为一种著名的建模语言,UML用图从不同的视角为系统建模,形成为不同的视图;每个视图代表系统完整描述中的一个抽象,显示这个系统中的一个特定的方面;每个视图由一组图构成,其中包含了强调系统中某一方面的信息。第5章需求工程与需求分析n教学内容:n软件需求过程n需求分析与建模n需求获取的常用方法n需求模型n软件需求描述n需求管理n需求建模示例n重点:重点:分析模型。n难点:难点:分析模型描述工具n主要考核内容:主要考核内容:n1、需求分析的任务与步骤;n
11、2、结构化分析方法;n掌握软件需求过程,需求分析与建模,需求获取的常用方法n掌握需求模型、软件需求描述,需求管理1.软件需求工程n软件需求的定义n一个软件系统必须遵循的条件或具备的能力n系统的外部行为n系统的内部特性n软件需求三个层次n业务需求n用户需求n功能需求软件需求的层次关系业务需求项目愿景与范围用户需求质量属性用例模型文档功能需求非功能需求和约束条件软件需求规格说明软件需求的特性n功能性n可用性n可靠性n性能n可支持性n设计约束需求工程的由来n代码编写-生存周期-需求工程n软件需求工程n可以定义为应用有效的技术和方法,合适的工具和符号,来确定、管理和描述目标系统及其外部行为特征的学科2
12、.需求分析与建模n需求分析的步骤n需求分析是迭代过程需求获取需求建模规格说明需求验证3.需求获取的常用方法n常规的需求获取方法n联合分析小组n用户代表、领域专家和系统分析员n客户访谈n充分准备,寻找共同语言 n循循序渐进、逐步逼近n问题分析与确认n多个来回3.需求获取的常用方法n用快速原型法获取需求n利用各种分析技术和方法,生成一个简化的需求规格说明;n对需求规格说明进行必要的检查和修改后,确定原型的软件结构、用户界面和数据结构等;n在现有的工具和环境的帮助下快速生成可运行的软件原型并进行测试、改进;n将原型提交给用户评估并征求用户的修改意见;n重复上述过程,直到原型得到用户的认可。4.需求模
13、型n需求模型概述n结构化需求模型n面向对象需求模型n面向对象的需求建模n画用例图n写用例规约n描述补充规约n编写术语表结构化需求模型数据字典数据流图判定树判定表PDL加工说明数据定义.E-R图行为模型状态转换图控制流图和控制说明功能模型数据模型面向对象需求模型用例规约参与者用例图用例模型补充规约术语表全局性功能、非功能需求用例建模n确定参与者n存在于系统外部、与系统交互的人、硬件、其他系统n通过回答问题确定参与者n系统开发完成之后,有哪些人会使用这个系统?n系统需要从哪些人或其他系统中获得数据?n系统会为哪些人或其他系统提供数据?n系统会与哪些其他系统相关联?n系统是由谁来维护和管理的?用例建
14、模n确定用例n考察每个参与者与系统的交互和需要系统提供的服务n通过回答问题确定用例n参与者为什么要使用该系统?n参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,参与者又是如何来完成这些操作的?n参与者是否会将外部的某些事件通知给该系统?n系统是否会将内部的某些事件通知该参与者?用例建模n绘制和检查用例图n按UML标准画用例图n检查用例图n细化每个用例的用例规约n内容包括:n简要说明n事件流n特殊需求n前置条件和后置条件n用例模型的检查n功能需求的完备性n模型是否易于理解n是否存在不一致性n避免二义性语义用例建模示例n选课系统问题陈述选课系统问题陈述开发一个学生选课系统。通过这
15、个系统,学生可以选课和查看成绩报告单,教授可以选择所教的课和记录学生的成绩。学校保留原有的“课程目录”数据库系统来维护课程信息,但该系统的性能是有限的。所以新系统必须确保能及时访问旧系统上的数据。但新系统只能读取旧系统的课程信息,不能更新。每学期开始时,学生请求查看本学期开设的课程目录。有关课程的信息,包括教授名和所开设的系等,将帮助学生做出决定。系统允许学生每学期选择4门课,如果学生没有选到主要的课程,还有两门备选课程可选。每门课的学生人数限3到10人。不满3人的课程将被取消。另外,每个学期有一段时间让学生更改课程表。学生可在该时段内访问系统并添加/删除课程。某个学生的选课一旦结束,选课系统
16、即将此学生本学期的账单信息送到财务系统。如果在选课时某门课已经人满,学生在提交信息前必须被告知。学期结束,学生可进入系统查看自己的成绩。成绩属于隐秘信息,系统必须提供额外的安全措施阻止未授权的访问。教授必须能访问系统查询他们主讲课程。他们也需要知道是哪些学生选择了自己的课程。另外,教授也能登记学生的成绩。用例建模示例n确定参与者n确定用例学生要注册课程;教授要选择课程来教;注册管理人员要维护关于教授和学生的所有信息;财务系统要从注册系统获得学生的费用情况;课程目录系统维护课程信息。无论是学生,教授还是注册员都需要登陆到系统;学生需要使用系统来选课,也能查看自己的成绩;教授需要使用系统来选择课程,也能记录学生的成绩;注册员必须维护学生、教授的所有信息,并在适当时候关闭注册系统;当选择课程的过程完成后,收费系统必须获得收费信息;学生和教授选择课程,需要启动课程目录系统。用例建模示例n选课系统用例图用例建模示例选课用例规约1简要说明本用例允许学生选本学期提供的课程。在学期开始的添加/删除时期,学生可以修改或删除选择的课程。课程目录系统提供了当前学期开设的所有课程的列表。2事件流2.1基本事件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1