团队第二次作业
一、队伍
队名 : 鸽牌开发专业小分队
队员 | 学号 |
陈起廷 | 3118004951 |
魏宇峰 | 3118004974 |
刘珮琳 | 3218004993 |
古梓欣 | 3218004991 |
高明莹 | 3218004990 |
二、需求规格说明书
1.引言
1.1编写目的
为明确软件需求、规划项目、确认进度、组织软件开发并测试而撰写本文档。同时,详细分析项目总体需求,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。
1.2预期的读者和阅读建议
此需求规格说明书针对设计人员、开发人员及测试人员。本文分别介绍了产品的用户功能及运行环境,系统的功能的具体描述。
2.项目描述
2.1项目价值
2.1.1 真实性
日常生活中用户忙于事务,无法手写日记或者记录消费,手机一拿,随时可用。
2.1.2 可用性
一个人最好的习惯就是善于反思,而反思的根源来源于回忆,脑子做不到的,我们来存。
2.1.3 有情怀
小时候总以为遥遥无期,长大却发现过去就是一眨眼的事。若我们回想过去,有日记纪念过去的心情、事情,有记账回忆当初1块钱的快乐,有备忘让你所心心念念的都付诸实现,过去不可怕,可怕的是忘记。
2.1.4 价值
用户量定义价值,现在市面上的类似于记事本的手机app的功能缺少记账功能与云端联动的功能,这个好idea可以帮助扩展用户,定位准确。
2.2 用户分析
2.2.1 适用范围
本产品主要面向拥有一定经济独立性,学习或工作事项繁多的青年用户群体。必备记集账本、备忘录、日记以及待办事项于一体,节省用户于各相关应用之间的切换时间,为用户提供直观的每日花销数据及当日事务管理,记录生活的点滴。
2.2.2 预期用户数量
考虑到前期推广渠道有限,预计的用户量为三百到五百人。
2.2.3 预期场景
在2月19日,A小姐和B小姐约好了3月2日外出游玩,为了避免忘记,A小姐打开了必备记,将3月2日的行程加入备忘录。外出游玩结束之后,A小姐用必备记的账本,分类记录了出行、饮食等方面的花销,最后打开了日记本板块记录了和B小姐游玩时难忘的情景。
3.功能需求
本系统是集日记、账本、待办事项、备忘录等功能为一体的ios程序,势必让使用者摆脱需要多个软件的烦恼,只需要下载该款ios程序,就可以实现多元化的功能。
3.1 功能结构图
3.2 具体功能列表与描述
功能 | 具体描述 |
---|---|
登录注册 | 用户使用邮箱号注册账号 用户凭借注册的账号登录进入程序 用户选择忘记密码,通过邮箱号的方式找回密码 |
日记本 | 新建日记: 用户可在此选择新建一个日记 查看日记: 用户可以点击日记列表中的日记查看已经写过的日记 修改日记: 用户可以点击列表中的日记进行修改 删除日记: 用户可以选择删除一个日记列表中的日记 多选删除日记: 用户可以选择多选,从而从列表中删除多个日记 |
备忘录 | 新建备忘录: 用户可在此选择新建一个备忘录 查看备忘录: 用户可以点击备忘录列表中的备忘录查看已经写过的备忘录 修改备忘录: 用户可以点击列表中的备忘录进行修改 删除备忘录: 用户可以选择删除一个备忘录列表中的备忘录 多选删除备忘录:用户可以选择多选,从而从列表中删除多个备忘录 |
账本 | 账本设置: 用户可以在设置中选择月起始日期,月收入,以及选择账本类别 新建账单: 用户可以新建一个账单,选择收入或者支出,选择分类名称,填写备注,输入账单金额 修改账单: 用户可以通过点击已保存的账单进行修改 删除账单: 用户可以从账单列表中删除一个账单 多选删除帐单:用户选择多选可同时删除多个账单 |
待办事项 | 新建待办事项: 用户可在此选择新建一个待办事项 查看待办事项: 用户可以点击列表中的待办事项,查看已经写过的待办事项 修改待办事项: 用户可以点击列表中的待办事项进行修改 删除待办事项: 用户可以选择删除列表中的待办事项 多选删除待办事项: 用户可以选择多选,从而从列表中删除多个待办事项 |
4.技术需求
4.1 后端技术需求
技术项 | 具体技术 |
---|---|
编程语言 | Java |
通信协议 | HTTP |
JDK | 1.8 |
数据库 | MySQL 5.6.39 , Redis 5.0.8 |
Web容器 | docker+nginx |
代码版本控制 | Git |
技术框架 | springboot 2.6.0,mybatis-plus 3.0,Maven 3.0 ,springSecurity |
4.2 iOS客户端技术需求
技术项 | 具体技术 |
---|---|
编程语言 | Swift |
平台 | iOS13.0及以上 |
技术框架 | SwiftUI+Combine |
代码版本控制 | Git |
5.制定规范
5.1 后台编码规范
5.1.1代码规范
遵循阿里巴巴开发手册
- 方法:遵循驼峰命名法,以动词开头,名词结尾,遵循增删查改命名原则
- 接口:必须有Javadoc说明文档,参数作用,返回值等
- 类:类名遵循驼峰,且首字母大写
- 包:遵循MVC架构,分包具体为controller、service、mapper、entity、constant、bo、vo、util
5.1.2API接口规范
- 接口名遵循RESTfulAPI的风格
- HTTP响应状态码都是返回HTTP状态码200
- 统一返回的reponseHeader设置为application/json,后台开发者进行自定code,如下:
private Integer code;
private String msg;
private T data;
/**
* 功能描述 请求成功的返回数据
*
* @param data
* @author chenqiting
* @date 2020/2/9 13:13
*/
public Result(T data) {
this.data = data;
this.code = 200;
this.msg = "ok";
}
/**
* 功能描述
*
* @param msg 请求错误的响应信息
* @param code 请求错误的响应码
* @author chenqiting
* @date 2020/2/9 13:15
*/
public Result(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
}
5.2 swift代码规范
- 使用驼峰命名而不是下划线命名。
- 命名清晰比简洁优先。
- 避免对可选类型强解包。
- 需要的时候才写上
self
。 - 首选
struct
而非classs
。 - 除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。
6.初始原型设计
墨刀链接:https://free.modao.cc/app/60c2bfc953e8cdc975daf1a94bfe375f8f6c2015?simulator_type=device&sticky
ps:后期可能会对功能以及页面进行修改和完善
三、团队计划及分工
1.团队Github地址及issues截图
1.1团队github地址
https://github.com/softwareCQT/showMeYourMood/issues
1.2issues截图
2.原项目计划安排
序号 | 模块 | 具体功能 | 时间安排 |
---|---|---|---|
1 | 登录注册 | (1)用户使用邮箱号注册账号 (2)用户凭借注册的账号登录进入程序 (3)用户选择忘记密码,通过邮箱号的方式找回密码 |
5.2-5.4 |
2 | 日记本 | (1)新建日记: 用户可在此选择新建一个日记 (2)查看日记: 用户可以点击日记列表中的日记查看已经写过的日记 (3)修改日记: 用户可以点击列表中的日记进行修改 (4)删除日记: 用户可以选择删除一个日记列表中的日记 (5)多选删除日记: 用户可以选择多选,从而从列表中删除多个日记 |
5.5-5.9 |
3 | 备忘录 | (1)新建备忘录: 用户可在此选择新建一个备忘录 (2)查看备忘录: 用户可以点击备忘录列表中的备忘录查看已经写过的备忘录 (3)修改备忘录: 用户可以点击列表中的备忘录进行修改 (4)删除备忘录: 用户可以选择删除一个备忘录列表中的备忘录 (5)多选删除备忘录:用户可以选择多选,从而从列表中删除多个备忘录 |
5.10-5.13 |
4 | 账本 | (1)账本设置: 用户可以在设置中选择月起始日期,月收入,以及选择账本类别 (2)新建账单: 用户可以新建一个账单,选择收入或者支出,选择分类名称,填写备注,输入账单金额 (3)修改账单: 用户可以通过点击已保存的账单进行修改 (4)删除账单: 用户可以从账单列表中删除一个账单 (5)多选删除帐单:用户选择多选可同时删除多个账单 |
5.13-5.19 |
5 | 待办事项 | (1)新建待办事项: 用户可在此选择新建一个待办事项 (2)查看待办事项: 用户可以点击列表中的待办事项,查看已经写过的待办事项 (3)修改待办事项: 用户可以点击列表中的待办事项进行修改 (4)删除待办事项: 用户可以选择删除列表中的待办事项 (5)多选删除待办事项: 用户可以选择多选,从而从列表中删除多个待办事项 |
5.20-5.22 |
6 | 功能测试 | 测试所有模块的功能,及时反馈bug给对应的负责人 | 5.23-5.25 |
3.现项目计划安排
3.1 矫正计算方法
1.为每个功能设置具体负责人
2.根据任务难度进行适当调整
3.测试分为周期性测试及最终测试,周期性测试与开发可同步进行
3.2 矫正后具体项目计划
序号 | 模块 | 具体功能 | 负责人 | 时间安排 |
1 | UI设计 | 对每个功能页面的UI进行设计,逐步优化原型设计 | 刘珮琳、高明莹 | 4.28-4.30 |
2 | 登录注册 | (1)用户使用邮箱号注册账号 (2)用户凭借注册的账号登录进入程序 (3)用户选择忘记密码,通过邮箱号的方式找回密码 |
古梓欣、魏宇峰 | 5.9 |
3 | 日记本 | (1)新建日记: 用户可在此选择新建一个日记 (2)查看日记: 用户可以点击日记列表中的日记查看已经写过的日记 (3)修改日记: 用户可以点击列表中的日记进行修改 (4)删除日记: 用户可以选择删除一个日记列表中的日记 (5)多选删除日记: 用户可以选择多选,从而从列表中删除多个日记 |
陈起廷、魏宇峰 | 5.10-5.15 |
4 | 备忘录 | (1)新建备忘录: 用户可在此选择新建一个备忘录 (2)查看备忘录: 用户可以点击备忘录列表中的备忘录查看已经写过的备忘录 (3)修改备忘录: 用户可以点击列表中的备忘录进行修改 (4)删除备忘录: 用户可以选择删除一个备忘录列表中的备忘录 (5)多选删除备忘录:用户可以选择多选,从而从列表中删除多个备忘录 |
陈起廷、魏宇峰 | 5.10-5.15 |
5 | 账本 | (1)账本设置: 用户可以在设置中选择月起始日期,月收入,以及选择账本类别 (2)新建账单: 用户可以新建一个账单,选择收入或者支出,选择分类名称,填写备注,输入账单金额 (3)修改账单: 用户可以通过点击已保存的账单进行修改 (4)删除账单: 用户可以从账单列表中删除一个账单 (5)多选删除帐单:用户选择多选可同时删除多个账单 |
陈起廷、古梓欣、魏宇峰 | 5.16-5.20 |
6 | 待办事项 | (1)新建待办事项: 用户可在此选择新建一个待办事项 (2)查看待办事项: 用户可以点击列表中的待办事项,查看已经写过的待办事项 (3)修改待办事项: 用户可以点击列表中的待办事项进行修改 (4)删除待办事项: 用户可以选择删除列表中的待办事项 (5)多选删除待办事项: 用户可以选择多选,从而从列表中删除多个待办事项 |
陈起廷、魏宇峰 | 5.21-5.23 |
7 | 功能测试 | 测试已有模块,将测试过程中出现的bug及时反馈给对应功能的负责人 | 刘珮琳、高明莹、古梓欣 | 每个功能实现后2天内 |
对所有模块进行功能测试 | 陈起廷、魏宇峰、刘珮琳、高明莹、古梓欣 | 5.24-5.27 |
4.团队整体分工
职责 | 参与成员 |
---|---|
UI设计 | 刘珮琳、高明莹 |
IOS开发 | 魏宇峰 |
后台开发 | 古梓欣、陈起廷 |
产品设计(PM) | 刘珮琳、高明莹 |
测试 | 刘珮琳、高明莹、古梓欣、陈起廷、魏宇峰 |
文档和复审 | 魏宇峰、陈起廷 |
5.本周团队情况
5.1本周团队分工及完成情况
团队成员 | 本周分工 | 完成情况 |
---|---|---|
陈起廷 | (1) 学习RESTfulAPI的规范 (2) 参与数据库设计 (3) 制定后台编码规范 |
(1) 完成了编码规范的制定 (2) 参与数据库的设计 |
魏宇峰 | (1) 学习SwiftUI + Combine 并简单搭建了一下登录界面 (2) 使用网络及多线程编程 |
(1) 简单搭建了一下登录界面 (2) 使用网络及多线程编程 |
刘珮琳 | (1) 参与撰写《需求规格说明书》 (2) 进行初版原型设计 |
(1) 完成初版原型设计 (2) 完成《需求规格说明书》撰写 |
高明莹 | (1) 参与完成《需求规格说明书》 (2)进行基础功能界面的设计 |
(1) 完成了系统基础的界面设计,一些基本功能的界面布局 (2) 学习ui设计方面的知识 (3) 完成了功能需求部分的写作 |
古梓欣 | (1) 参与《项目需求规格说明书》的写作 (2) 学习开发必要技术 |
(1) 完成了《项目需求规格说明书》的写作 (2) 学习了部分开发技术 |
5.2个人感想
- 陈起廷:
- 需求明确是开发过程中很重要的一个点,明确了再进行开发和API的设计会很舒服
- 团队有问题就应该提出,你不是一个人
- 根据UI来合理设计数据库很重要,也要对应数据使用者的感受,整体架构要好
- 魏宇峰:
- 安排好时间才有最高的效率
- 古梓欣:
- 团队合作对我来说是个新体验,但个人的能力比较弱,需要学习的地方还有很多
- 刘珮琳:
- 撰写文档较为顺利
- 在原型设计中有遇到一些问题,和团队成员一起交流讨论后思路会清晰很多
- 在设计过程中发现想熟悉运用一个工具还是需要不断学习和练习,而且需要有耐心
- 高明莹:
- 本周团队组员针对项目的功能完成时间制定了一个详细的计划,有了完整的计划可以高效率的完成项目
- 在队长的带领下,每位组员都十分积极,很好的完成属于自己的任务
- 第一次团队协作,真正的几个组员一起完成一个项目,虽然有时不太习惯,但收获还是挺多了,考虑的也比自己一个人做项目考虑的周全一些