sad软件工程过程.ppt

上传人:b****1 文档编号:1406337 上传时间:2022-10-22 格式:PPT 页数:94 大小:1.85MB
下载 相关 举报
sad软件工程过程.ppt_第1页
第1页 / 共94页
sad软件工程过程.ppt_第2页
第2页 / 共94页
sad软件工程过程.ppt_第3页
第3页 / 共94页
sad软件工程过程.ppt_第4页
第4页 / 共94页
sad软件工程过程.ppt_第5页
第5页 / 共94页
点击查看更多>>
下载资源
资源描述

sad软件工程过程.ppt

《sad软件工程过程.ppt》由会员分享,可在线阅读,更多相关《sad软件工程过程.ppt(94页珍藏版)》请在冰豆网上搜索。

sad软件工程过程.ppt

系统分析与设计SystemAnalysisandDesign,谭火彬,第02章软件工程过程,SoftwareEngineeringProcess,-3-,软件工程核心技术,软件工程方法为软件开发提供了“如何做”的技术软件工程过程方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,-4-,内容安排,软件开发生命周期软件工程过程微软解决方案(MSF)基础MSF过程模型MSF小组模型,-5-,内容安排,软件开发生命周期软件工程过程微软解决方案(MSF)基础MSF过程模型MSF小组模型,-6-,软件开发项目,软件开发项目一个有始有终的任务产生预先确定的结果或产品可以是一个大工程,需要许多人进行数千小时的工作;也可以是一个很小的项目成功的项目详细的计划有组织的讲究方法的一系列活动和任务可靠、强大而高效的信息系统,-7-,软件开发生命周期,软件开发生命周期(SDLC,SoftwareDevelopmentLifecycle)把一个项目较简单地组成各个阶段提供了确保成功开发所需要的结构、方法、控制和核对表包含管理原则、计划、组织、问题解决协调、控制、分工、进度安排等问题,-8-,生命周期中的各个阶段,-9-,计划阶段(PlanningPhase),目标:

规划项目范围并做出项目计划活动定义问题确定项目可行性制定项目的进度表为项目安排人员启动项目,-10-,分析阶段(AnalysisPhase),目标:

了解并详述用户需求活动收集信息确定系统需求建立需求发现的原型划分需求的优先级产生并评估可替换方案与管理人员一起审查需求,-11-,设计阶段(DesignPhase),目标:

设计系统解决方案活动设计应用程序结构设计用户界面设计并集成数据库设计系统的实现细节设计并集成网络设计并集成系统控制逻辑,-12-,实现阶段(ImplementationPhase),目标:

建立、测试和安装最后的系统活动构造软件构件验证与测试移植数据准备用户文档培训用户安装系统,-13-,支持阶段(SupportPhase),目标:

在系统初始安装后保持系统有效地运行活动提供对最终用户的支持维护和升级系统,-14-,各阶段人员配置情况,-15-,内容安排,软件开发生命周期软件工程过程微软解决方案(MSF)基础MSF过程模型MSF小组模型,-16-,从SDLC到软件开发过程,SDLC定义了软件开发的五个阶段阶段并不一定是线性的可以按照合适的方式组织实际的过程软件工程过程针对项目的实际情况,结合SDLC定义合适的过程完成项目开发软件工程过程由关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关对象(计划、文档、模型、编码、测试、手册等)组成,-17-,软件工程过程,软件工程过程(SEP,SoftwareEngineeringProcess)DefinesWhoisdoingWhat,Whentodoit,andHowtoreachacertaingoal定义了为达到某个确定的目标,需要什么人在什么时间以何种方式做何种工作软件工程的核心是过程产品、人员、技术通过过程关联起来软件工程过程能够将技术集成在一起从而使软件的开发能够以一种合理而及时的方式完成,-18-,以过程为核心组织软件工程,-19-,典型的软件工程过程,传统软件工程过程1.编码修正模型2.瀑布模型3.螺旋模型4.原型模型现代软件工程过程5.Rational统一过程(RUP)6.敏捷过程(AP)7.微软解决方案(MSF),-20-,1.编码修正模型,编码修正模型(CodeandFix)从一个大致的想法开始工作,然后经过非正规的设计、编码、调试和测试方法,最后完成工作,可能有可能没有的规范,发布(可能),-21-,细说编码修正模型,优点成本可能很低只需要很少的专业知识,任何写过程序的人都可以对于一些非常小的、开发完后就会很快丢弃的软件可以采用对于规模稍大的项目,采用这种模型是很危险的,-22-,2.瀑布模型,-23-,细说瀑布模型,瀑布模型最早提出,所有过程模型的祖宗项目从开始到结束按照一定的顺序执行使用里程碑来界定一个阶段到另一阶段的转变文档驱动的,各个阶段不连续也不交叉主要问题线性的、缺乏灵活性;每个阶段互相独立而且不能回退如:

必须在项目开始前说明全部需求,-24-,3.螺旋模型,-25-,细说螺旋模型,特点以风险为导向的生命期模型从一个小范围的关键中心地带开始寻找风险因素,制定风险控制计划,并交付给下一步骤,如此迭代,每次迭代将项目扩展到一个更大的规模优势随着迭代的增加(成本的增加),风险程度随之降低缺陷比较复杂,需要责任心,专注和管理方面的知识,-26-,4.原型模型,-27-,细说原型模型,原型模型是一种解决需求的不确定性和可变性的好办法原型是项目系统中的一个方面或者多个方面的工作模型抛弃型原型:

用于试验某些概念,试验完系统将无用处演进型原型:

原型系统不断被开发和被修正,最终它变为一个真正的系统,-28-,从另外的角度看待原型,从中学到什么?

学生经常会做一些软件作业,这些作业被称为原型问题:

这些原型和软件系统原型是否相同?

作为一个原型必须:

描述他们希望从中学到的东西,规划原型评价的方法,报告从原型中真正学到的内容在不同的阶段,原型具有不同的作用原型起作用的程度实物模型(Mock-ups)仿真交互部分模型:

水平,垂直(某些特性构造详细的原型),-29-,练习:

何时引入原型系统,公司的经理需要通过个人计算机上的一个系统来访问管理信息。

系统价格必须合适。

很多人怀疑是否经理真需要使用该系统可行性研究阶段,采用实物模型的方法支持客户销售人员通过电话回答有关客户询问汽车保险价格的系统设计用户对话界面时保险公司考虑实施一个基于MSAccess的电话销售系统,他们不知道Access是否能够开发出相应界面的系统并具备足够快的相应时间方案设计阶段,-30-,5.Rational统一过程,-31-,Rational统一过程,Rational统一过程(RationalUnifiedProcess,RUP)是一种软件工程过程,它提供了如何在开发组织中严格分配任务和职责的方法是一个过程产品有自己的过程框架捕获了现代软件开发中的最佳实践目标按照预先制定的时间计划和经费预算,开发出高质量的软件产品以满足最终用户的需求,-32-,RUP4个阶段9大工作流,阶段初始Inception生命周期目标精化Elaboration生命周期构架构造Construction最初运作能力移交(Transition)产品发布,工作流业务建模需求分析与设计实现测试部署配置和变更管理项目管理环境,-33-,RUP中的6项最佳实践,-34-,RUP三大特点,RUP三大特点用例驱动(Usecasedriven)以架构为中心(Architecture-centric)迭代和增量开发(Iterativeandincrementaldevelopment),-35-,6.敏捷过程(AgileProcess),敏捷代表着有效和灵活那些轻型的、有效的方法即为敏捷方法在重型方法(如RUP)中,经常在一些不必要、重复的中间环节上浪费了太多的精力,而敏捷则避免了这种浪费敏捷联盟宣言IndividualsandinteractionsoverprocessesandtoolsWorkingsoftwareovercomprehensivedocumentationCustomercollaborationovercontractnegotiationRespondingtochangeoverfollowingaplan,-36-,极限编程,客户作为团队成员用户故事短交互周期验收测试结对编程测试驱动的开发方法集体所有权,持续集成可持续的开发速度开放的工作空间计划游戏简单设计重构隐喻,极限编程(eXtremeProgramming,XP)是敏捷方法中最著名的一个,它由一系列简单却互相依赖的实践组成,-37-,过程裁剪,裁剪(Tailoring):

每个项目自身特点这些过程标准只是一个通用的过程框架,需要根据实际情况裁剪裁剪分类过程裁剪、阶段裁剪、文档/产品/工作产品裁剪标准点项目规模、开发过程(生命周期)、项目类型,-38-,案例:

选择合适的过程模型,Giga-Safe公司的区域代理商们吵吵嚷嚷地想要升级Giga-Quote1.0,改正错误并且修改一些令人厌烦的用户界面上的小问题。

在部门经理Randy的建议下,Giga-Quote1.0项目后期被调离的Bill又重新当上了Giga-Quote1.1项目的项目经理。

“这些就是你的任务。

”Randy说。

“上次的进度安排出现了很多问题,所以这次你必须按全力以赴的速度来组织项目。

原型法是速度最快的方法,让你的团队采用这种方法。

”Bill想想觉得挺不错,过几天开会时,他告诉大家要采用原型法。

-39-,案例2-1(续1),Mike是项目的技术负责人,他觉得很惊讶。

“Bill,我不同意你的想法”,他说道,“我们有6个星期来修改一系列的错误,而且只是用户界面作一些小的改变。

你用原型干什么呢?

”“我们需要采用一个原型来提高项目开发速度,”Bill暴躁地说。

“原型法是最新、最快的方法,这就足为什么我要求你采用的原因。

还有什么问题吗?

”“好吧,”Mike说道,“如果那就是你想要的,我们会去开发一个原型。

”,-40-,案例2-1(续2),Mike和另外一个开发人员,Sue,开始做原型。

因为和他们做的现有系统几乎一样,没几天就做出了整个系统的仿制品。

在第2周一上班,他们给代理商经理Jack演示了原型。

“该死!

我怎么能告诉我的区域代理们要用这个东西!

”Jack大声叫道。

“和现在的程序相比几乎没有什么改进!

我的区域代理们只不过想要更好用,我对一些新的报表有点想法而已。

就在这儿,我给你们看看。

”Mike和Sue耐心地听着,开完会,Mike找到了Bill。

-41-,案例2-1(续3),“我们给Jack演示了原型。

他想增加一些新的报表,而且很坚决。

可是我们的工作计划都安排满了。

”“我看不成问题。

”Bill说。

“他是经理。

如果他说要这些报表,他们就肯定是需要的。

你们这些家伙该做的就是想想办法怎么给他们按时做出来。

”“我试试看吧,”Mike说,“但是我得告诉你的是,如果增加这些报表,我们按时完成任务的机会只有1。

”“好吧,你们反正得做,”Bill说,“也许现在采用了原型,工作进展会比你预期的要快。

”,-42-,案例2-1(续4),两天后,Jack去了Mike的办公室。

“我看了那个原型,我想我们还得增加一些数据录入窗口。

我昨天在每月的地区代理例会上给我们的一些代理看了你们做的原型。

他们说有些想法得和你谈谈。

我给了他们你的电话号码,希望你别介意。

”后来,Mike问Bill是否该和Jack谈谈变更的问题,但是Bill说:

“不用。

”第二天,Mike接到了两个参加了地区代理例会的代理的电话。

他们都想再调整一下系统。

接下来的2星期里,他每天接到电话,需要修改的内容累积了一大堆。

-43-,案例2-1(续5),他们的项目只有6星期的时间,在第4个星期末,Mike和Sue估计他们还有6星期的活,但却要在2星期内完成。

Mike又去找了Bill。

“我对你很失望,”Bill说,“我答应过Jack和那些代理会按他们的要求进行修改。

看来你没有很好地利用原型模型,这下麻烦就大了。

”“麻烦早就有了”,Mike这么想,“只是没想到竟会落到我的头上。

”但是Bill还是固执己见。

-44-,案例2-1(续6),在第8个星期末,Bill开始抱怨Mike和Sue工作不够努力。

到了第10个星期末,Bill开始每天两次去他们的办公室检查进展情况。

快到第12个星期末的时候,代理们开始抱怨。

于是,Bill说,“我们得拿点什么东西出来了,就把你们现在已经完成的部分交付给用户吧

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1