1.需求规格说明书完善
1.1 不足之处修改
- 修改了目录顺序
- 增加了一般约束,外部接口需求,功能验收标准
- 增加了一个服务器(web)的界面以及管理员类
1.2 Github链接
2.编码规范
(以SUN的标准Java代码规范为基础)
2.1包名
使用小写字母如 xxx.settlment。
单词间不要用字符隔开,比如 settlment.jsfutil,而不要settlement.jsf_util。
2.2类名
- 首字母大写。比如 SupplierService。
2.3方法名
- 首字母小写,如 addOrder() 。
- 动词在前,名词在后,如 addOrder()。
2.4域名
- 静态常量全大写用下划线分割,如
public static find String ORDER_PAID_EVENT = "ORDER_PAID_EVENT";
- 枚举全大写,用下划线分割,如
public enum Events {
ORDER_PAID,
ORDER_CREATED
}
- 其他首字母小写,骆驼法则,如:
public String orderName;
2.5局部变量名
- 参数和局部变量名首字母小写,骆驼法则。尽量不要和域冲突,尽量表达这个变量在方法中的意义。
2.6行宽
- 行宽度不要超过130。
2.7域格式
- 每行只能声明一个域。
- 域的声明用空行隔开。
2.8空格的使用
- 二元三元运算符两边用一个空格隔开。如下:
a + b = c;
b - d = e;
return a == b ? 1 : 0;
- 逗号语句后如不还行,紧跟一个空格。如下:
call(a, b, c);
2.9 缩进风格
- 大括号的开始在代码块开始的下一行,闭合在和代码块同一缩进的行首,例如:
public void compute(String arg)
{
if (arg.length() > 0) {
System.out.println(arg);
}
2.10 注释规范
- 注释宜少二精,不宜多而滥,更不能误导
- 过于详细的注释,对显而易见的代码添加的注释,罗嗦的注释,还不如不写
- 注释不是用来管理代码版本的,如果有代码不要了,直接删除,svn会有记录的,不要注释掉,否则以后没人知道那段注释掉的代码该不该删除。
- 较长的代码块要用
/*------ start: ------*/
/*-------- end: -------*/
- 行内注释。行内注释用 // 写在行尾
2.11善用TODO:
- 在代码中加入 //TODO: ,大部分的ide都会帮你提示,让你知道你还有什么事没有做。比如:
if (order.isPaid()) {
//TODO: 更新订单
}
3.数据库ER图
注释:
- Article:文章
- ArticleNo:文章编号
- Author:作者
- Source:来源
- Title:文章标题
- Tag1,Tag2,Tag3:文章标签
4.后端架构设计
架构风格:
RESTful
一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
后端框架选用
本项目后端采用Spring
框架,该框架为J2EE框架,选用该框架的原因有如下几点:
Spring是全面的和模块化的。
Spring是用于测试驱动工程的理想的framework。
Hibernate将对数据库的操作转换为对Java对象的操作,从而简化开发。通过修改一个“持久化”对象的属性从而修改数据库表中对应的记录数据。
Hibernate提供线程和进程两个级别的缓存提升应用程序性能。
详细技术说明:
Spring+Hibernate框架
1.实现MC模式(Model&Controller,View交给客户端),使用Mysql数据库和Apache的Tomcat服务器
2.与客户端的数据传送使用JSON格式
3.在异常处理方面,创建独立的异常包和相应的异常类,并将部分需要由客户端处理的异常通过json格式传递相应的规定好的异常码。
4.防止sql注入攻击,采用hibernate的动态参数绑定。
5.分而治之
我们的简阅App主要的功能为阅读,为了优化阅读体验又扩展出很多其他的功能,有的功能是在客户端的,用户可以直观地看到,有的功能是在后台运行的,用户体验是在潜移默化的提高。经过筛选和优先级的选择,我们将项目的 alpha 版本要实现的功能分而治之,逐级向下进行功能的细分,大致结果如下:
- 新用户界面
- 欢迎
- 兴趣标签选择
- 主页
- 兴趣标签
- 刷新
- 主题
- 字体(字体、字号)
- 背景颜色
- 收藏
- 更多
- 收藏夹
- 分享
- 意见反馈
- UI 设计
后台:
- 服务端
- 寻找文章
- 服务器搭建
- 客户端交互
- 接受意见反馈
- 推送文章
- 数据库交互
- 文章分类
- 文章存入数据库
- 从数据库提取文章
- 数据库
- 服务器搭建
- 创建服务器对象
- 增、删、分类等操作
文档:
- 代码规范
- 需求说明书
- 用户手册
- 宣传手册
Github Issues 及工作分配
工作安排情况
工作认领
学号 | 认领任务 |
---|---|
310 | 代码规范拟定,后端架构设计,撰写用户手册 |
316 | 需求规格说明书,队内协调,协助服务器设计,精神导师 |
908 | 服务器构建维护测试,核心算法支持 |
308 | 服务器构建维护测试,核心算法支持 |
306 | 代码规范拟定,数据库设计,项目管理推进 |
309 | 领袖,代码规范拟定,组织会议,涉猎数据库、后端架构 |
627 | 软件UI设计,测试,宣传文案 |
629 | 软件UI设计,测试,宣传文案 |
TODOList
时间 | 任务 | 人员 |
---|---|---|
10.23-10.29 | 初拟代码规范 | 309,306,310 |
服务器测试、框架搭建 | 308,908 | |
初步架构设计 | 310 | |
需求规格说明书终版 | 316 | |
UI 设计 | 627,629 | |
10.30-11.05 | UI 设计改进 | 627,629 |
架构设计 | 309,310 | |
测试计划 | 308,908 | |
数据库设计 | 310,306,309 | |
11.06-11.16 | 组织站立式会议 | 310,306,309 |
最终编码 | 全组人员 | |
客户端测试 | 627,629 | |
服务器端编码 | 316 | |
11.17-11.19 | 项目完善 | 全组人员 |
用户试用反馈 | 306,309 | |
测试计划改进 | 308,908 | |
总结 | 全组人员 | |
11.20-11.26 | 组织会议 | 309 |
最终测试 | 全组人员 | |
项目管理推进 | 316,306 | |
11.27-12.03 | 正式版本完善 | 全组人员 |
撰写用户手册 | 309,310 | |
12.04-12.10 | 撰写宣传文案和推广 | 627,629 |
燃尽图
jianyueAPP/jianyue
7.队员分工
李鸣 | 王国华 | 吴君毅 | 陈裕鹏 | 黄浩 | 侯振源 | 陈晓凯 | 付逸豪 |
完善需求规格说明书 | 分而治之 | 分而治之 | 数据库ER图 | 后端架构设计 | 代码规范 | 后端架构设计 | 后端架构设计 |
10% | 13% | 13% | 12% | 15% | 15% | 10% | 12% |