- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件开发方法20241
1.1软件工程概述计算机软件是计算机程序、数据及相关文档的集合。软件的开发和使用过程中常常受许多问题的困扰计算机软件的开发和维护过程中所遇到的一系列严重问题称为“软件危机”软件危机的特征1)软件开发进度难以预测2)软件开发成本难以控制3)用户对软件产品的功能要求难以满足4)软件产品的质量无法保证,系统中的错误难以消除5)软件产品难以维护6)软件通常缺少文档资料7)软件成本不断提高8)软件开发生产率的提高速度难以满足社会需求的增长率2
1.1.1软件的特征1.软件产品的特征1)软件是一种逻辑的产品。2)软件产品质量的体现方式不同。3)软件产品的成本构成不同。4)软件产品的失败曲线不同。5)大多数软件仍然是定制生产的。2.产生软件危机的原因3
软件项目失败的主要原因4
3.解决软件危机的途径组织管理、技术方法5
1.1.2软件工程1.软件工程的定义IEEE:将系统的、规范的和可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。国标GB/T11457-2006:应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或进行研究的学科6
2.软件工程的目标在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可操作性且满足用户需求的产品。1)提高软件的生产效率,更快、更多地开发软件,按时完成开发任务。2)达到软件要求的功能。3)取得较好的软件性能,包括易于移植、易于维护,可靠性高等。4)降低软件的开发成本。7
3.软件工程的研究内容1)软件开发技术软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。软件开发方法学软件开发过程软件工具软件开发环境4.软件开发方法1)结构化方法自顶向下、逐步求精模块化设计、语句结构化结构化方法的不足8
2)面向对象方法(1)面向对象方法简介面向对象方法是基于“对象、类、继承性、消息机制和多态性等技术特征”的构造软件系统的开发方法。把对象(Object)作为一种统一的软件构件,它将数据及在数据上的操作行为融合为一体。软件中的类(Class)是一类事物的描述。类具有层次结构,子类可以继承父类的特性和方法(继承性)。对象之间只能通过传递消息构成相互之间的联系(消息机制)。9
(2)面向对象方法实施的基本步骤面向对象分析、面向对象设计面向对象编程、面向对象测试面向对象的软件维护(3)面向对象方法的主要优点与人类习惯的思维方式一致。稳定性好。可重用性好。可维护性好。10
1.1.3生命周期模型软件生命周期软件产品从提出开发要求开始,经过需求分析、设计、编码、测试、使用,直到该软件产品被淘汰为止的整个过程。1.软件生命周期各阶段的任务1)软件定义时期问题定义可行性研究需求分析2)软件开发时期总体设计详细设计编码阶段测试阶段3)软件维护时期11
2.软件生命周期模型软件开发中如何划分阶段,完成哪些工作,如何评价和评审,它们的顺序如何等等的组织方案1)瀑布模型(WaterfallModel)12
2)快速原型模型(RapidPrototypeModel)快速建立反映用户主要需求的系统原型用户试用后提出修改意见开发人员按照用户意见不断修改原型系统直到用户确认原型系统确实能实现所需的功能开发人员据此编写规格说明书根据这份文档完成满足用户需求的软件13
3)增量模型(IncrementalModel)14
4)螺旋模型(SpiralModel)15
5)敏捷软件开发(1)敏捷宣言个体和交互优于过程和工具可工作的软件优于面面俱到的文档客户合作优于合同谈判响应变化优于遵循计划(2)敏捷开发的12条原则①通过及早、持续交付有价值的软件来满足客户需求。①通过及早、持续交付有价值的软件来满足客户需求。②欢迎需求变化,即使是在软件开发的后期。③频繁交付能用的软件,交付频率从两周到两个月或更短。④业务人员和开发人员必须合作,这种合作贯穿于每一天。16
⑤围绕主动性强的人来立项,为他们提供必要的环境和支持。⑥开发团队内部及跨团队之间最有效和最高效的信息传递方式是面对面交流。⑦能用起来的软件是衡量进度的基本依据。⑧倡导可持续开发,开发人员和用户都应能够长期保持稳定、可持续工作节拍。⑨持续保持对技术卓越和设计优良的关注。⑩简洁为本,极简就是消除浪费的艺术。?最好的架构、需求和设计是从自组织团队中涌现出来的。?团队按固定的时间间隔反思提效方式,从行动上做出相应的优化和调整。17
6)极限编程(1)客户团队成员(2)用户故事。(3)短交付周期。(4)验收测试。(5)结对编程。(6)测试驱动开发。(7)集体所有权。(8)持续
您可能关注的文档
- 人力资源管理(第4版)课件:组织文化.pptx
- 软件开发技术基础(第4版)课件:查找和排序.pptx
- 软件开发技术基础(第4版)课件:非线性数据结构-树和图.pptx
- 软件开发技术基础(第4版)课件:数据结构-基本概念及线性数据结构.pptx
- 三菱FX系列PLC原理及应用课件:AD、DA转换及变频器的应用.pptx
- 三菱FX系列PLC原理及应用课件:FX3U系列应用指令及其应用 .pptx
- 三菱FX系列PLC原理及应用课件:FX3U系列应用指令及其应用.pptx
- 三菱FX系列PLC原理及应用课件:PLC基础知识.pptx
- 三菱FX系列PLC原理及应用课件:步进指令及状态编程法.pptx
- 三菱FX系列PLC原理及应用课件:伺服控制及应用.pptx
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
文档评论(0)