资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
系统分析与设计-2-可行性研究,教学目标 掌握可行性研究的主要内容;了解系统流程图、数据流图、数据字典的用途。 教学重点 可行性研究中的上层数据流图的构成。 教学难点 数据字典的构成。,第2章 可行性研究,系统分析与设计-2-可行性研究,第2章 可行性研究,2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析 2.7 小结,系统分析与设计-2-可行性研究,2.1 可行性研究的任务,可行性研究的目的不是解决问题,而是用最小的代价在最短的时间内确定问题是否能够解决。 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,系统分析与设计-2-可行性研究,首先需要进一步分析和澄清问题定义。 在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。,2.1 可行性研究的任务,系统分析与设计-2-可行性研究,对每种解法都应该仔细研究它的可行性,一般说来,至少应该从下述三方面研究每种解法的可行性: (1) 技术可行性:现有的技术能实现这个系统吗? (2) 经济可行性:经济效益能超过它的开发成本吗? (3) 操作可行性:系统的操作方式在这个用户组织内行得通吗?必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 分析员应该为每个可行的解法制定一个粗略的实现进度。,2.1 可行性研究的任务,系统分析与设计-2-可行性研究,可行性研究最根本的任务是对以后的行动方针提出建议。 如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费。 如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 可行性研究可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%10%。,2.1 可行性研究的任务,系统分析与设计-2-可行性研究,2.2 可行性研究过程,典型的可行性研究过程有下述一些步骤: 1. 复查系统规模和目标 分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,2. 研究目前正在使用的系统 现有的系统是信息的重要来源。新的目标系统必须也能完成它的基本功能; 新系统必须能解决旧系统中存在的问题,一个重要的经济指标:新系统不能增加收入或减少使用费用,那么从经济角度看新系统就不如旧系统。 通过阅读分析现有系统的文档资料和使用手册及实地考察,了解这个系统可以做什么,为什么这样做,还要了解使用这个系统的代价。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,分析员应该画出描绘现有系统的高层系统流程图(见2.3节),并请有关人员检验他对现有系统的认识是否正确。不必花费太多时间去了解和描绘现有系统的实现细节。 注意了解并记录现有系统和其他系统之间的接口情况,这是设计新系统时的重要约束条件。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,3. 导出新系统的高层逻辑模型 从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。 分析员对目标系统应该具有的基本功能和所受的约束已有一定了解,能够使用数据流图(参看2.4节),描绘数据在系统中流动和处理的情况,,系统分析与设计-2-可行性研究,2.2 可行性研究过程,为把新系统描绘得更清晰准确,还应该有一个初步的数据字典(参看2.5节),定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,4. 进一步定义问题 分析员应该和用户一起再次复查问题定义、工程规模和目标,把数据流图和数据字典作为讨论的基础。 5. 导出和评价供选择的解法 从建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。 (1)根据技术可行性初步排除一些不现实的系统。把技术上行不通的解法去掉之后,就剩下了一组技术上可行的方案。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,(2)可以考虑操作方面的可行性。 (3)接下来应该考虑经济方面的可行性。估计余下的每个可能的系统的开发成本和运行费用以及对原系统的提升价值幅度。 在这些估计数字的基础上,对每个可能的系统进行成本/效益分析(参看2.6节)。 (4)最后为每个在技术、操作和经济等方面都可行的系统制定进度表,估计生命周期每个阶段的工作量。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,6. 推荐行动方针 根据可行性研究结果,若工程可以进行,那么应该选择一种最好的解法,并且说明选择这个解决方案的理由。 7. 草拟开发计划 为所推荐的方案草拟一份开发计划:制定工程进度表、估计对各类开发人员和各种资源的需要情况,指明什么时候使用以及使用多长时间、估计系统生命周期每个阶段的成本,最后给出下一个阶段(需求分析)的详细进度表和成本估计。,系统分析与设计-2-可行性研究,2.2 可行性研究过程,8. 书写文档提交审查 应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。,系统分析与设计-2-可行性研究,2.3 系统流程图,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。 系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。,系统分析与设计-2-可行性研究,当以概括的方式抽象地描绘一个实际系统时,仅仅使用图2.1中列出的基本符号就足够了。,2.3.1 符号,图2.1 基本符号,系统分析与设计-2-可行性研究,当需要更具体地描绘一个物理系统时还需要使用图2.2中列出的系统符号,利用这些符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。,2.3.1 符号,系统分析与设计-2-可行性研究,图2.2 系统符号,系统分析与设计-2-可行性研究,通过简单的例子了解系统流程图使用。 某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。 该装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。,2.3.2 例子,系统分析与设计-2-可行性研究,零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出定货报告。 图2.3的系统流程图描绘了上述系统的概貌。,2.3.2 例子,系统分析与设计-2-可行性研究,图2.3 库存清单系统的系统流程图,系统分析与设计-2-可行性研究,面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统,达到化繁为简的目的。 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,2.3.3 分层,系统分析与设计-2-可行性研究,2.4 数据流图,数据流图(Data Flow Diagram, DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。 数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。 此外,设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。,系统分析与设计-2-可行性研究,2.4.1 符号,系统分析与设计-2-可行性研究,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,2.4.2 例子,系统分析与设计-2-可行性研究,数据流图有4种成分:源点或终点,处理,数据存储和数据流,对应找出相应的部分内容。 首先考虑数据的源点和终点 从描述可知“采购部每天需要一张定货报表”,“通过放在仓库中的CRT终端把事务报告给定货系统”采购员是数据终点,而仓库管理员是数据源点。 其次,考虑处理 阅读问题描述,“采购部需要报表”产生报表的处理。仓库管理员的日常事务(工作),零件的入出,事务导致改变零件库存量是另一个处理。,2.4.2 例子,系统分析与设计-2-可行性研究,考虑数据流和数据存储 系统把定货报表送给采购部,因此定货报表是一个数据流; 事务需要从仓库送到系统中,显然事务是另一个数据流; 产生报表和处理事务这两个处理在时间上明显不匹配每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。因此,用来产生定货报表的数据必须存放一段时间,也就是应该有一个数据存储订货信息。,2.4.2 例子,系统分析与设计-2-可行性研究,由于有库存临界值,需要有库存清单(保存库存临界值信息),也就是应该有一个数据存储库存清单。 根据上述分析,列出相应的数据流图元素如图所示:,2.4.2 例子,系统分析与设计-2-可行性研究,2.4.2 例子,系统分析与设计-2-可行性研究,2.4.2 例子,图2.5 定货系统的基本系统模型,系统分析与设计-2-可行性研究,图2.5毕竟太抽象了,从这张图上对定货系统所能了解到的信息非常有限。 从表2.1可知,“产生报表”和“处理事务”是系统必须完成的两个主要功能,它们将代替图2.5中的“定货系统”(图2.6)。,2.4.2 例子,系统分析与设计-2-可行性研究,2.4.2 例子,图2.6 定货系统的功能级数据流图,系统分析与设计-2-可行性研究,对功能级数据流图中描绘的系统主要功能进一步细化: 考虑通过系统的逻辑数据流:当发生一个事务时必须首先接收它,随后按照事务的内容修改库存清单,最后如果更新后的库存量少于库存量临界值时,则应该再次定货,也就是需要处理定货信息。 “处理事务”这个功能分解为“接收事务”、“更新库存清单”和“处理定货”(图2.7)。,2.4.2 例子,系统分析与设计-2-可行性研究,2.4.2 例子,图2.7 把处理事务的功能进一步分解后的数据流图,系统分析与设计-2-可行性研究,数据流图中每个成分的命名直接影响数据流图的可理解性,在命名时应注意的问题: 1. 为数据流(或数据存储)命名 名字应代表整个数据流(或数据存储)的内容,若起名字时遇到了困难,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号