第 UML项目实训PPT课件_第1页
第 UML项目实训PPT课件_第2页
第 UML项目实训PPT课件_第3页
第 UML项目实训PPT课件_第4页
第 UML项目实训PPT课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、13.1 13.1 项目启动项目启动 在实际的软件公司中,软件项目一般都是由在实际的软件公司中,软件项目一般都是由软件项目组开发的软件项目组开发的 在软件项目组中每个项目组的成员都有自己在软件项目组中每个项目组的成员都有自己明确的分工,他们相互合作完成项目开发明确的分工,他们相互合作完成项目开发 项目启动就是参照软件公司的软件项目开发项目启动就是参照软件公司的软件项目开发方式,先组建项目组,确定项目的目标,制方式,先组建项目组,确定项目的目标,制定项目开发计划,为实际的项目开发做好准定项目开发计划,为实际的项目开发做好准备。备。第1页/共42页13.1 13.1 项目启动项目启动 项目组一般由

2、项目组一般由4到到5人组成,采用自由结组人组成,采用自由结组的方式的方式 定义四个角色:定义四个角色:项目经理项目经理系统分析员系统分析员程序员程序员测试员测试员13.1.1 建立项目组建立项目组 第2页/共42页13.1 13.1 项目启动项目启动明确开发目标明确开发目标 打击游戏的项目目标可以确定为:开发一打击游戏的项目目标可以确定为:开发一个简单的小娱乐游戏,通过点击游戏窗口个简单的小娱乐游戏,通过点击游戏窗口中的图片,可以赢得游戏分数,随着分数中的图片,可以赢得游戏分数,随着分数的积累能够升级。的积累能够升级。 制定开发计划(详细内容见教材)制定开发计划(详细内容见教材) 为什么先制定

3、开发计划?一般在软件项目为什么先制定开发计划?一般在软件项目开发之初会根据项目开发的合同时间确定开发之初会根据项目开发的合同时间确定一个项目计划一个项目计划 。13.1.2 制定开发计划制定开发计划 第3页/共42页13.2 13.2 项目需求分析项目需求分析 这里要开发的打击游戏属于自己开发产品,这里要开发的打击游戏属于自己开发产品,因此需要系统分析员组织项目组成员进行因此需要系统分析员组织项目组成员进行系统的需求分析系统的需求分析 具体的需求可以参考市面上流行的这些小具体的需求可以参考市面上流行的这些小游戏,根据它们提供的功能特点,游戏特游戏,根据它们提供的功能特点,游戏特色,吸引玩家的地

4、方等等色,吸引玩家的地方等等 在项目组全体成员的共同努力下,尽量多在项目组全体成员的共同努力下,尽量多的挖掘出系统的需求的挖掘出系统的需求 13.2.1 需求获取需求获取 第4页/共42页13.2 13.2 项目需求分析项目需求分析 打击游戏的需求分析是从功能描述、界面描述打击游戏的需求分析是从功能描述、界面描述两个方面着手的两个方面着手的 游戏提供一个界面,随机在某个位置上放置一游戏提供一个界面,随机在某个位置上放置一幅图片。玩家可以点击该幅图片,当图片被点幅图片。玩家可以点击该幅图片,当图片被点中时,图片消失,在窗口上别的位置上再出现中时,图片消失,在窗口上别的位置上再出现一幅图片,游戏继

5、续;如果在规定的时间内玩一幅图片,游戏继续;如果在规定的时间内玩家没有点中图片,游戏结束。家没有点中图片,游戏结束。 玩家每次点中图片后,给玩家加分,将分数显玩家每次点中图片后,给玩家加分,将分数显示在界面上。当玩家的分数达到一定数值后,示在界面上。当玩家的分数达到一定数值后,游戏晋级,表现为图片停留的最长时间减少。游戏晋级,表现为图片停留的最长时间减少。13.2.2 需求描述需求描述 第5页/共42页13.2 13.2 项目需求分析项目需求分析用例图用例图13.2.2 需求描述需求描述 第6页/共42页13.2 13.2 项目需求分析项目需求分析用例说明:用例说明:玩家:实际游戏的软件使用者

6、,通过点击图玩家:实际游戏的软件使用者,通过点击图片,获取分数。片,获取分数。Timer:计算机系统的定时器,负责放置图片,:计算机系统的定时器,负责放置图片,记录图片显示时间。记录图片显示时间。打击游戏:玩家点击图片,赢得分数。打击游戏:玩家点击图片,赢得分数。记录分数:系统记录玩家的分数,显示玩家记录分数:系统记录玩家的分数,显示玩家的最后得分。的最后得分。晋级:当玩家得到的分数达到某个规定的限晋级:当玩家得到的分数达到某个规定的限值时游戏晋升到下一个级别。值时游戏晋升到下一个级别。13.2.2 需求描述需求描述 第7页/共42页13.2 13.2 项目需求分析项目需求分析事件流:事件流:

7、1玩家启动游戏,进入游戏界面;玩家启动游戏,进入游戏界面;2玩家点击开始按钮,游戏开始;玩家点击开始按钮,游戏开始;3定时器在界面的某个位置放置一张图片定时器在界面的某个位置放置一张图片4规定时间内,点击图片,图片消失,玩家得分;规定时间内,点击图片,图片消失,玩家得分;5系统显示玩家的分数;系统显示玩家的分数;6循环循环34;7当玩家分数达到一个规定的值时,玩家晋级,显示玩家的级别。当玩家分数达到一个规定的值时,玩家晋级,显示玩家的级别。8如果玩家已经通关,游戏结束;如果玩家已经通关,游戏结束;9循环循环38; 13.2.2 需求描述需求描述 第8页/共42页13.2 13.2 项目需求分析

8、项目需求分析备选事件流:备选事件流:3.a玩家没有点击到图片,并且时间片结束,游玩家没有点击到图片,并且时间片结束,游戏结束,显示对话框戏结束,显示对话框“游戏结束,您的得分为游戏结束,您的得分为XXX,是否重新开始游戏!,是否重新开始游戏!”;8.a玩家通关后,显示对话框玩家通关后,显示对话框“您已经通关,是您已经通关,是否重新开始游戏!否重新开始游戏!”; 13.2.2 需求描述需求描述 第9页/共42页13.2 13.2 项目需求分析项目需求分析13.2.3 软件界面软件界面 第10页/共42页13.2 13.2 项目需求分析项目需求分析1、加分规则:、加分规则:2、晋级规则:、晋级规则

9、:3、难度规则:、难度规则:13.2.4 游戏规则定义游戏规则定义 第11页/共42页13.2 13.2 项目需求分析项目需求分析1、启动游戏、启动游戏2、进行游戏、进行游戏3、游戏晋级、游戏晋级4、游戏通关、游戏通关5、游戏失败、游戏失败6、暂停游戏、暂停游戏13.2.5 游戏说明游戏说明 第12页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计进行系统设计主要步骤:进行系统设计主要步骤:首先根据对需求用例的事件流进行分析,首先根据对需求用例的事件流进行分析,找到系统中的备选对象。找到系统中的备选对象。其次分析系统中具体对象和对象之间的关其次分析系统中具体对象和对象

10、之间的关系,也就是对象之间如何进行消息传递。系,也就是对象之间如何进行消息传递。再次根据上面的分析,设计出系统顺序图再次根据上面的分析,设计出系统顺序图或协作图。或协作图。最后,进行抽象得到系统的静态结构图最后,进行抽象得到系统的静态结构图-类图。类图。 第13页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计从事件流描述中找出所有可能的对象:从事件流描述中找出所有可能的对象:界面:游戏的界面界面:游戏的界面图片:打击游戏界面上显示的图片图片:打击游戏界面上显示的图片分数:游戏玩家在玩游戏中赢得的分数分数:游戏玩家在玩游戏中赢得的分数级别:游戏的难度等级,玩家获得的分

11、数级别:游戏的难度等级,玩家获得的分数达到一定值,游戏晋级达到一定值,游戏晋级定时器:控制游戏界面中图片的显示时间定时器:控制游戏界面中图片的显示时间13.3.1 系统备选对象系统备选对象 第14页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计进一步分析可能还有以下对象:进一步分析可能还有以下对象:棋盘:游戏界面中的显示图片的区域,棋盘:游戏界面中的显示图片的区域,被划分成被划分成3行行4列共列共12个单元格,每个单个单元格,每个单元格中可以显示图片元格中可以显示图片 系统:控制和管理游戏中的系统事件系统:控制和管理游戏中的系统事件 13.3.1 系统备选对象系统备

12、选对象 第15页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计被选对象:被选对象:系统:系统:System图片:图片:Picture棋盘:棋盘:Board定时器:定时器:Timer级别:级别:GameLevel分数:分数:Score13.3.2 系统对象分析系统对象分析 第16页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计玩家要想开始游戏,就需要给发一个开始消玩家要想开始游戏,就需要给发一个开始消息息给系统对象给系统对象System发送一个消息发送一个消息start()13.3.2 系统对象分析系统对象分析 PlayerSystemst

13、art()第17页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计 系统对象收到开始游戏后,首先需要显示系统对象收到开始游戏后,首先需要显示游戏的棋盘。这时系统对象游戏的棋盘。这时系统对象System需要给需要给游戏盘对象游戏盘对象Board发送一个显示棋盘的消发送一个显示棋盘的消息息displayPic() 13.3.2 系统对象分析系统对象分析 SystemBoarddisplayPic()第18页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计 显示棋盘,同时还需要在棋盘上显示一张图显示棋盘,同时还需要在棋盘上显示一张图片。这时需要棋盘

14、对象片。这时需要棋盘对象Board给图片对象给图片对象Picture发送一个消息发送一个消息show()13.3.2 系统对象分析系统对象分析 BoardPictureshow()第19页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计 显示玩图片后,需要开始记录图片的显示时显示玩图片后,需要开始记录图片的显示时间。这时需要系统对象间。这时需要系统对象System给定时器对象给定时器对象Timer发送一个消息发送一个消息start()13.3.2 系统对象分析系统对象分析 SystemTimerStart()第20页/共42页13.3 13.3 使用使用UMLUML进

15、行系统设计进行系统设计汇总得到协作图汇总得到协作图13.3.2 系统对象分析系统对象分析 第21页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计 点击图片后,隐藏图片,增加分数,计算晋点击图片后,隐藏图片,增加分数,计算晋级级 按照前面过程可以得到协作图按照前面过程可以得到协作图13.3.2 系统对象分析系统对象分析 第22页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计 前面分析了系统中的对象,进一步对这些对前面分析了系统中的对象,进一步对这些对象进行抽象可以得到类和类间关系象进行抽象可以得到类和类间关系13.3.3 系统类图设计系统类

16、图设计 第23页/共42页13.3 13.3 使用使用UMLUML进行系统设计进行系统设计完成系统类图设计后继续:完成系统类图设计后继续:编写系统设计规格说明书编写系统设计规格说明书详细记录对象的分析和设计过程详细记录对象的分析和设计过程给出系统顺序图或协作图,并给出说明给出系统顺序图或协作图,并给出说明给出经过抽象后得到的类图,给出类的给出经过抽象后得到的类图,给出类的主要属性和方法的描述主要属性和方法的描述 13.3.3 系统类图设计系统类图设计 第24页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.1 添加系统类添加系统类 第25页/共42页13.4 1

17、3.4 使用使用UMLUML进行类设计进行类设计13.4.2 类图设计类图设计 系统设计类在具体实现时可能被转化成一个包系统设计类在具体实现时可能被转化成一个包 第26页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.2 类图设计类图设计 系统设计中的类在实现中也可能还映射成一系统设计中的类在实现中也可能还映射成一个类,例如个类,例如System类类 有时系统设计中的类在实现是可能消失或者有时系统设计中的类在实现是可能消失或者变成了一个属性或方法了变成了一个属性或方法了 第27页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.3

18、添加属性添加属性 对设计类进行细化,增加属性对设计类进行细化,增加属性 类类LevelLevel中需要增加一个属性中需要增加一个属性gameLevel gameLevel 类类BoardBoard中需要增加一个图片类的引用属性中需要增加一个图片类的引用属性pic pic 第28页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.4 添加方法添加方法 对设计类进行细化,例如对设计类进行细化,例如System类增加方法:类增加方法:start():开始游戏方法。():开始游戏方法。hit():用户点击动作处理方法。():用户点击动作处理方法。System():构造系统

19、中的主要对象。():构造系统中的主要对象。init():初始化重要对象的属性。():初始化重要对象的属性。stop():结束游戏。():结束游戏。addScore():游戏加分。():游戏加分。addLevel():游戏晋级。():游戏晋级。第29页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.4 添加方法添加方法 例如例如System类增加方法类增加方法后类图后类图第30页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 细化后实现类图细化后实现类图第31页/共42页13.4 13.4 使用使用UMLUML

20、进行类设计进行类设计13.4.5 类图设计类图设计 SystemSystem类的主要方法:类的主要方法:init()init():初始化参数;:初始化参数;start()start():启动计时器,并显示图片;:启动计时器,并显示图片;stop()stop():游戏结束;:游戏结束;addScore()addScore():计算和增加玩家分数;:计算和增加玩家分数;addLevel()addLevel():计算和增加玩家级别;:计算和增加玩家级别;第32页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 TimerTimer类的主要方法:类的

21、主要方法:Star()Star():启动计时器;:启动计时器; 第33页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 TimeLengthTimeLength类的主要属性和方法类的主要属性和方法 :INIT_TIME_LENGTHINIT_TIME_LENGTH:初始的时间片长度属:初始的时间片长度属性的值性的值getTimeLenth()getTimeLenth():获取时间片长度;:获取时间片长度;setTimeLenth()setTimeLenth():重新设置时间片长度;:重新设置时间片长度; 第34页/共42页13.4 13.4

22、 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 BoardBoard类的主要方法类的主要方法 :displayPic()displayPic():显示一张图片;:显示一张图片;hidePic()hidePic():隐藏图片;:隐藏图片; 第35页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 ScoreScore类的主要方法类的主要方法 :addScore()addScore():点击图片正确后,玩家加分;:点击图片正确后,玩家加分;displayScore()displayScore():显示玩家的得分;:显示玩

23、家的得分;getScore()getScore():获得玩家的得分;:获得玩家的得分; 第36页/共42页13.4 13.4 使用使用UMLUML进行类设计进行类设计13.4.5 类图设计类图设计 GameLevelGameLevel类的主要方法类的主要方法 :getLevel()getLevel():获取玩家的级别;:获取玩家的级别;setLevel()setLevel():重新设置玩家的级别;:重新设置玩家的级别;displayLevel()displayLevel():显示玩家的级别;:显示玩家的级别; 第37页/共42页13.5 UML13.5 UML设计模型到代码实现转换设计模型到代码实现转换 具体实现代码参见教材具体实现代码参见教材第38页/共42页13.6 UML13.6 UML在测试阶段应用在测试阶段应用 部分测试用例和测试结果部分测试用例和测试结果编号编号操作操作期望结果期望结果实际结果实际结果结果结果1 1点击图片点击图片图片消失,系统给玩家图片消失,系统给玩家加分,分数栏显示分值加分,分数栏显示分值的变化的变化图片消失,系统给玩图片消失,系统给玩家加分,分数栏显示家加分,分数栏显示分值的变化分值的变化与期望的结果与期望的结

温馨提示

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

评论

0/150

提交评论