软件工程可行性研究课件教学文稿.ppt
《软件工程可行性研究课件教学文稿.ppt》由会员分享,可在线阅读,更多相关《软件工程可行性研究课件教学文稿.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论软件工程导论软件工程可行性研究课件软件工程导论软件工程导论2 可行性研究过程可行性研究过程 可行性研究过程的一般步骤:可行性研究过程的一般步骤:可行性研究过程的一般步骤:可行性研究过程的一般步骤:1.1.1.1.确认项目的目标和规模。确认项目的目标和规模。系统分析员对问题定义阶段书写的关于规模和目标的报告进一系统分析员对问题定义阶段书写的关于规模和目标的报告进一步复查确认,清晰地描述关于目标系统的一切限制与约束。步复查确认,清晰地描述关于目标系统的一切限制与约束。研究目前正在使用的系统。研究目前正在使用的系统。实地考察现有系统,仔细阅读其文档资料和使用手册,确定其实地考察现有系统,
2、仔细阅读其文档资料和使用手册,确定其基本功能、工作流程以及其缺陷。基本功能、工作流程以及其缺陷。3.3.建立新系统的高层逻辑模型。建立新系统的高层逻辑模型。系统分析员在逐步明确目标系统应该具有的基本功能、处理流系统分析员在逐步明确目标系统应该具有的基本功能、处理流程和所受的约束的基础上,利用建立逻辑模型的工具,定义新系统程和所受的约束的基础上,利用建立逻辑模型的工具,定义新系统的逻辑模型。能够利用数据流图描绘数据在系统中的流动和处理的的逻辑模型。能够利用数据流图描绘数据在系统中的流动和处理的情况,利用初步的数据字典定义系统中的数据。数据流图和数据字情况,利用初步的数据字典定义系统中的数据。数据
3、流图和数据字典共同定义了系统的逻辑模型,以后可以从这个逻辑模型出发设计典共同定义了系统的逻辑模型,以后可以从这个逻辑模型出发设计新的系统。新的系统。软件工程导论软件工程导论2 可行性研究过程可行性研究过程 4.4.进一步定义问题。进一步定义问题。分析员通过新系统的逻辑模型表达新系统必须做什么之后,应分析员通过新系统的逻辑模型表达新系统必须做什么之后,应该和用户一起再次复查问题定义、工程规模和目标,以发现并改正该和用户一起再次复查问题定义、工程规模和目标,以发现并改正分析员对某些问题的误解或者用户遗漏的某些问题。分析员定义问分析员对某些问题的误解或者用户遗漏的某些问题。分析员定义问题,分析这个问
4、题,导出一个试探性的解;在此基础上再次定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再次分析这个问题,修改这个解;继续这个循环过程,直到提题,再次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。出的逻辑模型完全符合系统目标。5.5.导出和评价各种供选择的方案导出和评价各种供选择的方案 分析员在建立了完全符合系统目标的高层逻辑模型后,要给出分析员在建立了完全符合系统目标的高层逻辑模型后,要给出若干个较高层次的若干个较高层次的(较抽象的较抽象的)物理解法供选择和比较。一般地,首物理解法供选择和比较。一般地,首先从技术可行性出发,初步排除一些不现
5、实的处理方案;然后,从先从技术可行性出发,初步排除一些不现实的处理方案;然后,从操作可行性出发操作可行性出发,充分考虑用户的工作方式和习惯,将那些操作方式充分考虑用户的工作方式和习惯,将那些操作方式或操作过程不能被用户接受的方案剔除;再次,从经济可行性出发,或操作过程不能被用户接受的方案剔除;再次,从经济可行性出发,估算余下各种方案的开发成本和运行费用,进行成本估算余下各种方案的开发成本和运行费用,进行成本/效益分析,选效益分析,选择预期利润比较理想的方案;最后,分析员详细列出各种较理想方择预期利润比较理想的方案;最后,分析员详细列出各种较理想方案制定进度表,估计各种方案在生命周期各个阶段的工
6、作量案制定进度表,估计各种方案在生命周期各个阶段的工作量软件工程导论软件工程导论2 可行性研究过程可行性研究过程为项目负责人进行决策提供充分的依据。为项目负责人进行决策提供充分的依据。6.6.推荐一个可行的方案。推荐一个可行的方案。根据前述可行性研究的结果,分析员应该作出是否继续进行这根据前述可行性研究的结果,分析员应该作出是否继续进行这项开发工作的决定。如果结论肯定,则应该推荐一种最好的解法,项开发工作的决定。如果结论肯定,则应该推荐一种最好的解法,并说明选择这个解决方案的理由。并说明选择这个解决方案的理由。7.7.草拟开发计划。草拟开发计划。分析员应该为所推荐的方案草拟一份开发计划。该计划
7、除了制分析员应该为所推荐的方案草拟一份开发计划。该计划除了制定工程进度表外,还应该估计需要的各类开发人员和各种资源,另定工程进度表外,还应该估计需要的各类开发人员和各种资源,另外还应估计生命周期各个阶段的成本,最后还应给出下一阶段外还应估计生命周期各个阶段的成本,最后还应给出下一阶段(需求需求分析分析)的详细进度表和成本估算。的详细进度表和成本估算。8.8.编写文档并提交审查。编写文档并提交审查。将上述可行性研究的各个步骤的工作成果写成正式的文档,提将上述可行性研究的各个步骤的工作成果写成正式的文档,提交用户、客户组织的主管以及评审组审查,以决定是否继续这项工交用户、客户组织的主管以及评审组审
8、查,以决定是否继续这项工程以及是否接受分析员推荐的方案。程以及是否接受分析员推荐的方案。软件工程导论软件工程导论3 可行性研究报告的文档格式可行性研究报告的文档格式 可行性研究文档的文档格式可参看可行性研究文档的文档格式可参看可行性研究文档的文档格式可参看可行性研究文档的文档格式可参看GB8567-88GB8567-88GB8567-88GB8567-88计算机软件产品计算机软件产品计算机软件产品计算机软件产品开发文件编制指南。开发文件编制指南。开发文件编制指南。开发文件编制指南。软件工程导论软件工程导论4 系统流程图系统流程图4.1 4.1 概述概述 分析员在进行可行性研究时需要了解和分析现
9、有的系统,并概要分析员在进行可行性研究时需要了解和分析现有的系统,并概要地表达对现有系统的认识;在进入设计阶段还需要将设想的新系统的地表达对现有系统的认识;在进入设计阶段还需要将设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是概括地描绘物理系统的传统工具。其基本思想是系统流程图是概括地描绘物理系统的传统工具。其基本思想是用用图形符号以黑盒子形式描述系统的各个部件图形符号以黑盒子形式描述系统的各个部件(包括程序、文档、数据库包括程序、文档、数据库和人工过程等和人工过程等)。系统流程图表达的是数据在系统各
10、部件之间的流动情况,而系统流程图表达的是数据在系统各部件之间的流动情况,而不是不是对数据进行处理处理的控制过程。值得注意的是,尽管系统流程图和对数据进行处理处理的控制过程。值得注意的是,尽管系统流程图和程序流程图的某些符号形式相同,但系统流程图描述的是物理数据流程序流程图的某些符号形式相同,但系统流程图描述的是物理数据流图而不是程序数据流图。图而不是程序数据流图。软件工程导论软件工程导论4 系统流程图系统流程图4.2 4.2 系统流程图符号系统流程图符号 软件工程导论软件工程导论4 系统流程图系统流程图软件工程导论软件工程导论4 系统流程图系统流程图4.2 4.2 系统流程图实例一:人工销售教
11、材系统系统流程图实例一:人工销售教材系统 软件工程导论软件工程导论4 系统流程图系统流程图4.3 4.3 系统流程图实例二:计算机售书系统系统流程图实例二:计算机售书系统 软件工程导论软件工程导论4 系统流程图系统流程图4.4 4.4 系统流程图的分层系统流程图的分层 面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。方法是对高层系统流程图进行分解,分别把每个核心功能扩展到适当方法是对高层系统流程图进行分解,分别把每个核心功能扩展到适当的详细程度。这样可以逐步深入地了解一个复杂系统。的详细程度。这样可以逐步深入地了解一个复杂系统
12、。软件工程导论软件工程导论5 数据流图数据流图5.1 5.1 数据流图概述数据流图概述 数据流图数据流图(Data Flow Diagram(Data Flow Diagram,DFD)DFD)是一种图形化技术,它描绘是一种图形化技术,它描绘信息流和数据流从输入到输入过程中所经历的变换。在数据流图中没信息流和数据流从输入到输入过程中所经历的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图有四种主要成分:源点辑过程。数据流图有四种主要成分:源点/终点、处理、数据流和数据终点、处理、数据流和
13、数据存储。存储。数据流图的基本功能是作为信息交流的工具,分析员把他对现有数据流图的基本功能是作为信息交流的工具,分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查。查。数据流图的另一个主要用途是作为分析和设计的工具。分析员在数据流图的另一个主要用途是作为分析和设计的工具。分析员在研究现有的系统时通常使用系统流程图来表达他对这个系统的认识,研究现有的系统时通常使用系统流程图来表达他对这个系统的认识,这种方法形象具体,也比较容易验证其正确性。但是在用系统流程图这种方法形象具体,也比较容易验证其正确性。但是在用系
14、统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混合在一描绘一个系统时,系统的功能和实现每个功能的具体方案是混合在一起的。分析员就会使用数据流图进一步总结现有的系统,着重描绘系起的。分析员就会使用数据流图进一步总结现有的系统,着重描绘系统所完成的功能而不是系统的物理实现方案。统所完成的功能而不是系统的物理实现方案。软件工程导论软件工程导论5 数据流图数据流图5.2 5.2 数据流图实例一:订货系统数据流图实例一:订货系统 问题描述:问题描述:假设某厂的采购部每天需要一张订货报表,报表按照零件编号排假设某厂的采购部每天需要一张订货报表,报表按照零件编号排序,表中列出所有需要再次定货的
15、零件。对于每个需要再次定货的零序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下列数据:零件编号,零件名称,定货数量,当前价格,件应该列出下列数据:零件编号,零件名称,定货数量,当前价格,主要供应商,次要供应商。零件入库或出库称为事务。通过置放于仓主要供应商,次要供应商。零件入库或出库称为事务。通过置放于仓库的库的CRTCRT终端将事务报告给定货系统。当某种零件的库存数量少于库存终端将事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。量临界值时就应该再次定货。如何画出上述订货系统的数据流图如何画出上述订货系统的数据流图?软件工程导论软件工程导论5
16、数据流图数据流图 绘制本系统的数据流图的详细过程:绘制本系统的数据流图的详细过程:1.1.从问题描述中提取数据流图的四种成分。从问题描述中提取数据流图的四种成分。(1).(1).从从“采购部每天需要一张订货报表采购部每天需要一张订货报表”以及以及“CRTCRT终端将事务报终端将事务报告给定货系统告给定货系统”可知,采购员是数据终点,仓库管理员是数据源点;可知,采购员是数据终点,仓库管理员是数据源点;(2).(2).从从“采购部每天需要一张定货报表采购部每天需要一张定货报表”,显然订货前他们需要,显然订货前他们需要一张这样的报表,因此必须有一个产生报表的处理。零件入库和出库一张这样的报表,因此必
17、须有一个产生报表的处理。零件入库和出库的结果是改变了零件库存量,通常任何改变数据的操作都是处理,因的结果是改变了零件库存量,通常任何改变数据的操作都是处理,因此对事务的处理是另一个处理;此对事务的处理是另一个处理;(3).(3).从从“系统把定货报表呈送到采购部系统把定货报表呈送到采购部”可知定货报表是一个数可知定货报表是一个数据流。事务需要记录到系统中,显然事务是另一个数据流;据流。事务需要记录到系统中,显然事务是另一个数据流;(4).(4).产生报表和处理事务这两个处理在时间上明显不匹配产生报表和处理事务这两个处理在时间上明显不匹配每每天只产生一次报表,而每当有一个事务发生时需要立即处理它
18、。因此,天只产生一次报表,而每当有一个事务发生时需要立即处理它。因此,用于产生定货报表的数据必须存放一段时间,也就是有一个数据存储。用于产生定货报表的数据必须存放一段时间,也就是有一个数据存储。将上面的分析结果用表格列出。将上面的分析结果用表格列出。软件工程导论软件工程导论5 数据流图数据流图 画出基本系统模型画出基本系统模型 任何系统的基本模型都由若干个数据源点任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,终点以及一个处理组成,这个处理就代表了系统处理变换数据的基本功能。因此,从基本系统这个处理就代表了系统处理变换数据的基本功能。因此,从基本系统模型这样高的层次开始画数据流图是
19、一种很好的思路。模型这样高的层次开始画数据流图是一种很好的思路。定货系统的基本系统模型如下。定货系统的基本系统模型如下。软件工程导论软件工程导论5 数据流图数据流图软件工程导论软件工程导论5 数据流图数据流图 3.3.细化基本系统模型细化基本系统模型 基本系统模型通常很抽象,接下来应该将其细化,描绘系统的主基本系统模型通常很抽象,接下来应该将其细化,描绘系统的主要功能。此时就可以根据从问题描述中提取的信息元素画出功能级的要功能。此时就可以根据从问题描述中提取的信息元素画出功能级的数据流图。如下所示。数据流图。如下所示。软件工程导论软件工程导论5 数据流图数据流图 4.4.分解功能级数据流图分解
20、功能级数据流图 接下来需要对功能级数据流图中描绘的系统主要功能进一步分解,接下来需要对功能级数据流图中描绘的系统主要功能进一步分解,得到更细化的数据流图。得到更细化的数据流图。注意:当对数据流图分层细化时必须保持信息的连续性。也就是注意:当对数据流图分层细化时必须保持信息的连续性。也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。数据流必须相同。软件工程导论软件工程导论5 数据流图数据流图5.3 5.3 数据流图实例二:主文件修改系统数据流图实例二:主文件修改系统 实例描述:实例描述:考虑一个修改磁带上
21、主文件的系统。文件管理员把修改信息穿考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息按照顺序排列好,然后系统逐个读入主文件上的记录,根据记录上按照顺序排列好,然后系统逐个读入主文件上的记录,根据记录上的校验码核对每个读入的记录,丢掉出错的记录,按照修改信息修的校验码核对每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。修改报告供文件管理员
22、参阅。请分层次地画出上述主文件修改系统的数据流图。请分层次地画出上述主文件修改系统的数据流图。软件工程导论软件工程导论5 数据流图数据流图 绘制本系统的数据流图的简要过程:绘制本系统的数据流图的简要过程:本系统的数据源点和终点都是本系统的数据源点和终点都是“文件管理员文件管理员”,他既向系统提,他既向系统提供修改信息,又从系统接收系统生成的修改报告。供修改信息,又从系统接收系统生成的修改报告。系统的主要功能是接收修改信息、读主文件、核对记录、修改系统的主要功能是接收修改信息、读主文件、核对记录、修改原始记录和产生修改报告。值得注意的是,问题陈述中所描述的原始记录和产生修改报告。值得注意的是,问
23、题陈述中所描述的“系统按照记录号把修改信息按照顺序排列好系统按照记录号把修改信息按照顺序排列好”是具体的实现方法。是具体的实现方法。而在数据流图中无需描绘具体实现的方法。因此在本系统的数据流而在数据流图中无需描绘具体实现的方法。因此在本系统的数据流图中不需要包含图中不需要包含“排序排序”功能。类似地,功能。类似地,“文件管理员把修改信息文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息穿孔在卡片上,系统读入穿孔卡片上的信息”是系统接收信息的具是系统接收信息的具体方法。在数据流图中无需描述这个具体的实现方案。因此,在本体方法。在数据流图中无需描述这个具体的实现方案。因此,在本系统的数据流
24、图上也不需要包含系统的数据流图上也不需要包含“穿卡片穿卡片”和和“读卡片读卡片”的功能。的功能。本系统包含的数据和数据存储是修改信息、主文件和修改后的本系统包含的数据和数据存储是修改信息、主文件和修改后的主文件。主文件。下面的两个图描述本系统的基本系统模型和功能级的数据流图。下面的两个图描述本系统的基本系统模型和功能级的数据流图。软件工程导论软件工程导论5 数据流图数据流图 软件工程导论软件工程导论5 数据流图数据流图软件工程导论软件工程导论5 数据流图数据流图5.4 5.4 数据流图实例三:患者监护系统数据流图实例三:患者监护系统 实例描述:实例描述:目前住院病人主要由护士护理,这样做不仅需
25、要大量护士,而目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化而延误抢救时机。某医院且由于不能随时观察危重病人的病情变化而延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统。打算开发一个以计算机为中心的患者监护系统。医院对患者监护系统的基本要求是随时接收每个病人的生理信医院对患者监护系统的基本要求是随时接收每个病人的生理信号号(脉搏、体温、血压和心电图等脉搏、体温、血压和心电图等),定时记录病人情况以形成患者,定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护日志,当某个病人的生理信号超出医生规定的安全范围时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 可行性研究 课件 教学 文稿
限制150内