精品课程《软件工程》PPT课件..ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《精品课程《软件工程》PPT课件..ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 精品课程 PPT 课件
- 资源描述:
-
1、软件工程软件工程第一章 概述使用规范说明图表应用图表应用强调强调背景背景文本和线条文本和线条阴影阴影标题文本标题文本填充填充强调强调超链接超链接已访超链接已访超链接标准配色标准配色单击此处添加标题单击添加目录内容1单击添加目录内容2单击添加目录内容3单击添加目录内容4单击添加目录内容5单击添加目录内容6单击添加目录内容7一、软件定义软件软件程序文档数据程序程序按事先设计的功能和性能要求执行的指令序列数据数据能使程序正常操作信息的数据结构文档文档与程序开发、管理、维护和使用有关的图文资料二、软件的特点和分类软件是一个逻辑实体,而不是具体的物理实体,因而具有抽象性软件生产与硬件生产不同,没有明显的
2、制造过程软件不会用坏,但比较难维护软件本身是复杂的,使人类能够创造的最复杂的产物软件本身成本昂贵软件分类见表软件分类见表1.2三、软件危机1、什么是软件危机:、什么是软件危机: 如何开发软件,以满足不断增长,日趋复杂的需求;如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。如何维护数量不断膨胀的软件产品。软件开发成本和进度的估算常常不准确用户对完成的软件系统不满意现象经常发生软件产品的质量往往靠不住; Bug一大堆软件常常是不可维护的软件通常没有适当的文档资料2、软件危机的表现、软件危机的表现软件成本在计算机系统成本中所占的比例逐年上升软件开发生产率提高的速度远远跟
3、不上硬件的发展和人们需求的增长软件本身特点:软件本身特点:逻辑部件:管理和控制软件开发过程相当困难,较难维护逻辑部件:管理和控制软件开发过程相当困难,较难维护规模庞大:代码长度不正比程序复杂程度规模庞大:代码长度不正比程序复杂程度软件产品的质量往往靠不住; Bug一大堆软件常常是不可维护的软件通常没有适当的文档资料软件成本在计算机系统成本中所占的比例逐年上升软件开发生产率提高的速度远远跟不上硬件的发展和人们需求的增长3、产生软件危机的原因、产生软件危机的原因单击此处添加标题文字内容文字内容文字内容单击此处添加单击此处添加段落文字内容段落文字内容单击此处添加单击此处添加段落文字内容段落文字内容单
4、击此处添加单击此处添加段落文字内容段落文字内容n 单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。n 单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加标题单击此处添加标题段落一段落一单击添加内容文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加标题单击添加单击添加单击添加单击添加
5、单击添加单击添加单击添加单击添加单击添加单击添加单击添加内容文字单击添加单击添加单击添加内容文字单击添加单击添加单击添加内容文字单击添加单击添加单击添加内容文字单击此处添加标题单击此处添加标题文字内容文字内容文字内容单击此处添加标题此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字1234567此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添
6、加内容单击添加段落文字单击添加段落文字单击此处添加标题单击添加内容文字单击此处添加标题单击添加图片标题文字单击此处添加标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容文字内容文字内容文字内容单击此处添加标题标题一标题一标题二标题二标题三标题三 标题四标题四内容一内容一内容二内容二内容三内容三内容四内容四内容五内容五内容六内容六内容七内容七标示符号标示符号单击此处添加标题单击添加标题文字单击添加标题文字n单击添加段落文字单击添加段落文字单击添加段落文
7、字单击添加段落文字。n单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加标题此处添加标题单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击此处添加标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加标题内容标题标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容内容内容此处添加内容此处添加内容单击添加段落文字
8、单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字此处添加内容此处添加内容单击添加段落文字单击添加段落文字The end谢谢 本次课程到此结束25软件生存周期及模型第二章第二章26一、软件工程研究内容序序号号研究方面研究方面具体内容具体内容1软件开发软件开发模型模型如:瀑布模型、增量模型、迭如:瀑布模型、增量模型、迭代模型代模型2软件开发软件开发方法方法如:面向过程方法、面向数据如:面向过程方法、面向数据方法、面向对象方法方法、面向对象方法3软件支持软件支持过程过程如:如:CASE工具工具Rose、北大青、北大青鸟系统、鸟系统、PowerDesigner4软件管理软件管理
9、过程过程如:如:ISO9000、CMM、软件企、软件企业文化业文化271、软件生存周期(Life cycle) 软件有一个孕育、诞生、成长、成软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。熟、衰亡的生存过程。 软件生存周期通常包括可行性研软件生存周期通常包括可行性研究和项目开发计划、需求分析、概究和项目开发计划、需求分析、概要设计、详细设计、编码、测试、要设计、详细设计、编码、测试、维护等活动(维护等活动(GB8567GB8567中规定)中规定)。28定义定义分析分析蓝图、图表、库蓝图、图表、库存、采购单等存、采购单等设计设计实现实现产品产品292、软件生存周期模型概念n 模型是为了理解事
10、物而对事物作出的一种抽模型是为了理解事物而对事物作出的一种抽象,它忽略了不必要的细节,是事物的一种象,它忽略了不必要的细节,是事物的一种抽象形式抽象形式 。n软件生存周期模型是描述软件开发过程中各种软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。它确立了软件开发和演活动如何执行的模型。它确立了软件开发和演绎中各阶段的次序以及各阶段活动的准则,确绎中各阶段的次序以及各阶段活动的准则,确立开发过程所必须遵守的规定和限制等。立开发过程所必须遵守的规定和限制等。n目前有瀑布模型、增量模型、螺旋模型、目前有瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。喷泉模型、变换模型
11、和基于知识的模型等。2022-4-16303、软件工程的传统途径维维 护护开开发发定定义义DefinitionFeasibility StudyRequirements AnalysisProgram DesignCoding & Module TestingIntegration & System TestingDelivery & MaintenanceSystem Design31二、瀑布模型瀑布模型瀑布模型1970年由W.Royce提出n瀑布模型是传统软件瀑布模型是传统软件工程的基础。工程的基础。n瀑布模型的基本思想瀑布模型的基本思想是将软件生命周期划是将软件生命周期划分为若干明确定义
12、的分为若干明确定义的阶段。每一阶段活动阶段。每一阶段活动具有严格性,要实施具有严格性,要实施评审工作,以便及早评审工作,以便及早发现错误,改正错误发现错误,改正错误 ;n以文档形式驱动的,以文档形式驱动的,上一阶段的结果作为上一阶段的结果作为本阶段的输入本阶段的输入 ;软件维护报告软件维护报告要求定义要求定义确认确认设计设计确认确认编码编码确认确认测试测试确认确认维护维护确认确认测试报告测试报告源程序清单源程序清单设计说明书设计说明书需求说明书需求说明书321、软件定义时期基本任务基本任务:回答:回答 要解决的问题是什么?该问题有要解决的问题是什么?该问题有行的通的解决办法吗?若有解决问题的办
13、法,则行的通的解决办法吗?若有解决问题的办法,则需要多少费用、资源、时间?需要多少费用、资源、时间?结束标准结束标准:提出关于问题性质、工程目标和规模:提出关于问题性质、工程目标和规模的问题定义书面报告;提出可行性研究报告;若的问题定义书面报告;提出可行性研究报告;若问题值得去解决,制定项目开发计划。问题值得去解决,制定项目开发计划。可行性研究和项目开发计划可行性研究和项目开发计划需求分析需求分析基本任务基本任务:回答:回答“为了解决这个问题,目标系统为了解决这个问题,目标系统必须做什么必须做什么”,确定目标系统的功能。,确定目标系统的功能。结束标准结束标准:给出软件需求说明书:给出软件需求说
14、明书332、软件开发时期系统设计概要设计概要设计基本任务基本任务:回答:回答 “概括地说,应如何解决这个问概括地说,应如何解决这个问题题”。把确定的各项功能需求转换成需要的体系。把确定的各项功能需求转换成需要的体系结构。设计软件的结构,确定程序由哪些模块组结构。设计软件的结构,确定程序由哪些模块组成及模块间的关系,同时设计该项目的应用系统成及模块间的关系,同时设计该项目的应用系统的总体数据结构和数据库结构。的总体数据结构和数据库结构。结束标准结束标准:给出概要设计文档。:给出概要设计文档。详细设计详细设计基本任务基本任务:回答:回答 “应怎样具体地实现这个系统应怎样具体地实现这个系统”。为每个
15、模块完成的功能进行具体描述,把功能描为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述。述转变为精确的、结构化的过程描述。结束标准结束标准:设计出程序的详细规格说明。:设计出程序的详细规格说明。342、软件开发时期系统实现编码编码基本任务基本任务:把每个模块的控制结构转换成计算机:把每个模块的控制结构转换成计算机可接受的程序代码。写出的程序应是结构好,清可接受的程序代码。写出的程序应是结构好,清晰易读,并且与设计一致。晰易读,并且与设计一致。结束标准结束标准:以某种程序设计语言表示的源程序清:以某种程序设计语言表示的源程序清单。单。测试测试基本任务基本任务:通过各种类型
16、的测试使软件达到预定:通过各种类型的测试使软件达到预定的要求。的要求。结束标准结束标准:软件合格,能交付用户使用。:软件合格,能交付用户使用。353、软件维护时期基本任务基本任务:通过各种必要的维护活动使系:通过各种必要的维护活动使系统持久地满足用户需要。统持久地满足用户需要。364、技术审查和管理复审 v技术审查是从技术角度进行的审查,是保证软件质量和降低软件成本的重要措施。在每一阶段结束前进行,对于持续时间很长的开发阶段,在阶段中间还要根据需要进行多次正式的或非正式的技术审查。技术审查通常由技术专家组成的审查小组来承担审查工作。审查过程包括:准备和阅读被审文档、开审查会、返工、复查。v管理
17、复审的主要任务是在软件生存周期的每个重要的里程碑,对工程项目的成本、实际花费的经费、投资回收的前景、项目的进度等经济因素从管理角度进行审查。从管理角度对软件开发工程进行复审,是对工程进行管理和控制的主要手段,对发现的问题可以及时采取措施加以解决,必要时甚至可以取消开发工程以避免更大的损失。37名词名词解释解释软件工软件工作产品作产品在在CMMCMM中,它是软件开发活动中的人工制品,如需求说明书、概要设计中,它是软件开发活动中的人工制品,如需求说明书、概要设计说明书、详细设计说明书、源程序、测试报告、用户手册,也包括软件说明书、详细设计说明书、源程序、测试报告、用户手册,也包括软件管理文档,如软
18、件开发计划、软件质量保证计划、各种评审报告、里程管理文档,如软件开发计划、软件质量保证计划、各种评审报告、里程碑报告、变更申请表、不符合项跟踪报告等。碑报告、变更申请表、不符合项跟踪报告等。软件产品软件产品在在CMMCMM中软件产品是最终用户使用的软件。它是软件工作产品的一部分中软件产品是最终用户使用的软件。它是软件工作产品的一部分。基线基线它是软件工作产品。它是要经内部和外部评审过的,并且是下一阶段工它是软件工作产品。它是要经内部和外部评审过的,并且是下一阶段工作的基础,一根基线是一个里程碑或一个检查点。作的基础,一根基线是一个里程碑或一个检查点。检查点检查点它是由时间、计划、事件驱动的检查
19、工作进度和质量的一个记号,一个它是由时间、计划、事件驱动的检查工作进度和质量的一个记号,一个检查点不一定是基线或里程碑。检查点不一定是基线或里程碑。里程碑里程碑它是一个记号,只需经过内部评审。它是一个检查点,但不一定是基线。它是一个记号,只需经过内部评审。它是一个检查点,但不一定是基线。评审评审是对软件工作产品质量的一次开会或汇签活动。是对软件工作产品质量的一次开会或汇签活动。审计审计是复查评审活动程序的合法性,是否按程序与规范进行。是复查评审活动程序的合法性,是否按程序与规范进行。顾客顾客 客客户户 用户用户客户是顾客的一部分,顾客包括潜在的客户。用户是软件产品的最终使客户是顾客的一部分,顾
20、客包括潜在的客户。用户是软件产品的最终使用者,用户是客户的一部分。用者,用户是客户的一部分。现有系统现有系统目标系统目标系统现有系统是用户当前正在使用的系统(可能是手工系统);目标系统是现有系统是用户当前正在使用的系统(可能是手工系统);目标系统是将要实现的系统。将要实现的系统。Capability Maturity Model forsoftware385、瀑布模型特点n 是一个理想化过程。是一个理想化过程。会掩饰项目中真正的风险,当你会掩饰项目中真正的风险,当你太晚发现它们时已无济于事。太晚发现它们时已无济于事。n 过程逆转性很差,因为上游的错误会在下游进过程逆转性很差,因为上游的错误会在
21、下游进行发散性传播。所以逆转会造成很大损失。行发散性传播。所以逆转会造成很大损失。n 缺乏灵活性缺乏灵活性; ;特别是无法解决软件需求不明确或特别是无法解决软件需求不明确或不准确的问题后期错误,修正代价高不准确的问题后期错误,修正代价高 。n 纯瀑布模型的缺点是在项目开始的时候,在设纯瀑布模型的缺点是在项目开始的时候,在设计工作完成前和代码写出来前,很难充分描述计工作完成前和代码写出来前,很难充分描述需求。需求。n 瀑布模型最主要的问题是缺乏灵活性。必须在瀑布模型最主要的问题是缺乏灵活性。必须在项目开始前说明全部需求。但这恰恰是非常困项目开始前说明全部需求。但这恰恰是非常困难的。难的。6、瀑布
22、模型适用场合n 当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适n 当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适。n 纯瀑布模型能够降低管理费用,因为你可以预先完成所有计划。n 对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方法处理问题。n 在质量需求高于成本需求和进度需求的时候,它尤为出色。n 当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。39407、瀑布模型变种:V型模型418、瀑布模型变种:生鱼片模型软件概念需求分析架构设计详细设计编码和调试系统测试428、瀑布模型变种:生鱼片模型n
23、传统的瀑布模型强调阶段之间最小的重叠,而生鱼片模型强调大幅度的重叠,即在需求分析完成之前就可以进行架构设计和部分详细设计n 纯瀑布模型强调在任意两个阶段交接时,文档从一个团队交给另一个完全隔离的团队,但是如果一个团队完成各个阶段任务时,可以没有那么多文档。n 生鱼片模型因为阶段重叠,因而里程碑不明确,很难有效地进行过程跟踪和控制439、瀑布模型变种:具有子项目的瀑布模型n 纯瀑布模型的一个问题是必须完成全部的架构设计后才能进行详细设计,但是,整个系统中有些部分可能有些特殊性,可以有自己的步骤,即将这些部分划分为为子项目。n 这种方法的主要风险是相关性无法预料。4410、瀑布模型变种:能够降低风
24、险的瀑布模型n 纯瀑布模型要求在开始架构设计前,必须将用户的所有需求都搞清楚,但是实际中是很困难的。n 可降低风险的瀑布模型是在顶端,即需求分析和架构设计阶段引入螺旋以便降低风险。n 在该螺旋中,先开发一个用户界面原型,采用系统情节串联图版(system storyboarding)引导用户提出需求,记录用户与系统的交互操作方式,或者采用其它需求获取方法。45客户评价原型客户评价原型快速设计快速设计停止停止开始开始4647三、螺旋模型螺旋模型是一种风险驱动的模型。螺旋模型是一种风险驱动的模型。螺旋模型需要有相当丰富的风险评估螺旋模型需要有相当丰富的风险评估经验和专门知识。经验和专门知识。202
25、2-4-1648ReviewCommitmentPartitionRisk analy-sisPrototype 1Simulations, models, benchmarksRequirements plan, life-cycle planConcept of operationPrototype 2Risk analysisSoftware requirementsRequirements validationDevelop-ment planRisk analysisPrototype 3Software product designDesign validation and ver
展开阅读全文