软件系统可行性研究.docx
- 文档编号:9869558
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:33
- 大小:178.62KB
软件系统可行性研究.docx
《软件系统可行性研究.docx》由会员分享,可在线阅读,更多相关《软件系统可行性研究.docx(33页珍藏版)》请在冰豆网上搜索。
软件系统可行性研究
软件系统可行性研究
我们在做任何工作往常,必须明确工作的性质、任务、制定完成任务的打算。
明显完成一个软件系统的开发,也应解决好类似的问题。
明确软件开发系统的任务,完成任务的价值,制定出完成任务的打算,是软件系统可行性研究的目的。
2.1可行性研究
2.1.1可行性研究的任务
假如不限时刻、不限资源、那么任何研制项目差不多上可行的!
然而在开发以运算机为基础的系统时,需要用最小的代价,在尽可能短的时刻内确定问题是否能够解决。
这种可行性研究的目的是确定我们所研究的问题是否值得去解,系统完成后所能带来的效益是否大到值得投资开发那个系统的程度。
可行性研究的实质确实是要进行一次压缩,简化了的系统分析和设计的过程,也确实是在较高层次上以较抽象方式进行系统分析和系统设计的过程,可行性研究应着重考虑如下五个方面。
1.技术可行性。
是指使用现有的技术能否实现那个系统。
它包括开发风险——在限制条件范畴内达到必需的功能与性能;资源配置——指现有的技术人员是否胜任,开发系统的软、
硬件资源是否能如期得到;技术——指现有的技术是否已进展到如此的水平,能够支持系统
的研制。
2.经济可行性。
指新系统的经济效益能否超过开发成本。
包括评判经济的合理性,权衡支出的费用和收到的利益,正确估量开发费用以及最终从所开发的系统获得的收入和利益。
其中经济的合理性包括成本/效益分析,长期的总体的经营策略,对其他获利中心或获利产品
的阻碍,开发工作需用资源的购置费用、潜在的市场等等。
3.运行可行性。
指为新系统规定的运行方式是否可行。
假如新系统是建立在原先已担负其他任务的运算机系统上,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。
4.操作可行性。
指系统的操作方式在那个用户组织内是否行得通。
它包括人事政策,科技政策和必要的治理措施。
5.法律可行性。
指新系统的开发是否会侵犯他人、集体或国家的利益,是否违反了国家的法律,并由此而承担法律责任。
可行性研究并不保证一个系统经济上明显合理、技术风险低,专门少法律问题,而且不存在其他合理方案。
然而,我们之因此要进行可行性研究,其目的是对以后的行动方针提出建议。
假如问题没有可行的解,那么分析员应该建议停止这项开发工程,以幸免时刻、资源、人力和金钱的白费。
假如问题值得解,那么分析员应该举荐一个较好的解决方案,并为工程制定一个初步打算。
可行性研究需要的时刻长短取决于系统的规模。
一样来说,可行性研究的成本只是预期工程总成本的5~10%。
2.1.2可行性研究的步骤
1.复查系统规模和目标。
要认真阅读和分析分析员在问题定义时期书写的关于系统目标和规模的报告书,确定报告书的内容,修改不确切的表达,清晰地描述对目标系统的一切限制和约束,确保分析员提交的报告书确实是用户要求解决的问题。
2.研究现有的系统。
现有系统是信息的重要来源,现有系统要完成的工作,确实是新系统所必须具备的功能。
现有系统存在的缺点,新系统必须加以改进。
现有系统所不具备的功能,
又是用户必须的,那么新系统一定要预以增加。
现有系统所需要的费用是新系统的一个重要的
投资依据。
如此的调查研究,是了解一个生疏应用领域的最快方法。
既能够使新系统脱胎而
生,又不全盘照抄。
另外还要注意现有系统与其他系统之间的通信接口,这是新系统设计的
重要约束条件。
3.导出新系统的高层逻辑模型。
软件工程设计总是从现有的物理系统动身,导显现有物理系统的逻辑模型;再以现有物理系统的逻辑模型为基础,设计出新系统的高层逻辑模型;最后依照高层逻辑模型建筑新的物理系统。
依据新系统的功能和约束条件,我们能够使用数据流图(DFD图)来描画数据在系统中流淌和处理的情形,使用数据字典来定义系统中使用的数据,从而完成新系统的逻辑模型。
至于物理系统采纳系统流程图来表示。
4.重新定义问题。
新系统的逻辑模型是否能满足用户的要求,分析员和用户应该一起进行复审。
复审以数据流图和数据字典为依据,对问题的定义、工程模型和目标进行审查。
假如有分岐和遗漏等问题,应赶忙进行改正。
上述可行性研究步骤实质上是一个循环,即定义系统目标—→复查系统目标和规模—→研究现有系统—→设计新系统—→再定义系统目标。
重复那个循环过程,直到提出的新系统逻辑模型完全符合系统目标和规模为止。
5.提出供选择的方案。
从系统的逻辑模型动身,以系统要求为目标,利用在数据流图上划分自动化边界的方法,我们能够提出假设干种较高层次的物明白得法供用户选择。
针对多种供选方案,用户应从如下三个方面进行选择:
(1)从技术角度排除那些不现实的方案;
(2)从操作角度去掉那些操作方式或操作过程用户不能同意的方案;
(3)从经济角度估算每个可能系统的成本/效益。
一样来说,只有投资估量能带来利润的系统才值得开发。
只有在技术、操作经济等方面都可行的系统,我们才为其制定实现进度表。
此进度表不需要专门详细,只是要估量生存周期每个时期的工作量。
6.举荐建议方案。
在对上一步提出的各种可行方案的分析、比较的基础上,向用户提出举荐的方案,在举荐方案中应清晰地说明
(1)本项目的开发价值;
(2)举荐那个方案的理由;
(3)制定实现项目的进度表。
7.决策。
使用部门的负责人依照经济实力及分析员在可行性研究时期对开发此项工程成本/效益情形的分析结论,决定是否连续这项开发工程。
8.制定开发打算。
分析员应为举荐的系统制定一份开发打算,它包括工程的进度、人材资源的需求及使用、设备资源的需求及使用(软、硬件工具)、估算生存周期每个时期的成本等,最后给出下一时期(需求分析)的详细进度表和成本估量。
9.书写文档提交审查。
把上述可行性研究各个步骤的结果写成清晰的文档,请用户和使用部门的负责人认真审查,也能够召开论证会。
论证会成员由用户、使用部门负责人及有关方面的专家组成,负责对提出的方案进行论证,最后由论证会成员签署意见,指明该开发打确实是否通过。
2.1.3可行性论证报告的要紧内容
1.系统概述。
是对问题的简单陈述,包括系统的开发目的、目标、业务对象和范畴,新系统和它的各子系统的功能与特性,新系统与当前系统的比较,所需资源以及费用和进度的概况等。
2.可行性分析。
这是报告的主体部分,包括新系统在经济上、技术上、操作上、运行上、
法律上的可行性,以及对新系统的主客观条件的分析。
假设存在多种方案,那么应对各种方案进
行比较,指明举荐的方案。
3.限制。
指对系统开发有阻碍的治理方面和技术方面的限制,包括项目的外部环境、接口、设计与实现、资源、费用或进度等。
4.费用。
估算软、硬件费用,制定出费用限额并注明。
5.拟定开发打算。
它包括工程进度表,人员配备情形,资源配备情形,估算出每个时期的成本、约束条件等。
6.结论意见。
综上分析,说明新系统是否可行,其结论分为以下三类:
(1)可赶忙进行;
(2)推迟进行;
(3)不能或不值得进行。
2.2系统流程图
系统流程图是描画物理系统的传统工具。
它的差不多思想是用图形符号以黑盒子形式描画系统里面的每个部件。
包括程序、文件、数据库和各种表格、人工过程等。
它表达了信息在系统各部件之间的流淌情形。
请读者注意它与程序流程图之间的区别。
2.2.1符号
国家标准(GB1526-89)«信息处理——数据流程图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定»为我们举荐了一套标准符号和使用约定。
该标准是与国际标准化组织公布的标准ISO5807-85Informationprocessingdocumentationsymbols
andconventionsfordata,programandsystemflowcharts,programnetworkcharts
andsystemresourcescharts相一致。
系统流程图含有5种差不多符号,如图2-1所示。
11
种系统符号如图2-2所示。
符号名称说明
处理能改变数据值或数据位置的加工或部件,例如,程序、处理机、人工加工等差不多上处理。
输入/输出表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号。
连接指出转到图的另一部分或从图的另一部分转来,通
常在同一页上。
换页连接指出转到另一页图上或由另一页图转来。
数据流用来连接其他符号,指明数据流淌方向。
图2-1差不多符号
符号名称说明
穿孔卡片表示用穿孔卡片输入或输出,也可表示一个穿孔卡
片文件。
文档通常表示打印输出,也可表示用打印终端输入数据。
磁带磁带输入/输出,或表示一个磁带文件。
联机储备表示任何种类的联机储备,包括磁盘、磁鼓、软盘和海量储备器件等。
磁盘磁盘输入/输出,也可表示储备在磁盘上的文件或数
据库。
磁鼓磁鼓输入/输出,也可表示储备在磁鼓上的文件或数据库。
显示CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出。
人工输入人工输入数据的脱机处理,例如,填写表格。
人工操作人工完成的处理,例如,会计在工资支票上签名。
辅助操作使用设备进行的脱机操作。
通信链路通过远程通信线路或链路传送数据。
图2-2系统符号
2.2.2应用
系统流程图是一种极好的设计工具,它有助于开发人员和用户交流信息,利用系统的每个具体物理元素能够更准确地估量成本和制定系统的开发进度。
下面通过例子来说明系统流程图的使用。
例某工厂有一座零件仓库,仓库中现有各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。
当仓库中零件数量发生变化时,应及时修改库存清单主文件。
当某种零件的库存量少于它的库存量临界值时,那么应报告给采购部门以便定货。
规定每天向采购部门送一次定货报告。
工厂使用一台微机处理更新库存清单主文件和产生定货报告的任务。
仓库中的每一项业务都通过CRT终端输入到运算机中。
系统中的库存清单程序负责对事务进行处理,更新储备在磁盘上的库存清单主文件,把必要的定货信息写在磁带上。
每天由报告生成程序读一次磁带,生成并打印出定货报告。
如图2-3所示。
图中的箭头确定了信息流淌的途径,关于复杂的系统,能够采纳分层描述的方法来描画整个系统。
用一张高层次的系统流程图描画系统总体概貌,然后分别把每个关键功能扩展到适当的详细程度,便于阅读者按照从抽象到具体的过程逐步深入地了解一个复杂系统。
图2-3库存清单系统的系统流程图〖HT〗
2.3数据流图
数据流图简称DFD(DataFlowDiagram)图,它是描述数据处理过程的有力工具。
数据流图从数据传送、加工的角度,以图形方式刻画数据处理系统的工作状况。
数据流图描画系统的逻辑模型,它是一种极好的通信工具。
2.3.1符号
数据流图有四种差不多符号,如图2-4(a)所示。
有六种附加符号,如图2-4(b)所示。
数据的源点/终点表示该系统数据的外部来源或去处,不受系统操纵,是系统以外的人或事
物。
例如,仓库的治理员、工厂的采购员、供货单位、售票处等。
也能够是另外一个数据处
理系统向该系统提供数据或接收该系统向它发出的数据。
加工(处理)并不一定是一个程序,它能够代表一系列程序,单个程序或者程序的一个模块,也能够代表用穿孔机穿孔或目视检查数据正确性等人工处理过程。
数据储备不是指数据储存的物理地点或物理储备介质,而是对数据储备的逻辑描述。
数据储备并不等同于一个文件,它能够表示一个文件,文件的一部分,数据库的元素或记录的一部分等等。
数据能够储备在磁盘、磁带、主存、微缩胶片等介质上。
数据储备有四种形式,即把一个数据存入数据储备;用一个数据去修改数据储备中的数据;从数据储备中读出一个数据;从数据储备中检索出一批数据。
图2-4数据流图的符号
数据流表示数据在系统中的流淌方向,一样分单向数据流和双向数据流两种。
它能够由某一个外部项产生,也能够由某一个处理逻辑产生,还能够来自某一个数据储备。
附加符号中的星号(*)表示数据流之间是〝与〞关系;加号(+)表示数据流之间是〝或〞关系;符号表示只能从数据流中选一个(互斥关系)。
2.3.2应用举例
例1一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,列出所有需要再次定货的零件。
关于需要订货的零件列出其零件编号、零件名称、定货数量、单价、供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。
当某种零件的库存量少于临界值时就应该再次定货。
下面用软件工程的方法画出该系统的数据流图。
分析过程如下:
第一步
第一确定系统的源点和终点,此题仓库治理员是数据的源点,采购员是数据的终点。
其次是加工(处理),此题应该完成定货系统如此一个功能。
最后考虑数据流,事务需从仓库送到系统中,明显事务是一个数据流;系统要把定货报表送给采购部,定货报表也是一个数据流。
依据以上三点我们画出定货系统的差不多数据流图,如图2-5所示。
图2-5定货系统差不多数据流图
第二步
第一将加工(处理)——定货系统进行功能分解,变成事务处理和产生报表两部分。
其次要考虑有关数据的储备问题,在此题中涉及到储备的信息有:
库存清单、定货信息。
依据图2-5和以上两点,我们画出定货系统功能级数据流图,见图2-6所示。
图2-6定货系统功能级数据流图
第三步
将事务处理进一步分解为接收事务,更新库存清单、处理定货三部分。
依据本分析和图2-6我们能够画出定货系统功能分解后的数据流图。
见图2-7所示。
其中1.1、1.2、1.3是图2-6中功能1的分解编号。
图2-7定货系统功能分解后的数据流图
例2银行取款系统的数据流图(活期储蓄)。
分析过程如下:
第一步
源点和终点差不多上储户。
加工(处理)是完成取款的功能。
数据流是取款单、存折、现款。
依据以上三点画出银行取款系统的差不多数据流图,如图2-8所示。
图2-8取款系统差不多数据流图第二步
取款工作实际上是由储户资格审查、登录、付款三部分组成。
数据储备部分涉及储户的帐卡和存折上数据的更新。
依据图2-8及以上二点分析,我们能够画出取款系统的功能级数据流图,如图2-9所示。
图2-9取款系统功能级数据流图
读者能够依照自己的需要,将图2-9进一步细化,本书不再给出分解后的数据流图。
例3病员监视系统的数据流图。
该系统监视病房中的每个病人的重要病情信号,更新及治理病人的病历,假设显现问题赶忙通知护理人员,同时在需要时给出某一病人的有关报告。
分析过程如下:
第一步
源点来自于病人本身或护士。
终点是护士,因为一切报告和告警信息应聚拢到护士处。
加工(处理)是病员监视系统。
数据流包括病情信号、报告、告警信息和要求报告。
数据储备是指病员病历。
依据以上分析,我们画出病员监视系统的差不多数据流图,如图2-10所示。
图2-10病员监视系统差不多数据流图
第二步
对系统分析后,划分出四种功能,即通过一个床边监视器实现本地监视,在护士办公室实现中央监视,病人病历的更新,护士办公室提出报告。
依据图2-10和以上分析,我们画出病员监视系统功能级数据流图,如图2-11所示。
图2-11病员监视系统功能级数据流图
第三步
将中央监视系统划分为四个处理部分,包括分解病员信号,检查是否超出界限,产生告警信息,整理病员数据。
依据图2-11和本次功能分解,我们能够画出病员监视系统功能分解后的数据流图,如图2-12所示。
图2-12病员监视系统功能分解后的数据流图
2.3.3画数据流图的原那么
1.确定系统的源点和终点,关于数据流图而言它是系统的外部项。
2.确定系统的输入和输出数据流。
随着加工(处理)的细化,功能也就越来越具体,数据流也就越来越多,输入和输出也会相应地增加,但要保持分解前后输入/输出数据流必须相同。
3.用〝自顶向下〞的方法,逐层画出数据流图。
每张数据流图中加工(处理)的个数不能超过9个。
4.将必要的储备与加工(处理)相匹配。
5.在画数据流图时应幸免线条交叉,必要时可使用重复的外部项(源点或终点)或数据储备符号。
6.画出出错及例外条件处理情形。
2.3.4数据流图的用途
1.作为交流信息的工具。
系统分析人员把他对系统的认识或对目标系统的设想用数据流图描画出来,供有关人员审查确认。
由于数据流图中使用的符号不含任何物理实现细节,因此大多数用户都能够明白得和评判它。
2.作为分析和设计的工具。
分析员在研究现有的系统,描画其功能经常用数据流图表达他们对现有系统的认识,这种描画方法形象、具体,它不同于系统流程图,使系统的功能和实现每个功能的具体方案区别开来。
3.数据流图能够辅助物理系统的设计。
在数据流图上依据不同处理的定时要求,能够画出许多组自动化边界,每组自动化边界确实是一个不同的物理系统。
例题1中的图2-7,由于自动化边界的划分方法不同,产生了两种不同的物理系统,即批处理方式和联机方式,见图
2-13、2-14所示。
4.数据流图对详细设计也有关心,它是面向数据流设计(SD)方法的基础。
图2-13这种划分自动化边界的方法暗示以批量方式更新库存清单
图2-14另一种划分自动化边界的方法暗示以联机方式更新库存清单
2.4数据字典
数据字典是对数据流图中包含的所有元素定义的集合,即对数据流图中显现的所有名子(数据流、文件、数据单项、差不多加工)进行定义。
它的要紧用途是供人们查阅对不了解条目的说明,在软件分析和设计过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型。
数据流图描述了系统的〝分解〞,它说明系统由哪些部分组成。
数据字典那么为数据流图中显现的每一部分都给出〝严格定义〞,二者的
有机配合,完整地描述了系统。
2.4.1数据字典的内容及定义方法
一样来说,数据字典应该由如下四类元素组成,它们是数据流、文件、数据单项、差不多加工(处理)。
在组成数据字典时,要注意幸免冗余,遵循有关数据流向在数据流图中描述,有关数据的组成在数据字典中描述,有关数据的加工细节在数据字典中描述的三原那么。
要尽量幸免遗漏,假如确有遗漏发生,应该补充,这关于设计、编码、调试、爱护会带来方便。
同时应及时沟通,设法排除不一致性,减少别名的显现。
1.数据流
数据流通常有一个名字,它是由一组数据项组成的。
数据流能够从加工流向加工,也能够从源点流向加工,或从加工流向终点。
数据流还能够从加工流向文件,或从文件流向加工。
任意两者之间可有一股或多股数据流,同一数据流图上不能有两股数据流同名。
描述数据流时,要用到下述符号:
=表示等价于(或定义为);
+表示与;
[/]表示或;
{}〗表示重复;
()表示选择;
m…n表示界域。
例如运动员成绩=运动员号码+项目名+成绩+破记录
课程=课程名+教员+教材名+课程表
课程表=星期几+第几节课+教室
2.文件
文件是用来储备数据的,每个文件都有一个名子。
文件的形式能够是数据库,也能够是规定结构的数据组织。
指向文件的数据流可明白得为写入文件,从文件引出的数据流可明白得为自文件中读出数据。
在分层的数据流图中,文件一样局部于某一层或某几层。
例如定期存款=帐号+户名+地址+款额+存期
存期[1/3/5/8]
3.数据单项
数据单项是指不可再分的数据项。
例如帐号=000000——999999
学生=姓名+年龄+性别+班级
4.差不多加工(处理)
差不多加工是加工的重量,是数据流图中不能再分解的加工。
差不多加工由差不多加工的小说明和相应的描述构成。
小说明集中描述一个加工〝做什么〞,目前小说明一样用自然语言、判定表和判定树来描述。
(1)用结构化自然语言描述小说明
结构化自然语言是介于形式语言与自然语言之间的一种语言。
结构化自然语言的语法通常分为内外两层,外层语法描述操作的操纵结构——顺序、选择、循环等,这些操纵结构将加工中各个操作连接起来;内层语法一样没有限制。
小说明的形式如下:
加工编号:
在数据流图中某个加工的编号
加工名:
在数据流图中某个加工的名字
加工逻辑:
此加工中实行的操作
有关信息:
执行此加工的条件
例如有一个加工为统计房产的功能可写为:
加工编号:
3.4
加工名:
统计房产
加工逻辑:
〖ZK()读房产文件,按面积分类,统计已分和未分配的住房数,输出统计表
有关信息:
有统计要求时执行此加工
(2)用判定表描述小说明
判定表是用来描述一些不易用语言表达清晰的加工。
它由条件类别、条件组合、操作、操作执行四部分组成。
例某旅行预订票系统规定,在旅行旺季7、8、9、12月份,假如订票数超过100张,那么优待票价的20%;100张以下,优待10%。
在旅行淡季,1至6月份、10、11月份,假设订票数超过50张,那么优待25%;50张以下优待10%。
判定表的一样形式如表2-1所示。
表2-1旅行预订票系统判定表
(3)用判定树描述小说明
判定树本质上与判定表没什么两样,只只是它是图形表示法,更为人们熟悉和易于明白得,上面的预订票系统,用判定树表示见图2-15所示。
图2-15旅行预订票系统的判定树
差不多加工(处理)可用语言、表格、图形等多种形式来描述,也可将它们组合起来使用。
2.4.2数据字典的用途
数据字典是分析时期的工具,它有助于分析员和用户之间的交流与通信,它能够排除许多可能的误解与不一致性,是开发数据库系统的第一步。
一样来说,中小规模的数据处理系统建立一个人工的数据字典就够了,关于大规模的数据处理系统,那么应建立一个自动的数据字典。
不管哪一种数据字典都应由专人治理,目的是保持其字典内容的一致与完整性,通常数据字典有如下五种用途。
1.按要求列表,从数据字典中检索出所需要的信息,具有列全表、摘要列表、专项列表三种。
2.修改和补充数据流图。
数据流图初步画好后,相应的数据字典也随着建立起来。
随着分析、设计的深入,修改和优化是再所难免的。
对任何数据单项或数据结构,可通过数据字典找出使用该内容的项目,进行必要的修改,一样可不能显现遗漏。
3.能够由描述内容检索名称。
假设只明白一个数据单项的内容,而不明白它的名称,可通过内容检索知其名。
4.保证一致性和完整性。
依照数据字典,能够查出没有指明来源或去处的数据流,能够查出没有指明数据储备的数据单项和没有指明所属数据流的数据单项,能够指明没有被加工(
处理)引用的数据单项,能够指明被加工(处理)引用而在输入数据流或输出数据流中未曾出
现的数据单项等。
5.数据定义能够直截了当使用在编程上。
用户能够使用数据字典中的数据定义,对程序里的有关记录进行描述,关心程序员进行程序设计。
2.4.3数据字典的实现方法
数据字典的实现方法有三种,全人工过程、全自动化过程和混合过程。
1.全人工过程
(1)为每个要定义的名字预备一张卡片;
(2)在卡片上注明其类型,即数据流、文件、数据单项、差不多加工(处理)四种类型之一;(3)写名子的定义;
(4)写该名子的其他特性或限制;
(5)将所有卡片按一定方式排序,如英文字母顺序或汉字笔画多少等。
2.全自动化过程
此类字典一样容量较大,有专门的运算机程序来治理,该治理程序本身应具有如下功能:
(1)规定字典的条目格式,条目指数据流、文件、数据单项等;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 可行性研究
![提示](https://static.bdocx.com/images/bang_tan.gif)