- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件工程
SoftwareEngineering;;;课程教学目标;第1章理解软件工程;;;;;;;;;;;1.3;;;;软件开发小组的组织结构取决于组织的管理风格、组里的人员数目及他们的技术水平和软件项目需要解决问题的难易程度。
Mantei提出了在确定采用何种软件工程小组结构时应该考虑的与项目相关的7个问题。
①项目待解决问题的困难程度。②项目要产生的程序的规模,以代码行或者功能点来衡量。③小组成员需要一起工作的时间(小组生命期)。④需要解决的问题能够被模块化的程度。⑤待建造系统所要求的质量和可靠性。⑥交付日期的严格程度。⑦项目所需要的社交性(通信)的程度。
;1.5;1.6;1.6;1.7;小结;作业与思考;第2章软件工程发展;;;;;;;;;;;;;;小结;第3章软件过程;;;软件生命周期模型:对构建软件所应遵循的步骤的理论性描述。
软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
瀑布模型快速原型模型
增量模型 螺旋模型
喷泉模型
;瀑布模型(waterfallmodel)是在1970年由WinstonRoyce提出的,其过程流是线性的。
瀑布模型的关键是每个阶段要完成指定的文档并且该阶段的产品被软件质量保证小组认可之后,才能进入下一个阶段。;;瀑布模型被称为经典的软件生命周期模型。在有明确需求并且需求保持稳定的情况下,它是一个非常有效的过程模型。
瀑布模型不适应软件需求不明确或者在开发过程中需求经常变化的情况。;快速原型模型通过使用原型来辅助软件开发。
在需求分析阶段要得到准确、合理的需求说明可能比较困难,用户可能并不清楚自己需要的是什么样的系统。
快速原型模型适合预先不能确切定义需求的软件系统的开发。
;;快速原型模型最大的特点在于“快速”。对于采用何种形式、何种策略运用快速原型主要取决于软件项目的特点、团队成员素质、可供支持的原型开发工具和技术等,需要根据实际情况来做出决定。;如果软件有明确需求,整个开发过程不要求按照线性过程流执行,同时要求团队迅速为用户提供一套功能有限的???件产品,并允许在后续版本中再进行细化和扩展,在这种情况下,可采用增量模型比较适用。
;图3-3增量模型;;为了让软件开发能更适应风险的控制,BarryBoehm在1988年提出软件系统开发的螺旋模型,将瀑布模型和快速原型模型结合起来,强调风险分析。
螺旋模型以快速原型法为基础,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。它的基本做法是在每一个开发阶段前引入风险识别、风险分析和风险控制。;图3-4螺旋模型;B.H.Sollers和J.M.Edwards在1990年提出的喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。;;;图3-6RUP发展过程;图3-7RUP过程模型;RUP包含了软件开发积累下来的六大经验:
1.迭代和递增式开发
2.管理需求
3.基于组件的体系结构
4.可视化建模
5.验证软件质量
6.控制软件变更
;2001年,17位在当时被称为“轻量级方法学家”的软件开发者、软件工程作家以及软件咨询师(敏捷联盟)共同签署了“敏捷软件开发宣言”。;;敏捷联盟制定了12项原则,将敏捷理念落实到具体可操作的层面。敏捷软件开发项目以12项原则为基石,但并不是每一个敏捷模型都同等使用这12项原则,一些模型可以选择忽略或淡化其中的一项或多项原则的重要性。;(1)最优先要做的是通过尽早、持续地交付有价值的软件来使客户满意。
(2)即使在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。
(3)经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
(4)在整个项目开发期间,业务人员和开发人员必须每天都在一起工作。
(5)激发个体的斗志,以他们为核心搭建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
(6)不论团队内外,传递信息效果最好和效率最高的方式是面对面的交谈。;;;极限编程(ExtremeProgramming,XP)是目前敏捷软件开发使用最为广泛的方法之一,其主要目标在于降低因需求变更而带来的成本。
极限编程的创始人KentBeck为XP的实施确定了五个基础要素:沟通、简明、反馈、鼓励和尊重。;图3-8XP过程;Scrum最早由JeffSutherland在1993年提出,KenSchwaber在1995年OOPSL
您可能关注的文档
- 软件工程:理论、技术及实践 课件 第10、11章 软件创新、 软件工程与社会.pptx
- 软件工程:理论、技术及实践 课件 第4、5章 理解需求、 需求分析.pptx
- 软件工程:理论、技术及实践 课件 第6、7章 软件设计、软件实现与测试.pptx
- 软件工程:理论、技术及实践 课件 第8、9章 软件维护与演化、 软件项目管理.pptx
- 电气工程基础 课件 第4、5章 电力系统控制、电力系统对称故障分析.pptx
- 电气工程基础 课件 第1--3章 绪论、电力系统各元件的参数及数学模型、电力系统稳态运行分析与计算.pptx
- 电气工程基础 课件 第6、7章 电力系统不对称故障分析、电力系统稳定性分析.pptx
- 数字电路与逻辑设计(第四版)课件 第1、2章 逻辑代数基础;组合逻辑电路.pptx
- 数字电路与逻辑设计(第四版)课件 第3、4章 常用组合逻辑电路及 MSI组合电路模块的应用、时序逻辑电路.pptx
- 数字电路与逻辑设计(第四版)课件 第5--7章 常用时序逻辑电路及 MSI时序电路模块的应用;可编程逻辑器件; VHDL与数字电路设计.pptx
文档评论(0)