软件开发计划书

软件开发计划书

项目名称:开发实验室管理系统

目  录

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产品及成果------------------------------------------------------------------------------ - 8 -

2.3.1程序-------------------------------------------------------------------------------- - 8 -

2.3.2文件-------------------------------------------------------------------------------- - 8 -

2.3.3服务-------------------------------------------------------------------------------- - 8 -

2.3.4非移交产品---------------------------------------------------------------------- - 8 -

2.4验收标准--------------------------------------------------------------------------------- - 9 -

2.4.1代码的验收---------------------------------------------------------------------- - 9 -

2.4.2 文档验收------------------------------------------------------------------------- - 9 -

2.4.3 服务验收----------------------------------------------------------------------- - 10 -

2.5完成项目的最迟期限--------------------------------------------------------------- - 10 -

2.6本计划的审查者与批准者---------------------------------------------------------- - 10 -

3实施总计划------------------------------------------------------------------------------------- - 11 -

3.1开发过程-------------------------------------------------------------------------------- - 11 -

3.1.1 需求分析----------------------------------------------------------------------- - 11 -

3.1.2 系统设计----------------------------------------------------------------------- - 11 -

3.1.3 编码及测试阶段-------------------------------------------------------------- - 11 -

3.1.4 文档、产品部署-------------------------------------------------------------- - 11 -

3.1.5 项目总结----------------------------------------------------------------------- - 11 -

3.2工作任务的分解---------------------------------------------------------------------- - 12 -

3.3接口人员-------------------------------------------------------------------------------- - 13 -

3.4进度-------------------------------------------------------------------------------------- - 13 -

3.5预算-------------------------------------------------------------------------------------- - 14 -

3.6关键问题-------------------------------------------------------------------------------- - 14 -

4支持条件---------------------------------------------------------------------------------------- - 15 -

4.1计算机系统支持---------------------------------------------------------------------- - 15 -

4.2需要用户承担的工作---------------------------------------------------------------- - 16 -

4.3需由外单位提供的条件------------------------------------------------------------- - 17 -

5专题计划要点---------------------------------------------------------------------------------- - 18 -

5.1开发人员培训计划------------------------------------------------------------------ - 18 -

5.2 测试计划------------------------------------------------------------------------------ - 18 -

5.3 质量保证计划------------------------------------------------------------------------ - 18 -

5.4 人员配置计划------------------------------------------------------------------------ - 18 -

5.5 客户培训计划------------------------------------------------------------------------ - 19 -

5.6 安全保密计划------------------------------------------------------------------------ - 19 -

 

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,清华大学出版社,20##年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 20## R2

2.数据库:Microsoft SQL Server 20## (简体中文版)

3.服务器必须使用专业的防火墙和反病毒软件。

4.除了为了运行必须配备的程序以外,服务器上建议尽量不要安装其他无关程序,以减少程序的混乱或者程序的意外冲突。

5.各系的操作系统尽量统一。(Windows 7系列)。这样可以避免管理软件因为操作系统版本不一致造成的过多的开销。

6.各系的机器必须也安装反病毒软件和防火墙。以防止网络上的蠕虫病毒在整个网络范围内的蔓延。

7.如果要打印涉及字段比较多的报表,应该配备针式打印机。

4.2需要用户承担的工作

(待议)

4.3需由外单位提供的条件

本系统为独立开发,不需要外单位提供条件。

5专题计划要点                                         

5.1开发人员培训计划

20##年9月18日起,至20##年10月28日,共十天实习期间,上午进行软件工程项目开发各项内容的专题知识讲座;下午进行开发设计。

表5.1 小组培训内容

 

5.2 测试计划

20##年1月2日—20##年1月13日对软件进行各项测试工作;

5.3 质量保证计划

严格按照项目开发过程中的各项步骤,从项目立项,可行性研究报告、需求分析报告、项目开发计划等,具体实施;

5.4 人员配置计划

该项目开发小组共   人:组长: 

组员:

5.5 客户培训计划

在软件实际应用后的前一个月,对用户进行软件操作方法的具体培训;

5.6 安全保密计划

在从项目开发阶段到最后软件的正式发布期间,做好项目的保密工作,小组成员对所有项目所有相关文档进行加密,做好备份工作。

 

相关推荐