软件工程论第二章 可行性的研究

上传人:仙*** 文档编号:52192332 上传时间:2022-02-07 格式:PPT 页数:93 大小:723.50KB
返回 下载 相关 举报
软件工程论第二章 可行性的研究_第1页
第1页 / 共93页
软件工程论第二章 可行性的研究_第2页
第2页 / 共93页
软件工程论第二章 可行性的研究_第3页
第3页 / 共93页
点击查看更多>>
资源描述
第二章第二章可行性研究可行性研究09- 10 09- 10 学学 年年 第第 一一 学学 期期张海藩张海藩软件工程导论软件工程导论( (第第5 5版版) )1/22/20222/93王化雨 13306442222引言:引言:问题定义与可行性研究在问题定义与可行性研究在SDLC中的位置中的位置软件生命周期由软件生命周期由 3个时期组成:软件定义、软件开个时期组成:软件定义、软件开发、软件维护(运行维护)发、软件维护(运行维护)软件定义时期的任务是:软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并制定工程进度表。这个时期的工作通常称为系统分析,由系统分析员这个时期的工作通常称为系统分析,由系统分析员负责完成。一般为负责完成。一般为3个阶段:个阶段:问题定义问题定义、可行性研可行性研究究、需求分析、需求分析1/22/20223/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/20224/93王化雨 13306442222基于计算机的系统基于计算机的系统问题定义的步骤问题定义的步骤对对“问题定义问题定义”报告的评价报告的评价1/22/20225/93王化雨 133064422221/22/20226/93王化雨 13306442222系统元素系统元素输入系统系统过程过程硬件硬件软件软件文档文档人人数据库数据库输出1/22/20227/93王化雨 13306442222系统元素系统元素1/22/20228/93王化雨 13306442222系统的层次结构系统的层次结构1/22/20229/93王化雨 13306442222层次结构举例层次结构举例1/22/202210/93王化雨 13306442222计算机系统工程计算机系统工程1/22/202211/93王化雨 13306442222系统工程师的任务系统工程师的任务1/22/202212/93王化雨 133064422221/22/202213/93王化雨 13306442222 1/22/202214/93王化雨 133064422221/22/202215/93王化雨 13306442222软件与软件工程软件与软件工程1/22/202216/93王化雨 13306442222 1/22/202217/93王化雨 133064422221/22/202218/93王化雨 13306442222人类工程人类工程1/22/202219/93王化雨 13306442222人类工程的过程步骤人类工程的过程步骤1/22/202220/93王化雨 13306442222数据库和数据库工程数据库和数据库工程1/22/202221/93王化雨 13306442222问题定义的步骤问题定义的步骤1/22/202222/93王化雨 133064422221/22/202223/93王化雨 13306442222一、项目考虑一、项目考虑1/22/202224/93王化雨 13306442222二、商业考虑二、商业考虑1/22/202225/93王化雨 13306442222三、技术分析三、技术分析1/22/202226/93王化雨 13306442222四、生产评估四、生产评估1/22/202227/93王化雨 13306442222五、人员问题五、人员问题1/22/202228/93王化雨 13306442222六、环境界面六、环境界面1/22/202229/93王化雨 13306442222七、法律考虑七、法律考虑1/22/202230/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202231/93王化雨 13306442222意义意义:并非所有问题都有简单明显的解决办:并非所有问题都有简单明显的解决办法,许多问题不可能在预定的系统规模或时法,许多问题不可能在预定的系统规模或时间期限之内解决。间期限之内解决。目的目的:用最小的代价在尽可能短的时间内确:用最小的代价在尽可能短的时间内确定定“问题定义问题定义”中确定的问题是否能够解决。中确定的问题是否能够解决。任务任务:是对今后的行动方针提出建议,澄清:是对今后的行动方针提出建议,澄清问题定义以后,给出系统的逻辑模型。从问题定义以后,给出系统的逻辑模型。从技技术、经济、操作术、经济、操作和和法律法律等方面来研究可行性。等方面来研究可行性。可行性研究的目的和任务可行性研究的目的和任务1/22/202232/93王化雨 13306442222可行性研究的目的不是解决问题,而是确定可行性研究的目的不是解决问题,而是确定问题是否值得去解决:问题是否值得去解决:首先需要进一步分析和澄清问题定义。分析员要导出系统的逻辑模型。从系统的逻辑模型出发,探索若干可供选择的主要解法。对每种解法仔细研究它的可行性。为每个可行的解法制定一个粗略的实现进度。可行性研究的步骤可行性研究的步骤1/22/202233/93王化雨 13306442222应至少从三个方面研究每种解法的可行性:应至少从三个方面研究每种解法的可行性:技术可行性:使用现有的技术能实现这个系统吗?经济可行性:这个系统的经济效益能超过它的开发成本吗?操作可行性:系统的操作方式在这个组织内行得通吗?必要时还要考虑:必要时还要考虑:法律、社会效益、时间等可行性可行性研究要考虑领域可行性研究要考虑领域1/22/202234/93王化雨 13306442222可行性研究最根本的任务是对以后的行动方针提可行性研究最根本的任务是对以后的行动方针提出建议。出建议。如果问题没有可行解,分析员应该建议停止开发工程,避免浪费。如果问题值得解,分析员应该推荐一个较好的解决方案,并为工程制定一个初步的计划。可行性研究需要的时间长短取决于工程的规模。可行性研究需要的时间长短取决于工程的规模。可行性研究的成本是预期工程总成本的可行性研究的成本是预期工程总成本的5%10%。可行性研究的最根本任务可行性研究的最根本任务1/22/202235/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202236/93王化雨 13306442222可行性研究过程1.复查系统规模和目标。复查系统规模和目标。确保分析员正在解决的问题确实是要求它解决的问确保分析员正在解决的问题确实是要求它解决的问题题。2.研究目前正在使用的系统。研究目前正在使用的系统。现有系统可以是计算机系统,也可以是人工系现有系统可以是计算机系统,也可以是人工系统;。统;。3.导出新系统的高层逻辑模型。导出新系统的高层逻辑模型。“高层高层”即不考虑细节,较抽象;需要用到即不考虑细节,较抽象;需要用到数据流图、数据字典等建模工具。数据流图、数据字典等建模工具。4.进一步定义问题。进一步定义问题。前前4步实质上构成一个循环步实质上构成一个循环。5.导出和评价供选择的解法导出和评价供选择的解法:根据各方面的可行性给出不同方案,还要制定:根据各方面的可行性给出不同方案,还要制定实现进度表。实现进度表。6.推荐行动方针。推荐行动方针。分析员和客户都要做出继续分析员和客户都要做出继续/中断工程的决定。中断工程的决定。7.草拟开发计划草拟开发计划:各类人员、资源的工作计划。:各类人员、资源的工作计划。8.书写文档提交审查书写文档提交审查:“文档文档”是必有的工作成果。是必有的工作成果。1/22/202237/93王化雨 13306442222可行性研究过程可行性研究过程-1复查系统规模和目标复查系统规模和目标分析员:分析员:访问关键人员阅读和分析有关材料对问题定义阶段书写的关于规模和目标的报告书进一步复查确认改正含糊或不确切的叙述清晰描述对目标系统的一切限制和约束确保分析员正在解决的问题确实是要求他解确保分析员正在解决的问题确实是要求他解决的问题。决的问题。1/22/202238/93王化雨 13306442222可行性研究过程可行性研究过程-2研究目前正在使用的系统研究目前正在使用的系统现有的系统是信息的重要来源现有的系统是信息的重要来源应该仔细阅读分析现有系统的文档资料和使用手册,应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考查现有的系统。也要实地考查现有的系统。注意了解这个系统可以做什么,为什么这样做。需要访问有关人员。常见的错误做法是花费过多的时间去分析现有的系常见的错误做法是花费过多的时间去分析现有的系统。统。要考查现有系统能做什么,而不是如何做;应画出描绘现有系统的高层系统流程图,不要花费太多时间去了解和描绘现有系统的实现细节。没有一个系统是在没有一个系统是在“真空真空”中运行的,绝大多数系中运行的,绝大多数系统都和其他系统有联系。统都和其他系统有联系。要重点考查现有系统与其他系统之间的接口这是设计新系统时的重要约束条件1/22/202239/93王化雨 13306442222可行性研究过程可行性研究过程-3导出新系统的高层逻辑模型导出新系统的高层逻辑模型优秀的设计过程通常是:优秀的设计过程通常是:从现有的物理系统出发,导出现有系统的逻辑模型;参考现有系统的逻辑模型,设想目标系统的逻辑模型;根据目标系统的逻辑模型建造新的物理系统。通过上述工作,分析员对目标系统应该具有的基本通过上述工作,分析员对目标系统应该具有的基本功能和所受的约束有一定了解:功能和所受的约束有一定了解:能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。还需要一个初步的数据字典,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。1/22/202240/93王化雨 13306442222可行性研究过程可行性研究过程-4进一步定义问题进一步定义问题新系统的逻辑模型实质上表达了分析员对新系统必新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法。须做什么的看法。分析员分析员还要考查还要考查用户用户的看法。的看法。分析员应与用户一起再次复查问题定义、工程规模和目标。复查把数据流图和数据字典作为讨论的基础。如果分析员对问题有误解或者用户曾经遗漏了某些要求,则这次复查提供了改正这些错误的机会。前前4步实质上构成一个循环:步实质上构成一个循环:分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。1/22/202241/93王化雨 13306442222可行性研究过程可行性研究过程-5导出和评价供选择的解法导出和评价供选择的解法分析员应该从他建议的系统逻辑模型出发,导出若分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次干个较高层次(较抽象较抽象)的物理解法供比较和选择。的物理解法供比较和选择。当从技术角度提出一些可能的物理系统后,应该根据技术可行性的考虑初步排除一些不现实的系统。其次可以考虑操作可行性。分析员根据使用部门处理事务的原则和习惯检查技术上可以的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。接下来应该考虑经济可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本/效益分析。最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,进度表不需要(也不可能)很详细。1/22/202242/93王化雨 13306442222可行性研究过程可行性研究过程-6推荐行动方针推荐行动方针分析员必须给出继续分析员必须给出继续/中断工程的建议。中断工程的建议。如果分析员认为值得继续进行这项开发工程:如果分析员认为值得继续进行这项开发工程:应该给出最优方案;并且说明这个方案的理由。通常客户根据经济上是否划算决定是否投资通常客户根据经济上是否划算决定是否投资于这项开发工程,因此要求分析员对所推荐于这项开发工程,因此要求分析员对所推荐的方案进行的方案进行成本成本/效益分析效益分析。1/22/202243/93王化雨 13306442222可行性研究过程可行性研究过程-7草拟开发计划草拟开发计划分析员应该为所推荐的方案草拟开发计划:分析员应该为所推荐的方案草拟开发计划:制定工程进度表;估计各类开发人员(系统分析员、程序员等)和各种资源(计算机硬件、软件工具等)的需要情况;估计系统生命周期每个阶段的成本给出下一个阶段(需求分析)的工作计划。1/22/202244/93王化雨 13306442222可行性研究过程可行性研究过程-8书写文档提交审查书写文档提交审查应该把上述可行性研究各个步骤的工作结果应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。及是否接受分析员推荐的方案。1/22/202245/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202246/93王化雨 13306442222模模型方法模模型方法1/22/202247/93王化雨 13306442222在进行可行性研究时需要了解和分析现有的系统,在进行可行性研究时需要了解和分析现有的系统,并表达对现有系统的认识。并表达对现有系统的认识。进入设计阶段后,应把设想的新系统逻辑模型转变进入设计阶段后,应把设想的新系统逻辑模型转变为物理模型,因此需要描绘未来物理系统的概貌。为物理模型,因此需要描绘未来物理系统的概貌。系统流程图系统流程图是为物理系统建模的传统工具。是为物理系统建模的传统工具。系统流程图的必要系统流程图的必要1/22/202248/93王化雨 13306442222系统流程图系统流程图的基本思想:用图形符号以黑盒子形式的基本思想:用图形符号以黑盒子形式描绘组成系统的各个组成部件(程序、文档、数据描绘组成系统的各个组成部件(程序、文档、数据库、人工过程等)。库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的系统流程图表达的是数据在系统各部件之间流动的情况,而情况,而不是对数据进行加工处理的控制过程不是对数据进行加工处理的控制过程;也;也不是不是数据经加工发生变化数据经加工发生变化的的数据流图数据流图。系统流程图的含义系统流程图的含义1/22/202249/93王化雨 13306442222当用概括的方法抽象一个实际系统时,仅使用基本当用概括的方法抽象一个实际系统时,仅使用基本符号就行了:符号就行了:系统流程图的系统流程图的基本基本符号符号1/22/202250/93王化雨 13306442222 当需要更具体地描述一个物理系统时,则用到系统符号:当需要更具体地描述一个物理系统时,则用到系统符号:系统流程图的系统流程图的系统系统符号符号1/22/202251/93王化雨 13306442222一台小型计算机处理更新库存清单主文件和产生定一台小型计算机处理更新库存清单主文件和产生定货报告的任务。货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库CRT终端输入到计算机中;系统流程图的系统流程图的例子例子系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上;最后,每天由报告生成程序读一次磁带,并且打印出定货报告。图中的每个符号用图中的每个符号用黑盒子黑盒子形式定义形式定义了组成系统的每个部件。了组成系统的每个部件。1/22/202252/93王化雨 13306442222对较复杂系统建模时,可以使用分层的系统流程图:对较复杂系统建模时,可以使用分层的系统流程图:首先用高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的纸上。分层图便于阅读者按从抽象到具体的过程逐步深入分层图便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂系统。地了解一个复杂系统。系统流程图的系统流程图的分层分层1/22/202253/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202254/93王化雨 13306442222数据流图数据流图(DFD)是一种图形化技术(图形是一种图形化技术(图形建模语言),它描绘信息流和数据从输建模语言),它描绘信息流和数据从输入移动到输出的过程中所经受的变换。入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,在数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的只是描绘数据在软件中流动和被处理的逻辑过程。逻辑过程。数据流图的数据流图的含义含义1/22/202255/93王化雨 13306442222数据流图数据流图是系统逻辑功能的图形表示,即使是系统逻辑功能的图形表示,即使非专业的计算机技术人员也容易理解,因此非专业的计算机技术人员也容易理解,因此是是分析员分析员和和用户用户之间的交流工具。之间的交流工具。设计数据流图时只考虑系统必须完成的基本设计数据流图时只考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现逻辑功能,完全不需要考虑怎样具体地实现这些功能,它是今后进行软件设计的出发点。这些功能,它是今后进行软件设计的出发点。简单地说,数据流图的作用:简单地说,数据流图的作用:交流的工具。为便于交流,应分层次。分析和设计的工具。从数据流图出发将导出软件结构的方法面向数据流的设计方法。数据流图的数据流图的存在意义存在意义1/22/202256/93王化雨 13306442222数据流图数据流图有有4种基本符号:种基本符号:数据源点数据源点/终点、终点、数据变换、数据存储、数据流。数据变换、数据存储、数据流。数据流图数据流图的基本符号的基本符号1/22/202257/93王化雨 13306442222为了体现数据流图中数据的为了体现数据流图中数据的“流入流入”与与“流流出出”的分叉及其分叉之间的关系,有时需要的分叉及其分叉之间的关系,有时需要用到一些附加符号:用到一些附加符号:数据流图数据流图的附加符号的附加符号1/22/202258/93王化雨 13306442222数据流图与数据流图与程序流程图程序流程图的不同的不同数据流图与数据流图与系统流程图系统流程图的不同的不同数据流图中:数据流图中:处理不一定是一个程序数据存储不一定是一个文件数据存储和数据流都是数据,仅仅所处的状态不同:静止状态和运动状态静止状态和运动状态图中只考虑“做什么”的问题需求分析阶段也使用数据流图图中的数据源点/终点、数据存储可能重复出现,必要时加上特殊的标识。注意注意1/22/202259/93王化雨 13306442222 仔细阅读仔细阅读问题描述问题描述,得到,得到4种成份。种成份。 注意,并不是所有数据存储和数据流都直接从问题描述中提取出来。注意,并不是所有数据存储和数据流都直接从问题描述中提取出来。 注意:得到问题描述本身,已是问题定义的一大进展。注意:得到问题描述本身,已是问题定义的一大进展。例子例子问题描述问题描述1/22/202260/93王化雨 13306442222基本系统模型:基本系统模型:例子例子分层绘制分层绘制DFD功能进一步分解后的数据流图:功能进一步分解后的数据流图:功能级数据流图:功能级数据流图:1/22/202261/93王化雨 13306442222分层的数据流图分层的数据流图1/22/202262/93王化雨 13306442222不同层数据流图的特点不同层数据流图的特点1/22/202263/93王化雨 13306442222数据流图中每个成分的命名是否恰当,直接影响到数数据流图中每个成分的命名是否恰当,直接影响到数据流图的可理解性。应注意:据流图的可理解性。应注意:为数据流(或数据存储)命名o名字应代表整个数据流(或数据存储)的内容,不能仅反映它的某名字应代表整个数据流(或数据存储)的内容,不能仅反映它的某些部分。些部分。o不要使用空洞的、缺乏具体含义的名字。不要使用空洞的、缺乏具体含义的名字。o如起名时遇到困难,很可难是因为对数据流图分解不恰当造成的。如起名时遇到困难,很可难是因为对数据流图分解不恰当造成的。为处理命名o通常先为数据流命名,再为与之相关的处理命名。通常先为数据流命名,再为与之相关的处理命名。o应反映整个处理的功能。应反映整个处理的功能。o最好由一个具体的及物动词加具体的宾语组成,避免空洞的动词。最好由一个具体的及物动词加具体的宾语组成,避免空洞的动词。o如果必须用两个动词来描述,很可能需要分为两个处理。如果必须用两个动词来描述,很可能需要分为两个处理。o如果命名困难,很可能是分解不当。如果命名困难,很可能是分解不当。数据源点数据源点/终点不属于数据流图的核心内容,是目标系终点不属于数据流图的核心内容,是目标系统的外围环境部分。不需要在开发目标系统的过程中统的外围环境部分。不需要在开发目标系统的过程中设计和实现。设计和实现。数据流图成份的命名数据流图成份的命名1/22/202264/93王化雨 13306442222自顶向下画分层数据流图自顶向下画分层数据流图1)父图和子图的输入输出数据流要一致。2)父图中处理的内部文件不必画出。3)当每个处理都已足够简单时,分解就可结束“每个处理足够简单每个处理足够简单”即数据流图中的加工和原先的即数据流图中的加工和原先的手工工作手工工作(记帐、计算、产生报表)相一致(记帐、计算、产生报表)相一致数据流图数据流图细化细化(分层分层)步骤步骤1/22/202265/93王化雨 13306442222交流的工具。交流的工具。分析员、用户、设计人员等其他有关人员需要交流。为便于交流,一张数据流图包含的处理太多(多于59个),就会难于理解其含义,因此需要分层。分析和设计的工具。分析和设计的工具。分析员在研究现有系统时常用系统流程图表达他对这个系统的认识。但在描述需开发系统时,则一般使用数据流图,注重系统完成的功能而非物理实现方案。从数据流图出发将导出软件结构面向数据流的(物理系统)设计方法。数据流图数据流图的用途的用途1/22/202266/93王化雨 13306442222以批量方式以批量方式“更新库更新库存清单存清单”、“处理处理定货定货”和和“产生报产生报表表”以联机方式处理以联机方式处理“接收事务接收事务”以联机方式处理以联机方式处理“接收事务接收事务”、 “更新库存清更新库存清单单”、“处理处理定货定货”以批量方式以批量方式 “产产生报表生报表”1/22/202267/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202268/93王化雨 13306442222数据字典是关于数据的信息的集合,即对数据流图数据字典是关于数据的信息的集合,即对数据流图中包含的所有元素的定义的集合。中包含的所有元素的定义的集合。普通字典:供人查阅对不了解的条目的解释数据字典:在软件分析和设计的过程中给人提供关于数据的描述信息数据流图和数据字典共同构成系统的逻辑模型,数数据流图和数据字典共同构成系统的逻辑模型,数据字典的严格与数据流图的形象,共同构成系统的据字典的严格与数据流图的形象,共同构成系统的规格说明:规格说明:没有数据字典,数据流图就不严格没有数据流图,数据字典也难于发挥作用数据字典数据字典的用途的用途1/22/202269/93王化雨 13306442222一般的,数据字典由一般的,数据字典由4类元素的定义组成:类元素的定义组成:数据流数据流分量(即数据元素)数据存储处理数据处理的定义可由其他工具(数据处理的定义可由其他工具(IPO或或PDL)描述更)描述更方便。所以数据字典主要由对数据的定义组成。方便。所以数据字典主要由对数据的定义组成。数据字典数据字典的组成的组成1/22/202270/93王化雨 13306442222一般信息:一般信息:名字、别名、描述名字、别名、描述等;等;定义:定义:数据类型、长度、结构数据类型、长度、结构等;等;使用特点:使用特点:值的范围值的范围、使用频率、使用方式使用频率、使用方式(输入、输入、输出、本地输出、本地);控制信息:控制信息:来源、用户、使用它的程序、改变权、来源、用户、使用它的程序、改变权、使用权使用权等;等;分组信息:分组信息:父结构、从属结构、物理位置父结构、从属结构、物理位置(记录、文记录、文件、数据结构等件、数据结构等)。数据字典数据字典中的信息中的信息1/22/202271/93王化雨 13306442222数据元素的别名即该元素的其他等价的名字。数据元素的别名即该元素的其他等价的名字。使用别名的原因:使用别名的原因:对于同样的数据,不同的用户使用了不同的名字一个分析员在不同时期对同一数据使用了不同的名字两个分析员分别分析同一数据元素时便服了不同的名字别名不宜过多,但不可能完全消除。别名不宜过多,但不可能完全消除。某些情况下,别名可以起到易于交流的作用。某些情况下,别名可以起到易于交流的作用。数据元素的数据元素的别名别名1/22/202272/93王化雨 13306442222定义绝大多数复杂事物的方法,都是由被定义的事定义绝大多数复杂事物的方法,都是由被定义的事物的成分的某种组合表示这个事物,这些组成成分物的成分的某种组合表示这个事物,这些组成成分又由更低层的成分的组合来定义。即:又由更低层的成分的组合来定义。即:定义是自顶向下的分解。要分解到不需再分解为止。这种定义方法在计算机领域经常使用。如这种定义方法在计算机领域经常使用。如软件质量软件质量的定义的定义等。等。定义数据定义数据的方法的方法1/22/202273/93王化雨 13306442222数据元素数据元素组成组成数据数据的方式:的方式:顺序:以确定次序连接两个或多个分量。选择:从两个或多个可能的元素中选取一个。重复:把指定的分量重复零次或多次。可选:一个分量是可有可无的(重复零次或一次)最好用形式化的语言描述数据元素组成数据的方法。最好用形式化的语言描述数据元素组成数据的方法。数据元素数据元素组成组成数据数据的描述符号:的描述符号:= 等价于,定义为+ 和,连接两个分量 或,方括号中的若干个分量中选一o | 分量之间的分隔符分量之间的分隔符 重复,重复花括号中的分量 ( ) 可选,圆括号中的分量可有可无数据元素数据元素组成组成数据数据的方式的方式1/22/202274/93王化雨 13306442222标识符长度不超过标识符长度不超过8个字符,其中第一个字符必须是个字符,其中第一个字符必须是字母字符,随后的字符可以是字母字符或数字字字母字符,随后的字符可以是字母字符或数字字符符”:标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符|数字字符数据元素数据元素组成组成数据数据举例举例1/22/202275/93王化雨 13306442222分析阶段的工具:分析阶段的工具:改进分析员和用户之间的通信,消除误解。不同的开发人员或不同的开发小组之间的通信,可以避免许多接口问题。很容易估计改变一个数据将产生的影响。很容易估计改变一个数据将产生的影响。是开发数据库的第一步。是开发数据库的第一步。数据字典数据字典的用途的用途1/22/202276/93王化雨 13306442222 数据字典的规模和复杂程度,使得人工维护几乎是不可能的。数据字典的规模和复杂程度,使得人工维护几乎是不可能的。数据字典数据字典的实现的实现描述数据的主要信息:描述数据的主要信息:名字、别名、描述、定义、名字、别名、描述、定义、位置。位置。1/22/202277/93王化雨 13306442222主要内容主要内容“问题定义问题定义”简介简介可行性研究任务可行性研究任务可行性研究过程可行性研究过程系统流程图系统流程图数据流图数据流图数据字典数据字典成本成本-效益分析效益分析1/22/202278/93王化雨 13306442222成本估计的方式成本估计的方式软件开发的成本主要表现为人力软件开发的成本主要表现为人力消耗。消耗。成本估计成本估计不是精确的科学,应该不是精确的科学,应该使用几种不同的估计技术以便相使用几种不同的估计技术以便相互校验:互校验:代码行技术任务分解技术自动估计成本技术1/22/202279/93王化雨 13306442222代码行技术是比较简单的代码定量估算技术。是比较简单的代码定量估算技术。它把将待开发软件功能的成本与实现这个功它把将待开发软件功能的成本与实现这个功能需要用的源代码行数联系起来。能需要用的源代码行数联系起来。通常根据经验和历史数据估计代码行数,当通常根据经验和历史数据估计代码行数,当有经验数据时比较有效。有经验数据时比较有效。一旦估计出源代码行数,用每行代码的平均一旦估计出源代码行数,用每行代码的平均成本乘以行数即可确定软件的成本。成本乘以行数即可确定软件的成本。每行代码的平均成本主要取决于软件的复杂每行代码的平均成本主要取决于软件的复杂程度和工资水平。程度和工资水平。1/22/202280/93王化雨 13306442222任务分解技术-1将工程分解为相对独立的任务,再估计将工程分解为相对独立的任务,再估计每个任务的成本。每个任务的成本。以以“人月人月”为评估单位,先估计完成每为评估单位,先估计完成每个任务需要的人力,再乘以每人每月的个任务需要的人力,再乘以每人每月的平均工资而得出每个任务的成本。平均工资而得出每个任务的成本。通常按开发阶段划分任务。如果系统复通常按开发阶段划分任务。如果系统复杂,可分为子系统,再把子系统划分为杂,可分为子系统,再把子系统划分为更小的任务。更小的任务。1/22/202281/93王化雨 13306442222任务分解技术-2典型环境下各个开发阶段需要使用的人力百分比如表。典型环境下各个开发阶段需要使用的人力百分比如表。据此可估计出每个阶段实际需要的人力。据此可估计出每个阶段实际需要的人力。任务任务人力(人力(%)可行性研究可行性研究需求分析需求分析设计设计编码和单元测试编码和单元测试综合测试综合测试总计总计 5 10 25 20 401001/22/202282/93王化雨 13306442222自动估计成本技术采用自动估计成本技术的软件工具可采用自动估计成本技术的软件工具可以减轻人的劳动,并使估计的结果更以减轻人的劳动,并使估计的结果更客观。客观。这种技术需要有长期搜集的大量历史这种技术需要有长期搜集的大量历史数据为基础,并且需要有数据库支持。数据为基础,并且需要有数据库支持。1/22/202283/93王化雨 13306442222成本成本/效益分析效益分析成本成本/效益分析首先要估计开发成本、效益分析首先要估计开发成本、运行费用和新系统带来的经济效益。运行费用和新系统带来的经济效益。开发成本的估计已介绍运行费用包括系统的操作费用(操作员人数,工作时间,消耗的物资等)和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。1/22/202284/93王化雨 13306442222考虑软件的寿命运行费用、经济效益在软件的整个生命周期都存运行费用、经济效益在软件的整个生命周期都存在,所以应该合理估计软件的寿命。在,所以应该合理估计软件的寿命。应该比较新系统的开发成本和经济效益,以便从应该比较新系统的开发成本和经济效益,以便从经济角度判断这个系统是否值得投资,但是,经济角度判断这个系统是否值得投资,但是,投投资是现在的,效益是将来获得的资是现在的,效益是将来获得的,不能简单地比,不能简单地比较成本和效益,应该考虑货币的时间价值。较成本和效益,应该考虑货币的时间价值。要正确地进行成本要正确地进行成本/效益分析,需要考虑:效益分析,需要考虑:货币的时间价值投资回收期纯收入投资回收率1/22/202285/93王化雨 13306442222货币的时间价值通常用利率的形式表示货币的时间价值。通常用利率的形式表示货币的时间价值。设年利率为设年利率为i,如果现在存入,如果现在存入P元,则元,则n年后可以得到的钱数为:年后可以得到的钱数为:F=P*(1+i)n如果如果n年后能收入年后能收入F元钱,那么这些钱的元钱,那么这些钱的现在价值是:现在价值是:P=F/(1+i)n1/22/202286/93王化雨 13306442222货币的时间价值例子-1修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,5年共可节省12500元。但是,不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后节省的钱。1/22/202287/93王化雨 13306442222货币的时间价值例子-2假定年利率为12%,利用计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,则将来的收入折算成现在值将来的收入折算成现在值如下表所示:年年将来值将来值( (元元) )(1+i)(1+i)n n现在值现在值( (元元) )累计的现在值累计的现在值( (元元) )12345250025002500250025001.121.251.401.571.762232.141992.981779.451588.801418.572232.144225.126004.577593.379011.941/22/202288/93王化雨 13306442222投资回收期通常用投资回收期衡量一项开发工程的价值。通常用投资回收期衡量一项开发工程的价值。所谓所谓投资回收期投资回收期就是使累计的经济效益等于最初就是使累计的经济效益等于最初投资所需要的时间。投资所需要的时间。投资回收期越短就能越快获得利润。投资回收期仅是一项经济指标,为了衡量一项开发工程的价值,还应该考虑其他经济指标。例如:例如:“修改库存清单系统修改库存清单系统”两年后可节省两年后可节省4225.12元,比最初的投资元,比最初的投资(5000)元少元少774.88元,第元,第3年将节省年将节省1779.45元。元。774.881779.45=0.44,因此投,因此投资期是资期是2.44年年。1/22/202289/93王化雨 13306442222纯收入纯收入也可用来衡量一项开发工程的价纯收入也可用来衡量一项开发工程的价值。值。所谓所谓纯收入纯收入就是在整个生命周期之内系就是在整个生命周期之内系统的累计经济效益统的累计经济效益(折合成现在值折合成现在值)与投与投资之差。资之差。如:假设如:假设“修改库存清单系统修改库存清单系统”的生命的生命周期为周期为5年,则这个工程的纯收入为:年,则这个工程的纯收入为:9011.94-50004011.94(元元)1/22/202290/93王化雨 13306442222投资回收率投资回收率可用来衡量投资效益的大小。投资回收率可用来衡量投资效益的大小。可根据下列方程计算投资回收率:可根据下列方程计算投资回收率: P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)n其中:其中:P是现在的投资额;是现在的投资额;Fi是第是第i年年底的效年年底的效益;益;n是系统的使用寿命;是系统的使用寿命;j是投资回收率。是投资回收率。计算可得,上述计算可得,上述“修改库存清单系统修改库存清单系统”的投的投资回收率为资回收率为4142。1/22/202291/93王化雨 13306442222小结小结 可行性研究进一步探讨问题定义阶段所确定的问题是否有可行的解。 用系统流程图表达分析员对现有系统的认识并描绘他对未来物理系统的设想。 数据流图的基本符号只有4种,数据流图与数据字典共同构成系统的逻辑模型。 成本/效益分析是可行性研究的一项重要内容。1/22/202292/93王化雨 13306442222作业作业 习题2-22-4任选一题 习题2-5谢谢大家谢谢大家 欢迎指教欢迎指教电 话:13306442222电子信箱:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!