高级软件工程(第三章)几种典型的开发模型实例(2017课件)PPT推荐.ppt
《高级软件工程(第三章)几种典型的开发模型实例(2017课件)PPT推荐.ppt》由会员分享,可在线阅读,更多相关《高级软件工程(第三章)几种典型的开发模型实例(2017课件)PPT推荐.ppt(56页珍藏版)》请在冰豆网上搜索。
提提供供各各阶阶段段的的检检查查点点,确保用户需求,满足预算和时间限制。
确保用户需求,满足预算和时间限制。
瀑布模型的特点瀑布模型的特点3瀑布模型的瀑布模型的优点优点容易理解、管理成本低。
容易理解、管理成本低。
文档产生并提供了贯穿生命期的进展过程的文档产生并提供了贯穿生命期的进展过程的充分说明。
允许基线和配置早期接受控制。
充分说明。
可强迫开发人员采用规范的方法,例如结构可强迫开发人员采用规范的方法,例如结构化方法。
化方法。
4瀑布模型的局限性客户必须能够完整、正确和清晰地表达他们的需客户必须能够完整、正确和清晰地表达他们的需要要。
可能要花费更多的时间来建立一些用处不大的文档。
在开始的两个或三个阶段中,很难评估真正的进度在开始的两个或三个阶段中,很难评估真正的进度状态。
状态。
在一个项目的早期阶段,过分地强调了基线和里程在一个项目的早期阶段,过分地强调了基线和里程碑处的文档。
碑处的文档。
开发人员一开始就必须理解其应用。
当接近项目结束时,出现了大量的集成和测试工作。
直到项目结束之前,都不能演示系统的能力。
5瀑布模型瀑布模型的应用考虑的应用考虑瀑布模型是传统过程模型的典型代表,因为瀑布模型是传统过程模型的典型代表,因为管理简单,常被获取方作为合同上的模型。
管理简单,常被获取方作为合同上的模型。
当一个项目有稳定的产品定义且很容易被理当一个项目有稳定的产品定义且很容易被理解的技术解决方案时,可以使用瀑布模型。
解的技术解决方案时,可以使用瀑布模型。
对于那些容易理解但很复杂的项目,采用纯对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适。
瀑布模型比较合适。
C瀑布模型适合于功能和性能明确、瀑布模型适合于功能和性能明确、完整、完整、无重大变化的软件开发。
无重大变化的软件开发。
6Infosys过程模型过程模型FInfosys公司其内部采用面向过程管理软件公司其内部采用面向过程管理软件开发,同时不断进行过程改进。
开发,同时不断进行过程改进。
1993年获年获得得ISO认证,认证,1999年通过年通过CMM5级认证。
级认证。
FInfosys公司在软件过程改进方面取得的成公司在软件过程改进方面取得的成绩为其企业的良性发展奠定了基础绩为其企业的良性发展奠定了基础。
F该公司采用的标准过程模型是对瀑布模型的该公司采用的标准过程模型是对瀑布模型的细化,称之为细化,称之为Infosys模型。
该模型每年被模型。
该模型每年被成功地应用于成功地应用于500多个软件项目的开发。
多个软件项目的开发。
7UPUP的特点的特点n由用例和风险驱动由用例和风险驱动:
用例是捕获需求的方法,:
用例是捕获需求的方法,UPUP通过对风险分析预测并关注软件构造。
通过对风险分析预测并关注软件构造。
n以构架设计为中心以构架设计为中心:
开发软件系统的:
开发软件系统的UPUP方法是方法是开发和演进一个健壮的系统构架。
开发和演进一个健壮的系统构架。
n迭代和增量的过程迭代和增量的过程:
UPUP的迭代表示把项目划分的迭代表示把项目划分成小的子项目,迭它代提交系统的功能块或者成小的子项目,迭它代提交系统的功能块或者增量,最终产生完整的功能系统。
增量,最终产生完整的功能系统。
8它是对它是对RUPRUP过程的剪裁,是基于风险的增量和迭过程的剪裁,是基于风险的增量和迭代的开发;
代的开发;
这一过程是经过实践检验的适合这一过程是经过实践检验的适合C/SC/S、B/SB/S结构的结构的软件开发模型;
软件开发模型;
它分为四个阶段,每个阶段至少通过它分为四个阶段,每个阶段至少通过33次迭代过次迭代过程完成阶段目标;
程完成阶段目标;
每个迭代有明确的目标和评估标准;
整个项目划分为整个项目划分为33次目标明确的增量开发,每次次目标明确的增量开发,每次增量作为一个可执行版本,提交用户使用。
增量作为一个可执行版本,提交用户使用。
9协同过程模型概述协同过程模型概述微软开发模型(微软开发模型(MSFMSF)FMSF(MSF(微软解决方案框架结构微软解决方案框架结构)是一组建立、是一组建立、开发和实现分布式企业系统应用的工作模型、开发和实现分布式企业系统应用的工作模型、开发准则和应用指南。
它帮助企业融合商业开发准则和应用指南。
它帮助企业融合商业和技术的目标,降低采用新技术后系统整体和技术的目标,降低采用新技术后系统整体的费用,以及成功的应用微软技术整合商业的费用,以及成功的应用微软技术整合商业过程的方法。
过程的方法。
10MSFMSF的特点的特点1.1.CodeReviewCodeReview原则原则:
程序员定期向其他人讲解自己源:
程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采用并被认为是一程序的活动,这个方法被众多公司采用并被认为是一个行之有效的方法。
个行之有效的方法。
2.2.版本管理方法版本管理方法:
采用统一的版本管理服务器管理项目:
采用统一的版本管理服务器管理项目源程序,每个人的程序,必须经另外一个程序员检查源程序,每个人的程序,必须经另外一个程序员检查后才能后才能CheckinCheckin,每天晚上都有每天晚上都有buildbuild所有程序,如所有程序,如果果buildbuild不能通过,程序员必须立即修改自己的程序。
不能通过,程序员必须立即修改自己的程序。
每隔一段时间配合进度里程碑发布一个内部版本。
3.3.文档管理文档管理:
MSFMSF的文档崇尚的文档崇尚实用简洁实用简洁,尽量避免事后,尽量避免事后没人看的文档,资料的积累和经验的继承通过加强程没人看的文档,资料的积累和经验的继承通过加强程序员的交流来解决(如序员的交流来解决(如CodeReview,CheckinCodeReview,Checkin前的前的互相检查)。
互相检查)。
114.4.人员招聘培训人员招聘培训:
人员招聘首先注重人格因素,其次是:
人员招聘首先注重人格因素,其次是技术因素。
人员的培训最有效最方便的手段是利用网技术因素。
人员的培训最有效最方便的手段是利用网络以多媒体、电子文档的方式提供。
络以多媒体、电子文档的方式提供。
5.5.项目角色的组成项目角色的组成:
程序管理、产品管理、开发、测试、:
程序管理、产品管理、开发、测试、部署、用户培训,但微软并不是每个项目都配全了这部署、用户培训,但微软并不是每个项目都配全了这些角色,尤其是小的项目角色会有重叠。
强调最好由些角色,尤其是小的项目角色会有重叠。
强调最好由用户来充当产品管理角色。
用户来充当产品管理角色。
6.测试人员和开发人员的比例测试人员和开发人员的比例:
项目测试人员和开发人项目测试人员和开发人员的比例为员的比例为1:
11:
1,微软通常是,微软通常是2:
12:
1,微软通常会雇用大,微软通常会雇用大量的学生等临时人员来进行开发和测试。
量的学生等临时人员来进行开发和测试。
续续127.7.强调进行风险管理强调进行风险管理:
对项目风险进行确认并全:
对项目风险进行确认并全程跟踪。
程跟踪。
8.8.项目开发过程进行项目开发过程进行里程碑的建立和管理里程碑的建立和管理。
9.9.项目总结制度项目总结制度:
每个项目完成后,对其失败和:
每个项目完成后,对其失败和成功的地方进行总结。
成功的地方进行总结。
续续13MSFMSF团队模型团队模型MSFMSF组队模型展示了如何组织项目队伍,在时组队模型展示了如何组织项目队伍,在时间控制和连续不断发展计划的要求下,有效的间控制和连续不断发展计划的要求下,有效的交付系统的解决方案。
它描述了六种基本的角交付系统的解决方案。
它描述了六种基本的角色(程序管理、产品管理、开发、测试、用户色(程序管理、产品管理、开发、测试、用户体验和发布管理)。
体验和发布管理)。
14产品经理产品经理:
了解客户特征,尤其是商业特征,明确客:
了解客户特征,尤其是商业特征,明确客户的需求以及需求的期望值。
户的需求以及需求的期望值。
程序经理程序经理:
负责制定计划,每天找出完成该计划的风:
负责制定计划,每天找出完成该计划的风险所在,排除风险,每天交付应该完成的内容,确保计险所在,排除风险,每天交付应该完成的内容,确保计划按质、按量实施。
划按质、按量实施。
用户体验用户体验:
设计友好的用户界面,对用户进行培训,:
设计友好的用户界面,对用户进行培训,确保用户能够并且愿意和喜欢使用开发出的产品。
确保用户能够并且愿意和喜欢使用开发出的产品。
开发开发:
开发者在开发前期就参与用户需求分析和项目:
开发者在开发前期就参与用户需求分析和项目计划制定,他最清楚具体的开发过程。
计划制定,他最清楚具体的开发过程。
测试测试:
负责开发出的代码的测试。
:
发布管理发布管理:
平稳地部署,为日常运营作好准备平稳地部署,为日常运营作好准备。
MSFMSF团队角色的职责范围团队角色的职责范围15MSFMSF的组队原则的组队原则以产品发布为中心以产品发布为中心明确的目标明确的目标客户的主动参与客户的主动参与分享产品的前景分享产品的前景所有人参与设计所有人参与设计认真从过去的项目中吸取经验认真从过去的项目中吸取经验共同管理,共同决策共同管理,共同决策项目组成员在同一地点办公项目组成员在同一地点办公大型项目组也像小型项目组一样运转大型项目组也像小型项目组一样运转16MSFMSF过程模型过程模型MSFMSF过程模型解释了如何基于:
范围、进度和资过程模型解释了如何基于:
范围、进度和资源,规划和控制面向结果的项目。
它是基于四个源,规划和控制面向结果的项目。
它是基于四个可见里程碑交互的、允许修改的过程模型。
可见里程碑交互的、允许修改的过程模型。
17微软过程的特点微软过程的特点使用使用迭代迭代+渐进式渐进式提交的方式可以保持系统良好的可预提交的方式可以保持系统良好的可预见性,也可使客户对项目组实施能力更加信任;
见性,也可使客户对项目组实施能力更加信任;
迭代周期的选择一定是对一组业务用例的实现而不是其迭代周期的选择一定是对一组业务用例的实现而不是其它。
即每一个迭代周期都可以交付一个可以完成一定业它。
即每一个迭代周期都可以交付一个可以完成一定业务功能的系统务功能的系统-迭代是针对业务用例的;
迭代是针对业务用例的;
尽早实现困难的用例(如对服务