软件工程-项目管理师辅导(2008-1)_第1页
软件工程-项目管理师辅导(2008-1)_第2页
软件工程-项目管理师辅导(2008-1)_第3页
软件工程-项目管理师辅导(2008-1)_第4页
软件工程-项目管理师辅导(2008-1)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

北京理工大学计算机科学工程系徐进2008年软件工程2课程目标

根据《信息系统项目管理师》历年考试分析,软件工程方面的内容涉及的面宽且有一定深度。本课程对软件工程方法学基本概念和重点知识进行全面介绍。3主要参考书1.RogerS.Pressman(美),梅宏译,《软件工程---实践者的研究方法(第5版)》,机械工业出版社,2002.92麻志毅,邵维忠编著,《面向对象方法基础教程》,高等教育出版社,2004.23.朱三元等编著,《软件工程技术概论》,科学出版社,2002.14.周之英编著,《现代软件工程1、2、3》,科学出版社,1999.95.RonaldJ.Norman(美),周之英等译,《面向对象系统分析与设计》,2000.76.史济民等编著,《软件工程---原理、方法与应用》,高等教育出版社,2004.1第4次印刷4第一章

软件工程基本概念

1.1软件工程定义和范畴1.2软件生存周期和过程模型1.3软件工程标准化1.4软件能力成熟度模型CMM5IEEE93软件工程定义:软件工程是(1)将系统的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究。1.1软件工程定义和范畴

IEEE(InstituteofElectricalandElectronicsEngineers)美国电气和电子工程师学会,下设各种专门技术分会。定义中给出的4个要点:软件工程的性质---系统的、严格约束的、可量化的方法软件工程作用的范围---用于软件的开发、运行和维护软件工程的目标---工程化应用于软件软件工程的趋势---方法的研究返回本章首页6软件工程的多视角软件工程工程视角管理视角技术视角•项目招标、投标、合同、实施、监督、验收、推广,等,依据经济管理科学理论,研究工程的规划策略及经济收益。

•项目开发的人员组织、过程控制、进度风险分析和质量保证体系等方面,以科学、合理、可行、可测为目标,研究项目管理。•项目的分析、设计、编码、测试、维护等技术方法。依据软件技术理论,研究软件体系结构、组成成分,以及构造方式,等。目标是开发高效、健壮、可复用、可维护的软件。7软件定义和特征

软件的特点:•具有很强的定制性•没有物理形态的产品•质量因素仅取决于与产品研制过程,与批量生产过程无关•没有磨损,维护内容与其它产品不同软件的定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。返回本章首页8故障率时间硬件的故障曲线(浴缸曲线)磨损夭折9

软件的理想故障曲线和实际故障曲线故障率时间修改理想曲线实际曲线副作用造成故障率提升10形式:•作坊式的开发,

•有限的编程手段

•没有软件项目开发管理

•被动修改软件错误

•没有扩充功能和版本升级的维护软件危机(SoftwareCrisis)特点:•开发周期严重超过规定日期

•开发成本严重超出计划成本

•质量无法保证

•开发人员总是短缺

•系统维护难度极大111.2软件开发(过程)模型经典开发模型传统软件开发模型演化模型面向对象开发模型形式化方法模型

(智能模型)增量模型螺旋模型喷泉模型构件集成模型瀑布模型快速原型模型转换模型净室模型返回本章首页12要点:•软件工程方法学基于软件过程

•软件过程贯穿于软件生命周期

•不同的软件过程,对应不同的软件生产活动13过程实施软件安装系统需求分析系统结构设计系统集成系统合格测试软件需求分析软件结构设计软件详细设计软件集成软件合格测试软件编码和测试验收支持GB/T8566-2001《软件生存周期过程》14软件过程模型(一)瀑布模型需求分析软件设计编码测试维护模型要点:阶段的顺序性推迟实现的观点严格文档是保证质量的手段带来的问题:•

过程基本不可迭代•

需求在开始的不确定性•

错误到最后才能发现•

开发进程呈现塞阻状态可行性研究问题定义15原型模型

原型产生过程示意:带来的问题:•系统分析组织仓促•用户不宜理解进度•先入为主而系统设计,可能不是最佳设计听取用户意见建造修改原型测试运行原型软件过程模型(二)16增量模型

分析设计编码测试分析设计编码测试分析设计编码测试分析设计编码测试增量2增量3增量4增量1第1个增量的发布第2个增量的发布第3个增量的发布第4增量的发布模型要点:•瀑布和原型模型相结合•强调版本升级•每版本开发遵循顺序过程

软件过程模型(三)17风险分析累计费用制定阶段计划评审约定模型螺旋模型

模型要点:•统一了瀑布模型与原型模型•与增量模型相似,更强调风险分析风险分析风险分析风险分析原型1原型2原型3运行原型软件需求需求有效性产品设计设计有效性验证操作概念需求阶段计划开发计划确定目标选择方案设定条件运行验收测试集成测试详细设计单元测试编码系统集成测试计划评估方案明确风险排除风险开发验证软件过程模型(四)18喷泉模型

演化维护确认实现设计分析模型要点:•体现认识事物的循环迭代性•强调开发活动之间的无间隙性无明显的活动阶段划分•适用于面向对象的开发过程软件过程模型(五)19构件集成模型

构件库问题域识别构件查找构件生成构件组装系统查到构件未查到构件模型要点:•

基于面向对象的构件方法立足于软件复用性•

形成统一开发过程RUP•

采用统一建模语言软件过程模型(六)20净室模型

需求收集盒结构形式化设计代码检查正确性验证统计使用测试认证

测试规划增量1增量2增量n需求收集盒结构形式化设计代码检查正确性验证统计使用测试认证

测试规划需求收集盒结构形式化设计代码检查正确性验证统计使用测试认证

测试规划模型要点:•控制分析和设计阶段的错误,确保“洁净”•封装系统的局部为“盒”•用形式化的方法来验证··········软件过程模型(七)21转换模型

要点:•以形式化的规格说明为中心

•经过多次变换

•用形式化的方法来验证转换模型的问题:•软件开发者需要有形式化训练背景•难以和用户沟通•费时且昂贵修正

形式化规格说明形式化代码形式化验证目标系统转换2转换1转换n·····系统需求软件过程模型(八)22•已经有先例的项目顺序模型•问题不明确且时间紧的项目原型模型•规模较大且时间紧的项目增量模型•带有突破性技术的项目螺旋模型•客户难以沟通和理解的项目原型模型•明显复用潜力的项目构件模型项目适应模型的规律(一般情况)

项目情况适用模型23国际标准国家标准行业标准企业标准项目标准

1.3软件工程标准化标准化层次:返回本章首页标准化活动:标准化产生:调查、研究、草案、审批、发布标准化实施:宣传、普及、监督、咨询标准化更新:复审、废止或修订24•国际标准:ISO(InternationalStandardsOrganization)国际标准化组织。这一国际机构有着广泛的表性和权威性,他所公布的标准也有较大的影响,ISO机构下设有计算机与信息处理技术委员会,ISO/TC97,负责计算机有关的标准化工作。

•技术标准ISO/TC97系列,为计算机标准

•质量标准ISO/TC176/9000系列,TC176管理质量和质量保证技术委员会25ISO/9000属于质量体系标准适用于软件开发的标准是ISO/9001,期中又分为很多软件标准细则,如:ISO/9001-3是9001运用于软件的质量管理实施指南。ISO/9000-2000作为9000系列新成果,取代了ISO/9001、ISO/9002、ISO/9003ISO/IEC(国际电工委员会)标准其中:ISO/IEC12207信息技术----软件生存周期过程

ISO/IEC15504信息技术----软件过程评估框架

ISO/IEC9126软件质量模型等等,是全世界软件界非常重要的标准。26•国家标准:由政府或国家级的机构制定或批准,适用于全国范围的标准。例如:

GB----中华人民共和国国家技术监督局,是我国最高标技术标准化的机构,他所公布的标准简称国标。代号含义管理部门GB中和人民共和国国家标准--强制执行国家标准局GB/T中和人民共和国国家标准—推荐执行国家标准局GB/Z中和人民共和国国家标准—指导性技术文件国家标准局国标代号:标准编号构成:代号\发布号\发布年代27•无论国家标准、行业标准都分为强制标准和推荐标准•强制标准

1)保障人体健康、人身安全、财产安全的标准

2)法律、行政法规规定执行的标准

3)省、自治区、直辖市标准化行政部门制定的工业产品安全、卫生要求的地方性标准。•推荐标准除强制标准之外的标准,属于推荐标准强制标准和推荐标准28有关计算机软件的国标示例:GB/T16680-1996软件文档管理指南GB/T8566-1995信息技术软件生存期GB/T9385-1988计算机软件需求说明编制指南GB/T9386-1988计算机软件测试文件编制规范GB/T11457-1989软件工程术语GB/T12504-1990计算机软件质量保证计划GB/T12505-1990计算机软件配置管理计划规范GB/T14079-1993软件维护指南GB/T10485-1993信息处理系统机器配置图符号及规定GB/T15532-1995计算机软件单元测试GB/T15538-1995软件工程标准分类法GB/T15853-1995软件支持环境29ANSI----美国国家标准协会(AmericanNationalStandardsInstitute)是美国民间标准化组织的领导机构,具有的权威性,IEEE通过的标准,ANSI审批,以形成国家性质的标准,因此IEEE标准,常冠有ANSI。例如:ANSI/IEEEStr828-1983软件配置管理计划标准;

ANSIC,是指:标准C语言。FIPS(NBS)(FederalInformationProcessingStandardsNationalOFStandards)美国商务部国家标准局联邦信息处理标准。BS(BritishStandards)英国国家标准。JIS(JapaneseIndustrialStandard)日本工业标准30我国采用国际标准的形式•等同采用:idt(identical)技术内容相同,仅有或没有编辑修改,编写方法完全对应。•修改采用:mod(modified)技术内容做了少量修改,有编辑修改,编写方法基本对应。•等效采用:eqv(equivalent)技术内容相同,技术上有很少的差异,编写方法不完全对应。•非等效采用:neq(notequivalent)技术与结构上与国际标准不同,仅保留了少量国际标准条款。31•行业标准:由行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准。如:IEEE(InstituteofElectricalandElectronicsEngineers)

GJB中华人民共和国国家军用标准。

DOD-STD(DepartmentOfDefense-STanDaets)

美国国防部标准。

MIL-S(Military-Standards)

美国军用标准。适用于美军内部。32代号行业管理部门CJ/T城市建筑建设部GY/T广播电影电视广电部DL/T电力中国电力企业联合会EJ/T核工业中国核工业部JR/T金融中国人民银行科技与支付司JY/T教育教育部基础教育司LD/T劳动和劳动安全劳动和社会保障部劳动工资司FZ/T纺织中国纺织工业协会HG/T化工石油化学工业质量部QC/T汽车中国汽车工业协会SJ/T电子信息产业部.....…..…..行业标准代号:(举例)注:代号后不加T表示强制执行33•企业规范:一些大型企业或公司,由于软件工程工作的需要,制定适用于本部门的规范。例如,美国IBM公司通用产品部(GeneralProductsDivision)1984年制定的“程序设计开发指南”,仅供该公司内部使用。•项目规范:由某一科研生产项目组织制定,且为该项任务专用的软件工程规范。例如,计算机集成制造系统(CIMS)的软件工程规范。34•行业标准废止…...对没有国家标准而又需要在全国某行业范围内统一的技术要求,可以制定行业标准。行业标准要报国家行政主管部门批准、备案;并在有国家标准之后,该行业标准即行废止。根据《中华人民共和国标准化法》第六条规定:国家标准行业标准地方标准企业标准关系35•企业标准内部使用企业生产产品没有国家标准和行业标准,应当制定企业标准,企业标准要报当地政府标准化主管部门批准、备案;已有国家标准或行业标准的,在企业内部使用。…...对没有国家标准和行业标准而地方工业产品安全、卫生要求,可以制定地方标准。地方标准要报国家行政主管部门批准、备案;并在有国家标准或行业标准之后,该地方标准即行废止。•地方标准废止36主要过程获取定义、分析需方需求,招标准备,合同准备供应评审需求;准备投标,签订合同,制定计划开发(软件开发整体过程)运行实施运行计划,运行测试,对用户提供帮助和咨询维护系统问题和变更分析,实施,维护,验收,移植,退役支持过程文档编制设计文档标准,确定文档数据来源,文档编制和评审,存储管理配置管理配置标识,配置控制,记录配置状态,,评价配置质量保证(按ISO9001标准实施质量体系保证)验证合同、过程、需求、设计、编码、集成和文档验证确认确认软件产品用途,产品适应性联合评审项目管理评审(计划、进度、标准、指南等评价),技术评价审核验收项目是否符合需求、计划、合同、规格说明和标准问题解决分析过程中问题,制定应对策略及给与解决组织过程管理制定计划,监控实施,评价计划等管理基础设施过程所用硬件、软禁、工具、技术、标准,以及基础设施保证改进对过程进行评估、度量、控制和改进培训制定培训计划,编写培训资料,培训计划实施ISO/IEC12207信息技术----软件生存期过程GB/T16680-1996《软件工程文档管理指南》产品文档用户手册操作手册维护修改建议书软件需求规格说明书软件需求规格说明书数据要求说明书概要设计说明书详细设计说明书可行性研究报告项目开发计划项目开发计划测试大纲测试报告开发进度月报开发总结报告开发文档管理文档软件工程文档38文档对应软件生存期各阶段

阶段文档

可行性研究计划需求分析

设计

编码

测试运行维护可行性研究报告项目开发计划软件需求说明数据要求说明概要设计说明详细设计说明测试大纲用户手册操作手册测试报告开发进度月报项目开发总结维护修改建议391.4软件能力成熟度模型CMM(CapabilityMaturitymodel)

用以评估软件承包商的软件过程能力成熟度框架,被国际软件产业认为是80年代软件工程技术最重要的发展之一。1987年由美国卡内基-梅隆大学软件工程研究所研究,1991年国际标准化组织采纳软件过程评估动议,1993年制定有关标准ISO/IECTR15504SPICE信息技术-软件过程评估,与CMM基本相似。CMM把软件过程按完善程度划分为5个等级,描述了不同级别过程的特点,给出了软件开发组自我评定、分析,提高过程能力的方法,是软件过程不断改进的科学途径。返回本章首页40过程能力等级特点1.初始级软件过程无序而混乱,无过程定义,管理是反

温馨提示

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

评论

0/150

提交评论