您的当前位置:首页正文

软件过程与管理复习题

2024-04-26 来源:榕意旅游网
复习题

1. 软件过程通常分为哪几类,简述每一类过程中的主要内容有哪些. (1)软件工程(实现)过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。

(2)软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。 (3)软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。 2.简述有哪几种典型的软件过程模型 (1)瀑布模型

(2)螺旋模型、增量模型 (3)V模型 (4)极限编程(XP)

(5)IBM-Rational统一过程(RUP)

3. 简述不成熟的软件企业通常具有哪些特性。

(1)软件过程能力低,不能按预定计划开发出客户满意的产品,项目拖延、 费用大大超出预算已成惯例。

(2)过程性能的不可预见性,对进度和预算估计、产品质量的目标缺乏历 史数据和有效方法的客观基础,开发的进度、成本和产品的质量都难以 预测。

(3)过程的不可视性,软件过程缺乏定义、缺乏文档和缺乏跟踪,在整个 软件过程中,不清楚每个阶段进出的标准、执行的方法和规则。 (4)过程的不稳定性,实际的、具体的操作过程是在一个项目开始后临时 拼凑而成,每个项目都不一样。 (5)过程的被动性、缺乏改进的主动性。

4.什么是CMM,五个级别分别是什么?并简述五个级别的特点.

CMM是软件过程能力成熟度模型(Capacity Maturity Model,CMM)的

简称。CMM由美国卡内基·梅隆大学的软件工程研究院(SEI)提出。CMM可以有效地帮助软件企业建立和实施过程改进计划。它描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变等方面的指导。

CMM的五个级别:

初始级:具有明显的不成熟过程的特点.

可重复级/受管理级:建立了管理软件项目的方针和实施这些方针的规程. 已定义级:具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体。 已管理级:软件过程是量化的管理过程。

优化级: 为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程

5.画出CMM的结构图。

6.简述什么是PSP和TSP。

个体软件过程(PSP)着重于软件开发人员的个人培训、品质改善和工数估算,既是软件能力成熟度从组织转向个人的飞跃,也是软件工程从定性转为定量的标志。

团队软件过程(TSP)讲述了如何创建高效且具有自我管理能力的工程小组,工程人员如何才能成为合格的项目组成员,管理人员如何对群组提供指导和支持,如何保持良好的工程环境使项目组能充分发挥自己的水平等软件

工程管理问题。

7.什么是RUP,其主要特点是什么。

RUP:Rational Unified Process,Rational公司提出的软件过程模型。主要有三大特点:

(1)用例驱动: 用例用于驱动大量的开发活动,包括创建和确认系统结构;定义和测试事件和过程;计划反复过程;创建用户文档;系统开发。用例用于同步不同模型的内容。

(2)以架构为中心:在早期使全局的结构基本稳定,控制了架构质量,就可以保证重大风险不会发生,保证了软件未来的扩展性.

(3)迭代和增量开发:开发被组织成一系列固定的短期小项目,称为迭代。每次迭代都具有各自的需求分析、设计、实现和测试活动

8.RUP过程模型包含哪四个阶

(1)初始阶段:主要内容包括识别所有与系统交互的外部实体,在较高层次上定义其交互特性。产出需求文档、原始用例模型、原始的风险评估、一个或多个原型、粗略评估成本。

(2)细化阶段:主要内容包括细化愿景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评估成本。

(3)构造阶段:主要内容包括所有剩余的构件、应用程序功能、产品功能集成产品详尽测试。

(4)移交阶段:软件产品交付给用户群体。

9.简述项目的风险管理的内容

(1)风险识别:项目初始时,制作风险列表,列出可能的风险 (2)风险分析:分析每个风险发生的概率,以及可能造成的危害,制定预备方案。

(3)风险监控:跟踪监控每个风险是否发生,是否化解

(4)风险处理:一旦发生,做相应处理

10.基于UML建模时,用于获取用户需求的模型时什么?

通常采用用例模型获取需求.用例模型包含用例图、顺序图或活动图等. 用例图从用户的视角来表示系统功能。用例描述使用场景,可用于用户模型视图的建模方案。顺序图或活动图从动态的角度,描述用例场景中的各对象的行为。

11. 需求分业务需求、用户需求和功能需求,简述三种需求的内容分别是什么。

(1)业务需求反映了组织机构或客户对系统、产品的概括的目标要求,它在项目视图与范围文档中予以说明。

(2)用户需求文档从实际用户的角度,描述系统应该具有的功能,以及为了完成这些功能的任务的集合。用户需求在用户案例文档或方案脚本中予以说明。

(3)功能需求从系统的角度出发,描述为了完成用户的需求,系统必须实现哪些软件功能,系统内部所作的操作以及所用的数据信息。

12.什么是需求评审,从哪几个方面进行评审。

需求评审是需求分析阶段结束时,对需求分析人员提出的需求文档进行审查的过程。审查的内容包括功能性需求和非功能性需求。对每个需求应该从完整性、正确性、可行性、必要性、设定优先级、明确性和可验证性等方面进行评审。

13.简述验证、确认、测试的概念。

(1)验证(verification)是指验证或检验软件是否已正确地实现了产品规格书所定义的系统功能和特性,验证过程提供证据表明,软件相关产品与所有生命周期活动的要求相一致。

(2)确认(validation)是为了保证所生产的软件可追溯到用户需求的一系列活动,确认过程提供证据,表明软件是否满足客户需求,并解决了相应问题。 (3)测试(testing)是为了发现软件的缺陷,减少产品质量的潜在风险。测

试是实现验证活动和确认活动的最有效的手段和途径。

测试是通过执行程序实现的。验证和确认可以通过对文档和代码进行审查的方式实现。

14.简述在做项目计划时,需要对哪些方面进行估算和分析。 (1)规模:通常用代码行技术或功能点技术估算软件规模

(2)成本:软件开发成本是指开发和维护软件过程中所需的代价。主要是指开发人员的工资,另外还有硬件设备、其他软件、管理、培训等方面的成本。

(3)人员安排

(4)进度计划:通过将系统分解为多个任务的方法,利用一些图形工具进行计划。

15.简述一次完整的软件评审的过程。

16.软件测试和软件评审都是保证软件质量的手段,请简要对二者进行比较。 软件测试是指通过运行程序,发现程序中的错误的过程。软件评审是指对开发中的某一产品进行审查,发现缺陷的过程。两者目的都是为了发现错误和缺陷。不同之处在于(1)所应用的阶段不同:测试只有在代码实现之后才能进行,评审在任何阶段都能进行;(2)所应用的对象不同,测试只能应用于

程序,而评审对任何中间产品都适用,对代码或文档都可以评审。

17.什么是软件评审,其目的是什么?举出五种软件评审的技术。 临时评审(Ad hoc review) 轮查(Passroud) 走查(Walkthrough) 小组评审(Group Review) 审查(Inspection)

18.什么是基线,在软件生命周期中通常有哪些基线。

IEEE的定义:已经通过正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并只有通过正式的变化控制过程才能改变它。

软件生命周期中的基线通常有计划基线、 需求基线、 设计基线、编码基线、 测试基线

19.什么是软件配置项,简述配置管理的过程。

在软件生存周期内所产生的各种应纳入管理范围的系统构成成分。包括各种文档,代码,以及运行所需的各种数据等。

配置管理就是管理软件生命周期中配置项的变化的过程,具体流程如下。

20.微软的开发模式是什么,有何特点。

微软软件开发遵循着一种可称之为“靠改进特性与固定资源来激发创造力”的战略。该战略可分为五个原则: 五个原则:

(1)将大项目分成若干里程碑式(Milestone)的重要阶段,各阶段之间有缓冲时间,但不进行单独的产品维护。

(2)运用想象描述和对特性的概要说明(Program Specification)指导项目。 (3)根据用户行为(User Behavior)和有关用户的资料确定产品特性及其优先顺序。

(4)建立模块化的和水平式的设计结构,并使项目结构反映产品结构的特点。

(5)靠个人负责和固定项目资源实旋控制。

因篇幅问题不能全部显示,请点此查看更多更全内容