高级软件工程(第一章)软件工程现状及发展课件(2018).ppt_第1页
高级软件工程(第一章)软件工程现状及发展课件(2018).ppt_第2页
高级软件工程(第一章)软件工程现状及发展课件(2018).ppt_第3页
高级软件工程(第一章)软件工程现状及发展课件(2018).ppt_第4页
高级软件工程(第一章)软件工程现状及发展课件(2018).ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章软件工程现状及发展 高级软件工程 1 2 参考资料 系统分析与设计导论 美 JeffreyL Whitten等著 机械工业出版社 美 RogerS Pressman著 郑人杰等译 软件工程 实践者的研究方法 原书第8版 本科教学版 机械工业出版社 JoeyGeorge等著 龚晓庆等译 面向对象分析与设计 原书第2版 清华大学出版社 秦航 软件设计和体系结构 清华大学出版社 张友生 软件体系结构原理 方法与实践 第2版 清华大学出版社 2 3 网上参考资料学生上网查找 收集 3 什么是软件 软件是指计算机程序 运行程序所需的数据 与程序有关的文档资料的总称 软件 强调的产品 工程 产业或学科层面 程序 更侧重技术层面的含义 运行程序所需的数据 计算机程序 文档 4 软件的特点 软件是一种逻辑实体 而不是具体的物理实体 因而它具有抽象性 软件的生产与硬件不同 在它的开发过程中没有明显的制造过程 在软件的运行和使用期间 没有硬件那样的机械磨损 老化问题 5 软件的特点 续 软件的开发和运行常受到计算机系统的限制 对计算机系统有着不同程度的依赖性软件的开发至今尚未完全摆脱手工艺的开发方式软件本身是复杂的实际问题的复杂性程序逻辑结构的复杂性软件成本相当昂贵相当多的软件工作涉及到社会因素 6 软件开发技术的发展过程 7 1950 1960年代 软件 程序 Program 面向过程的软件 算法 Algorithm 数据结构 DataStructure 1970年代 软件 程序 Program 文档 Document 软件 程序 Program 文档 Document 数据 Data 1980年代 面向对象的软件 对象 Object 消息 Message 1990年代 至今 面向构件的软件 构件 Component 框架 Framework 面向服务的软件 服务 Service 消息 Message 总线 Bus 软件危机 8 软件危机 计算机软件的开发和维护过程所遇到的一系列严重问题 软件危机的表现 对软件开发成本和进度的估算很不准确 甚至严重拖期和超出预算 无法满足用户需求 导致用户很不满意 质量很不可靠 经常失效 难以更改 调试和增强 没有适当的文档 软件成本比重上升 软件开发生产率跟不上计算机应用迅速深入的趋势 什么是软件工程 软件工程是一种工程形式 它运用计算机科学和数学原理 针对软件问题获得一种经济有效的解决方案 用系统的 规范的 可度量的方法 开发 运行和维护软件 软件工程最基本的核心 质量和生产率 软件工程是一门非常强调实践的学科 最佳实践 软件工程是采用系统工程学和管理学相结合的原理 方法和技术来指导 管理和实施软件的各种活动 包括软件开发 运行 维护和服务等 9 什么是高质量和生产率 高质量就是最大程度地满足客户需求 帮助客户获得成功 高生产力就是以最小的成本获得最好的收益 即在规定的时间和预算之内完成软件开发 维护和服务等任务 10 如何理解软件工程的基本思想 将软件看成一个系统通过迭代来完善软件系统 逐渐逼近客户的需求软件开发是工程和艺术的统一 创造性和规范性的统一过程决定产品 持续改进过程质量以预防为主 重在文化建设以客户为中心 软件即服务个人和团队并重向传统的成熟工业学习适合自己的 才是最好的 11 软件工程的四个要素 管理 针对不同的领域建立目标 标准和规则过程 定义完成软件各项任务的工作阶段 内容 流程 阶段性成果和验收要求方法 软件开发 运行和维护等所需的技术方法工具 为方法的运用提供自动或半自动的软件支撑环境 12 软件过程基本概念 过程是针对一个给定目标的一系列运作步骤 是在过程环境下的一系列有序活动 活动是过程对象一次状态改变 也叫过程步 任务是完成活动所需要的原子动作 如 实现 或构造 是属于开发过程的一个活动 而详细设计 设计复审 编码 测试计划以及规范开发 代码复审和测试等都被看作是任务 实现 活动 由这些任务构成 13 软件生产的问题 用户对生产出的软件不满意开发人员往往不注重或不善于和客户交流 找出客户真正需要的东西 匆忙地进行开发 在开地过程中又不能从客户那里得到反馈信息 最后生产出的软件和客户想要的相差很远 难免出现纠纷 14 软件生产问题的原因 软件需求不充分没有将问题搞清楚就匆忙上马 在开发过程中又不能和客户有效地沟通 许多问题在交付软件时才集中地爆发出来 这时候已经是大势已去 难以挽回了 在实际的软件开发中 首先应该满足的是客户的需要 开发软件不是为了展示个人的技巧 15 软件发展趋势 遗留软件将继续发挥作用 软件应用范围将继续扩大 成为信息社会的基础设施 网络化软件将是发展重点 软件的可靠性与安全性日趋重要 工业化生产是必由之路 16 软件工程技术的发展 分布式对象技术MicrosoftCOM DCOM COM OMGCORBA CommonObjectRequestBrokerArchitecture SunMicrosystemJavaBean 17 软件工程技术的发展 软件复用技术Pattern analysis design process Framework基于构件的开发 18 基于云计算平台进行软件开发 微软云计算平台服务 阿里巴巴云计算平台服务 19 现代软件开发对人才的要求 扎实的基础创新 独立的工作能力主人翁精神和团队精神沟通与协调能力成就感强 有激情自觉地干好工作锲而不舍 从错误中学习 20 软件开发中的错误观点 只要掌握了1 2门程序设计语言 进行软件开发就没有问题 软件需求分析很困难 不管三七二十一先把软件做了再说 反正软件是灵活的 随时可以修改 软件需求分析很困难 不管三七二十一先把软件做了再说 反正软件是灵活的 随时可以修改 只要有最好的开发工具 最好的计算机 一定能做出优秀的软件 只要有最好的开发工具 最好的计算机 一定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论