软件工程教学课件SW01.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程教学课件SW01

1.1.1 软件的概念 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 1.1.2 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 硬件失效率曲线 软件失效率曲线 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素 1.2 软件的分类 按软件的功能进行划分: 系统软件: 能与计算机硬件紧密结合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软 件。 操作系统 数据库管理系统 设备驱动程序 通信处理程序等 支撑软件:是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,以及帮助管理人员控制开发的进程的工具。 文本编辑程序 文件格式化程序 磁盘向磁带做数据传输的程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的软件 应用软件:是在特定领域内开发,为特定目的服务的一类软件。 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件 按软件规模进行划分: 类别 参加人员数 研制期限 源程序行数 微型 1 1~4周 0.5k 小型 1 1~6月 1k~2k 中型 2~5 1~2年 5k~50k 大型 5~20 2~3年 50k~100k 甚大型 100~1000 4~5年 1M(=1000k) 极大型 2000~5000 5~10年 1M~10M 按软件工作方式划分: 实时处理软件 分时软件 交互式软件 批处理软件 实时处理软件 指在事件或数据产生时,立即予以处理,并及时反馈信号,控制需要监测和控制的过程的软件。 主要包括数据采集、分析、输出三个部分,其处理时间是严格规定的。 分时软件 允许多个联机用户同时使用计算机。 系统把处理机时间轮流分配给各联机用户,使各用户都感到只是自己在使用计算机的软件。 交互式软件 能实现人机通信的软件。 这类软件接受用户给出的信息,但在时间上没有严格的规定。 批处理软件 把一组输入作业或一批数据以成批处理的方式一次运行,按顺序逐个处理的软件。 按软件服务对象的范围划分: 项目软件 产品软件 按使用的频度进行划分: 一次使用 人口普查、工业普查 频繁使用 天气预报 按软件失效的影响进行划分: 高可靠性软件 一般可靠性软件 1.3 软件发展阶段 程序设计阶段 — 50至60年代 追求编程技巧,追求程序效率,难度难懂。 程序系统阶段 — 60至70年代 结构化方法提出并产生软件危机。 软件工程阶段 — 70年代以后 1.3.1软件发展最根本的变化体现在以下几个方面 人们改变了对软件的看法。 软件的需求是软件发展的动力。 软件工作的考虑范围从只顾及程序的编写扩展到涉及整个软件生存周期。 1.3.2软件危机 软件危机的产生 软件危机的表现 软件危机的原因 克服危机的途径 软件危机的产生 软件发展的第二阶段,由于硬件技术的进步,计算机成本显著下降,计算机广泛应用。一些大型的复杂的项目提了出来,但软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。 软件危机的表现 经费预算经常突破,完成时间一拖再拖。 开发软件不能满足用户要求。 开发的软件可维护性差。 开发的软件可靠性差。 克服危机的途径 用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新 1.4 软件工程的定义 Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序 所必需的相关文件资料 IEEE:软件工程是开发、运行、维护和修复软件的系统方法 Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机

文档评论(0)

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

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

1亿VIP精品文档

相关文档