17秋 软件工程 团队第四次作业 系统设计
2017-10-25 22:43
363 查看
题目:系统设计
17秋 软件工程 团队第四次作业 系统设计
1.需求规格说明书的修改与完善
修改后的需求规格说明书:Requirements-Specification。修改问题:
1.将功能约束的图片转为Markdown表格;
2.新增管理员后台功能;
3.修改语法错误等。
2.团队的编码规范
详见:project-specification。其中,Java的编码规范遵守Alibaba的编码规范,C++、Python的编码规范遵守Google的编码规范。
我们使用了自动化工具,如cpplint.py等对代码格式进行检查,要求组员在提交代码时需要先通过自动化工具的检查。
此外,我们要求各个组员在对项目进行commit、RP、修改文档时,遵守关于如何更好地使用Github的一些建议中所总结的规范与建议。
并在编码时遵守以下额外约束:
缩进为4个空格;
在遇到复杂表达式时,用括号表明逻辑优先级;
注释要求体现:1.代码模块的作用;2.这样做的原因;3.特别需要注意的地方;
变量名遵守驼峰命名法,形如xmatchCodeSpecification;
代码逻辑分段,每一个代码段(函数方法、类等)都需要有注释;
对于左括号是否换行没有具体要求,但是同一文件内部的左括号需要保持统一。
有如下理由:
保证代码简洁明了,具有易读性,无二义性;
采用互联网公司成熟的编码规范使项目更加规范;
确保团队开发时的效率;
合理、适当的注释能够避免未来许多额外的交接问题。
3.Powerdesigner
数据库设计部门分为六个表和八个关系,表包含:部门管理员、部门、活动、排班表、部员(学生)。
部门管理员发布活动和通知、管理部门、生成排班表。学生参加部门、活动、获取排班信息和通知。
4.架构设计
4.1.架构定义
软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计
4.2.整体描述
4.2.1 MVC设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
4.2.2 框架
4.2.2.1 微服务框架: SpringBootSpringBoot用于编写 Restful 风格的API供APP端和WEB端统一调用,其自动配置特性适用于快速开发,属于微服务框架。
特点:
1.创建独立的spring应用。
2.嵌入Tomcat, Jetty Undertow 而且不需要部署他们。
3.提供的“starters”poms来简化Maven配置
4.尽可能自动配置spring应用。
5.提供生产指标,健壮检查和外部化配置
6.绝对没有代码生成和XML配置要求
4.2.2.2 ORM框架: Hibernate
特点:
对象/关系数据库映射(ORM)
它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想
透明持久化(persistent)
带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。(例如,用作跟表示层打交道的数据传输对象。)
事务Transaction(org.hibernate.Transaction)
应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。
它没有侵入性,即所谓的轻量级框架
移植性好
缓存机制,提供一级缓存和二级缓存
简洁的HQL编程
4.2.2.3 数据库:Mysql
免费、快速、多线程、多用户的SQL数据库服务器
核心程序采用完全的多线程编程
系统兼容性良好
支持JDBC,易与Hibernate集成
拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性
强大的查询功能
4.2.2.4 服务器容器:Tomcat 9
免费
性能稳定
技术先进,支持最新标准(SUN的专家经常和TOMCAT的开发人员在一起混)
占用的系统资源小,扩展性好,且支持负载平衡与邮件服务
跨平台
3.架构图
5.确定团队分工
5.1.象限法及WBS图
Alpha版本功能简述:
部员模块
账号管理:账户登录,修改信息以及绑定手机
提交入部申请,查看活动通知
查看排班,请假/换班以及活动签到
管理员模块
账号管理:账户登录,修改信息
新建/解散部门,一键排班
发布通知,发送短信/邮件
超级管理员模块
登录功能
审批活动申请以及新建部门申请
5.2.Issues分配后的截图
其中的一个issue:功能实现流程
5.3.组员及其认领工作
344:明确团队分工、架构设计、需求规格说明书修订、前端开发;336:ER图设计、文档撰写;
324:需求规格说明书修订;
339:通过象限法确定项目优先级,制作WBS图;
340:UI设计;
209:后端架构设计、项目规范制定、需求规格说明书修订;
333:后端架构设计;
433:UI设计。
5.4.TODOList
登录与注册 1 day页面编写 : 1 hour
部门管理员注册与绑定手机: 2 hour
用户登录/管理员登录: 0.5hour
忘记密码功能: 0.5 hour
部门管理人员基础信息 : 1 day
页面编写: 1.5 hour
新建部门与数据交互 : 2 hour
部门数据获取与修改 : 1 hour
删除/解散部门 : 0.5 hour
修改密码: 0.
部员基础信息: 1 day
页面编写 : 1 hour
信息完善 : 0.4 hour
绑定手机 : 0.5 hour
修改密码 : 0.2 hour
部员信息列表 1 day
页面实现: 1.5 hour
列表信息获取与显示: 1 hour
页面跳转:0.5 hour
部员信息详情: 1 day
页面编写: 1 hour
信息获取与显示: 0.5 hour
拨打手机与发送短信 : 1 hour
删除部员: 0.5 hour
入部申请管理: 1 day
页面编写: 1 hour
部员提交申请 : 1 hour
部门管理人员查看列表: 1 hour
部门管理人员审批: 1 hour
通知信息管理(管理员) 2 day
页面编写: 2 hour
通知信息查看及检索: 1 hour
发布校内通知: 1 hour
发布部门通知: 1hour
通知信息管理(部员) 0.5 day
页面编写: 1 hour
通知信息查看及检索: 1 hour
部门活动管理 3 day
页面编写: 1.5 hour
活动添加/发布: 1.5 hour
查看活动报名信息: 1 hour
活动相册: 3 hour
查看历史活动 : 0.5 hour
活动签到: 2.5 hour
部员活动管理 1 day
活动列表: 1 hour
活动详情: 1 hour
参加活动: 1 hour
活动签到: 1.5 hour
短信/邮件群发 1.5 day
页面编写: 1.5 hour
自定义短信模板: 1.5 hour
选择发送对象和发送短信: 2 hour
发送邮件: 1.5 hour
群发记录: 1 hour
排班 1.5 day
页面编写: 1 hour
查看已获取成员课表数: 2 hour
一键排班: 1.5 hour
换班: 1 hour
5.5.燃尽图
6.分工和工作量比例
世强:20%;媛媛:15%;
港晨:15%;
陈翔:15%;
杰麟:10%;
伟航:10%;
诗尧:8%;
树民:7%。
相关文章推荐
- 2016福州大学软件工程第四次团队作业-系统设计成绩汇总
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 博客整理——第四次团队作业系统设计
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 第四次团队作业——系统设计
- 团队作业3——需求改进&系统设计
- 17秋 软件工程 团队第三次作业 预则立&他山之石
- 17秋 软件工程 团队第五次作业 Alpha Scrum7
- 团队作业3——需求改进&系统设计
- 团队作业3——需求改进&系统设计
- 团队作业3——需求改进&系统设计
- 团队作业3——需求改进&系统设计
- 团队作业3——需求改进&系统设计
- 团队作业3——需求改进&系统设计
- 作业6 :团队作业——学生成绩录入系统设计与实现(1)