(一)团队项目需求分析改进
一、《西小餐项目需求规格说明书》的不足
通过老师和其他同学的指正和建议,我们发现上次的需求规格说明书存在以下不足:
1.需求规格文档不够完整和规范;
2.系统设计图和用例图不够准确,且缺少了最主要的类图;
3.需求调研不够充分,忽略了本校的教师和职工这两个重要角色。
对于以上不足,我们重新进行了用户需求调研,并对《需求规格说明书》再次修改和完善,对于详细的更改内容请看下面的第七项《软件需求规格说明书》。
本次调研对象:在校本科生、研究生、教师、职工
经过再次进行需要调研,最终确定我们的系统需要具备以下功能:
1. 从管理端获取最新的菜谱;
2. 在本地系统中进行点餐,并将订单传送到服务器后台系统;
3. 催单,向服务器后台端系统发送信息,要求系统尽快处理本订单;
4. 提交订单,向服务器管理端系统发送请求;
5. 公告,可以告知用户新出的菜品以及打折的菜品,还有就是失物招领;
6. 菜品推荐,根据用户的评价,将评分比较好的菜品推荐给用户;
7. 店铺排名,根据用户评价,对店铺进行客观的排名;
8. 用户评价,用户就餐完毕可对本次就餐进行评价;
9. 投诉,如果用户觉得本次就餐口感不好,或者吃到了不该吃的东西,可对本次就餐进行评价。
二、功能分析的四个象限
三、团队项目的WBS
WBS工作分解图
四、以讲故事的方式介绍我们项目中的功能
(以下故事为个人杜撰,如有雷同,纯属巧合)
Hello everyone, I'm Wang Shuaim. I'm an ordinary student in the School of Computer Science and Engineering. Next, I'll tell you the story of my online meal ordering system with West China Food.
Today is an ordinary day in the long years. As usual, I am studying at 10A in the morning. I looked down at the mobile phone and unknowingly came to an appointment at half past eleven. At this time, I opened the browser and opened a small meal. First of all, the old rules, login, use the student number and the password you set. After logging in, I first looked at today's dish recommendations and daily deals to see if there was anything to do with the dishes, such as crayfish. Then look at the Lost and Found column to see what Ma Daha has lost. Then pull it down and into the restaurant on the third floor. This is a good place to go because I basically order western meals every day because I don’t have to wait for so long in the past, which saves me some time. I’m also at noon. You can sleep more for a while. First of all, it was boring to look at all the dishes. I opened up and looked at some of the foods that I liked to eat. I looked at other students' comments and mixed reviews. This helps merchants improve their meals. Then I entered the shop 4 (the last one) and I usually eat rice at home. I found that the latest sales rankings are still the top of my favorite market chicken rice bowl. This is really a hundred. Not greasy, that taste, that taste, leveraged, said partial, haha. Add a large plate of chicken rice to the shopping cart, note is not onions, the price is still 8 yuan, add to the shopping cart, click to settle, enter the order interface, and then submit orders, payment, in one go, is perfect, ordering is so simple, My mother no longer has to worry about me not eating. Well, do not say, pack up, eat to slightly.
(大家好,我叫王大锤,我是计算机科学与工程学院的一名普通学生,接下来我给大家讲讲我与西小餐网上在线点餐系统的故事。
今天是漫长岁月中普通的一天,和往常一样,我上午在10A上自习,低头一看手机,不知不觉就十一点半了,到饭点了。这时候,我打开浏览器点开了西小餐。首先,老规矩,登录,用的是学号和自己设置的密码。登录进去之后,我先看了一下今日菜品推荐和每日优惠,看看有没有什么做活动的菜品,比如小龙虾之类的。然后看了看失物招领栏,看看有哪些马大哈丢了东西。然后拉到下面,点进了三楼餐厅,这可谓是轻车熟路,因为我基本每天都是用西小餐点餐的,因为点好过去不用等那么长时间,节省了我一些时间,我中午也就能多睡一会。首先还是无聊的看了一下所有的菜品,点开看了一下我喜欢吃的那些饭菜,点进去看了一下别的同学的评价,褒贬不一,这有助于商家对饭菜的改进。然后还是点进了店铺4(最后一家),平时吃盖浇饭都是在他家点的,发现最近的销量排行榜,还是我最爱的大盘鸡盖浇饭排第一,这真是百吃不腻啊,那味道,那口感,杠杠的,说偏了,哈哈。把大盘鸡盖浇饭加入购物车,备注是不要洋葱,售价还是8元,加入购物车,点击去结算,进入订单界面,然后提交订单,付款,一气呵成,简直完美,点餐就是那么简单,妈妈再也不用担心我不吃饭了。好了,不说了,收拾收拾,吃饭去咯。)
五、团队成员估计各自任务所需时间
姓名 |
任务 |
时间 |
汝春瑞 |
任务1.b 功能分析的四个象限 任务4 编辑博客 |
4h |
曹阳 |
任务1.a 完善《需求规格说明书》 任务1.g 在博文中编辑改进内容 |
4h |
傅康 |
任务1.d 以讲故事的方式介绍项目中的功能 任务2 设计系统总体结构 |
3h |
丁炜轩 |
协助调研 附加作业:评论其他团队博客 |
3h |
梁玉龙 |
任务1.c 编制团队项目的WBS 任务1.f 创建看板图和燃尽图 |
3h |
赵红波 |
任务3 撰写团队项目软件系统设计说明书 |
4h |
六、使用WBS工具,拆分项目,创建看板图和燃尽图
看板图
燃尽图
七、《软件需求规格说明书》
团队项目Github仓库链接:https://github.com/cy0325/Team_work.git
(二)团队项目系统设计
一、团队项目系统总体结构和数据库逻辑结构
系统结构图
数据库结构图
UML用例图
二、《软件系统概要设计说明书》
三、团队项目的系统设计过程
我们先进行了用户调研,调研对象包括本校所有可能去西苑餐厅就餐的不同角色的人员,然后根据调研结果做了充分的需求分析,并编写《需求规格说明书》。接着,就开始设计我们的软件系统了,设计内容主要包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、UI界面等内容,在总体规划好之后,参考国标GB8567——88编写了《软件系统概要设计说明书》,并对接下来要做的工作进行明确的分工,为实现我们的软件系统做好准备。
四、系统设计方法与建模工
设计方法:采用面向对象的系统设计方法
系统框架和数据结构全面设计,具体功能实现分阶段进行,从总体系统的功能、输入、输出、环境、程序、人的因素、物的媒介各方面综合考虑,设计出整体最优的系统。进行系统设计时采用分解、综合与反馈的工作方法。
建模工具:processon在线画图工具、Visio
五、团队成员在系统设计的具体分工及占整个系统设计文档任务的工作量比例
项目成员 | 具体任务 | 工作量比例 |
梁玉龙 | 系统设计建模 | 17% |
丁炜轩 | 数据库逻辑结构设计 | 16% |
赵红波 | 系统概要书撰写 | 16% |
汝春瑞 | UI界面设计 | 17% |
傅康 | 系统结构图绘制 | 17% |
曹阳 | 需求说明书的完善、WBS编写 | 17% |
六、团队项目系统设计心得
通过需求分析,以及其他团队对我们的调查工作中出现的问题的反馈,我们认为到用户调研一定要充分,调研规模要足够大,调研对象应全面,只有做好这些,我们的需求分析才有价值。因此,对于上次调研的缺漏,我们做了更改和完善。另外,从本次项目系统设计的过程中,我们明白了拿到一个大的项目时需要先对它进行分解,再对每个小模块进行详细划分和设计,这样做的好处就是目标明确、思路清晰、一个小模块出错不会影响其他模块,方便修改。再者,对工作合理分工也很重要,这会使得效率提升很多。
七、回答以下两个问题
需求分析的结果,是系统设计的依据。只有做好需求分析,才能明确我们的终极目标,了解我们的产品需要实现哪些功能,用户关注的问题等等,如若不然,做其他的工作都是徒劳。如果需求分析不到位,就无法清晰的明确设计目标,一切都变得盲目,甚至无从下手。
八、团队PSP
PSP2.1 |
任务内容 |
计划完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
30 |
60 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
40 |
67 |
Development |
开发 |
360 |
400 |
Analysis |
需求分析 (包括学习新技术) |
100 |
120 |
Design Spec |
生成设计文档 |
30 |
32 |
Design Review |
设计复审 (和同事审核设计文档) |
20 |
25 |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
25 |
30 |
Design |
具体设计 |
70 |
90 |
Coding |
具体编码 |
40 |
0 |
Code Review |
代码复审 |
20 |
0 |
Test |
测试(自我测试,修改代码,提交修改) |
12 |
0 |
Reporting |
报告 |
30 |
0 |
Test Report |
测试报告 |
20 |
0 |
Size Measurement |
计算工作量 |
15 |
0 |
Postmortem & Process Improvement Plan |
事后总结 ,并提出过程改进计划 |
20 |
0
|