版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章软件工程管理管理的目的与内容软件估算模型软件成本估计人员的分配与组织项目进度安排软件知识产权保护1管理的目目的与内内容目的按预定的的时间和和费用,,完成软软件的计计划、开开发和维护内容费用管理理估算软件件的开发发费用管理开发发费用的的有效使使用质量管理理(包括配置置管理)项目的其其它管理理项目进度度安排人员的分分配与组组织2软件估算算模型静态单变变量资源源模型Putnam资资源模型型COCOMO模模型3静态单变变量资源源模型资源==c1x(估估计的软软件特征征)c2资源开发工作作量(E)、开开发时间间(T))或开发发人数((P)估计的软软件特征征源程序长长度(L)或软软件工作作量(E)c1,,c2依赖于开开发环境境和软件件应用领领域的常常数4Putnam资资源模型型L=cK1/3T4/3或K==L3/(c3T4)L(行行):源源程序长长度T(年年):开开发时间间K(人人-年)):全全生存期期工作量量c:与与开发环环境有关关的常数数5COCOMO模模型COnstructiveCOstMOdel以静态单单变量模模型为基基础将软件分分类:组织半独立嵌入增加工作作量调节节因子6不同类型型软件的的COCOMO模型软件类别模型方程适用范围组织型E=3.2×L1.05T=2.5×E0.38高级语言应用程序,如科学计算,数据处理企业管理程序等半独立型E=3.0×L1.12T=2.5×E0.35大多数实用程序,如编辑程序、连接程序编辑程序等嵌入型E=2.8×L1.20T=2.5×E0.32与硬件关系密切的系统程序,如操作系统数据库管理系统,实时处理与控制程序等7调节因子子和它的的值范围围属性调节因子调节值范围例13.1中使用的值产品属性要求的可靠性等级数据库规模产品复杂度0.75-1.400.94-1.160.70-1.651.000.941.30计算机属性对程序执行时间的约束对程序占用存储容量的约束开发环境的变动开发环境的响应时间1.00-1.661.0
-1.560.87-1.300.87-1.151.111.061.001.00人员属性分析员水平程序员水平对应用领域的熟悉程度对开发环境的熟悉程度对所用语言的熟悉程度1.46-0.711.42-0.701.29-0.821.21-0.901.14-0.950.860.861.001.101.00项目属性开发方法的现代化软件工具的数质量完成时间的限制1.24-0.821.24-0.831.23-1.100.911.101.008软件成本本估计自顶向下下成本估估计由底向上上成本估估计算法模型型估计9自顶向下下成本估估计首先估算算总成本本然后在项项目内部部进行成成本分配配特尔斐Delphi法法多个专家家各自填填表综合专家家意见,,摘要通通知大家家开始新一一轮估计计多次反复复,直到到专家意意见接近近10由底向上上成本估估算先将开发发任务分分解为许许多子任任务子任务分分成子子子任务估计各个个任务单单元的成成本汇合成项项目总成成本11算法模型型估计算法模型型就是资资源模型型由历史数数据导出出选择适用用的模型型模型估计计法与自自顶向下下估计或或由底向向上估计计结合使使用12人员的分分配与组组织Rayleigh-Norden曲曲线两条重要要定律人员组织织13Rayleigh-Norden曲曲线①②③td
t人力①浪费的的人力②②不足足的人力力③过过晚的人人力14两条重要要的定律律人员-时时间权衡衡定律Brooks定定律向一个已已经延晚晚的项目目追加开开发人员员,可能能使它完完成得更更晚E=常数/(T或td)415人员组织织层次型组组织结构构软件经理理项项目经理理开开发小小组民主开发发小组无我程序序设计主程序员员小组一元化领领导主程序员员分配工工作主程序员员决定重重大问题题16项目进度度安排计划评审审技术建立PERT图图找出关键键路径标出最迟迟开始时时间PERT图的使使用Gannt图17PERT图例子子测试数据2编码4产品测试4测试软件6测试计划2起点分析终点文档2设计418关键路径径编码4产品测试4测试软件6测试数据2测试计划2起点终点文档2设计4分析3(0,0)(0,3)(0,2)(3,5)(2,8)(3,7)(7,9)(7,11)(15,15)(11,15)19第12章章软件件质量管管理从质量保保证到质质量认证证质量保证证软件可靠靠性程序正确确性证明明CMM软软件能力力成熟度度模型ISO9000国际际标准软件度量量20从软件质质量保证证到质量量认证质量管理理的三个个阶段质量检验验全面质量量管理TQC质量认证证CMM软件能力力成熟度度模型ISO9000国际标准准21质量保证证软件的质质量属性性功能性可靠性易用性效率可维护性性可移植性性质量保证证的活动动内容22质量保证证的活动动内容复审:计划与开发方法:设计、编码…控制:软件配置软件测试23软件可靠靠性可靠性的的定义和和分级定义:在在给定的的时间内内,程序序按照规规定的条条件成功功地运行行的概率率可靠性等等级可靠性模模型软件容错错技术24可靠性分分级表分级故障的后果开发工作量比例因子甚低低正常高甚高工作略有不便有损失,但容易弥补弥补损失比较困难重大的经济损失危及人的生命0.750.881.001.151.4025可靠性模模型正比于遗遗留故障障数的宏宏观模型型平均故障障时间模模型(MTTF模型))错误植入入模型26软件容错错技术容错软件件(有抗抗故障功功能的软软件)屏蔽错误误修复错误误减少影响响冗余技术术结构冗余余时间冗余余信息冗余余容错软件件的设计计27静态冗余余结构和和动态冗冗余结构构M1M2M3VM1M2MnI
U
u1
u2
u3
I
主模块备用
备用
…………28容错软件件设计建立需求说明,设计软件的非容错结构分析错误类型确定容错范围确定采用的冗余技术,修改结构评估容错效果29程序正确确性证明明用数学的的方法,,证明程程序具有有某些性性质S…P{P}S{R}}…R30CMM软软件能力力成熟度度模型CMM的的基本概概念软件过程程关键过程程域CMM模模型5级,18个关关键过程程域,52个过过程目标标,316种关关键实践践31过程能力等级特点关键过程域1.初始级(Initial)软件过程是无序的,对过程几乎没有定义,成功取决于个人的努力。管理是消防队救火式的。
2.可重复级(Repeatable)建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程规则和纪律,能重复早先类似应用项目取得的成功。需求管理软件项目策划软件项目跟踪和监督软件子合同管理软件质量保证软件配置管理3.已定义级(Defined)已将软件管理和工程两个方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经过批准、剪裁的标准软件过程来开发和维护软件。组织过程定义组织过程焦点培训大纲集成软件管理软件产品工程组际协调同行专家评审4.已管理级(Managed)收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。定量的过程管理软件质量管理5.优化级(Optimizing)过程的量化反馈和先进的新思想、新技术促使过程不断改进。缺陷预防技术变更管理过程变更管理32CMM应应用能力评估估软件过程程评估软件能力力评价过程改善善引用CMM关键键实践改善本机机构的软软件过程程33ISO9000国国际标准准质量术语语标准ISO8402-1994质量保证证标准ISO9001质量管理理标准ISO9004-134软件企业业实施ISO9000标准知识准备备立法宣传执行监督改进35软件度量量项目度量量项目度量量的内容容面向功能能的项目目度量过程度量量36项目度量量的基本本度量S.R.Schach,1992U.S.AirForce,93M-017报告常用单位Size规模Size规模LOC,KLOCEffort工作量Effort工作量人-月Duration时间Schedule进度月Quality质量Quality质量错误数/KLOCCost成本Rework返工元37第13章软件件工程环环境什么是软软件工程程环境CASE环境的的组成与与结构CASE环境实实例RationalSUITEEnterpriseStudio青鸟系统统38软件工程程环境软件工程程环境统一集成成机制下下的一系系列软件件工具支持与软软件开发发相关的的过程、、活动和和任务软件开发发环境的的特点友善和统统一的用用户界面面集成化的的软件工工具数据集成成界面集成成控制集成成过程集成成平台集成成39理想环境境模型自动化(A)AUTOMATION方法(M)METHODS过程(P)PROCESS40CASE环境CASE计算机机辅助软软件工程程现代化软软件开发发环境的的总称软件开发发环境程序设计计支持环环境软件支持持环境集成化项项目支持持41CASE环境的的组成CASE工具集成化框架为可移植性服务的机构操作系统硬件平台环境体系结构42CASE集成框框架的典典型结构构用户界面层界面工具箱表示协议工具层工具管理服务CASE工具工具管理服务……工具层…………对象管理层集成服务配置管理服务共享中心库层CASE数据库访问控制功能43CASE结构示示例44CASE环境––RationalSUITE软件开发发过程框框架需求管理理工具面向对象象分析设设计工具具配置管理理工具变更管理理工具测试工具具45CASE环境––青鸟鸟系统全面支持持面向对对象软件件开发开放性环环境集成成机制支持多种种软件开开发方法法既是通用用性软件件工程环环境,又又能成为为特定领领域的专专用性应应用开发发平台46第14章章软件件工程高高级课题题Web工工程基于体系系结构的的软件开开发面向方面面的软件件开发形式化软软件开发发47Web工工程YogeshDeshpande和SteveHansen在1998年就提提出了Web工工程的概概念。Web工工程作为为一门新新兴的学学科,提提倡使用用一个过过程和系系统的方方法来开开发高质质量的基基于Web的系系统。它它"使用合理理的、科科学的工工程和管管理原则则,用严严密的和和系统的的方法来来开发、、发布和和维护基基于Web的系系统"。48Web工工程与软软件工程程Web工工程与软件工工程的区区别WebApp强强调信息息的含量量;传统统软件工工程则强强调系统统功能的的完善WebApp关关注视觉觉和感觉觉;传统统的软件件界面则则奉行““简单为为美”的的原则多数WebApp是数数据驱动动的;传传统的软软件开发发多是功功能驱动动的或过过程驱动动的WebApp能能够适应应不同的的用户;;传统的的软件系系统的用用户群体体则通常常圈定在在某个范范围之内内WebApp必必须在短短期内开开发完成成,很难难应用传传统软件件工程中中使用的的形式化化方法和和测试技技术Web工工程要求求艺术、、技术和和科学在在更大范范围内相相互结合合49Web开开发Web开开发团队队Web决决策人员员内容提供供人员Web开开发人员员Web发发布人员员Web支支持人员员Web管管理员最终用户户50Web开开发Web工工程过程程Web工工程过程程活动贯贯穿Web生命命周期WebApp常常常以增增量的方方式开发发;需求经常常发生变变化;开发期限限较短。。Web分分析内容分析析交互分析析功能分析析配置分析析导航关系系分析安全分析析51Web开开发Web设设计设计原则则和目标标设计要尽尽可能简简单布局要尽尽可能美美观整体要尽尽可能保保持一致致界面设计计设计方法法设计中的的问题设计人员员的检查查52Web开开发Web测测试内容测试试:检查查内容的的正确性性、一致致性、无无歧义等等问题;;功能测试试:查找找不符合合用户需需求的错错误;结构测试试:确保保其结构构是符合合WebApp的内容容和功能能的,确确保它是是可扩展展的,支支持新的的内容或或功能;;导航测试试:确保保所有的的导航用用法和意意义都被被实现,,以便发发现导航航错误((如空链链接、错错误链接接等);;易用性测测试:确确保每个个不同的的用户群群能被WebApp界界面支持持,能学学会并运运用所有有需要的的导航用用法和意意义;性能测试试:在不不同操作作条件、、配置和和负载下下进行,,确保系系统能响响应用户户的交互互操作,,能在可可接受的的性能下下降的条条件下处处理极端端的负载载量;兼容性测测试:在在客户机机和服务务器上设设定不同同的配置置条件下下执行WebApp。。目的是是找出那那些只在在特定配配置下会会出现的的错误;;协同工作作测试::确保WebApp能能很好地地与其他他的应用用程序和和数据库库交互;;安全性测测试:评评估潜在在的易攻攻击性,,任何一一个成功功的入侵侵都认为为是安全全方面的的失败。。53基于体系系结构的的软件开开发基于构件件和体系系结构的的软件开开发方法法正逐渐渐成为近近代软件件工程研研究的重重点应用软件件的体系系结构程序的体体系结构构业务的体体系结构构技术的体体系结构构信息的体体系结构构编程范型型对体系系结构的的影响编程范型型对复用用粒度的的影响软件体系系结构技技术仍在在发展54面向方面面的软件件开发在软件系系统的设设计过程程中,人人们首先先关注的的往往是是与系统统业务相相关的模模块,然然后也会会考虑分分布在多多个核心心模块中中的公共共行为前者称为为核心关关注点,,后者称称为横切切关注点点面向对象象的编程程技术((OOP)技术术可以很很好地完完成对核核心关注注点的设设计与开开发,而而对横切切关注点点却有些些力不从从心横切关注注点会跨跨越多个个模块,,是多维维的,而而OOP的设设计方法法却是一一维的,,把多维维的需求求映射到到一维上上,便产产生了许许多需要要探讨的的问题。。55面向方面面的软件件开发面向方面面编程(((Aspect-OrientedProgramming,AOP))是对软软件工程程的一种种革新性性思考,,是由施施乐公司司帕洛阿阿尔托研研究中心心(XeroxPaloAltoResearchCenter))的GregorKiczales等在在1997年提提出的,,主要用用来解决决横切关关注点问问题AOP开开发环境境AspectJAOP为为开发者者提供了了一种描描述横切切关注点点的方法法,人们们可以通通过它单单独实现现横切模模块AOP提提供了一一种机制制,使得得核心模模块和横横切模块块能够融融合在一一起,从从而构造造出最后后的实际际系统56面向方面面编程1.关注注点(Concem))关注点也也就是要要考察或或解决的的问题。。2.方面面(Aspect)方面是一一个抽象象的概念念,从软软件的角角度来说说是指在在应用程程序不同同模块中中的某一一个领域域或方面面。从程程序抽象象的角度度来说,,可以对对照OOP中的的类来理理解。3.连接接点(Joinpoint)连接点也也就是运运用程序序执行过过程中需需要插入入方面模模块的某某一点。。连接点点主要强强调的是是一个具具体的““点”概概念。这这个点可可以是一一个方法法、一个个属性、、构造函函数、类类静态初初始化块块,甚至至一条语语句。4.织入入(weaving))织入是指指把解决决横切问问题的方方面模块块,与系系统中的的其它核核心模块块通过一一定策略略或规则则组合到到一起的的过程。。57AOP语语言规范范AOP语语言的两两个方面面关注点的的实现织入规则则规范AOP设设计的开开发步骤骤:(1)方方面分解解:分解解需求提提取出横横切关注注点和一一般关注注点。这这一步把把核心模模块级关关注和系系统级的的横切关关注点分分离开来来。(2)关关注点实实现:各各自独立立的实现现这些关关注点。。(3)方方面的重重新组合合:在这这一步,,方面集集成器通通过创建建一个模模块单元元——方方面来指指定重组组的规则则。重组组过程((也叫织织入或结结合)则则使用这这些信息息来构建建最终系系统。58AOP和和OOP比较OOP和和AOP的关系系OOP是是AOP的技术术基础AOP是是对OOP的继继承和发发展区别可扩展性性可重用性性易理解性性和易维维护性59面向方面面的软件件开发面向方面面的软件件开发过过程60形式化的的软件开开发形式化方方法的定定义形式化方方法的基基本含义义是借助助数学的的方法来来研究计计算机科科学中的的有关问问题用于开发发计算机机系统的的形式化化方法是是描述系系统性质质的基于于数学的的技术,,这样的的形式化化方法提提供了一一个框架架,可以以在框架架中以系系统的而而不是特特别的方方式刻画画、开发发和验证证系统狭义地,,形式化化方法是是软件规规格(Specification)和验验证(Verfication)的的方法将形式化化方法用用于软件件开发的的主要目目的是保保证软件件的正确确性形式化方方法的特特点提供了规规格环境境的基础础——形形式化描描述的分分析模型型。设计、实实现和单单元测试试等过程程被一个个形式化化的、逐逐步求精精的、正正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购流程及电子合同制度
- 原料采购日常管理制度范本
- 采购部部门绩效考评制度
- 采购部门奖惩激励制度
- 采购部验收复秤制度
- 采购集中招聘制度汇编
- 采购项目资金控制制度
- 采购验收保管调配制度
- 重点采购物品管理制度
- 2025年前台沟通礼仪考核集
- 2026年四川公务员考试《行政职业能力测验》(G类)真题卷
- 2026年黑龙江农垦职业学院单招职业适应性测试题库与答案详解
- 重金属环境安全隐患排查评估整治技术指南(试行)
- MT/T 1213-2024矿用蓄电池齿轨卡轨车
- 上海市初中物理竞赛“大同杯”历年真题分类汇编(共9个)学生版+解析版
- 2023年广东高考英语听说考试真题D录音原文与参考答案
- 《史记》上册注音版
- 承包人实施计划及施工组织设计
- 马克思主义哲学十讲
- 《草船借箭》【市一等奖】
- d-地舒单抗注射液说明书
评论
0/150
提交评论