- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程-- 原理、方法与应用(第三版)
主要内容
绪论
上篇-传统软件工程
软件生存周期与软件过程
结构化分析与设计
中篇-面向对象软件工程
面向对象与UML
需求工程与需求分析
面向对象分析
面向对象设计
编码与测试
下篇-软件工程的近期进展、管理与环境
软件维护
软件复用
软件工程管理
软件质量管理
软件工程环境
软件工程高级课题
第一章 绪论
软件和软件危机
软件工程学的范畴
软件工程的发展
软件工程的应用
软件工程的教学
软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档(R. S. Pressman)
软件=程序(包括数据)+文档
程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
软件与硬件的不同
软件开发不同于硬件设计
软件生产与硬件制造不同
软件维护不同于硬件维修
软件是逻辑的,而不是物理的
软件开发与人关系密切
软件开发成本大
软件生产是简单的拷贝
软件不会磨损和老化
软件受环境影响大
软件维护易产生新的问题
软件危机的表现
对软件开发成本和进度的估算很不准确
用户很不满意
质量很不可靠
没有适当的文档
软件成本比重上升
供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势
硬件/软件成本变化趋势
软件技术进步落后于需求增长
软件危机的原因
客观:软件本身特点
----逻辑部件
----规模庞大、复杂度高
主观:不正确的开发方法
----忽视需求分析
----个人化方式:软件开发=程序编写
----轻视软件维护
解决途径
组织管理
----工程项目管理方法
技术措施
----软件开发技术与方法
----软件工具
促使了软件工程的诞生
按工程化的原理和方法组织软件开发是软件开发中的问题一个主要出路
2. 软件工程学的研究范畴
2. 软件工程学的研究范畴
软件开发方法
为软件开发提供了 ?°如何做?± 的技术
个性化方法-〉结构化方法-〉面向对象方法-〉软件复用
软件工具
为软件开发提供了自动的或半自动的软件支撑环境
单个工具-〉工具箱、集成工具-〉环境
软件工程管理
目的:为了按进度及预算完成软件计划
内容:成本估算、进度安排、人员组织、质量保证等
三种编程范型
过程式编程范型
程序由一组被动数据和一组能动过程组成
程序=数据结构+算法
着眼于程序的过程和基本控制结构,粒度最小
面向对象编程范型
数据及其操作被封装在对象中
程序=对象+消息
着眼于程序中的对象,粒度比较大
基于构件技术的编程范型
构件是通用的、可复用的标准化对象类
程序=构件+架构
着眼于适合整个领域的类对象,粒度更大
过程式和面向对象的编程范型
三代软件工程
传统软件工程
结构化分析 →结构化设计 → 面向过程的编码 → 软件测试
面向对象软件工程
OO分析与对象抽取 → 对象详细设计 → 面向对象的编码 和测试
基于构件的软件工程
领域分析和测试计划定制 → 领域设计 → 建立可复用构件库 → 查找并集成构件
4. 软件工程的应用
软件工程指导中小型软件
软件工程指导大型软件
软件工程的成就
解决软件开发中的部分问题(非本质)
软件生产率稳步增长
软件工程发展的展望
开发伴随软件复用,开发为了软件复用
软件就是服务
5. 软件工程的教学
正确处理好4个关系
三代软件工程的相互关系
软件工程技术和软件工程管理的关系
形式化方法和非形式化方法的关系
小程序设计和大程序设计的关系
教学中加强实践训练
小结
第二章 软件生存周期与软件过程
软件生存周期
传统的软件过程
软件演化模型
形式化方法模型
统一过程和敏捷过程
软件可行性研究
1. 软件生存周期
典型的软件生存周期
软件生存周期的主要活动
需求分析
明确需要解决的问题(从用户的视角)
建立需求模型:功能、性能、约束、接口等
软件分析
从开发人员的视角对软件进行分析
建立分析模型:软件的逻辑模型
软件设计
确定软件的总体结构和各部件的数据结构和操作
建立软件设计模型:考虑实现技术和平台
编码
用程序设计语言将设计文档翻译成源程序
建立软件实现模型:包含现有软件构件包
软件测试
发现程序中的错误、提高软件质量
单元测试、集成测试、确认测试、系统测试
运行维护
软件过程与软件生存周期
2. 传统的软件过程
传统的过程模型
瀑布模型
waterfall model
基于软件生存周期的线性开发模型
快速原型模型
rapid prototype model
基于原型的迭代化开发模型
瀑布模型
瀑布模型
特点
阶段的顺序性和依赖性
推迟实现的观点
质量保证的
您可能关注的文档
最近下载
- 2025江苏苏州张家港市长江保坍实业有限公司招聘1人备考试题及答案解析.docx VIP
- 探讨TPACK理论在力学实验教学中的应用.docx VIP
- 2024-2025学年度工程硕士复习提分资料(名校卷)附答案详解.docx
- 江苏苏州张家港市长江保坍实业有限公司招聘笔试题库2025.pdf VIP
- 2025江苏苏州张家港市长江保坍实业有限公司招聘1人笔试历年参考题库附带答案详解.docx VIP
- Oxford学习策略量表(SILL).doc VIP
- 山东发展投资控股集团有限公司招聘笔试题库2025.pdf
- 桌面应急演练评估表.docx VIP
- 麻醉患者的护理(护理课件).ppt
- 广汽本田-奥德赛-保修手册-锐·畅享版-GHA6480BAC6AHEV-奥德赛(混动版)维修保修手册.pdf VIP
文档评论(0)