软件设计师考试必备专题七:软件工程专题

软件设计师考试必备专题七:软件工程专题
软件设计师考试必备专题七:软件工程专题

系统分析师(软件设计师)计算机学科部分经典教材 专题七:软件工程专题

1.1 概述

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工

程。其目的是提高软件生产率、提高软件质量、减低软件成本。

软件工程是 1968 年在德国的 NATO 会议上提出的,希望用工程化的原则和方法来克服软件危机;而软

件危机就是软件开发和维护过程中的各种问题,由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,

而且缺少有关的文档,使得大量的软件难以维护。

软件生命周期是指由软件定义、软件开发和软件维护等阶段组成的全过程,反映软件生存期内各种工

作得组织以及各个阶段如何衔接。下表归纳了软件生存周期各个阶段的任务、参与人员和产生文档。

常见的软件开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型等。

阶段

任务

参与人员

产生文档

软件定义阶段——待开发软件要“做什么”

系统分析

确定待开发软件的总体要求和

用户、项目负责人、系统

可合并项目计划书中

适用范围,以及与之有关的硬

分析员

件、支撑软件的要求

软件项目计划

确定待开发软件的目标,对其进

用户、项目负责人、系统

可行性分析报告、项

行可行性分析,并对资源分配、 分析员

目计划书

进度安排等做出合理的计划

需求分析

确定待开发软件的功能、性能、 用户、项目负责人、系统

需求规格说明书

界面等要求,从而确定系统的逻

分析员

辑模型

软件开发阶段——待开发软件“怎么做”

概要设计

模块分解,确定软件的结构,模

系统分析员、高级程序员 设计说明书、数据说

块的功能和模块间的接口,以及

明书、模块开发卷宗

全局数据结构的设计

详细设计

设计每个模块的实现细节和局

高级程序员、程序员

部数据结构的设计

编码

用某种程序语言为每个模块编

高级程序员、程序员

程序清单

写程序

软件测试

发现软件中的错误,并加以纠正 高级程序员或系统分析

软件测试计划、软件

员(另一部门或单位)

测试用例说明,软件

测试报告

软件维护阶段—开发后交付使用的软件的维护

软件维护

使软件适应外界环境的变化、实

维护人员

维护计划、维护报告

现功能的扩充和质量的改善而

修改软件

软件由计算机程序、数据及文档组成,同时与硬件、数据库人、过程等共同构成计算机系统。软件工程包括三个要素:方法、工具和过程。

主要的软件开发方法有以下几种方法:

生命周期法:命周期法认为:每一个软件系统都有一定的生命周期。软件的生命周期是指一个软件系统从其提出、调查到分析、设计和有效使用,直至被淘汰或取代的整个期间。软件生命周期

共 16 页 第 1 页

系统分析师(软件设计师)计算机学科部分经典教材

法就是按软件生命周期的各个阶段划分任务,按一定的规则和步骤,有效地进行软件开发的

方法。

通常一个软件系统的生命周期可分为五个阶段:准备阶段、分析阶段、设计阶段、实施阶段、运行与维护阶段

原型法:原型法是先根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户

对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。

原型法分 4 个阶段:确定用户需求;设计原型;使用、评价原型;修改、完善原型。

1.2 软件分析

软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软

件成本模型;可行性分析的任务是从技术上、经济上、使用上、法律上分析需解决的问题是否存在可行的

解。

需求分析是软件生存周期中相当重要的一个阶段。需求分析主要是确定待开发软件的功能、

性能、数据、界面等要求。具体有以下几点:

确定软件系统的综合要求

分析软件系统的数据要求

导出系统的逻辑模型

修正项目开发计划

如有必要,可开发一个原型系统

需求分析的基本原则是能够表达和理解问题的信息域和功能域;以层次化的方式进行分解和不断细

化;要给出系统的逻辑视图和物理视图;

描述软件需求的方法:

功能层次模型:一般来讲就是系统的功能图,模块分布图等描述整个系统的功能的分布和功能

的层次结构;

数据流模型:就是以数据流为着眼点的分析方法得到的模型,主要通过数据在整个系统的流动

情况来确定系统的主要功能主线和流程;

控制流模型:通过了解和界定系统中控制线,通过控制流的走向和控制的对象来确定系统的功

能分布和控制与被控制的关系;

结构化分析(SA)方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。结构化

分析方法的基本思想是自顶向下逐层分解,这样做可以把一个大问题分解成若干个小问题,经过多次逐层

分解,每个最底层的问题都是足够简单、容易解决的,这个过程就是分解的过程。

结构化方法的分析结果由数据流图 DFD、数据词典和加工逻辑说明几个部分组成。其中,DFD 的基本成

分有数据流(data flow)、加工(process)、文件(file)和源/宿(source/sink)。

画数据流图的基本步骤:自外向内、自顶向下、逐层细化、完善求精;

数据流图的父图与子图要平衡, 即输入和输出的数据流一致;

数据流图中的每个加工至少有一个输入数据流和一个输出数据流;

局部的数据存储不画出来,只有当局部数据存储作为某些数据加工之间的数据接口才画出,这

有利于信息隐蔽;

画数据流的时候不画控制流,两者的区别就是控制流中没有数据;

一个加工的数据流与输出流不应该同名;

允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出流向两个不同

的加工;

保持数据守恒:一个加工的所有输出数据必须能从该加工的所有的输入流中获得;

在整套数据流图中,每个文件都必须既有读文件的数据流也有写文件的数据流;

软件开发过程中的软件工程原则(8 个):

抽象;

自顶向下、逐层细化;

信息隐蔽和数据封装;

模块化;

局部化;

确定性;

一致性和标准化;

完备性和可验证性;

软件工程基本原理(7 个):

按软件生存周期分阶段指定计划并认真实施;

坚持进行阶段评审;

坚持严格的产品控制;

共 16 页 第 2 页

系统分析师(软件设计师)计算机学科部分经典教材

使用现代程序设计技术;

明确责任,使得工作结果能够得到清楚的审查;

用人少而精;

不断改进开发过程;

1.3 软件设计

软件设计原则: 软件设计的原则对提高软件的设计质量有很大的帮助。

◆ 抽象

抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。过程抽

象和数据抽象是常用的两种主要抽象手段。

◆ 模块化

模块化是指将一个待开发的软件分解成若干个小的简单的部分——模块,每个模块可独立地开发、测试、

最后组装成完整的软件。这是一种复杂问题的“分而治之”的原则。

模块是指执行某一特定任务的数据结构和程序代码。一个模块有它的外部特征和内部特征。

◆ 信息隐蔽

信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,

定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽原则对提高软件的可修改性、可测试性和可移

植性都有重要的作用。

◆ 模块独立

的度量标准有两个:耦合和内聚。

耦合是指模块之间联系的紧密程度。耦合度越高则模块的独立性越差。按耦合度从低到高依次有 7种耦合

方式。

非直接耦合(独立运行)

数据耦合(用参数表传递简单数据)

标记耦合(传递数据结构或者一部分)

控制耦合(传递的信息包括控制模块的信息)

外部耦合(模块与软件之外的环境有关)

公共耦合(多个模块引用同一全局的数据区)

内容耦合(访问内部数据,代码重叠或者多个入口)

内聚是指模块内部各元素之间联系的紧密程度内聚度越低模块的独立性越差。按内聚度从低到高依次有 7

种内聚种类。

偶然内聚(模块完成的多个任务,任务之间的关系松散)

逻辑内聚(模块完成逻辑相关的一组任务)

瞬时内聚(模块的所有任务必须在同一时间间隔内执行)

过程内聚(模块的处理元素相关而且按照特定的次序执行)

通信内聚(模块的所有元素集中在一个数据结构区域上)

顺序内聚(模块的处理元素相关,必须顺序执行)

功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)

模块分解原则:

满足信息隐蔽;

尽量内聚度高,模块间偶合度低;

模块大小在(50-100 语句);

模块调用深度不能过大;

模块的扇入(直接调用该模块)应尽量大,扇出(直接调用下级模块数)不宜过大;

设计单入口和单出口的模块;

模块的作用域应在控制域之内:

作用域:受模块内一个判定影响的所有的模块的集合;

控制域:该模块本身和被该模块直接或间接调用的所有的模块的集合;

模块的功能应是可以预测的,相同输入得到相同输出

结构化设计方法

结构化设计(SD)方法是一种面向数据流的设计方法,它可以与 SA 方法衔接。

结构化设计采用结构图(SC)来描述程序的结构。其基本成分有模块、调用和输入/输出数据。

结构图:

共 16 页 第 3 页

系统分析师(软件设计师)计算机学科部分经典教材

条件调用 循环调用

在需求分析阶段用 SA 方法产生了数据流图(DFD)。面向数据流的设计可以方便的将 DFD 转换成程

序结构图。DFD 从系统的输入数据流到系统的输出数据流的一连串连续变换形成一条信息流。DFD 的信息流

大体可分为两种类型:变换流和事务流。与之对应的也存在两种分析,变换分析和事务分析。变换分析是

从变换流型的 DFD 导出程序结构图,而事务分析则是从事务流行型的 DFD 导出程序结构图。

SD 方法的具体设计步骤为:

复查并精化数据流图

确定 DFD 的信息流类型

根据信息流类型分别将变换流或事务流转换成程序结构图

根据软件设计的原则对程序结构图作改进

结构化程序设计

结构化程序(SP)设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。

结构化程序设计的描述工具主要有图形描述工具、语言描述工具和表格描述工具。常用的图形描述工具有

程序流程图、盒图(NS 图)和问题分析图(PAD)。典型的语言描述工具是 PDL(program design language)。

典型的表格描述工具是判定表和判定树。

面向数据结构的 Jackson 方法也十分常用:

Jackson 方法是以数据结构为设计基础,设计目标是得出对程序处理过程的描述,其设计过程是从

Jackson 方法的具体设计步骤为:

分析并确定输入和输出的数据的逻辑结构,并用 Jackson 图表示

找出输入数据结构与输出数据结构间有对应关系的数据单元

从描述数据结构的 Jackson 图导出描述程序结构的 Jackson 图

软件编码:

根据详细设计说明书编写程序,为开发项目选择程序设计语言需要考虑的因素有应用领域、算法和计

算的复杂性、软件运行环境、用户需求、数据结构和开发人员的水平。软件的设计质量与程序设计语言的

技术性能无关,但在程序设计转向程序代码时,转化的质量受语言性能的影响。

好的程序应该具有模块化结构,系统应该有较高的模块独立性。

从应用领域看,COBOL 适合商业领域;FORTRAN 适合科学计算;PROLOG 和 LISP 适合人工智能领域;

SMALLTALK、C++、JAVA 是面向对象语言;C 是开发系统的程序设计语言;

例题 1:

软件设计中划分模块的一个准则是 A 。两个模块之间的耦合方式中,B 耦合的耦合度最高,C 耦合的耦合

度最低。一个模块内部的内聚种类中 D 内聚的内聚度最高,E 内聚的内聚度最低。

A: ①低内聚低耦合 ②低内聚高耦合 ③高内聚低耦合 ④高内聚高耦合

B : ① 数 据 ② 非 直 接

③ 控

制 ④内容

C : ① 数 据 ② 非 直 接

③ 控

制 ④内容

D : ①偶然 ②逻辑

③功

能 ④过程

E : ①偶然 ②逻辑

③功

能 ④过

A 3

B 4

C 2

D 3

E 1

例题 2

关于程序模块优化的启发式规则有若干条,以下规则中不符合优化原则的是__B__。如果一个模块调用下层

模块时传递一个数据结构,则这种耦合属于_C_。(软件工程)

(30)A.通过模块的合并和分解,降低模块的耦合度,提高模块的内聚性

共 16 页 第 4 页

系统分析师(软件设计师)计算机学科部分经典教材

B.提高上层模块的扇出,减少模块调用的层次

C.将模块的作用范围限制在模块的控制范围之内

D.降低模块之间接口的复杂性,避免“病态连接”

(31)A.简单耦合

B.直接耦合

C.标记耦合

D.控制耦合

1.4 软件测试

对源程序最基本的质量要求是正确性和可靠性,此外还很注重软件的易使用性、易维护性和易移植性。

软件测试的工作量约占软件开发总工作量的 40%以上,其目的是尽可能多的发现软件产品(主要是指程序)

中的错误和缺陷。

软件测试是自底向上,逐步集成的过程,低一级测试为上一级测试准备条件;

测试的关键是测试用例的设计,其方法可分为两类。

白盒测试:

白盒测试是根据程序的内部逻辑来设计测试用例,常用的技术是逻辑覆盖,即考察用例测试数据运行被测

程序时对程序逻辑的覆盖程度。主要的覆盖标准有 6 种:

I. 语句覆盖

指选择足够的测试用例,使被测语句的每个语句至少执行一次。

II.判定覆盖

指选择足够的测试用例,使每个判定的所有可能结果至少出现一次。

III.条件覆盖

指选择足够的测试用例,使判定中的每个条件的所有可能结果至少出现一次。

IV. 判定/条件覆盖

指选择足够的测试用例,使判定中的每个条件的所有可能结果至少出现一次,并且每个判定中条件结果的

所有可能组合也至少出现一次。

V. 条件组合覆盖

指选择足够的测试用例,使每个判定中条件结果的所有可能组合至少出现一次。

VI. 路径覆盖

指选择足够的测试用例,使流程图中的每条路径至少经过一次。

黑盒测试:

黑盒测试时根据规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑

盒测试技术有:

等价类划分

边值划分

错误猜测

软件测试的主要步骤有单元测试、集成测试和确认测试。

单元测试:

主要用来发现编码和详细设计中产生的错误,一般在编码阶段,采用白盒测试。

集成测试(也称组装测试):

主要用来发现设计阶段产生的错误,是对各模块组装而成的程序进行测试,主要检查模块间的接口和通信,

采用黑盒测试。

集成测试按集成方式又可分成非渐增式集成和渐增式集成,而渐增式集成又可分成自顶向下集成和自底向

上集成。

确认测试:

检查软件的功能、性能和其他特征是否与用户需求一致,它以需求规格说明书作测试为依据,采用黑盒测试

Alpha 测试是在开发者的现场由客户来实施的,从用户角度和环境下进行;

Beta 测试是在开发者不在现场下测试,由软件最终用户实施;

使用各种测试方法的综合策略:

在任何情况下都必须使用边界值分析方法,用这种方法设计出测试用例发现程序错误的能力最强;

必要时用等价类划分方法补充一些测试用例;

用错误推测法再追加一些测试用例

对照程序逻辑,检查已有测试用例的逻辑覆盖程度

如果程序的功能说明中含有输入条件的组合情况,则选用因果图法

例题:

软件测试的目的是 A 。通常 B 是在代码编写阶段可进行的测试,它是整个测试工作的基础。

逻辑覆盖标准主要用于 C 。它主要包括条件覆盖、条件组合(多重条件)覆盖、判定覆盖、条件及判定覆

盖、语句覆盖和路径覆盖等几种,其中除路径覆盖外最弱的覆盖标准是 D ,最强的覆盖标准 E 。

共 16 页 第 5 页

系统分析师(软件设计师)计算机学科部分经典教材

A: ①表明软件的正确性 ②评价软

件质量

③尽可能发现软件中错误 ④判定软

件是否合格

B: ①系统测试 ②安装测试 ③验收测

试 ④单元测试

C : ① 黑 盒 测 试 方 法 ② 白 盒 测 试 方 法

③ 灰 盒 测 试 方

法 ④软件验收方法

D、E: ①条件覆盖 ②条件组合覆盖 ③判定覆盖

④条件及判定覆盖 ⑤语句覆盖

A:③ B:④ C:② D:⑤ E:②

1.5 软件开发工具与环境(CASE)

用来辅助软件开发、运行、维护、管理和支持等过程中的活动的软件称为软件工具,通常也称为

(计算机辅助软件工程)工具。

整个软件开发过程要使用很多开发工具,其中包括分析工具、设计工具、编程工具、测试工具、维护工具等等。

软件开发工具是指支持软件产品开发的软件系统,它由软件工具集和环境集成机智构成。工具集包括

支持软件开发相关过程、活动、任务的软件工具;环境集成机智为工具集成和软件开发、维护和管理提供

统一的支持。

软件开发环境是把一组相关的工具集成在环境中,提供数据集成、控制集成和界面集成等机制。其中:

数据集成机制:提供统一的数据模式和数据接口规范,需要相互协同的工具通过这种统一的

规范交换数据。数据集成可由共享文件、共享数据结构或共享信息库等不同的层次;

控制集成机制:支持各工具或各开发活动之间的通信、切换、调度和协同工作,并且支持软

件开发过程的描述、执行和转接;通常消息传送的方式实现控制的集成。

界面集成机制使这些工具具有统一的界面风格,从而为软件开发、维护、管理等过程的各项

活动提供连续的、一致的全方位支持。

集成型软件开发环境由工具集和环境集成机制组成,这种环境应该具有开放性和可剪裁性;

环境集成机制的核心是环境数据库。

1.6 软件维护和软件管理

软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常

用管理工具

软件维护阶段是指从软件交付使用到软件被淘汰为止的整个时期,它是在软件交付使用后,

为了改正软件中隐藏的错误,或者为了使软件适应新的环境,或者为了扩充和完善软件的功能或性能而修

改软件的过程。根据引起软件维护的原因,软件维护通常可分成改正性维护、适应性维护、完善性维护、

预防性维护。

软件管理工作涉及到软件开发工作的方方面面,其直接对象包括人、财、物,简单地说,人就是指软

件开发人员,财就是指项目经费,物就是指软件项目。也许还没有关于这方面的专门理论,但在工商管理

领域已经有十分成熟的管理学理论,他山之石,可以攻玉,所以我们完全可以引进到软件项目方面的管理。

作为软件管理人员,应该站在高处来俯瞰整个项目,如果有不识庐山真面目的感觉就不太好了。有了

俯瞰全局的意识这一前提,采用适当的管理技术,项目开展就容易罗。软件项目的管理工作可以分位四个

方面:软件项目的计划、软件项目的组织、软件项目的领导和软件项目的控制.

1 软件项目的计划

软件开发项目的计划包括定义项目的目标,以及达到目标的方法。他涉及到项目实施的各个环节,带

有全局的性质,是战略性的。计划应力求完备,要考虑到一些未知因素和不确定因素,考虑到可能的修改。

计划应力求准确,尽可能提高所依据的数据的可靠程度。主要工作集中在软件项目的估算、软件开发成本

的估算和软件项目进度安排。软件项目计划的目标是提供一个能使项目管理人员对资源、成本和进度做出

合理估算的框架。这些估算应在软件项目开始时的一段有限时间内作出,并随着项目的进展进行更新。

2 软件项目的估算

软件项目管理过程开始于项目的计划,在做项目计划时,第一项活动是估算。现在已经使用的使用技

术是时间和工作量的估算。因为估算是其他项目计划活动的基石,而且项目计划又未软件工程过程提供了

工作方向,所以我们不能没有计划就着手开发,否则就会陷入盲目性。

估算本身带有风险,估算资源、成本和项目进度时需要经验、有用的历史信息、足够的定量数据和作

定量度量的勇气。估算的精确程度受到多方面的影响。首先,项目的复杂性对于增加软件计划的不确定性

共 16 页 第 6 页

系统分析师(软件设计师)计算机学科部分经典教材

影响很大,复杂性越高,估算的风险就越高。复杂性是相对度量的,他与项目参加人员的经验有关,比如

如果让搞 MIS 的项目组去搞操作系统设计显然增加了复杂性。其次,项目的规模对于估算的精确性和功效

的影响也比较大,因为随着软件规模的扩大,软件相同元素之间的相互依赖、相互影响也迅速增加,因而

估算时进行问题分解也会变得更加困难。还有项目的结构化程度也影响项目估算的风险,这里的结构性是

指功能分解的简便性和处理信息的层次性,结构化程度提高,进行精确估算的能力就提高,相应风险将减

少。此外,历史信息的有效性也影响估算的风险,在对过去的项目进行这综合的软件度量之后,就可以借

用来比较准确地进行估算。影响估算的因素远不止这些,比如用户需求的频繁变更给估算带来非常大的影

响。

估算的依据是软件的范围,包括功能,性能、限制、接口和可靠性。在估算开始之前,应对软件的功

能进行评价,并对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有关,因此

常常采用功能分解的办法。性能的考虑主要包括处理和响应时间的需求。约束条件则标识外部硬件、可用

存储和其他现有系统对软件的限制。

另外软件项目计划还要完成资源估算,包括人力资源、硬件资源和软件资源。在考虑各种软件开发资

源时最重要的是人,必须考虑人员的技术水平、专业、人数以及在开发过程各阶段对各种人员的需要。硬

件资源作为一种工具投入。软件资源包括各种帮助开发的软件工具,比如编程工具、管理工具、测试工具,

还有操作系统和数据库等。

工作两估算是最普遍使用的技术。经过功能分解之后,可以估计出每一个项目任务的分解都需要花费若干人年,总计之后就知道软件项目总体工作量。下面就是一个示意性工作量估算表。

表格 1 某软件系统工作量估算表(单位:人日)

任务

需求分析

设计

编码

测试

小计

用户定义

2

5

1

0.5

8.5

系统定义

2

5

1

0.5

8.5

广告预定

4

10

2

0.5

16.5

划版

5

20

10

0.5

35.5

制作和组版

3

5

3

1

12

总计

16

45

17

3

81

软件开发成本的估算

软件开发成本主要是指软件开发过程所花费的工作量及其相应的代价。它不同于其他物理产品的成本,

它主要包括人的劳动的消耗,人的劳动的消耗所需的代价就是软件产品的开发成本。

开发成本的估算方法有很多种,象简单的代码行技术,任务分解技术,自动估计成本技术,专家判定

技术,还有参数方程法,标准值法,以及 COCOMO 模型法。其中 COCOMO (Constructive Cost Model)模型

法是一种精确、易于使用的成本估算方法,该模型按其详细程度分为三级:基本 COCOMO 模型、中间COCOMO

模型和详细 COCOMO 模型

软件项目进度安排

软件项目的进度安排主要是考虑软件交付用户使用的这一段开发时间的安排。进度安排的准确程度可

能比成本估计的准确程度更重要。软件产品可以靠重新定价或者靠大量的销售来弥补成本的增加,但进度

安排的落空会导致市场机会的丧失或者用户不满意,而且也会导致成本的增加。因此在考虑进度安排时要

把人员的工作量与花费的时间联系起来,合理分配工作量,利用进度安排的有效分析方法严密监视软件开

发的进展情况,以使得软件开发的进度不致被拖延。

在进行进度安排时要考虑的一个主要问题是任务的并行性问题。当参加项目的人数不止一人是软件开

发工作就会出现并行情况。因为并行任务是同时发生的所以进度计划表必须决定任务之间的从属关系,确

定各个任务的先后次序和衔接,确定各个任务完成的持续时间。另外还应注意关键路径的任务,这样可以

确定在进度安排中应保证的重点。常用的进度安排方法有两种,即甘特图(Gantt Chart)法和工程网络法。

3.软件项目的组织

参加软件开发的人员如何组织起来,使他们发挥最大的工作效率,对成功地完成软件项目极为重要。

组织结构

开发组织采用什么形式由软件项目的特点决定,同时也与参加人员的素质有关。通常有三种组织结构

模式:

1. 按课题组划分的模式:把开发人员按课题组成小组,小组成员自始至终承担课题的各项任务。该模

式适用于规模不大的项目,并且要求小组成员在各方面有技术专长。

2. 按职能划分的模式:把开发项目的软件人员按任务的工作阶段划分为若干工作小组。要开发的软

在每个专业小组完成阶段加工后沿工序流水线向下传递。这种流水作业的方式使用于多项目并行的情况。

3. 矩阵形模型:这种模式是以上两种模式的复合。一方面按工作性质成立一些专门小组,另一方面每

一个项目都有它的经理人员负责。每一个软件开发人员属于某一个专门小组,有参加某一个项目的工作。

共 16 页 第 7 页

系统分析师(软件设计师)计算机学科部分经典教材

该模式的优点有一方面参加专门组的成员可以在组内交流在各个项目中取得的经验,这更有利于发挥专业

人员的作用;另一方面,各个项目有专门的人员负责,有利于软件项目的完成。这种模式比较适合于规模

比较大的项目。

组织结构的最后一层是程序设计小组的组织形式。通常认为程序设计工作是按独立的方式进行的,程

序人员独立地完成任务。但这并不意味着相互之间没有联系。一般在人数比较少时组员之间的联系比较简

单,但随着人数的增加,相互之间的联系变得负责起来。小组内部人员的组织形式对对生产率有着十分重

要的影响。

常见的小组组织形式有三种,这三种形式可以灵活使用。

1. 主程序员制小组:相当于组长负责制,小组的核心由一位主程序员,另外配备两到三位技术员、一

位后援工程师组成。这种组织结构突出主程序员的领导,强调主程序员与其他技术人员的联系。

2. 民主制小组:在民主制小组中,遇到问题可以在组员之间平等地交换换意见,工作组目标的制定以及决定

的作出都由全体人员参加。这种组织形式强调发挥每个成员的积极性,并要求每个成员发挥主动精神和协作精神。

3. 层次式小组:在层次式小组中,组内人员分位三级:组长(项目负责人)一人负责全组工作,他

接领导两到三名高级程序员,每位高级程序员通过基层小组,管理若干位程序员。这种结构比较适合于项

目本身就是层次结构的课题。

人员配备

合理地配备人员是成功地完成软件项目的切实保证。所谓合理地配备人员应包括按不同阶段适时运用

人员,恰当掌握用人标准。一般来说,软件项目不同阶段不同层次技术人员的参与情况是不一样的。下图

是典型的软件开发人员参与情况曲线。

在人力配备问题上,由于配置不当,很容易造成人力资源的浪费,并延误工期。特别是采用恒定人员

配备方案时在项目的开始和最后都会出现人力过剩,而在中期又会出现人力不足的情况。

4.软件项目的领导

5.软件项目的控制

对后面两个主题以后再讨论。其实本文所讨论的东西大多还没有涉及太多管理学方面的内容,但这方

面确实有许多值得研究的东西,由于时间关系不能深入下去。姑且作为一个引子吧!

1.7 面向对象技术

1.7.1 面向对象的基本概念

面向对象(object-oriented,OO)方法是以客观世界中的对象为中心,其分析和设计思想符合人们的

思维方式,分析和设计的结果与客观世界的实际比较接近,容易被人们所接受。下面列举几个面向对象设

计方法中的重要术语,它们构成面向对象的程序设计语言的核心。

◆对象(Object)

对象是和有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称。一个对象通常可由对象

名、属性和操作三部分组成。

对象的划分判定标准:

1、 子对象之间独立性要高,即耦合度尽量达到最低,(理想的情况是达到组件化的程度);

2、 子对象相对其他划分方法,更易于处理。所以对于复杂的大系统,一般都要经过多次的尝试,以尽量

能找到较优的划分方案。对于比较简单的系统,E-R 转换也能的到较为满意的划分。

◆实例(Instance)

共 16 页 第 8 页

系统分析师(软件设计师)计算机学科部分经典教材

实例是由某个特定类所描述的一个对象。

◆类(Class)

类是一组具有相同属性和相同操作的对象的集合。类是面向对象的程序设计语言提供的可再用软件成分。

◆方法(Method)

对象所能执行的操作称为方法。方法是类中定义的函数,描述对象执行操作的算法。

◆消息(Message)

消息是要求某个对象执行类中定义的某个操作的规格说明。一个消息通常包括接受对象名、调用的操

和适当的参数(如有必要)。

主要特点:

◆封装性

封装性是一种信息隐蔽技术,它使系统分析员能够清晰地标明他们所提供的服务界面,用户和应用程序员

则只看得见对象提供的操作功能(即封装面上的信息),看不到其中的数据或操作代码细节。

◆多态性

多态性是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。

◆继承性

继承是指在某个类的层次关联中,不同的类共享属性和操作的一种机制。一个父类可以有多个子类。父类

描述了这些子类的公共属性和操作,子类中还可以定义其自己的属性和操作。如果一个子类只有唯一的一

个父类,这种继承称为单一继承。如果一个子类有多个父类,可以从多个父类中继承特性,这种继承称为

多重继承。

◆分布式对象 Distributed Object

在发布实施角度上看,对象可分为三种:本地对象,远地对象,虚拟对象。

本地对象 Local Object :指分布在同一个系统中的对象,互称为本地对象

远地对象 Remote Object :指分布在不同系统中的对象(同一个群体系统)。

虚拟对象 Virtual Object :不同于本地和远地对象,虚拟对象不属于真实的对象,而是一个虚设的

类型。真正的操作不在虚拟对象本身,只是远地对象在本地的映射。

本地和远地对象是相互的关系。而虚拟对象只是一种映射,用于关联本地和远地对象,起到分布和负

载均衡的作用。

面向对象数据库技术:是面向对象技术和数据库技术的有机的结合,它有着关系数据库没有的优点。

面向对象数据库(OODB) +关系数据库(RDB)→对象-关系数据库(ORDB) 面向对象的特征:类和继承性,对象及对象标识、封装性、信息/实现隐蔽、状态保持,消息,多态性,一

般性。

面向对象技术的出现正是弥补了前述关系模型的固有局限性。

对象数据模型是有很强的描述复杂对象的能力,能包含更多的数据语义信息。

面向对象方法可很方便的表示嵌套对象,因而很容易表达层次数据,这点与 RDB 形成鲜明的对比,

RDB 强迫用户用多个关系的元组表达层次数据。

面向对象方法可方便的构造各种类型、而 RDB 不提供增加用户定义数据类型的手段。

1.7.2 面向对象的分析方法

面向对象的系统分析设计,看起来其实也很简单,步骤大概如下:

(1) 从项目开始,进行步骤(2)。

(2) 对系统进行分析,如果它在一定的要求下可解决,则停止分析,进行设计;如果它在一定的要求下

不可解决,则对它进行划分。

(3) 步骤(2)如果有分析结果,则对其中每一个子对象,进行步骤(2)。

边界条件(也即上面提到的“一定要求”,对象划分的原则):

子对象之间独立性要高,即耦合度尽量达到最低,(理想的情况是达到组件化的程度); 子对象相对其他划分方法,更易于处理(如实现,维护等)。

当前常见的面向对象的方法很多,下面简单介绍三种:

Peter Coard 和 Edward Yourdon 的 OOA 和 OOD 方法

OOA(面向对象分析)模型由 5 个层次和 5 个活动组成:

5 个层次:主题层、对象类层、结构层、属性层、服务层

5 个活动:标识对象类、标识结构、定义主题、定义属性、定义服务

在这种方法中定义两种对象类之间的结构:

分类结构——反映了一般与特殊的关系

组装结构——反映了对象之间整体与部分的关系

OOA 中的 5 个层次和 5 个活动继续贯穿在 OOD(面向对象设计)过程中。OOD 模型由 4 个部分

,即:

问题域

人机交互

共 16 页 第 9 页

系统分析师(软件设计师)计算机学科部分经典教材

任务管理

数据管理

Booth 的 OOD 方法

Booth 认为软件开发是一个螺旋上升的过程。在螺旋上升的每个周期中,有 4 个步骤:

标识类和对象

确定它们的含义

标识它们之间的关系

说明每一个类的界面和实现

OMT 方法

OMT(对象建模技术)定义了 3 种模型:

对象模型

描述系统中对象的静态结构、对象之间的关系、对象的属性、对象的操作。它为动态模型和功能模型提供了基本的框架。用对象图表示。

动态模型:

描述与时间和操作顺序有关的系统特征——激发事件、事件序列、确定事件先后关系的状态以及事件和状态的组织。用状态图表示。

功能模型:

描述与值的变换有关的系统特征——功能、映射、约束和函数依赖。用数据流图表示。

OMT 方法有 4 个步骤

分析:这是 OMT 方法的第一步,其目的是建立可理解的现实世界模型。

系统设计:确定整个系统的体系结构,形成求解问题和建立解答的高层次策略。

对象设计:在分析的基础上,对象设计阶段建立基于分析模型的设计模型,考虑实现的细节。

实现:将对象设计阶段开发的对象类及其关系转换成特定的程序设计语言、数据库或硬件的实现。

1.7.3 面向对象设计方法

面向对象的类设计相关原则:

1. 开闭原则(the Open Closed Principle OCP)

一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。因此在进行面向对象设计时要尽

量考虑接口封装机制、抽象机制和多态技术。该原则同样适合于非面向对象设计的方法,是软件工程设计

方法的重要原则之一。

2. 替换原则 (the Liskov Substitution Principle LSP) 子类应当可以替换父类并出现在父类能够出现的任何地方。这个原则是 Liskov 于 1987 年提出的设计

原则。它同样可以从 Bertrand Meyer 的 DBC (Design by Contract) 的概念推出。

3. 依赖原则 (the Dependency Inversion Principle DIP) 在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。

具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。

为此,我们在进行业务设计时,应尽量在接口或抽象类中定义业务方法的原型,并通过具体的实现类(子类)来实现该业务方法,业务方法内容的修改将不会影响到运行时业务方法的调用。

4. 接口分离原则(the Interface Segregation Principle ISP)

采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。

ISP 原则是另外一个支持诸如 COM 等组件化的使能技术。缺少 ISP,组件、类的可用性和移植性将大打

折扣。

这个原则的本质相当简单。如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。

例题:

国家标准《计算机软件产品开发文件编制指南 GB8567-88》中规定,在一项软件开发过程中,一般来说应

该产生 14 种文件,其中管理人员主要使用的有 A 、B 、C 、开发进度月报、项目开发总结报告。开发人

员主要使用的有 A 、B 、D 、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、

测试计划和 E 。维护人员主要使用的有设计说明书、E 和 C 。

A~E:①软件需求说明书 ②项目开发计划 ③可行性研

究报告

④模块开发卷宗 ⑤测试分析报告 ⑥操作手册

⑦用户手册

[分析]

本题综合考查了软件生命周期各个阶段的相关知识。

大家在复习软件工程这部分内容的时候,除了对软件生命周期的每个阶段(如需求分析、软件设计、

软件维护等)的相关知识应该仔细复习以外,对整个软件生命周期各阶段还应有个总体的认识和把握。前

共 16 页 第

10 页

系统分析师(软件设计师)计算机学科部分经典教材

面在知识要点中有比较表对各阶段的任务、参与人员和产生文档做出了归纳和总结,大家复习的时候可以

好好参考一下。

[答案]

A:② B:③ C:④ D:① E:⑤

同步辅导中的软件工程部分的题目很好,大家可以做一下,题目类型和软考类似;

1.8 软件质量(重点)

软件质量是指反映软件系统或软件产品满足规定或隐含需求的能力的特征和特性全体。下面从管理的

角度列出了影响软件质量的主要因素。

质量因素

定义

系统满足规格说明和用户目标的程序,即在预定环境下能正确的完成预期功

正确性

能的程序

在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能做出适

健壮性

当响应的程序

效率

为了完成预定的功能,系统需要的计算资源的多少

完整性(安全性)

对未经授权的人使用软件或数据的企图,系统能够控制(禁止)的程序

可用性

系统在完成预定应该完成的功能时令人满意的程度

风险

按预定的成本和进度将系统开发处理,并且为用户满意的概率

可理解性

理解和使用该系统的容易程度

可维修性

诊断和改正在运行现场发现的错误所需要的工作量的多少

灵活性(适应性)

修改或改进正在运行的系统需要的工作量的多少

软件工程复习考试题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法?B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

2019年软件设计师考试真题及答案

2019下半年软件设计师考试真题及答案-上午卷 1、在cpu内外常需设置多级高速缓存cache,主要目的是()。 A、扩大主存的存储容量 B、提高cpu访问主存数据或指令的效率 C、扩大存储系统的存量 D、提高cpu访问内外存储器的速度 答案:D(如果D中没有“内”则选B) 2、某系统的可靠性结构框图如下图所示,假设部件1、2、3的可靠度分别为;;(部件2、3为冗余系统)若要求该系统的可靠度不小于,则进行系统设计时,部件4的可靠度至少应为()。 答案:A 3、计算机运行过程中,进行中断处理时需保存现场,其目的是()。 A、防止丢失中断处理程序的数据 B、防止对其他程序的数据造成破坏 C、能正确返回到被中断的程序继续执行 D、能为中断处理程序提供所需的数据 答案:C 4、内存按字节编址,地址从A0000H到CFFFFH的内存,共存()字节,若用存储容量为64k*8bit的存储器芯片构成该内存空间,至少需要()片。 A、80k B、96 k C、160 k D、192 k A、2 B、3 C、5 D、8 答案:D、B 5、执行指令时,将每一节指令都分解为取指、分析和执行三步,已知取指时间t取指=5△t,分析时间t分析= 2△t.执行时间t执行= 3△t如果按照重叠的流水线方式执行指令,从头到尾执行完500条指令需()△t. A、2500 B、2505 C、2510 D、2515 答案:B 6、下列协议中,与电子邮箱服务的安全性无关的是() A、SSL B、HTTPS C、MIME D、PGP 答案:C

7、下列算法中,不属于公开密钥加密算法的是()。 A、ECC B、DSA C、RSA D、DES 答案:D 8、kerberos系统中可通过在报文中加入()来防止重放攻击。 A、会话密钥 B、时间戳 C、用户ID D、私有密钥 答案:B 9、某电子商务网站向CA申请了数字证书,用户可以通过使用()验证()的真伪来确定该网站的合法性。 A、CA的公钥 B、CA的签名 C、网站的公钥 D、网站的私钥 A、CA的公钥 B、CA的签名 C、网站的公钥 D、网站的私钥 答案:A、B 10、李某受非任职单位委托,利用该单位实验室实验材料和技术资料开发了一项软件产品,对该软件的权利归属,表达正确的是()。 A、该软件属于委托单位 B、若该单位与李某对软件的归属有特别的约定,则遵从约定;无约定的原则上归属于李某 C、取决于该软件是否属于单位分派给李某的 D、无论李某与该单位有无特别约定,该软件属于李某 答案:B 11、李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权()。 A、应由李工享有 B、应由公司和李工共同享有 C、应由公司享有 D、除署名权以外,著作权的其他权利由李工享有 答案:C 12、某考试系统的部分功能描述如下,审核考生报名表,通过审核的考生登录系统,系统自动为其生成一套试题,考试中心提供标准答案,问卷老师问卷,提交考生成绩,考生查看自己的成绩。若用数据流图对该系统进行建模,则()不是外部实体。. A、考生 B、考试中心 C、问卷老师 D、试题

工程训练中心安全考试

1、[判断题]电弧焊焊接工位的防护屏可预防焊接电弧辐射对他人的伤害。(分值2.0) 你的答案:正确 2、[判断题]操作机床时,留长发者要戴安全防护帽。(分值2.0) 你的答案:正确 3、[判断题]照度计使用时,应防止强光曝射。(分值2.0) 你的答案:正确 4、[判断题]在钻床上工作时,为保护双手,可以戴手套进行工作。(分值2.0) 你的答案:错误 5、[判断题]操作机床前要穿好工作服,袖口扣紧,上衣下摆不能敞开,严禁戴手套,不得在开动的机床旁穿、脱换衣服,防止机器绞伤。(分值2.0) 你的答案:正确 6、[判断题]钳工工作时,应穿好工作服,扎紧袖口,长发者要戴好防护帽。(分值2.0) 你的答案:正确 7、[判断题]在任何情况下,起吊的重物之下严禁站人。(分值2.0) 你的答案:正确 8、[判断题]焊接时,必须穿戴好必要的防护用品,如工作服、手套、防护眼镜等。(分值2.0)你的答案:正确 9、[判断题]机床加工过程中出现异常或系统报警时,应立即停机并报告指导老师,待正常后方可继续操作。(分值2.0) 你的答案:正确 10、[判断题]数控机床上严禁堆放工件、夹具、刀具、量具等物品。加工前必须认真检查工件、刀具安装是否牢固、正确。(分值2.0) 你的答案:正确 11、[判断题]严禁将未经验证的程序输入数控装置进行零件加工。(分值2.0)

你的答案:正确 12、[判断题]严格按照要求摆放造型工具,使用完的造型工具应及时放入工具箱。(分值2.0)你的答案:正确 13、[判断题]当工件卡在模具中时,可以用手将工件取出。(分值2.0) 你的答案:错误 14、[判断题]高速设备和精密设备应在管理人员指导下使用。(分值2.0) 你的答案:正确 15、[判断题]仪器设备开机前要先阅读熟悉该机器设备的操作规程。(分值2.0) 你的答案:正确 16、[判断题]大型设备运行不需要两名以上工作人员在场。(分值2.0) 你的答案:错误 17、[判断题]操作机床时,应穿工作服。(分值2.0) 你的答案:正确 18、[判断题]机床运行中不准离开,且要精神集中。(分值2.0) 你的答案:正确 19、[判断题]焊接场地应预留安全通道并保持畅通。(分值2.0) 你的答案:正确 20、[判断题]开启车床前,不用检查车床各手柄是否处于正常位置。(分值2.0) 你的答案:错误 21、[判断题]机床在运行中,可以更换主轴转速。(分值2.0) 你的答案:错误 22、[判断题]在机床快速进给时,要把手轮离合器打开,以防手轮快速旋转伤人。(分值2.0)你的答案:正确

软件工程师职业分析

软件工程师职业分析 首先什么是软件工程师?软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。 软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。 除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。 从最新的数据看出目前软件行业成为目前最热的行业之一,3G工程师、嵌入式工程师、Java软件工程师、. net软件工程师的开发前景怎么样,成为我们即将毕业的大学生们最关心的问题,下面笔者就从这四个方面分析软件开发工程师的就业前景,参考来源《2013-NIIT软件行业分析》; 3G工程师就业前景分析:中国被世界公认为全球最大的3G移动市场,但是,3G相关的人才却严重失调。专业从事3G应用软件开发从业人员不足千人,据工信部预测,仅2010年,中国3G人才市场缺口就在100万以上,其中3G软件工程师缺口就在50万左右。 3G人才短缺现状,使得3G行业已经成为新的高薪行业,基于3G软件开发人员变得格外抢手。人力资源专家表示,3G软件开发是未来几年最热门和最受

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 5.IPO 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7. 其中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、

单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和 社会效益可行性等方面研究。 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环 结构。 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功 能需求。

软件设计师历年真题经典版

软件设计师真题总结 在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是 B 。 A. 系统开发合同 B. 系统设计说明书 C. 系统开发计划 D. 系统测试报告 系统测试人员与系统开发人员需要通过文档进行沟通,系统测试人员应根据一系列文档对系统进行测试,然后将工作结果撰写成 D ,交给系统开发人员。 A. 系统开发合同 B. 系统设计说明书 C. 测试计划 D. 系统测试报告 通常在软件的 C 活动中无需用户参与。 A. 需求分析 B. 维护 C. 编码 D. 测试 C 详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。 A. 概要设计说明书 B. 详细设计说明书计 C. 用户手册 D. 用户需求说明书 下述任务中,不属于软件工程需求分析阶段的是 D 。 A.分析软件系统的数据要求. B.确定软件系统的功能需求. C.确定软件系统的性能要求. D.确定软件系统的运行平台. 常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中 A 模型适用于需求明确或很少变更的项目, D 模型主要用来描述面向对象的软件开发过程。 A.瀑布模型 B.演化模型 C.螺旋模型 D.喷泉模型 在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 A 。 A.原型法 B.瀑布模型 C.V-模型 D.螺旋模型 采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是 D 。 A.外部设计评审报告在概要设计阶段产生。 B.集成测评计划在程序设计阶段产生。 C.系统计划和需求说明在详细设计阶段产生。 D.在进行编码的同时,独立的设计单元测试计划 A 是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。 A.结构化开发方法 B.Jackson系统开发方法 C.Booch方法 D.UML(统一建模语言) 软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是B 。 A.构件化方法 B.结构化方法 C.面向对象方法 D.快速原型方法

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软考软件设计师必做练习题及答案(1)

软考软件设计师必做练习题及答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格 考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希 赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最 为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock中含有锁编号和锁状态这两个属性。又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock中还有锁的安全级别。 【问题2】 首先,(1)、(2)是FingerReader和LockController之间的交互。所以我们看题 目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。 【问题3】 这是纯理论题,请直接阅读参考答案。 试题一参考答案 【问题1】 锁的编号、安全级别、锁的当前状态。 【问题2】

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

下半年软件设计师下午试题以及标准答案

2014年下半年软件设计师下午试题 试题:i 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统,其主要功能如下: (1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。 (2 )生产控制。根据销售订单以及库存的披萨数量,制定披萨生产计划(包括生产哪些披萨、生产顺序和生产量等),并将其保存在生产计划表中。 (3)生产。根据生产计划和配方表中的披萨配方,向库存发岀原材料申领单,将制作好的披萨的信息存入库存表中,以便及时进行交付。 (4)采购。根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。 (5)运送。根据销售订单将披萨交付给客户,并记录在交付记录表中。 (6 )财务管理。在披萨交付后,为客户开具费用清单,收款并岀具收据;依据完成的采购订单给供应商支付原材料费用并岀具支付细节;将收款和支付记录存入收支记录表中。 (7)存储。检查库存的原材料、拔萨和未完成订单,确定所需原材料。 现采用结构化方法对披萨信息系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示 的0层数据流图。 图1-1上下文数据流图

【问题1】(4分) 根据说明中的词语,给岀图【问题2】(5分) 根据说明中的词语,给岀图【问题3】(6分)1-1中的实体E1?E2的名称。 1-2中的数据存储D1?D5的名称。 图1-2 0层数数据流图 根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点

工程训练B答案(1)

昆明理工大学 制造技术工程实训 实习报告 参考答案 一、工程材料基础知识 (一)工程材料 1、工程材料按其性能可分为结构材料和功能材料。前者通常以力学性能为主,兼有一定的物理、化学、性能。而后者是以特殊物理化学性能为主的功能材料。工程上通常按化学分类法对工程材料进行分类,可分为金属材料、陶瓷材料、高分子材料、复合材料。 2、组成合金的结构形式有固溶体、金属化合物、机械混合物三种。刚和铁的基本组成元素是铁和碳,统称为铁碳合金,其中碳含量大于2.11%为铁,小于2.11%为钢。 3、碳素钢是指碳含量小于2.11%和含有少量硅、锰、硫、磷等杂质元素所组成的铁碳合金,简称碳钢;合金钢是在碳钢的基础上加入其它金属(如硅、锰、铬、镍等)元素的铁碳合金;铸铁是含碳量大于2.11%的铁碳合金。碳素钢价格低廉,工艺性好,广发应用与机械制造中;合金钢按加入合金元素的不同,具有不同的性能(高耐磨性、耐蚀性、耐低温、高磁性等),按用途可分为结构钢、特殊性能钢;铸铁按其

碳的存在形态可分为灰口铸铁和百口铸铁。 4、常用的非金属材料有种:工程塑料、复合材料、工业橡胶、工业陶瓷等。 工程塑料具有密度小、耐腐蚀、耐磨减模型好、良好的绝缘性能以及成型性等优点,此外还有强度硬度较低、耐热性差、易老化和儒变等缺点; 复合材料具有较高的比强度和比模量、较好的疲劳强度、耐蚀、耐热、耐磨、减震的特点; 工业陶瓷:高硬度、高耐磨、高弹性模量、高抗压强度、高熔点、耐高温、耐腐蚀、脆性大等特点; 合成橡胶:耐热、耐磨、耐老化;耐寒;耐臭氧 (二)材料处理技术 1、热处理工艺主要是通过控制加热温度、保温时间、冷却速度,从而改变材料的表面或内部组织结构,最终达到改善工件的工艺性能和使用性能的目的。常用的热处理方法有:退火、正火、回火、淬火、调质。 2、说明一下热处理工艺的主要目的: 退火:降低硬度,改善切削加工性能;消除残余应力,稳定尺寸;减少变形与裂纹倾向细化晶粒,调整组织,消除组织缺陷。 回火:消除工件淬火产生的残余应力,防止变形与开裂,调

工作经验怎么写:计算机软件工程师

工作经验怎么写:计算机软件工程师 工作经验对于未来的雇主决定是否给予你求职面试的机会,以及最终的工作职位是最具影响力的因素。工作经验的内容突出你的职业生涯经历,强调经验、资质以及成就。工作经验的记录一般是先开始于你最近的职位,然后回溯(你最近的职位占据最大的比重,随着时间向以前推移,所占的比重也随之减少)。每一条工作经验中都应该逐个介绍每位雇主的下列信息: 1、公司或组织的名称 3、在职时间 3、职务名称 4、工作描述和业绩 工作经历或经验部分的内容应当主要集中于你所取得的突出的成果、成就和贡献。你每日履行的职能影响甚微。而你通过履行这些职能所取得的成就却决定了你是否会被雇用。 工作经验范文:

工作经验 1998/07--至今:上海达克网络系统工程有限公司 所属行业:计算机软件 产品及技术支持部部门经理 1.负责大客户的售前支持 2.制定新产品的技术支持方案 3.负责部门日常管理,协调部门内部工作 4.负责销售人员和技术支持工程师的技术培训。 工作业绩:主持开发了如下网络系统工程的技术支持方案: 1、华东大学国家图象重点试验室网络工程 2、国际展览中心网络系统工程 3、商业银行网络改造工程 -------------------------------------------------------------------------------- 1996/11--1998/06:美国multi-media计算机有限公司上海办事处所属行业:计算机软件

信息技术部技术支持工程师 1.负责产品售前、售后技术支持 2.负责销售渠道和用户的技术培训 3.负责产品技术文档的翻译工作 工作业绩:作为projectleader,领导了“企业管理自动化”项目的开发。 -------------------------------------------------------------------------------- 1993/07--1996/10:上海华佳信息系统有限公司 所属行业:计算机软件 信息技术部系统工程师 1.负责为用户进行sun工作站及unix系统集成项目支持、服务及培训; 2.参与开发sunsparc兼容工作站; 3.用户售前咨询。 汇报对象:部门经理

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

工程训练(考试,焊工部分题库)

焊工(共10道题) 1. 被焊接的材料统称母材。 A 对B 错 2. 电阻焊焊接方法是属于A 熔化焊B 压力焊C 钎焊 3. 焊接飞溅增多、弧声增强、焊条变红的原因是A 焊接电流太大 B 焊接电压太高 C 焊接速度太快 4. 厚度在10mm以下的焊件适合气焊。A 对B 错 5. 碱性焊条需要用直流电源焊接的原因是 A 稳定电弧 B 减少焊缝氢量 C 增加焊条熔入量 6. 你在实习操作中所使用的氧气压力应当()乙炔压力。 A 大于 B 小于 C 等于 7. 气焊火焰温度最高可达2000℃A 对B 错 8. 钎焊不仅可以连接同一种材料金属,而且,可以连接不同材料的金属,甚至还可以连接金属和非金属。A 对B 错 9. 型号为E4301焊条属于A 碱性焊条B 酸性焊条 10. 装配间隙过小、坡口角度太小,易产生的缺陷是A 未焊透B 气孔C 凹坑D 烧穿 1. 必须同时加热又加压才能进行焊接。A 对B 错 2. 焊接可用或不用填充材料。A 对B 错 3. 焊接速度过慢,不仅焊缝的熔深和焊缝宽度增加,薄件还易烧穿。A 对B 错 4. 埋弧焊的焊丝和焊剂与手弧焊中的焊芯和药皮的作用相同。A 对B 错 5. 酸性焊条的药皮中酸性氧化物较强,合金元素烧损,脱硫和脱磷困难,抗裂性能差。(A 对B 错 6. 碳化焰的火焰最高温度比中性焰高。A 对B 错 7. 铜焊是软钎焊,锡焊是硬钎焊。A 对B 错 8. 乙炔瓶的表面温度不应超过A 25℃B 30~40℃C 50~60℃ 9. 引弧后,在焊接方向上焊条与焊件呈45°角最合适。A 对B 错 10. 中碳钢、高碳钢被广泛用作焊接结构件。A 对B 错 1. 被割材料的燃点低于其熔点,气割时就能保证形成整齐的切口。A 对B 错 2. 点焊、缝焊的焊件厚度大都在4mm以下。A 对B 错 3. 焊缝与热影响区的交界面是熔合区。A 对B 错 4. 焊接飞溅增多、弧声增强、焊条变红的原因是A 焊接电流太大B 焊接电压太高C 焊接速度太快 5. 厚度在10mm以下的焊件适合气焊。A 对B 错 6. 埋弧焊焊接厚度在20mm以下的焊件常需要开坡口。A 对B 错 7. 气焊时氧气阀和乙炔阀不可以同时开启。A 对B 错 8. 手弧焊电弧温度高达A 3000KB 6000KC 8000K 9. 选择焊条直径的粗细主要取决于A 焊接电流B 焊件厚度C 焊件材料 10. 用焊接方法连接的接头为焊接接头,它应当A 就是焊缝 B 包括焊缝和热影响区 C 包括焊缝、熔合区、热影响区 1. 被焊接的材料统称母材。A 对B 错 2. 导热性愈好的材料,愈适合于气割。A 对B 错 3. 埋弧焊的焊丝和焊剂与手弧焊中的焊芯和药皮的作用相同。A 对B 错 4. 你在实习操作中所使用的氧气压力应当()乙炔压力。 A 大于 B 小于 C 等于 5. 气焊火焰温度最高可达2000℃A 对B 错

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

浙江大学工程训练作业题集锦.docx

第二章工程材料 +热处理( 16/18) × 1.低碳钢为了达到硬而耐磨,可采用淬火热处理工艺。 2.在碳素钢中,为提高其性能,加入一种或多种合金元素,即成为合金钢。(正确) 3.热处理工艺中淬硬性和淬透性的含义是一样的。(错) 4.正火比退火过冷度大(冷却速度较快),获得的组织较细,因此正火的强度和硬度比退火高。(错误) 5.焊接后为消除焊接应力,可采用退火工艺。(正确) 6.造成热处理变形的主要原因,是淬火冷却时工件内部产生的内应力所致。(正确) 7.为了获得优良的淬火质量,细而长的轴类零件、薄而平的零件,应垂直淬入冷却液中。(错误) 8.金属材料的塑性,随温度的升高而降低。(错误) 9.淬火加高温回火的工艺称为调质处理。(正确) 10. W18Cr4V 是()。A、工具钢 B、弹簧钢C、不锈钢 D 、耐热钢 11.调质的目的是()。 A 、提高硬度 B 、降低硬度 C 、改善切削性能D、获得良好综合力学性能 12.钳工实习时做的小锤头,热处理应采用()。A、淬火 +低温回火 B、正火 C 、退火 D 、淬火 +高温回火 13.以下哪些不属于金属材料及热处理实践所需的仪器或设备 A、箱式电炉 B、邵氏硬度计 C 、洛氏硬度计 D 、维氏硬度计 14.铸造机床床身一般采用的材料是() A、铸钢 B 、可锻铸铁C、灰铸铁 D 、球墨铸铁 15.制造轴、齿轮、连杆、曲轴等机械零件,一般应选用。 A 、耐磨钢 B 、低碳钢C、中碳钢 D、高碳钢 16.以下硬度值标示中,哪一项的写法是正确的。 A 、 HBS240 B 、 HRA80 C 、 55HRC D、 HV800 17.选择材料时,应考虑哪些原则()。 A、力学性能B、使用性能和工艺性能C、化学性能 18.用碳素工具钢制造的刀具能否用于高速切削为什么 A 、能,因硬度高B、不能,因硬度低C、能,因红硬性好D、不能,因红硬性差 19. 淬火后零件立即进行回火处理的目的是()。A、提高硬度 B 、提高强度C、降低脆性,提高韧性 第三章铸造(/20) 1.在造型时,舂砂太松(紧),则会产生气孔。(错误) 2.分模造型适用于最大截面不在端部的铸件。(正确) 3.整模造型与分模造型相比,最大的特点是不会产生错箱缺陷。(正确) 4.形状复杂的结构件可采用铸造方法来满足铸件的使用性能。(正确) 5.大量生产中,为提高生产率,便于操作,常常用单一砂(指原砂)。(正确) 6.错箱是指浇注期间金属溢出造成的缺陷。(错误)(合箱时上下砂箱未对准、未夹紧) 7.零件、模样、铸件三者的尺寸与形状应该是一致的。(错误) 8.型砂是制造砂型的主要成型材料。(正确) 9.冒口也是将金属液引入的通道。(错误)(外浇口、直浇道、横浇道、内浇道) 10.飞边和错箱属于铸件的表面缺陷。(错误) 11.下列零件毛坯中,适宜采用铸造方法生产的是() A 、机床主轴B、机床床身 C 、机床丝杠 D 、机床齿轮 12.分型面应选择在()。 A 、铸件受力面上 B 、铸件加工面上C、铸件最大截面处D、铸件的中间▲ 13.为提高合金的流动性,常采用的方法是()。 A、适当提高浇注温度 B 、加大出气口C、降低出铁温度 D 、延长浇注时间 14.以下哪项不是砂型铸造的翻砂工具。() A、砂箱、舂砂锤、底板、模样、砂刀 B 、冒口、浇注系统、通气针 C、起模针、砂勾、圆勺 D、水罐、筛子、铁锹、敲棒 ▲ 15.型砂透气性差,主要易于产生以下()缺陷。A、气孔 B、粘砂、硬皮 C 、应力、变形 D 、裂纹 16.起模前,在模样周围刷水是为了 A、提高型砂的耐火性 B、增加型砂的湿强度和可塑性 C 、提高型砂的流动性 D 、提高型砂的退让性 17.铸件中的重要加工面或支撑面如机床导轨面,在造型时其位置应设置 A 、朝上B、首选朝下,次选侧面C、侧面D、朝下 ▲ 18.当合金的浇注温度过高时,铸件易产生的缺陷是()。A、粘砂 B 、溢料 C 、气孔 D 、砂眼 19.金属型在浇注前,必须在型腔内喷刷涂料,它的作用主要是()。 A 、防止金属型开裂B、保护金属型的工作表面和改善铸件表面质量C、使金属液容易注入型腔

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

下半年软件设计师试题及答案上午题

下半年软件设计师试题及答案上午题 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

1. CPU在执行指令的过程中,会自动修改()的内容,以使其保存的总是将要执行的下一条指令的地址。 A.指令寄存器 B.程序计数器 C.地址寄存 D.指令译码器 参考答案B 试题解析: 程序计数器pc是用于存放下一条指令所在单元的地址的地方。 指令寄存器是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。 地址寄存器用来保存当前CPU所访问的内存单元的地址。 指令译码器,从内存中取出的一条指令经送往中。 . 2. 在微机系统中,BIOS(基本输入输出系统)保存在()中。 A.主板上的ROM B.CPU的寄存器 C.主板上的RAM D.虚拟存储器 参考答案A 试题解析: BIOS是一个程序,是固化在的BIOS?ROM芯片里面的,它相当于硬件底层的一个,控制和保存着硬件的输入输出工作。 3. 采用n位补码(包含一个符号位)表示数据,可以直接表示数值()。 A.2n

B.-2n C.2n-1 D. -2n-1 参考答案D 试题解析: 对于有n位的整数补码,其取值范围是-(2n-1)~(2n-1)-1以8位的整数补码举例,其有效取值范围是-(27)~(27)-1, 也就是-128~127。拿C计算值为128越界了,只有D符合。其它选项都越界了。 4. 某系统由下图所示的部件构成,每个部件的千小时可靠度都为R,该 系统的千小时可靠度为()。 A.(3R+2R)/2 B. R/3+R/2 C. (1-(1-R)3)(1-(1-R)2) D. (1-(1-R)3-(1-R)2) 参考答案C 试题解析: 2017年上半年原题 串行系统的可靠性 R=R 1×R 2×…× R n 并联系统的可靠性为 R= 1- (1- R 1 ) ×(1- R 2 )×…×(1- R n ) 5. 以下关于采用一位奇校验方法的叙述中,正确的是()。 A.若所有奇数位出错,则可以检测出该错误但无法纠正错误

相关文档
最新文档