软件计划文档

系统概述

本系统是一个前后端分离的Web应用程序,前端主要使用Vue开发,后端主要提供了SpringBoot/Gin实现,并提供了docker-compose一键部署的支持,详见:SE2022-Qiaqia/dockeropen in new window

软件开发模型

软件生命周期是否首先定义好所有的需求是否有多个开发周期是否有中间软件
敏捷开发✔️✔️

项目估算

模块划分及规模估算

模块名称模块规模
用户模块易,主要限于用户数据表,主要操作为修改信息等。
认证/授权模块难,涉及到多个表,需要针对操作进行划分。
选课撤课模块中,涉及到用户表和选课表等,需考察时间段等。
课程查询模块难,涉及到各种表:学期、教师、学院等,需要复杂的条件查询。

进度估计

阶段与任务内容开始日期结束日期状态
Stage1
项目选题、人员分工2022-03-142022-03-19✔️
需求确定2022-03-202022-03-27✔️
Stage2
界面设计2022-03-282022-04-15✔️
数据库设计2022-03-282022-04-05✔️
后端API设计2022-04-072022-04-15✔️
文档撰写2022-03-282022-04-15✔️
Stage3
后端API实现、单元测试2022-04-162022-05-16✔️
前端API对接2022-04-162022-05-16✔️
用户测试、跟进2022-04-162022-05-16✔️
Stage4
最终测试2022-05-172022-06-01✔️
完善系统2022-05-172022-06-01✔️
文档完善2022-05-172022-06-01✔️

参考图例:

📝🏃✔️
计划中进行中已完成

WARNING

每个阶段都包括了文档跟进。

工作量估算

阶段阶段工作量估计占总工作量百分比工作量(人×天)
软件计划2.5%10.5
需求调研2.5%10.5
需求分析5%21
需求设计5%21
详细设计5%21
编码40%168
测试30%126
部署及验收10%42
合计100%420

成本估算

对比了功能类似,工作量相近的选课系统,总计70360每人每月。

人力(人)时间(天)成本(元)总计(元)
项目范围规划
确定项目范围
215001200
定义预备资源11300
获得核心资源11400
分析/软件需求
行为需求
126001100
用户界面设计11600
数据需求分析11200
编写需求规格说明书11200
制定交付期限10.5100
用户界面设计228001800
数据库设计12400
功能详细设计12400
审阅和修改功能规范11200

人力资源安排

参见项目人员分工

开发环境

硬件环境

  • CPU: Intel Ice Lake(2.7GHz/3.3GHz)
  • RAM: 2GB

软件环境

测试环境

详见测试计划文档

风险评估和控制

风险描述降低风险描述
用户身份认证机制存在缺陷,如用户的身份验证仅靠密码识别。一般采用用户名称和密码的形式进行身份认证。只有数据库已保存该用户的记录,并且该用户具有合法访问选课系统的权限才能登陆
服务器的硬件故障定期或不定期进行备份,防止系统遇到 不可控制的意外事故。
网络上的各种对数据库及个人终端的攻击服务器前端应安装防火墙和入侵系统检测来保护服务器。
数据在传输中受到泄露,更改,破坏对敏感数据在进入网络传输前进行加密。
管理人员操作不当导致系统漏洞建立完善的安全管理策略,逻辑安全策略,定期对安全策略的实施过程和结果进行分析。

测试计划

详见测试计划文档

评审计划

选课系统各阶段的评审内容如下表

评审活动名称评审对象评审人员评审活动时间
需求调研评审需求规定用户,客户,软件开发人员2022-03-21
软件需求评审需求文档用户,客户,软件开发人员2022-03-21
概要设计评审概要设计说明书用户,客户,软件开发人员2022-03-26
详细设计评审详细设计说明书用户,客户,软件开发人员2022-04-18
测试阶段评审软件测试计划用户,客户,软件开发人员2022-05-05
验收评审成套文档用户,客户,软件开发人员2022-05-12

质量保证计划

项目QA人员组成:客户和软件开发人员

QA任务计划日期活动形式QA人员项目组参与人员
需求分析评审2022-04-21评审会客户和软件开发人员软件开发人员
系统总体设计评审2022-04-21评审会客户和软件开发人员软件开发人员
详细设计评审2022-04-26评审会客户和软件开发人员软件开发人员
代码评审2022-05-18评审会客户和软件开发人员软件开发人员
测试评审2022-06-05评审会客户和软件开发人员软件开发人员
系统测试2022-06-12评审会客户和软件开发人员软件开发人员
Last Updated:
Contributors: SalHe Li, tlssnp, SalHe