zoukankan      html  css  js  c++  java
  • 团队作业——系统设计(人月神教)

    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%|

  • 相关阅读:
    C# Asp.net 获取上上次请求的url
    Asp.net 中 Get和Post 的用法
    慎用JavaScript:void(0)
    JS验证RadioButton列表或CheckBox列表是否已填写
    .net 中viewstate的原理和使用
    Javascript与C#互相调用
    获取当前页面URL并UTF8编码之
    C#信息采集工具实现
    C#泛型编程
    C#正则表达式提取HTML中IMG标签的URL地址 .
  • 原文地址:https://www.cnblogs.com/Flame09/p/7745309.html
Copyright © 2011-2022 走看看