数据系统可行性方案_第1页
数据系统可行性方案_第2页
数据系统可行性方案_第3页
数据系统可行性方案_第4页
数据系统可行性方案_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结习题可行性研究的目的不是解决问题,而是确定问题是否值得去解决。怎样达到这个目的呢?当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。2.1可行性研究的任务首先需要进一步分析和澄清问题定义。在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般说来,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性使用现有的技术能实现这个系统吗?(2)经济可行性这个系统的经济效益能超过它的开发成本吗?(3)操作可行性系统的操作方式在这个用户组织内行得通吗?必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。分析员应该为每个可行的解法制定一个粗略的实现进度。可行性研究最根本的任务是对以后的行动方针提出建议。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。可行性研究可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%~10%。典型的可行性研究过程有下述一些步骤。1.复查系统规模和目标分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。2.2可行性研究过程2.研究目前正在使用的系统现有的系统是信息的重要来源。新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。此外,运行使用旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收入或减少使用费用,那么从经济角度看新系统就不如旧系统。应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。应该注意了解这个系统可以做什么,为什么这样做,还要了解使用这个系统的代价。在了解上述这些信息的时候显然必须访问有关的人员。常见的错误做法是花费过多时间去分析现有的系统。这个步骤的目的是了解现有系统能做什么,而不是了解它怎样做这些工作。分析员应该画出描绘现有系统的高层系统流程图(见2.3节),并请有关人员检验他对现有系统的认识是否正确。千万不要花费太多时间去了解和描绘现有系统的实现细节。没有一个系统是在“真空”中运行的,绝大多数系统都和其他系统有联系。应该注意了解并记录现有系统和其他系统之间的接口情况,这是设计新系统时的重要约束条件。3.导出新系统的高层逻辑模型优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。通过前一步的的工作,分析析员对目标系系统应该具有有的基本功能能和所受的约约束已有一定定了解,能够够使用数据流流图(参看2.4节),描绘数据在在系统中流动动和处理的情情况,从而概概括地表达出出他对新系统统的设想。通通常为了把新新系统描绘得得更清晰准确确,还应该有有一个初步的的数据字典(参看2.5节),定义系统中中使用的数据据。数据流图图和数据字典典共同定义了了新系统的逻逻辑模型,以以后可以从这这个逻辑模型型出发设计新新系统。4.进一步定义问问题新系统的逻辑辑模型实质上上表达了分析析员对新系统统必须做什么么的看法。分分析员应该和和用户一起再再次复查问题题定义、工程程规模和目标标,这次复查查应该把数据据流图和数据据字典作为讨讨论的基础。。如果分析员员对问题有误误解或者用户户曾经遗漏了了某些要求,,那么现在是是发现和改正正这些错误的的时候了。可行性研究的的前4个步骤实质上上构成一个循循环。分析员员定义问题,,分析这个问问题,导出一一个试探性的的解;在此基基础上再次定定义问题,再再一次分析这这个问题,修修改这个解;;继续这个循循环过程,直直到提出的逻逻辑模型完全全符合系统目目标。5.导出和评价供供选择的解法法分析员应该从从他建议的系系统逻辑模型型出发,导出出若干个较高高层次的(较抽象的)物理解法供比比较和选择。。导出供选择择的解法的最最简单的途径径,是从技术术角度出发考考虑解决问题题的不同方案案。还可以使使用组合的方方法导出若干干种可能的物物理系统。当从技术角度度提出了一些些可能的物理理系统之后,,应该根据技技术可行性的的考虑初步排排除一些不现现实的系统。。把技术上行行不通的解法法去掉之后,,就剩下了一一组技术上可可行的方案。。其次可以考虑虑操作方面的的可行性。分分析员应该根根据使用部门门处理事务的的原则和习惯惯检查技术上上可行的那些些方案,去掉掉其中从操作作方式或操作作过程的角度度看用户不能能接受的方案案。接下来应该考考虑经济方面面的可行性。。分析员应该该估计余下的的每个可能的的系统的开发发成本和运行行费用,并且且估计相对于于现有的系统统而言这个系系统可以节省省的开支或可可以增加的收收入。在这些些估计数字的的基础上,对对每个可能的的系统进行成成本/效益分析(参看2.6节)。一般说来,,只有投资预预计能带来利利润的系统才才值得进一步步考虑。最后为每个在在技术、操作作和经济等方方面都可行的的系统制定实实现进度表,,这个进度表表不需要(也不可能)制定得很详细细,通常只需需要估计生命命周期每个阶阶段的工作量量。6.推荐行动方针针根据可行性研研究结果应该该做出的一个个关键性决定定是,是否继继续进行这项项开发工程。。分析员必须须清楚地表明明他对这个关关键性决定的的建议。如果果分析员认为为值得继续进进行这项开发发工程,那么么他应该选择择一种最好的的解法,并且且说明选择这这个解决方案案的理由。通通常使用部门门的负责人主主要根据经济济上是否划算算决定是否投投资于一项开开发工程,因因此分析员对对于所推荐的的系统必须进进行比较仔细细的成本/效益分析。7.草拟开发计划划分析员应该为为所推荐的方方案草拟一份份开发计划,,除了制定工工程进度表之之外还应该估估计对各类开开发人员和各各种资源的需需要情况,应应该指明什么么时候使用以以及使用多长长时间。此外外还应该估计计系统生命周周期每个阶段段的成本。最最后应该给出出下一个阶段段(需求分析)的详细进度表表和成本估计计。8.书写文档提交交审查应该把上述可可行性研究各各个步骤的工工作结果写成成清晰的文档档,请用户、、客户组织的的负责人及评评审组审查,,以决定是否否继续这项工工程及是否接接受分析员推推荐的方案。。系统流程图是是概括地描绘绘物理系统的的传统工具。。它的基本思思想是用图形形符号以黑盒盒子形式描绘绘组成系统的的每个部件(程序,文档,,数据库,人人工过程等)。系统流程图图表达的是数数据在系统各各部件之间流流动的情况,,而不是对数数据进行加工工处理的控制制过程,因此此尽管系统流流程图的某些些符号和程序序流程图的符符号形式相同同,但是它却却是物理数据据流图而不是是程序流程图图。2.3系统流程图当以概括的方方式抽象地描描绘一个实际际系统时,仅仅仅使用图2.1中列出的基本本符号就足够够了。当需要更具体体地描绘一个个物理系统时时还需要使用用图2.2(见书29页)中列出的的系统符号,,利用这些符符号可以把一一个广义的输输入输出操作作具体化为读读写存储在特特殊设备上的的文件(或数数据库),把把抽象处理具具体化为特定定的程序或手手工操作等。。符号图2.1基本符号介绍系统流程程图的最好方方法可能是通通过一个具体体例子说明它它的用法。下下面是一个简简单的例子。。某装配厂有一一座存放零件件的仓库,仓仓库中现有的的各种零件的的数量以及每每种零件的库库存量临界值值等数据记录录在库存清单单主文件中。。当仓库中零零件数量有变变化时,应该该及时修改库库存清单主文文件,如果哪哪种零件的库库存量少于它它的库存量临临界值,则应应该报告给采采购部门以便便定货,规定定每天向采购购部门送一次次定货报告。。例子该装配厂使用用一台小型计计算机处理更更新库存清单单主文件和产产生定货报告告的任务。零零件库存量的的每一次变化化称为一个事事务,由放在在仓库中的CRT终端输入到计计算机中;系系统中的库存存清单程序对对事务进行处处理,更新存存储在磁盘上上的库存清单单主文件,并并且把必要的的定货信息写写在磁带上。。最后,每天天由报告生成成程序读一次次磁带,并且且打印出定货货报告。图2.3的系统流程图图描绘了上述述系统的概貌貌。图中每个符号号用黑盒子形形式定义了组组成系统的一一个部件,然然而并没有指指明每个部件件的具体工作作过程;图中中的箭头确定定了信息通过过系统的逻辑辑路径。系统流程图图的习惯画画法是使信信息在图中中从顶向下下或从左向向右流动。。图2.3库存清单系系统的系统统流程图面对复杂的的系统时,,一个比较较好的方法法是分层次次地描绘这这个系统。。首先用一一张高层次次的系统流流程图描绘绘系统总体体概貌,表表明系统的的关键功能能。然后分分别把每个个关键功能能扩展到适适当的详细细程度,画画在单独的的一页纸上上。这种分分层次的描描绘方法便便于阅读者者按从抽象象到具体的的过程逐步步深入地了了解一个复复杂的系统统。分层数据流图(DFD)是一种图形形化技术,,它描绘信信息流和数数据从输入入移动到输输出的过程程中所经受受的变换。。在数据流流图中没有有任何具体体的物理部部件,它只只是描绘数数据在软件件中流动和和被处理的的逻辑过程程。数据流流图是系统统逻辑功能能的图形表表示,即使使不是专业业的计算机机技术人员员也容易理理解它,因因此是分析析员与用户户之间极好好的通信工工具。此外外,设计数数据流图时时只需考虑虑系统必须须完成的基基本逻辑功功能,完全全不需要考考虑怎样具具体地实现现这些功能能,所以它它也是今后后进行软件件设计的很很好的出发发点。2.4数据流图如图2.4(a)(见书31页)所示,,数据流图图有四种基基本符号::正方形(或立方体)表示数据的的源点或终终点;圆角角矩形(或圆形)代表变换数数据的处理理;开口矩矩形(或两条平行行横线)代表数据存存储;箭头头表示数据据流,即特特定数据的的流动方向向。注意,,数据流与与程序流程程图(参看本书第第5章)中用箭头表表示的控制制流有本质质不同,千千万不要混混淆。在数数据流图中中应该描绘绘所有可能能的数据流流向,而不不应该描绘绘出现某个个数据流的的条件。符号处理并不一一定是一个个程序。一一个处理框框可以代表表一系列程程序、单个个程序或者者程序的一一个模块;;它甚至可可以代表用用穿孔机穿穿孔或目视视检查数据据正确性等等人工处理理过程。一一个数据存存储也并不不等同于一一个文件,,它可以表表示一个文文件、文件件的一部分分、数据库库的元素或或记录的一一部分等;;数据可以以存储在磁磁盘、磁带带、磁鼓、、主存、微微缩胶片、、穿孔卡片片及其他任任何介质上上(包括人脑)。数据存储和和数据流都都是数据,,仅仅所处处的状态不不同。数据据存储是处处于静止状状态的数据据,数据流流是处于运运动中的数数据。通常在数据据流图中忽忽略出错处处理,也不不包括诸如如打开或关关闭文件之之类的内务务处理。数数据流图的的基本要点点是描绘““做什么””而不考虑虑“怎样做做”。有时数据的的源点和终终点相同,,如果只用用一个符号号代表数据据的源点和和终点,则则至少将有有两个箭头头和这个符符号相连(一个进一个个出),可能其中中一条箭头头线相当长长,这将降降低数据流流图的清晰晰度。另一一种表示方方法是再重重复画一个个同样的符符号(正方形或立立方体)表示数据的的终点。有有时数据存存储也需要要重复,以以增加数据据流图的清清晰程度。。为了避免免可能引起起的误解,,如果代表表同一个事事物的同样样符号在图图中出现在在n个地方,则则在这个符符号的一个个角上画((n-1)条短斜线线做标记。。除了上述4种基本符号号之外,有有时也使用用几种附加加符号。图图2.4(b)给出了这些些附加符号号的含义。。假设一家工工厂的采购购部每天需需要一张定定货报表,,报表按零零件编号排排序,表中中列出所有有需要再次次定货的零零件。对于于每个需要要再次定货货的零件应应该列出下下述数据::零件编号号,零件名名称,定货货数量,目目前价格,,主要供应应者,次要要供应者。。零件入库库或出库称称为事务,,通过放在在仓库中的的CRT终端把事务务报告给定定货系统。。当某种零零件的库存存数量少于于库存量临临界值时就就应该再次次定货。例子数据流图有有4种成分:源源点或终点点,处理,,数据存储储和数据流流。因此,,第一步可可以从问题题描述中提提取数据流流图的4种成分:首首先考虑虑数据的源源点和终点点,从上面面对系统的的描述可以以知道“采采购部每天天需要一张张定货报表表”,“通通过放在仓仓库中的CRT终端把事务务报告给定定货系统””,所以采采购员是数数据终点,,而仓库管管理员是数数据源点。。接下来考考虑处理,,再一次阅阅读问题描描述,“采采购部需要要报表”,,显然他们们还没有这这种报表,,因此必须须有一个用用于产生报报表的处理理。事务的的后果是改改变零件库库存量,然然而任何改改变数据的的操作都是是处理,因因此对事务务进行的加加工是另一一个处理。。注意,在问问题描述中中并没有明明显地提到到需要对事事务进行处处理,但是是通过分析析可以看出出这种需要要。最后,,考虑数据据流和数据据存储:系系统把定货货报表送给给采购部,,因此定货货报表是一一个数据流流;事务需需要从仓库库送到系统统中,显然然事务是另另一个数据据流。产生生报表和处处理事务这这两个处理理在时间上上明显不匹匹配——每当有一个个事务发生生时立即处处理它,然然而每天只只产生一次次定货报表表。因此,,用来产生生定货报表表的数据必必须存放一一段时间,,也就是应应该有一个个数据存储储。注意,并不不是所有数数据存储和和数据流都都能直接从从问题描述述中提取出出来。表2.1(见书33页)总结了了上面分析析的结果,,其中加星星号标记的的是在问题题描述中隐隐含的成分分。数据流图是是系统的逻逻辑模型,,然而任何何计算机系系统实质上上都是信息息处理系统统,也就是是说计算机机系统本质质上都是把把输入数据据变换成输输出数据。。因此,任任何系统的的基本模型型都由若干干个数据源源点/终点以及一一个处理组组成,这个个处理就代代表了系统统对数据加加工变换的的基本功能能。对于上上述的定货货系统可以以画出图2.5这样的基本本系统模型型。图2.5定货系统的的基本系统统模型从基本系统统模型这样样非常高的的层次开始始画数据流流图是一个个好办法。。在这个高高层次的数数据流图上上是否列出出了所有给给定的数据据源点/终点是一目目了然的,,因此它是是很有价值值的通信工工具。然而,图2.5毕竟太抽象象了,从这这张图上对对定货系统统所能了解解到的信息息非常有限限。下一步步应该把基基本系统模模型细化,,描绘系统统的主要功功能。从表表2.1可知,“产产生报表””和“处理理事务”是是系统必须须完成的两两个主要功功能,它们们将代替图图2.5中的“定货货系统”(图2.6)。此外,细化化后的数据据流图中还还增加了两两个数据存存储:处理理事务需要要“库存清清单”数据据;产生报报表和处理理事务在不不同时间,,因此需要要存储“定定货信息””。除了表表2.1中列出的两两个数据流流之外还有有另外两个个数据流,,它们与数数据存储相相同。这是是因为从一一个数据存存储中取出出来的或放放进去的数数据通常和和原来存储储的数据相相同,也就就是说,数数据存储和和数据流只只不过是同同样数据的的两种不同同形式。在图2.6中给处理和和数据存储储都加了编编号,这样样做的目的的是便于引引用和追踪踪。图2.6定货系统的的功能级数数据流图接下来应该该对功能级级数据流图图中描绘的的系统主要要功能进一一步细化。。考虑通过过系统的逻逻辑数据流流:当发生生一个事务务时必须首首先接收它它;随后按按照事务的的内容修改改库存清单单;最后如如果更新后后的库存量量少于库存存量临界值值时,则应应该再次定定货,也就就是需要处处理定货信信息。因此此,把“处处理事务””这个功能能分解为下下述3个步骤,这这在逻辑上上是合理的的:“接收收事务”、、“更新库库存清单””和“处理理定货”(图2.7)。当对数据流流图分层细细化时必须须保持信息息连续性,,也就是说说,当把一一个处理分分解为一系系列处理时时,分解前前和分解后后的输入输输出数据流流必须相同同。图2.7把处理事务务的功能进进一步分解解后的数据据流图数据流图中中每个成分分的命名是是否恰当,,直接影响响数据流图图的可理解解性。因此此,给这些些成分起名名字时应该该仔细推敲敲。下面讲讲述在命名名时应注意意的问题::1.为数据流(或数据存储储)命名(1)名字应代表表整个数据据流(或数据存储储)的内容,而而不是仅仅仅反映它的的某些成分分。(2)不要使用空空洞的、缺缺乏具体含含义的名字字(如“数据””、“信息息”、“输输入”之类类)。命名(3)如果在为某某个数据流流(或数据存储储)起名字时遇遇到了困难难,则很可可能是因为为对数据流流图分解不不恰当造成成的,应该该试试重新新分解,看看是否能克克服这个困困难。2.为处理命名名(1)通常先为数数据流命名名,然后再再为与之相相关联的处处理命名。。这样命名名比较容易易,而且体体现了人类类习惯的““由表及里里”的思考考过程。(2)名字应该反反映整个处处理的功能能,而不是是它的一部部分功能。。(3)名字最好由由一个具体体的及物动动词加上一一个具体的的宾语组成成。应该尽尽量避免使使用“加工工”、“处处理”等空空洞笼统的的动词作名名字。(4)通常名字中中仅包括一一个动词,,如果必须须用两个动动词才能描描述整个处处理的功能能,则把这这个处理再再分解成两两个处理可可能更恰当当些。(5)如果在为某某个处理命命名时遇到到困难,则则很可能是是发现了分分解不当的的迹象,应应考虑重新新分解。数据源点/终点并不需需要在开发发目标系统统的过程中中设计和实实现,它并并不属于数数据流图的的核心内容容,只不过过是目标系系统的外围围环境部分分(可能是人员员、计算机机外部设备备或传感器器装置)。通常,为为数据源点点/终点命名时时采用它们们在问题域域中习惯使使用的名字字(如“采购员员”、“仓仓库管理员员”等)。画数据流图图的基本目目的是利用用它作为交交流信息的的工具。分分析员把他他对现有系系统的认识识或对目标标系统的设设想用数据据流图描绘绘出来,供供有关人员员审查确认认。由于在在数据流图图中通常仅仅仅使用4种基本符号号,而且不不包含任何何有关物理理实现的细细节,因此此,绝大多多数用户都都可以理解解和评价它它。数据流图应应该分层,,并且在把把功能级数数据流图细细化后得到到的处理超超过9个时,应该该采用画分分图的办法法,也就是是把每个主主要功能都都细化为一一张数据流流分图,而而原有的功功能级数据据流图用来来描绘系统统的整体逻逻辑概貌。。用途数据流图的的另一个主主要用途是是作为分析析和设计的的工具。分分析员在研研究现有的的系统时常常用系统流流程图表达达他对这个个系统的认认识,这种种描绘方法法形象具体体,比较容容易验证它它的正确性性;但是,,开发工程程的目标往往往不是完完全复制现现有的系统统,而是创创造一个能能够完成相相同的或类类似的功能能的新系统统。用系统统流程图描描绘一个系系统时,系系统的功能能和实现每每个功能的的具体方案案是混在一一起的。因因此,分析析员希望以以另一种方方式进一步步总结现有有的系统,,这种方式式应该着重重描绘系统统所完成的的功能而不不是系统的的物理实现现方案。数数据流图是是实现这个个目标的极极好手段。。当用数据流流图辅助物物理系统的的设计时,,以图中不不同处理的的定时要求求为指南,,能够在数数据流图上上画出许多多组自动化化边界,每每组自动化化边界可能能意味着一一个不同的的物理系统统,因此可可以根据系系统的逻辑辑模型考虑虑系统的物物理实现。。例如,考考虑图2.7,事务随时时可能发生生,因此处处理1.1(““接收事务””)必须是联机机的;采购购员每天需需要一次定定货报表,,因此处理理2(“产生报表””)应该以批量量方式进行行。问题描描述并没有有对其他处处理施加限限制,例如如,可以联联机地接收收事务并放放入队列中中,然而更更新库存清清单、处理理定货和产产生报表以以批量方式式进行(图2.8)。当然,这这种方案需需要增加一一个数据存存储以存放放事务数据据。图2.8这种划分自自动化边界界的方法暗暗示以批量方式式更新库存存清单改变自动化化边界,把把处理1.1,1.2和1.3放在同一个个边界内(图2.9),这个系统统将联机地地接收事务务、更新库库存清单和和处理定货货及输出定定货信息;;然而处理理2将以批量方方式产生定定货报表。。还能设想想出建立自自动化边界界的其他方方案吗?如果把处理理1.1和处理1.2放在一个自自动化边界界内,把处处理1.3和处理2放在另一个个边界内,,意味着什什么样的物物理系统呢呢?数据流图对对更详细的的设计步骤骤也有帮助助,本书第第5章将讲述从从数据流图图出发映射射出软件结结构的方法法——面向数据流流的设计方方法。图2.9另一种划分分自动化边边界的方法法建议以联机方式式更新库存存清单数据字典是是关于数据据的信息的的集合,也也就是对数数据流图中中包含的所所有元素的的定义的集集合。任何字典最最主要的用用途都是供供人查阅对对不了解的的条目的解解释,数据据字典的作作用也正是是在软件分分析和设计计的过程中中给人提供供关于数据据的描述信信息。数据流图和和数据字典典共同构成成系统的逻逻辑模型,,没有数据据字典数据据流图就不不严格,然然而没有数数据流图数数据字典也也难于发挥挥作用。只只有数据流流图和对数数据流图中中每个元素素的精确定定义放在一一起,才能能共同构成成系统的规规格说明。。2.5数据字典一般说来,,数据字典典应该由对对下列4类元素的定定义组成::(1)数据流(2)数据流分量量(即数据元素素)(3)数据据存存储储(4)处理理但是是,,对对数数据据处处理理的的定定义义用用其其他他工工具具(如IPO图或或PDL)描述述更更方方便便,,因因此此本本书书中中数数据据字字典典将将主主要要由由对对数数据据的的定定义义组组成成,,这这样样做做可可以以使使数数据据字字典典的的内内容容更更单单纯纯,,形形式式更更统统一一。。数据据字字典典的的内内容容除了了数数据据定定义义之之外外,,数数据据字字典典中中还还应应该该包包含含关关于于数数据据的的一一些些其其他他信信息息。。典典型型的的情情况况是是,,在在数数据据字字典典中中记记录录数数据据元元素素的的下下列列信信息息::一一般般信信息息(名字字,,别别名名,,描描述述等等等等),定定义义(数据据类类型型,,长长度度,,结结构构等等等等),使使用用特特点点(值的的范范围围,,使使用用频频率率,,使使用用方方式式———输入入、、输输出出、、本本地地,,条条件件值值等等等等),控控制制信信息息(来源源,,用用户户,,使使用用它它的的程程序序,,改改变变权权,,使使用用权权等等等等)和分分组组信信息息(父结结构构,,从从属属结结构构,,物物理理位位置置———记录录、、文文件件和和数数据据库库等等等等)。数据据元元素素的的别别名名就就是是该该元元素素的的其其他他等等价价的的名名字字,,出出现现别别名名主主要要有有下下述述3个原原因因::(1)对于于同同样样的的数数据据,,不不同同的的用用户户使使用用了了不不同同的的名名字字;;(2)一个个分分析析员员在在不不同同时时期期对对同同一一个个数数据据使使用用了了不不同同的的名名字字;;(3)两个分析析员分别别分析同同一个数数据流时时,使用用了不同同的名字字。虽然应该该尽量减减少出现现别名,,但是不不可能完完全消除除别名。。定义绝大大多数复复杂事物物的方法法,都是是用被定定义的事事物的成成分的某某种组合合表示这这个事物物,这些些组成成成分又由由更低层层的成分分的组合合来定义义。从这这个意义义上说,,定义就就是自顶顶向下的的分解,,所以数数据字典典中的定定义就是是对数据据自顶向向下的分分解。那那么,应应该把数数据分解解到什么么程度呢呢?一般说来来,当分分解到不不需要进进一步定定义,每每个和工工程有关关的人也也都清楚楚其含义义的元素素时,这这种分解解过程就就完成了了。由数据元元素组成成数据的的方式只只有下述述三种基基本类型型:定义数据据的方法法(1)顺序即即以确确定次序序连接两两个或多多个分量量;(2)选择即即从两两个或多多个可能能的元素素中选取取一个;;(3)重复即即把指指定的分分量重复复零次或或多次。。因此,可可以使用用上述3种关系算算符定义义数据字字典中的的任何条条目。为为了说明明重复次次数,重重复算符符通常和和重复次次数的上上下限同同时使用用(当上下限限相同时时表示重重复次数数固定)。当重复复的上下下限分别别为1和0时,可以以用重复复算符表表示某个个分量是是可选的的。但是是,“可可选”是是由数据据元素组组成数据据时一种种常见的的方式,,把它单单独列为为一种算算符可以以使数据据字典更更清晰一一些。因因此,增增加了下下述的第第4种关系算算符:(4)可选即即一个个分量是是可有可可无的(重复零次次或一次次)。虽然可以以使用自自然语言言描述由由数据元元素组成成数据的的关系,,但是为为了更加加清晰简简洁,建建议采用用下列符符号:=意思是等等价于(或定义为为);+意思是和和(即,连接接两个分分量);[]意意思是或或(即,从方方括弧内内列出的的若干个个分量中中选择一一个),通常用用“|”号隔开供供选择的的分量;;{}意思是重重复(即,重复复花括弧弧内的分分量);()意思是可可选(即,圆括括弧里的的分量可可有可无无)。常常使用用上限和和下限进进一步注注释表示示重复的的花括弧弧。一种种注释方方法是在在开括弧弧的左边边用上角角标和下下角标分分别表明明重复的的上限和和下限;;另一种种注释方方法是在在开括弧弧左侧标标明重复复的下限限,在闭闭括弧的的右侧标标明重复复的上限限。下面举例例说明上上述定义义数据的的符号的的使用方方法:某某程序设设计语言言规定,,用户说说明的标标识符是是长度不不超过8个字符的的字符串串,其中中第一个个字符必必须是字字母字符符,随后后的字符符既可以以是字母母字符也也可以是是数字字字符。使使用上面面讲过的的符号,,我们可可以像下下面那样样定义标标识符::标识符=字母字符符+字母数字字串字母数字字串=0{字母或或数字}}7字母或数数字=[字母字字符|数数字字符符]由于和项项目有关关的人都都知道字字母字符符和数字字字符的的含义,,因此,,关于标标识符的的定义分分解到这这种程度度就可以以结束了了。数据字典典最重要要的用途途是作为为分析阶阶段的工工具。在在数据字字典中建建立的一一组严密密一致的的定义很很有助于于改进分分析员和和用户之之间的通通信,因因此将消消除许多多可能的的误解。。对数据据的这一一系列严严密一致致的定义义也有助助于改进进在不同同的开发发人员或或不同的的开发小小组之间间的通信信。如果果要求所所有开发发人员都都根据公公共的数数据字典典描述数数据和设设计模块块,则能能避免许许多麻烦烦的接口口问题。。数据字典典的用途途数据字典典中包含含的每个个数据元元素的控控制信息息是很有有价值的的。因为为列出了了使用一一个给定定的数据据元素的的所有程程序(或模块),所以很很容易估估计改变变一个数数据将产产生的影影响,并并且能对对所有受受影响的的程序或或模块作作出相应应的改变变。最后,数数据字典典是开发发数据库库的第一一步,而而且是很很有价值值的一步步。目前,数数据字典典几乎总总是作为为CASE“结构化分分析与设设计工具具”的一一部分实实现的。。在开发发大型软软件系统统的过程程中,数数据字典典的规模模和复杂杂程度迅迅速增加加,人工工维护数数据字典典几乎是是不可能能的。如果在开开发小型型软件系系统时暂暂时没有有数据字字典处理理程序,,建议采采用卡片片形式书书写数据据字典,,每张卡卡片上保保存描述述一个数数据的信信息。这这样做更更新和修修改起来来比较方方便,而而且能单单独处理理描述每每个数据据的信息息。每张张卡片上上主要应应该包含含下述这这样一些些信息::名字、别别名、描描述、定定义、位位置。数据字典典的实现现开发一个个软件系系统是一一种投资资,期望望将来获获得更大大的经济济效益。。经济效效益通常常表现为为减少运运行费用用或(和)增加收入入。但是是,投资资开发新新系统往往往要冒冒一定风风险,系系统的开开发成本本可能比比预计的的高,效效益可能能比预期期的低。。效益分分析的目目的正是是要从经经济角度度分析开开发一个个特定的的新系统统是否划划算,从从而帮助助客户组组织的负负责人正正确地作作出是否否投资于于这项开开发工程程的决定定。为了对比比成本和和效益,,首先需需要估计计它们的的数量。。2.6成本/效益分析析软件开发发成本主主要表现现为人力力消耗(乘以平均均工资则则得到开开发费用用)。成本估估计不是是精确的的科学,,因此应应该使用用几种不不同的估估计技术术以便相相互校验验。下面面简单介介绍3种估算技技术。1.代码行技技术代码行技技术是比比较简单单的定量量估算方方法,它它把开发发每个软软件功能能的成本本和实现现这个功功能需要要用的源源代码行行数联系系起来。。通常根根据经验验和历史史数据估估计实现现一个功功能需要要的源程程序行数数。当有有以往开开发类似似工程的的历史数数据可供供参考时时,这个个方法是是非常有有效的。。成本估计计一旦估计计出源代代码行数数以后,,用每行行代码的的平均成成本乘以以行数就就可以确确定软件件的成本本。每行行代码的的平均成成本主要要取决于于软件的的复杂程程度和工工资水平平。2.任务分解解技术这种方法法首先把把软件开开发工程程分解为为若干个个相对独独立的任任务。再再分别估估计每个个单独的的开发任任务的成成本,最最后累加加起来得得出软件件开发工工程的总总成本。。估计每每个任务务的成本本时,通通常先估估计完成成该项任任务需要要用的人人力(以人月为为单位),再乘以以每人每每月的平平均工资资而得出出每个任任务的成成本。最常用的的办法是是按开发发阶段划划分任务务。如果果软件系系统很复复杂,由由若干个个子系统统组成,,则可以以把每个个子系统统再按开开发阶段段进一步步划分成成更小的的任务。。典型环境境下各个个开发阶阶段需要要使用的的人力的的百分比比大致如如表2.2(见书40页)所示示。当然然,应该该针对每每个开发发工程的的具体特特点,并并且参照照以往的的经验尽尽可能准准确地估估计每个个阶段实实际需要要使用的的人力。。3.自动估计计成本技技术采用自动动估计成成本的软软件工具具可以减减轻人的的劳动,,并且使使得估计计的结果果更客观观。但是是,采用用这种技技术必须须有长期期搜集的的大量历历史数据据为基础础,并且且需要有有良好的的数据库库系统支支持。成本/效益分析析的第一一步是估估计开发发成本、、运行费费用和新新系统将将带来的的经济效效益。运运行费用用取决于于系统的的操作费费用(操作员人人数,工工作时间间,消耗耗的物资资等等)和维护费费用。系系统的经经济效益益等于因因使用新新系统而而增加的的收入加加上使用用新系统统可以节节省的运运行费用用。因为为运行费费用和经经济效益益两者在在软件的的整个生生命周期期内都存存在,总总的效益益和生命命周期的的长度有有关,所所以应该该合理地地估计软软件的寿寿命。成本/效益分析析的方法法虽然许许多系系统在在开发发时预预期生生命周周期长长达10年以上上,但但是时时间越越长系系统被被废弃弃的可可能性性也越越大,,为了了保险险起见见,以以后在在进行行成本本/效益分分析时时一律律假设设生命命周期期为5年。应该比比较新新系统统的开开发成成本和和经济济效益益,以以便从从经济济角度度判断断这个个系统统是否否值得得投资资,但但是,,投资资是现现在进进行的的,效效益是是将来来获得得的,,不能能简单单地比比较成成本和和效益益,应应该考考虑货货币的的时间间价值值。1.货币的的时间间价值值通常用用利率率的形形式表表示货货币的的时间间价值值。假假设年年利率率为i,如果果现在在存入入P元,则则n年后可可以得得到的的钱数数为::F=P(1+i)n这也就就是P元钱在在n年后的的价值值。反反之,,如果果n年后能能收入入F元钱,,那么么这些些钱的的现在在价值值是P=F/(1+i)n例如,,修改改一个个已有有的库库存清清单系系统,,使它它能在在每天天送给给采购购员一一份定定货报报表。。修改改已有有的库库存清清单程程序并并且编编写产产生报报表的的程序序,估估计共共需5000元;系系统修修改后后能及及时定定货将将消除除零件件短缺缺问题题,估估计因因此每每年可可以节节省2500元,5年共可可节省省12500元。但但是,,不能能简单单地把把5000元和12500元相比比较,,因为为前者者是现现在投投资的的钱,,后者者是若若干年年以后后节省省的钱钱。假定年年利率率为12%,利用用上面面计算算货币币现在在价值值的公公式可可以算算出修修改库库存清清单系系统后后每年年预计计节省省的钱钱的现现在价价值,,如表表2.3(见书书41页)所所示。。2.投资回回收期期通常用用投资资回收收期衡衡量一一项开开发工工程的的价值值。所所谓投投资回回收期期就是是使累累计的的经济济效益益等于于最初初投资资所需需要的的时间间。显显然,,投资资回收收期越越短就就能越越快获获得利利润,,因此此这项项工程程也就就越值值得投投资。。投资回回收期期仅仅仅是一一项经经济指指标,,为了了衡量量一项项开发发工程程的价价值,,还应应该考考虑其其他经经济指指标。。3.纯收入入衡量工工程价价值的的另一一项经经济指指标是是工程程的纯纯收入入,也也就是是在整整个生生命周周期之之内系系统的的累计计经济济效益益(折合成成现在在值)与投资资之差差。这这相当当于比比较投投资开开发一一个软软件系系统和和把钱钱存在在银行行中(或贷给给其他他企业业)这两种种方案案的优优劣。。如果果纯收收入为为零,,则工工程的的预期期效益益和在在银行行存款款一样样,但但是开开发一一个系系统要要冒风风险,,因此此从经经济观观点看看这项项工程程可能能是不不值得得投资资的。。如果果纯收收入小小于零零,那那么这这项工工程显显然不不值得得投资资。4.投资回回收率率把资金金存入入银行行或贷贷给其其他企企业能能够获获得利利息,,通常常用年年利率率衡量量利息息多少少。类类似地地也可可以计计算投投资回回收率率,用用它衡衡量投投资效效益的的大小小,并并且可可以把把它和和年利利率相相比较较,在在衡量量工程程的经经济效效益时时,它它是最最重要要的参参考数数据。。已知现现在的的投资资额,,并且且已经经估计计出将将来每每年可可以获获得的的经济济效益益,那那么,,给定定软件件的使使用寿寿命之之后,,怎样样计算算投资资回收收率呢呢?设想把把数量量等于于投资资额的的资金金存入入银行行,每每年年年底从从银行行取回回的钱钱等于于系统统每年年预期期可以以获得得的效效益,,在时时间等等于系系统寿寿命时时,正正好把把在银银行中中的存存款全全部取取光,,那么么,年年利率率等于于多少少呢?这个假假想的的年利利率就就等于于投资资回收收率。。可行性性研究究进一一步探探讨问问题定定义阶阶段所所确定定的问问题是是否有有可行行的解解。在在对问问题正正确定定义的的基础础上,,通过过分析析问题题,导导出试试探性性的解解,然然后复复查并并修正正问题题定义义,再再次分分析问问题,,改进进提出出的解解法……。经过过定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论