




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象技术及UML教程,第13章 UML项目实训,第13章 UML项目实训,前面章节介绍了面向对象的基本概念、软件开发过程和UML。介绍了UML的主要图符、模型图以及这些模型图的应用。 在学习了这些知识、方法和技能后可能还不清楚如何在一个实际项目中应用UML。 本章将给出一个具体的实例“打击游戏”,应用UML完成项目开发的全过程。,13.1 项目启动,在实际的软件公司中,软件项目一般都是由软件项目组开发的 在软件项目组中每个项目组的成员都有自己明确的分工,他们相互合作完成项目开发 项目启动就是参照软件公司的软件项目开发方式,先组建项目组,确定项目的目标,制定项目开发计划,为实际的项目开发做好
2、准备。,13.1 项目启动,项目组一般由4到5人组成,采用自由结组的方式 定义四个角色: 项目经理 系统分析员 程序员 测试员,13.1.1 建立项目组,13.1 项目启动,明确开发目标 打击游戏的项目目标可以确定为:开发一个简单的小娱乐游戏,通过点击游戏窗口中的图片,可以赢得游戏分数,随着分数的积累能够升级。 制定开发计划(详细内容见教材) 为什么先制定开发计划?一般在软件项目开发之初会根据项目开发的合同时间确定一个项目计划 。,13.1.2 制定开发计划,13.2 项目需求分析,这里要开发的打击游戏属于自己开发产品,因此需要系统分析员组织项目组成员进行系统的需求分析 具体的需求可以参考市面
3、上流行的这些小游戏,根据它们提供的功能特点,游戏特色,吸引玩家的地方等等 在项目组全体成员的共同努力下,尽量多的挖掘出系统的需求,13.2.1 需求获取,13.2 项目需求分析,打击游戏的需求分析是从功能描述、界面描述两个方面着手的 游戏提供一个界面,随机在某个位置上放置一幅图片。玩家可以点击该幅图片,当图片被点中时,图片消失,在窗口上别的位置上再出现一幅图片,游戏继续;如果在规定的时间内玩家没有点中图片,游戏结束。 玩家每次点中图片后,给玩家加分,将分数显示在界面上。当玩家的分数达到一定数值后,游戏晋级,表现为图片停留的最长时间减少。,13.2.2 需求描述,13.2 项目需求分析,用例图,
4、13.2.2 需求描述,13.2 项目需求分析,用例说明: 玩家:实际游戏的软件使用者,通过点击图片,获取分数。 Timer:计算机系统的定时器,负责放置图片,记录图片显示时间。 打击游戏:玩家点击图片,赢得分数。 记录分数:系统记录玩家的分数,显示玩家的最后得分。 晋级:当玩家得到的分数达到某个规定的限值时游戏晋升到下一个级别。,13.2.2 需求描述,13.2 项目需求分析,事件流: 1玩家启动游戏,进入游戏界面; 2玩家点击开始按钮,游戏开始; 3定时器在界面的某个位置放置一张图片 4规定时间内,点击图片,图片消失,玩家得分; 5系统显示玩家的分数; 6循环34; 7当玩家分数达到一个规
5、定的值时,玩家晋级,显示玩家的级别。 8如果玩家已经通关,游戏结束; 9循环38;,13.2.2 需求描述,13.2 项目需求分析,备选事件流: 3.a玩家没有点击到图片,并且时间片结束,游戏结束,显示对话框“游戏结束,您的得分为XXX,是否重新开始游戏!”; 8.a玩家通关后,显示对话框“您已经通关,是否重新开始游戏!”;,13.2.2 需求描述,13.2 项目需求分析,13.2.3 软件界面,13.2 项目需求分析,1、加分规则: 2、晋级规则: 3、难度规则:,13.2.4 游戏规则定义,13.2 项目需求分析,1、启动游戏 2、进行游戏 3、游戏晋级 4、游戏通关 5、游戏失败 6、暂
6、停游戏,13.2.5 游戏说明,13.3 使用UML进行系统设计,进行系统设计主要步骤: 首先根据对需求用例的事件流进行分析,找到系统中的备选对象。 其次分析系统中具体对象和对象之间的关系,也就是对象之间如何进行消息传递。 再次根据上面的分析,设计出系统顺序图或协作图。 最后,进行抽象得到系统的静态结构图-类图。,13.3 使用UML进行系统设计,从事件流描述中找出所有可能的对象: 界面:游戏的界面 图片:打击游戏界面上显示的图片 分数:游戏玩家在玩游戏中赢得的分数 级别:游戏的难度等级,玩家获得的分数达到一定值,游戏晋级 定时器:控制游戏界面中图片的显示时间,13.3.1 系统备选对象,13
7、.3 使用UML进行系统设计,进一步分析可能还有以下对象: 棋盘:游戏界面中的显示图片的区域,被划分成3行4列共12个单元格,每个单元格中可以显示图片 系统:控制和管理游戏中的系统事件,13.3.1 系统备选对象,13.3 使用UML进行系统设计,被选对象: 系统:System 图片:Picture 棋盘:Board 定时器:Timer 级别:GameLevel 分数:Score,13.3.2 系统对象分析,13.3 使用UML进行系统设计,玩家要想开始游戏,就需要给发一个开始消息 给系统对象System发送一个消息start(),13.3.2 系统对象分析,13.3 使用UML进行系统设计,
8、系统对象收到开始游戏后,首先需要显示游戏的棋盘。这时系统对象System需要给游戏盘对象Board发送一个显示棋盘的消息displayPic(),13.3.2 系统对象分析,13.3 使用UML进行系统设计,显示棋盘,同时还需要在棋盘上显示一张图片。这时需要棋盘对象Board给图片对象Picture发送一个消息show(),13.3.2 系统对象分析,13.3 使用UML进行系统设计,显示玩图片后,需要开始记录图片的显示时间。这时需要系统对象System给定时器对象Timer发送一个消息start(),13.3.2 系统对象分析,13.3 使用UML进行系统设计,汇总得到协作图,13.3.2
9、系统对象分析,13.3 使用UML进行系统设计,点击图片后,隐藏图片,增加分数,计算晋级 按照前面过程可以得到协作图,13.3.2 系统对象分析,13.3 使用UML进行系统设计,前面分析了系统中的对象,进一步对这些对象进行抽象可以得到类和类间关系,13.3.3 系统类图设计,13.3 使用UML进行系统设计,完成系统类图设计后继续: 编写系统设计规格说明书 详细记录对象的分析和设计过程 给出系统顺序图或协作图,并给出说明 给出经过抽象后得到的类图,给出类的主要属性和方法的描述,13.3.3 系统类图设计,13.4 使用UML进行类设计,13.4.1 添加系统类,13.4 使用UML进行类设计
10、,13.4.2 类图设计,系统设计类在具体实现时可能被转化成一个包,13.4 使用UML进行类设计,13.4.2 类图设计,系统设计中的类在实现中也可能还映射成一个类,例如System类 有时系统设计中的类在实现是可能消失或者变成了一个属性或方法了,13.4 使用UML进行类设计,13.4.3 添加属性,对设计类进行细化,增加属性 类Level中需要增加一个属性gameLevel 类Board中需要增加一个图片类的引用属性pic,13.4 使用UML进行类设计,13.4.4 添加方法,对设计类进行细化,例如System类增加方法: start():开始游戏方法。 hit():用户点击动作处理方
11、法。 System():构造系统中的主要对象。 init():初始化重要对象的属性。 stop():结束游戏。 addScore():游戏加分。 addLevel():游戏晋级。,13.4 使用UML进行类设计,13.4.4 添加方法,例如System类增加方法后类图,13.4 使用UML进行类设计,13.4.5 类图设计,细化后实现类图,13.4 使用UML进行类设计,13.4.5 类图设计,System类的主要方法:,13.4 使用UML进行类设计,13.4.5 类图设计,Timer类的主要方法:,13.4 使用UML进行类设计,13.4.5 类图设计,TimeLength类的主要属性和方法 :,13.4 使用UML进行类设计,13.4.5 类图设计,Board类的主要方法 :,13.4 使用UML进行类设计,13.4.5 类图设计,Score类的主要方法 :,13.4 使用UML进行类设计,13.4.5 类图设计,GameLevel类的主要方法 :,13.5 UML设计模型到代码实现转换,具体实现代码参见教材,13.6 UML在测试阶段应用,部分测试用例和测试结果,13.7 项目总结,本项目开是由项目小组完成的 每个项目组成员分配了不同的角色 项目开发过程中划分成多个阶段 开发过程中使用UML来描述各个阶段的软件产品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共数据授权运营法律机制研究
- 夏季健康饮食指南
- 护理教育学教案
- 天天来刷牙健康教案课件
- 人事操作流程规范化管理
- 颐和园介绍英文介绍课件
- 婴儿出院护理常规
- 超声医生岗位竞聘
- 药房调剂差错培训
- 音标课件与美术作品对小学生的教
- 安保工作月度总结
- 开业美容项目活动方案
- 2025年技术玻璃制品行业市场调研报告
- 2025至2030高纯氯化钾行业产业运行态势及投资规划深度研究报告
- 2025年吉林省中考数学试卷真题(含答案详解)
- 2025年中国自由锻件行业发展运行现状及投资潜力预测报告
- 医学美容技术专业教学标准(高等职业教育专科)2025修订
- QGDW11970.7-2023输变电工程水土保持技术规程第7部分水土保持设施质量检验及评定
- 变电站创优工程汇报
- 党课课件含讲稿:以作风建设新成效激发干事创业新作为
- 2025年度职业技能鉴定国家题库维修电工高级技师复习题库及答案(完整版)
评论
0/150
提交评论