- 1、本文档共981页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章软件工程概述
Evolution of software 早期 第二阶段 第三阶段 第四阶段 ?面向批处理 ?多用户 ?分布式系统 ?强大的桌面系统 ?有限的分布 ?实时 ?嵌入“智能” ?面向对象技术 ?自定义软件 ?数据库 ?低成本硬件 ?专家系统 ?软件产品 ?消费者的影响 ?人工神经网络 ?并行计算 ?网络计算机 软件技术面临的问题 复杂性 生产率 例:Windows95有1000万行代码 Windows2000有5000万行代码 Exchange2000和 Windows2000开发人员结构 软件危机的主要特征 软件开发周期大大超过规定 日期; 软件开发成本严重超标; 软件质量难于保证。 改正一个问题需付出的代价 yet, Success Hasn?t Come Easily 成功的标准: 用户在用 用户可很容易做完要做的事 失败的根本原因: 开发人员写出的东西达不到 用户要求(人的问题.技术问题) 处在十字路口的中国软件产业 主权大国必须建立基于自主技术的、 完整的软件产业体系。 软件本国提供率:中国1/3左右,美国97% “印度模式”还是“中国模式” 软件人才结构不合理,缺乏中高级软 件人才 软件人员缺乏软件工程化的概念。 软件工程的定义 Fritz Bauer在NATO会议上给出的定义: “软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。” 软件工程的定义 IEEE【IEE83】给出的软件工程定义: “软件工程是开发、运行、维护和修复软件的系统方法。” 软件工程的定义 IEEE【IEE93】给出了一个更加综合的定义: “将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。” 软件工程的定义 软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。 软件工程是一门交叉学科 软件工程的主要研究内容 软件开发技术:软件开发方法学 软件开发过程 软件工具和软件工程环境 软件工程管理:软件管理学 软件经济学 软件心理学 软件工程所包含的内容不是一成不变的, 随着人们对软件系统的研制开发和生产的理解。 应用发展的眼光看待它。 软件工程 — 一种层次化技术 软件工程框架 软件工程知识结构 2001年5月ISO/IEC JTC 1(ISO和IEC的第一联合技术委员会)发布了《 SWEBOK指南V0.95(试用版)》 (Guide to the Software Engineering Body of Knowledge,简称SWEBOK) SWEBOK把软件工程学科的主体知识分为10个知识领域。 软件工程知识结构 软件需求 软件设计 软件构造 软件测试 软件维护 软件配置管理 软件工程管理 软件工程过程 软件工程工具和方法 软件质量 “软件工程”课程 与其它软件专业课的区别 (1) 立足于系统的整体。 (2) 讲授系统分析、系统设计、 测试及维护的理论和方法。 (3) 构筑一个软件系统,实践 软件开发全过程。 “软件工程”课程教学与实践的目标 转变对软件的认识: 上升 程序 系统 转变思维定式: 上升 程序员 系统工程师 (系统分析员) 工程化训练 系统分析员的地位 “一个好的工业,应有一套良好的标准来配套” 软件的工业化生产过程应具备的特点: 明确的工作步骤 详细具体的规范化文档 明确的质量评价标准 软件工程技术的两个明显特点:
文档评论(0)