高级软件工程(第1章)软件工程现状与发展课件(2018).ppt

高级软件工程(第1章)软件工程现状与发展课件(2018).ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * 第一章 软件工程现状及发展 高级软件工程 * * 参考资料 《系统分析与设计导论》,(美)Jeffrey L. Whitten等著 ,机械工业出版社。 (美)Roger S.Pressman著,郑人杰等译,软件工程:实践者的研究方法(原书第8版·本科教学版),机械工业出版社。 Joey George 等著,龚晓庆 等译,面向对象分析与设计(原书第2版),清华大学出版社。 秦航,软件设计和体系结构,清华大学出版社。 张友生,软件体系结构原理、方法与实践(第2版),清华大学出版社。 * * 网上参考资料 学生上网查找、收集 * 什么是软件? 软件是指计算机程序、运行程序所需的数据、与程序有关的文档资料的总称。 “软件” 强调的产品、工程、产业或学科层面 “程序”更侧重技术层面的含义 运行程序所需的数据 计算机程序 文档 * 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性; 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程; 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 * 软件的特点(续) 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素 * 软件开发技术的发展过程 * 1950-1960年代: 软件=程序(Program) 面向过程的软件=算法(Algorithm)+数据结构(Data Structure) 1970年代: 软件=程序(Program)+文档(Document) 软件=程序(Program)+文档(Document)+数据(Data) 1980年代: 面向对象的软件=对象(Object)+消息(Message) 1990年代——至今: 面向构件的软件=构件(Component)+框架(Framework) 面向服务的软件=服务(Service)+消息(Message)+总线(Bus) 软件危机 * 软件危机:计算机软件的开发和维护过程所遇到的一系列严重问题; 软件危机的表现: 对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算; 无法满足用户需求,导致用户很不满意; 质量很不可靠,经常失效; 难以更改、调试和增强; 没有适当的文档; 软件成本比重上升; 软件开发生产率跟不上计算机应用迅速深入的趋势。 什么是软件工程? 软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案。 用系统的、规范的、可度量的方法,开发、运行和维护软件。 软件工程最基本的核心——质量和生产率。 软件工程是一门非常强调实践的学科(最佳实践)。 软件工程是采用系统工程学和管理学相结合的原理、方法和技术来指导、管理和实施软件的各种活动,包括软件开发、运行、维护和服务等。 * 什么是高质量和生产率? 高质量就是最大程度地满足客户需求、帮助客户获得成功; 高生产力就是以最小的成本获得最好的收益,即在规定的时间和预算之内完成软件开发、维护和服务等任务 。 * 如何理解软件工程的基本思想? 将软件看成一个系统 通过迭代来完善软件系统,逐渐逼近客户的需求 软件开发是工程和艺术的统一、创造性和规范性的统一 过程决定产品,持续改进过程 质量以预防为主、重在文化建设 以客户为中心、软件即服务 个人和团队并重 向传统的成熟工业学习 适合自己的,才是最好的 * 软件工程的四个要素 管理:针对不同的领域建立目标、标准和规则 过程:定义完成软件各项任务的工作阶段、内容、流程、阶段性成果和验收要求 方法:软件开发、运行和维护等所需的技术方法 工具:为方法的运用提供自动或半自动的软件支撑环境 * 软件过程基本概念 过程是针对一个给定目标的一系列运作步骤,是在过程环境下的一系列有序活动; 活动是过程对象一次状态改变,也叫过程步; 任务是完成活动所需要的原子动作。 如,实现(或构造)是属于开发过程的一个活动,而详细设计、设计复审、编码、测试计划以及规范开发、代码复审和测试等都被看作是任务,实现(活动)由这些任务构成 * 软件生产的问题 用户对生产出的软件不满意 开发人员往往不注重或不善于和客户交流,找出客户真正需要的东西,匆忙地进行开发,在开地过程中又不能从客户那里得到反馈信息,最后生产出的软件和客户想要的相差很远,难免出现纠纷。 * 软件生产问题的原因 软件需求不充分 没有将问题搞清楚就匆忙上马,在开发过程中又不能和客户有效地沟通,许多问题在交付软件时才集中地爆发出来,这时候已经是大势已去,难以挽回了(在实际

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档