项目开发计划(GB856T——88)
1引言
1.1编写目的
在完成《自动排课系统》软件市场的前期调查,同时与多所高校的师生进行全面深入的研究和分析,撰写出此份项目开发计划书。
次项目计划书对《自动排课系统》软件做了全面细致的开发计划,明确软件应具有的功能、性能与界面,是系统分析人员与软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
1.2 背景
- 待开发的软件系统的名称:自动排课系统。
- 本项目由东北林业大学教务处提出,指派给农信吴彦祖进行开发,主要是针对各大高校教务排课使用。
- 本项目采用客户机/服务器原理,客户端程序是建立在Windows xp系统及以上,以Visual Studio 2019,SQL SERVER为开发工具和数据库
1.3定义
专业术语:
C#:开发编程语言
SQL SEREVER:系统服务器所使用的数据库关系系统(DBMS)
SQL:一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值相互不同。
外部主键:数据库表中与其他主键关联的域。
ROLLBACK:数据库的错误恢复机制。
缩写:
系统:自动排课系统。
SQL:结构化查询语言。
ATM:异步传输模式。
UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。
UDP:无连接的传输层协议。
分布式代理:可隐藏服务器ip,减少服务器危险;
服务器代理:可验证用户数据的正确性,以及安全性,进行处理
三级代理:减轻服务器压力。
1.4参考资料
(1)王先国等.软件工程实践教程.北京:电子工业出版社,2010
(2)李龙澎.软件工程课程设计.北京:机械工业出版社,2010
(3)张海藩.软件工程导论.北京:清华大学出版社,2008
2项目概述
2.1工作内容
自动排课系统中所涉及到的各项工作有:项目开发计划,需求规格说明,概要设计和详细设计,系统代码实现,软件的测试和维护,编写测试计划和测试报告,用户手册,运行说明等。
该系统主要包括教师、教务管理员两类使用者。教师主要是排课管理和课表管理,教务管理员主要是对教师管理、教学计划、教学任务、个人信息管理等。
2.2主要参加人员
李宗泽
钱磊
龙雄俊
2.3产品
2.3.1程序
系统名称:自动排课系统
软件开发环境:Visual Studio 2019
数据库:SQL SERVER
编程语言:C#
2.3.2文件
《自动排课系统项目开发计划书》
《自动排课系统软件需求说明书》
《自动排课系统概要设计说明书》
《自动排课系统详细设计说明书》
《自动排课系统数据库设计说明书》
2.3.3服务
列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。
2.3.4非移交的产品
项目开发计划书
2.4验收标准
(1)测试用例不通过数的比例<1%;
(2)功能齐全且不存在导致用户的工作不能完成的错误;
(3)用户界面方面不存在的问题导致用户的工作不能顺利进行得错误;
(4)所有提交的错误、一场都得到改正;
(5)良好的用户体验;
(6)各个文档都应满足GB8567的相关标准;
(7)按时交付系统,并提供安装、培训。
2.5完成项目的最迟期限
东北林业大学70周年校庆
2.6本计划的批准者和批准日期
批准者:东北林业大学
批准日期:2021/5/4
3实施计划
3.1工作任务的分解与人员分工
组长:任务:(1)系统总的开发计划书
(2)每周至少组织小组讨论一次,记录讨论内容,列出本周开发计划
(3)项目开发进度的管理
(4)团队的组织和协调
设计:任务:(1)参与小组讨论
(2)进行系统的需求分析和系统设计
(3)完成系统需求说明书和系统设计说明书
(4)编写测试计划,参与系统测试,记录Bug跟踪列表
(5)协助文档人员完成用户相关文档
开发:任务:(1)参与小组讨论
(2)根据设计完成编码,并注释
(3)进行单元测试
美工和用户文档:任务:(1)界面的设计和美工
(2)用户手册的编写
3.2接口人员
负责本项目同用户的接口人员为李宗泽,由软件开发方派专人,按客户要求,制定地点安装,调试,运行并给客户演示,在后期中负责维护和更新。
3.3进度
方法:采用结构化开发
设置模块开发优先级:通过对自动排课系统的特点和信息流程等的分析,确定各模块开发的先后次序。
具体开发进度安排如下:
注:有四个里程碑,分别是需求完成时、详细设计完成时、系统编码完成时、整个项目工作完成时。
3.4预算
逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯设备和专用设备的租金等)和来源。
3.5关键问题
风险:
(1)专业基础知识不牢固:
本次项目开发过程中涉及的知识较多,给项目开发人员带来一定的困难
解决方案:进行相应的培训
(2)经验欠缺:
成员开发经验不足,使项目质量难以保证
解决方案:不断实践
(3)软件性能的影响:
本次开发过程中部分软件可能容易出现死机现象
解决方案:选择合适的软件,搭建良好的配置开发环境
主要问题:
- 没有经费和硬件设施有限
- 用户需求不清,存在误解二义性
- 第一次开发软件,开发人员没有实际经验
- 时间有限,没有足够的开发时间
4支持条件
4.1计算机系统支持
硬件:
服务器:PentiumⅢ500以上或更高。
内存:512M及以上
硬盘:至少80G以上
CD-ROM:32倍速以上
网络适配器:10MB/100MB自适应;
打印机一台
软件:
操作系统为Windows 10,使用集成开发工具Visual Studio 2019,数据库采用SQL Server2012
运行时需要的支撑条件:
- 服务器的中央处理部件建议使用PⅢ 1G(以上)Xeon处理器芯片
- 服务器内存必须使用服务器专用ECC内存
- 为了保证数据存储的绝对可靠,硬盘应使用磁盘冗余阵列
- 为了保证服务器不可预测的故障,或者服务器的定期维护对公司整个业务造成的影响,所有建议使用两台服务器。两台服务器应构成双机热备份。中间使用Watchdog电路。这样的结构可以保证整个系统的长时间不间断工作,即使在服务器定期维护的时候也可以使用另外一台服务器工作
- 服务器必须支持热插拔电源
- 服务器必须配备UPS
- 服务器必须使用专业的防火墙和反病毒软件
4.2需由用户承担的工作
项目开发计划阶段 | 对开发人员所做的项目开发计划作出批准 |
需求分析阶段 | 配合开发人员对系统的需求做出详细说明
|
概要设计阶段 | 配合开发人员进行概要设计
|
详细设计阶段 | 配合开发人员进行详细设计 (1)和系统的主要负责人、系统管理员与开发人员座谈帮助开发人员探讨业务细节 |
编码阶段 | 无 |
测试阶段 | 参与开发人员进行系统测试,主要是系统功能方面的测试,及时向开发人员做出反馈进行调整。 |
验收阶段 | 对于开发人员的新系统进行验收,确认开发成果 |
维护阶段 | 发现系统问题及时记录并反馈 |
4.3由外单位提供的条件
阶段 | 提供的工作 |
项目开发阶段 | 现有系统的工作流程图 |
需求分析阶段 | 确认系统的需求分析 |
编码测试阶段 | 要求学校教务处提供具体数据,并具有对SQL数据库的基础操作能力,以便以后对系统的信息进行管理 |
5专题计划要点
序号 | 计划名 | 要点 |
1 | 管理员培训计划 |
|
2 | 测试计划 |
|
3 | 安全保密计划 |
|
4 | 质量保证计划 |
|
5 | 配置管理计划 |
|
6 | 用户培训计划 | 基本无需培训 |