软件工程第2章可行性分析

上传人:平*** 文档编号:26312873 上传时间:2017-12-25 格式:PPT 页数:95 大小:1.79MB
返回 下载 相关 举报
软件工程第2章可行性分析_第1页
第1页 / 共95页
软件工程第2章可行性分析_第2页
第2页 / 共95页
软件工程第2章可行性分析_第3页
第3页 / 共95页
软件工程第2章可行性分析_第4页
第4页 / 共95页
软件工程第2章可行性分析_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《软件工程第2章可行性分析》由会员分享,可在线阅读,更多相关《软件工程第2章可行性分析(95页珍藏版)》请在金锄头文库上搜索。

1、第二章 可行性研究,2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图2.5 数据字典2.6 成本/效益分析,可行性研究,开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。,开始,问题定义,可性行研究,可行否?,项目实施计划,终止项目的建议,结束,Y,N,问题的定义与可性行研究,Who,What,Why,有用的软件,3W,可行性研究,目的: 用最小的代价在尽可能短的时间内确定问题是否能够解决。 不是解决问题,而是确定问题是否值得去解决。

2、,可行性研究的目的,说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。 (GB 8567-88 计算机软件产品开发文件编制指南 ),2.1 可行性研究的任务,GB 8566-88 计算机软件开发规范中指出: 可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”可行性研究的最根本任务是: 对以后的行动方针提出建议。,可行性研究的内容,(1) 技术可行性(2) 经济可行性(3) 操作可行性(4) 社会可行性(法律可行性)(5) 抉择,经济可行

3、性,度量系统解决方案的性能价格比。考虑的问题:成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡,技术可行性分析,技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。,风险分析:分析在给定的约束条件下设计和实现系统的风险。采用不成熟的技术可能造成技术风险人员流动可能给项目带来风险成本和人员估算不合理造成的预算风险 风险分析的目的是找出风险,评价风险的大小,并有效地控制和缓解风险。,资源分析:论证是否具备系统开发所需的各类人员、软件、硬件

4、等资源和相应的工作环境。 例如,有一支开发过类似项目的开发和管理的团队,或者开发人员比较熟悉系统所处的领域,并有足够的人员保证,所需的硬件和支撑软件能通过合法的手段获取,那么从资源角度看,可以认为具备设计和实现系统的条件。,技术分析:分析当前的科学技术是否支持系统开发的各项活动。 在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程,从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。 技术可行性分析时通常需进行系统建模,必要时可建造原型和进行系统模拟,社会可行性(法律可行性),开发项目是否会在社会上或政治上引起

5、侵权、破坏或其它责任问题。,法律可行性分析,研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。1990年我国颁布了中华人民共和国著作权法,其中将计算机软件作为著作权法的保护对象。1991年国务院颁布了计算机软件保护条例。这两个法律文件是法律可行性分析的主要依据。,操作可行性,用户使用可能性 时间进度可行性 组织和文化上的可行性,方案的选择和折衷,一个基于计算机的系统可以有多个可行的实现方案,每个方案对成本、时间、人员、技术、设备都有不同的要求,不同方案开发出来的系统在功能、性能方面也会有所不同。因此要在多个可行的实现方案中作出选择。方案评估的依据是待开发系统的功能、性能

6、、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。如,为达到高的精度就可能导致长的执行时间,为达到高可靠性就会导致高的成本等等。因此,在必要时应进行折衷。,可行性分析的结论,可以立即开始进行需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行,2.2 可行性研究过程,1. 复查系统规模和目标2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型4. 进一步定义问题5. 导出和评价供选择的解法6. 推荐行

7、动方针7. 草拟开发计划8. 书写文档提交审查,2.3 系统流程图,系统流程图是概括地描绘物理系统的传统工具。作用:以概括的形式描述现有的和未来的系统。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。,基本符号 -以概括的方式抽象地描绘一个实际系统所用符号,- 具体地描绘一个物理系统所用符号系统符号,举例 - 计算机售书系统流程图,结束,学生,购书发票,到书库领书,购书

8、单,终端,审查并开发票,1,1-学生各学期用书数据库,购书单,2,2-教材存量数据库,2.4 数据流图DFD - Data Flow Diagram 是分析员和用户沟通的工具,是设计的出发点,一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。由于它能够清晰地反映系统必须完成的逻辑功能,所以它已经成为需求分析阶段中功能建模最常用的工具。,数据流图四种基本符号,数据加工 (数据变换),数据源点或

9、终点 (外部实体),数据流,数据存储文件,或,或,或,图5 工资计算系统的顶层(0层)数据流图,返回,1. 数据的源点或终点 数据的源点或终点用于反映数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。如图中的人事部门、后勤部门是工资系统中数据的源点,而职工和银行则是工资系统中数据的终点。,2. 数据流 数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传送通道,数据流符号的箭头指明了数据的流动方向。如图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。在数据流图中,除了连接加工和数据存储的数据流以外,其

10、他的数据流在图中都对应一个惟一的名字。,3. 加工 加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。 4. 数据存储 在数据流图中用于保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。,数据流与加工之间的关系 在数据流图中,可以有两个以上的数据流进入同一个加工,也可以有两个以上的数据流从同一个加工中流出,这

11、样的多个数据流之间往往存在一定的关系。为了表示这些数据流之间的关系,需要在数据流图中给这些数据流对应的加工加上一定的标记符号。在下表中列出了加工中常见的几种关系的表示方法。(表中以从加工流入或流出两个数据流为例)。,数据流图几种附加符号,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。,面对复杂的系统 -分层描绘,首先用一张高层次的数据流图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘

12、方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,数据流模型的建立方法 对于一个复杂的系统来说,可能存在着几十个甚至成百上千个加工,若要在一个数据流图中清楚地描述出整个系统加工的过程是很困难的,而采用对数据流图进行分层的方法则可以很好地解决这个问题。 按照结构化分析方法中“自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的顶层数据流图。,为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分

13、解,直至得到系统的底层数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工”。通过分解过程中得到的这一组分层数据流图(由顶层、中间层和底层数据流图共同构成)就可以十分清晰地描述出整个系统所有加工的详细情况。,分层的数据流图,下面以某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。 1. 建立顶层数据流图 任何系统的顶层数据流图都只有一个,用于反映目标系统所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如图5所示。,2. 数据流图的分

14、层细化 首先按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。 其中,计算工资完成单位职工工资计算,生成工资清单的功能; 打印工资清单完成工资条的打印功能; 工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,此外,在标出数据流和划分加工的同时,还要在图中画出涉及的数据存储。,图6 工资计算系统第一层数据流图,对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图7所示。 若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数

15、据流图如图8所示。,图7 工资计算系统的第二层数据流图(a) “计算工资”子数据流图;(b)“工资转存”子数据流图,图8 工资计算系统的第三层数据流图,建立数据流模型的原则 建立数据流模型要遵循以下的原则: (1) 每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果)。 (2) 数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。 (3) 对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入/输出数据保持一致。,(4) 在数据流图中,应按照层次给每个加工编号,用于表明该加工

16、所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第二层加工的编号为1,2,n;第三层加工的编号为1.1,1.2,2.1,n.1,n.2,等,依次类推。如编号1.2表明该加工处于第三层数据流图中,序号为2,该图是对上层数据流图中编号为1的加工进行细化得到的子图。 (5) 在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需标明所有数据存储外,为了保持画面的整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。,(6) 数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该“做什么”, 而不需要指明系统“如何做”。 (7) 数据流图的分解速度应保持适中。通常一个加工每次可分解为24个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号