软件项目可行性研究报告.docx
- 文档编号:24101948
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:48
- 大小:424.76KB
软件项目可行性研究报告.docx
《软件项目可行性研究报告.docx》由会员分享,可在线阅读,更多相关《软件项目可行性研究报告.docx(48页珍藏版)》请在冰豆网上搜索。
软件项目可行性研究报告
一.软件项目可行性研究报告
1.引言
1.1编写目的
该软件项目可行性研究报告是对项目课题的全面通盘考虑,是项目分析员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础.写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,就可以少花费几个月甚至几年的时间和精力,也可以节省成千上万元的资金,并且避免了许多专业方面的困难。
所以该软件项目可行性研究报告在整个开发过程中是非常重要的。
1。
2项目背景
该项目开发的软件为学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理。
通过一个简化的学生信息管理系统,使学生信息管理系统化、规范化,自动化,从而达到提高学生信息管理效率的目的。
1。
3缩略词定义
经济可行性———估计开发费用以及最终从开发成功的系统所获得的收入或利益,衡量比较支出的费用和收到的利益.
技术可行性--分析功能,性能以及限制条件,能否是一个技术上可实现的系统.
法律可行性--明确系统开发可能导致的责任,有无违法问题。
不同的方案-—对系统开发的各种方案进行评价.
1。
4参考资料
〈软件工程导论>张海藩编著清华大学出版社出版
2.可行性研究的前提
2。
1要求
a.开发该软件的基本要求与功能是实现学生信息数据包括与学生有关的数据的管理与操作处理。
b.基于MicrosoftSQLServer2000数据库系统的数据管理使该软件有更优异的性能.
c.软件的基本数据流动为用户数据的输入,学生信息,课程信息,班级信息的输入,以及有关用户提出的对学生信息等等的查询要求所产生的数据输出。
d。
数据的输入与输出处理流程都依靠数据库的支持.
e。
数据的安全基本保证SQLServer的安全性能比较令人满意,该软件设计中保持与其他一些数据库的基本兼容.
f.与软件相关的其他系统:
学生信息管理系统是学校信息管理系统的一个重要组成部分.他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生的基本信息,同时它也需要如教学管理系统提供课程设置数据等。
这些系统在具体应用中构成一个大系统,相互调用对方的数据.
2。
2目标
该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化。
实现保证软件质量的前提下的资金投入最小化.
2。
3条件、假定和限制
开发该系统的主要资金来源为用户提供的开发资金投入,故在设计开发中最大不能超过该限度,且软件完成交付用户使用后,应保证软件的运行寿命至少达到用户的要求范围.且软件开发时间应基本控制在用户提出的要求范围内.
a。
。
建议开发软件运行的最短寿命:
4年
b.进行系统方案选择比较的期限:
一星期
c.硬件、软件、运行环境和开发环境的条件和限制:
开发工具:
C++BuilderX、SQLServer2000。
开发环境:
Windows2000操作系统
运行环境:
Windows9x、WindowsNT或Windows2000操作系统
2。
4可行性研究方法
实行软件的可行性研究方法主要有:
成本效益分析,对估算问题的看法,软件的作用范围,软件的成本估算,速度安排等.具体将在下面叙述。
2.5决定可行性的主要因素
决定软件可行性的四个主要方面有:
经济因素,技术因素,法律因素,不同方案。
3.对现有系统的分析
3。
1处理流程和数据流程
现有系统的数据处理与流程基本为学生数据的录入与查询,删除修改等操作.流程图可表示如下:
现有系统数据流程图
3.2工作负荷
由于数据量越来越大,现有的系统已明显不能适应目前的庞大数据量,系统工作负荷过大。
3.3费用支出
由于现有系统的工作负荷严重超载,在现有系统上投入的人力,设备,空间,材料,等等与其他的一系列支持性服务越来越大,导致开发费用支出巨大,严重影响系统的可用性,急需改进。
3。
4人员
鉴于原有系统的技术性含量比较低,故不需要多少高技术人员的操作,只是由于数据量的日益扩大,所需要的操作人员数量不断增大。
这一点已不再适应目前信息化时代的步伐。
3.5设备
设备的科技含量也比较低,没有达到大量的计算机普及程度。
3。
6局限性
经过严谨的分析,可知原有的系统存在很大的局限性,比如技术的过于陈旧,人员工作负荷大,系统维护及费用支出巨大,人员与设备技术含量低等等一系列缺点,所有这些都明确了需要一个新的适应新的信息化时代的高科技的系统。
所以开发这样一个系统还是很有必要的.
4.所建议技术可行性分析
4。
1对系统的简要描述
新系统在原有系统的基础上加入了新的数据库的支持,使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
·4.2处理流程和数据流程
新系统的数据流程图
·4.3与现有系统比较的优越性
很明显,在以上几点中已可以看出新系统的性能与功能上与现有系统的差别,首先新系统克服了原来系统的资金投入大,人员设备技术含量低,系统工作负担重等缺点.而且加入了对数据的安全性保护的功能,使原有系统在可用性与稳健性方面有了很大的进步。
·4。
4采用建议系统可能带来的影响
4.4。
1对设备的影响
采用建议系统后,改进了原有系统的性能所以对设备要求自然更高,建议系统使用了最先进的技术使设备也必须跟着升级。
4.4。
2对现有软件的影响
由于建议系统采用了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。
4.2.3对用户的影响
建议系统使用的新技术是完全基于原有的系统上的,故用户不必考虑新系统带来的
人员培训等等。
4.2。
4对经费支出的影响
建议系统是为了改善原有系统在经费支出过高的缺点的,所以新系统一经使用在经费支出方面一定会得到很好的改善,用户在使用了新系统后只需要花一定资金购买一部分计算机与软件就能实现自动化。
4。
5技术可行性评价
就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成
5.所建议系统经济可行性分析
经济可行性分析中最重要的内容之一是成本--效益分析。
对于一个基于计算机系统的研制项目要在经济方面评价其是否合理,成本--效益分析要估计出研制开发的花费并与收益(包括有形的可以用货币计数的及无形的利益)衡量比较。
建议系统的成本--效益分析
6.社会因素可行性分析
该项目为独立开发,在技术上没有使用任何现有的软件与方法.所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。
6.1用户使用可行性
本系统对于用户单位的行政管理、工作制度、人员素质等完全能够满足要求
7.其他可供选择的方案
由于系统过于简单,所以开发小组没有提供其他的方案,只有一种开发方案。
·8.结论意见
经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发小组的开发方案的到批准,使用部门负责人同意开发工程继续进行下去。
二.项目开发计划
1.引言
1.1编写目的
经过项目的可行性分析,得出项目可进一步进行下去的结论,在软件继续进一步的开发之前首先给出此软件项目开发计划。
1.2项目背景
a。
项目分析单位在接到项目分析员给出的项目可行性分析报告后,在系统开发主管部门的统一下制定用于软件实质开发的软件项目计划,以使软件开发单位理解软件开发要求,进行开发。
b.该软件系统与其他系统的关系:
学生信息管理系统是学校信息管理系统的一个重要组成部分.他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生的基本信息,同时它也需要如教学管理系统提供课程设置数据等。
这些系统在具体应用中构成一个大系统,相互调用对方的数据.
1.3定义
“软件计划”是一份比较简短的文件,有关专门术语与缩略词省略。
1。
4参考资料
〈软件工程导论〉张海藩编著清华大学出版社出版
2.项目概述
2.1工作内容。
在可行性研究报告的建议系统可行性分析一节中已经阐述了要开发的系统的主要功能性能等,此处略
2。
2条件与限制
开发该软件的条件比较简单,以开发单位目前的经济与技术条件已完全具备开发的条件.该系统可在用户要求的期限内完成。
2。
3产品
2.3.1程序
该软件比较简单,交付的程序为一个主程序Student.exe(用C++Builder开发)。
2。
3。
2文档
与软件一同交付的文档包括软件的说明文件Readme.txt。
2.4运行环境
软件在windows环境下开发故其只能在Windows环境下运行,不能兼容Liunx与Unix。
可在Windows各个版本(windows9。
x/windowsNT/windows2000/windowsxp)上独立运行。
2。
5服务
开发单位可向用户提供包括人员培训在内的一系列有关服务,但鉴于本系统简单,只要有一点windows操作经验的人就能使用,故可以省去培训的服务,另外开发单位还为该软件用户提供安装,保修,以及系统的免费维护等等以及其他一些运行支持。
2。
6验收标准
软件的验收标准完全由用户提出的软件需求制定,能保证软件的基本符合用户的要求
3.实施计划
3。
1任务分解
鉴于软件开发工作过于简单,所以整个开发工作可以同时一起完成。
3。
2进度
对于该小系统,系统从开发开始到结束为期较短,具体进度如下图示:
软件开发进度图
3。
3预算
软件资金投入较少,具体预算分配简略。
3.4关键问题
使用目前的设备与现有开发技术完全可以开发出该系统,总的来说该项目没有较大的技术难点与其他的一些风险因素。
对于出现的一些小难点总都能得到解决.
4.人员组织及分工
本系统较简单,由一人单独完成。
5.交付期限
所要开发的系统较简单,所有开发工作用户要求要在1个月内完成。
6.专题计划要点
系统的测试计划将在后面叙述,其他的质量保证计划,人员培训计划,以及系统安装计划等等省略.
三、需求规格说明书
1.引言
1.1编写目的
需求分析是软件系统生存期中定义阶段的最后一个步骤。
是作为整个软件开发范围的指南,是软件开发人员开发出正确的符合用户要求的软件的重点。
是为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档该文档将最终交给软件具体开发人员进行具体的开发,其针对的对象是软件开发人员.
1.2项目背景
需求分析单位在接到项目分析员给出的项目可行性分析报告和项目开发计划后,在系统开发主管部门的统一下制定用于软件实质开发的软件需求分析计划,以使软件开发单位理解软件开发需求,进行开发。
该软件系统与其他系统的关系:
学生信息管理系统是学校信息管理系统的一个重要组成部分.他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生的基本信息,同时它也需要如教学管理系统提供课程设置数据等。
这些系统在具体应用中构成一个大系统,相互调用对方的数据。
1。
3定义
静态数据--系统固化在内的描述系统实现功能的一部分数据.
动态数据--在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。
数据字典--数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。
1。
4参考资料
<软件工程导论>张海藩编著清华大学出版社出版
2.任务概述
2.1目标
软件需求分析阶段有以下几个目标:
●给出软件系统的数据流程图与数据结构,构造一个完全的系统逻辑模型。
●提出详细的功能说明,确定设计限定条件,规定性能要求。
●密切与用户的联系,使用户明确自己的任务,以便实现上述两项目标。
2.2运行环境
软件基本运行环境为Windows环境。
2.3条件与限制
由于系统较小,且在windows系统下开发,故在windows环境下基本没有什么限制。
3.数据描述
3.1静态数据
静态数据是系统内部有关的数据结构与操作规程。
具体可包括:
学生个人基本信息表格student_Info
学生所选课程表student_Course
学生奖励信息表student_GCheck
学生职务信息表student_BCheck
学校班级信息表stuent_Class
课程设置代码表stuent_CourseCode
记录号计数数据表stuent_Count
3。
2动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值。
就是学生信息.
3。
3数据库介绍
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.本系统的实体E—R图如下
学生信息管理系统数据库E-R图
3。
4数据词典
传统的数据字典包括以下几种类型的条目:
(1)。
数据流条目--数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。
该系统中的数据流条目有:
学生个人信息=学号+学生姓名+学生性别+出生日期+班号+联系电话+家庭住址
班级信息=班号+班级名称+所属院系+班主任+辅导员
课程设置信息=课程编号+课程名称+学时+学分+任课老师+上课地点
学生课程信息=记录号+学号+姓名+所选课程编号
学生奖励信息=记录号+学生学号+学生姓名+获奖时间+奖励名称+具体描述
学生职务信息=记录号+学生学号+学生姓名+任职时间+职务名称+具体描述
(2).文件条目--文件条目给出某个文件的定义,列出它的组成数据项,此外还要给出文件的组织形式.
例:
学生信息文件={学生基本信息记录}+{学生成绩记录}
主键:
学生学号+课程号
(3).数据元素条目--给出某个数据单项的定义,通常是数据项的值类型。
例:
学生基本信息记录中“学生学号"的数据值类型为数值类型,有效值范围为000000~999999.
3。
5数据采集
系统数据采集是由数据库系统在软件运行期间通过人机界面来提示用户输入的。
此处不加赘述。
4.功能需求
4.1功能划分
系统功能分析是在系统开发的总体任务的基础上完成的。
本系统主要任务是用于收集学生的基本信息和选课情况,以便集中进行学生信息管理
4.2功能描述
其主要功能有:
1.学生个人信息的输入,包括学号,姓名,班级,性别,生日,联系电话,联系地址。
2.学生个人信息的查询、修改、删除.
3.学生课程信息的输入,包括选课和退课.
4.学生课程信息的查询、修改、删除。
5.学生年终考核信息的输入,包括奖励和职务.
6.学生年终考核信息的查询、修改、删除.
5.性能需求
5.1数据精确度
由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
5.2时间特性
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的.而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意.
5.3适应性
该软件是使用C++Builder在windowsxp系统下完成的所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。
而且应用户的特殊需求软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
6.运行需求
6。
1用户界面
系统运行时的主界面大致要求为windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面):
有一个主窗体,可以包含其他窗体。
建议本系统采用多文档界面,这样可以使程序更加美观,整齐有序。
6.2硬件接口
软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与磁带机和光盘刻录机的接口,这点较易实现。
6。
3软件接口
在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。
例如microsoft的office系列。
另外用户还有用户所需要的软件接口,这些应在用户需求定义时明了。
6。
4故障处理
考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的接口即可.只要操作系统没有大的故障程序一般是比较稳定的。
考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能,这点在数据库软件中已经达到了,只要稍微在其上再增加用户所需要的附加功能即可.
7.其它需求
系统保证了较好的可使用性与数据的安全保密性,但由于系统较小只保留一定程度的可移植性,可维护性。
四、概要设计说明书
1.引言
1.1编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。
在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌.本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
1。
2项目背景
概要设计单位在接到项目可行性分析报告、项目开发计划和需求说明后,在系统开发主管部门的统一下制定用于软件实质开发的软件概要设计,以使软件开发单位理解软件开发总体设计思路,进行开发。
a.该软件系统与其他系统的关系:
学生信息管理系统是学校信息管理系统的一个重要组成部分。
他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生的基本信息,同时它也需要如教学管理系统提供课程设置数据等.这些系统在具体应用中构成一个大系统,相互调用对方的数据。
1.3参考资料
a.项目开发计划;
b.需求规格说明书;
c.测试计划(初稿);
d.用户操作手册(初稿);
e.〈软件工程导论>张海藩编著清华大学出版社出版
2.任务概述
2。
1目标
该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。
2.2运行环境
软件基本运行环境为Windows环境。
2.3需求概述
本系统主要功能有:
1.学生个人信息的输入,包括学号,姓名,班级,性别,生日,联系电话,联系地址。
2.学生个人信息的查询、修改、删除.
3.学生课程信息的输入,包括选课和退课.
4.学生课程信息的查询、修改、删除。
5.学生年终考核信息的输入,包括奖励和职务。
6.学生年终考核信息的查询、修改、删除.
2.4条件与限制
为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:
1。
软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。
2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能.
3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。
4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得。
设计。
3.总体设计
3.1处理流程
系统的总体处理数据流程如下图:
3。
2总体结构和模块外部设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。
从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
模块化与总体成本
3。
3功能分配
从程序的结构中可以看出,学生的信息输入输出功能是由个人信息管理进行的。
课程的信息输入输出是由选课信息管理进行的,而年终评选的信息流动则是奖励信息管理和职务信息管理进行的。
4.接口设计
由于系统的各种内外部接口是通过借助数据库开发软件来实现的,是完全在数据库内部操作的,故在此略过此内容。
5.数据结构设计
5.1逻辑结构设计
在下面需要将数据库概念结构转化为SQLServer数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
通过合理规划,需要设计4个数据表来保存学生的信息:
学生个人基本信息表、学生所选课程信息表、学生奖励信息表、学生职务信息表.为了数据记录实例的完整,系统中包括了应用程序中所需的一个外部数据表:
学校班级信息表。
为了优化数据表的结构,有的字段采用代码形势,应次附加了一个代码表:
课程设置代码表.另外需要一个计数数据表来保存其他表格所需的记录号:
记录号计数数据表。
总共需要七个表,其结构如下表所示:
student_Info学生个人基本信息表
列名
数据类型
可否为空
说明
Student_ID
INT
NOTNULL
学生学号(主关键字)
Student_Name
CHAR(10)
NOTNULL
学生姓名
Student_Class
INT
NOTNULL
学生所在班级
Student_Sex
CHAR(10)
NOTNULL
性别
Student_Brithday
DATEDIME
NULL
生日
Student_Tel
CHAR(15)
NULL
联系电话
Student_Address
CHAR(20)
NULL
联系地址
Student_Course学生所选课程表
列名
数据类型
可否为空
说明
Count_ID
INT
NOTNULL
记录号(主关键字)
Course_ID
INT
NOTNULL
学生学号
Course_Name
CHAR(10)
NOTNULL
学生姓名
Course_No
INT
NOTNULL
所选课程编号(外部关键字course_Code
)
Student_GCheck学生奖励信息表
列名
数据类型
可否为空
说明
GCheck_ID
INT
NOTNULL
记录号(主关键字)
GCheck_No
INT
NOTNULL
学生学号
GCheck_Name
CHAR(10)
NOTNULL
学生姓名
GCheck_Time
DATEDIME
NOTNULL
获奖时间
GCheck_Title
CHAR(30)
NOTNULL
获奖内容
GCheck_Disc
CHAR(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 可行性研究 报告