件工程实用教程1概述

上传人:新** 文档编号:569850789 上传时间:2024-07-31 格式:PPT 页数:32 大小:3.87MB
返回 下载 相关 举报
件工程实用教程1概述_第1页
第1页 / 共32页
件工程实用教程1概述_第2页
第2页 / 共32页
件工程实用教程1概述_第3页
第3页 / 共32页
件工程实用教程1概述_第4页
第4页 / 共32页
件工程实用教程1概述_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《件工程实用教程1概述》由会员分享,可在线阅读,更多相关《件工程实用教程1概述(32页珍藏版)》请在金锄头文库上搜索。

1、软软 件件 工工 程程第一章第一章 软件工程概述软件工程概述Neusoft Computer Science and Technology Department copy right第一章第一章 软件工程概述软件工程概述了解软件工程历史了解软件工程历史软件的概念与特点软件的概念与特点软件的分类软件的分类软件的发展和软件危机软件的发展和软件危机软件工程的目标和原则软件工程的目标和原则认识软件开发过程模型认识软件开发过程模型软件过程软件过程软件过程模型软件过程模型Neusoft Computer Science and Technology Department copy right了解软件工程历

2、史了解软件工程历史软件定义软件定义软件是计算机系统中与硬件相互依存的另一部分,它软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。是包括程序,数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列。程序是按事先设计的功能和性能要求执行的指令序列。数据是使程序能正常操纵信息的数据结构。数据是使程序能正常操纵信息的数据结构。文档是与程序开发,维护和使用有关的图文材料。文档是与程序开发,维护和使用有关的图文材料。Neusoft Computer Science and Technology Department copy right软件的特点(

3、软件的特点(1 1)软件是一种逻辑实体,它具有抽象性。软件是一种逻辑实体,它具有抽象性。软件成本集中在开发上,对软件的质量控制必须软件成本集中在开发上,对软件的质量控制必须从软件的开发着手。从软件的开发着手。软件在运行和使用过程中没有磨损、老化问题。软件在运行和使用过程中没有磨损、老化问题。软件一旦研制成功,其生产过程就变成复制过程,软件一旦研制成功,其生产过程就变成复制过程,会出现软件产品版权保护问题。会出现软件产品版权保护问题。软件存在升级和移植的问题,所产生的维护成本软件存在升级和移植的问题,所产生的维护成本通常比开发成本要高许多。通常比开发成本要高许多。4 4Neusoft Compu

4、ter Science and Technology Department copy right软件的特点(软件的特点(2 2)大多数软件仍然是定制的。大多数软件仍然是定制的。软件本身是复杂的。软件本身是复杂的。软件涉及因素多。软件涉及因素多。由于软件研制工作需要投入大量、复杂、高强度由于软件研制工作需要投入大量、复杂、高强度的脑力劳动,导致了软件成本昂贵。的脑力劳动,导致了软件成本昂贵。5 5Neusoft Computer Science and Technology Department copy right软件的分类软件的分类按软件的功能进行划分按软件的功能进行划分系统软件系统软件支撑

5、软件支撑软件应用软件应用软件6 6Neusoft Computer Science and Technology Department copy right按软件规模进行划分按软件规模进行划分7 7分类分类参加人员参加人员开发期限开发期限 程序规模程序规模/源程序行数源程序行数特征特征微型微型114周周500以下以下不必有严格的设计和测试文档不必有严格的设计和测试文档小型小型1216月月1k2k通常没有与其他程序的接口通常没有与其他程序的接口中型中型3512年年5k50k需要有严格的文档和设计规范需要有严格的文档和设计规范大型大型52023年年50k100k需要按照软件工程方法进行管理需要按照

6、软件工程方法进行管理超大型超大型 100100045年年1M(=1000k)必必须须按按照照软软件件工工程程开开发发,有有严严格格的的质质量管理措施量管理措施巨型巨型20005000510年年1M10M同上同上表表1-1 软件规模的分类软件规模的分类Neusoft Computer Science and Technology Department copy right按软件工作方式划分按软件工作方式划分实时处理软件实时处理软件分时软件分时软件交互式软件交互式软件批处理软件批处理软件按软件服务对象的范围划分按软件服务对象的范围划分项项目软目软件件产产品软品软件件按使用的频度进行划分按使用的频度

7、进行划分按软件失效的影响进行划分按软件失效的影响进行划分8 8Neusoft Computer Science and Technology Department copy right软件的发展软件的发展程序设计阶段程序设计阶段 50 50至至6060年代年代程序系统阶段程序系统阶段 60 60至至7070年代年代软件工程阶段软件工程阶段 70 70年代以后年代以后软件发展阶段最根本的变化软件发展阶段最根本的变化人们改变了对软件的看法人们改变了对软件的看法软件的需求是软件发展的动力软件的需求是软件发展的动力软件工作的范围从考虑程序的编写扩展到设计整软件工作的范围从考虑程序的编写扩展到设计整个软

8、件生存期个软件生存期目前:社会信息化、软件产业化的阶段过渡目前:社会信息化、软件产业化的阶段过渡Neusoft Computer Science and Technology Department copy right软件危机软件危机软件危机是指在计算机软件的开发和维护过程中软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即包含两方面的问题:所遇到的一系列严重问题。即包含两方面的问题:如何开发软件、如何维护软件。如何开发软件、如何维护软件。具体表现具体表现软件开发成本估计不准,开发成本超出预算软件开发成本估计不准,开发成本超出预算开发进度不能保证,交付时间一再拖延开发进度不能

9、保证,交付时间一再拖延开发出来的产品不符合用户的需求开发出来的产品不符合用户的需求软件产品质量无法保证软件产品质量无法保证软件的可维护程度低软件的可维护程度低软件开发生产率的发展跟不上硬件的发展速度和软件开发生产率的发展跟不上硬件的发展速度和人们需求的增长人们需求的增长Neusoft Computer Science and Technology Department copy right产生原因产生原因根本原因根本原因软件开发过程不成熟软件开发过程不成熟忽视软件开发前期的调研和分析工作忽视软件开发前期的调研和分析工作没有统一的、规范的方法论指导没有统一的、规范的方法论指导文档资料不齐全,忽视

10、人与人的交流文档资料不齐全,忽视人与人的交流忽视测试阶段的工作忽视测试阶段的工作忽视软件的维护忽视软件的维护消除软件危机的途径消除软件危机的途径Neusoft Computer Science and Technology Department copy right软件工程的定义软件工程的定义软件工程是用工程、科学和数学的原则与方法研软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法制、维护计算机软件的有关技术和管理方法。软件工程三要素:软件工程三要素: 过程、方法和工具过程、方法和工具软件开发过程为建造高质量的软件所需完成的任软件开发过程为建造高质量的软件所需完

11、成的任务框架务框架软件工程方法为软件开发提供了软件工程方法为软件开发提供了“如何做如何做”的技的技术术软件工具为软件工程方法提供了自动的或半自动软件工具为软件工程方法提供了自动的或半自动的软件支撑环境的软件支撑环境Neusoft Computer Science and Technology Department copy right软件工程项目的基本目标软件工程项目的基本目标组织实施软件工程项目,从技术上和管理上采取组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功了多项措施以后,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标所谓成功指的是达到以下

12、几个主要的目标付出较低的开发成本;付出较低的开发成本;达到要求的软件功能;达到要求的软件功能;取得较好的软件性能;取得较好的软件性能;开发的软件易于移植;开发的软件易于移植;需要较低的维护费用。需要较低的维护费用。Neusoft Computer Science and Technology Department copy right软件工程的基本原理软件工程的基本原理用分阶段生命周期计划严格管理用分阶段生命周期计划严格管理坚持进行阶段评审坚持进行阶段评审实行严格的产品控制实行严格的产品控制采用现代程序设计技术采用现代程序设计技术结果应能清楚地审查结果应能清楚地审查开发小组的人员应该少而精开发

13、小组的人员应该少而精承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性Neusoft Computer Science and Technology Department copy right认识软件开发过程模型认识软件开发过程模型软件过程软件过程通通过定义若干框架活动来建立公共过程框架,每过定义若干框架活动来建立公共过程框架,每一个任务集合都由软件工程工作任务、项目里程一个任务集合都由软件工程工作任务、项目里程碑、软件工程产品(交付物)和质量保证点组成,碑、软件工程产品(交付物)和质量保证点组成,通过多个任务集合来保证框架活动可被修改,以通过多个任务集合来保证框架活动可被修改,

14、以适应不同软件项目特征和项目组的需要。适应不同软件项目特征和项目组的需要。Neusoft Computer Science and Technology Department copy right软软件件过程过程模型模型软件开发(过程)模型是跨越整个生存期的系统软件开发(过程)模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任开发、运作和维护所实施的全部过程、活动和任Neusoft Computer Science and Technology Department copy right软件开发过程定义了软件开发过程定义了方法使用的顺序方法使用的顺序要求交付的文档资料要求交付

15、的文档资料为保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑常用的模型介绍常用的模型介绍 瀑布模型瀑布模型 原型(演化)模型原型(演化)模型 螺旋模型螺旋模型 喷泉模型喷泉模型 构件组装模型构件组装模型 统一过程模型统一过程模型RUPRUPNeusoft Computer Science and Technology Department copy right瀑布模型瀑布模型瀑布模型(生存周期模型)就是传统的生命瀑布模型(生存周期模型)就是传统的生命周期方法学(既自顶向下结构化开发模型方周期方法学(既自顶向下结构化开发模型方

16、法)。法)。优点:奠定了软件工程方法的基础;流水依优点:奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟现实;文档易修改;赖;便于分工协作;推迟现实;文档易修改;有复审质量保证。有复审质量保证。缺点:用户需求明确困难;用户见面晚;纠缺点:用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。知识,用户不懂计算机的困难,成功率低。适合于系统要求明确的小系统。适合于系统要求明确的小系统。Neusoft Computer Science and Technology Department copy ri

17、ght软件生存期的瀑布模型软件生存期的瀑布模型 Neusoft Computer Science and Technology Department copy right问题定义可行性研究需求分析概要设计详细设计编码测试运行维护评价返回计划维护阶段开发阶段定义阶段定义做什么的问题结构设计如何做的体系结构修改设计需求说明书设计说明书源程序清单测试报告维护报告Neusoft Computer Science and Technology Department copy right原型模型(原型模型(RAPID PROTOTYPE MODEL)原型模型(原型模型(rapid prototype mo

18、delrapid prototype model) 是为了确定需求而提出的实际模型。打破传是为了确定需求而提出的实际模型。打破传统的自顶向下结构化开发模型方法,在计划统的自顶向下结构化开发模型方法,在计划和需求分析后,把系统主要功能接口做为设和需求分析后,把系统主要功能接口做为设计依据,快速开发出软件样机,及时征求用计依据,快速开发出软件样机,及时征求用户意见,正确确定系统需求,然后再进一步户意见,正确确定系统需求,然后再进一步准确地进行系统设计与实现。准确地进行系统设计与实现。优点:与用户见面快;开发成功率高,适合优点:与用户见面快;开发成功率高,适合于需求不确定的大系统。于需求不确定的大系

19、统。缺点:周期长,开发成本高。缺点:周期长,开发成本高。Neusoft Computer Science and Technology Department copy right 原型模型原型模型 Neusoft Computer Science and Technology Department copy right螺旋模型螺旋模型螺旋模型沿着螺线旋转(一个螺旋式周期螺旋模型沿着螺线旋转(一个螺旋式周期 ),),在四个象限上分别表达四个方面的活动,即:在四个象限上分别表达四个方面的活动,即:制定计划制定计划确定软件目标,选定实施方案,弄确定软件目标,选定实施方案,弄清项目开发的限制,选定完成

20、目标的策略清项目开发的限制,选定完成目标的策略风险分析风险分析分析所选方案,考虑如何识别和消分析所选方案,考虑如何识别和消除风险,风险角度分析该策略除风险,风险角度分析该策略实施工程实施工程实施软件开发,启动一个开发阶段实施软件开发,启动一个开发阶段 客户评估客户评估评价前一步开发工作,提出修正建评价前一步开发工作,提出修正建议,计划下一轮的工作议,计划下一轮的工作 特点特点瀑布模型瀑布模型+ +快速原型快速原型+ +风险分析风险分析迭代过程迭代过程Neusoft Computer Science and Technology Department copy rightNeusoft Comp

21、uter Science and Technology Department copy right喷泉模型喷泉模型喷泉模型对软件复用和生存期中多项开发喷泉模型对软件复用和生存期中多项开发活动的集成提供了支持,主要支持面向对象活动的集成提供了支持,主要支持面向对象的开发方法。的开发方法。 喷泉喷泉 一词本身体现了迭代和一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界

22、。设计和编码之间不存在明显的边界。 Neusoft Computer Science and Technology Department copy right喷泉模型示意图Neusoft Computer Science and Technology Department copy right并发模型并发模型并发过程模型定义了一系列事件,对于每一并发过程模型定义了一系列事件,对于每一个软件活动,这些事件触发了从一个状态到个软件活动,这些事件触发了从一个状态到另一个状态的变迁。另一个状态的变迁。27 27Neusoft Computer Science and Technology Depart

23、ment copy right28 28Neusoft Computer Science and Technology Department copy right基于构件的开发模型基于构件的开发模型特点:形式化软件开发方法(形式化需求规特点:形式化软件开发方法(形式化需求规格说明、变换技术)、程序自动生成技术格说明、变换技术)、程序自动生成技术 、确保正确确保正确Neusoft Computer Science and Technology Department copy rightNeusoft Computer Science and Technology Department copy right喷泉模型喷泉模型喷泉模型是一种以用户需求为动力,以对象为喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开驱动的模型,主要用于描述面向对象的软件开发过程。发过程。Neusoft Computer Science and Technology Department copy right总结总结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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