软件工程过程复习资料

软件工程过程期末考试复习

456+78

1.软件工程是借鉴传统工程的原则,方法,以提高质量,降低成本为目的的指导计算机软件开发和维护的工程学科。(填空)

2.软件生存周期过程:主过程,支持过程,辅助过程。

3.主过程:软件从无到有到运营的过程。这些过程包括:获取,供应,开发,运行和维护。

4.需求工作的主要活动:需求分析与规范、需求变更管理、需求跟踪管理。

5.需求分析:定义软件产品的功能、性能、质量要求、接口、安全需求、人机工程、数据定义、用户使用手册、安装与验收需求、用户操作与执行要求。

6.维护需要的时间最长。

7.风险对项目的影响有正面也有负面(错)

8.软件测试目的:尽可能发现错误,靠需求设计、编码、来保证软件质量。

9.测试工作依据测试对象的不同,可分为:单元测试、集成测试、系统测试、验收测试。

10.软件维护分类:软件更新:会导致软件产品的功能说明发生改变。校正性维护:在不改变软件功能说明的前提下,修正软件中处理、性能、或实现等方面的错误。适应性维护:在不改变软件功能说明的前提下,修正处理或数据环境的改变。完善性维护:在不改变软件功能说明的前提下,为增强性能或可维护性而进行的维护。

11.软件项目的生存周期:项目启动,项目规划,项目实施,项目收尾。项目启动:项目启动是确定项目的目标和范围。项目规划:项目规划是建立项目的基准计划。 项目实施:项目实施是按照计划执行和监控项目。 项目收尾:项目收尾是交付产品以及总结经验教训。

12.风险:软件估算风险,商业影响风险,客户相关风险,开发技术风险,开发环境风险,开发人员风险,过程相关。

13.配置项:如果把这些工作制品置于配置管理的控制之下,则他们被称之为软件配置项。

14.基线:基线是经过正式评审和和认可的一组软件配置项(文档或其他软件产品)

15.基线的作用:把各个阶段的工作划分的更加明确,是本来连续的工作在这些节点上断开,以便于验证和确认的开发成果。

16.基线的三种能力:再生能力,可追踪能力,报告能力。

17.版本是确定在明确定义的时间点上某个配置项的状态,他记录了软件配置项的演化过程。版本管理是对系统不同版本进行标识和跟踪的过程,他可以保证软件技术状态的一致性。

18.验证与确认(v&v):验证用于确保任何活动的产品或阶段性产品符合这些活动和阶段的需求,即正确性,完整性,一致性和准确性等,并支持下一个活动和阶段。确认用于确保软件满足了用户的要求,因此一些主要的确认活动出现在项目生存周期的后期,始于集成和测试,并一直到项目的结束。

19.软件质量保证(sqa):是在软件生存周期内为了保证软件产品符合其指定的需求,软件开发过程符合已建立的计划而提供的保证过程,其工作重点更侧重于事前的预防。

20.sqa和v&v的相同点:两者的目标都是监控项目和产品,确保客户得到符合质量标准质量的产品。

21.sqa和v&v的不同点:他们是从两个非常不同的角度来实现这个相同的目标的,在v&v工作期间,质量保证功能的作用是对v&v活动进行监督确保遵守v&v计划中给出的规程。因此质量保证的功能是确保组织所进行的工作符合项目规定的方法和规程。Sqa是一种内部的方法,主要处理标准的符合问题和产品流的符合问题。Sqa并不能评价软件本身是否符合技术规范,也不评估功能和性能需求。v&v工作关注一个项目产品的技术属性及其开发过程。v&v为评估一个软件项是否满足他的技术规范和所期望的使用提供了详细的工评价。

22.软件生存周期内,软件文档可大致分为三大类:软件开发类,软件过程管理类和用户类。

23.软件生存周期模型:一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,其中这些过程、活动和任务覆盖了从该系统的需求定义到系统的使用终止。

24.软件生存周期模型特点:描述了开发的主要阶段,定义了每一个阶段要完成的主要过程和活动,规范了每一个阶段的输入和输出(提交物),提供了一个框架,可以把必要的活动映射到该框架中。

25.根据软件生存周期模型所要求的规范的全面程度,又可以把过程模型分为:1计划驱动的模型2敏捷模型

26.瀑布模型

优点:1.容易理解、管理成本低。2.文档产生并提供了贯穿生命期的进展过程的充分说明。允许基线和配置早期接受控制。

缺点:1.客户必须能够完整、正确和清晰地表达他们的需要。2.在开始的两个或三个阶段中,很难评估真正的进度状态。3.直到项目结束前都不能演示系统的能力。

  1. V模型(瀑布模型的一个变体,被广泛的应用于软件外包中。)

优点:1.对实现者和测试者的分离。2.v模型中的质量保证活动和项目同时展开,项目一启动,软件测试的工作也就启动了,从而避免了瀑布模型在代码完成之后才进行软件测试的弊端。

缺点:1.在开始的两个或三个阶段中,很难评估真正的进度状态2.客户必须能够完整、正确和清晰地表达他们的需要。

  1. 螺旋模型(是一种以风险为导向的生存周期模型。)

优点:1扩展了风险范围;2风险驱动

缺点:1一个周期执行时间太长;2要有方法和自动化工具支持,否则无法实施

  1. 增量模型(瀑布模型的演变而来,瀑布模型的精化):

优点1具有瀑布模型的优点;2第一个可交付版本所需要的成本和时间很少 ;3开发由增量表示的小系统所承担的风险不大 ;4由于很快发布了第一个版本,因此可以减少用户需求的变更 ;5允许增量投资,即在项目开始时,可以仅对一个或两个增量投资。

缺点1如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定 ;2如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布 ;3管理发生的成本、进度和配置的复杂性,可能会超出组织的能力.

演化生存周期模型(显示的把增量模型扩展到需求阶段)

优点:1在需求不能予以规范时,可以使用这一演化模型 2用户可以通过运行系统的实践对需求进行改进 3与瀑布模型相比,需要更多用户/获取方的参与

缺点:1演化模型的使用仍然处于初步探索阶段,因此具有较大的风险,需要有力的管理

2即使很好地理解了需求或设计,该模型的使用也很容易成为不编写需求或设计文档的接口。

3用户/获取方不理解该方法的自然属性,因此当结果不够理想时,可能产生抱怨

  1. RUP:其主要特点是以用例驱动的、以构架为中心的,风险驱动的迭代和增量的开发过程。
  2. RUP的九个流:管理工作流;环境工作流;配置与变更工作流;业务建模工作流;需求工作流;设计工作流;实现工作流;测试工作流;部署工作流。
  3. 生存周期的四个阶段:初始阶段;细化阶段;构造阶段;移交阶段。
  4. 细化用例路径:基本路径:是指用例在最通常情况之下发生的路径;备选路径:是一个合法路径,只是发生的频率低一些而已;异常处理路径:不经常发生的路径,应用程序用以捕获错误情况,并不是每个用例都必须有异常处理情况。
  5. 软件成熟周期的五个阶段:初始过程:初始级,初始过程表现的非常随意,有时甚至是混乱的;可重复过程:可重复过程建立了基本的项目管理过程,已实现对成本,进度和功能的跟踪;已定义过程:在已定义过程级别上,组织对过程进行定义,作为持续实施和更好的理解过程的基础;已管理过程:在已管理级别上,组织开始收集软件过程和产品质量的详细测量,全面度量和分析过程,并能对软件过程和产品予以定量的理解和控制;优化过程:在优化过程级别上,组织已经建立了持续改进和优化过程的基础。通过来自过程和先进创新思想和技术的量化的反馈,能够不断的进行过程改进。

瀑布模型(图)

V模型(图)

增量模型(图)

增量的瀑布开发模型(图)

演化生存周期模型(图)

螺旋模型(图)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/nanaz11/article/details/81148249