软件工程主要知识点

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.软件的定义?(P1)

计算机(程序)、(规程)以及运行计算机系统可能需要的相关(文档)和(数据)。

2.应用软件的分类?(P2)

通用软件和定制软件

3.软件的本质特性?(P3)

复杂性、一致性、可变性、不可见性

4.软件危机的表现?(P5-7)

1、软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜。

2、软件存在错误多,性能低,不可靠,不安全等质量问题。

3、软件成本在计算机系统的整个成本中所占的比例越来越大

4、软件维护及其困难,而且很难适应不断变化的用户需求和使用环境。

5.软件工程的定义?(P7)

①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工程化应用到软件上;②对①中所述方法的研究。

6.软件工程包括哪些基本要素?简述它们的作用?(P7-8)

过程、方法、工具

方法:为软件开发提供了“如何做”的技术、通常包含某种语言或图形的模型表示方法,设计实践和质量保证标准。

工具:为软件工程的方法提供自动或半自动的软件支持环境辅助软件开发任务完成。

过程:是管理和控制产品质量的关键,将人员、技术、组织与管理有机的结合起来。

7.软件的质量可以从哪些方面评价?(P8-9)

可用性、有效性、可依赖性、可维护性

8.软件工程方法有哪些?(P9-10)(传统方法<面向过程的方法、面向数据的方法等>、面向对象方法)

传统方法:面向数据方法、面向过程方法

面向对象方法

9.CASE系统的三个层次?(P10-11)

工具:CASE工具支持单个过程的任务

工作台:CASE工作台支持某一过程阶段的活动

环境:CASE环境支持整个软件过程的所有活动或者大部分活动,通常是若干CASE工作台的集成

10.SWEBOK的10个知识域?英文名称?(P15-19)

1软件需求(Software requirements)→2软件设计(Software Design)→3软件构造(Software Construction)→4软件测试(Software Testing)→5软件维护(Software Maintenance)→6软件配置管理(Software Configuration Management)→7软件工程管理(Software Engineering Management)→8软件工程过程(Software Engineering Process)→9软件工程工具与方法(Software Engineering Tools and Methods)→10软件质量(Software Quality)

11.软件工程与其他相关学科的关系?(P19-20)

软件工程将计算机科学,数学,工程学和管理学等基本原理应用于软件开发的工程实践中,并借鉴传统工程的原则和方法,以系统的,课控的,有效的方式产生高质量的软件。

1.软件工程目标?(P23)

优质,高效

2.软件过程的定义?(P24)

软件工程人员为了获得(软件产品)而在(软件工具)的支持下实施的一系列(软件工程)活动。

3.软件过程的基本活动?(P25-26)

1、问题提出

2、软件需求规格说明

3、软件设计

4、软件实现

5、软件确认

6、软件演化

4.软件过程的制品有哪些?(P26-27)

1、软件需求制品

2、软件设计制品

3、软件实现制品

4、软件测试制品

5、软件实施制品

5.软件过程模型有哪些?各有哪些特点?适用的项目?

瀑布模型:规定需求、设计、实现、测试与维护这些基本活动,并固定次序。

快速原型:迅速构件一个软件模型,进一步细化待开发的需求,逐步修改原型。

增量模型:软件作为一系列的增量构件来设计、实现、集成和测试。

螺旋模型:将瀑布和快速原型结合起来。

形式化方法模型:将需求描述提炼成用数字符号表达的形式化描述。然后形式化转换。

基于组件的开发模型:依赖于可复用的组件和相应的集成环境,提高开发效率和产品质量。

1. 软件项目管理活动有哪4个阶段?(P38-40)

项目启动→项目规划→项目实施→项目收尾

2. 3种典型的开发组织方式?(P40-41)

民主式、主程序员式和技术管理式

3.项目的沟通方式有哪些?(P46-47)

1、直接交谈

2、电话交谈

3、电子邮件

4、会议

5、项目网站

6、书面报告

4.软件规模估算的方法有哪些?(P50-51)

代码行技术,功能点技术

5.软件成本估算有哪些技术?(P54-55)

1、专家判断

2、类比估算

3、COCOMO模型

6.软件风险管理的过程有哪些基本活动?(P58图3.8)

1、风险识别

2、风险分析

3、风险规划

4、风险监控

7.什么是配置管理?(P65)

一种(标识、组织和控制)修改的技术,其作用于整个软件生命周期,其目的是是错误到达最小并最有效地提高生产率。

8.什么是基线?(P65)

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

9.配置管理活动有哪些?(P66-68)

1、配置项标识

2、版本管理

3、系统构建

4、变更控制

1. 软件需求的定义?(P71)

1、用户解决问题或达到目标所需的条件或能力

2、系统或系统部件要满足合同、标准、规范化或其他正式规定文档所需具有的条件或能力

3、一种反应上面1或者2所描述的条件或能力的文档说明

2.软件需求可分为哪些类型?(P72图4.1)

业务需求、用户需求、功能需求、非功能需求、系统需求

3.需求工程包括哪些基本活动?每一项活动的主要任务是什么?(P76,P77-86)

1需求获取:采集识别和提取用户需求,对问题和需求形成文档描述,是大家有过一个共同的认识和理解。

2需求分析:分析和综合所持采集的信息,简历系统的详细逻辑模型。

3需求规格说明:编写软件规格说明书,准确,完整的表达已确认的需求。

4需求验证:评审软件规格说明,保证其正确,一致,完备,准确和清晰性。

5需求管理:定义需求基线,在整个项目中跟踪需求状态及其变化。

4.需求分析的核心工作?(P78)

建立分析模型是需求分析的核心工作

5.主要的需求获取技术有哪些?它们的优缺点和适用场合?(P87,P87-92)

1面谈:多种情况下使用的简单而直接的方法。

2需求专题研讨会:很快产生系统初步定义,畅所欲言,降低风险,解决行政问题。

3观察用户工作流程:开发人员很难通过面谈和回忆获取供求信息。

4原型化方法:常用方法,系统可视化获取用户需求,解决早期系统需求不定的问题。

5基于用例的方法:以任务和用户为中心,确定参与者与事物妆花为对象模型。

1.面向对象软件工程方法的活动有哪些?英文名称及其简称?(P134-135)

1、面向对象分析(Object Oriented Analysis,OOA)

相关文档
最新文档