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之前完成作业的其他部分。因为一个团队为完成一个项目,为了信息完整,须将每个人的成果汇集到一篇博客中,由组长提交到作业中。