成功实施软件过程改进的三个要素

成功实施软件过程改进的三个要素
成功实施软件过程改进的三个要素

成功实施软件过程改进的三个要素

2007-10-15网友评论0 条点击进入论坛

摘要:ISO9000、CMM和CMMI在国内软件企业已经实施了相当一段时间,目前实施后的软件公司CMM/CMMI等级都上去了,可是效果却各不相同。本文从软件过程改进整个过程来探讨成功实施软件过程改进要注意的方方面面,如何才能够让软件过程改进取得最佳效果。

关键字:软件过程改进,CMM,CMMI

1 引言:

软件开发是一种组织良好、管理严格、各类人员协调配合、共同完成的工程项目。软件开发的核心资源是人,这与那些自动化生产线主要靠机器来工作不同,软件开发有太多的可变因素,因此对软件开发的管理应该也是具有一定的柔性,以适合不断变化的开发过程。

软件过程是生产软件的一系列流程,是为了获取所需要的软件产品而需要完成的一系列有关软件工程的活动。他一方面与软件生命周期、软件开发方法和工具、软件开发人员等诸多方面都有着密切联系,另一方面被软件公司的传统习惯、文化氛围和企业领导人的领导风格所影响。

软件过程并不是一个单一体,他是由一个主过程和若干辅助过程共同构成。一般的主过程就是软件开发必须经过的一些过程,称为开发过程。此过程中的任何一个环节都不可缺少,如最传统的瀑布模型中的软件开发过程为:需求分析、总体设计、详细设计、编码、测试、部署和维护。辅助过程则一般指软件开发中的配制管理、文档管理、质量保证、项目管理等过程。虽然软件开发只需要开发过程就能开发出软件,但是缺少辅助过程则会让整个开发过程变得混乱,甚至失去控制,因此辅助过程也是软件过程改进中的重要内容。

2 软件过程改进概述

软件过程改进(Software Process improvement,SPI)帮助软件企业对其软件过程的改进进行计划、过程诊断、过程改进方案制定以及实施。他的实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括配制管理、软件维护之类的辅助过程,而对于其他的过程并不关注。

在软件企业,软件开发是企业最重要、最复杂的过程。软件产品是软件企业的生命,对软件企业进行流程优化和改进,最主要的还是对其软件过程进行改进。一个软件企业的消耗与收益都在软件产品上,开发过程失败则会给企业带来致命的打击,开发成功则能给企业带来大量的收入,如何降低开发成本,多、快、好、省的开发出所需要的软件是企业立足于市场的根本。

当一个软件企业一步步成长的时候,会发现原来的开发方法、管理模式开始不适应目前的开发。需要开发的软件越来越大、越来越复杂,而不断的增加人手对开发的进度的帮助越来越小。由于开发人员数量越多,沟通成本就越高,使得总体开发效率反而下降,因此需要在管理方面进行提高、在流程上进行优化,才能够提高开发效率、缩短开发周期、降低开发

成本。

软件企业从“软件作坊”进化到“软件工厂”是一个跳跃式的改变,从开发模式、管理模式、企业运营模式都会发生质的变化。很多从团队发展起来的小软件企业很难实现这一步的跨越,生搬硬套更是可能让企业的生命过早结束。如何提升软件开发模式和企业的管理是中小型软件企业发展过程中遇到的最大问题,也是软件过程改进需要解决的问题。

目前在世界上用的最多的软件过程改进模型是CMM、CMMI和ISO9000系列标准。软件企业根据自声的软件过程情况,参照模型标准进行对照,找出自身与标准的差异,然后对自身的过程进行改进,以达到标准的要求。在这个过程中需要根据企业自身的情况分步实施,有计划、有组织的进行,如果一开始就全面铺开,波及的范围比较广,则会给企业带来较大的风险。如同有些企业一年内从CMM Level1级别一路升到CMM Level 4 级,不仅没有实施效果,还可能会让企业适应不了新的流程,而造成企业内部的混乱。总体规划、分步实施才能保证软件过程改进的效果,“先僵化,后优化,再固化”才能够让过程改进落到实处。

3 国内软件过程改进的现状分析

自从2000 年,中国通过了第一个1+3 的评估以来,实施CMM/CMMI 的顾问团,中国在2006 年1 月份的企业,中国到目前为止已经有128 家企业通过了评估,美国是158 家。在CMM认证通过的企业数量来看,考虑到中国第一次做评估的是2000 年,而印度要早十年,中国与印度的差距在一步步缩小。

国内能够如火如荼的开展CMM/CMMI评估的原因主要有:

3.1 政府的大力扶持

国务院2000年18号文件《鼓励软件产业和集成电路产业发展的若干政策》的发布表示了我国政府和领导对计算机软件产业的重视和支持。宽松的审批条件、优惠的退税政策、对ISO9000和CMM认证支持的专项资金,激励着国内软件企业通过认证的激情。在政府的扶植下,越来越多的软件企业通过了CMM认证。

3.2 外包业务的要求

新一轮全球产业布局调整的大潮,为中国软件外包市场赋予了高速成长的强大推进力。来自IDC的数据显示,全球应用软件外包服务市场正以平均每年29.2%的速度增长,其中,中国软件外包市场在2004年的增长速度为49.9%,市场规模达到5.99亿美元。而Gartner 研究公司更是预测,在2007到2010年间,中国将成为全球最大的软件外包市场。国外软件公司选择外包软件公司的时候,一般都要求通过CMM3级认证,如果没有CMM证书的话,在软件外包市场这块就几乎无法进入。因此,软件外包业务的拓展,加速了我国软件企业通过CMM认证的进程。

3.3 软件企业本身发展的需求

软件过程改进是软件企业发展过程中的必经阶段,一个软件企业在业务越来越多,项目

越来越复杂,开发对于日益庞大的情况下,为了降低开发和管理成本,必须对整个企业进行流程优化,在这个意义上BPR和CMM的目标是一致的。

4 软件过程改进中的问题

不管是CMM/CMMI还是ISO9000是一个相当复杂的标准,它为如何改进软件开发过程提供了很好的指导,它规定了应该做哪些事,没有规定应该如何去做。这种方法给客户留下了很大的空间来开发适合自己的软件过程、规范和标准,但是,也对客户提出了非常高的要求。而且,CMM标准本身就是一个理想化的东西。CMM有18个关键实践域,每个关键实践域的第一条基本原则就是,必须为这项管理/技术工作提供充足的资金、时间和资源。这条原则却是绝大多数企业无法满足的。

国内企业在进行CMM评估时,存在很多误区。例如,有的企业将CMM当成解决一切问题的圣经,没有很好地理解CMM的内涵;有的企业盲目追求轰动的市场效应,为了获得所谓的“国际市场的入场券”,没有扎扎实实地进行企业软件工程能力的提高,纯粹是为了过级而过级,通过评估后,所有的开发过程基本上又回到原来的状态,完全违背了CMM的思想。

绝大多数企业希望通过CMM来提高自己的软件工程化水平,但却无从下手。其中,很多企业在准备实施CMM的初期,就被其繁琐的过程和高昂的费用所吓退。每一个采用传统的方法实施CMM认证的企业都需要“大动干戈”,首先是全公司的培训;然后,把项目停下来补文档;最后,准备各种各样的问题和答案,准备应付评估师的随时提问,闹得整个企业不得安宁。因为即使CMM二级也有近百种实践要求,就是每个人培训一个星期,他还是很难记住这些操作。短时间参加CMM培训的人员的一个最显著的特征就是迷茫,不知道该怎么去实施,好像以前在开发软件方面还有一些心得,培训完后,就完全不知所措了,更别提将这些管理要求有机地结合到一个项目里去了。

这种做法的后果可想而知,这就是为什么很多企业在通过了评估以后,又回到原来做法的原因。总而言之,传统的CMM实施方法要求按部就班地进行,不仅周期长,对人员和经费要求高,而且,实施后效果保持难度很大。因此,如何真正快速有效地实施CMM,提高软件生产率是一个亟待解决的难题。

5 成功实施软件过程改进的三个要素

对于软件过程改进策略的选择,实在是仁者见仁,智者见智。也许并没有什么绝对的对错,关键看是否符合自身的实际情况。对国内广大中小软件企业而言,存在什么样的实际情况?应该采取什么样的软件过程改进策略呢?

中小企业的实际情况大致如下:管理基础薄弱,资源不足,生存压力大,缺乏统一而有力的文化,人员素质良莠不齐。在这中环境下实施软件过程改进,有很多因素是需要特别注意的。

5.1 企业领导树立正确的软件过程改进观点,全体员工有软件过程改进意识。

所谓“态度决定一切”,正确的软件过程改进意识是软件过程改进成功实施的前提条件,那种为证书而改进,为CMM而CMM的改进过程除了能够取得证书外,并不能为企业的发展带来多大的帮助,最后“高级低能”的企业现状并不能为企业发展助一臂之力。

过程改进不是领导的事情,而是企业的每一个员工的事情,过程改进实施能否进行得下去,由每个员工的态度来决定。一开始实施过程改进的时候,有些众所周知的烦琐、缺乏效率的流程被改进会赢得员工的支持,但是有些过程改进肯定会影响到部分员工的利益或者是工作量,会让那一部分人多过程改进产生排斥。另外一些要求规定了,对员工也提出了一些要求,如果员工因此而产生抵触情绪的话,过程改进的贯彻实施是比较困难的。国内一些公司出现CMM实施完毕后,文件都在,证书也下来了,但是员工还是按老方法做事情,最后再去补CMM要求的文档。这样的改进可以说比改进前的效率更低了。

过程改进前,应该先将软件过程改进的理念贯彻到每个人的心中。这样在后面的实施过程中,每个人才能够主动的去接受改进。

5.2 客观准确的做好实施前的评估工作,掌握评估结果的实质。

在进行软件过程改进前,先要对软件企业目前的过程进行评估,评估的结果决定软件企业是否要进行改进,哪些方面需要改进,需要改进成什么样子。应该说,由咨询公司主持,公司改进项目组参加的评估过程是公正、客观的。但是,对于评估的结果还是需要仔细的推敲与检查。作为咨询公司从自己利益的角度考虑,可能会将企业软件过程方面的问题夸大。在对待评估结果上,需要冷静的思考与对待,客观的评价。

5.3 确定合理的目标

CMM模型划分为5个级别,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级的评估周期(从准备到完成)约需12-30个月。无论一个软件企业的软件过程处于什么样的水平,都可以在CMM框架的5个级别中找到自己的位置。CMM框架的不同级别是针对处于不同管理水平的软件企业制定的,一个软件企业实施CMM,首先必须了解自己的管理现状,对照CMM的级别,找到自己在CMM中所处的位置,然后有针对性采取与自己所处级别相适应的措施,使企业迟早纳入CMM的进化阶段,使软件过程管理早日得到改善,最终达到提高软件质量,获取经济效益的目的。

因此,要实施CMM,首先应该对本企业的现状有一个准确的评估。企业目前处于什么水平,企业发展的问题是什么,借助CMM要达到的目的是什么。然后再结合企业的实际情况选择CMM的切入点,确定总体目标。这个目标包括在多长时间之内,需要投入多少人力、物力和财力,要达到哪一级。

由于软件过程的建立和改进是一个渐进的、分轻重缓急的、逐步完善的过程。所以,在总体目标已经确定的前提下,还要制订近期目标和长期目标。

6 总结

软件企业进行软件过程改进是一项大工程,是一个让企业脱胎换骨的过程。改进成功可

以为企业带来广阔的发展前景,失败则可能让企业从此一蹶不振。因此在实施过程改进前,需要对本企业的现状有客观的了解,让全员树立改进意识,确定明确的改进目标,制定周详的改进计划,将改进贯彻到实处才能够确保软件过程改进的成功。

个人软件过程改进课程笔记

(SPI:software process improvement) 参考教材: Introduction to personal software process improvement Introduction to team software process improvement 特点: 采集数据:time时间defect缺陷 成绩: 期末60(PSP 英文)实践20 期中12 (TSP 中文四次课学完,第五次课期中考)平时8 实验: 6 8 11 次课及之后 期末: 第九周五一之后 L1 2018.3.6 Lecture 1: 一个体软件过程的定义: 软件工程师的任务:在预期的进度、费用下高质量地开发软件产品(3点) PSP: 控制、管理和改进个人开发工作的自我改进过程 结构化框架:开发表格、指南和规程 PSPi(I—>introduction) 时间管理—>计划过程 缺陷管理—>产品质量

二时间管理 1、时间管理的逻辑原理 ·制定计划,按照计划去做 ·跟踪现在时间使用情况 ·检查时间与计划的准确性,写成文档与实际情况作比较·检查存在的错误 2、了解时间使用情况 将数据保存在合适的地方 3、工程记事本 记录时间使用情况 ·纪录作业、跟踪所承诺的工作、作课堂笔记 ·工作实施方案的凭证 ·保护知识产权 *编号*终止日期每一页编号,前两页作为目录

三时间跟踪 目标:估算完成任务的时间以定义质量目标单位:分钟 工具:标准的时间记录日志 时间记录日志:C completed Unit 数据来源工程记事本 **及时总结记录的时间数据 四阶段计划 1.定义: ?阶段计划短时间的计划 ?产品计划基于活动的计划 二者互相包含 2.阶段计划: 工具:周活动总结表三个子表 数据来源于时间记录日志

软件工程课后习题_第1,2,3章

第一章: 一.判断题: 1.软件就程序,编软件就是编写程序。() 2.软件危机的主要表现是软件需求增加,软件价格上升。() 3.软件工程科学出现的主要原因是软件危机的出现。() 4.与计算机科学的理论研究不同,软件工程是一门原理性学科() 二.选择题 1.在下列选项中,()不是软件的特征 A系统性与复杂性 B 可靠性与一致性 C 抽象性与智能性 D 有形性与可控性 2.软件危机的主要原因是: A软件工具落后 B 软件生产能力不足 C 对软件的认识不够 D 软件本身的特点及开发方法 3.下列说法正确是的是 A 20世纪50年代提出了软件工程的概念 B 20世纪60年代提出了软件工程的概念 C 20世纪70年代提出了客户机/服务器技术 D 20世纪80年代软件工程学达到成熟 4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。它包括方法、工具和过程三个要素 A 软件生命周期 B 软件测试 C 软件工程 D 软件过程

5.在下列选项中,()不属于软件工程学科索要研究的基本内容。 A 软件工程材料 B 软件工程目标 C 软件工程原理 D 软件工程过程 6.软件工程的三要素是() A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法 7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具 A CAD B CAI C CAM D CASE 三简答题 1.与计算机硬件相比,计算机软件有哪些特点? 2.软件就是程序吗?如何定义软件? 3.什么是软件危机?是什么原因导致了软件危机? 4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端? 5.请简述软件工程的研究内容。 6.请简述软件工程的三要素。 7.请简述软件工程的目标,过程和原则。 8.请简述软件工程的基本原则。 9.请简述现代软件工程与传统软件工程显著的区别与改进。 第二章: 一判断题 1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

软件工程课后习题集(含答案解析)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规、项目规。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程简答题

软件工程简答题 三、简答题(简要回答下列问题) 1、什么是软件工程它目标和内容是什么 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型哪些适用于面向对象的软件开发 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法该方法使用什么描述工具 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务: ⑴设计软件系统结构

⑵进行数据结构及数据库的设计 ⑶编写概要设计的文档 ⑷评审 5、软件维护有哪些内容 (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤这些测试与软件开发各阶段之间有什么关系 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

软件过程改进与管理

软件过程改进与管理 The pony was revised in January 2021

软件过程改进与C M M I 第一章绪论 本课题研究的背景 21世纪是信息社会高速发展的世纪,软件作为信息技术的核心,将在其中起着至关重要的作用。随着信息经济、网络经济和科学技术的发展,各行各业已经越来越离不开软件的支持,软件产业的发展,各行各业已经越来越离不开软件的支持,软件产业的发展水平已经成为衡量信息技术发展水平的一个重要因素。 自出现软件危机以来,学术界和企业界对软件工程的研究都倾注了大量的人力、物力和财力,多年来也取得了一些成效。但就全世界而言,软件质量问题仍然非常严重,特别对于军方来说,更是一个致命的问题。正因为如此,美国国防部不惜花费重金,委托美国卡内基梅龙软件工程学院(SEI)研究制定软件质量保证规范。1991年,第一个软件保证规范能力成熟度模型(CMM:Capabiliy Maturity Model)制定完成并在美国应用,随后CMM作为一种软件能力成熟度评估标准在全世界推广实施,主要用于指导软件开发过程改进软件管理能力的提高,从而极大地提高了软件项目的控制能力和软件产品的质量,促进了全世界软件产业的健康发展。 CMM的应用虽然得到了很好的成效,但也存在一些缺陷,能力成熟度模型集成(CMMI:Capability Maturity Model Integration)应运而生,它是在CMM基础之上的发展和完善,2002年SEI正式推出CMMI,2005年开始逐步取代CMM. 从我国软件产业的发展现状来看,企业管理软件过程的能力还比较弱,过程混乱使得新技术、新工具的优势难以体现。究其原因,是因为我国的软件过程管理缺乏规范化和标

软件过程改进年度计划模板

XXXX软件项目过程改进年度计划 XXXX企业有限公司 ____年___月___日

文档信息 修改记录

目录 软件过程改进年度计划 (3) 1 引言 (3) 1.1 制定目的 (3) 1.2 项目背景 (3) 1.3 术语定义 (3) 1.4 参考资料 (3) 2 上一年度过程改进总结 (3) 2.1 与计划目标对比 (3) 2.2 工作量 (4) 2.3 过程改进效果 (4) 2.4 经验教训 (4) 3 改进目标 (4) 4 改进范围 (4) 5 角色与职责 (4) 5.1 过程改进领导小组 (4) 5.2 EPG组 (4) 5.3 QA组 (4) 5.4 其它 (4) 6 改进策略 (5) 7 进度计划 (5) 8 人力资源计划 (5)

9 沟通计划 (5) 10 QA计划 (5) 11 里程碑计划 (5) 12 过程改进项目列表 (5)

软件过程改进年度计划 1 引言 1.1 制定目的 说明编写本项目过程文件的目的,指出预期的读者 1.2 项目背景 1、待开发的系统名称 2、任务提出者、开发者、用户及实现系统的计算机中心或网络 3、该系统同其他系统或其他机构的基本的相互关系 1.3 术语定义 本文件中用到的专门术语的定义和外文首字母组词的原词组并解释 1.4 参考资料 1、本项目经核准的计划任务书、合同、上级批文等 2、属于本项目的其他已发表的文件 3、本文件各处引用的文件、资料包括所需用到的软件开发标准等 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些资料的来源 2 上一年度过程改进总结 2.1 与计划目标对比

《软件工程》试题及参考答案(第3套)

厦门理工软件学院2011 –2012 学年度下期 《软件工程》试题(第3套) 题号一二三四五总分 题分 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.研究开发所需要的成本和资源是属于可行性研究中的研究的一方面。( ) A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 4.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件详细设计主要采用的方法是( ) A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 6.黑盒测试在设计测试用例时,主要需要研究( ) A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 7.若有一个计算类型的程序,它的输入量只有一个,其范围是现从输入的角度考虑一组测试用例:设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 8下列属于维护阶段的文档是( ) A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 9快速原型模型的主要特点之一是( ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 ; D.及早提供工作软件 10.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护 11.下列文档与维护人员有关的有( )

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程第3章习题解答

第3章《结构化分析》习题解答 习题1 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。数据流图实体-关系图描绘系统中的数据对象。描绘本系统的功能,并用请用 解答: (1)数据流图: 储蓄存款单清单基本模型:储户储户系统取款单 D1 储户信息库 存款第一级模型清清储打储储清取款系系 第二级模型(最终结果——完整的DFD图):

实体关系图ER:(2) 图1:E-R n存款单1填写住址姓名 储户n取款单 1 填写身份证号电话 :E-R图2帐号姓名金额1取款清单 1 核对取款单 图E-R3:住址姓名电话 存款日期 11存款存款清单存款单 到期日期利率存款类型身份证号金额 图E-R:总住址姓名电话 存款日期 n存款单1住址填写姓名到期日期利率储户存款类型金额身份证号1电话身份证号1填写n 存款取款单1 1 核对取款清单1存款清单金额姓名帐号

习题2 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。 请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。 解: 总E-R图:性别身份证号姓名 n订票旅行社m工作单位旅客n n旅行时间合约1服务1航空公司目的地 数据流图1: 0订票旅客信息机票系统旅客信息旅客旅行社旅客 通知、帐单通知、帐单

第三课 软件工程综合复习题连答案

《软件工程》综合复习资料 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种(c)。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称(D)。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是(D)。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、__D___是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是( B )。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是(D )。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是(C ) A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关:( C ) A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是(B ) A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。

第三章 软件工程基础

第三章软件工程基础 3.1软件工程基本概念 软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。 软件由两部分组成: (1)机器可执行的程序和数据; (2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 软件的特点: (1)软件是逻辑实体,而不是物理实体,具有抽象性; (2)没有明显的制作过程,可进行大量的复制; (3)使用期间不存在磨损、老化问题; (4)软件的开发、运行对计算机系统具有依赖性; (5)软件复杂性高,成本昂贵; (6)软件开发涉及诸多社会因素。 根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。 应用软件是为解决特定领域的应用而开发的软件; 系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件; 支撑软件是介于两者之间,协助用户开发软件的工具性软件。 软件危机主要表现在成本、质量、生产率等问题。 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 软件工程包括3个要素:方法、工具和过程。 方法是完成软件公曾项目的技术手段 工具支持软件的开发、管理、文档生成 过程支撑捐建开发的各个环节的控制、管理 软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动: (1)P——软件规格说明; (2)D——软件开发; (3)C——软件确认; (4)A——软件演进。 软件工程过程与软件生命周期 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动, 还可以将软件生命周期分为软件定义、软件开发和软件运行维护3个阶段。 生命周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实施、软件测试及运行与维护。3.2结构化设计方法 在程序结构中,各模块的内聚性越强,则耦合性越弱。软件设计应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 软件设计的基本原理 (1)抽象:软件设计中考虑模块化解决方案时,可以定出多个抽象级别。抽象的层次从概要设计到详细设计逐步降低。 (2)模块化:模块是指把一个待开发的软件分解成若干小的简单的部分。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 (3)信息隐蔽:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。 (4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。内聚性是信息隐蔽和局部化概念的自然扩展。一个模块的内聚性越强则该模块的模块独立性越强。一个模块与其他模块的耦合性越强则该模块的模块独立性越弱。

CMMI_3级软件过程改进方法与规范

内容提要 软件过程改进是目前IT 企业研发管理的重点与难点。为了提高软件过程能力,企业首先要研制软件过程规范,这是有一定难度并且费时费力的工作。 本文论述的是一套通用的CMMI 3级软件过程改进方法与规范,称为“精简并行过程”(SPP)。SPP 2.0共有19个关键过程域,分为项目管理过程、技术开发过程和支撑过程三大类: ?项目管理过程有7个关键过程域,分别为立项管理、结项管理、项目计划、项 目跟踪、风险管理、外包管理和需求管理。 ?技术开发过程有8个关键过程域,分别为需求开发、技术预研、系统设计、实 现与测试、系统测试、用户验收、产品维护和技术评审。 ?支撑过程有4个关键过程域,分别为配置管理、质量保证、采购管理和培训管 理。 SPP 2.0文档总数约500余页,包含了众多的过程规范和模板。采用SPP,用户可以在最短的时间内建立适合于本企业的软件过程规范,大大降低用户研制规范的代价和风险。 一、背景介绍 在国内,绝大多数大中型IT企业几乎都面临着“研发管理混乱”的难题。“研发管理混乱”必将导致“产品质量低下”、“进度延误”、“费用超支”等问题。IT企业谋求发展,研发管理必须规范化,这是大中型IT企业的迫切需求。软件过程改进(Software Process Improvement, SPI)是目前国内大中型IT企业研发管理的重点与难点。 CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。CMM是由美国卡内基-梅隆大学(Carnegie-Mellon)软件工程研究所(Software Engineering Institute, SEI)研制的,其发展简史如下: ?CMM 1.0于1991年制定。 ?CMM 1.1于1993发布,该版本应用最广泛。 ?CMM 2.0草案于1997年制定(未广泛应用)。 ?到2000年,CMM演化成为CMMI(Capability Maturity Model Integration),CMM 2.0成为CMMI 1.0的主要组成部分。 ?CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于 2002年1月正式推出。 CMM将软件过程能力分为5个级别,最低为1级,最高为5级。目前国内只有几家IT企业达到了CMM 2级或CMM 3级。鉴于CMM 已经被美国、印度软件业广为采纳,并且取得了卓著成效,近两年来国内兴起了CMM 热潮。CMM受欢迎的程度远远超过了ISO同类标准。 国内IT企业采用CMM的目的大体有两种: (1)主要想提高企业的软件过程能力,但并不关心CMM评估。

软件工程试题3教学教材

一、选择题 1. 软件工程三要素是(C D)。 A) 技术、方法和工具B) 方法、工具和过程 C) 方法、对象和类D) 过程、模型、方法 2. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型 3. 软件工程的主要目标是(C)。 A) 软件需求B) 软件设计C) 风险分析D) 软件实现 4. 软件危机的主要表现是(B D)。 A) 软件成本太高B) 软件产品的质量低劣 C) 软件开发人员明显不足D) 软件生产率低下 5. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型 6. 软件工程的目标有(A B C)。 A) 易于维护B) 低的开发成本 C) 高性能D) 短的开发期 7. 软件工程学的目的和意义是( )。 A) 应用科学的方法和工程化的规范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的软件 8. 需求分析的主要目的是(BC)。 A) 系统开发的具体方案 B) 进一步确定用户的需求 C) 解决系统是“做什么的问题” D) 解决系统是“如何做的问题” 9. 需求分析的主要方法有(CD)。 A) 形式化分析方法B) PAD图描述 C) 结构化分析(SA)方法D) OOA法 10. 面向对象的分析方法主要是建立三类模型,即(D)。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 11. SA法的主要描述手段有(B)。 A) 系统流程图和模块图 B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明 D) 功能结构图、加工说明 12. 画分层DFD图的基本原则有(ACD)。

软件工程--课后答案

第一章: 1.1 简述软件的定义、软件的特点和软件危机的表现。 软件的定义:软件是由计算机程序、数据和文档组成的。 软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。 1.2 什么是软件工程和软件工程化? 软件工程: 软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。 1.3简要说明软件工程三要素与质量关注点之间的关系。 软件工程的三要素:方法、工具和过程。关系看P4 1.4如何构造软件过程? 软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。 1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么? 软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。 软件生存周期:定义、开发、维护。 1)定义:包括问题定义、可行性研究和需求分析。 2)开发时期包括设计、编码和测试。 3)维护时期包括维护阶段。 1.6常用的软件工程方法和开发模型各有哪些? 软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。 软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。 1.7什么是软件工具、软件开发环境和软件工程环境? 软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。 1.8软件工程的基本原理: 1)按软件生存期分为阶段制定计划并认真实施。 2) 坚持进行阶段评审。 3)坚持严格的产品控制。 4)使用现代程序设计技术。 5)明确责任,使得工作结果能够得到清楚的审查。 6)人员应少而精。 7) 不断改进开发过程。 第二章: 2.3软件文档可分为哪几类?各包括哪几类文档? 软件文档可分3类。为1)开发文档,2)管理文档,3)用户文档。

实用软件工程第3版课后习题答案_IT168文库

《实用软件工程》第3版 习题参考答案 习题 1 1.1 开发文档都有哪些?用图示表示它们之间的关系。 开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。 1.2 简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。 软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。 1.3 详细解释软件的定义、程序的定义及软件工程的定义。 软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。 现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。 程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为: 面向过程的程序=算法+数据结构 面向对象的程序=对象+信息 面向构件的程序=构件+构架 软件工程是研究软件开发和软件管理的一门工程学科。 1.4 软件工程的7+1条基本原理有什么现实意义? 软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在

软件质量管理体系建设方案

关于软件质量管理体系建设的 方案 参考资料: 《cmmi3级软件过程改进方法与规范》 《ISO9001:2000标准》 修改记录: 作者简介: 软件企业质量经理、高级项目经理,联系方式__qq:317974257 方案说明: 参考了《cmmi3级软件过程改进方法与规范》、《ISO9001:2000标准》。同时参考了业界同行写的相关方案或文章,吸收了他们的优秀见解。

1.引言 (3) 1.1软件质量概述 (3) 1.2公司软件质量现状分析 (3) 1.3软件质量管理的特点 (4) 1.4软件质量责任分配 (6) 2.软件质量管理体系建设总体方案 (6) 2.1进一步推动软件质量管理体系建设的原则 (6) 2.2软件质量管理体系完善需要解决的主要问题 (8) 2.3配置管理—实施软件质量管理的重要步骤 (8) 2.4进一步完善我们的测试管理体系 (10) 2.4.1.软件测试的组织与管理规划 (10) 2.4.2.测试管理体系过程控制 (12) 2.4.2.1测试流程模型 (13) 2.4.2.2测试流程控制 (13) 2.4.2.3测试小结 (15) 2.5软件质量保证(SQA)的实施 (16) 2.5.1.SQA概述 (16) 2.5.1.SQA实施 (16) 2.5.2.SQA与SQC区别与协作 (17) 2.6全面软件质量管理 (18) 2.6.1.全面软件质量管理 (18) 2.6.2.全面软件质量管理的方法---制定质量管理计划 (19) 2.6.3.全面软件质量管理的方法---技术评审 (19) 3.结束语 (19)

1.引言 1.1软件质量概述 随着信息技术的飞速发展,使软件产品应用到社会的各个领域,也造就了软件行业激烈竞争的生存环境,随着软件规模及复杂性急剧加大,软件质量已经成为人们共同关注的焦点。技术是软件企业的生命,而质量则是它的灵魂,软件企业要在竞争中占有一席之地,软件质量保证是第一要素。由此,软件质量的重要性是不言而喻的。 软件质量是指与软件产品满足规定的和隐含的需求的能力有关的特征和特性的总和。通常来说,软件质量应该包含六方面的特性: 功能性、可靠性、易使用性、效率、可维护性、可移植性。 软件质量管理包括:软件质量计划编制、软件质量保证和软件质量控制三个过程域。质量计划就是为了实现质量目标的计划,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证(Quality Assurance ,QA)的目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。质量保证是一种有计划的、贯穿于整个产品生命周期的质量管理方法。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。 1.2公司软件质量现状分析 公司的软件开发历经多个生产个环节,产生大量的中间产品,每个环节都有可能带来产品质量问题;同时由于软件产品是逻辑体,不具备实体的可见性,因而难以度量,质量也难以把控,因此如何有效地管理软件产品的质量一直是我们面临的挑战。

软件工程管理分析案例教程(第三版)课后习题-答案

第一章 二、判断题 1、搬家属于项目。(√) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(×) 3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。(√) 4、项目具有临时性的特征。(√) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(×) 6、项目开发过程中可以无限制地使用资源。(×) 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、下列选项中最能体现项目的特征(C) A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪 3、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 4、项目经理的职责不包括(D) A.开发计划 B.组织实施 C.项目控制 D.提供资金 5、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 6、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。 A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理 9、下列活动中不是项目的是(C) A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统 10、下列选项中不是项目的特征的是(C) A.项目具有明确的目标 B.项目具有限定的周期 C.项目可以重复进行 D.项目对资源成本具有约束性 第二章 二、判断题 1、项目初始阶段甲方为软件开发方,乙方为顾客。(×) 2、项目招标对于一个项目的开发是必需的,即便项目是内部项目。(×) 3、make or buy决策中的make指的只是自主开发。(√)

CMMI 3级软件过程改进方法与规范

C M M I3级软件过程改进方法与规范 软件过程改进是目前IT 企业研发管理的重点与难点。为了提高软件过程能力,企业首先要研制软件过程规范,这是有一定难度并且费时费力的工作。 本书论述的是一套通用的CMMI 3级软件过程改进方法与规范,称为“精简并行过程”(SPP)。SPP 2.0共有19个关键过程域,分为项目管理过程、技术开发过程和支撑过程三大类: ?项目管理过程有7个关键过程域,分别为立项管理、结项管理、项目计划、 项目跟踪、风险管理、外包管理和需求管理。 ?技术开发过程有8个关键过程域,分别为需求开发、技术预研、系统设计、 实现与测试、系统测试、用户验收、产品维护和技术评审。 ?支撑过程有4个关键过程域,分别为配置管理、质量保证、采购管理和培训 管理。 SPP 2.0文档总数约500余页,包含了众多的过程规范和模板。采用SPP,用户可以在最短的时间内建立适合于本企业的软件过程规范,大大降低用户研制规范的代价和风险。 本书的主要读者对象是IT企业的研发主管、项目经理和软件开发人员,以及即将到企业工作的高校毕业生。

前言 一、背景介绍 在国内,绝大多数大中型IT企业几乎都面临着“研发管理混乱”的难题。“研发管理混乱”必将导致“产品质量低下”、“进度延误”、“费用超支”等问题。IT企业谋求发展,研发管理必须规范化,这是大中型IT企业的迫切需求。软件过程改进(Software Process Improvement, SPI)是目前国内大中型IT企业研发管理的重点与难点。 CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。CMM是由美国卡内基-梅隆大学(Carnegie-Mellon)软件工程研究所(Software Engineering Institute, SEI)研制的,其发展简史如下: ?CMM 1.0于1991年制定。 ?CMM 1.1于1993发布,该版本应用最广泛。 ?CMM 2.0草案于1997年制定(未广泛应用)。 ?到2000年,CMM演化成为CMMI(Capability Maturity Model Integration),CMM 2.0成为CMMI 1.0的主要组成部分。 ?CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出。 CMM将软件过程能力分为5个级别,最低为1级,最高为5级。目前国内只有几家IT企业达到了CMM 2级或CMM 3级。鉴于CMM 已经被美国、印度软件业广为采纳,并且取得了卓著成效,近两年来国内兴起了CMM 热潮。CMM受欢迎的程度远远超过了ISO同类标准。 国内IT企业采用CMM的目的大体有两种: (1)主要想提高企业的软件过程能力,但并不关心CMM评估。 (2)既要提高企业的软件过程能力,又想通过CMM评估来提升企业的威望与知名

软件过程改进与管理

软件过程改进与CMMI 第一章绪论 1.1本课题研究的背景 21世纪是信息社会高速发展的世纪,软件作为信息技术的核心,将在其中起着至关重要的作用。随着信息经济、网络经济和科学技术的发展,各行各业已经越来越离不开软件的支持,软件产业的发展,各行各业已经越来越离不开软件的支持,软件产业的发展水平已经成为衡量信息技术发展水平的一个重要因素。 自出现软件危机以来,学术界和企业界对软件工程的研究都倾注了大量的人力、物力和财力,多年来也取得了一些成效。但就全世界而言,软件质量问题仍然非常严重,特别对于军方来说,更是一个致命的问题。正因为如此,美国国防部不惜花费重金,委托美国卡基梅龙软件工程学院(SEI)研究制定软件质量保证规。1991年,第一个软件保证规能力成熟度模型(CMM:Capabiliy Maturity Model)制定完成并在美国应用,随后CMM作为一种软件能力成熟度评估标准在全世界推广实施,主要用于指导软件开发过程改进软件管理能力的提高,从而极提高了软件项目的控制能力和软件产品的质量,促进了全世界软件产业的健康发展。 CMM的应用虽然得到了很好的成效,但也存在一些缺陷,能力成熟度模型集成(CMMI:Capability Maturity Model Integration)应运而生,它是在CMM基础之上的发展和完善,2002年SEI正式推出CMMI,2005年开始逐步取代CMM. 从我国软件产业的发展现状来看,企业管理软件过程的能力还比较弱,过程混乱使得新技术、新工具的优势难以体现。究其原因,是因为我国的软件过程管理缺乏规化和标准化。于是,越来越多的软件企业开始关注软件过程能力的提高,我们把这种用于提高软件过程能力的实践称为软件过程改进。有人将软件过程改进比喻成“练功”,作为软件企业,只有通过苦练功,加强软件过程改进,才能够参与到国际化的竞争中去。CMM和CMMI是软件过程改进领域的重要成果,也是适用于软件企业质量管理和过程改进的重要标准。近年来,国软件企业也兴起了认证热潮,CMM受欢迎的程度远远超过了ISO同类标准。 中央和地方政府也出台了一些优惠政策支持软件企业的CMM认证:国务院出台了《鼓励软件产业和集成电路产业发展若干政策》,第十七条鼓励软件企业出口型企业通过GB/T19000-ISO9000系列质量保证体系认证和CMM认证的软件出口企业,可向外经贸主管部门申请认证费用资助。 本论文正是在这样的背景下,研究分析了软件过程改进的CMM/CMMI理论,并理论联系实际,以某公司为对象,对软件企业基于CMMI的过程改进实践作了更为深入的研究和分析,以期为国其他软件企业实施软件过程改进、提高软件质量、提高企业管理水平提供思路和借鉴。

相关文档
最新文档