团队作业3--需求改进&系统设计

发布时间 2023-04-10 10:37:53作者: Chirace

Part one作业地址

这个作业属于哪个课程 2023软件工程—双学位
这个作业要求在哪里 团队作业3--需求改进&系统设计
这个作业目标 完成说明书的改进,并进行系统设计

Part two需求&原型改进

2.1给目标用户展现原型,与目标用户进一步沟通理解需求

思考:他们想要一个什么样的课表?

在课堂上展示我们的需求分析后,经过走访调查和同学们的交流中,我们得到同学们的感受:

问:你们现在在用的或曾经用过的是什么课表?

:学校官方的教务处课表、GDUTLife、gdutday和GDUTDays等。

问:你们是否满意这些课表小程序?

:不太满意,它们或多或多或少都存在一些不足的的点,首先是他们颜色过于鲜艳,显得花里胡哨;其次,他们不知道是因为太多无用的功能而显得程序过于臃肿,进入时间太长;最后,我们很少长时间用定一个课表程序,因为不久就会因为更新而用不了了,这是很不稳定的地方。

问:你们期待拥有一个怎样的课表小程序?

:界面方面,越简洁越好,最好可以提供不同样式选择;内容方面,不需要太多功能,可以随时随地快速查看课程信息、考试信息和学分记录,迅速弹出就好;稳定方面,我们不想一个学期换一次课表,想要一个稳定的,长时间供我们使用的课表。

2.2改进的需求规格说明书

2.2.1改进说明

改进部分一:参考《构建之法》中的典型用户和场景

改进理由:起初没有没有符合要求,在课堂上和同学们分析之后,老师指出格式不规范后,重新查阅规格说明书的格式规范后,觉得用户和场景的问答形式可以很好展示两者之间为一个好的程序做出的努力沟通,这样的需求规格说明书也更能看出其需求,增加吸引力。

改进部分而:重新定义了功能

改进理由:在对身边的用户调查沟通后,更加清晰理解他们需要一个怎样的课表程序,需要可以提供简单的日常课程、考试和学分的基本信息,其他的功能则不作要求。根据访问结果,我们增加和删除一些功能,使得我们的课表小程序更加精简化,更加靠近用户的需求。

改进部分三:对界面作出要求

改进理由:在和多位同学沟通后,得到同学们对于现有课表的界面十分不喜,现有的课表界面过于鲜艳。由于审美的变化,我们希望我们的课表保持简洁的界面,并且可以提供多个界面选择。

Part three参考《构建之法》功能定位和优先级,得到功能分析的四象限

外围功能 杀手功能
必要需求 第二象限:课表、考试和学分信息查询 简洁的界面设置
辅助需求 课程和考试信息提前一天通知 多界面选择界面

Part four任务分解WBS

Part five系统设计

设计阶段,我们要记住软件是怎样实现这些需求的?

一个好的团队,分工明确,一旦定义好各个接口,队员们就可以多头发力,携手并进,提升完成速度。

1为了最大限度实现需求,我们团队提出的系统设计

1.前端架构:

前端采用小程序原生开发,使用 WXML、WXSS 和 JavaScript 实现。整个前端应用主要包括以下模块:

(1)登录模块:用于用户登录、注册等操作。

(2)课表模块:用于显示课程表、课程详情、添加、编辑和删除课程等操作。

(3)考试模块:用于显示考试信息、考试倒计时、添加、编辑和删除考试信息等操作。

(4)提醒模块:用于设置提醒、提醒方式、取消提醒等操作。

(5)自定义模块:用于添加、编辑和删除备忘录、计划、备忘事项等。

2.后端架构:

后端采用 Node.js、MongoDB 和 Redis 等技术实现,主要包括以下模块:

(1)登录模块:用于处理用户登录和注册,验证用户身份,生成用户令牌等操作。

(2)课表模块:用于处理课程表的增删改查等操作,同时与 Redis 缓存进行交互,提高访问效率。

(3)考试模块:用于处理考试信息的增删改查等操作,同时与 Redis 缓存进行交互,提高访问效率。

(4)提醒模块:用于处理提醒消息的发送,同时与 Redis 缓存进行交互,提高访问效率。

(5)自定义模块:用于处理备忘录、计划、备忘事项等自定义功能的增删改查等操作,同时与 Redis 缓存进行交互,提高访问效率。

3.获取教务系统数据:

(1)登录教务系统,获取 session 或 token。

(2)分析教务系统的数据接口,获取请求的 URL、请求参数和请求方法。

(3)根据需要,发送相应的数据请求,获取课程表数据、考试信息数据或课程成绩数据。

(4)解析返回的数据,提取所需信息,存储到本地或服务器中

应用工具:

Part six Alpha任务分配计划

分工 人员
前端 翟张博
后端 袁小东、刘付越
UI设计 沈炜杰
数据库 刘浪棠
测试 宋业双

Part seven 测试计划

1.测试总纲:

项目产品是课程表小程序,有可视化界面,所以要进行界面的测试。我们的主要功能是信息查询,查询信息结果的正确性是最基本的要求,所以要进行功能的测试。一个产品性能的优劣会直接影响到产品的用户量。所以还要进行性能的测试。

2.测试策略

(1)测试项目

(2)界面测试

(3)功能测试

(4)性能测试

(5)测试的主要问题

(6)界面设置是否合理美观

(7)测试功能是否达到要求,查询结果是否准确

(8)测试运行时的性能,有没有占用大量内存,是否有改进的空间

3.测试资源

(1)测试人员:全员都可进行测试

(1)测试环境:Windows系统

4.测试进度安排

测试紧随开发其后,在完成各个部分的功能后,应及时进行检测。检测是否出现以上问题,若出现则立刻进行改进。这样最后代码全部整合在一起时,就能减少出错,也能保证各个部分功能的完整性,减少之后的工作量。