- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.6 软件工程的基本目标 软件工程的原则 抽象 信息隐蔽(封装) 模块化 局部化 确定性 一致性 完备性 可验证性 事物分离原则(Principle of Separation of Concerns) 小结 本章对软件工程的发展过程及背景做了介绍,对软件工程的一些基本概念、特点以及传统和面向对象软件工程生命周期进行了讨论,最后简述了软件工程的基本目标。通过对本章内容的学习,应能对软件工程的基本概念、方法、原则有一个总体认识和了解,为进一步学习后续章节的课程打下基础。 习题 什么是软件工程? 怎样用软件工程消除软件危机? 什么是软件生命周期? 面向对象与传统软件工程有何相同之处? * 软件工程概论 Software Engineering 第1章 软件工程概述 1.1 软件发展和软件危机 1.2 软件工程学的范畴 1.3 软件开发的生命周期 1.4传统软件工程和面向对象软件工程 1.5 软件的特点 1.6 软件工程的基本目标 1.1 软件发展和软件危机 定义 软件:能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。 程序:计算任务中的处理对象和处理规则的描述。 文档:为了便于了解程序所需的资料说明。 软件的作用 用户与硬件的接口 计算机系统的指挥者 计算机系统结构设计的重要依据 1.1 软件发展和软件危机 软件的发展过程 程序设计阶段:从第一台计算机上的第一个程序的出现到实用的高级程序设计语言出现之前,约为20世纪五六十年代。 程序系统阶段:从实用的高级程序设计语言出现到软件工程出现之前,约为20世纪六七十年代。 软件工程阶段:结构化软件工程出现,约为20世纪70年代以后。 面向对象软件工程阶段:面向对象软件工程出现,约为20世纪80年代以后。 1.1 软件发展和软件危机 软件危机 20世纪60年代后期 主要问题: 如何开发软件来满足对软件的日益成长的需求 如何维护数量不断膨胀的已有软件 软件的显著特点是规模庞大,软件规模超越了个人能驾驭的范畴,需要团队合作 软件工程学提出的起点和由来:解决大规模、复杂软件系统的开发和维护 从程序设计到软件工程 1.1 软件发展和软件危机 软件危机的表现 对软件开发成本和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。 软件产品的质量往往靠不住。 软件常常是不可维护的。 软件通常没有相关的文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 供求关系失调、开发费用失控,进度拖延、可靠性差、难以维护 1.1 软件发展和软件危机 (1) 客户如此描述需求 (2) 项目经理如此理解 (3) 分析员如此设计 (4) 程序员如此编码 (5) 商业顾问如此诠释 (6) 项目文档如此编写 (7) 安装程序如此“简洁” (8) 客户投资如此巨大 (9) 技术支持如此肤浅 (10) 实际需求原来如此 1.1 软件发展和软件危机 产生软件危机的原因(软件本身的特点) 软件开发进展情况较难衡量 软件开发质量难以评价 管理和控制软件开发过程相当困难 软件没有“磨损”概念,软件维护通常意味着改进或修改原来的设计(软件维护费用数倍于开发费用) 1.1 软件发展和软件危机 产生软件危机的原因(软件开发人员的错误观点) “有一个对目标的概括描述就足以着手编写程序了,许多细节可以在以后再补充”、“用户对软件的要求不断变化,然而软件是柔软而灵活的,可以轻易地改动”(忽视软件需求分析) “所谓软件开发就是编写程序并设法使它运行”(认为软件开发就是编写程序) “软件投入生产性运行以后需要的维护工作并不多,而且维护是一件很容易做的简单工作”(忽视软件维护) 1.1 软件发展和软件危机 缓解软件危机的途径 充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,特别要吸取几十年来人类从事计算机硬件研究和开发的经验教训。(工程化) 推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法。 开发和使用更好的软件工具。 1.1 软件发展和软件危机 为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 软件工程:采用工程的概念、原理、技术和方法来开发和维护计算机软件,将工程管理技术的成功经验和思想与具体的软件开发过程、研究技术相结合,形成一整套适合于计算机软件开发的方法、规范和技术。 1.2 软件工程学的范畴 软件工程学包括软件开发
您可能关注的文档
最近下载
- 第三课《PowerPoint_2010的优化设置》精品课件.pptx VIP
- 华电新疆哈密煤电开发有限公司招聘笔试题库2024.pdf
- 11.1《谏逐客书》课件(71张PPT)-2020-2021学年高中语文统编版必修下册第五单元.pptx
- 《细菌性痢疾》课件.ppt VIP
- 数字经济赋能扬州旅游产业发展研究.docx VIP
- Unit6Inanaturepark第二课时(课件)人教PEP版英语五年级上册.pptx
- 煤矿职业病危害防治.pptx
- 中职数学试卷立体几何.doc VIP
- 2025年我国安全应急产业发展形势展望.docx
- 第18章--PowerPoint-2010基本操作.pptx VIP
文档评论(0)