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

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

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

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

2、势 软件产业的全球化趋势,相对目前“打包式”软件,为用户提供智能化的“服务式”软件。,一、全球软件产业的现状、趋势与挑战,The Challenges and Opportunities of the Global Software Industry.,软件产业的网络化趋势 软件产业的服务化趋势 软件产业的全球化趋势,强调开放性、交互性 支持主流的开放式标准 人才的全球化,对中国软件企业有什么启示和挑战?,Talent Beyond Technology _What Kind of Talent We Need for Modern Software Development,扎实的基础 创新、

3、独立的工作能力 主人翁精神和团队精神 沟通与协调能力 有激情 锲而不舍,从错误中学习,二、现代软件开发对人才的要求,在微软流传着这样一个故事,有一次比尔盖茨和上帝谈话,上帝对他说:“地球明天就要毁灭了!由于你是如此的成功,因此我特许你从地球上带一样东西到天堂!你想带什么?” 比尔.盖茨回答:“请允许我从微软选300个最优秀的人,我要把他们带到天堂!”,尽管微软的Windows、Exchange、SQL、Office等都非常重要,但如果没有像你们这些人才,微软也将一无所有。你们对我们公司和微软来说是处于第一位的。,我国复合型软件人才匮乏,培养适应迅速变化的市场需求的复合型软件人才已是迫在眉睫。,

4、三、信息化建设中对复合型软件人才的需求,复合型软件人才具备不同专业背景、有市场观念的开发管理、工程管理和软件经营等的人才。,四、软件开发中的错误观点,2.软件需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时可以修改。,1.只要掌握了12门程序设计语言,进行软件开发就没有问题。,总之,错误地认为:软件就是程序,开发软件就是编写程序。,3. 只要有最好的开发工具、最好的计算机,一定能做出优秀的软件。,本课程学习的主要内容,1. 传统的软件工程方法 2. 面向对象的建模技术UML(统一建模语言) 3. 软件项目管理及CMM 4. 软件复用及构件工程,本课程以传统的软件工程技术为

5、基础,主要讨论如何应用软件工程的最新技术 UML(统一建模语言)进行软件开发,提高软件开发的水平和技术。,课程特点与安排,1. 课程特点 实践性强、发展迅速 2. 课程安排(建议) 课堂教学(48学时)授课、案例分析、讨论。 课程设计课内外结合,课外为主,课程设计以开发小组为单位,在“网上课程设计平台”上进行。 3. 关于考试(建议) 需求及设计阶段答辩式评审:20分 笔试:40分,课程设计:40分,教材及主要参考书,作者:许家珆 白忠建 吴磊 出版社:高等教育出版社,1.软件工程理论与实践(第2版) 普通高等教育“十一五”国家级规划教材,本书是在吸取了国内外有关教材的精华,并结合编者多年来进

6、行软件工程的教学及软件开发实践的经验、体会的基础上编写的。,本书在继承第1版理论联系实际的特点的基础上,又补充了更加丰富的案例。,作者:许家珆 曾翎 彭德中 出版社:高等教育出版社 出版日期:2004-6 配套光盘1张,2.软件工程理论与实践(第1版),本书是教育部新世纪网络课程建设工程的子课题“软件工程网络课程”配套教材。其主要特色是理论与实践密切结合,给出了“软件工程课程设计”的相关指导。,教材及主要参考书,教材及主要参考书,3.软件工程 Software Engineering, 6th Edition 作者:(英)Ian Sommerville 出版社:机械工业出版社(影印版),本书是

7、英国著名软件工程学家 Ian Sommerville 系统介绍软件工程理论的力作,以要求极高的一类系统为实例,精辟、透彻地阐述了软件工程的内涵。,电子科技大学软件工程 精品课程网站,教育网: 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/ 对象技术

8、和构件技术链接 http:/ Rational公司 http:/www.omg.org OMG(Object Management Group),第一章,1,软件工程概述,高等教育出版社 高等教育电子音像出版社,1.1 软件工程的产生和发展,软件工程(Software Engineering)是在克服20世纪60年代末所出现的“软件危机”的过程中逐渐形成与发展的。 随着互联网平台和环境的迅速发展,对软件工程的发展产生了变革性的巨大影响,网格计算、普适计算、中间件、网构软件等一批新技术和理念,从网络资源共享与管理,人机交互及软件服务等各方面提出了软件技术的新课题。,40年来,软件工程已经历了四个

9、重要发展阶段:,4.第四代软件工程 构件工程,3.第三代软件工程 过程工程,2.第二代软件工程 对象工程,1.第一代软件工程 传统的软件工程,40年来,软件工程已经历了四个重要发展阶段: 1.第一代软件工程 传统的软件工程 2.第二代软件工程 对象工程 3.第三代软件工程 过程工程 4.第四代软件工程 构件工程,60年代末到70年代为了克服“软件危机” (Software crisis)提出“软件工程”的名词, 将软件开发纳入工程化的轨道,基本形成软件工程的概念、框架、技术和方法,称为传统的软件工程。,40年来,软件工程已经历了四个重要发展阶段: 1.第一代软件工程 传统的软件工程 2.第二代

10、软件工程 对象工程 3.第三代软件工程 过程工程 4.第四代软件工程 构件工程,80年代中到90年代,面向对象的方法与技术得到发展,研究的重点转移到面向对象的分析与设计,演化为一种完整的软件开发方法和系统的技术体系,称为对象工程。,40年来,软件工程已经历了四个重要发展阶段: 1.第一代软件工程 传统的软件工程 2.第二代软件工程 对象工程 3.第三代软件工程 过程工程 4.第四代软件工程 构件工程,20世纪80年代中开始,人们在软件开发的实践过程中认识到:提高软件生产率,保证软件质量的关键是“软件过程”,是软件开发和维护中的管理和支持能力,逐步形成软件过程工程。,40年来,软件工程已经历了四

11、个重要发展阶段: 1.第一代软件工程 传统的软件工程 2.第二代软件工程 对象工程 3.第三代软件工程 过程工程 4.第四代软件工程 构件工程,20世纪90年代起,基于构件(Component)的开发方法取得重要进展,软件系统的开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的。称为构件工程。,软件工程是一门新兴的边缘学科,涉及的学科多,研究的范围广,研究的主要内容有以下几方面:, 软件开发技术,软件开发方法、技术 软件开发工具及环境 软件管理技术 软件规范(国际规范), 软件管理技术,. 软件工程过程与软件生存周期,为了克服软件危机,人们从其他

12、产业的工业化生产得到启示,于是在1968年北大西洋公约的软件可靠性会议(NATO)上,首次提出了“软件工程”的概念。提出了在软件生产中采用工程化的方法,采用一系列科学的、现代化的方法、技术来开发软件。这种工程化的思想贯穿到软件开发和维护的全过程。,是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。,通常包括以下4类基本过程: 1.软件规格说明:规定软件的功能及其运行环境。 2.软件开发:产生满足规格说明的软件。 3.软件确认:确认软件能够完成客户提出的要求。 4.软件演进:为满足客户的变更要求,软件必须在使用的过程中演进。,软件工程过程 (Software Engineering P

13、rocess),软件工程过程 (Software Engineering Process),方法与规范,设备和管理,经过培训的开发人员,可行性研究,编 码,概要设计,详细设计,需求分析,运行与维护,测 试,开发 时期,运行 时期,计划 阶段,(可行性论证报告),(需求规格说明书),(维护报告),(测试报告),(程序),(详细设计文档),(概要设计文档),软件生存周期(SDLD)瀑布模型,瀑布模型,1.3 软件开发模型,软件开发模型是描述软件开发过程中各种活动如何执行的模型,又称为软件过程模型。 软件过程模型是对软件开发实际过程的抽象和简化。,目前典型的软件开发模型有: 瀑布模型、增量模型、螺旋

14、模型、喷泉模型、变换模型和基于知识的模型等。 不同的开发方法有不同的软件过程模型。,瀑布模型在软件开发的前期起到重要作用,但逐渐暴露出其缺陷,即将充满回溯的软件开发过程硬性分割为几个阶段。,增量模型(Incremental Model),增量模型是一种非整体开发的模型,是一种进化式的开发过程。 根据增量的方式和形式的不同,分为: 基于瀑布模型的渐增模型 基于原型的快速原型模型 该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。,增量模型和瀑布模型之间的本质区别是什么?,为了对瀑布模型进行改进,描述软件开发过程中可能的回溯,采用循环模型。,需求分析,设计,编码,测试,运

15、行,计划,循环模型,循环模型,评价,速成原型的工作模型是一个循环的模型。 1.快速分析 快速确定软件系统的基本要求,确定原型所要体现的特征(界面、总体结构、功能、性能)。 2.构造原型 考虑主要特征,快速构造一个可运行的系统。有三类原型:用户界面原型、功能原型、性能原型。 3.运行和评价原型 4.修改与改进,原型化工作模型,速成原型模型,智能模型(Intelligent Model),也称为基于知识的软件开发模型,是知识工程与软件工程相结合的软件开发模型。,1.4 软件开发方法,软件开发的目标是要在规定的投资和时间内,开发出符合用户需求、高质量的软件,为此需要有成功的开发方法。,软件开发方法可分为: 面向过程的开发方法 面向对象的开发方法 基于构件的开发方法,结构化开发方法(Structured Developing Method) 是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。 结构化方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解与抽象。 一、结构化开发方法的组成 结构化程序设计方法 SP法(Structured Program) 结构化设计方法 SD法(Structured Design) 结构化分析方法 SA法(Structured Analysi

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

当前位置:首页 > 幼儿/小学教育 > 小学教育

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