软件工程实践2018第六次作业——现场UML作图
团队信息
学号 | 姓名 | 博客链接 |
---|---|---|
124 | 王彬(组长) | 点击这里 |
206 | 赵畅 | 点击这里 |
215 | 胡展瑞 | 点击这里 |
320 | 李恒达 | 点击这里 |
131 | 佘岳昕 | 点击这里 |
431 | 王源 | 点击这里 |
206 | 陈文垚 | 点击这里 |
209 | 陈志炜 | 点击这里 |
225 | 林煌伟 | 点击这里 |
本次作业链接
团队分工
alpha 分而治之:(作者:志豪)
alpha版本需要做的事情
模块序号 | 模块名 | 模块具体内容 |
---|---|---|
1 | 学生用户模块 | 1.学生用户登入 2.选择口味界面 3.推荐展示界面 4.推荐评价页面 5.查看美食地图 6.推荐店铺位置指引 |
2 | 商家用户模块 | 1.商铺用户登入 2.查看食客评论与回复界面 3.提交菜品和菜单数据界面 4.会员充值界面 |
3 | 后台管理模块 | 1.食堂店铺与店铺菜品增删改查操作 2.推荐算法 3.对会员和充值系统的管理 |
成员具体分工及TODO list
负责人 | 分工明细 | TODO List |
---|---|---|
王彬 | 负责项目任务分配、进度跟踪推进、原型制作 | 1.完成原型的开发 2.文档撰写与汇总 |
赵畅 | 数据库搭建、数据库接口编写 | 1.配合后端小组完成程序后端的开发 2.完成菜品量化,搭建数据库 |
胡展瑞 | 负责项目各个部分的测试编写 | 1.编写测试用例帮助前后端把控质量 |
李恒达 | 前端模块(普通用户端)实现 | 1.完成前端口味选择功能 2.完成推荐结果评价功能 |
陈志炜 | 前端模块(普通用户端)实现、推荐算法设计 | 1.完成美食地图功能 2.完成店铺位置指引功能 |
陈文垚 | 前端模块(普通用户端)实现 | 1.学生端登入入口 2.完成推荐结果展示功能 |
林煌伟 | 前端模块(商铺用户端)实现 | 1.商铺用户登入功能 2.商铺用户查看食客评论与回复功能 3.商铺提交菜单和菜品数据功能 |
佘岳昕 | 后端模块实现 | 1.前后端交互接口(学生用户端)设计与实现 2.前后端交互接口(商铺用户端)设计与实现 |
王源 | 后端模块实现 | 1.菜品推荐算法设计与实现 2.后端与数据库接口定义与实现 |
燃尽图
UML
【part1】用例图
这里描述的是系统哪部分?
- 描述的是系统的项目需求部分。
这部分要面临什么样的问题?
- 用户需求的变化是多样性的,未来仍需要尽善尽美。
以下设计解决了哪些问题?
-
直观的表达了不同用户的不同需求。
-
解决了项目的需求分析,为接下来更详细的任务作铺垫。
【part2】类图
这里描述的是系统哪部分?
- 描述了系统中的各个类、接口以及它们之间的静态结构和关系
这部分要面临什么样的问题?
- 主要面临系统中的功能逻辑接口混乱问题
以下设计解决了哪些问题?
- 以下设计解决了系统的静态视图设计,执行功能的描述,以及各个类之间的关系和协作
【part3】活动图
这里描述的是系统哪部分?
- 描述的是系统执行的活动部分,从活动到活动的流程
这部分要面临什么样的问题?
- 答:程序运行流程和模块调用不清晰
以下设计解决了哪些问题?
- 答:实现了整个客户端使用周期各个活动的确认
【part4】状态图
这里描述的是系统哪部分?
-
描述的是客户端App 的整个状态过程。
-
以及商家Web客户端的整个状态过程。
-
对整个应用的状态进行一个描述。
这部分要面临什么样的问题?
- 面临状态的缺漏,没有描述到所有的状态。
以下设计解决了哪些问题?
- 解决了整个客户端使用周期各个状态的确认。
【part5】实体关系图
这里描述的是系统哪部分?
- 描述了数据库中各个实体及其属性和各实体之间的关系
这部分要面临什么样的问题?
- 主要面临数据库中实体关系混乱、存在冗余的问题
以下设计解决了哪些问题?
- 以下设计解决了数据库系统中各实体的设计问题,描述了各实体的属性以及实体之间的关系
【part6】泳道图 选做
这里描述的是系统哪部分?
- 泳道图是特殊的活动图,所以描述的是也系统执行的活动部分
这部分要面临什么样的问题?
- 面临各个活动归属不清晰,职责不明确的问题
以下设计解决了哪些问题?
-
明确流程环节所属的阶段
-
能够将模型中的活动按照职责组织起来,清晰体现出某个动作发生在哪个组织
工具选择
选择的工具
- ProcessOn
选择的理由
我们本组都选用了ProcessOn作为绘图工具。大一下C++课上画类图就开始用ProcessOn了。选取这款工具的原因有:
- 首先是免费。
- ProcessOn是一个在线的工具,只要打开网页就能用,这就非常的方便且高效。作为在线的工具有一个隐藏的好处就是跨平台,例如Visio是一个微软的软件,如果使用Linux和Mac就无法实现移动办公。
- ProcessOn功能强大。流程图、各种UML、类图都可以用ProcessOn来绘制,这款绘图工具包含了丰富的图形和各种元素。并且操作十分简便,基本上上手就可以用。
- 具有类似于石墨文档的在线共同编辑功能。保存到本地也十分方便。
使用后的评价
-
ProcessOn完全不负我的期待,应该有的UML格式都基本完备,不过这个网页版应用依然存在可以改进的缺点:
-
软件的易用性可以提高,具体体现在类图里属性和接口的添加没有更直接的快捷方式,而需要2-3步操作
-
软件保存时,因为各种原因会导致保存为png或jpg时较小的字体显示模糊,在保存为pdf时才可以改善
-
评估成员的贡献分配
本队“临时队长”给出的“课上”贡献分评估;
姓名 | 完成部分 | 贡献分评估 |
---|---|---|
李恒达 | 用例图1 | 14% |
赵畅(临时队长) | 博客写作,布置任务,类图 | 12% |
林煌伟 | 类图 | 12% |
朱志豪 | 分而治之alpha版本事项,用例图2 | 14% |
志炜 | 状态图两份 | 12% |
文垚 | 实体关系图 | 12% |
佘岳昕 | 泳道图,活动图 | 10% |
张杰 | 泳道图,活动图 | 12% |
陈超星 | 泳道图,活动图 | 2% |
本队“原队长”给出的“课后”贡献分评估;
姓名 | 完成部分 | 贡献分评估 |
---|---|---|
王彬 | 博客编写、alpha任务分配 | 10% |
李恒达 | 用例图 | 12% |
赵畅(临时队长) | 博客写作,布置任务,类图 | 14% |
林煌伟 | 类图 | 12% |
胡展瑞 | 获取其他组的完成情况 | 7% |
王源 | 获取其他组的完成情况 | 7% |
志炜 | 状态图两份 | 13% |
文垚 | 实体关系图 | 12% |
佘岳昕 | 泳道图,活动图 | 13% |
换队感受
-
这次作为被“安排”到第二组的队员,感觉“草履记”项目组的成员在成员出现变动的时候依然能由临时队长将任务安排得井井有条,说明队伍团队凝聚力很强。
-
不过回头看看自己的组员,在我离开后依然在@畅畅的带领下出色的完成任务,实在倍感欣慰,感谢自己能与所有的组员一起组成团队共克难关
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
· Estimate | · 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 300 | 365 |
· Analysis | · 需求分析 (包括学习新技术) | 30 | 20 |
· Design Spec | · 生成设计文档 | 60 | 120 |
· Design Review | · 设计复审 | 30 | 25 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 180 | 200 |
· Coding | · 具体编码 | 0 | 0 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | · 测试(自我测试,修改代码,提交修改) | 0 | 0 |
Reporting | 报告 | 15 | 20 |
· Test Repor | · 测试报告 | 0 | 0 |
· Size Measurement | · 计算工作量 | 5 | 5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 15 |
合计 | 335 | 405 |