软件需求分析复习资料.docx

上传人:b****6 文档编号:3861459 上传时间:2022-11-25 格式:DOCX 页数:35 大小:40.23KB
下载 相关 举报
软件需求分析复习资料.docx_第1页
第1页 / 共35页
软件需求分析复习资料.docx_第2页
第2页 / 共35页
软件需求分析复习资料.docx_第3页
第3页 / 共35页
软件需求分析复习资料.docx_第4页
第4页 / 共35页
软件需求分析复习资料.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

软件需求分析复习资料.docx

《软件需求分析复习资料.docx》由会员分享,可在线阅读,更多相关《软件需求分析复习资料.docx(35页珍藏版)》请在冰豆网上搜索。

软件需求分析复习资料.docx

软件需求分析复习资料

第一章绪论

主要内容

1.软件开发的现状

2.CMM简介

3.INFOSYS公司的项目管理实践

一.软件开发的现状

1.课程的意义

2.软件危机的提出

3.世界软件产业发展现状及中国软件业的差距

1.课程的意义

1.软件开发是一个高风险的过程

2.软件过程的管理是软件成功的关键

3.我国现阶段对软件项目管理的人才需求旺盛

2.软件危机的提出

“软件危机”的三个主要原因:

1.用户不易准确描述对软件的需求,经常存在二义性,遗漏甚至错误

2.大型软件往往需要成百上千人的合作,由于软件系统结构复杂,如何有效组织管理、充分发挥团队作用就成为软件开发成功的关键。

3.缺乏有效的软件开发方法和工具的支持,过分依靠程序设计在开发中的技巧和创造性,加剧了软件产品的个性化。

3.世界软件产业发展现状及中国软件业的差距

美国

印度

爱尔兰

中国的软件现状

(与印度的比较及反思)

软件产值的比较

印度中国(软件产值:

亿)

1999:

53.267.5

2000:

71.788.5

2001:

96.3102.3

软件出口的比较

印度中国(软件出口)

1999:

392.5

2000:

624

2001:

77.87.2

二.软件能力成熟度模型

1.CMM简介

●CMM—capabilitymaturitymodelforsoftware软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。

●CMM包括对软件开发和维护进行策划、工程化和管理的实践。

遵循这些关键实践,就能改进组织在实现有关成本、进度、功能和产品质量等目标上的能力。

●CMM的起源与发展

●我国的CMM现状

几个基本概念

软件过程

软件过程能力

软件过程性能

软件过程成熟度

软件过程

人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。

软件过程能力

●描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。

软件过程性能

●表示(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。

2.CMM的成熟度级别

1.成熟度等级分为5级

2.成熟度等级的五个级别的主要特征

3.软件过程的可视性

4.过程能力和性能预测

成熟度等级1-5

●初始级

●可重复级

●已定义级

●已管理级

●优化级

成熟度等级的五个级别的主要特征

●初始级特征:

软件过程的特点是无秩序的,偶尔甚至是混乱的,几乎没有什么过程是经过定义的,成功依赖于个人努力。

●可重复级特征:

已建立基本的项目管理过程去跟踪成本进度和功能,必要的过程纪律已经就位,使具有类似应用的项目能重复以前的成功。

●已定义级特征:

管理活动和工程活动两方面的软件过程均已文档化、标准化,并集成到组织的标准软件过程中,全部项目均采用供开发和维护软件用的组织标准软件过程的一个经批准的普及剪裁版本。

成熟度等级的五个级别的主要特征(续)

●已管理级特征:

已采集详细的有关软件过程和产品质量的度量,无论软件过程还是产品均得到定量了解和控制。

●优化级特征:

利用来自过程和来自新思想、新技术的先导性实验的定量反馈信息,使持续过程的改进成为可能。

软件过程的可视性

●等级1―――一个黑盒

●等级2―――项目里程碑处具有管理可视性

●等级3―――盒子的内部结构可视

●等级4―――软件过程被配备上度量,并得到定量地控制

●等级5―――对过程不断改进

过程能力和性能预测

●随着成熟度增加,预定目标结结果与实际结果间的差距减少

●随着成熟度增长,实际结果相对预定目标结果的偏差范围减小

●随着成熟度增加,预定目标结果得到改善

3.不同级别的KPA

●关键过程区域(keyprocessarea)

●每个关键过程区域识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标 

●CMM共有18个KPA,2级――6个;3级――7个;4级――2个;5级――3个。

●KPA的特性:

●A.  每个KPA识别出一串相关活动

●B.  每KPA定义在单个成熟度等级上

C.KPA鉴别出为达到某一成熟度等级所必须解决的问题

等级2的KPA

   需求管理RM(requirementsmanagement)

   软件项目策划SPP(softwareprojectplanning)

  软件项目跟踪和监督SPTO(spftwareprojecttrackingandoversight)

 子合同管理SSM(softwaresubcontractmanagement)

   质量保证SQA(softwarequalityassurance)

软件配置管理SCM(softwareconfigurationmanagement)

等级3的KPA

组织过程焦点OPF(organizationprocessfocus)

组织过程定义OPD(organizationprocessdefinition)

 培训大纲TP(trainingprogram)

集成软件管理ISM(integratedsoftwaremanagement)

 软件产品工程SPE(softwareproductengineering)

 组间协调IC(intergroupcoordination)

 同行评审PR(peerreviews)

等级4的KPA

     定量过程管理QPM

(quantitativeprocessmanagement)

    软件质量管理SQM

(softwarequalitymanagement)

等级5的KPA

        缺陷预防DP

(defectprevention)

        技术改革管理TCM

(technologychangemanagement)

 过程更改管理PCM

(processchangemanagement)

关键过程域(KPA)的结构

目标

共同特点

(执行约定,执行能力,执行活动,测量和分析,验证实施)

目标

目标概括一个PKA中的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPA。

目标表示每个关键过程域地范围、边界和意图。

共同特点

执行约定(CommitmenttoPerform)

执行能力(AbilitytoPerform)

执行活动(ActivitiesPerformed)

度量和分析(MeasurementandAnalysis)

验证实施(VerifyingImplementation)

执行约定(CommitmenttoPerform)

执行约定是企业为了建立和实施相应KPA所必须采取的行动,这些行动主要牵涉到企业范围的政策和高层管理的责任。

执行能力(AbilitytoPerform)

执行能力描述为了使某软件过程得以始终如一地执行的必须在项目或企业中存在的先决条件,是企业实施KPA的前提条件。

企业必须采取措施,在满足了这些条件后,才有可能执行KPA的实践活动。

执行能力关注于项目计划的实践;资源的配置;责任的布置与授权;以及各种有关的培训等,这些都是为了执行这个关键过程域的活动而对特定人以及作为整体的机构的能力开发起非常重要作用的事务。

执行活动(ActivitiesPerformed)

●执行活动描述了执行KPA所需求的必要行动、任务和步骤。

在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。

执行活动一般包括计划、执行的任务、任务执行的跟踪等。

验证实施(VerifyingImplementation)

●验证实施是验证执行活动是否与建立的过程一致,核实以确保所实施的过程是按照原定的计划以及达到其目标,着眼于保证过程的实现要通过独立的个人和高级管理人员验证。

涉及到管理的评审和审计以及质量保证活动,包括:

过程执行的确保,产品要求的确保,高层管理人员进行的审核和项目经理进行的审核。

测量和分析(MeasurementandAnalysis)

●测量和分析关注于这个关键过程域的活动需要作的度量和度量分析要求。

典型的测量和分析的要求是确定执行活动的状态和执行活动的有效性。

4.CMM的评估方法

1.过程评估与过程评价

2.过程评估的方法

过程评估与过程评价

软件过程评估:

用于确定一个组织的当前软件过程的状态,确定组织所面临的具有高优先级的与软件过程有关的问题,和获得组织对软件过程改进的支持

软件过程评价:

由于识别合格的能完成软件工作的承包商或者监控现有软件工作中所应用的软件过程的状态

过程评估的方法

成熟度问卷

文档

面谈

三.INFOSYS公司的项目管理实践

1.INFOSYS公司的背景知识

2. SEPG对项目的支持

3. 高层经理参与项目

4. 项目经理培训

5.项目管理过程(项目规划,项目执行,项目收尾)

第二章软件项目管理概述

●项目管理的概念

●项目管理的主要内容

●项目管理的阶段划分

1.什么是项目管理?

Badiru(1991)将项目管理定义为:

一种为高效恰当地完成某个既定的目标而对资源进行管理、分配和调度的过程。

我们也可以把项目管理定义为:

一种为实现既定目标而对技术、人力及金融资源所进行的系统集成。

项目的特征

一个明确的范围和目标;

一个预期的完成时间;

有可以利用的资源;

一种已定义的性能评估方法;

评审工作时使用的评估等级。

2.项目管理的主要内容

●项目管理的8方面内容:

范围管理、质量管理、

时间管理、成本管理、

风险管理、人力资源管理、

合同/采购管理、通讯管理

项目管理主要有三个大的阶段

项目规划

项目执行

项目收尾

●项目规划:

主要是项目经理审阅合同条款,并制定一个满足他们的计划,实际上包括:

定义生命周期、估计工作量和进度、制定任务进度计划等。

●项目执行:

包括执行项目计划、跟踪项目的状态,并在项目的绩效偏离项目计划设定的绩效时采取措施进行纠正。

●项目收尾:

主要是在客户接收工作产品之后对项目进行系统的总结。

数据分析是这一阶段的主要任务。

第三章需求规格和需求管理

需求过程:

需求开发(分析和产生需求的过程,

发生在软件生命周期的开始)

需求管理(包括对需求的评审,

跟踪和控制活动,贯穿于整个生命周期)

一.需求分析和需求规格

●需求分析的过程

●需求规格说明书

●(需求规格说明书的要求)

二.需求变更管理

●需求是会发生变化的,而且需求的变更可以在项目生命周期的任何时间发生。

越是发生在后期,对项目的影响越大。

如何管理好需求变更的申请是非常重要的。

变更管理过程

●变更管理过程规定如何发出变更申请、何时需要正式批准等。

在出现需求变更申请时,必须执行需求变更管理过程。

一般的变更管理过程

●记录变更

●分析变更对工作产品的影响

●估计变更申请所需的工作量

●重新估计交付时间表

●执行累计的成本影响风险

●如果影响超出一定的限度,则与高级主管一起评审影响

●客户不再提出变更申请

●修改工作产品

三.需求的跟踪管理

●跟踪矩阵

●跟踪矩阵的维护和使用

第四章过程定义和过程裁剪

●过程描述:

是项目可以用来遵照执行某些任务的一系列步骤,以及执行这些步骤的指南。

开发过程

开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户所需的过程:

概要设计

详细设计

编码和单元测试

集成测试

系统测试

验收测试和安装

文档整理

系统维护

概要设计

主要给出从计算机的逻辑角度开发针对用户需求的解决方案。

输入准则:

需求规格文档经过评审并授权

输入:

需求规格文档

输出准则:

概要设计文档经过评审和授权

输出:

概要设计文档、项目标准、概要设计评审记录

度量:

工作量、缺陷

主要步骤:

详细设计

●进一步对概要设计中的整体应用分解,分解成模块和程序,对程序进行逻辑设计。

●输入准则:

概要设计文档经过评审和授权

●输入:

概要设计文档

●输出准则:

详细设计文档和单元测试计划已经经过评审和授权

●输出:

详细设计文档和单元测试计划

●度量:

工作量、缺陷

●主要步骤:

编码和单元测试

●根据详细设计用编程语言编写所需要的程序

●输入准则:

详细设计文档经过评审并授权

●输入:

详细设计文档、项目标准、单元测试计划、程序框架

●输出准则:

成功执行所有单元测试计划中的测试用例

●输出:

源代码、可执行代码、测试数据

●度量:

工作量、缺陷

●主要步骤:

集成测试

●已通过单元测试的模块构建成一个完整软件结构的系统方法

●输入准则:

概要设计文档经过评审和授权

●输入:

概要设计文档和程序

●输出准则:

成功执行所有集成测试计划中的测试用例

●输出:

源代码、可执行代码、测试数据

●度量:

工作量、缺陷

●主要步骤:

系统测试

●是依据需求规格验证软件产品有效性的活动;目的是为了发现那些只有通过测试整个系统才能暴露的缺陷

●输入准则:

需求规格和概要设计文档经过评审和授权

●输入:

需求规格和概要设计文档

●输出准则:

成功执行所有集成测试计划中的测试用例

●输出:

源代码、可执行代码、测试数据

●度量:

工作量、缺陷

●主要步骤:

验收测试和安装

●把软件产品集成到它的操作环境中,并在这个环境中经受测试,确保它按需求执行。

●输入准则:

成功的完成系统测试

●输入:

测试后的软件和验收测试文档

●输出准则:

客户签署验收单

●输出:

安装后的软件

●度量:

工作量和缺陷

●主要步骤:

文档

●主要是操作手册,用户手册及客户需要的其他文档。

●主要活动:

系统维护

●输入准则:

●输入:

●输出准则:

●输出:

●度量:

●主要步骤:

过程裁剪

过程裁剪是调整组织标准过程的过程,以此来获得用于项目的特定业务或技术需要的过程。

主要有:

概要裁剪指南

详细裁剪指南

概要裁剪指南

●提出基于某些项目特效,在项目中应该如何执行一些通常的活动。

●概要级剪裁:

根据项目特征,应用总体指南标准对标准过程进行剪裁,用到如下特征。

(1)      团队和项目经理的经验和熟练程度。

(2)      团队人数最多时的人数。

●(3)      需求透明度

●(4)      项目持续时间

●(5)      应用的关键程度

详细裁剪指南

列出过程中各种生命周期阶段的所有活动,还包括对每个活动相应的裁剪活动,指定每个步骤是必要的还是可裁剪,并给出选择的指南。

第五章过程数据库与过程能力基线

关键要素:

过程数据库(processdatabase,PDB)

过程能力基线(processcapabilitybaseline,PCB)

过程财富(processasset)

一.软件度量

软件度量可以来量化地描述软件过程和软件产品的不同方面的特点。

过程度量

产品度量

软件度量的作用

●项目计划

●控制项目过程

●分析和改进组织过程

二.过程数据库

是存放从项目可获得的过程性能数据的数据库,这些数据可以用于项目计划、估计、生产率和质量分析等。

PDB由已经完成的项目的数据构成

PDB用途:

1.PDB内容

项目特征

项目进度

项目工作量

项目规模

故障

风险

2.PDB的建立及其访问

PDB由SEPG建立

项目经理可以阅读

二.过程能力基线

过程能力基线(PCB)的主要内容:

已交付软件的质量

生产率

进度计划

工作量分布

故障引入率

过程中故障排除率

质量成本

故障分布

过程财富

●过程财富的组成:

●1、组织标准软件过程

●2、组织的软件过程数据库/过程能力基线

●3、软件生命周期描述

●4、标准软件过程的剪裁指南和准则

5、软件有关文档

第六章工作量估计和进度安排

●工作量估计模型

●自顶向下的估计方法

●规模估计--整体工作量--各阶段工作量

●COCOMO模型

●自底向上的估计方法

●各阶段的工作量--整体的工作量

●此方法可以直接估计工作量

自底向上的估计方法

●1.估计方法

●任务分解--每个程序单元的复杂度定义--估计每个单元的编码工作量--计算整个程序的编码工作量--导出整体项目的工作量--各阶段的工作量

2。

程序单元分类的准则

2.程序单元分类的准则

各种平台,各种语言,各种环境分类的标准不一样。

3.方法的有效性

估计工作量与实际工作量的比较

自顶向下的估计方法

●规模估计--整体工作量--各阶段工作量

●估计的步骤:

规模估计方法

软件规模估计的主要估算方法有代码行(LOC/KLOC)和功能点法

COCOMO模型

基本COCOMO模型:

中级COCOMO模型:

进度计划

●整体进度计划

●详细进度计划(主要里程碑)

第七章质量计划和缺陷估计

●软件质量:

是指软件产品满足规定的和隐含的需求的能力和有关特征的集合,软件过程质量决定了软件质量。

●质量管理

●量化质量管理计划

一.质量管理

●1.软件质量和缺陷

●软件质量的定义:

我们用已交付软件的故障密度作为软件质量的定义――即,已交付软件中每个单位规模的故障数。

●质量管理的任务是规划合理的质量控制任务,然后正确地执行和控制它们,以实现项目的质量目标。

●故障排除任务包括需求评审、设计评审、代码评审、单元测试、集成测试、系统测试和验收测试。

●2.质量管理的程序化方法

●3.质量管理的量化方法

●两个关键工作:

●设定量化质量目标

●量化管理软件开发过程

●4.基于缺陷预测的量化质量管理

二.量化质量管理计划

●设定质量目标

●质量过程计划

●其他阶段的缺陷估计

第八章风险管理

●风险管理(Riskmanagement)试图使由于意外事件而导致项目失败的概率降到最小。

●主要包括:

●风险评估

●风险控制

一.风险和风险管理概念

●什么是风险:

风险是那些可能发生的事件或者条件,如果它确实发生了,则它的发生会对项目产生有害的或者负面的影响。

另一方面,风险是一种概率事件,可能发生也可能不发生。

●风险管理的目标:

旨在识别出风险,然后采取措施使它们对项目的影响最小

●特点:

风险管理是要付出额外的成本;风险管理的价值不容易度量

二.风险评估

●风险识别

●识别风险常用的方法:

●风险等级划分

●根据风险暴露度划分(RE)

●RE(r)=Prob(r)*Loss(r)

三.风险控制

●风险管理规划

●任务是确定使风险后果最小所需的措施,也称风险缓和措施。

●风险监督和跟踪

第九章项目管理计划

●项目管理计划(ProjectManagementPlan----PMP)文档是项目经理承担的所有规划任务的核心。

各种规划任务的结果都出现在该文档中,它是指导所有项目执行的基准文档。

分四大部分:

项目概述,项目计划,项目跟踪,团队。

●项目管理计划的主要使用者:

●业务主管

●项目经理

●项目的开发人员

一.项目概述

●项目的起止日期、项目经理、项目目标、与客户的联系、对客户的主要承诺以及所做的假设前提。

二.项目计划

●项目过程

●标准过程的描述、剪裁指南、需求变更管理

●工作量估计

●开发环境

●工具

●培训计划

●质量计划

●里程碑

●风险管理计划

三.项目跟踪

●任务跟踪

●事宜跟踪

●客户反馈

●状态报告

●升级规程

四.项目团队

●项目机构

●项目组

●角色和职责

第十章配置管理

●软件配置管理(softwareconfigurationmanagement,SCM)是项目管理中专门用于关注系统地控制项目进行中发生的变更的那些部分,由用来识别组织软件产品并控制其修改的一系列活动构成。

一.配置管理概念

●软件配置管理(softwareconfigurationmanagement,SCM)是项目管理的一项内容,主要涉及对变更进行系统地控制,建立和维护在项目的整个软件生存周期中软件项目产品的完整性。

●主要包括:

标识在给定时间点上软件的配置,系统地控制对配置项的更改、并维护在整个软件生存周期中配置的完整性和可跟踪性。

配置管理的功能与机制

●配置管理的功能:

(1、给出程序的状态;2、给出一个程序的最新版本;3、处理并发更新申请;4、取消一个程序变更;5、防止未授权的变更或者删除;6、提供需求变更申请和程序变更之间的可跟踪性;7、取消一个需求变更;8、显示相关的变更;9、收信当前系统的所有源代码、文档和其他信息。

●配置管理的机制包括:

(1、文件命名和组织的约定;2、版本控制;3、变更申请的可跟踪性;4、访问控制;5、协调过程;6、修改登记程序。

二.配置管理过程

●主要有:

●配置规划;

●配置执行;

●状态监控

配置管理规划和制定

标识出典型的配置项

SCM人员或者项目经理进行SCM规划。

该阶段的任务主要有:

执行配置管理

●配置控制任务主要有两个:

●一个涉及程序的状态转移管理;

●另一个涉及必须被实现的变更申请的管理

●变更申请的步骤:

1、接受变更申请(影响分析之后);2、建立一种跟踪机制;3、检出需要进行变更的配置项;4、执行变更;5、注册配置项;6、在项目的整个生命期内维护该项目。

状态监督和审计

三.配置管理计划示例

第11章评审

●评审是最有效的也是最常用的标识故障的方法,可以对文档及代码进行评审。

评审还可以使管理人员掌握项目的进展。

评审的功能及特点:

1、评审可以应用于软件开发各介阶段、产生的各种类型产品——范围广;

2、评

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1