- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程模型与方法 01、软件工程概述
软件工程模型与方法 Models Methods of SE 第一章 软件工程概述 肖丁 本章内容 1.1 计算机软件 1.2 软件的发展和软件危机 1.3 软件工程 1.4 通信软件工程 1.5 软件工程知识体系 1.1 计算机软件 本节内容 1.1.1 软件的定义 1.1.2 软件的特点 1.1.3 软件的分类 引言 Hello World 纸牌、挖地雷 文本编辑器 Notepad/vi… Winword/WPS… 图书馆信息管理系统/办公自动化系统… 财务软件 金蝶/用友… 电信运营支撑系统 计费系统、帐务系统… 呼叫处理/7号信令/网络管理系统… 操作系统 Dos/Windows/Unix/Linux… 数据库管理系统 1.1.1 软件的定义 IEEE定义:软件是计算机程序、规程以及运行计算机系统所需要的文档和数据。 Wirth中指出: 在结构化程序设计:程序=算法+数据结构 在软件工程中:软件=程序+文档。 另一种对软件的公认解释是:软件是包括程序、数据及其相关文档的完整集合。 程序是按照事先设计的功能和性能要求执行的指令序列; 数据是使程序能正常操纵信息的数据结构; 文档是与程序开发、维护和使用有关的图文材料。 1.1.2 软件的特点 软件是一种逻辑实体,具有抽象性。 软件开发过程中没有明显的制造过程 。 不存在机械磨损和老化问题,但存在软件退化问题 。 软件的开发和运行受到计算机系统的约束和限制。 软件的开发至今未完全摆脱手工艺的开发方式。 软件是复杂的。 实际需求的复杂性 程序逻辑的复杂性 软件研制成本高,软件成本所占比例逐年增加。 软件投入运行时还涉及到许多社会因素。 1.1.3 软件的分类 根据软件服务对象的范围不同: 通用软件:操作系统、数据库等; 定制软件:企业ERP、卫星控制系统等; 根据软件完成功能所处的层次不同: 系统软件 中间件软件 应用软件 1.1.3 软件的分类 系统软件:指能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。 操作系统 数据库管理系统 设备驱动程序 通信处理程序等。 1.1.3 软件的分类 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,将注意力集中在自己的业务上,不必再为程序的移植而重复工作,从而大大减少了技术上的负担。 1.1.3 软件的分类 应用软件:在特定领域内开发,为特定目的服务的一类软件。 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件 计算机网络软件 1.1.3 软件的分类 按照软件的规模: 1.1.3 软件的分类 按软件工作方式不同: 实时处理软件:电话交换系统/股票行情交易系统/网络游戏 分时软件:操作系统 交互式软件:MIS系统/网络聊天 按照支撑应用开发的工具类型可以将其划分为 : 支持软件开发过程的工具:Visual Studio/Eclipse… 支持软件维护过程的工具:Clear quest/Clear Case 支持软件管理过程和支持过程的工具:Project/ROSE 1.2 软件的发展和软件危机 本节内容 1.2.1 软件发展阶段 1.2.2 软件危机 1.2.3 软件危机的解决途径 1.2.1 软件发展阶段 程序设计阶段:20世纪50至60年代 程序系统阶段:20世纪60至70年代 软件工程阶段:20世纪70至90年代 现代软件工程阶段: 20世纪90年代至今 1.2.1 软件发展阶段 1.2.2 软件危机 20世纪60年代后,随着计算机软件应用领域增多,软件规模不断扩大,软件系统功能多,逻辑复杂,不断扩充,从而导致许多系统开发出现了不良的后果: 系统存在大量错误,可用性和可靠性差; 系统无法增加新功能,难于维护; 系统无法按照计划时间完成; 最严重的彻底失败。 1.2.2 软件危机 所谓软件危机(Software Crisis)就是计算机软件在开发和维护过程中所遇到的一系列严重问题,具体表现在: 软件开发成本难以估算,无法制定合理的开发计划; 用户的需求无法确切表达; 软件质量存在问题; 软件的可维护性差; 缺乏文档资料; 软件成本难以控制; 1.2.3 软件危机的解决途径 产生软件危机的原因: 软件系统本身的复杂性; 软件开发的方法和技术不合理; 程序设计方法学 讨论程序的性质、程序设计的理论和方法 软件工程方法 1968年提出运用工程化原则和方法组织软件开发工作,去解决软件危机 1.3 软件工程 本节内容 1.3.1 软件工程定义 1.3.2 软件工程要素 1.3.3 软件工程的目标和原则 1.3.4 软件工程基本原理 1.3.1 软
文档评论(0)