软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著

上传人:飞****9 文档编号:132442743 上传时间:2020-05-16 格式:PPT 页数:45 大小:2.95MB
返回 下载 相关 举报
软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著_第1页
第1页 / 共45页
软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著_第2页
第2页 / 共45页
软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著_第3页
第3页 / 共45页
软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著_第4页
第4页 / 共45页
软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著》由会员分享,可在线阅读,更多相关《软件工程-理论与实践(第2版)第1章课件PPT许家珆等编著(45页珍藏版)》请在金锄头文库上搜索。

1、软件工程 电子科技大学许家珆 高等教育出版社高等教育电子音像出版社 学习 软件工程 的目的和意义 学会如何在现代IT企业的环境中做一个成功者 学会如何做世界级的 高质量的研究 学会如何创建大规模的软件产品 微软全球资深副总裁原微软亚洲研究院院长首席科学家张亚勤 一 全球软件产业的现状 趋势与挑战 软件产业的网络化趋势软件产业的服务化趋势软件产业的全球化趋势 智能网络 IntelligentWeb 从静态网到动态网 从被动方式到主动方式 从呈现信息和浏览的窗口到智能生成的平台 从HTML到XML 一 全球软件产业的现状 趋势与挑战 软件产业的网络化趋势软件产业的服务化趋势软件产业的全球化趋势 相

2、对目前 打包式 软件 为用户提供智能化的 服务式 软件 一 全球软件产业的现状 趋势与挑战 TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry 软件产业的网络化趋势软件产业的服务化趋势软件产业的全球化趋势 强调开放性 交互性 支持主流的开放式标准 人才的全球化 对中国软件企业有什么启示和挑战 TalentBeyondTechnology WhatKindofTalentWeNeedforModernSoftwareDevelopment 扎实的基础创新 独立的工作能力主人翁精神和团队精神沟通与协调能力有激情锲而不舍 从错误中学习 二

3、 现代软件开发对人才的要求 在微软流传着这样一个故事 有一次比尔 盖茨和上帝谈话 上帝对他说 地球明天就要毁灭了 由于你是如此的成功 因此我特许你从地球上带一样东西到天堂 你想带什么 比尔 盖茨回答 请允许我从微软选300个最优秀的人 我要把他们带到天堂 尽管微软的Windows Exchange SQL Office等都非常重要 但如果没有像你们这些人才 微软也将一无所有 你们对我们公司和微软来说是处于第一位的 我国复合型软件人才匮乏 培养适应迅速变化的市场需求的复合型软件人才已是迫在眉睫 三 信息化建设中对复合型软件人才的需求 复合型软件人才 具备不同专业背景 有市场观念的开发管理 工程管

4、理和软件经营等的人才 四 软件开发中的错误观点 2 软件需求分析很困难 不管三七二十一先把软件做了再说 反正软件是灵活的 随时可以修改 1 只要掌握了1 2门程序设计语言 进行软件开发就没有问题 总之 错误地认为 软件就是程序 开发软件就是编写程序 3 只要有最好的开发工具 最好的计算机 一定能做出优秀的软件 本课程学习的主要内容 1 传统的软件工程方法2 面向对象的建模技术 UML 统一建模语言 3 软件项目管理及CMM4 软件复用及构件工程 本课程以传统的软件工程技术为基础 主要讨论如何应用软件工程的最新技术 UML 统一建模语言 进行软件开发 提高软件开发的水平和技术 课程特点与安排 1

5、 课程特点实践性强 发展迅速2 课程安排 建议 课堂教学 48学时 授课 案例分析 讨论 课程设计 课内外结合 课外为主 课程设计以开发小组为单位 在 网上课程设计平台 上进行 3 关于考试 建议 需求及设计阶段答辩式评审 20分笔试 40分 课程设计 40分 教材及主要参考书 作者 许家珆白忠建吴磊出版社 高等教育出版社 1 软件工程 理论与实践 第2版 普通高等教育 十一五 国家级规划教材 本书是在吸取了国内外有关教材的精华 并结合编者多年来进行软件工程的教学及软件开发实践的经验 体会的基础上编写的 本书在继承第1版理论联系实际的特点的基础上 又补充了更加丰富的案例 作者 许家珆曾翎彭德中

6、出版社 高等教育出版社出版日期 2004 6配套光盘1张 2 软件工程 理论与实践 第1版 本书是教育部新世纪网络课程建设工程的子课题 软件工程网络课程 配套教材 其主要特色是理论与实践密切结合 给出了 软件工程课程设计 的相关指导 教材及主要参考书 教材及主要参考书 3 软件工程SoftwareEngineering 6thEdition作者 英 IanSommerville出版社 机械工业出版社 影印版 本书是英国著名软件工程学家IanSommerville系统介绍软件工程理论的力作 以要求极高的一类系统为实例 精辟 透彻地阐述了软件工程的内涵 电子科技大学 软件工程 精品课程网站 教育网

7、 http 202 115 21 138 wlxt ncourse se web soft default aspx公网 http 125 71 228 229 wlxt ncourse se web soft default aspx 参考网站 软件工程网http www sei cmu edu卡内基 梅隆大学软件工程研究所http www cetus links org 对象技术和构件技术链接Rational公司http www omg orgOMG ObjectManagementGroup 第一章 1 软件工程概述 高等教育出版社高等教育电子音像出版社 1 1软件工程的产生和发展 软件

8、工程 SoftwareEngineering 是在克服20世纪60年代末所出现的 软件危机 的过程中逐渐形成与发展的 随着互联网平台和环境的迅速发展 对软件工程的发展产生了变革性的巨大影响 网格计算 普适计算 中间件 网构软件等一批新技术和理念 从网络资源共享与管理 人机交互及软件服务等各方面提出了软件技术的新课题 40年来 软件工程已经历了四个重要发展阶段 4 第四代软件工程 构件工程 3 第三代软件工程 过程工程 2 第二代软件工程 对象工程 1 第一代软件工程 传统的软件工程 40年来 软件工程已经历了四个重要发展阶段 1 第一代软件工程 传统的软件工程2 第二代软件工程 对象工程3 第

9、三代软件工程 过程工程4 第四代软件工程 构件工程 60年代末到70年代为了克服 软件危机 Softwarecrisis 提出 软件工程 的名词 将软件开发纳入工程化的轨道 基本形成软件工程的概念 框架 技术和方法 称为传统的软件工程 40年来 软件工程已经历了四个重要发展阶段 1 第一代软件工程 传统的软件工程2 第二代软件工程 对象工程3 第三代软件工程 过程工程4 第四代软件工程 构件工程 80年代中到90年代 面向对象的方法与技术得到发展 研究的重点转移到面向对象的分析与设计 演化为一种完整的软件开发方法和系统的技术体系 称为对象工程 40年来 软件工程已经历了四个重要发展阶段 1 第

10、一代软件工程 传统的软件工程2 第二代软件工程 对象工程3 第三代软件工程 过程工程4 第四代软件工程 构件工程 20世纪80年代中开始 人们在软件开发的实践过程中认识到 提高软件生产率 保证软件质量的关键是 软件过程 是软件开发和维护中的管理和支持能力 逐步形成软件过程工程 40年来 软件工程已经历了四个重要发展阶段 1 第一代软件工程 传统的软件工程2 第二代软件工程 对象工程3 第三代软件工程 过程工程4 第四代软件工程 构件工程 20世纪90年代起 基于构件 Component 的开发方法取得重要进展 软件系统的开发可通过使用现成的可复用构件组装完成 而无需从头开始构造 以此达到提高效

11、率和质量 降低成本的目的 称为构件工程 软件工程是一门新兴的边缘学科 涉及的学科多 研究的范围广 研究的主要内容有以下几方面 软件开发技术 软件开发方法 技术软件开发工具及环境软件管理技术软件规范 国际规范 软件管理技术 软件工程过程与软件生存周期 为了克服软件危机 人们从其他产业的工业化生产得到启示 于是在1968年北大西洋公约的软件可靠性会议 NATO 上 首次提出了 软件工程 的概念 提出了在软件生产中采用工程化的方法 采用一系列科学的 现代化的方法 技术来开发软件 这种工程化的思想贯穿到软件开发和维护的全过程 是指在软件工具的支持下 所进行的一系列软件开发和进化的活动 通常包括以下4类

12、基本过程 1 软件规格说明 规定软件的功能及其运行环境 2 软件开发 产生满足规格说明的软件 3 软件确认 确认软件能够完成客户提出的要求 4 软件演进 为满足客户的变更要求 软件必须在使用的过程中演进 软件工程过程 SoftwareEngineeringProcess 软件工程过程 SoftwareEngineeringProcess 方法与规范 设备和管理 经过培训的开发人员 可行性研究 编码 概要设计 详细设计 需求分析 运行与维护 测试 开发时期 运行时期 计划阶段 可行性论证报告 需求规格说明书 维护报告 测试报告 程序 详细设计文档 概要设计文档 软件生存周期 SDLD 瀑布模型

13、瀑布模型 1 3软件开发模型 软件开发模型是描述软件开发过程中各种活动如何执行的模型 又称为软件过程模型 软件过程模型是对软件开发实际过程的抽象和简化 目前典型的软件开发模型有 瀑布模型 增量模型 螺旋模型 喷泉模型 变换模型和基于知识的模型等 不同的开发方法有不同的软件过程模型 瀑布模型在软件开发的前期起到重要作用 但逐渐暴露出其缺陷 即将充满回溯的软件开发过程硬性分割为几个阶段 增量模型 IncrementalModel 增量模型是一种非整体开发的模型 是一种进化式的开发过程 根据增量的方式和形式的不同 分为 基于瀑布模型的渐增模型基于原型的快速原型模型该模型具有较大的灵活性 适合于软件需

14、求不明确 设计方案有一定风险的软件项目 增量模型和瀑布模型之间的本质区别是什么 为了对瀑布模型进行改进 描述软件开发过程中可能的回溯 采用循环模型 需求分析 设计 编码 测试 运行 计划 循环模型 循环模型 评价 速成原型的工作模型是一个循环的模型 1 快速分析快速确定软件系统的基本要求 确定原型所要体现的特征 界面 总体结构 功能 性能 2 构造原型考虑主要特征 快速构造一个可运行的系统 有三类原型 用户界面原型 功能原型 性能原型 3 运行和评价原型 4 修改与改进 原型化工作模型 速成原型模型 智能模型 IntelligentModel 也称为基于知识的软件开发模型 是知识工程与软件工程

15、相结合的软件开发模型 1 4软件开发方法 软件开发的目标是要在规定的投资和时间内 开发出符合用户需求 高质量的软件 为此需要有成功的开发方法 软件开发方法可分为 面向过程的开发方法面向对象的开发方法基于构件的开发方法 结构化开发方法 StructuredDevelopingMethod 是现有的软件开发方法中最成熟 应用最广泛的方法 主要特点是快速 自然和方便 结构化方法总的指导思想是自顶向下 逐步求精 它的基本原则是功能的分解与抽象 一 结构化开发方法的组成结构化程序设计方法SP法 StructuredProgram 结构化设计方法SD法 StructuredDesign 结构化分析方法SA

16、法 StructuredAnalysis SA SD SP法相互衔接 形成了一整套开发方法 结构化方法及瀑布模型 什么是原型化方法 PrototypingMethod 原型化方法及其工作模型 原型 是软件的一个早期可运行的版本 它反映了最终系统的部分重要特性 原型化方法的基本思想是花费少量代价建立一个可运行的系统 使用户及早获得学习的机会 原型化方法又称速成原型法 RapidPrototyping 原型化方法及其工作模型 1 废弃 throwaway 型RSP法 RapidSpecificPrototyping 快速建立需求规格原型 2 追加 addon 型RCP法 RapidCyclicPrototyping 快速建立渐进原型法 采用循环渐进的开发方式 对系统模型作连续精化 构造原型 运行 评价原型 原型完成否 要细部说明否 严格说明细部 效果满意否 整理原型提供文档 修正改进原型 Y Y N N 快速分析 确定初步规格说明 Y N 细化的快速原型模型 图2细化的快速原型模型 对大型软件 需要多个原型描述系统的生存周期 螺旋模型将瀑布模型与原型化模型结合起来 并加入了风险分析 螺旋模

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号