系统设计
1.修改完善已提交的需求规格说明书
《需求规格说明书》初稿已经趋近完善,但是受到同学演讲的启发和反思。
1.新增添了功能并且把模版完善,将产品功能细化。
2.演讲时同学的提出的技术问题进行了简略说明。
3.对产品的营销模式进行了说明
4.将不必要细节进行了简化
2.讨论制定团队的编码规范
-
缩进:4个空格
-
行宽:默认
-
括号:在复杂的条件表达式中,用括号清楚地表达逻辑优先级
-
断行与空白地 { } 行
- 关键字与大括号之间空一格
- 左括号不换行
例如
if (condition){
DoSomething();
} else {
DoSomething();
}
- 分行:一条语句一行,声明时赋值的变量不与不赋值的变量定义在一行上
- 命名:驼峰命名法,简洁易懂且有意义
- 注释
- 简单明了
- 就近原则,保持注释与其描述的代码相邻
- 对代码的注释应放在其上方相邻位置,不可放在下方
- 变量、常量的注释应放在其上方相邻位置或右方
- 在每个源文件的头部要有必要的注释信息,包括:文件名、版本号、作者、生成日期
- 在每个函数的前面要有必要的注释信息,包括:函数名称、功能描述、输入输出及返回值说明、调用关系及被调用关系说明等
- 函数
- 函数的规模尽量限制在200行以内
- 一个函数最好仅完成一个功能
- 尽量不要编写依赖于其他函数内部实现的函数
- 选择理由:严谨且美观
3.数据库设计
ER图
4.项目的后端架构设计
4.1后端框架选用Spring MVC框架
M - Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据
V - View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
C - Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制
4.2 SpringMVC运行原理
\1. 客户端请求提交到DispatcherServlet
\2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
\3. DispatcherServlet将请求提交到Controller
\4. Controller调用业务逻辑处理后,返回ModelAndView
\5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
\6. 视图负责将结果显示到客户端
原理图如下:
\1. 登录载入主界面
\2. 进行记账,显示账单
3.填写收入并提意见
5.确定团队Alpha版本要实现的功能
确定团队Alpha版本要实现的功能
参考分而治之给出相应的WBS图
利用象限法(《构建之法》 8.5)审核上一次作业所确定需求优先级,明确项目的核心功能
列出团队Alpha版本需要实现的功能,表格中至少应包含:优先级、名称、用户故事描述;用户故事描述可以参考模板“作为一个<角色>,可以<活动>,以便于<价值>”,用一句话说明
优先级 | 功能名称 | 用户故事描述 |
---|---|---|
1(基础) | 记账 | 作为一个“初中生”,我想要“能够随时随地记录我的各项收入和消费支出”,以便于“我能够避免不清楚自己的钱是从哪里来又到哪里去”。 |
2(延伸功能) | 系统化数据显示 | 作为一个“高中生”,我想要“更系统科学地掌握自己的各项收入和支出”,以便于“我能够了解自己的生活情况” |
3(完善) | 建议 | 作为一个“大学生”,我想要“能正确认识自己的消费规格”,以便于“我能够合理地规划自己的支出” |
6.关键技术与难点
1、java web至今我们无法把前后台连接起来
2、与支付宝同步的授权问题和同步技术问题
7.团队管理
任务中的分工和工作量比例
组员 | 比例权重 | 参与工作范围 |
---|---|---|
张晋誌 | 11.5% | 关键技术与难点和团队管理 |
袁庆杰 | 12.5% | 项目的后端架构设计 |
周建峰 | 12.5% | 项目的后端架构设计 |
许家烨 | 12.5% | 修改完善已提交的需求规格说明书 |
危利 | 12.5% | 数据库设计 |
霍金池 | 13% | 确定团队Alpha版本要实现的功能 |
张竣淇 | 13% | 制定团队的编码规范 |
瞿煌人 | 12.5% | 项目的后端架构设计 |
Leangoo的截图
4084934.png)