软件开发计划书
软件开发计划书
项目名称:开发实验室管理系统
目 录
1引言 ---------------------------------------------------------------------------------------------- 3
1.1编写目的 --------------------------------------------------------------------------------- 3
1.2背景 --------------------------------------------------------------------------------------- 3
1.3定义 --------------------------------------------------------------------------------------- 4
1.4参考资料 --------------------------------------------------------------------------------- 4
1.5 系统动机 -------------------------------------------------------------------------------- 4
1.6标准、条件和约定 --------------------------------------------------------------------- 5
1.7编写文档的WBS ---------------------------------------------------------------------- 5 2项目概述 ---------------------------------------------------------------------------------------- 6
2.1工作内容 --------------------------------------------------------------------------------- 6
2.2主要参加人员 --------------------------------------------------------------------------- 6
2.3产品及成果 ------------------------------------------------------------------------------ 6
2.3.1程序 ------------------------------------------------------------------------------- 6
2.3.2文件 ------------------------------------------------------------------------------- 6
2.3.3服务 ------------------------------------------------------------------------------- 6
2.3.4非移交产品 ---------------------------------------------------------------------- 6
2.4验收标准 -------------------------------------------------------------------------------- 8
2.4.1代码的验收 ---------------------------------------------------------------------- 8
2.4.2 文档验收 ------------------------------------------------------------------------ 8
2.4.3 服务验收 ------------------------------------------------------------------------ 8
2.5完成项目的最迟期限 --------------------------------------- 错误!未定义书签。
2.6本计划的审查者与批准者 ---------------------------------- 错误!未定义书签。 3实施总计划 ------------------------------------------------------------------------------------- 8
3.1开发过程 --------------------------------------------------------------------------------- 8
3.1.1 需求分析 ------------------------------------------------------------------------ 8
3.1.2 系统设计 ------------------------------------------------------------------------ 8
3.1.3 编码及测试阶段 --------------------------------------------------------------- 8
3.1.4 文档、产品部署 --------------------------------------------------------------- 9
3.1.5 项目总结 ------------------------------------------------------------------------ 9
3.2工作任务的分解 ---------------------------------------------------------------------- 10
3.3接口人员 ------------------------------------------------------------------------------- 11
3.4进度 ------------------------------------------------------------------------------------- 11
3.5预算 ------------------------------------------------------------------------------------- 12
3.6关键问题 ------------------------------------------------------------------------------- 12 4支持条件 -------------------------------------------------------------------------------------- 13
4.1计算机系统支持 ---------------------------------------------------------------------- 13
4.2需要用户承担的工作 ---------------------------------------------------------------- 14
4.3需由外单位提供的条件 ------------------------------------------------------------- 14 5专题计划要点 -------------------------------------------------------------------------------- 15
5.1开发人员培训计划 ------------------------------------------------------------------ 15
5.2 测试计划 ----------------------------------------------------------------------------- 15
5.3 质量保证计划 ----------------------------------------------------------------------- 15
5.4 人员配置计划 ----------------------------------------------------------------------- 15
5.5 客户培训计划 ----------------------------------------------------------------------- 15
5.6 安全保密计划 ----------------------------------------------------------------------- 15
1引言
1.1编写目的
对软件需求的全面、深入的理解是软件开发工作获得成功的前提条件,作为软件定义时期的最后一个阶段,需求分析的任务是明确用户对目标系统的需求,主要是确定对系统的综合要求,同时分析系统的数据要求。它能提高软件开发过程的能见度,便于实现软件开发人员对开发过程的工程化管理与控制,便于项目管理人员、开发人员、测试人员、维护人员之间更好地交流与协作。
本项目开发计划用于从总体上指导《开发实验室管理系统》项目顺利进行并最终得到通过评审的项目产品。本项目开发计划面向项目组全体成员。
1.2背景
目前国内学校教学设备自动化管理水平不是很高。大多数学校设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。某些使用设备管理系统学校,对设备的跟踪信息即使能体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校设备管理信息化仍处于较低水平。
因而学生只能在规定的时间内进入实验室,按照实验教科书上的步骤进行实验。大多数学生在实验课上充当的是实验记录员的角色,创意意识和创造性思维根本没有得到锻炼。
通过实验室的开放,可以提升学生的实验热情,提高实验教学质量,促进实验教师业务水平的提高,同时还可以提高仪器设备的利用率。在此基础上,考虑设计一个开放实验室管理系统,用以进行开放实验室的管理,提高工业效率。系统构建在Internet上,任何一台联网的计算机都可以通过Internet访问本系统,通过网页发布实验室综合信息,包括教学计划、实验课程介绍、规章制度、操作规程、数据图表、老师队伍、实验教材讲义、开放实验室管理、通知、成绩公布等。
1.3定义
专门术语:
SQL SERVER:系统服务器所使用的数据库关系系统(DBMS)。
SQL:一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK:数据库的错误恢复机制。
缩写:
系统:若未特别指出,统指本开放实验室管理系统。
SQL:Structured Query Language(结构化查询语言)。
ATM:Asynchronous Transfer Mode (异步传输模式)。
UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。
UDP :User Datagram Protocol 是无连接的传输层协议
分布式代理: 可隐藏服务器ip ,减少服务器的危险;
服务器代理: 可验证用户数据的正确性,以及安全性,进行处理
三级代理: 减轻服务器压力,可实现智能作弊系统!
1.4参考资料
该文档主要参考,教材《软件工程-理论与实践》(作者:美 Shari Lawrence Pfleeger,清华大学出版社,2003年8月第一版)与某些项目实例而写
ASP --- 电子工业出版社
数据库原理---电子工业出版社
SQL Server--- 电子工业出版社
1.5 系统动机
随着现代教育技术的不断发展和教学手段的进一步改革,充分利用学校现有的多媒体设施,校园网建立教学网站,使实验室建设与课堂教学同步来满足多媒体和网络教学的需求。
1.6标准、条件和约定
本项目遵从以下标准:
GB/T 13702-1992 计算机软件分类与代码
GB/T 20918-2007 信息技术
GB/T 19003-2008 软件工程
GB/T 5538-1995 软件工程标准分类法
GB/T 9386-2008 计算机富安居测试文档编制
GB/T 9385-2008 计算机软件需求规格说明
GB/T 5532-2008 计算机软件测试规范
GB/T 18221-2000 信息技术程序设计语言
GB/T 11457-2006 信息技术 软件工程
GB/T 8567-2006 计算机软件文档编制规范
1.7编写文档的WBS
编写文档任务
任务调度 收集材料 分类编写 检查验收 总结成果
任务规划 实际考察 目录章节 阶段检查 阶段总结
任务分配 网上资源 详细编写 汇总检查 汇总总结
2项目概述
2.1工作内容
1、制作和修订项目开发计划;
2、进行计划跟踪与监控;
3、配合SQA的质量保证工作;
4、工作产品及时进行受控管理;
5、按计划提请阶段评审;
6、提交测试部门评测开发产品;
7、交付最终工作产品。
8、项目实施总结
9、项目验收
2.2主要参加人员
同一小组
2.3产品及成果
2.3.1程序
软件名称:开放实验室管理系统
编程语言:C#
2.3.2文件
用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户
对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情
况的有关知识,特别是操作方法的具体细节。
软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支
持软件的说明、维护过程的说明,便于软件的维护。
2.3.3服务
查询实验设备的使用情况如:是否损坏,数量,金额,新购买等。
2.3.4非移交产品
可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会
因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实
施方案,说明并论证所选定实施方案的理由。
项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分
工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资
源等。
软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户
界面及运行环境等做出详细的说明。它是在用户与开发人员双方对软件
需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基
础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系
统数据文件做好准备。
概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能
分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻
辑流程等。
测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计
划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,
对测试结果加以分析,并提出测试的结论意见。
开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况
报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的
问题和解决的办法以及下个月的打算等。
项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,
总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,
此外,还需对开发工作做出评价,总结出经验和教训。
软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问
题所属模块等,为软件修改提供准备文档。
软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改
等问题,应将存在的问题、修改的考虑以及修改的影响做出详细的描述,提交审批。
源程序:软件开发过程中的全部代码以及注释。
2.4验收标准
2.4.1代码的验收
最后在交付客户之前进行小组内评审,代码编写符合HB6465标准,与文档说明保持一致,代码书写风格统一,采用标准规范,没有下列错误:由于软件缺陷造成丢失数据,不符合设计要求,响应时间太长无法接受等问题。
2.4.2 文档验收
最后在交付客户之前进行小组内评审,文档格式符合HB6465标准, 功能符合与客户的合同要求,清晰易读,没有语病与歧义。
2.4.3 服务验收
服务硬件达到文档说明的要求,人员技术考核合格,定期上门维护。
3实施总计划
3.1开发过程
3.1.1 需求分析
需求分析是整个设计中重要的一环,当可行性分析完成,项目立项,确定开发角色后,有关的设计开发人员与相关业务人员共同对业务流程、管理方式进行分析,并进行资料的收集、整理。在完成了对有关数据信息的收集、归纳和分析整理后,确定了用户需求,对软件必须完成的功能进行了定义,在此基础上完成了数据定义,建立了数据字典。
3.1.2 系统设计
10开后完成对整个系统的分析设计,对概念模型、存储模式、完整性控制、存取权限等进行了定义,对系统功能各模块进行了详细设计、定义了数据库总体结构、编码命名规范。
3.1.3 编码及测试阶段
三个月的时间,完成程序设计和系统测试,完成了数据库建立及程序的编制调试。为了避免错误积累,采用边开发边测试的基本模式,对每个模块都安排专人进行单独测试,系统联调及系统测试,对系统处理逻辑、例外处理能力、容错能力等进行大规模的测试,对发现的问题进行彻底纠正。
3.1.4 文档、产品部署
5天,完成用户培训工作,编写各类文档,系统投入运行阶段。
3.1.5 项目总结
项目结束后用一周左右时间,对项目研发、部署等开发过程中的问题、经验教训总结备案,以利于项目经验的积累和开发进的的缩短。
3.2工作任务的分解
表3.1 工作情况
3.3接口人员
负责本项目同用户的接口人员为6人,由软件发开方派专人,按客户要求,指定地点安装,调试,运行并给客户演示,在后期中负责维护和更新。
3.4进度
方法:采用结构化开发
设置模块开发优先级:通过对游戏平台的特点和信息流程等的分析,确定各模块开发的先后次序。
具体开发进度安排如下:
注:有四个里程碑,分别是需求完成时、详细设计完成时、系统编码完成时、整个项目工作完成时。
表3.2 里程碑事件
3.5预算
表3.4表劳务的预算(人员成本 /月)
表3.5经费的预算
3.6关键问题
表 3.6 项目风险因素
影响本计划完成的主要问题有: 没有经费和硬件设施有限
用户需求不清,存在误解及二义性 第一次开发软件,开发人员没有实际经验
时间有限,没有足够的开发时间
4支持条件
4.1计算机系统支持
开发时需要的支持条件: 硬件:
服务器:Xeon E5-2620 v2 2.1GHz 6核 12线程, 内存:16G以上; 硬盘:2TB以上;
网络适配器:100MB/1000MB自适应; 打印机一台 UPS(选配)
工作站:Intel I5以上微机; 内存:4GB
硬盘:至少500GB以上;
网络适配器:100MB/1000MB自适应 网络: 至少一台服务器 至少一台工作站
使用TCP/IP协议的局域网 软件:
操作系统为Window 7,使用集成开发工具Eclipse Kepler Service Release 2,数据库采用SQL Server 2010,项目运行环境为iis6.0.
运行时需要的支持条件: 一、服务器的要求
1.服务器的中央处理部件(CPU)建议使用Intel 至强E5-2620 v2以上)处理器芯片。
2.服务器内存必须使用服务器专用DDR3内存
3.为了保证数据存储的绝对可靠,硬盘应使用磁盘冗余阵列(RAID 01) 4.为了防止服务器不可预测的故障,或者服务器的定期维护对公司整个业务造成的影响,所有建议使用两台服务器。两台服务器应构成双机热备份。中间使用Watchdog电路。这样的结构可以保证整个系统的长时间不间断工作,即使在服务器定期维护的时候也可以使用后备另一台服务器工作。
5.服务器应支持热插拔电源
6.服务器必须配备UPS(不间断电源)。
7.服务器应该放在学校内部。不然无法进行程序调试。 8.服务器应该必须有固定IP地址。
9.其他性能在经济条件允许的情况下,应该尽量使用高速稳定的配件。 二、服务器上应该配备的软件
1.操作系统:Microsoft Windows server 2012 R2 2.数据库:Microsoft SQL Server 2010 (简体中文版) 3.服务器必须使用专业的防火墙和反病毒软件。
4.除了为了运行必须配备的程序以外,服务器上建议尽量不要安装其他无关程序,以减少程序的混乱或者程序的意外冲突。
5.各系的操作系统尽量统一。(Windows 7系列)。这样可以避免管理软件因为操作系统版本不一致造成的过多的开销。
6.各系的机器必须也安装反病毒软件和防火墙。以防止网络上的蠕虫病毒在整个网络范围内的蔓延。
7.如果要打印涉及字段比较多的报表,应该配备针式打印机。
4.2需要用户承担的工作
(待议)
4.3需由外单位提供的条件
本系统为独立开发,不需要外单位提供条件。
5专题计划要点
5.1开发人员培训计划
2015年9月18日起,至2015年10月28日,共十天实习期间,上午进行软件工程项目开发各项内容的专题知识讲座;下午进行开发设计。
表5.1 小组培训内容
5.2 测试计划
2015年1月2日—2015年1月13日对软件进行各项测试工作;
5.3 质量保证计划
严格按照项目开发过程中的各项步骤,从项目立项,可行性研究报告、需求分析报告、项目开发计划等,具体实施;
5.4 人员配置计划
该项目开发小组共 人:组长: 组员:
5.5 客户培训计划
在软件实际应用后的前一个月,对用户进行软件操作方法的具体培训;
5.6 安全保密计划
在从项目开发阶段到最后软件的正式发布期间,做好项目的保密工作,小组成员对所有项目所有相关文档进行加密,做好备份工作。