团队作业——系统设计(人月神教)

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图

团队作业——系统设计(人月神教)_第1张图片
团队作业——系统设计(人月神教)_第2张图片

注释:

  • Article:文章
  • ArticleNo:文章编号
  • Author:作者
  • Source:来源
  • Title:文章标题
  • Tag1,Tag2,Tag3:文章标签

4.后端架构设计

团队作业——系统设计(人月神教)_第3张图片

架构风格:
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 版本要实现的功能分而治之,逐级向下进行功能的细分,大致结果如下:

团队作业——系统设计(人月神教)_第4张图片
功能分为客户端、后台、文档。
客户端:

  • 新用户界面
    • 欢迎
    • 兴趣标签选择
  • 主页
    • 兴趣标签
    • 刷新
    • 主题
      • 字体(字体、字号)
      • 背景颜色
    • 收藏
    • 更多
      • 收藏夹
      • 分享
      • 意见反馈
    • UI 设计

后台:

  • 服务端
    • 寻找文章
    • 服务器搭建
    • 客户端交互
      • 接受意见反馈
      • 推送文章
    • 数据库交互
      • 文章分类
      • 文章存入数据库
      • 从数据库提取文章
  • 数据库
    • 服务器搭建
    • 创建服务器对象
    • 增、删、分类等操作

文档:

  • 代码规范
  • 需求说明书
  • 用户手册
  • 宣传手册

Github Issues 及工作分配

团队作业——系统设计(人月神教)_第5张图片

工作安排情况

工作认领

学号 认领任务
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%

转载于:https://www.cnblogs.com/Flame09/p/7745309.html

你可能感兴趣的:(数据库,java,后端)