团队作业——UML设计

Deadline:2017-10-29 20:00(课堂作业)

导言

同学们已经做了需求的分析,也做了详细的系统设计,画过了一些小小的类图/用例图,对自己要做什么应该有比较清晰的认识了。接下来,我们要怎么做便成了问题。有同学会说,我大概已经知道怎么做了,在脑海里比划着,很多东西都有大致的想法,45度仰头思考片刻,有了一张宏伟的蓝图,感觉差不多可以施工了。

等等!好像不是自己一个人干,旁边还有几个身手不错的搭档,况且这对一个人来说,工作量还是很大的,那就大伙分工合作吧,给大家讲讲自己的蓝图,然后开始分工:

  • 张三做前端

  • 李四做后端

  • 王五来搞数据库
    ...
    大家热火朝天地干起了属于自己的活,若干天后,某些部分功能做得差不多了,感觉可以试试,说我们来整合联调一下:

  • 接口怎么是这样的?跟我想的不一样啊

  • 不是应该有个XXX类吗?

  • 这里不是应该用多态吗?

  • 不对,你的调用顺序错了!

  • 我要的数据没有啊!
    ...
    哪里出问题了呢?很显然是沟通问题,一个人的想法和理解,即使自己觉得很完整,很美好,但是能让别人理解一致吗?不见得,同一件事情,如果不沟通清楚,两个人的理解可能是千差万别的,所以需要有充分的沟通,尽可能减少歧义的沟通。

沟通要借助工具,我们日常使用自然语言沟通,也是一种工具,只是这种工具常常存在歧义,那么我们用什么能更加准确地描述自己的设计呢?这里推荐UML给大家。

至于UML的基础知识,有很多书籍资料介绍,这里就不啰嗦了。这里个人理解:把UML作为一种沟通工具来使用。沟通什么呢?沟通设计思想。

问题既然抛出来了,一个团队如何去描述讨论结果,并且确认大家理解一致,我们可能需要用到:

  • 用例图
  • 时序图
  • 状态图
  • 活动图

要做什么?

  • 大家准备如何分工合作
  • 找到自己负责部分的核心(或最复杂)模块做UML练习

博客模板

1)团队分工(5分)
描述团队的每个成员分别完成了UML图的哪些部分,可以选择多种方式呈现,推荐泳道图。(可以参考@thousfeet)
2)UML(需求规格说明书里已经练习过了整个系统的UML设计,这里不需要对整个系统建模,只需要每个团队成员找到自己负责部分的核心或最复杂模块做UML练习)(20分)

  • 用例图(必选)
  • 类图(必选)
  • 活动图(必选)
  • 状态图(必选)
    注:对于每个图,需描述对应的是系统哪部分、这部分面临什么样的问题、这样的设计解决了哪些问题?

3)工具选择(大家可以共享经验,相互推荐,谈谈为什么选择这个工具)(5分)

  • Visio
  • ROSE
  • 搜索选择其它工具(包括一些在线工具)...

注:10月28号上午实践课时间内当场完成所有图的绘制,dealine之前完成作业的其他部分。因为一个团队为完成一个项目,为了信息完整,须将每个人的成果汇集到一篇博客中,由组长提交到作业中。

posted @ 2017-10-27 23:56  福大软工和面向对象  阅读(419)  评论(0编辑  收藏  举报