软件工程复习题(附答案)

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

第一章:软件工程概述

1.软件及软件开发的特点是什么?(ppt)

⏹抽象性:逻辑实体,而非具体的物理实体,无明显制造过程

⏹无磨损性:不会老化

⏹对硬件的依赖性:开发和运行受计算机系统限制。软件的手工开发方式

⏹本身的复杂性:实际问题的复杂性程序逻辑结构的复杂性

⏹高成本:相当多的软件工作涉及到社会因素

2.软件危机是什么?(P1)软件危机有哪些表现?(P2)产生软件危机的主要原因是什么?(Ppt)

软件危机:计算机软件在开发和维护过程中所遇到的一系列严重问题。

表现

⏹对软件开发成本和进度的估算很不准确

⏹用户很不满意

⏹质量很不可靠

⏹没有适当的文档

⏹软件成本比重上升

⏹供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势

客观原因:软件本身特点决定的。软件是逻辑产品、产品的需求描述的不完整、不准确,开发人员对它的理解上有偏差等等

主观原因:不正确的开发方法:缺乏高质量的人才;经验、合作、交流、管理;缺乏一种有效的、系统的、科学的原理、原则、方法和工具来指导软件的开发和维护;

3.软件工程的定义(P5)

软件工程是运用工程的、数学的、计算机等科学的概念、方法和原理来指导软件开发和维护的一门学科,或者说是研究如何开发软件的一门学科。

4.软件包含些什么?程序、数据、文档(Ppt)

软件包括程序,数据及其相关文档的完整集合。

⏹程序是按事先设计的功能和性能要求执行的指令序列

⏹数据是使程序能正常操纵信息的数据结构

⏹文档是与程序开发,维护和使用有关的图文材料

5.软件工程的三要素:过程、方法、工具(P9)

6.什么是软件的生命周期?(ppt)软件的生命周期分哪几个时期?哪几个阶段?每一个阶段的任务和阶段

性成果分别是什么?(P11~14三个时期、八个阶段)(Ppt)

软件生命周期是指从提出软件产品的开发开始,经过开发、使用和维护,及至该软件产品被最终淘汰的全过程。

包括以下三个时期:软件定义;软件开发;软件使用与维护

八个阶段:

1.问题定义

任务:确切的定义需要解决的问题

第1 页

阶段性产品:经过客户确认的关于问题性质、工程目标和工程规模的报告

2.可行性研究

任务:了解用户需求和现实环境,从技术、经济等方面研究并论证开发该软件系统的可行性;

阶段性产品:可行性论证报告;初步的项目开发计划

3.需求分析

任务:确定用户对待开发软件系统的需求包括:

⏹功能:能干什么

⏹性能:可靠性、安全性、可维护性等

⏹运行环境约束:待开发的软件系统必须满足的运行环境(硬件、网络、软件环境);

阶段性产品:软件需求规格说明书

(SRS: Software Requirement Specification)

4. 总体设计

任务:根据SRS建立目标软件系统的总体结构(模块、模块的功能和接口、模块之间的相互控制关系)、设计全局数据库或数据结构,规定设计约束,制定组装测试计划等。

阶段性产品:概要设计规格说明书,数据库或数据结构说明书,组装测试计划。

5. 详细设计

任务:逐步细化总体设计所生成的各个模块,详细描述程序模块的内部细节(数据结构、工作流程等等),形成可编程的程序模块,制订单元测试计划。

阶段性产品:详细设计规格说明书

6. 编码和单元测试

任务:基于某种程序设计语言,根据详细设计规格说明书编写程序,并对程序进行调试和单元测试,验证程序与详细设计文档的一致性。

阶段新产品:源程序代码

7. 综合测试

任务:通过各种类型的测试及相应的调试,使软件达到预定的要求。

主要包括:

⏹集成测试

任务:根据概要设计规格说明书,将经过单元测试的模块逐步进行集成和测试,以验证各个模块之间连接是否存在错误,测试软件系统或者某个子系统是否满足设计要求。

阶段性产品:满足概要设计要求、可运行的系统源程序;系统集成测试报告

⏹验收测试

任务:根据软件需求规格说明书,测试软件系统是否满足用户的需求。

阶段性产品:可提供给用户使用的软件产品(文档如用户手册,操作手册;源程序代码,其它文档);测试计划、详细测试方案、实际测试结果

8. 使用与维护

关键任务:通过各种必要的维护活动使系统持久的满足用户的需要。

7.软件工程学研究的内容包括哪些?(软件开发技术和软件工程管理ppt)软件工程的目标有哪些?

第2 页

软件工程学研究内容:

1.软件开发技术:软件开发方法学;软件工具;软件工程环境

2.软件工程管理:软件管理学;软件心理学;软件经济学

目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能

开发的软件易于移植;需要较低的维护费用

能按时完成开发工作,及时交付使用

8.软件工程的七条基本原理是什么?(P7~P9)

用分阶段的生命周期计划严格管理

坚持进行阶段评审

实行严格的产品控制

采用现代程序设计技术

结果应能清楚的审查

开发小组的人员应该少而精

承认不断改进软件工程实践的必要性

9.瀑布模型和快速原型模型的思想(P15~P17)。

瀑布模型其主要思想是:

⏹软件开发过程与软件生命周期是一致的(推迟实现的观点)

⏹相邻二阶段之间存在线性因果关系,上一个阶段的输出是下一个阶段的输入(阶段间具有顺序性和依

赖性)

⏹为了保障软件开发活动的正确性,在每一个活动完成之前,必须对该阶段的阶段性产品进行评审,正

确之后才能进入下一阶段的工作。(质量保证的观点)

快速原型模型的思想:软件开发人员首先根据用户提出的初步需求,快速地开发出一个原型,它向用户展示了待开发软件系统的全部或部分功能、行为和性能。在征求用户对原型的意见之后,进一步修改、完善和确认软件系统的需求;

10.CASE的定义(PPt)

CASE(计算机辅助软件工程Computer-Aided Software Engineering):在软件工程活动中,软件开发人员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助来开发、维护和管理软件产品的过程。

第二章:可行性研究

1.可行性研究的任务和目的(P25)

可行性研究的任务:

a.进行概要的分析研究,初步确定项目的规模,目标,约束和限制。

b.进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。

c.从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法。

d.对每种解决方法都要研究它的可行性。

可行性研究的根本任务:对以后的行动方案提出建议。

目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.可行性研究要考虑的三个方面:技术、操作、经济可行性(P25)

第3 页

相关文档
最新文档