团队任务:UML设计


团队分工

  • 第一次使用泳道图,感觉非常方便,从图中的箭头和各个活动框中可以清晰地看出分工流程:

  • 不过既然是博客园,分工就不能只贴图,markdown还是要用的,于是我用markdown表格统计了本次组员用时、完成度和贡献比例:

  • 成员  完成度 用时 贡献比例
     袁逸灏   【100%】   3.0   18% 
     刘伟康   【100%】   6.0   22% 
     刘先润   【100%】   4.0   18% 
     马军   【100%】   2.0   16% 
     刘诚昊   【100%】   2.0   14% 
     莫礼钟   【100%】   2.0   12% 


【UMLの用例图】

  • 面临什么问题:无。

  • 解决什么问题:用例图可以展现用户在使用过程中有什么需求,需求之间的层次和板块关系。而设计者可以根据用例图中的每个功能板块来有层次和顺序性的实现相应的需求。

  • 大图

  • 【用例说明】

  • 项目 内容
    用例名称 选择车辆
    用例编号 001
    主要参与者 用户A
    风险承担者 游戏设计者
    简要说明 在正式进入游戏界面前有一个选车功能,在通过某些关卡后会解锁新的车辆
    前置条件 用户A已下载游戏,并已通过多个关卡解锁了新的
    基本事件流 1.用户A进入“选车界面”。2.游戏系统显示出已解锁的车辆和文字索引栏。3.用户点击车辆图标直接选择车辆
    其他事件流 1.用户A用文字索引栏输入车辆名称来查找赛车
    后置条件 用户A更换车辆,进入选择关卡界面
    其他
  • 项目 内容
    用例名称 选择其他关卡
    用例编号 002
    主要参与者 用户B
    风险承担者 游戏设计者
    简要说明 在一次游戏结束后用户需要进行重新选择关卡才可以继续游戏
    前置条件 用户B已通关前一个关卡
    事件流 1.用户A进入通关后的积分显示界面。2.游戏系统显示结束游戏和继续游戏按钮。3.用户点击继续游戏
    异常事件流 1.用户B点击结束游戏退出程序
    其他 继续游戏功能需求的具体实现可能会有改变,可能实现方式会变成:继续游戏后直接进入下一关卡
    后置条件 用户B回到主界面进行车辆,关卡选择。
    其他 继续游戏功能需求的具体实现可能会有改变,可能实现方式会变成:继续游戏后直接进入下一关卡


【UMLの类图】

  • 面临什么问题:类并未开发完全。

  • 解决什么问题:各个类的作用以及各个类之间的联系。


【UMLの活动图】

  • 面临什么问题:活动类为暂定,并非最终版本。

  • 解决什么问题:给予当前设计理念,定位制作程度与目标路径。


【UMLの状态图】

  • 面临什么问题:无。

  • 解决什么问题:说明事物(包括类、用例等)的状态、事件和它们之间的转换关系。表明了对外部事件发生顺序和系统对这些事件的响应。


工具选择-分析starUML工具

  • StarUML 5.0
    【说明】我们小组使用的是上学期老师给的starUML工具,关于此链接只作为示例,并没有从中下载。

  • 莫礼钟分享了他关于这个工具的使用经验:
    • 我作了两个类图:

    • 我使用的工具是上学期使用过的StarUML。
  • 对于StarUML工具的评价:
    • 这是一款非常好用的UML绘制工具(前提是你英语要好或者是你能勤奋地查找)
    • StarUML把创建class和UML中的几种关系(线)放在了左下角,当我们创建一个class时,右上角的模型浏览器(Model Explorer)会让我们能更方便操作需要处理的class。
    • 在StarUML中,如果我们需要添加属性或者是操作,可以右键点击class,选择attribute(属性)和operation(操作)
  • 关于StarUML的优点:
    - 1.支持的语言:C++,C#和Java。
    - 2.可以作用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构图等。
    - 3.拥有从UML图表生成代码的能力。
    - 4.将现有代码反向工程到UML图表。
    - 5.非常丰富的功能和格式选项。
    - 6.支持的模式很多。

  • 总而言之,StarUML是一款容易上手并且操作简单的绘制软件。


讨论与交流

  • 这次的会议讨论如下:
    第一部分我们讨论了关于代码的进度,由于整体进程还未进行到代码实现这一阶段,所以代码进展不大,只有一个大致的轮廓。第二部分我们我们分配了一下每个人关于产品代码规范方面的具体任务,我们参考了一些资料,命名规范部分由袁逸灏做,异常规范和OOP规范由刘先润做,原定莫礼钟实现流程语句,后来考虑到袁逸灏设计代码所以留给了袁逸灏,刘伟康实现总体mardown和PDF,刘诚昊、马军实现测试规范。第三部分我们讨论了图的完成情况,袁逸灏刘先润率先完成任务,其余人也会在周末内搞定。最后我们交流了使用上周各种工具的感受,总的来说starUML这个软件对于画图来说十分方便,界面也很干净简单,非常适合用来作图。

【此次交流总结由 刘先润 记录】
【2017.11.25晚】


小编感想

  本周组员完成任务的质量很高,也结合了一些参考资料,我在分配任务上也有了更多的经验以便与各个组员更好地配合。另外,组员们还需要对上周的编码规范再完善一下。其中,组长袁逸灏和组员刘先润完成任务的效率比较高,值得表扬!有的时候学习工具不应该只是个人的事,团队共同讨论一下很有必要。我们会继续前进,共同承担起这份责任。(编辑:刘伟康)


参考资料

2017-2018-1 Java演绎法 第八周 作业的更多相关文章

  1. 2017-2018-1 JAVA实验站 第八周作业

    2017-2018-1 JAVA实验站 第八周作业 详情请见团队博客

  2. 2017-2018-1 Java演绎法 第三周 作业

    团队任务:团队展示与选题 团队展示 队员学号及姓名 学号 姓名 主要负责工作 20162315 马军 日常统计,项目部分代码 20162316 刘诚昊 项目部分代码,代码质量测试 20162317 袁 ...

  3. 2017-2018-1 Java演绎法 第四五周 作业

    团队任务:撰写<需求规格说明书> 团队组长:袁逸灏 本次编辑:刘伟康 流程.分工.比例 (比例按照任务的费时.难度和完成情况估算) 流程 确定任务 -→ 分配任务 -→ 各组员完成各自任务 ...

  4. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  5. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  6. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  7. 2017-2018-2 1723《程序设计与数据结构》第八周作业 & 实验二 & 第一周结对编程 总结

    作业地址 第八周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1847 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  8. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...

  9. 2017-2018-1 Java小组-1623 第一周作业

    2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...

随机推荐

  1. NVIDIA Geforce GT 730 OpenGL 图形显示异常花屏

    原因:C盘空间爆表,用dism++清理.结果用力过猛,清完后程序里的图形直接马赛克了... 上个图感受一下吧... 嘿别说,还有那么点艺术风! 别闹了,这个问题很严重,很严肃好不好! 因为程序和数据都 ...

  2. 通过回调函数的理解来进一步理解ajax及其注意的用法

    一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...

  3. 启动就加载(一)----注解方式实现的。static项目启动的时候就加载进来(一般用于常用参数)

    一,案例 1.1,图片分析 1.2,代码 1.2.1,编写加载系统参数的servlet public class SysInitServlet extends HttpServlet { public ...

  4. Halcon异常(C++)不起作用

    现象 Halcon导出的C++程序,try catch不到异常.在Halcon下可以正常Catch到异常.  C++代码:try{   tuple_max(hv_Length, &hv_Max ...

  5. Kettle根据时间戳同步数据实现

    1 Kettle总体步骤 由于Kettle自身的特殊性以及在多个步骤中kettle自身处理数据库事务的特殊性,尝试了很多种方案,最终确定暂使用如下方案. 1.使用此方案可以解决kettle本身数据库事 ...

  6. lvs-dr 模式-piranha

    系统: redhat 6.5 mini 机器名 ip vip lvs01(主lvs) 192.168.20.10 192.168.20.254 lvs02(备lvs) 192.168.20.20 rs ...

  7. spring整合mybatis(hibernate)配置

    一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...

  8. Filter的过滤链理解

    一.Filter过滤链 web.xml配置了filter过滤器,在容器启动的时候执行了init()方法进行了初始化,然后在容器关闭的时候执行了destroy()方法销毁过滤器,在每次服务器接受请求的时 ...

  9. quartz.net 3.x 使用总结

    quartz文档:https://www.quartz-scheduler.net/documentation/index.html 这里用新建的控制台项目进行演示. 目标效果为每隔一秒在控制台上输出 ...

  10. JavaScript之优化DOM

    优化DOM得从重绘和重排讲起,long long ago... 1.重绘和重排 1.1 重绘和重排是什么 重绘是指一些样式的修改,元素的位置和大小都没有改变: 重排是指元素的位置或尺寸发生了变化,浏览 ...