软件系统可行性研究.docx

上传人:b****7 文档编号:9974451 上传时间:2023-02-07 格式:DOCX 页数:29 大小:127.67KB
下载 相关 举报
软件系统可行性研究.docx_第1页
第1页 / 共29页
软件系统可行性研究.docx_第2页
第2页 / 共29页
软件系统可行性研究.docx_第3页
第3页 / 共29页
软件系统可行性研究.docx_第4页
第4页 / 共29页
软件系统可行性研究.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

软件系统可行性研究.docx

《软件系统可行性研究.docx》由会员分享,可在线阅读,更多相关《软件系统可行性研究.docx(29页珍藏版)》请在冰豆网上搜索。

软件系统可行性研究.docx

软件系统可行性研究

第二章可行性研究

我们在做任何工作以前,必须明确工作的性质、任务、制定完成任务的计划。

显然完成一个软件系统的开发,也应解决好类似的问题。

明确软件开发系统的任务,完成任务的价值,制定出完成任务的计划,是软件系统可行性研究的目的。

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-85Informationprocessingdocumentationsymbolsandconventionsfordata,programandsystemflowcharts,programnetworkchartsandsystemresourcescharts相一致。

系统流程图含有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)规定字典的条目格式,条目指数据流、文件、数据单项等;

(2)接受按规定格式的字典条目的输入;

(3)具有查错措施,如报告非法输入、语法和重复定义错误等;

(4)具有编辑功能,对字典的条目能进行插、删、改等;

(5)能输出按次序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1