软件工程第二章电子教案大同大学

上传人:夏** 文档编号:569189021 上传时间:2024-07-28 格式:PPT 页数:74 大小:595.05KB
返回 下载 相关 举报
软件工程第二章电子教案大同大学_第1页
第1页 / 共74页
软件工程第二章电子教案大同大学_第2页
第2页 / 共74页
软件工程第二章电子教案大同大学_第3页
第3页 / 共74页
软件工程第二章电子教案大同大学_第4页
第4页 / 共74页
软件工程第二章电子教案大同大学_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《软件工程第二章电子教案大同大学》由会员分享,可在线阅读,更多相关《软件工程第二章电子教案大同大学(74页珍藏版)》请在金锄头文库上搜索。

1、第二章 软件开发模型传统开发模型传统开发模型瀑布模型瀑布模型快速原型模型快速原型模型演化开发模型演化开发模型增量模型增量模型螺旋模型螺旋模型面向对象开发模型面向对象开发模型喷泉模型喷泉模型构件集成模型构件集成模型形式化开发模型形式化开发模型转换模型转换模型净室模型净室模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.1 软件生存周期引言引言生存周期:工业产品、软件、人的生命生存周期:工业产品、软件、人的生命计划

2、时期计划时期问题定义问题定义系统解决什么问题、目标、范围系统解决什么问题、目标、范围可行性分析可行性分析了解用户要求及观察环境、收集资料、数了解用户要求及观察环境、收集资料、数据流程、技术、据流程、技术、经济、操作可行性、组织、人力、物力、效益经济、操作可行性、组织、人力、物力、效益开发时期开发时期需求分析需求分析弄清用户的全部需求,用弄清用户的全部需求,用“需求规格说明书需求规格说明书”准确地表达出来;准确地表达出来;建立系统目标逻辑模型建立系统目标逻辑模型即即“做什做什么么”软件设计软件设计分为总体设计与详细设计,产生软件结构、分为总体设计与详细设计,产生软件结构、数据结构、用户界面和算法

3、;建立系统物理模型数据结构、用户界面和算法;建立系统物理模型即即“怎么做怎么做”编码编码实现用户界面,将详细设计实现用户界面,将详细设计“翻译翻译”成员程序代成员程序代码码测试测试单元、组装(综合)、确认、系统;白盒、黑盒单元、组装(综合)、确认、系统;白盒、黑盒运行时期运行时期软件维护软件维护正确性、适应性、完善性正确性、适应性、完善性Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.典型的软件生存周期问题定义问题定

4、义可行性研究可行性研究需求分析需求分析软件设计软件设计编码编码测试测试运行与维护运行与维护计划时期开发时期运行时期Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.技术复审和管理复审复审复审每阶段结束前每阶段结束前技术复审技术复审从技术角度确保质量从技术角度确保质量降低软件成本(尽早发现问题)降低软件成本(尽早发现问题)管理复审管理复审成本、进度、经费等成本、进度、经费等Evaluation only.Created

5、with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.技术复审和管理复审审查小组审查小组审查过程审查过程准备准备简要介绍情况简要介绍情况阅读被审文档阅读被审文档开审查会开审查会返工返工复查复查Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.2 传统软件开发模型传统软件开发模型 1.1.瀑布

6、模型瀑布模型 瀑瀑布布模模型型是是将将软件件生生存存周周期期各各活活动规定定为依依线性性顺序序联接接的的若若干干阶段段的的模模型型。它它包包括括可可行行性性分分析析、项目目开开发计划划、需需求求分分析析、概概要要设计、详细设计、编码、测试和和维护。它它规定定了了由由前前至至后后、相相互互衔接接的固定次序,如同瀑布流水,逐的固定次序,如同瀑布流水,逐级下落。下落。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型

7、瀑布模型开发时期运行时期计划时期(目标与范围说明书)(可行性论证论告)(测试报告)(程序)(设计文档)(需求说明书)图2.2.0 瀑布模型的生存周期(运行日志,维护报告)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型特点特点阶段的顺序性和依赖性阶段的顺序性和依赖性推迟实现的观点推迟实现的观点质量保证质量保证存在问题存在问题不适合需求模糊的系统不适合需求模糊的系统Evaluation only.Created

8、 with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型的开发过程瀑布模型的开发过程 在在实实际际开开发发过过程程中中,为为了了保保证证软软件件产产品品的的质质量量,每每个个阶阶段段完完成成之之后后,要要对对其其阶阶段段的的工工作作和和成成果果做做出出客客观观评评价价,如如发发现现问问题题,就就应应停停止止前前进进,沿沿着着所所经经历历的的阶阶段段返返回回,就就构构成成了了图图中中所所示示的的阶阶段段间间的的向向上上流流线线。(带带“反反馈馈环环”) Evalu

9、ation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档在在各各个个阶阶段段之之间间的的工工作作转转换换是是通通过过各各阶阶段段的的不不同同文文档档资资料料来来完完成成的的,而而各各个个阶阶段段的的任任务务则则由由一一系系列列工工程程化化的的方方法法和和工工具具来来实实现现。其其中中系系统统分分析析和和系系统统设设计计是是系系统统生生命命周周期期中中最最重重要要的的两两个个阶阶段

10、段,它它们们是是系系统统开开发发的的核核心心内内容容,开开发发的的难难度度较较大大,需需要要使使用用有有效效的的方方法法和和工工具具,在在系系统统分分析析阶阶段段的的常常用用技技术术有有结结构构化化系系统统分分析析方方法法(SASA)、结结构构化化系系统统设设计计方方法法(SDSD),在在系系统统分分析析阶阶段段的的相相应应软软件件工工具具有有信信息息关关联联图图(IRDIRD),管管理理业业务务流流程程图图(TFDTFD),数数据据流流程程图图(DFDDFD),数数据据词词典典(DDDD),实实体体关关系系图图(E-RE-R)等等等等。在在系系统统设设计计阶阶段段的的软软件件工工具具有有系系

11、统统模模块块结结构构图图,JacksonJackson设设计计方方法法。在程序设计阶段用结构化程序设计方法(在程序设计阶段用结构化程序设计方法(SPSP)。)。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档瀑瀑布布模模型型法法明明确确规规定定了了每每个个阶阶段段的的任任务务。上上一一阶阶段段完完成成确确定定的的任任务务后后就就产产生生一一定定格格式式的的文文

12、档档交交给给下下一一阶阶段段。不不同同阶阶段段的的任任务务一一般般由由不不同同级级别别的的软件人员来承担。软件人员来承担。瀑瀑布布模模型型法法适适合合于于在在软软件件需需求求比比较较明明确确、开开发发技技术术比比较较成成熟熟、工工程程管管理理比比较较严严格格的的场场合合下下使使用。用。例例如如工工资资管管理理、会会计计系系统统软软件件的的需需求求比比较较明明确确,就适合于使用瀑布模型法进行开发。就适合于使用瀑布模型法进行开发。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyri

13、ght 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档 软件的简要定义:软件的简要定义: 软件软件=程序程序+数据数据+文档文档按按照照软软件件工工程程学学的的要要求求,在在软软件件生生命命期期的的每每一一阶阶段段,都都有有明明确确的的任任务务,并并产产生生相相应应的的文文档档,作作为为下下阶阶段段工工作作的的基基础础和和依依据据。采采用用瀑瀑布布模模型型进进行行软软件件开开发发时时,各各阶阶段段的的主主要任务及文档如下:要任务及文档如下:1.可行性研究与计划可行性研究与计划就就是是调调查查了了解解用用户户的的要要求求及及观观察察环环

14、境境,包包括括企企业业的的管管理理现现状状和和人人、财财、物物的的使使用用状状况况,企企业业内内部部分分工工及及内内部部业务往来等。业务往来等。掌掌握握现现有有系系统统的的数数据据处处理理流流程程和和方方法法,包包括括各各部部门门人人员员的的分分工工,当当前前存存在在的的问问题题及及薄薄弱弱环环节节,业业务务处处理理流流程程收集系统有关的账、证、表、卡、文件、资料等信息。收集系统有关的账、证、表、卡、文件、资料等信息。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright

15、2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档1.可行性研究与计划可行性研究与计划 从从技技术术上上,经经济济上上,操操作作可可行行性性上上和和其其它它方方面面(如如组组织织上上、人人员员上上)去去研研究究确确定定并并论论证证新新系系统统的的可可行行性性,包包括括企企业业的的管管理理工工作作的的规规范范性性、科科学学性性、各各种种信信息息的的可可靠靠性性、管管理理水水平平、有有关关人人员员对对新新开开发发系系统统的的设设想想和和要要求求,现现有有人人员员对对计计算算机机知知识识的的掌掌握握程程度度是是否否足足以以支支持持新新系系统统的

16、的运运行行,经济效益与管理效益的初步分析等。经济效益与管理效益的初步分析等。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档1.可行性研究与计划可行性研究与计划 编编写写系系统统调调查查报报告告和和可可行行性性报报告告,报报有有关关部部门门审审批。批。可行性报告,其内容主要包括:可行性报告,其内容主要包括: 单位的基本情况(规模、人员、机构);单位的基本情况(规

17、模、人员、机构); 系统的初步方案;系统的初步方案; 开发新系统的必要性;开发新系统的必要性; 技术可行性;技术可行性; 操作可行性;操作可行性; 经济可行性;经济可行性; 结论或建议。结论或建议。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档值值得得注注意意的的是是,首首先先必必须须有有由由单单位位领领导导签签发发的的系系统统开开发发任任务务书书,任任务务

18、书书的的内内容容应应简简洁洁明明了了、全全面面完完整整而而具具体体,以以作作为为系系统统需需求求分分析析和和开开发发工工作的依据。作的依据。可可行行性性研研究究报报告告批批准准之之后后,便便可可着着手手进进行行软软件件计计划划工工作作。对对软软件件作作用用范范围围、工工作作环环境境和和基基本本功功能能、特特性性加加以以研研究究,确确定定要要做做什什么么,不不要要做做什什么么,做做到到什什么么程程序序。同同时时,估估算算出出所所需需的的资资金金、工工作作量量、费用和进度。编制系统开发初步进度计划表。费用和进度。编制系统开发初步进度计划表。 Evaluation only.Created with

19、 Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档2. 2. 系统(需求)分析系统(需求)分析研研究究现现有有系系统统的的数数据据处处理理流流程程,去去粗粗取取精精,去去伪伪存存真真,把把握握现现有有系系统统数数据据处处理理流流程程中中的的本本质质要要素素,改改善善其其中中不不合合理理部部分分,增增加加用用户户需需要要的的新新功功能能,并并以以计计算算机机为为基基础础,确确定定出出新新系系统统的的功功能能界界面面,建建

20、立立新新系系统统的的逻逻辑辑模模型型(即即数数据据流流图图、数数据据词词典典、加加工工说说明明、控控制制说说明明等等),编编制制出出能能反反映映新新系系统统功功能能、特特点点,运运行行环环境境和和测测试试确确认认准准则则的的软软件件需需求求说说明明书书(或称系统分析说明书),报有关部门审批。(或称系统分析说明书),报有关部门审批。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各

21、个阶段的任务与文档3.3.系统(软件)设计系统(软件)设计(1)系统设计包括概要设计和详细设计两部分。系统设计包括概要设计和详细设计两部分。 概概要要设设计计又又叫叫总总体体设设计计,它它在在系系统统分分析析说说明明书书的的基基础础上上,建建立立起起包包括括模模块块结结构构和和数数据据结结构构在在内内的的软软件件系系统统结结构构,并并完完成成各各模模块块的的功功能能和和相相应应之之间间的的接接口口关关系系。它它以以交交付付包包括括总总体体结结构构设设计计和和数数据据库库设计的概要设计说明书为完成标志。设计的概要设计说明书为完成标志。 Evaluation only.Created with A

22、spose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档3.3.系统(软件)设计系统(软件)设计(2) 详详细细设设计计是是对对概概要要设设计计所所划划分分模模块块的的进进一一步步细细化化,它它详详细细描描述述每每一一模模块块的的功功能能和和实实现现该该功功能能的的程程序序,完完成成所所用用到到的的程程序序实实现现方方法法和和内内部部数数据据结结构构等等。并并确确定定模模块块间间的的详详细细接接口口。设设计计完完成成后后,应应提

23、交详细设计说明书。提交详细设计说明书。 模模块块表表示示能能够够用用计计算算机机程程序序代代码码实实现现的的,相相对对独独立立的的单单一一数数据据处处理理功功能能,所所以以模模块块有有时时也也叫叫功能模块。功能模块。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档系系统统调调查查、系系统统分分析析与与系系统统设设计计的的主主要要区区别别在在于于:系系统统调调查查

24、得得出出的的是是旧旧系系统统的的逻逻辑辑模模型型;系系统统分分析析将将旧旧系系统统的的逻逻辑辑模模型型转转换换成成新新系系统统的的目目标标逻逻辑辑模模型型;系系统统设设计计得得到到的的则则是是新新系系统统的的物物理理模模型型(即即解解决决如如何何用用计计算算机机实实现现逻逻辑辑模模型型的的全全部部功功能能)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档旧旧系

25、系统统的的逻逻辑辑模模型型是是手手工工方方式式的的真真实实写写照照。新新系系统统的的目目标标逻逻辑辑模模型型主主要要用用来来规规定定未未来来的的新新系系统统应应具具备备哪哪些些功功能能,新新系系统统的的信信息息流流程程等等,反反映映了了新新系系统统需需要要做做什什么么,但但不不反反映映如如何何做做。物物理理模模型型则则着着重重于于描描述述在在技技术术上上如如何何实实现现这这些些功功能能,采采用用哪哪些些技技术术方方法法,解解决决如如何何做做的的问问题题。例例如如,在在调调查查阶阶段段,我我们们遇遇到到报报表表收收集集和和输输入入问问题题,这这只只需需要要了了解解报报表表的的种种类类、作作用用、

26、各各种种报报表表所所包包含含的的数数据据项项,没没有有必必要要考考虑虑、报报表表的的输输入入格格式式、输输入入方方式式、输输入入内内容容、输输入入的的正正确确性性控控制制等等问问题。这些问题将在系统分析、系统设计阶段来完成。题。这些问题将在系统分析、系统设计阶段来完成。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档4.程序设计(编码)程序设计(编码)程程序序设

27、设计计是是按按照照详详细细设设计计说说明明书书的的要要求求,用用程程序序设设计计语语言言或或数数据据库库语语言言为为每每个个模模块块编编制制计计算算机机可可运运行行的的源源程程序序,并并且且对对单单个个模模块块进进行行测测试试,验验证证模模块块的的功功能能、模模块块接接口口与与设设计计说说明明书书的的一一致致性性。最最后后提提交源程序清单及程序设计说明书。交源程序清单及程序设计说明书。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose

28、Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档5.系统测试系统测试通通过过测测试试,发发现现隐隐藏藏在在程程序序内内部部的的各各种种错错误误。测测试试包包括括单单元元测测试试,组组装装(综综合合)测测试试、确确认认测测试试和和系系统统测测试试。单单元元测测试试是是验验证证单单个个模模块块的的正正确确性性,组组装装测测试试是是将将经经过过模模块块测测试试的的各各个个模模块块进进行行装装配配并并测测试试,从从而而形形成成一一个个完完整整的的系系统统。确确认认测测试试是是验验证证所所开开发发的的系系统统是是否否符符合合系系统统分分析析中中确确定定的的全全部部功功能能和和性性

29、能能要要求求。系系统统测测试试完完毕毕,提提交交的的文文档档应应包包括括测测试试报报告告,用用户户操操作作手手册册等等,经经有有关关部部门门评评审审确确认认后后,便便结结束束了了软软件件开开发发工作,软件可作为一个产品投入运行。工作,软件可作为一个产品投入运行。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档6.运行和维护运行和维护(1)当当软软件件产产品品制制

30、成成并并交交付付使使用用后后,便便开开始始了了软软件件生生命命周周期期的的最最后后阶阶段段运运行行和和维维护护阶阶段段。软软件件产产品品投投入入运运行行之之后后。仍仍有有必要对软件进行维护,维护工作又分为以下两个部分。必要对软件进行维护,维护工作又分为以下两个部分。程序维护程序维护正确性维护:改正在开发阶段产生,在测试阶段又没正确性维护:改正在开发阶段产生,在测试阶段又没有发现的错误。有发现的错误。适应性维护:为适应软件的外界环境的变化引起的软适应性维护:为适应软件的外界环境的变化引起的软件修改。件修改。完善性维护:为扩充软件系统功能或改善性能而进行完善性维护:为扩充软件系统功能或改善性能而进

31、行的修改。的修改。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.瀑布模型各个阶段的任务与文档瀑布模型各个阶段的任务与文档6.运行和维护运行和维护(2)使用维护使用维护环境维护:为保证软件产品正常运行而进行的维护环境维护:为保证软件产品正常运行而进行的维护(如主机、(如主机、打印机等)。打印机等)。意外事故维护:解决因发生意外事故而使数据混意外事故维护:解决因发生意外事故而使数据混乱或丢失的问题而进行的维护。乱或丢失

32、的问题而进行的维护。计算机病毒治理和维护:预防、检测,清除计算机计算机病毒治理和维护:预防、检测,清除计算机病毒。病毒。 运行和维护也应像其他开发阶段一样,提供运行日志、软件问题报告、软件修改报告等维护文档。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型的基本思想在获得用户基本需求说明的基础上,投入少量人力在获得用户基本需求说明的基础上,投入少量人力和物力,快速建立一个原始模型,使用户及时运行和看和物力

33、,快速建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,并对需求说明进行补充和精到模型的概貌和使用效果,并对需求说明进行补充和精化,提出改进意见,开发人员进一步修改完善,如此循化,提出改进意见,开发人员进一步修改完善,如此循环迭代,直到得到一个用户满意的模型为止。环迭代,直到得到一个用户满意的模型为止。从原型法的基本思想中可以看到,用户能及早看到从原型法的基本思想中可以看到,用户能及早看到系统模型,在循环迭代修改和完善过程中,使用户的需系统模型,在循环迭代修改和完善过程中,使用户的需求日益明确,从而消除了用户需求的不确定性,同时从求日益明确,从而消除了用户需求的不确定性,同时从原型到

34、模型的生成,周期短、见效快,对环境变化的适原型到模型的生成,周期短、见效快,对环境变化的适应能力较强。应能力较强。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型包含的内容功能选择功能选择要恰当选择原型实现的功能。根据用户基本需要恰当选择原型实现的功能。根据用户基本需求,对系统给出初步定义。用户的基本需求包括各求,对系统给出初步定义。用户的基本需求包括各种功能的要求、数据结构、菜单和屏幕、报表内容种功能的

35、要求、数据结构、菜单和屏幕、报表内容和格式等要求。这些要求虽是概略的,但是最基本和格式等要求。这些要求虽是概略的,但是最基本的,易于描述和定义。原型和最终的软件系统不同,的,易于描述和定义。原型和最终的软件系统不同,两者在功能范围上的区别主要有以下两个方面:两者在功能范围上的区别主要有以下两个方面:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型包含的内容第一最终系统是软件需求全部功能的实现,而第一最终系

36、统是软件需求全部功能的实现,而原型只实现所选择的部分功能。原型只实现所选择的部分功能。第二最终系统对每个软件需求都要求详细实现,第二最终系统对每个软件需求都要求详细实现,而原型仅仅是为了试验和演示用的,部分功能需求而原型仅仅是为了试验和演示用的,部分功能需求可以忽略,或者模拟实现。可以忽略,或者模拟实现。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型包含的内容构造原型构造原型根据用户初步需求,开发出一个

37、可以应用的系统,根据用户初步需求,开发出一个可以应用的系统,它应满足上述的由用户提出的基本要求。在构造一个它应满足上述的由用户提出的基本要求。在构造一个原型时,应当强调着眼于预期的评估,而不是为了正原型时,应当强调着眼于预期的评估,而不是为了正规的长期使用。规的长期使用。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型包含的内容运行和评价原型运行和评价原型在试用中能亲自参加和面对一个实在的模型,能在试用中

38、能亲自参加和面对一个实在的模型,能较为直观和明确地进一步提出需求,提出修改意见。较为直观和明确地进一步提出需求,提出修改意见。通过运行原型对软件需求规格说明进行评价和确认。通过运行原型对软件需求规格说明进行评价和确认。评价要有用户参与,注意来自用户的反馈信息。评价要有用户参与,注意来自用户的反馈信息。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型包含的内容修改和完善原型修改和完善原型根据修改意见进行修改

39、,以得到新的系统原型,根据修改意见进行修改,以得到新的系统原型,然后再进行试用和评价,这样经过有限次的循环反复,然后再进行试用和评价,这样经过有限次的循环反复,逐步提高和完善,直到得到一个用户满意的系统模型逐步提高和完善,直到得到一个用户满意的系统模型为止。根据原型实现的特点和环境,可以把原型作为为止。根据原型实现的特点和环境,可以把原型作为试验的工具,用完就丢弃之;也可以使原型全部或部试验的工具,用完就丢弃之;也可以使原型全部或部分地成为最终系统的组成部分。分地成为最终系统的组成部分。原型法的开发过程如图原型法的开发过程如图2-3所示。其中,原型开发所示。其中,原型开发与原型运行评价两者需反

40、复进行多次,才能最后得到与原型运行评价两者需反复进行多次,才能最后得到经过确认的需求规格说明,并以此作为进一步的软件经过确认的需求规格说明,并以此作为进一步的软件设计和实现的基础设计和实现的基础。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型需求分析需求分析原型开发原型开发最终系统设计最终系统设计原型评价原型评价最终系统实现最终系统实现用户用户反馈反馈图图2.3 2.3 快速原型模型快速原型模型Eval

41、uation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.原型模型(快速快速原原型模型型模型)原型范型原型范型用户测试用户测试运行原型运行原型建造建造/ /修改修改 原型原型 听取用听取用 户意见户意见Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.采用原型

42、模型的软件生存周期分析定义分析定义系统需求系统需求生成生成原型原型系统系统设计设计程序程序设计设计编码编码测试测试运运 行行和维护和维护原型化原型化含原型化的含原型化的软件软件生存期生存期Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.快速原型模型特点特点(1)快速开发工具快速开发工具 (2)循环循环 (3)低成本低成本种类种类(1)渐进型渐进型 (2)抛弃型抛弃型 原型法具有明显的优点,它的开发周期短,见效快,可以

43、边开发边使用,较适合于开发环境和管理体制多变、系统结构不稳定的情况。但是开发系统采用原型法,需要有交互式开发环境和第四代语言及自动编程系统的支持,其初始原型设计较为困难,开发过程尚缺乏有效的管理方法和控制手段。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.3 软件演化模型1.阶段式开发:增量模型阶段式开发:增量模型 系系统统设设计计时时分分片片交交付付,可可使使用用户户在在使使用用某某些些基基本本功功能能的的同

44、同时时,开开发发剩剩余余的的功功能能。这这样样通通常常会会并并行行地地存存在在两两个个系系统统:生生产产系系统统和和开开发发系系统统。运运行行或或生生产产系系统统是是当当前前被被客客户户或或用用户户所所使使用用的的系系统统。而而开开发发系系统是准备用于替代当前生产系统的下一个版本。统是准备用于替代当前生产系统的下一个版本。增量模型是一种非整体开发的模型。是瀑布模型的增量模型是一种非整体开发的模型。是瀑布模型的顺序特征和顺序特征和快速原型模型的迭代特征相结合的产物快速原型模型的迭代特征相结合的产物。 该模型具有较大的灵活性,适合于软件需求不明该模型具有较大的灵活性,适合于软件需求不明确、设计方案

45、有一定风险的软件项目确、设计方案有一定风险的软件项目。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.创建版本创建版本1创建版本创建版本2创建版本创建版本3使用版本使用版本1使用版本使用版本2使用版本使用版本3开开发发者者使使用用者者阶段式开发:增量和迭代模型阶段式开发:增量和迭代模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Prof

46、ile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.增量模型规格说明规格说明设计设计实现和集成实现和集成交付客户交付客户规格说明规格说明设计设计实现和集成实现和集成交付客户交付客户规格说明规格说明设计设计实现和集成实现和集成交付客户交付客户规格说明规格说明设计设计实现和集成实现和集成交付客户交付客户增量增量1增量增量2增量增量3增量增量nEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty

47、 Ltd.增量模型增量增量小而可用的软件小而可用的软件特点特点在前面增量的基础上开发后面的增量在前面增量的基础上开发后面的增量每个增量的开发可用瀑布或快速原型模型每个增量的开发可用瀑布或快速原型模型迭代的思路迭代的思路Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.螺旋模型螺旋模型 软软件件开开发发几几乎乎总总要要冒冒一一定定的的风风险险,例例如如,产产品品交交付付给给用用户户之之后后用用户户可可能能对对产产品品不不

48、满满意意,到到了了预预定定的的交交付付日日期期软软件件可可能能还还未未开开发发出出来来,实实际际的的开开发发成成本本可可能能超超过过了了预预算算,产产品品完完成成之之前前一一些些关关键键的的开开发发人人员员可可能能“跳跳槽槽”了了,产产品品投投入入市市场场之之前前竞竞争争对对手手发发布布了了一一个个功功能能相相近近、价价格格更更低低的的软软件件等等等等。软软件件风风险险是是任任何何软软件件开开发发项项目目中中都都普普遍遍存存在在的的实实际际问问题题,项项目目越越大大,软软件件产产品品越越复复杂杂,承承担担该该项项目目所所冒冒的的风风险险也也越越大大。软软件件风风险险可可能能在在不不同同程程度度

49、上上损损害害软软件件开开发发过过程程和和软软件件产产品品质质量量。因因此此,在在软软件件开开发发过过程程中中必必须须及及时时识识别别和和分分析析风风险险,并并且且采采取取适适当当措措施施以以消消除除或或减减少少风风险险的的危危害。害。 构建原型是一种能使某些类型的风险降至最低的方法。构建原型是一种能使某些类型的风险降至最低的方法。 于是在于是在1988年年B.boehm提出了提出了螺旋模型螺旋模型。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011

50、Aspose Pty Ltd.螺旋模型螺旋模型螺螺旋旋模模型型的的基基本本思思想想是是,使使用用原原型型及及其其他他方方法法以以尽尽可可能能地地降降低低风风险险。理理解解这这种种模模型型的的一一个个简简易易方方法法,是是把把它它看看作作在在每每个个阶阶段段之之前前都都增增加加了了风风险险分分析析过过程程的的快快速速原原型型模模型型,如如右右图图所所示。示。简化的螺旋模型图简化的螺旋模型图Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose

51、 Pty Ltd. 螺旋模型螺旋模型螺螺旋旋模模型型将将瀑瀑布布模模型型与与增增量量模模型型结合合起起来来,加加入入了了两两种种模模型型均均忽忽略略了了的的风险分分析析,弥弥补了了这两两种种模型的不足。模型的不足。螺旋模型是一种风险驱动的模型。螺旋模型是一种风险驱动的模型。螺螺旋旋模模型型将将开开发发过过程程分分为为几几个个螺螺旋旋周周期期,每每个个螺螺旋周期大致和瀑布模型相符合。旋周期大致和瀑布模型相符合。 螺旋模型适合于大型软件的开发。螺旋模型适合于大型软件的开发。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client

52、Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 螺旋模型螺旋模型完整的螺旋模型图完整的螺旋模型图制定计划制定计划风险分析风险分析客户评估客户评估工程实施工程实施Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.螺旋模型螺旋模型 图中带箭头的点划线的长度代表当前累计的开发图中带箭头的点划线的长度代表当前累计的开发费用,螺线旋过的角度值代表开发进度。螺旋线每个费用,螺

53、线旋过的角度值代表开发进度。螺旋线每个周期对应于一个开发阶段。每个阶段开始时(左上象周期对应于一个开发阶段。每个阶段开始时(左上象限)的任务是,确定该阶段的目标、为完成这些目标限)的任务是,确定该阶段的目标、为完成这些目标选择方案及设定这些方案的约束条件。接下来的任务选择方案及设定这些方案的约束条件。接下来的任务是,从风险角度分析上一步的工作结果。努力排除各是,从风险角度分析上一步的工作结果。努力排除各种潜在的风险,通常用建造原型的方法来排除风险。种潜在的风险,通常用建造原型的方法来排除风险。如果风险不能排除,则停止开发工作或大幅度地削减如果风险不能排除,则停止开发工作或大幅度地削减项目规模。

54、如果成功地排除了所有风险,则启动下一项目规模。如果成功地排除了所有风险,则启动下一个开发步骤(右下象限),在这个步骤的工作过程相个开发步骤(右下象限),在这个步骤的工作过程相当于纯粹的瀑布模型。最后是评价该阶段的工作成果当于纯粹的瀑布模型。最后是评价该阶段的工作成果并计划下一个阶段的工作。并计划下一个阶段的工作。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.螺旋模型特点特点瀑布模型瀑布模型+快速原型快速原型+风险分

55、析风险分析迭代过程迭代过程一个螺旋一个螺旋式周期式周期 确定目标,选择方案,选定完成目标的策略确定目标,选择方案,选定完成目标的策略 风险角度分析该策略风险角度分析该策略 启动一个开发阶段启动一个开发阶段 评价前一步的结果评价前一步的结果,计划下一轮的工作计划下一轮的工作 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 2.4 2.4 面向面向对象的开象的开发模型模型1 1 在讲在讲面向面向对象的开象的开发模型之前

56、先模型之前先讲面向对象的基本概念面向对象的基本概念对象对象Object类类Class继承继承Inheritance消息消息Message 面向对象面向对象对象对象+类类+继承继承+消息通信消息通信Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.对象对象Object客观世界中的实体客观世界中的实体状态(静态属性状态(静态属性 Attributes)操作(动态行为操作(动态行为 Methods)对象对象:=Identif

57、ier(标识:即名称,用来在问题域中区分其他对(标识:即名称,用来在问题域中区分其他对象)象)Method Set(即行为或方法:一是对自身的操作,改变(即行为或方法:一是对自身的操作,改变原有的属性状态;另一是施加于其他对象的操作,将产生的原有的属性状态;另一是施加于其他对象的操作,将产生的输出结果作为消息发送的操作)输出结果作为消息发送的操作)Data Structure(数据:描述对象属性的存储或数据结构,(数据:描述对象属性的存储或数据结构,他表示了对象的一个状态)他表示了对象的一个状态)Message Interface(接口:主要指对外接口,指对象受(接口:主要指对外接口,指对象受

58、理外部消息所制定的操作的名称集合)理外部消息所制定的操作的名称集合)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.对象的特点对象的特点以数据为中心以数据为中心对象是主动的对象是主动的实现数据封装实现数据封装本质上有并行性本质上有并行性模块独立性好模块独立性好Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.C

59、opyright 2004-2011 Aspose Pty Ltd.类类Class和实例和实例Instance类类相同属性和行为的对象的抽象相同属性和行为的对象的抽象实例实例特定类所描述的一个具体对象特定类所描述的一个具体对象Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.子类直接继承父类的数据和操作子类直接继承父类的数据和操作继承的传递性,单继承、多重继承继承的传递性,单继承、多重继承继承(继承(Inheritan

60、ce)家具桌子椅子衣柜床椅子的实例Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.多态性多态性Polymorphism概念概念不同类层次共享一个方法名不同类层次共享一个方法名相同的参数特征和返回值类型相同的参数特征和返回值类型多种不同实现多种不同实现C+中虚函数实现中虚函数实现动态联编动态联编Evaluation only.Created with Aspose.Slides for .NET 3.5 Client

61、Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.重载重载Overloading函数重载函数重载同一作用域同一作用域多个名字相同的函数多个名字相同的函数参数特征不同参数特征不同静态联编静态联编运算符重载运算符重载Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.消息消息Message对象间的交互手段对象间的交互手段形式:形式:Message:dest,op,paraD

62、estination Object(目标对象)(目标对象)Operation(操作)(操作)Parameters(参数)(参数)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 2.4 2.4 面向面向对象的开象的开发模型模型2 2对对象象技技术术为为软软件件工工程程的的基基于于构构件件的的过过程程模模型型提提供供了了技技术术框框架架。面面向向对对象象范范型型强强调调了了类类的的创创建建,类类封封装装了了数数据据和和

63、用用于于操操纵纵该该数数据据的的算算法法。如如果果经经过过合合适适的的设设计计和和实实现现,面面向向对对象象的的类类可可以以在在不不同同的的应应用及基于计算机的系统结构中复用用及基于计算机的系统结构中复用。面面向向对对象象模模型型融融合合了了螺螺旋旋模模型型的的许许多多特特征征。它它本本质质上上是是演演化化的的,支支持持软软件件开开发发的迭代方法。的迭代方法。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.喷泉模型

64、喷泉模型喷泉模型是属于面向对象方法学的,是一种以用户需求喷泉模型是属于面向对象方法学的,是一种以用户需求为动力,以对象作为驱动的模型。为动力,以对象作为驱动的模型。它适合于面向对象的开发方法。它克服了瀑布模型不支它适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计和实现等开发活动之间不

65、存在无间隙是指在分析、设计和实现等开发活动之间不存在明显的边界。明显的边界。 该模型是由该模型是由B.H.Sollers和和J.M.Edwards于于1990年提出的一年提出的一种新的开发模型。主要用于采用对象技术的软件开发项目。它种新的开发模型。主要用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型使开发过程具有迭代性和无间隙性喷泉模型使开发过程具有迭代性和无间隙性。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client

66、 Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.喷泉模型喷泉模型喷泉模型喷泉模型 实 现软件设计系统设计分 析Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.喷泉模型喷泉模型其特点如下:其特点如下:、开发过程有分析、系统设计、软件设计和实现开发过程有分析、系统设计、软件设计和实现4个阶段。个阶段。、各阶段相互重叠,它反映了软件过程并行性的特点。、各阶段相互重叠,

67、它反映了软件过程并行性的特点。 、以分析为基础,资源消耗成塔型。、以分析为基础,资源消耗成塔型。、反映了软件过程迭代性的自然特性,从高层返回低层无资、反映了软件过程迭代性的自然特性,从高层返回低层无资源消耗。源消耗。 、强调增量开发,整个过程是一个迭代的逐步提炼的过程。、强调增量开发,整个过程是一个迭代的逐步提炼的过程。 6 6、喷泉模型是对象驱动的过程,对象是所有活动作用的实体,、喷泉模型是对象驱动的过程,对象是所有活动作用的实体,也是项目管理的基本内容。也是项目管理的基本内容。Evaluation only.Created with Aspose.Slides for .NET 3.5 C

68、lient Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件集成模型构件集成模型 构件(构件(component)也称为组件,是一段实现一系列也称为组件,是一段实现一系列有确定接口的程序体,具有自己的功能和逻辑,能同有确定接口的程序体,具有自己的功能和逻辑,能同其他构件组装起来协调工作。其他构件组装起来协调工作。 该模型支持软件重用,对缩短软件开发周期、降该模型支持软件重用,对缩短软件开发周期、降低项目成本有重要的现实意义。同时,建造符合某应低项目成本有重要的现实意义。同时,建造符合某应用领域体系结构标准的构件,可以用来搭建分布式的、用

69、领域体系结构标准的构件,可以用来搭建分布式的、跨越不同操作平台的软件,扩展了软件的应用前景,跨越不同操作平台的软件,扩展了软件的应用前景,促进了软件标准化、商品化的发展。促进了软件标准化、商品化的发展。 因此,在此基础上专家们又提出了因此,在此基础上专家们又提出了“基于构件的基于构件的软件工程软件工程”(CBSE)。构件组装模型具有极其广阔的实用性和深远的意义构件组装模型具有极其广阔的实用性和深远的意义。 构件组装模型如下图所示:构件组装模型如下图所示:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

70、5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件集成模型软件需求软件需求标识构件标识构件检索构件库检索构件库开发构件开发构件取出构件取出构件存入构存入构件库件库集成目集成目标系统标系统体系结构设计体系结构设计构件适应性修改构件适应性修改集成集成测试测试系统系统测试测试运行运行维护维护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件集成模型构件集成模型Evaluation

71、only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件集成模型构件集成模型特点特点面向对象面向对象基于构件库基于构件库融合螺旋模型特征融合螺旋模型特征支持软件开发的迭代方法支持软件开发的迭代方法 软件重用软件重用Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件

72、技术构件技术软件体系结构被建立后,必须用构件去充实,这软件体系结构被建立后,必须用构件去充实,这些构件可从复用库中获得,或者根据专门需要而开发。些构件可从复用库中获得,或者根据专门需要而开发。整个过程可以演化地进行,面向对象方法给予技术上整个过程可以演化地进行,面向对象方法给予技术上的支持。的支持。构件技术目前主要有三种流行标准:构件技术目前主要有三种流行标准:OMG的的CORBA:对象管理组织发布的公共对象管理组织发布的公共对象请求代理体系结构对象请求代理体系结构(CommonObjectRequestBrokerArchitecture)。一个对象请求代理(。一个对象请求代理(ORB)提提

73、供一系列服务,使得一个构件和其他构件通信,而不供一系列服务,使得一个构件和其他构件通信,而不管它们在系统中的位置,实现了远程对象通过接口进管它们在系统中的位置,实现了远程对象通过接口进行通信的机制。行通信的机制。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.构件技术构件技术微软的微软的COM/DCOM:微软开发了构件对象模型:微软开发了构件对象模型(ComponentObjectModel),它提供了运行于,它提供

74、了运行于windows之上的单个应用系统使用不同厂商生产的构件之上的单个应用系统使用不同厂商生产的构件的规约。基于分布式环境下的的规约。基于分布式环境下的COM称为称为DCOM(DistributeCOM)。SUN的的EJB(EnterpriseJavaBean):随着:随着Java在在企业级应用的地位日趋重要,企业级应用的地位日趋重要,Sun提出了一个统一的企提出了一个统一的企业级业级Java平台平台J2EE。在。在J2EE中,中,EJB负责最核心的负责最核心的业务处理。它为服务器端的应用程序提供了一种与厂商业务处理。它为服务器端的应用程序提供了一种与厂商无关的无关的Java接口,让任何符合

75、接口,让任何符合EJB规范的构件都可以运规范的构件都可以运行在每一台这样的服务器上行在每一台这样的服务器上。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.基于构件的未来基于构件的未来软件生产线软件生产线应用构件应用构件提取车间提取车间 应用应用构件库构件库构件生构件生产车间产车间 构件库构件库组装组装车间车间领域领域 1 1领域领域 2 2应用应用系统系统 . .1 12 23 34 41 1基础构件,基础构件,2

76、 2功能构件功能构件 3 3接口构件,接口构件,4 4用户界面构件用户界面构件 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.5 形式化方法模型形式化方法模型 形式化方法模型是一种基于数学的开发技术,形式化方法模型是一种基于数学的开发技术,主要采用数学的方法与表示体系描述软件的性质,主要采用数学的方法与表示体系描述软件的性质,表示软件规格说明,然后进行一系列自动或半自动表示软件规格说明,然后进行一系列自动或半自

77、动的程序转换,最后转化为计算机系统能够接受的目的程序转换,最后转化为计算机系统能够接受的目标程序系统。标程序系统。 是基于形式化语言和程序变换的模型,因此,是基于形式化语言和程序变换的模型,因此,也称也称变换模型变换模型。从软件需求形式化说明开始,经过。从软件需求形式化说明开始,经过一系列的数学变换和正确性证明,最终得到系统的一系列的数学变换和正确性证明,最终得到系统的目标程序。形式化方法使开发者应用一个严格的数目标程序。形式化方法使开发者应用一个严格的数学符号体系来表示、构造和验证系统,从而大大提学符号体系来表示、构造和验证系统,从而大大提高软件的可靠性。高软件的可靠性。 模型见下图:模型见

78、下图:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.转换模型转换模型形式化形式化规格说明规格说明与与 需需 求求比比 较较 后后修正修正变换变换2变换变换1变换变换n测试测试形式化开发记录形式化开发记录系统需求系统需求目标系统目标系统Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 200

79、4-2011 Aspose Pty Ltd.转换模型转换模型两种技术:两种技术: 基于模型的规格说明及其变换技术基于模型的规格说明及其变换技术 基于模型的技术使用数学上的结构如集合和函基于模型的技术使用数学上的结构如集合和函数为系统建模。它们能展现系统的状态以简化对某数为系统建模。它们能展现系统的状态以简化对某些行为的描述。基于模型的描述语言及方法如些行为的描述。基于模型的描述语言及方法如Z、VDM( (Vienna Definition Method)、B、Petri Nets等。等。 基于代数结构及其变换技术基于代数结构及其变换技术 代数方法适合于对接口的描述。这里接口被定代数方法适合于对

80、接口的描述。这里接口被定义为一组对象类或抽象数据类型的集合,用接口操义为一组对象类或抽象数据类型的集合,用接口操作之间的关系来刻画系统。作之间的关系来刻画系统。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.转换模型转换模型特点:特点: 该模型迫使对系统需求的分析在软件开发的早期阶段完该模型迫使对系统需求的分析在软件开发的早期阶段完成。在这个阶段改正错误比在系统被交付之后修改错误要经成。在这个阶段改正错误比在系统被交

81、付之后修改错误要经济得多。济得多。 形式化描述是对非形式化描述技术的补充。可以用来精形式化描述是对非形式化描述技术的补充。可以用来精化非形式化的详细的系统需求描述。描述是精确的和无二义化非形式化的详细的系统需求描述。描述是精确的和无二义的,避免了由于语言误解而产生的一些问题。的,避免了由于语言误解而产生的一些问题。 最适合用于安全性、可靠性和保密性等性能要求极高的最适合用于安全性、可靠性和保密性等性能要求极高的系统。系统。 开发成本较高。开发成本较高。 需要严格的数学理论和开发环境的支持。需要严格的数学理论和开发环境的支持。 难以与用户进行通信。难以与用户进行通信。Evaluation onl

82、y.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.形式化过程模型的一个扩展形式化过程模型的一个扩展净室模型净室模型 形式化过程模型的一个扩展,称为形式化过程模型的一个扩展,称为净室软件工程净室软件工程或或净室模净室模型型,它除了强调分析和设计上的严格性,以及使用基于数学的,它除了强调分析和设计上的严格性,以及使用基于数学的正确性证明来对设计模型的每个元素进行形式化验证外,还强正确性证明来对设计模型的每个元素进行形式化验证外,还强调了统计质量控制技

83、术。调了统计质量控制技术。 基本思想基本思想: 力求在分析和设计阶段就消除错误,确保正确,然后在无力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或缺陷或“洁净洁净”的状态下实现软件的制作。的状态下实现软件的制作。 关键技术关键技术: 基于统计过程控制之下的增量开发基于统计过程控制之下的增量开发 基于函数的规范、设计、验证基于函数的规范、设计、验证 统计测试和软件认证统计测试和软件认证 模型见下图:模型见下图:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2

84、004-2011 Aspose Pty Ltd.净室模型净室模型需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证增量增量1增量增量2增量增量nEvaluation only.Cre

85、ated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.净室模型净室模型净室思想净室思想在分析和设计阶段消除错误在分析和设计阶段消除错误在在“洁净洁净”状态下实现软件制状态下实现软件制作作形式化形式化盒结构表示分析和设计盒结构表示分析和设计正确性验证正确性验证增量模型增量模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2

86、011 Aspose Pty Ltd.案例案例考虑如下两个软件项目的例子:考虑如下两个软件项目的例子:针对一种新机器,为一种已知的编程语言(例针对一种新机器,为一种已知的编程语言(例如,如,C语言)开发一种普通的编译器;语言)开发一种普通的编译器;开发一个应用程序使医生办公室自动化。开发一个应用程序使医生办公室自动化。问:其中哪一个项目可能要求一个瀑布型生命问:其中哪一个项目可能要求一个瀑布型生命期开发模型?为什么?这两个例子可能存在什期开发模型?为什么?这两个例子可能存在什么风险?所选的开发模型如何处理这些风险?么风险?所选的开发模型如何处理这些风险?Evaluation only.Crea

87、ted with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.小结小结讲了八种软件开发模型,还有智能模型等等讲了八种软件开发模型,还有智能模型等等软件开发模型是不断发展的软件开发模型是不断发展的各种软件开发模型各有优缺点各种软件开发模型各有优缺点选用时不必拘泥于某种模型选用时不必拘泥于某种模型可组合多种模型可组合多种模型也可根据实际创建新的模型也可根据实际创建新的模型Evaluation only.Created with Aspose.Slides for .NET

88、3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.作业作业 习习 题题 P29 1.2.3.1.1.什么是软件生存周期?软件生存周期划分成阶段的目的是什么?什么是软件生存周期?软件生存周期划分成阶段的目的是什么? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。软件生存周期是指从软件定

89、义、开发、使用、维护到淘汰的全过程。(1) (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。(2) (2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。(3) (3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。 2. 2.3.3.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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