软件工程-1-概述XXXX课件_第1页
软件工程-1-概述XXXX课件_第2页
软件工程-1-概述XXXX课件_第3页
软件工程-1-概述XXXX课件_第4页
软件工程-1-概述XXXX课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程第一章软件工程概述软件工程第一章软件工程概述本章内容软件工程的历史软件工程的概念软件生存周期软件开发过程模型本章内容软件工程的历史场景互动请谈谈你在进行软件开发过程中都遇到过什么样的问题?场景互动请谈谈你在进行软件开发过程中都遇到过什么样的问题?软件的开发经常伴随着一些问题软件开发成本估计不准,开发成本超出预算开发进度不能保证,交付时间一再拖延开发出来的产品不符合用户的需求软件产品质量无法保证软件的可维护程度低软件开发生产率的发展跟不上硬件的发展速度和人们需求的增长这就是软件危机!软件的开发经常伴随着一些问题这就是软件危机!软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即包含两方面的问题:如何开发软件、如何维护软件。是什么原因导致的这个结果?软件危机是什么原因导致的这个结果?软件危机产生原因【软件开发成本估计不准,开发成本超出预算】【开发进度不能保证,交付时间一再拖延】【开发出来的产品不符合用户的需求】忽视软件开发前期的调研和分析工作【软件产品质量无法保证】没有统一的、规范的方法论指导忽视测试阶段的工作【软件的可维护程度低】文档资料不齐全,忽视人与人的交流忽视测试阶段的工作忽视软件的维护【软件开发生产率的发展跟不上硬件发展速度和人们需求的增长】没有统一的、规范的方法论指导软件危机产生原因一、软件工程历史“软件工程”的诞生1968年北大西洋公约组织的计算机科学家在联邦德国召开国际科学会议,讨论软件危机问题,在这次会议上正式启用“软件工程”这个名词。一、软件工程历史“软件工程”的诞生消除软件危机的途径软件工程以软件产品化、系列化、工程化、标准化为特征。采用工程化方法和工程途径来研制与维护软件。摆脱软件危机的途径就是软件工程生成的过程消除软件危机,既要有技术措施又要有必要的组织管理措施消除软件危机的途径软件工程出现在软件发展的阶段程序设计阶段—20世纪50至60年代程序系统阶段—20世纪60至70年代软件工程阶段

—20世纪70年代以后软件发展阶段中最根本的变化人们改变了对软件的看法软件的需求是软件发展的动力软件工作的范围从考虑程序的编写扩展到设计整个软件生存期软件工程出现在软件发展的阶段二、软件工程概念及原理软件工程的定义软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法。软件工程三要素过程为建造高质量的软件所需完成的任务框架方法为软件开发提供了“如何做”的技术工具为软件工程方法提供了自动的或半自动的软件支撑环境

二、软件工程概念及原理软件工程的定义质量保证工具方法过程以质量保证为根本动力的软件工程三要素质量保证工具方法过程以质量保证为根本动力的软件工程三要素组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功。软件工程项目的基本目标能按时完成开发任务,及时交付使用;付出较低的开发成本;需要较低的维护费用;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;开发的软件可靠性高。组织实施软件工程项目,从技术上和管理上采取了多项措施三、软件生命周期软件生命周期的概念软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生命周期生命周期阶段的划分原则各阶段的任务相对独立同一阶段任务的性质相同三、软件生命周期软件生命周期的概念软件的生存期划分的几个阶段软件定义:问题定义可行性研究(软件计划)需求分析软件开发:系统设计软件实现软件测试软件使用、维护和退役软件的生存期划分的几个阶段软件生命周期中各阶段负责的任务软件生命周期中各阶段负责的任务软件的生命周期软件的生命周期五、软件开发过程模型软件开发过程模型软件开发(过程)模型或软件工程规范,是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架.常用的开发过程模型瀑布模型原型(演化)模型螺旋模型统一过程模型RUP五、软件开发过程模型软件开发过程模型1.瀑布模型瀑布模型(生存周期模型)就是传统的生命周期方法学(既自顶向下结构化开发模型方法)。优点奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟实现;文档易修改;有复审质量保证。缺点用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。适合于系统要求明确的小系统1.瀑布模型瀑布模型(生存周期模型)软件生存期的瀑布模型

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

原型模型

原型模型3.螺旋模型螺旋模型(spiralmodel)沿着螺线旋转(一个螺旋式周期),在四个象限上分别表达四个方面的活动制定计划确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略风险分析分析所选方案,考虑如何识别和消除风险,风险角度分析该策略实施工程实施软件开发,启动一个开发阶段客户评估评价前一步开发工作,提出修正建议,计划下一轮的工作特点瀑布模型+快速原型+风险分析迭代过程3.螺旋模型螺旋模型(spiralmodel)软件工程-1-概述XXXX4.统一过程模型-RUP统一过程是一个通用的过程框架,可用于各种不同类型的软件系统,各种不同的应用领域,各种不同类型的组织,各种不同功能级别以及不同的项目规模。RUP可以根据项目的具体情况进行适当裁减,以适应不同规模的开发。一个完整的RUP过程是很庞大的(重量级)。统一过程是基于构件的(component-based)所构造的软件系统是由软件构件通过明确定义的接口相互连接所建造起来的统一过程使用统一建模语言来制定软件系统的所有蓝图4.统一过程模型-RUP统一过程统一过程的特点用例驱动基于用例模型,开发人员可以创建一系列实现这些用例的设计和实现模型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确保实现模型的构件正确实现了用例。因此用例不仅开启了开发过程,而且使其结合成一体。以构架为中心以构架为中心的含义是指,从主要用例入手,先建立一个粗略的框架,然后处理已确定的重要用例子集,并通过子系统、类和构件来实现;最后随着用例的不断完善使框架的更多部分显示出来,直到获得一个稳定的构架为止。统一过程的特点迭代和增量的迭代是指工作流中的步骤,增量是指产品中增加的部分。统一过程是在重复一系列组成系统生命周期的循环,每次循环向用户提供一个产品版本作为终结,每次循环包括四个阶段:初始、细化、构造和移交,每个阶段分为多次迭代。迭代和增量的软件工程-1-概述XXXX讨论我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。我们拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。讨论我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例软件生命周期中的哪个阶段可以实现以下任务?分析员演示一个用于预订公司车辆的Windows用户界面原型。分析员观察订单输入职员的工作,以确定客户的订单是如何处理的。分析员指定支持生产进度的数据库结构。分析员教工厂经理如何使用微机生成一份新的预定义报告。工厂主管描述一份新的采购报告的内容,这份采购报告将简化购买订单的跟踪过程。索赔调解员向一位分析员描述由于索赔处理系统的延误失去客户业务的后果。软件生命周期中的哪个阶段可以实现以下任务?分析员正在为学生入学联系系统准备初步的进度表和预算,该系统最近才由指导委员会通过。分析员正在安装运行零用现金管理系统所需的微机和数据库管理系统。分析员回顾公司的组织结构图,确定由哪些人参与认可工资单和批准病假。分析员正在比较两个软件包的优点和缺点,这两个软件包都可以实现设备维护和翻修的管理需求。分析员正在测试一个计算机程序的最新版本,这个程序将根据使用该材料生产产品的计划更快地确定缺货的材料。分析员正在为学生入学联系系统准备初步的进度表和预算,该系统最假设你开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果应该精确到小数点后4位,一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种生命周期模型,请说明理由。假设你开发一个软件,它的功能是把73624.9385这个数开假设你要为一家生产和销售长统靴的公司开发一个软件,该产品将监控该公司的存货:跟踪从购买橡胶开始,到靴子生产,发货给各个连锁店,直至卖给顾客的全过程。你在为这个项目选择生命周期模型时使用什么准则。假设你要为一家生产和销售长统靴的公司开发一个软件,该产品将监列出在开发上述软件产品过程中可能遇到的风险。列出在开发上述软件产品过程中可能遇到的风险。本章知识点总结软件危机的表象及软件工程历史软件工程的概念及其要素软件工程的基本目标软件生命周期的概念软件开发过程模型本章知识点总结软件危机的表象及软件工程历史软件工程第一章软件工程概述软件工程第一章软件工程概述本章内容软件工程的历史软件工程的概念软件生存周期软件开发过程模型本章内容软件工程的历史场景互动请谈谈你在进行软件开发过程中都遇到过什么样的问题?场景互动请谈谈你在进行软件开发过程中都遇到过什么样的问题?软件的开发经常伴随着一些问题软件开发成本估计不准,开发成本超出预算开发进度不能保证,交付时间一再拖延开发出来的产品不符合用户的需求软件产品质量无法保证软件的可维护程度低软件开发生产率的发展跟不上硬件的发展速度和人们需求的增长这就是软件危机!软件的开发经常伴随着一些问题这就是软件危机!软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即包含两方面的问题:如何开发软件、如何维护软件。是什么原因导致的这个结果?软件危机是什么原因导致的这个结果?软件危机产生原因【软件开发成本估计不准,开发成本超出预算】【开发进度不能保证,交付时间一再拖延】【开发出来的产品不符合用户的需求】忽视软件开发前期的调研和分析工作【软件产品质量无法保证】没有统一的、规范的方法论指导忽视测试阶段的工作【软件的可维护程度低】文档资料不齐全,忽视人与人的交流忽视测试阶段的工作忽视软件的维护【软件开发生产率的发展跟不上硬件发展速度和人们需求的增长】没有统一的、规范的方法论指导软件危机产生原因一、软件工程历史“软件工程”的诞生1968年北大西洋公约组织的计算机科学家在联邦德国召开国际科学会议,讨论软件危机问题,在这次会议上正式启用“软件工程”这个名词。一、软件工程历史“软件工程”的诞生消除软件危机的途径软件工程以软件产品化、系列化、工程化、标准化为特征。采用工程化方法和工程途径来研制与维护软件。摆脱软件危机的途径就是软件工程生成的过程消除软件危机,既要有技术措施又要有必要的组织管理措施消除软件危机的途径软件工程出现在软件发展的阶段程序设计阶段—20世纪50至60年代程序系统阶段—20世纪60至70年代软件工程阶段

—20世纪70年代以后软件发展阶段中最根本的变化人们改变了对软件的看法软件的需求是软件发展的动力软件工作的范围从考虑程序的编写扩展到设计整个软件生存期软件工程出现在软件发展的阶段二、软件工程概念及原理软件工程的定义软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法。软件工程三要素过程为建造高质量的软件所需完成的任务框架方法为软件开发提供了“如何做”的技术工具为软件工程方法提供了自动的或半自动的软件支撑环境

二、软件工程概念及原理软件工程的定义质量保证工具方法过程以质量保证为根本动力的软件工程三要素质量保证工具方法过程以质量保证为根本动力的软件工程三要素组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功。软件工程项目的基本目标能按时完成开发任务,及时交付使用;付出较低的开发成本;需要较低的维护费用;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;开发的软件可靠性高。组织实施软件工程项目,从技术上和管理上采取了多项措施三、软件生命周期软件生命周期的概念软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生命周期生命周期阶段的划分原则各阶段的任务相对独立同一阶段任务的性质相同三、软件生命周期软件生命周期的概念软件的生存期划分的几个阶段软件定义:问题定义可行性研究(软件计划)需求分析软件开发:系统设计软件实现软件测试软件使用、维护和退役软件的生存期划分的几个阶段软件生命周期中各阶段负责的任务软件生命周期中各阶段负责的任务软件的生命周期软件的生命周期五、软件开发过程模型软件开发过程模型软件开发(过程)模型或软件工程规范,是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架.常用的开发过程模型瀑布模型原型(演化)模型螺旋模型统一过程模型RUP五、软件开发过程模型软件开发过程模型1.瀑布模型瀑布模型(生存周期模型)就是传统的生命周期方法学(既自顶向下结构化开发模型方法)。优点奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟实现;文档易修改;有复审质量保证。缺点用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。适合于系统要求明确的小系统1.瀑布模型瀑布模型(生存周期模型)软件生存期的瀑布模型

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

原型模型

原型模型3.螺旋模型螺旋模型(spiralmodel)沿着螺线旋转(一个螺旋式周期),在四个象限上分别表达四个方面的活动制定计划确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略风险分析分析所选方案,考虑如何识别和消除风险,风险角度分析该策略实施工程实施软件开发,启动一个开发阶段客户评估评价前一步开发工作,提出修正建议,计划下一轮的工作特点瀑布模型+快速原型+风险分析迭代过程3.螺旋模型螺旋模型(spiralmodel)软件工程-1-概述XXXX4.统一过程模型-RUP统一过程是一个通用的过程框架,可用于各种不同类型的软件系统,各种不同的应用领域,各种不同类型的组织,各种不同功能级别以及不同的项目规模。RUP可以根据项目的具体情况进行适当裁减,以适应不同规模的开发。一个完整的RUP过程是很庞大的(重量级)。统一过程是基于构件的(component-based)所构造的软件系统是由软件构件通过明确定义的接口相互连接所建造起来的统一过程使用统一建模语言来制定软件系统的所有蓝图4.统一过程模型-RUP统一过程统一过程的特点用例驱动基于用例模型,开发人员可以创建一系列实现这些用例的设计和实现模型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确保实现模型的构件正确实现了用例。因此用例不仅开启了开发过程,而且使其结合成一体。以构架为中心以构架为中心的含义是指,从主要用例入手,先建立一个粗略的框架,然后处理已确定的重要用例子集,并通过子系统、类和构件来实现;最后随着用例的不断完善使框架的更多部分显示出来,直到获得一个稳定的构架为止。统一过程的特点迭代和增量的迭代是指工作流中的步骤,增量是指产品中增加的部分。统一过程是在重复一系列组成系统生命周期的循环,每次循环向用户提供一个产品版本作为终结,每次循环包括四个阶段:初始、细化、构造和移交,每个阶段分为多次迭代。迭代和增量的软件工程-1-概述XXXX讨论我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。我们拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。讨论我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例软件生命周期中的哪个阶段可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论