这个作业属于哪个课程 | <软件工程2024-双学位> |
---|---|
这个作业要求在哪里 | <团队作业3——需求改进&系统设计> |
一、需求原型改进
-
问题1:预想中想实现的功能是否能够通过所选择的语言来实现?
制作课表小程序可以使用Python的各种图形用户界面(GUI)库,确定课表数据的来源,打算使用网络接口(如API)、网页抓取之类的方法。
问题2:如何吸引目标用户?
优化体验: 确保小程序界面简洁直观,便于使用。
推广:利用社交媒体,线下等渠道进行推广,宣传并吸引用户下载和使用。先小范围的使用确定稳定进行大面积推广。
2.通过采访同学来了解他们的需求
通过沟通了解到很多时候学生们如果通过教务系统查询课表需要重复输入账号和密码,并且无法直接查看课程的详细信息。
所以我们打算将程序设计成扫一眼就知道要去哪上课,要上什么课,在哪个时间段的样子。并且添加自定义课表的功能。
3.修改需求规格说明书
(1)不足:过于普通,功能方面没有优势,对用户没有足够吸引力,无法打败同类竞品。
(2)改进:增加新功能页面:自定义课表。增强便利性。
(3)场景:小邱打开课表小程序,立刻看到了本周的课程安排。小邱滚动手机查看每天的课程,了解今天有哪些课程,以及接下来几天的课程安排。之后小邱想分配自己本周的时间,打开自定义面板进行编辑。小邱使用完课表小程序后,觉得这个应用非常实用,分享给自己的室友和同学。
4.四个象限
外围功能 | 杀手功能 | |
---|---|---|
必要需求 | 获取课程信息 | 简便快捷地了解时间地点等详细信息 |
辅助需求 | 自定义课表 | 根据用户需要自行更改,满足用户需求 |
5、WBS
二、系统设计
我们计划把数据存储在客户端,涉及到的语言有,JavaScript,python,还有wx小程序开发语言,鉴于教务系统不允许使用python爬也不允许校外网登录,所以用python后台登录页面,读取课表。
-
获取课表
调用微信小程序提供的接口获取用户信息和临时登录凭证,对这些信息进行身份验证。验证成功后返回用户令牌,客户端接收令牌并将其保存在全局数据和本地,完成登录过程。调用Python的Selenium库实现自动登录。
-
本地存储
使用微信小程序提供的本地存储API(如wx.setStorage等),将关键的用户数据(如token、上课时间、当前周信息)持久化保存在用户的设备上,以便在应用重启或重新打开时快速恢复状态,无需再次从服务器获取或重新计算这些数据。
- 展示课程表
自定义一个表格组件,可以通过属性传入数据来展示表格,根据操作选择对应周/日期展示课程具体信息,并提供点击事件处理和数据更新等功能。
- 自定义课程表
自定义页面组件,实现修改用户信息功能,新增和编辑课表。
三、Alpha任务分配计划
-
初步实习课表基础功能
基本功能基本实现
-
界面美观
适当使用模板
-
任务拆解
四、测试计划
- 测试目标:
确认课表小程序的功能和性能是否符合需求,确保用户能够正常使用。
- 测试范围:
用户登录功能
课程信息展示功能
考试信息查询功能
用户管理功能(注册、登录、退出)
- 测试方法:
采用黑盒测试方法,对各个功能模块进行功能测试和系统测试。
- 测试环境:
操作系统:Windows Server 2016
手机操作系统:iOS、Android
- 测试工具:
JUnit(Java单元测试框架)
Postman(API接口测试工具)
JMeter(性能测试工具)
Selenium(Web自动化测试工具)
pytest(python自动化测试工具)
- 测试流程:
制定测试计划和测试用例
执行测试用例,记录测试结果和缺陷
修复缺陷,并进行再次测试
确认所有缺陷已修复,进行最终验收测试
- 风险评估:
数据安全性风险:确保用户数据的安全存储和传输
网络连接不稳定:尽量在网络环境稳定的情况下进行测试
用户体验不佳:根据用户反馈及时调整和优化系统功能和界面设计
- 时间安排:
测试计划起止时间:根据项目实际情况确定
测试用例设计和准备:根据项目实际情况确定
测试执行和结果分析:根据项目实际情况确定
缺陷修复和再次测试:根据项目实际情况确定