软件工程 总结 - 图文

更新时间:2023-12-09 03:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程期末复习提纲 1/16

软件工程复习提纲

第1章 软件工程介绍 ............................................................................................................... 2

软件是什么 .......................................................................................................................... 2 第2章 过程综述 ............................................................................................................... 2

软件工程定义 ...................................................................................................................... 2 层次化 .................................................................................................................................. 3 通用过程框架 ...................................................................................................................... 3 第3章 过程模型 ........................................................................................................................ 4 各种过程模型 ...................................................................................................................... 4 第4章 敏捷视角下的过程 ........................................................................................................ 6

敏捷宣言 .............................................................................................................................. 6 第5章 系统工程 ........................................................................................................................ 7 第6章 需求工程 ........................................................................................................................ 8

质量功能部署(QFD) ...................................................................................................... 8 分析模型的元素 ................................................................................................................ 11 第7章 构建分析模型 .............................................................................................................. 11 第8章 设计工程 ...................................................................................................................... 11 第9章 进行体系结构设计 ...................................................................................................... 12 体系结构风格的分类 ........................................................................................................ 12 第10章 构件级设计建模 ........................................................................................................ 13 第11章 完成用户界面设计 .................................................................................................... 13

黄金规则 ............................................................................................................................ 13 第12章 软件测试策略 ............................................................................................................ 14

软件测试需要计划和执行一系列的测试步骤 ................................................................ 14 第13章 测试技术 .................................................................................................................... 15

两个不同的测试用例设计技术 ........................................................................................ 15 第14章 产品度量 .................................................................................................................... 15

1

软件工程期末复习提纲 2/16

第1章 软件工程介绍

软件是什么

软件是形成配置的一组术语或对象,包括:

程序(计算机程序): 指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求 数据结构:它使得程序可以充分利用信息 文档:描述程序操作和使用的文档(图文资料) 1.

举例说明“意外效应法则”(law of unintended consequences)在计算机软件方面的应用。

某些新科技的发明创造会给其他一些看似无关的技术领域、商业企业、公众甚至整个社会文化带来深远而出人意料的影响和作用。

如: 2.

用自己的语言描述保证通晓规律( The Law of Conservation of Familiarity)、质量衰减规律( The Law of Declining Quality )以及组织稳定性守恒规律( The Law of Conservation of Organizational Stability )。

保证通晓性规律 (1980): 随着E类型系统的演化,所有相关人员(如开发人员、销售人员和用户)都必须清楚地了解演化的内容和过程,以便达到满意的演化效果。

质量衰减规律 (1996): 如果没有严格的维护和适应性调整使之适应运行环境的变化,E类型系统的质量有衰减的趋势。

组织稳定性守恒规律 (1980): 一个不断演化的E类型系统,其组织在全球范围内的平均有效活动率在产品的生命周期中是保持不变的。

3.

在交付最终用户之前,或者第1个版本投入使用之后,许多应用程序都会有频繁的变更。为防止变更引起软件失效,请提出一些有效的解决措施。

首先从心态上承认变化是必然的,我们可以通过在软件发布之前进行alpha , beta 测试,利用迭代模式,在吸取测试过程中的经验之后,立刻改进软件。

同时保持和用户的良好沟通,在提交用户时进行适当培训,让用户按照开发思路进行试用,可以见减少因使用方法不当引起的变化。

第2章 过程综述

软件工程定义 软件工程是:

2

软件工程期末复习提纲 3/16

(1)将系统化、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。

(2)在(1)中所述的方法的研究。 层次化

通用过程框架

1. 沟通(Communication) 2. 策划(Planning) 3. 建模(Modeling)

a) 需求分析(Analysis of requirements) b) 设计(Design) 4. 构建(Construction)

a) 代码生成(Code generation) b) 测试(Testing) 5. 部署(Deployment)

重点:

1.

Baetjer说过“软件过程为用户和设计者之间、用户和开发工具之间以及设计者和开发工具之间提供交互的途径[技术]。”设计下面问题“⑴ 设计者应该问用户的; ⑵ 用户应该问设计者的; ⑶ 用户对将要构建的软件的自问; ⑷ 设计者对于软件产品和建造该产品采取的软件过程的自问。(如何获取需求) 2.

为沟通活动设计一个任务集

1. 识别主要客户和其他共利益者 2. 与客户会谈环境无关的话题 3. 写一页项目范围 4. 评审范围说明 5. 讨论项目大致的阶段

3

软件工程期末复习提纲 4/16

6. 商定各个部门的代表,并使他们相互认识 7. 为计划活动做准备

3.

用自己的话描述过程框架。当我们谈到框架活动适用于所有的项目时,是否意味着对于不同规模和复杂度的项目,可应用相同的工作任务?请解释。

过程框架定义了若干小的框架活动,为完整的软件开发过程建立的基础,这些框架活动可以广泛用于所有的软件开发项目,无论这些项目的复杂性和规模如何,此外,还包括一些适用于各个软件过程的普适性活动。

虽然过程框架是普适性的,但是对于不同规模和复杂度的项目不能应用相同的工作任务。

首先在软件开发的不同阶段,工作任务不同。其次不同的软件项目有不同的需求,有特殊的背景,找不到一种通用的工作任务。

4.

图2-1中,基于“质量关注点”指明了软件工程三个层次。这意味着在整个开发组织内采用质量管理活动,如“全面质量管理”。仔细研究,并列出全面质量管理活动中关键原则的大纲。

第3章 过程模型

各种过程模型

惯例软件过程模型

力图给软件开发带来秩序和结构。尽管每一传统过程模型都建议了一种不同的过程流,但均实现了同样的一组通用框架活动:沟通、计划、建模、构建和部署。 瀑布模型

建议线性流程的框架活动,与软件世界里当代软件开发实际(持续的变更、演化的系统、紧迫的开发时间)不符;但瀑布模型确实适用于需求定义清楚且稳定的软件开发; 增量软件过程模型

通过一系列的增量发布产生软件。 RAD模型

快速应用程序开发,是为大型且必须在严格的时间内提交的项目而设计的; 演化过程模型

认识到大多数软件工程项目的迭代特性,其设计的目的是为了适应变更演化模型(如原型模型、螺旋模型),其快速产生增量的工作产品(或是软件的工作版本),这些模型可以应用于所有的软件工程活动——从概念开发到长期的软件维护。 基于构建的模型

强调构件复用及组装。

4

软件工程期末复习提纲 5/16

形式化方法模型

提倡采用数学的方法进行软件开发和验证。 面向方面的模型

目的是解决跨整个软件体系结构的横切关注点; 统一过程模型

是一种“用例驱动、以体系结构为核心、迭代及增量”的软件过程框架,由UML方法和工具支持。统一过程是一种增量模型,定义了五个阶段:

起始阶段:包括用户沟通和计划活动两个方面,强调定义和细化用例,并将其作为主要模型; 细化阶段:包括用户沟通和建模活动,重点是创建分析和设计模型,强调类的定义和体系结构的表示;

构建阶段:细化设计模型,并将设计模型转化为软件构建实现;

转化阶段:将软件从开发人员传递给最终用户,并由用户完成Beta测试和验收测试; 生产阶段:持续地监控软件的运行,并提供技术支持。

重点:

1.

开发质量“足够好”的软件,其优点和缺点是什么?当我们追求开发速度胜过产品质量的时候,会产生什么后果?

我们总在质量和开发速度之间做取舍,开发质量“足够好”的软件,明显强调质量,优点是使软件符合或超出客户的预期,在性能上,交互上力图做到尽善尽美。缺点是忽视了开发成本,很容易造成开发时间延期,影响软件工程后几个阶段的工作,对全局造成不利影响。 2.

当沿着螺旋过程流发展的时候,你对正在开发或者维护的软件的看法是什么? 在螺旋模式下,开发过程是迭代式的,采用循环的方式逐步加深系统定义和实现的深度,同时降低风险。

当软件交付使用后,螺旋模式没有停止,它将永远保持可操作性,每一圈完成后都会计算成本,可以更好的维护软件。 3.

可以合用几种过程模型吗?如果可以,举例说明。 可以。

几种过程模型,都是相互兼容可以相互扩展的,如螺旋模型结合了原型的迭代性质和瀑模型的系统性和可控性的特点。

在具体项目实施中,对于某一部分可以合用几种过程模型,比如形式语言与自动机演示软件在算法开发过程,就需要使用形式化方法模型,用严格的数学符号定义形式语言和

5

本文来源:https://www.bwwdw.com/article/0ky5.html

Top