- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程-- 原理、方法与应用(第三版) 主要内容 绪论 上篇-传统软件工程 软件生存周期与软件过程 结构化分析与设计 中篇-面向对象软件工程 面向对象与UML 需求工程与需求分析 面向对象分析 面向对象设计 编码与测试 下篇-软件工程的近期进展、管理与环境 软件维护 软件复用 软件工程管理 软件质量管理 软件工程环境 软件工程高级课题 第一章 绪论 软件和软件危机 软件工程学的范畴 软件工程的发展 软件工程的应用 软件工程的教学 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档(R. S. Pressman) 软件=程序(包括数据)+文档 程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 软件与硬件的不同 软件开发不同于硬件设计 软件生产与硬件制造不同 软件维护不同于硬件维修 软件是逻辑的,而不是物理的 软件开发与人关系密切 软件开发成本大 软件生产是简单的拷贝 软件不会磨损和老化 软件受环境影响大 软件维护易产生新的问题 软件危机的表现 对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档 软件成本比重上升 供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 硬件/软件成本变化趋势 软件技术进步落后于需求增长 软件危机的原因 客观:软件本身特点 ----逻辑部件 ----规模庞大、复杂度高 主观:不正确的开发方法 ----忽视需求分析 ----个人化方式:软件开发=程序编写 ----轻视软件维护 解决途径 组织管理 ----工程项目管理方法 技术措施 ----软件开发技术与方法 ----软件工具 促使了软件工程的诞生 按工程化的原理和方法组织软件开发是软件开发中的问题一个主要出路 2. 软件工程学的研究范畴 2. 软件工程学的研究范畴 软件开发方法 为软件开发提供了 “如何做” 的技术 个性化方法-〉结构化方法-〉面向对象方法-〉软件复用 软件工具 为软件开发提供了自动的或半自动的软件支撑环境 单个工具-〉工具箱、集成工具-〉环境 软件工程管理 目的:为了按进度及预算完成软件计划 内容:成本估算、进度安排、人员组织、质量保证等 三种编程范型 过程式编程范型 程序由一组被动数据和一组能动过程组成 程序=数据结构+算法 着眼于程序的过程和基本控制结构,粒度最小 面向对象编程范型 数据及其操作被封装在对象中 程序=对象+消息 着眼于程序中的对象,粒度比较大 基于构件技术的编程范型 构件是通用的、可复用的标准化对象类 程序=构件+架构 着眼于适合整个领域的类对象,粒度更大 过程式和面向对象的编程范型 三代软件工程 传统软件工程 结构化分析 →结构化设计 → 面向过程的编码 → 软件测试 面向对象软件工程 OO分析与对象抽取 → 对象详细设计 → 面向对象的编码 和测试 基于构件的软件工程 领域分析和测试计划定制 → 领域设计 → 建立可复用构件库 → 查找并集成构件 4. 软件工程的应用 软件工程指导中小型软件 软件工程指导大型软件 软件工程的成就 解决软件开发中的部分问题(非本质) 软件生产率稳步增长 软件工程发展的展望 开发伴随软件复用,开发为了软件复用 软件就是服务 5. 软件工程的教学 正确处理好4个关系 三代软件工程的相互关系 软件工程技术和软件工程管理的关系 形式化方法和非形式化方法的关系 小程序设计和大程序设计的关系 教学中加强实践训练 小结 软件工程自1968年提出以来,在过去30余年中,已发展成为用于指导软件生产工程化,覆盖软件开发方法学、软件工程管理、软件工具与环境等内容的一门新学科。 随着程序设计从结构化程序设计发展到面向对象程序设计,软件工程也由传统的软件工程演变为面向 对象的软件工程,现正向更新一代的基于构件的软件工程迈进。 长期的实践,软件工程积累了许多行之有效的原理与方法,已经为产业界广泛接受与应用。 第二章 软件生存周期与软件过程 软件生存周期 传统的软件过程 软件演化模型 形式化方法模型 统一过程和敏捷过程 软件可行性研究 1. 软件生存周期 软件生存周期(Software Life Cycle):一个软件项目从问题提出开始,直到软件产品最终退役(废弃不用)为止。 软件生存周期分为三个时期:计划、开发和维护 整个软件生存周期划分为多个相对独立的较小阶段,给每个阶段赋予确定而有限的任务,从而降低了整个软件工程的难度,提高了软件开发生产率 典型的软件生存周期 软件生存周期的主要活动 需求分析 明确需要解决的问题(从用户的视角) 建立需求模型:功能、性能、约束、接
文档评论(0)