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

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图

1232817-20171027221241242-662114623.png
1232817-20171027223600851-309924348.png

注释:

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

4.后端架构设计

1232817-20171027223552492-1565936337.png

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

886303-20171027204418258-389516677.png
功能分为客户端、后台、文档。
客户端:

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

后台:

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

文档:

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

Github Issues 及工作分配

886303-20171028004230539-444041578.png

工作安排情况

工作认领

学号认领任务
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.05UI 设计改进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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值