第二章 可行性分析.ppt

上传人:s****8 文档编号:67215167 上传时间:2022-12-24 格式:PPT 页数:45 大小:1.22MB
返回 下载 相关 举报
第二章 可行性分析.ppt_第1页
第1页 / 共45页
第二章 可行性分析.ppt_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《第二章 可行性分析.ppt》由会员分享,可在线阅读,更多相关《第二章 可行性分析.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程导论Software Engineering程金程金 控制科学与工程学院控制科学与工程学院cse_cse_2022年年12月月20日日国内软件行业的发展据据CCID统计,软件市场销售额达到统计,软件市场销售额达到120亿元,同亿元,同比增长比增长31.9%,比去年提高,比去年提高1.5个百分点;个百分点;Linux平平台软件、以网络安全解决方案为主的网络安全软台软件、以网络安全解决方案为主的网络安全软件和教育、税务等行业应用软件都有较大幅度的件和教育、税务等行业应用软件都有较大幅度的增长。增长。软件和信息服务业在计算机总体市场中的份额继软件和信息服务业在计算机总体市场中的份额继续增加,

2、由续增加,由2000年上半年的年上半年的24.5%提高到目前的提高到目前的25.9%。1998年年1999年年财富财富全球企业全球企业1000强中,有强中,有208家到印度进行软件海外采购。家到印度进行软件海外采购。印度软件行业出口已从印度软件行业出口已从8年前的年前的1.5亿美元增加到亿美元增加到1998年年1999年度年度39亿美元,遍及全球亿美元,遍及全球91个国家个国家和地区。和地区。美国客户所购买软件的美国客户所购买软件的61%是印度产品。是印度产品。印度软件业以其低成本、高质量、高可靠性和交印度软件业以其低成本、高质量、高可靠性和交货及时等特点赢得了全球市场。货及时等特点赢得了全球

3、市场。国内最大的软件军团东软集团国内最大的软件军团东软集团。东软是中国最大的东软是中国最大的IT解决方案与服务供应商。解决方案与服务供应商。1991年,东软创立于中国东北大学。公司主营业务包括:年,东软创立于中国东北大学。公司主营业务包括:行业解决方案、产品工程解决方案及相关软件产品、平台行业解决方案、产品工程解决方案及相关软件产品、平台及服务等。及服务等。东大阿尔派公司于东大阿尔派公司于2000年年10月通过第三方认证机构的月通过第三方认证机构的CMM2认证。认证。2001年年6月月26日,沈阳东软软件股份有限公日,沈阳东软软件股份有限公司(原沈阳东大阿尔派软件股份有限公司)正式通过了司(原

4、沈阳东大阿尔派软件股份有限公司)正式通过了CMM3级认证,成为中国首家通过级认证,成为中国首家通过CMM3级的软件企业。级的软件企业。2001年年1月,联想软件经过英国路透集团的严格评估,顺月,联想软件经过英国路透集团的严格评估,顺利通过利通过CMM2认证。认证。CMM是指是指“能力成熟度模型能力成熟度模型”,其英文全称为,其英文全称为CapabilityMaturityModelforSoftware,英文缩写为,英文缩写为SW-CMM,简称,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的

5、描述。践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。能够更好地实现商业目标。将各种能力成熟度模型(即:将各种能力成熟度模型(即:SoftwareCMM、SystemsEng-CMM、PeopleCMM和和AcquisitionCMM)整合到同一架构中去,由此建立)整合到同一架构中去,由此建立起包括软件工程、系统工程和软件采购等在内的诸模型的集成,以解起包括软件工

6、程、系统工程和软件采购等在内的诸模型的集成,以解决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。能力等级能力等级特点特点关键过程关键过程第一级第一级基本级基本级软软件件过过程程是是混混乱乱无无序序的的,对对过过程程几几乎乎没没有有定定义义,成成功功依依靠靠的的是是个个人人的的才才能能和和经经验验,管管理理方方式式属于反应式属于反应式 第二级第二级重复级重复级建建立立了了基基本本的的项项目目管管理理来来跟跟踪踪进进度度.费费用用和和功功能能特特征征,制制定定了了必必要要的的项项目目管管理理,能能够够利利用用以以前类似的项目应用取

7、得成功前类似的项目应用取得成功 需需求求管管理理,项项目目计计划划,项项目目跟跟踪踪和和监监控控,软软件件子子合合同同管管理理,软件配置管理软件配置管理,软件质量保障软件质量保障第三级第三级确定级确定级已已经经将将软软件件管管理理和和过过程程文文档档化化,标标准准化化,同同时时综综合合成成该该组组织织的的标标准准软软件件过过程程,所所有有的的软软件件开开发都使用该标准软件过程发都使用该标准软件过程组组织织过过程程定定义义,组组织织过过程程焦焦点点,培培训训大大纲纲,软软机机集集成成管管理理,软软件件产产品工程品工程,组织协调组织协调,专家审评专家审评第四级第四级管理级管理级收收集集软软件件过过

8、程程和和产产品品质质量量的的详详细细度度量量,对对软软件件过过程程和和产产品品质质量量有定量的理解和控制有定量的理解和控制定定量量的的软软件件过过程程管管理理和和产产品品质质量量管理管理第五级第五级优化级优化级软软件件过过程程的的量量化化反反馈馈和和新新的的思思想想和技术促进过程的不断改进和技术促进过程的不断改进缺缺陷陷预预防防,过过程程变变更更管管理理和和技技术术变变更管理更管理目前,学术界和工业界公认美国目前,学术界和工业界公认美国CarnegieMellon大学软大学软件工程研究所件工程研究所(CMU/SEI)以以W.S.Humphrey为首主持研究为首主持研究与开发的软件能力成熟度模型

9、与开发的软件能力成熟度模型CMM是当前最好的软件过是当前最好的软件过程,已成为业界事实上的软件过程的工业标准。程,已成为业界事实上的软件过程的工业标准。上次课内容回顾上次课内容回顾软件危机的表现软件危机的表现软件工程的基本原理软件工程的基本原理软件工程方法学软件工程方法学传统方法学传统方法学面向对象方法学面向对象方法学软件过程模型软件过程模型上次课内容回顾上次课内容回顾第2章 可行性分析2.1 可行性研究的任务可行性研究的任务2.2 可行性研究过程可行性研究过程2.3 系统流程图系统流程图2.4 数据流图数据流图 2.5 数据字典数据字典2.6 成本成本/效益分析效益分析问题的定义与可性行研究

10、开始开始问题定义问题定义可性行研究可性行研究可行否?可行否?项目实施计划项目实施计划终止项目的建议终止项目的建议结束结束YNn目的:目的:用最小的代价在尽可能用最小的代价在尽可能短的时间内确定问题是否能够解短的时间内确定问题是否能够解决。决。n 不是解决问题,而是确定问题不是解决问题,而是确定问题是否值得去解决。是否值得去解决。2.1 可行性研究的任务可行性研究的任务I.I.首先需要进一步分析和澄清问题定义。首先需要进一步分析和澄清问题定义。II.II.导出系统的逻辑模型。导出系统的逻辑模型。从系统逻辑模型出发,从系统逻辑模型出发,探索若干种可供选择的主要解法探索若干种可供选择的主要解法(即系

11、统实现方即系统实现方案案),),从从下述三方面研究每种解法的可行性下述三方面研究每种解法的可行性:技术可行性技术可行性经济可行性经济可行性操作可行性操作可行性必要时还应该从法律、社会效益等更广泛的方面研究每种解法必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。的可行性。III.III.分析员应该为每个可行的解法制定一个粗略的分析员应该为每个可行的解法制定一个粗略的实现进度。实现进度。2.1 可行性研究的任务可行性研究的任务IV.IV.可可行行性性研研究究最最根根本本的的任任务务是是对对以以后后的的行行动动方方针针提提出出建建议议。应应该该推推荐荐一一个个较较好好的的解解决决方方

12、案案,并并且且为为工工程程制制定定一一个个初初步的计划。步的计划。可可行行性性研研究究需需要要的的时时间间长长短短取取决决于于工工程程的的规规模模。一一般般说说来来,可可行性研究的成本只是预期的工程总成本的行性研究的成本只是预期的工程总成本的5%5%10%10%。2.2 可行性研究过程可行性研究过程1.1.复查系统规模和目标复查系统规模和目标2.2.研究目前正在使用的系统研究目前正在使用的系统3.3.导出新系统的高层逻辑模型导出新系统的高层逻辑模型4.4.进一步定义问题进一步定义问题5.5.导出和评价供选择的解法导出和评价供选择的解法6.6.推荐行动方针推荐行动方针7.7.草拟开发计划草拟开发

13、计划8.8.书写文档提交审查书写文档提交审查2.2 可行性研究过程可行性研究过程1.复查系统规模和目标复查系统规模和目标分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。是要求他

14、解决的问题。2.研究目前正在使用的系统研究目前正在使用的系统现有的系统是信息的重要来源。新的目标系统必须也能完成它的现有的系统是信息的重要来源。新的目标系统必须也能完成它的基本功能;基本功能;现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。问题。常见的错误做法是花费过多时间去分析现有的系统。这个步骤的常见的错误做法是花费过多时间去分析现有的系统。这个步骤的目的是了解现有系统能做什么,而不是了解它怎样做这些工作。目的是了解现有系统能做什么,而不是了解它怎样做这些工作。2.2 可行性研究过程可行性研究过程3.导出新系统的高层逻辑

15、模型导出新系统的高层逻辑模型(LogicalModel,概略模型),概略模型)通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。目标系统的逻辑模型建造新的物理系统。能够使用能够使用数据流图数据流图,描绘数据在系统中流动和处理的情况,从而,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。概括地表达出他对新系统的设想。通常为了把新系统描绘得更清晰准确,还应该有一个初步的通

16、常为了把新系统描绘得更清晰准确,还应该有一个初步的数据数据字典字典,定义系统中使用的数据。,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从,以后可以从这个逻辑模型出发设计新系统。新系统的逻辑模型实质上表达了这个逻辑模型出发设计新系统。新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法。分析员对新系统必须做什么的看法。2.2 可行性研究过程可行性研究过程4.进一步定义问题进一步定义问题分析员应该和用户一起再次复查问题定义、工程规模分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字

17、典作为讨和目标,这次复查应该把数据流图和数据字典作为讨论的基础。如果分析员对问题有误解或者用户曾经遗论的基础。如果分析员对问题有误解或者用户曾经遗漏了某些要求,那么现在是发现和改正这些错误的时漏了某些要求,那么现在是发现和改正这些错误的时候了。候了。可行性研究的前可行性研究的前4 4个步骤实质上构成一个循环。个步骤实质上构成一个循环。分析员分析员定义问题,分析这个问题,导出一个试探性的解;在定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完这个解;继续这个循环过

18、程,直到提出的逻辑模型完全符合系统目标。全符合系统目标。2.2 可行性研究过程可行性研究过程5.导出和评价供选择的解法导出和评价供选择的解法分析员应该从他建议的系统逻辑模型出发,导出若干分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的个较高层次的(较抽象的较抽象的)物理解法供比较和选择。物理解法供比较和选择。当从技术角度提出了一些可能的物理系统之后,当从技术角度提出了一些可能的物理系统之后,应该应该根据技术可行性的考虑初步排除一些不现实的系统。根据技术可行性的考虑初步排除一些不现实的系统。其次可以考虑操作方面的可行性。其次可以考虑操作方面的可行性。去掉其中从操作方去掉其中从操作方式或

19、操作过程的角度看用户不能接受的方案。式或操作过程的角度看用户不能接受的方案。接下来应该考虑经济方面的可行性。接下来应该考虑经济方面的可行性。对每个可能的对每个可能的系统进行系统进行成本成本/效益分析效益分析。一般说来,只有投资预计。一般说来,只有投资预计能带来利润的系统才值得进一步考虑。能带来利润的系统才值得进一步考虑。最后为每个在技术、操作和经济等方面都可行的系统最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,通常只需要估计生命周期每个阶段制定实现进度表,通常只需要估计生命周期每个阶段的工作量。的工作量。2.2 可行性研究过程可行性研究过程6.推荐行动方针推荐行动方针根据可行性

20、研究结果做出的一个关键性决定根据可行性研究结果做出的一个关键性决定是否继是否继续进行这项开发工程。续进行这项开发工程。分析员必须清楚地表明他对这分析员必须清楚地表明他对这个关键性决定的建议。个关键性决定的建议。如果分析员认为值得继续进行这项开发工程,那么他如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方应该选择一种最好的解法,并且说明选择这个解决方案的理由。案的理由。分析员对于所推荐的系统分析员对于所推荐的系统必须进行比较仔细的成本必须进行比较仔细的成本/效效益分析。益分析。2.2 可行性研究过程可行性研究过程7.草拟开发计划草拟开发计划(Devel

21、opment Plan)分析员应该为所推荐的方案草拟一份开发计划,除了分析员应该为所推荐的方案草拟一份开发计划,除了制定工程进度表制定工程进度表之外还应该之外还应该估计对各类开发人员和各估计对各类开发人员和各种资源的需要情况,种资源的需要情况,应该指明什么时候使用以及使用应该指明什么时候使用以及使用多长时间。此外还应该估计系统生命周期每个阶段的多长时间。此外还应该估计系统生命周期每个阶段的成本。成本。最后应该给出最后应该给出下一个阶段下一个阶段(需求分析需求分析)的详细进的详细进度表和成本估计。度表和成本估计。8.书写文档提交审查书写文档提交审查(Feasibility report)应应该该

22、把把上上述述可可行行性性研研究究各各个个步步骤骤的的工工作作结结果果写写成成清清晰晰的的文文档档,请请用用户户、客客户户组组织织的的负负责责人人及及评评审审组组审审查查,以以决决定定是是否否继继续续这这项项工工程程及及是是否否接接受受分分析析员员推推荐荐的的方方案。案。附:可行性研究报告附:可行性研究报告(Feasibilityreport)1引言引言2前提前提要求要求目标目标条件条件3现有系统分析现有系统分析4所建议的系统所建议的系统5可选择的其他系统方案可选择的其他系统方案6投资及效益分析投资及效益分析7社会因素可行性社会因素可行性8结论结论GB 8567-88GB 8567-88GB 8

23、567-88GB 8567-88 计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南 2.3 系统流程图系统流程图Systematic Flow diagram 系系统统流流程程图图是是概概括括地地描描绘绘物物理理系系统统的的传传统统工工具具。它它的的基基本本思思想想是是用用图图形形符符号号以以黑黑盒盒子子形形式式描描绘绘组组成成系系统统的的每每个个部部件件(程程序序,文文档档,数数据据库库,人人工工过程等过程等)。系系统统流流程程图图表表达达的的是是数数据据在在系系统统各各部部件件之之间间流流动动的的情情况况,而而不不是是

24、对对数数据据进进行行加加工工处处理理的的控控制制过过程程,因因此此尽尽管管系系统统流流程程图图的的某某些些符符号号和和程程序序流流程程图图的的符符号号形形式式相相同同,但但是是它它却却是是物物理理数数据据流流图图而而不不是是程序流程图。程序流程图。2.3 系统流程图系统流程图图图2.1基本符号基本符号利利用用这这些些符符号号可可以以把把一一个个广广义义的的输输入入输输出出操操作作具具体体化化为为读读写写存存储储在在特特殊殊设设备备上上的的文文件件(或或数数据据库库),把把抽抽象象处处理理具具体体化化为为特特定定的的程程序或手工操作等。序或手工操作等。分层分层2.3 系统流程图系统流程图2.3

25、系统流程图系统流程图一个简单的例子:一个简单的例子:某某装装配配厂厂有有一一座座存存放放零零件件的的仓仓库库,仓仓库库中中现现有有的的各各种种零零件件的的数数量量以以及及每每种种零零件件的的库库存存量量临临界界值值等等数数据据记记录录在在库库存存清清单单主主文文件件中中。当当仓仓库库中中零零件件数数量量有有变变化化时时,应应该该及及时时修修改改库库存存清清单单主主文文件件,如如果果哪哪种种零零件件的的库库存存量量少少于于它它的的库库存存量量临临界界值值,则则应应该该报报告告给给采采购购部部门门以以便便定定货货,规规定定每每天天向向采采购购部部门送一次定货报告。门送一次定货报告。图图2.3库存清

26、单系统的系统流程图库存清单系统的系统流程图举例举例-计算机售书系统流程图计算机售书系统流程图结束结束结束结束学生学生学生学生购书发票购书发票购书发票购书发票到书库到书库到书库到书库领书领书领书领书 购书单购书单购书单购书单终端终端终端终端审查并审查并审查并审查并开发票开发票开发票开发票1 11-1-学生各学期用书数据库学生各学期用书数据库学生各学期用书数据库学生各学期用书数据库购书单购书单购书单购书单2 22-2-教材存量数据库教材存量数据库教材存量数据库教材存量数据库2.4 数据流图数据流图Data Flow Diagram 数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到

27、输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示数据流图是系统逻辑功能的图形表示,即使不是专业,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。户之间极好的通信工具。此外,设计数据流图时此外,设计数据流图时只需考虑系统必须完成的基本只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,逻辑功能,完全不需要考虑怎样具体地实现这些

28、功能,所以它也是今后进行软件设计的很好的出发点。所以它也是今后进行软件设计的很好的出发点。数据数据流图的基本要点是描绘流图的基本要点是描绘“做什么做什么”而不考虑而不考虑“怎样做怎样做”。2.4 数据流图数据流图D F D数据流图有四种基本符号:数据流图有四种基本符号:正方形正方形(或立方体或立方体)表示数据的表示数据的源点或终点;源点或终点;圆角矩形圆角矩形(或圆形或圆形)代表变换数代表变换数据的处理;据的处理;开口矩形开口矩形(或两条平行横线或两条平行横线)代代表数据存储;表数据存储;箭头表示数据流,即特定数据箭头表示数据流,即特定数据的流动方向。的流动方向。除除了了上上述述4 4种种基基

29、本本符符号号之之外外,有有时时也也使使用用几几种种附附加加符符号号图图2.4(b)2.4(b)。2.4 数据流图数据流图Data Flow Diagram 例子:例子:假设一家工厂的采购部每天需要一张定货报表,报表按零件假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,目前价格,主要供应者,次要供应者。零件

30、入库或出库称为事务,通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系统。当某种零件的终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。库存数量少于库存量临界值时就应该再次定货。第一步可以从问题描述中提取数据流图的第一步可以从问题描述中提取数据流图的4 4种成分:种成分:源点或终点,处理,数据存储和数据流。源点或终点,处理,数据存储和数据流。图图2.5 2.5 定货系统的基本系统模型定货系统的基本系统模型2.4 数据流图数据流图Data Flow Diagram 下一步应该把基本系统模型细化,描绘系统的主要功下一步应该把基本系统模型细化,描绘系统的

31、主要功能。能。从基本系统模型这样非常高的层次开始画数据流从基本系统模型这样非常高的层次开始画数据流图是一个好办法。图是一个好办法。图图2.6 2.6 定货系统的功能级数据流图定货系统的功能级数据流图2.4 数据流图数据流图Data Flow Diagram 接下来应该对功能级数据流图中描绘的系统主要功能接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。进一步细化。图图2.7 2.7 把处理事务的功能进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图2.4 数据流图数据流图Data Flow Diagram 数据流图中的命名:数据流图中每个成分的命名是否数据流图中每个成分的命名

32、是否恰当,直接影响数据流图的可理解性。恰当,直接影响数据流图的可理解性。为数据流为数据流(或数据存储或数据存储)命名命名名字应代表整个数据流名字应代表整个数据流(或数据存储或数据存储)的内容,而不的内容,而不是仅仅反映它的某些成分。是仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字不要使用空洞的、缺乏具体含义的名字(如如“数据数据”、“信息信息”、“输入输入”之类之类)。如果在为某个数据流如果在为某个数据流(或数据存储或数据存储)起名字时遇到了起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困成的

33、,应该试试重新分解,看是否能克服这个困难。难。2.4 数据流图数据流图Data Flow Diagram 数据流图中的命名:数据流图中每个成分的命名是否数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。恰当,直接影响数据流图的可理解性。为处理命名:为处理命名:通通常常先先为为数数据据流流命命名名,然然后后再再为为与与之之相相关关联联的的处处理命名。理命名。名名字字应应该该反反映映整整个个处处理理的的功功能能,而而不不是是它它的的一一部部分功能。分功能。名名字字最最好好由由一一个个具具体体的的及及物物动动词词加加上上一一个个具具体体的的宾语组成。宾语组成。常名字中仅包括一个动词。常名

34、字中仅包括一个动词。如如果果在在为为某某个个处处理理命命名名时时遇遇到到困困难难,应应考考虑虑重重新新分解。分解。2.4 数据流图数据流图Data Flow Diagram 数据流图中的用途:利用它作为交流信息的工具。利用它作为交流信息的工具。另一个主要用途是作为分析和设计的工具。另一个主要用途是作为分析和设计的工具。当用数据流图辅助物理系统的设计时,以图中不当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可

35、以根据系统的逻着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。辑模型考虑系统的物理实现。数据流图对更详细的设计步骤也有帮助数据流图对更详细的设计步骤也有帮助,本书第,本书第5 5章将讲述从数据流图出发映射出软件结构的方法章将讲述从数据流图出发映射出软件结构的方法面向数据流的设计方法。面向数据流的设计方法。2.5 数据字典数据字典data dictionary数据字典是关于数据的信息的集合,也就是对数数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。据流图中包含的所有元素的定义的集合。在软件分析和设计的过程中给人提供关于数据的描述在软件分析和设计的

36、过程中给人提供关于数据的描述信息。信息。数据流图和数据字典共同构成系统的逻辑模型,数据流图和数据字典共同构成系统的逻辑模型,没有没有数据字典数据流图就不严格,然而没有数据流图数据数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的每个元素的精确定义放在一起,才能共同构成系统的规格说明。规格说明。2.5 数据字典数据字典data dictionary数据字典的内容:数据字典的内容:(1)(1)数据流数据流(2)(2)数据流分量数据流分量(即数据元素即数据元素)(3)

37、(3)数据存储数据存储(4)(4)数据处理数据处理数据字典中还应该包含关于数据的一些其他信息。数据字典中还应该包含关于数据的一些其他信息。一般信息一般信息(名字,别名,描述等等名字,别名,描述等等),定义定义(数据类型,长度,结构等等数据类型,长度,结构等等),使用特点使用特点(值的范围,使用频率,使用方式值的范围,使用频率,使用方式输入、输出、本输入、输出、本地,条件值等等地,条件值等等),控制信息控制信息(来源,用户,使用它的程序,改变权,使用权等等来源,用户,使用它的程序,改变权,使用权等等)和和分组信息分组信息(父结构,从属结构,物理位置父结构,从属结构,物理位置记录、文件和数据记录、

38、文件和数据库等等库等等)。2.5 数据字典数据字典data dictionary定义数据的方法定义:定义数据的方法定义:由数据元素组成数据的方式只有下由数据元素组成数据的方式只有下述几种基本类型:述几种基本类型:(1)(1)顺序顺序 即以确定次序连接两个或多个分量;即以确定次序连接两个或多个分量;(2)(2)选择选择 即从两个或多个可能的元素中选取一个;即从两个或多个可能的元素中选取一个;(3)(3)重复重复 即把指定的分量重复零次或多次。即把指定的分量重复零次或多次。(4)(4)可选可选 即一个分量是可有可无的即一个分量是可有可无的(重复零次或一重复零次或一次次)。“可选可选”是由数据元素组

39、成数据时一种常见的方式,是由数据元素组成数据时一种常见的方式,把它单独列为一种算符可以使数据字典更清晰一些。把它单独列为一种算符可以使数据字典更清晰一些。2.5 数据字典数据字典data dictionary建议采用下列符号:建议采用下列符号:=等价于等价于(或定义为或定义为);+和和(即,连接两个分量即,连接两个分量);或或(即,从方括弧内列出的若干个分量中选择一个即,从方括弧内列出的若干个分量中选择一个),通常用,通常用“|”号隔开供选择的分量;号隔开供选择的分量;重复重复(即,重复花括弧内的分量即,重复花括弧内的分量);()()可选可选(即,圆括弧里的分量可有可无即,圆括弧里的分量可有可

40、无)。常常使用上限和下限进一步注释表示重复的花括弧。一种注释方法常常使用上限和下限进一步注释表示重复的花括弧。一种注释方法是在开括弧的左边用上角标和下角标分别表明重复的上限和下限;是在开括弧的左边用上角标和下角标分别表明重复的上限和下限;另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的右侧另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的右侧标明重复的上限。标明重复的上限。2.5 数据字典数据字典data dictionary举例说明举例说明:某程序设计语言规定,用户说明的标识符是长度不某程序设计语言规定,用户说明的标识符是长度不超过超过8 8个字符的字符串,其中第一个字符必须是字母

41、字符,随后的字个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。使用上面讲过的符号,我符既可以是字母字符也可以是数字字符。使用上面讲过的符号,我们可以像下面那样定义标识符:们可以像下面那样定义标识符:标识符标识符=字母字符字母字符+字母数字串字母数字串字母数字串字母数字串=0=0字母或数字字母或数字7 7字母或数字字母或数字=字母字符数字字符字母字符数字字符2.5 数据字典数据字典data dictionary数据字典的用途数据字典的用途数据字典最重要的用途是作为分析阶段的工具。数据字典最重要的用途是作为分析阶段的工具。在数据字典中建在数据字典中建立的一

42、组严密一致的定义很有助于改进分析员和用户之间的通信,立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。对数据的这一系列严密一致的定义因此将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。也有助于改进在不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题。块,则能避免许多麻烦的接口问题。数据字典中包含的每个数据元素的控制信息是很有价值的。数据字典中包含的每个数据元素的控制信息

43、是很有价值的。因为因为列出了使用一个给定的数据元素的所有程序列出了使用一个给定的数据元素的所有程序(或模块或模块),所以很容,所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变。或模块作出相应的改变。最后,最后,数据字典是开发数据库的第一步,数据字典是开发数据库的第一步,而且是很有价值的一步。而且是很有价值的一步。2.5 数据字典数据字典data dictionary数据字典的实现数据字典的实现目前,数据字典几乎总是作为目前,数据字典几乎总是作为CASECASE“结构化分析与设计工具结构化分析与设计工具”

44、的的一部分实现的。在开发大型软件系统的过程中,数据字典的规模一部分实现的。在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的。和复杂程度迅速增加,人工维护数据字典几乎是不可能的。如果在如果在开发小型软件系统时暂时没有数据字典处理程序,建议采开发小型软件系统时暂时没有数据字典处理程序,建议采用卡片形式书写数据字典,用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。每张卡片上保存描述一个数据的信息。这样做更新和修改起来比较方便,而且能单独处理描述每个数据这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信息。每张卡片上主要应该包含下述这样一

45、些信息:名字、别的信息。每张卡片上主要应该包含下述这样一些信息:名字、别名、描述、定义、位置。名、描述、定义、位置。案例:机票预定系统案例:机票预定系统 名字:旅客信息名字:旅客信息别名:别名:描述:旅客的个人信息,用于对旅客的确描述:旅客的个人信息,用于对旅客的确认认定义:旅客信息定义:旅客信息=姓名姓名+性别性别+工作单位工作单位+身份证号码身份证号码+旅行时间旅行时间+旅行目的旅行目的地地位置:输入到旅行社端(位置:输入到旅行社端(client端)端)名字:订票信息名字:订票信息别名:别名:描述:旅客的旅行时间和目的地,用于确描述:旅客的旅行时间和目的地,用于确定旅客的航班定旅客的航班定

46、义:订票信息定义:订票信息=旅客旅行时间旅客旅行时间+旅客旅旅客旅行目的地行目的地位置:传输到航空公司端(位置:传输到航空公司端(Server端)端)名字:订票旅客清单名字:订票旅客清单别名:别名:描述:已订票的旅客的记录描述:已订票的旅客的记录定义:订票旅客清单定义:订票旅客清单=旅客信息的合集旅客信息的合集位置:输入到旅行社端(位置:输入到旅行社端(Client端)端)2.6 成本/效益分析成本估计成本估计代码行技术:代码行技术:代码行技术是比较简单的定量估算方代码行技术是比较简单的定量估算方法,它把开发每个软件功能的成本和实现这个功法,它把开发每个软件功能的成本和实现这个功能需要用的能需

47、要用的源代码行数联系源代码行数联系起来。起来。任务分解技术任务分解技术:这种方法首先把软件开发工程分解这种方法首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发的开发任务的成本,最后累加起来得出软件开发工程的总成本。工程的总成本。自动估计成本技术自动估计成本技术:采用软件工具来自动估计成本,采用软件工具来自动估计成本,并且使得估计的结果更客观,需要有良好的数据并且使得估计的结果更客观,需要有良好的数据库系统支持。库系统支持。2.6 成本/效益分析 成本成本/效益分析的方法效益分析的方法货币的时间价

48、值货币的时间价值:通常用利率的形式表示货币的时间通常用利率的形式表示货币的时间价值。价值。投资回收期:投资回收期:所谓投资回收期就是使累计的经济效益所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。等于最初投资所需要的时间。纯收入:纯收入:衡量工程价值的另一项经济指标是工程的纯衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生命周期之内系统的累计经济效收入,也就是在整个生命周期之内系统的累计经济效益益(折合成现在值折合成现在值)与投资之差。与投资之差。投资回收率投资回收率简要回顾简要回顾可行性分析的任务可行性分析的任务可行性分析的过程可行性分析的过程系统流程图系统流程图数据流图数据流图数据字典数据字典作业:作业::1.P53:2-请用数据流图描绘本系统的功能。请用数据流图描绘本系统的功能。2.P54:5;预习:预习:第第3章章 需求分析需求分析

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

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁