软件工程之软件开发模型幻灯片.ppt
《软件工程之软件开发模型幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件工程之软件开发模型幻灯片.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程之软件开发软件工程之软件开发模型模型第1页,共37页,编辑于2022年,星期三软件开发模型:软件开发模型:软件开发模型是软件开发的全部过程、活动、任务和管理软件开发模型是软件开发的全部过程、活动、任务和管理 的的结构框架结构框架。软件开发模型能清晰、直观地表达软件开发全过程,软件开发模型能清晰、直观地表达软件开发全过程,明确明确 规定了要完成的主要活动和任务,用来作为软件项目工作的规定了要完成的主要活动和任务,用来作为软件项目工作的基础。基础。l选择合适的开发模型是十分重要的选择合适的开发模型是十分重要的软件开发模型与软件工程软件开发模型与软件工程第2页,共37页,编辑于2022年,星
2、期三软件开发模型是将软件开发中的主要活动细分为:软件开发模型是将软件开发中的主要活动细分为:软件开发模型与软件工程软件开发模型与软件工程系统需求系统需求分析分析程序程序设计设计程序程序编码编码测测试试运行运行维护维护系统系统设计设计人员管理人员管理项目管理项目管理第3页,共37页,编辑于2022年,星期三l常见的开发模型:常见的开发模型:瀑布模型、演化模型、螺旋模型、瀑布模型、演化模型、螺旋模型、XPXP开发模型、开发模型、快速开发模型等。快速开发模型等。l由于现在还没有任何一种方法能够解决软件危机中的所有问题,所由于现在还没有任何一种方法能够解决软件危机中的所有问题,所以在软件开发的各个阶段
3、采用综合治理的方法。以在软件开发的各个阶段采用综合治理的方法。l软件开发模型直接影响软件开发的周期和软件质量,是软件开软件开发模型直接影响软件开发的周期和软件质量,是软件开发的组织管理形式,是软件工程最重要的内容之一。发的组织管理形式,是软件工程最重要的内容之一。软件开发模型与软件工程软件开发模型与软件工程第4页,共37页,编辑于2022年,星期三l2.2.1 瀑布模型的概念瀑布模型的概念:瀑布模型(瀑布模型(Waterfall Model)瀑布模型是将软件生存周期各活动规定为依线性顺序瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。它包括需求分析、概要设计、联接的若干阶段
4、的模型。它包括需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。相互衔接的固定次序,如同瀑布流水,逐级下落。第5页,共37页,编辑于2022年,星期三l2.2.1 瀑布模型的概念瀑布模型的概念:瀑布模型(瀑布模型(Waterfall Model)需求分析需求分析系统设计系统设计程序设计程序设计编码编码测试测试运行及维护运行及维护瀑布模型瀑布模型(需求说明书)(需求说明书)(系统设计书)(系统设计书)(程序设计书)(程序设计书)(程序清单)(程序清单)(测试报告)(测试报告)(维护报告,(维
5、护报告,改进的系统改进的系统)第6页,共37页,编辑于2022年,星期三l阶段任务、结果及人员阶段任务、结果及人员阶段基本任务工作结果参加者需求分析理解和表达用户的要求,需求说明书用户、分析人员系统设计建立系统的结构,模块划分系统设计书用户、系统设计人员程序设计程序内的模块设计,数据库的物理设计程序设计书程序员?编程程序编写程序程序员测试发现错误和排除错误测试报告测试人员运行及维护维护维护报告、改进的系统用户、维护人员瀑布模型概念瀑布模型概念第7页,共37页,编辑于2022年,星期三特征:特征:从上一阶段承接的成果物作为本阶段的工作对象;从上一阶段承接的成果物作为本阶段的工作对象;对上一阶段成
6、果实施本阶段的活动;对上一阶段成果实施本阶段的活动;给出本阶段的成果,作为下一阶段的输入;给出本阶段的成果,作为下一阶段的输入;对本阶段的工作进行评审,若本阶段的工作得到确认,则继续下对本阶段的工作进行评审,若本阶段的工作得到确认,则继续下阶段的工作,否则返回前一阶段或更前一阶段。阶段的工作,否则返回前一阶段或更前一阶段。优点优点:l提供了一个模板,使得分析、设计、编码、测试、运行维护可以提供了一个模板,使得分析、设计、编码、测试、运行维护可以在该模板的指导下应用。在该模板的指导下应用。瀑布模型的特点瀑布模型的特点第8页,共37页,编辑于2022年,星期三缺点缺点:缺乏灵活性,不能适应用户需求
7、的改变缺乏灵活性,不能适应用户需求的改变开始阶段的小错误被逐级放大,可能导致软件产品报废开始阶段的小错误被逐级放大,可能导致软件产品报废返回上一级的开发需要十分昂贵的代价返回上一级的开发需要十分昂贵的代价随着软件规模和复杂性的增加,对于需求不能完全确定的软随着软件规模和复杂性的增加,对于需求不能完全确定的软件开发项目将产生很大的风险。件开发项目将产生很大的风险。通常使用场合通常使用场合:l需求分析做得比较好的系统需求分析做得比较好的系统瀑布模型的特点瀑布模型的特点第9页,共37页,编辑于2022年,星期三l在项目开发的初始阶段,人们对软件的需求认识往往不够清楚,因在项目开发的初始阶段,人们对软
8、件的需求认识往往不够清楚,因而使得开发项目难以做到一次开发成功,出现返工再开发在所难而使得开发项目难以做到一次开发成功,出现返工再开发在所难免。免。原型模型原型模型第10页,共37页,编辑于2022年,星期三 在获得用户基本需求说明的基础上,投入少量人力和物力,快速在获得用户基本需求说明的基础上,投入少量人力和物力,快速建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,并对需求说明进行补充和精化,提出改进意见,开发人员进一步修改并对需求说明进行补充和精化,提出改进意见,开发人员进一步修改完善,如此循环迭代,直到得到一个用户满
9、意的模型为止。完善,如此循环迭代,直到得到一个用户满意的模型为止。从原型法的基本思想中可以看到,用户能及早看到系统模型,在从原型法的基本思想中可以看到,用户能及早看到系统模型,在循环迭代修改和完善过程中,使用户的需求日益明确,从而消除了用循环迭代修改和完善过程中,使用户的需求日益明确,从而消除了用户需求的不确定性,同时从原型到模型的生成,周期短、见效快,对户需求的不确定性,同时从原型到模型的生成,周期短、见效快,对环境变化的适应能力较强。环境变化的适应能力较强。原型模型的基本思想原型模型的基本思想第11页,共37页,编辑于2022年,星期三 功能选择功能选择 要恰当选择原型实现的功能。根据用户
10、基本要恰当选择原型实现的功能。根据用户基本需求,对系统给出初步定义。用户的基本需求包括需求,对系统给出初步定义。用户的基本需求包括各种功能的要求、数据结构、菜单和屏幕、报表内各种功能的要求、数据结构、菜单和屏幕、报表内容和格式等要求。这些要求虽是概略的,但是最基容和格式等要求。这些要求虽是概略的,但是最基本的,易于描述和定义。原型和最终的软件系统不本的,易于描述和定义。原型和最终的软件系统不同,同,两者在功能范围上的区别主要有以下两个方两者在功能范围上的区别主要有以下两个方面:面:原型模型的内容原型模型的内容第12页,共37页,编辑于2022年,星期三第一最终系统是软件需求全部功能的实现,而原
11、型只实现所选择第一最终系统是软件需求全部功能的实现,而原型只实现所选择的部分功能。的部分功能。第二最终系统对每个软件需求都要求详细实现,而原型仅仅是为第二最终系统对每个软件需求都要求详细实现,而原型仅仅是为了试验和演示用的,部分功能需求可以忽略,或者模拟实现。了试验和演示用的,部分功能需求可以忽略,或者模拟实现。原型模型的内容原型模型的内容第13页,共37页,编辑于2022年,星期三 构造原型构造原型 根据用户初步需求,开发出一个可以应用的系统,它应根据用户初步需求,开发出一个可以应用的系统,它应满足上述的由用户提出的基本要求。在构造一个原型时,应满足上述的由用户提出的基本要求。在构造一个原型
12、时,应当强调着眼于预期的评估,而不是为了正规的长期使用。当强调着眼于预期的评估,而不是为了正规的长期使用。运行和评价原型运行和评价原型 在试用中能亲自参加和面对一个实在的模型,能在试用中能亲自参加和面对一个实在的模型,能较为直观和明确地进一步提出需求,提出修改意见。较为直观和明确地进一步提出需求,提出修改意见。通过运行原型对软件需求规格说明进行评价和确认。通过运行原型对软件需求规格说明进行评价和确认。评价要有用户参与,注意来自用户的反馈信息。评价要有用户参与,注意来自用户的反馈信息。原型模型的内容原型模型的内容第14页,共37页,编辑于2022年,星期三 修改和完善原型修改和完善原型 根据修改
13、意见进行修改,以得到新的系统原型,然后再进行试用根据修改意见进行修改,以得到新的系统原型,然后再进行试用和评价,这样经过有限次的循环反复,逐步提高和完善,直到得到一个和评价,这样经过有限次的循环反复,逐步提高和完善,直到得到一个用户满意的系统模型为止。根据原型实现的特点和环境,可以把原型作用户满意的系统模型为止。根据原型实现的特点和环境,可以把原型作为试验的工具,用完就丢弃之(大部分原型都废弃不用,主要因为原型为试验的工具,用完就丢弃之(大部分原型都废弃不用,主要因为原型太慢、太大、结构不合理等原因);也可以使原型全部或部分地成为最太慢、太大、结构不合理等原因);也可以使原型全部或部分地成为最
14、终系统的组成部分。终系统的组成部分。原型开发与原型运行评价两者需反复进行多次,才能最后得原型开发与原型运行评价两者需反复进行多次,才能最后得到经过确认的需求规格说明,并以此作为进一步的软件设计和实到经过确认的需求规格说明,并以此作为进一步的软件设计和实现的基础。现的基础。原型模型的内容原型模型的内容第15页,共37页,编辑于2022年,星期三需求分析原型开发最终系统设计原型评价最终系统实现用户反馈图图2.3 2.3 快速原型模型快速原型模型原型模型的内容原型模型的内容第16页,共37页,编辑于2022年,星期三原型模型原型模型(快速原型模型)(快速原型模型)原型范型原型范型用户测试运行原型建造
15、/修改 原型 听取用 户意见原型模型的内容原型模型的内容第17页,共37页,编辑于2022年,星期三采用原型模型的软件生存周期采用原型模型的软件生存周期分析定义分析定义系统需求系统需求生成生成原型原型系统系统设计设计程序程序设计设计编码编码测试测试运运 行行和维护和维护原型化原型化含原型化的含原型化的软件软件生存期生存期原型模型的内容原型模型的内容第18页,共37页,编辑于2022年,星期三优点:优点:开发者与用户充分交流,可以澄清模糊需求,需求定义比开发者与用户充分交流,可以澄清模糊需求,需求定义比其他模型好得多其他模型好得多 为用户需求的改变提供了充分的余地为用户需求的改变提供了充分的余地
16、 缺点:缺点:开发者为了使一个原型快速运行起来,往往在实现过开发者为了使一个原型快速运行起来,往往在实现过程中采用折衷的手段。软件系统的组成部分可能会打程中采用折衷的手段。软件系统的组成部分可能会打折扣;折扣;资源规划和管理较为困难,随时更新文档也带来麻烦。资源规划和管理较为困难,随时更新文档也带来麻烦。一般使用场合:一般使用场合:l开发者在不了解的应用领域开发开发者在不了解的应用领域开发 l客户不清楚其所开发软件项目的最终目标客户不清楚其所开发软件项目的最终目标 原型模型的特点原型模型的特点第19页,共37页,编辑于2022年,星期三2.4 2.4 增量模型增量模型1.阶段式开发:增量模型阶
17、段式开发:增量模型 系系统统设设计计时时分分片片交交付付,可可使使用用户户在在使使用用某某些些基基本本功功能能的的同同时时,开开发发剩剩余余的的功功能能。这这样样通通常常会会并并行行地地存存在在两两个个系系统统:生生产产系系统统和和开开发发系系统统。运运行行或或生生产产系系统统是是当当前前被被客客户户或或用用户户所所使使用用的的系系统统。而而开开发发系系统统是是准准备备用用于替代当前生产系统的下一个版本。于替代当前生产系统的下一个版本。增量模型是一种非整体开发的模型。是瀑布模型的顺增量模型是一种非整体开发的模型。是瀑布模型的顺序特征和序特征和快速原型模型的迭代特征相结合的产物快速原型模型的迭代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 开发 模型 幻灯片
限制150内