文档库 最新最全的文档下载
当前位置:文档库 › 软件工程考试资料整理

软件工程考试资料整理

软件工程考试资料整理
软件工程考试资料整理

1.在结构化分析中,__数据字典__用于详细地定义数据流图中的成分。

2.结构化程序设计是一种程序设计技术,它采用__自顶向下、逐步求精__的设计方法和顺序、选择、循

环三种基本控制结构构造常态程序。

3.结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点__数据存储和数据流_。

4.模块内部的算法设计在结构化方法的___详细设计__阶段进行。

5.定性度量模块独立性的两个标准是内聚性和___耦合性___。

6.从模块内外的联系来看,结构化设计的要求是___高内聚低耦合_。

7.耦合性和内聚性是衡量___模块独立性_的两个定性的标准。

8.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称

为___偶然内聚_____。

9.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性

是 ____顺序内聚__。

10.在模块结构图中,直接调用某一模块的其他模块数称为该模块的__扇入数_

11.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调

12.软件开发,并使混乱减到最低程度。

13.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用

性和效率。

14.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

15.软件结构是以模块为基础而组成的一种控制层次结构。

16.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、

17.判定树。

18.结构化语言是介于自然语言和形式语言之间的一种半形式语言。

19.第二代CASE工具的特点是支持图形表示的 __结构化方法__________ 。如数据流图与结构图。

20.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作 _封装__ 于对象的统一体中。

21.面向对象分析的目的是对客观世界的系统进行建模。

22.为了使应用软件适应计算机环境的变化而 _____修改软件_的过程称为适应性维护。

23.软件生存周期是指一个软件从提出开发要求开始直到 __该软件报废__为止的整个时期。

24.可行性研究从技术可行性、经济可行性、社会可行性、法律可行性四个方面进行分析。

25.结构化方法总的指导思想是__自顶向下_____逐层分解。

26.软件部件的内部实现与外部可访问性分离,这是指软件的__封装____。

27.用来模拟被测模块的上级调用模块的模块称为___驱动模块____。

28.软件开发环境中最主要的组成部分是___软件工具___。

29.软件工程管理的具体内容包括对开发人员、组织机构、用户和___文档资料___等方面的管理。

30.增量模型根据增量方式和形式的不同,分为__渐增模型___和原型模型。

31.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间

的( 信息流动)情况。

32.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( 宽度优先策

略) 。

33.从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

34.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据)。包括模块的算法和

使用的数据

35.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。它是维护阶段的一种文

档,由申请维护的用户填写。

36.软件工程中的结构化分析SA是一种面向__数据流______的分析方法。

37.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个__由下而上______的过程。

38.__数据流图______和数据字典共同构成了系统的逻辑模型

39._____等价划分______是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导

出测试用例。

40.软件工程学的内容可包括( 理论 ),结构,( 方法 ),( 工具 ),环境,管理,规范等.

41.软件生存周期一般可分为问题定义,( 可行性研究 ),( 需求分析 ),设计,( 编码 ),测试,运

行与维护阶段.

42.系统流程图是( 描述物理系统 )的传统工具.

43.需求分析的基本任务是准确的回答( 做什么 ).

44.数据字典的内容包括六项:( 数据流 ),( 数据项 ),( 数据结构 ),数据存储,处理逻辑,外部

实体.

45.模块独立的概念是( 模块化 ),( 抽象 ),(信息隐蔽 )和局部化概念的直接结果.

46.软件=程序 + 数据 + 文档

47.总体设计过程通常由两个阶段组成:___系统设计______和_____结构设计________。

48.面向对象开发方法包括OOA、__OOD______和____OOP________三部分。

49.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_______模型。

50.软件文档是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依据,而且也是影响软件

的可维护性.

51.文档是软件开发人员,维护人员,用户,以及计算机之间的桥梁.

52.]可行性研究是决定软件项目是否继续开发的关键

53.可行性研究的目的是要用最小的代价,在尽可能段的时间内确定软件项目的可行性

54.需求分析阶段需要编写的文档有:需求规格说明书,初步用户使用手册和确认测试计划.

55.软件计划包括总体设计(或概要设计)和详细设计两个阶段.

56.软件概要设计的成果是软件设计说明书.

57.软件的详细设计,也称模块设计.它要求设计人员为每一个程序模块确定所使用的算法,数据结构,接

口细节和输入,输出数据等.

58.结构化分析方法是面向数据流进行分析的方法.

59.在软件开发的结构化方法中,构成系统逻辑模型的是数据流图和数据字典.

60.数据字典有4类条目,它们是数据项,数据流,数据储存和基本加工.

61.数据流图采用4种符号表示数据储存,数据源点和终点,数据流向和数据加工.

62.面向数据流的软件设计中,一般是把数据流图的数据流划分为变换流和事物流

63.为了便于软件模块的维护和测试,模块的接口应当简单。

64.在白盒法测试中,对程序的语句逻辑有6种覆盖技术,其中发现错误能力最强的技术是

65.路径覆盖技术。

66.若有一个计算类型程序,它的输入量只有一个X,其范围是[-1.0,1.0]。现在输入的

67.角度考虑设计一组测试该程序的测试用例为-1.001,-1.0,1.0,1.001,设计这组测

68.试的方法是边界值分析法。

69.软件测试中路径覆盖测试是整个测试的基础,它是对软件的结构进行测试。

70.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。

71.软件复审时,其主要的复审对象是软件文档。

简答题:

①模块的内聚性包括哪些类型?

模块的内聚性包括:

(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚

②就程序设计语言的工程特性而言,对程序编码有哪些要求?

(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性

③以G.J.Myers的观点,简述对软件测试的目的。

软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。

④从开发者角度进行程序质量的评审时,软件的结构包括哪些主要内容?

1、功能结构

2、功能的通用性

3、模块的层次

4、模块结构

⑤软件生存周期可以分为几个阶段,每个阶段的提交物是什么?

(1)制定计划(可行性研究和项目开发计划) (2)需求分析,提交软件需求说明书; (3)概要设计,提交概要设计说明书; (4)详细设计,提交详细设计说明书; (5)编码,提交源程序清单; (6)测试,提交测试报告; (7)维护,提交维护报告。

⑥结构化分析的描述工具有哪些?简述结构化分析的步骤。

结构化分析的描述工具有:(1)数据流图,(2)数据字典,(3)描述加工逻辑的结构化语言、判定表、判定树。

(1)了解当前系统的工作流程,获取当前系统的物理模型;(2)抽象出当前系统的逻辑模型;(3)建立目标系统的逻辑模型;(4)作进一步补充和优化。

⑦什么是黑盒测试法?常用的黑盒测试方法有哪些?

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。常用的黑盒测试方法有等价类划分、边界值分析、错误推测、因果图.

⑧什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

软件危机表现在以下四个方面:

(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。

(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。

(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。

(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。

造成软件危机的原因是:

(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。6)开发工具落后,生产率提高缓慢。

⑨简述软件测试的任务、目的与类型。

答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

⑩简述结构化程序设计方法的基本要点。

答:(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环

(3)采用主程序员组的组织形式。

(4)采用单入口单出口的模块形式。

?什么是软件生存周期。

答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

?在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。

答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。

?为什么数据流图要分层?

答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

?什么是模块,模块化,模块独立性?

答:模块是数据说明,可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程,函数,子程序,宏等等都可作为模块.

模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求.

模块独立性是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的.

模块独立的概念是模块化,抽象,信息隐蔽和局部化概念的直接结果.

?系统设计的内容是什么?

解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。(2)确定并发性。(3)处理器及任务分配。(4)数据存储管理。

(5)全局资源的处理。(6)选择软件控制机制。(7)人机交互接口设计。

判断题:

1、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动.

(√)

2、C语言是一种系统实现语言,也是一种结构化程序设计语言。(√)

3、功能性注释嵌在源程序体中,用以解释下面的程序语句怎么做。(×)

4、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(√)

5、在程序调试时,找出错误的位置和性质比改正该错误更难。(√)

6、黑盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。(×)

7、模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。(×)

8、输入/输出风格是在软件需求分析和设计阶段建立的,而不是在编码阶段建立的。(√)

9、需求是变化的,因为软件是灵活的,总可以满足需求。(×)

10、测试只能证明程序有错误,不能证明程序没有错误。(√)

11、在可行性研究中最难决断和最关键的问题是经济可行性.( × )

12、耦合是指一个模块内各个元素彼此结合的紧密程度.( × )

13、一笔交易,一个动作,甚至操作人员按一个按钮都可以看做是一次事物.( √ )

14、概要设计阶段完成的主要文档是概要设计说明书.( √ )

15、过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解.( × )

16、程序设计语言中应绝对禁止使用GOTO语句.( × )

17、类是关于对象性质的描述,由方法和数据组成.( √ )

18、随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清

晰.( √ )

19、为保证程序的安全,必须做到程序中没有任何错误存在,即容错.( × )

20、如果把软件开发所需的资源画成一个金字塔,人是最基本的资源.( √ )

21、软件生存周期是从软件开始开发到开发结束的整个时期。(×)

22、系统流程图是一个典型的描述逻辑系统的传统工具。(×)

23、数据流图和数据字典共同构成系统的逻辑模型。(√)

24、扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。(√)

25、耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。(×)

26、程序运行过程中出现错误叫做容错。(×)

27、软件测试的目的是证明程序没有错误。(×)

28、白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程(×)

29、软件工程学只有理论意义,没有实际用途。(×)

30、软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。(×)

31、可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。(√)

32、代码审查方法没有计算机测试方法好。(×)

33、验证软件需求的方法主要靠人工审查的方法。(√)

34、并发系统中遇到的一个主要问题是定时问题。(√)

35、编码风格由个人喜好决定,没有固定格式。(×)

36、面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。(√)

37、软件重用是提高软件开发生产率和目标系统质量的重要途径。(√)

38、判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)

39、Power Designer是一个CASE工具。(√)

40、软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就

是编写程序代码。(×)

41、在进行需求分析时需同时考虑维护问题。(×)

42、UML是一种面向对象的分析设计方法,即OOA/OOD方法。(×)

43、在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象

的模板。(√)

最新公司内部管理系统资料

内部管理系统(人事管理系统+客户关系管理系统) 需 求 分 析 说 明 书 2015.10.9

一、人事管理系统部分 1、系统人员类型 公司的人员类型有以下几种:普通员工、部门经理、总经理、人事部经理和人事助 2、系统基本功能图解 2.1 基本机构图

2.2用例图解

3、功能详情 3.3.1 登录页面 需要登录的人员,对于不同的身份,他们的权限是不一样的。当用户输入ID和密码时,查询数据库,如用户名和密码正确,则进入相应的员工信息页面,若不正确,则提示用户用户名或密码错误,仍显示当前页面

3.3.2 查询员工资料 该模块主要查看自己/同事的资料,以更好促进公司员工之间的相互了解。同时也可以修改自己的部分信息。 主要功能包括: ●查询自己的详细信息:员工ID、员工姓名、电子邮件、所在部门名称(不是部门ID)、经理、 分机和自我介绍等 ●修改自己的自我介绍 ●修改自己的登录密码 ●查询、搜索其他同事的相关信息 3.3.3 员工资料管理 人事部门负责维护员工的基本资料。当员工第一天来公司报道时,人事部门将员工的基本资料(姓名、性别、出生日期、电子邮件及所属部门等)录入到数据中,并打印一份报道单给员工,上门列出了该员工的登录ID、公司邮件的地址、该员工的部门名称以及该员工的同部门同事列表。 主要功能包括: ●添加/修改/删除员工 ●按任意条件搜索员工(支持模糊查询) ●打印员工报道单 上传/修改员工的照片。

3.3.4请假模块 请假申请: 员工根据工龄享受年假。如果员工是本年度才加入公司的,则需根据报到日期按公司规章制度计算假期期数。员工请假不可以超过规定的请假小时数。员工可以通过本模块提交/查看/取消申请。 主要功能包括: ●显示员工本人年假总小时数、已使用小时数、当前可用小时数 ●用日历的方式显示可请假的日期,并突出显示国定节假日 查看员工本人某段时期内的请假记录、申请、批准状态等。 请假审核: 该模块只允许经理访问。经理可以查看下属的请假记录,批准/否决其中申请。 主要功能包括: ●显示经理下属名单 ●显示某段时间内所有/部分员工的请假记录汇总,包括年假总数、已使用小时数、当前可用小时 数、请假理由 显示当前所有待批准的请假记录,可以在上面执行“批准/否决”操作 请假管理: 人事部可以查看公司所有员工的请假记录,同时可以设定国定假日。 主要功能包括: ●设定国定假日 ●按部门汇总某段时期内的请假记录。 请假功能流程图:

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程期末试题(含答案)解析

填空题(每空 1 分,共25 分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试 和运行和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案 可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式 描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据 存储文件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据 流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为 3 类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。单项选 择题(每小题2分,共20 分) 1.软件设计中划分模块的一个准则是( C )。 A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D. 高内聚高耦合 2.Jackson 设计方法是由英国的M. Jackson 提出的,它是一种面向( C )的软件设计方法。 A 、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B 、b C 、c D 、 b 和 c 4.( A )是用户和设计交换最频繁的方法。 A 、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是( C )。 A 、硬件环境 B 、软件开发的环境 C. 软件开发工具和软件开发的环境D 、开发人员的素质 6.20 世纪50 年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A 、证明软件的正确性 B. 找出软件系统中存在的所有错误 C.证明软件系统中存在错 误 D. 尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A、程序的内 部逻辑 B 、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。

建设工程资料档案整理规范

惠州市建设工程档案整理规范 一、建设工程文件的归档范围 市城建档案馆接收范围的建设工程为本城市规划区内的各项建设工程。对与工程建设有关的重要活动、记载工程建设主要过程和现状、具有保存价值的各种载体的文件,均应收集齐全,整理立卷后归档。 惠州市建筑工程文件的具体归档范围应符合本规定附录A, 惠州 市市政工程文件的具体归档范围应符合本规定附录B, 惠州市地下管线工程文件的具体归档范围应符合本规定附录C。 二、建设工程档案归档的质量要求 1.归档的工程文件应为原件。 2.工程文件的内容及其深度必须符合国家有关工程勘察、设计、施工、监理等方面的技术规范、标准和规程。 3.工程文件的内容必须真实、准确,与工程实际相符合。 4.工程文件应采用耐久性强的书写材料,如碳素墨水,不得使用易褪色的书写材料,如红色墨水、纯蓝墨水、圆珠笔、复写纸、铅笔等。 5.工程文件应字迹清楚,图样清晰,图表整洁,签字盖章手续完备。 6.工程文件中文字材料幅面尺寸规格宜为A4( 297mm×210mm),图纸应采用国家标准 图幅。 7.工程文件的纸张应采用能够长期保存的韧性大、耐久性强的纸张。图纸一般采用蓝晒图,竣工图应是新蓝图。计算机出图必须清晰,不得使用计算机出图的复印件。 8.所有竣工图均应加竣工图章。竣工图章的基本内容应包括:"竣工图"字样、施工单位、编制人、审核人、技术负责人、编制日期、监理单位、现场监理、总监。竣工图尺寸为:50mm×80mm。竣工图章应使用不褪色的红印泥,应盖在图标栏上方空白处。竣工图示例如下:

9.利用施工图改绘竣工图,必须标明变更修改依据,凡施工图结构、工艺、平面布置等有重大改变,或变更部分超过图面1/3 的,应当重新绘制竣工图。 10.不同幅面的工程图纸应统一折叠成A4 幅面(297mm×210mm),横向按手风琴式折叠,竖向按顺时针方向向内折,图标栏露在外面(按《技术制图复制图的折叠方法》) (GB/10609.3---89 )。详情请参考附录G 折叠方法。 三、建设工程档案的立卷 1.立卷的的原则与方法:立卷应遵循工程文件的自然形成规律,保持卷内文件的有机联系,便于档案的保管和利用。一个建设工程项目由多个单位工程组成时,工程文件应按单位工程立卷。建设工程文件按建设程序划分为工程准备阶段文件、监理文件、施工文件、竣工图、竣工验收文件五部分。工程准备阶段文件按建设项目的建设程序、专业、形成单位等立卷,监理文件按单位工程立卷,施工文件按分部工程立卷,竣工图按单位工程和专业立卷,竣工验收文件按单位工程、专业等立卷。 2.卷内文件的排列:卷内文件必须按本规定附录A、附录B、附录C的类别和顺序排列,图纸按专业图纸目录顺序排列。 3.案卷的规格:文字材料一般不超过3厘米,图纸不超过 5 厘米。印刷成册的工程文件保持原状。 4.案卷的编目: (1)卷内文件页号的编制:卷内文件均按有书写内容的页面编号。每卷单独编号,页号从“1” 开始。页号编写位置:单面书写的文件在右下角;双面书写的文件,正面在右下角,背面在左下角。折叠后的图纸一律在右下角。印刷成册的科技文件,自成一卷的,原目录可代替卷内目录,不必重新编写页号。案卷封面、卷内目录、卷内备考表不编页号。 (2)卷内目录的编制:卷内目录排列在卷内文件首页之前,示例样本请参考图例1。序号:以一份文件为单位,用阿拉伯数字从 1 依次标注。责任者:填写文件的直接形成单位,有多个责任者时,选择一个主要责任者,其余用“等” 代替。 文件编号:填写工程文件原有的文号或图号。文件题名:填写文件标题的全称。 日期:填写文件形成的日期。页次:填写文件在卷内所排的起始页号,最后一份文件填写起止页号。 ( 3 )卷内备考表的编制:卷内备考表排列在卷内文件尾页之后,示例样本请参考图例2。卷内备考表主要标明卷内文件的总页数、各类文件页数(照片张数),以及立

软件系统项目建设项目管理文档

目录 1.项目管理 (1) 1.1项目范围管理 (1) 1.2项目时间管理 ......................................................................... 错误!未定义书签。 1.3项目里程碑 (6) 1.4培训方案 (6) 1.5技术支持与售后服务 (7) 1.6项目进度管理 (8) 信息系统项目建设项目管理文档 1.项目管理 1.1项目范围管理 (1)概述 项目范围管理就是要明确项目目标是什么,界定哪些工作必须做,并将项目目标分解到可以独立分包的程度,形成工作分解结构(WBS),并以此作为控制项目范围变更的基准。即项目范围管理是确保项目包含且只包含项目所必须完成的工作。 很多项目经常由于有做不完的报表、解决不完的问题而导致项目无法验收,很大一部分原因就是因为项目的范围没有定义清楚或者项目范围经常发生无可控制的变更所致。事实证明,缺少正确的项目范围定义和范围的核实是导致项目失败的主要因素。 因此,项目管理最重要的也是最难做的一项工作就是确定项目范围,并使项目范围在控制中,这就是项目范围管理的范畴,即项目范围管理就是项目该做什么,不该做什么,以及确保该做的事情必须做到,不该做的事情不能做。 在项目的规划阶段和蓝图设计阶段的前期,我们通过售前阶段的资料和项目

现场的需求调研,确定项目该做什么,这就是经常说的定义项目范围。 (2)管理内容 1、定义项目范围 1)定义项目范围重要的参考资料和依据一般如下: ●项目售前实施方案; ●项目主合同; ●许可软件通用条款及清单; ●咨询实施服务和工作任务书; ●支持服务条款; ●战略合作承诺书; ●建设单位内部正式发问的项目实施意见书。 2)口头承诺 定义范围除了依据上述可见的项目资料外,售前阶段的一些口头承诺也是定义项目范围的重要信息来源,因此在项目准备阶段与售前进行内部交接时,一定不能忘记交接口头承诺的内容,实践证明,口头承诺的往往是在项目实施过程中难以交付的或者需求范围不好清晰界定的,正是范围管理的难点。 通过范围定义,可形成详细的范围说明书,以及对项目管理计划进行更新。 2、项目范围 范围是指项目所提供的产品或服务的总和,它包括以下两种含义: ●产品范围:产品或者服务的特性与功能,其衡量标准为产品要求,即产 品需求说明书。 ●项目范围:为交付所需产品(具有特定属性和功能)和服务而必须完成 的工作,其衡量标准为项目管理计划、项目范围说明书、WBS及WBS词汇 表。 项目实施的产品范围的描述一般应该通过两个维度,即产品功能模块和公司范围两个维度,清晰的描述出哪些公司具体实施、哪些产品的功能模块,对于集团型企业一定要以企业法人作为实施的公司范围。借用EXCEL建立功能模块与法人

软件工程复习资料

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.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

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.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试) ____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

安装工程资料整理要求

工程竣工档案资料收集整理顺序竣工档案资料分为四部分: 1.工程技术管理文件。 2.工程质量评定文件。 3.工程质量控制资料。 4.竣工图。 一、工程管理文件 1.开工(复工)申请及批复 2.合同、技术协议、分包单位资质审查资料 3.图纸会审、设计交底、技术交底及专题会议纪要 4.施工组织设计(方案)及批复 5.主要施工机具进场报验资料 6.设计变更、补充、修改通知目录 7.现场工程联系表、工程洽商、工程变更表 8.材料、构配件、设备代用明细表及相关资料 9.工程停、复工、延期申请及相关资料 10.工程质量、安全记录、纪要 11.单位工程交工验收申请表、备忘录 12.施工总结 13.单位工程交工验收证明书 14.工程质量保修书 15.单位工程质量报验申请表 16.单位工程竣工报告及相关审批文件 17.施工现场质量管理检查记录表 18.单位工程综合质量评定表 19.质量控制资料核查表 20.单位工程安全和功能,检验抽查记录 21.单位工程观感质量评定表 22.分部工程质量评定汇总表

二、工程质量评定资料 1.分部工程质量报验申请表 2.分部工程质量评定表 3.分项工程质量报验申请表 4.分项工程质量评定表 5.检验批质量报验申请表 6.检验批质量评定记录表 三、工程质量控制资料 (一)各专业通用的质量控制资料 1.材料、构配件、设备进场报验及相关资料(合格证、检验报告、质量证明书等) 2.中间交接记录(土建与安装的交接) 3.设备开箱检查记录 4.施工自检记录 5.隐蔽工程报验、施工记录(施工日志) 6.监理工程师通知单及反馈资料、工程现场签证表 7.质量整改令及复工资料 8.见证取样及相应资料 (二)各专业质量控制资料 1.钢结构制安工程 (1)构件制作记录 (2)焊接工艺评定报告 (3)焊材合格证、烘烤记录 (4)中间交接资料 (5)安装记录(自检记录、二次浇灌记录) (6)焊缝质量检查资料 (7)焊工合格证、探伤人员资格证 (8)高强螺栓合格证及抽检、复验资料 (9)连接面检查试验报告 (10)紧固记录 (11)防腐材料合格证及复验报告

大学软件工程复习资料

五、简答题 1.层次图和层次方框图之间区别何在?P92 ①层次图描绘软件的层次结构,层次方框图描绘数据结构 ②层次图中方框代表一个功能模块,层次方框图方框代表数据的子集或数据元素 ③层次图中连线表示模块间调用关系,层次方框图连线表示组成关系。 2.2、软件设计过程中为什么要采用模块化设计方法?P85 参考答案: (1)、采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读和理解; (2)、模块化使软件容易测试和调试,因而有助于提高软件的可靠性; (3)、模块化可以提高软件的可修改性; (4)、模块化有助于开发过程的组织和管理; 3.用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性? 如果对同类型的程序进行度量,其结果是否就比较有价值? 参考答案: 开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。 4.数据流图的作用是什么?它有哪些基本成分? 参考答案: 数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度.以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制.也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 基本成分有:数据原点/终点数据处理数据流数据存储 5.常用的估算软件规模的方法有哪些?试比较这些方法的优缺点。 代码行技术的优点,容易计算,缺点是太片面,因为源程序只是软件配置的很少一部分,不同语言实现同一个软件所需的代码行数不同; 功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。 6.CMM的全称是什么?其基本思想是什么?为什么要对CMM进行分级?P321 其基本思想是:软件开发和维护过程中的问题是由于管理软件过程的方法不当引起的,即使是应用新的软件技术,也不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将有利于开发出高质量的软件,使更多的软件项目免受时间和费用超支之苦。 ······························································································· 3分 对于任何软件开发机构的软件过程的改进都是在完成一个又一个小的改进的基础之上不断进行的渐进过程,而不是一蹴而就的彻底革命。CMM将软件过程从无序到有序的进化过程分为5个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力 什么是软件配置管理? 答:软件配置管理,简称SCM(Software Configuration Management),是在软件的整个生命周期内管理变化的一组活动。具体地讲,这组活动包括:①标志变化,②控制辩化,③确保适当地实现变化,④向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高

期末软件工程资料整理

1.软件工程的基本原理? 答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。 2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。 3.问答:P.32第2题 4.简述结构化范型和面向对象范型的要点,分析优缺点。 5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案: 电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6.名词解释:第一范式,第二范式,第三范式 答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。 第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 7.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案: 系统的数据流图如下图所示:

工程资料整理要求

1、归档工程文件组卷分类必须清楚,将不同的文件资料分开装订、同类型的资料装订成册,并按工程进度依次编制流水编号。 2、移交资料类别必须齐全,内容完整。 3、归档的工程文件原则上为原件。没有原件时,复印件要清晰,并注明原件存放位置。 4、归档文件应字迹清楚、签字盖章手续完备。 5、工程资料统一采用A4纸规格,不符合标准的原始资料要通过折叠和粘贴的方式达到A4幅面(297mm×210mm)规格,图标栏露在外面。由政府及专业检测机构编制的装订成册的文件材料(如勘察报告)除外。 6、工程资料尽量使用计算机打印(签名和日期除外),不得使用涂改液修改;签字和盖章程序要完备,不得使用圆珠笔、铅笔、复写纸等易褪色的书写材料。 7、工程文件的纸张应采用能够长期保存的韧性大、耐久性强的纸张。图纸一般采用蓝晒图,竣工图应是新蓝图,不能使用二底图。计算机出图必须清晰,不得使用计算机出图的复印件。 8、所有竣工图均应加盖竣工图章和设计出图专用章。竣工图的折叠方式要符合档案馆的要求(一般情况下是折成手风琴的样式,见下图1)竣工图章的基本内容应包括:“竣工图”字样、施工单位、编制人、审核人、技术负责人、编制日期、监理单位、现场监理、总监。 作为资料员的你,知道工程移交资料要求吗?_2 竣工图章应使用不褪色的红印泥,应盖在图标栏上方空白处。(图章示例见下图2)作为资料员的你,知道工程移交资料要求吗?_3 9、凡施工图结构、工艺、平面布置等有重大改变,或变更部分超过图面1/3的,应当重新绘制竣工图,并在图标上方或旁边以文字注明变更修改依据。 10、制作竣工图只能以图纸会审、设计变更、工程洽商单三种为修改依据。

软件工程教材资料整理

软件工程复习资料 第一章 1、软件的概念:软件是计算机中与硬件相互依存的另一部分,它是包括程序、数据及其 相关文档的完整集合。 2、软件具有下列特点: 1.软件是一种逻辑产品,它具有抽象性和无形性。 2.软件的生产与硬件不同。 3.软件在运行和使用中,不会磨损和老化,但它存在退化问题。 4.软件的开发和运行对计算机系统有一定的依赖性。 5.软件开发至今仍未完全摆脱手工开发方式,大多数软件是“定做”的。 6.软件开发成本高、风险高。 7.相对于计算机硬件技术的发展,计算机软件技术的发展十分缓慢。 3、计算机软件技术的发展经历了三个阶段: 程序设计时期(20世纪40年代中期至60年代中期),软件质量取决于个人编程水平。 程序系统时期(20世纪60年代中期至70年代中期),软件质量取决于开发小组的技术水平 软件工程时期(20世纪70年代以后)。软件质量取决于软件工程管理水平。 软件技术的发展主线是由个体简单的开发方式向着复杂、大规模、标准化、工程化的方向发展,在最高阶段,把软件开发界定为两方面的内容:软件开发和软件维护。 4、软件开发引发的问题: 1.社会对软件需求的不断发展 2.软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 5、软件危机1)发生时间:软件发展第二阶段(程序系统阶段)的末期 (2)软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题。 (3)软件危机的主要表现有以下几方面: 1.软件开发经费超支、进度拖延 2.软件不能符合用户的要求 3.软件难以维护 4.软件可靠性差 5.软件开发生产率低 4)主要原因: 1 社会对软件的需求急剧增加 2 软件本身的特点:软件本身存在着复杂性 3软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 寻找解决软件危机途径的过程就是软件工程形成的过程 6、软件工程 核心:以工程化的原理和方法对软件进行规划、定义、开发和维护; 宗旨:以较少的投入,最快的时间生产出高质量的软件。 定义:“软件工程是软件开发、运行、维护和引退的系统方法”。 软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。 软件工程的三要素是方法、工具和过程。 软件工程的基本目标:实现软件的优质高产,即在给定成本、进度的前提下,达到要求的软件功能,取得较好的软件性能,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性,并满足用户需求的软件产品。

软件工程复习资料

软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思想和方法去进行软件开发、维护和管理的学科。 软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。 软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的观点d.信息隐蔽的观点e.质量保证的观点 CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最富有成效的几种方法学之一。它的的核心有四个要点:交流、简单、反馈、勇气 软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。 软件需求分类:功能需求、非功能需求和领域需求 结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC) 面向对象的一些概念:类是具有相同或相似性质的对象的抽象。实例是类的具体化。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。消息是指对象间相互联系和相互作用的方式 数据流类型:变换型数据流、事务型数据流、混合型数据流 Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。伪码一般采用结构化形式的英语描述,例如,用”select”语句描述选择结构,用”until”或”while”语句描述重复结构。 结构化程序设计的三种基本逻辑结构是:顺序结构、选择结构和循环结构。 类与类之间的关系:关联、泛化、聚集 软件设计的三类活动:软件设计的第一类活动是软件结构设计,也称为总体设计、概要设计或高层设计。第二类活动是软件详细设计,也称为(模块)过程设计或底层设计。第三类活动是设计测试。 软件模块化设计的指导思想:分解、抽象、逐步求精、信息隐蔽和模块独立性。 软件模块化设计的定义:把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定子功能,所有的这些模块以某种结构形式组成一个整体。 模块独立性的定义及控制标准:模块独立性是模块化、抽象、信息隐蔽概念的直接结果,也是判断模块化结构是否合理的标准。模块独立性可以由两个定性标准度量,即模块自身的内聚和模块之间的耦合。 内聚性、耦合性和抽象的定义:内聚性是从功能的角度对模块内部聚合能力的量度,耦合性是对一个软件结构内不同模块之间互连程度的度量。抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态和运动规律),而非具体细节或具体实现。 信息隐蔽定义:每个模块对其他所有模块都隐蔽自己的设计决策,也就是说,模块应该详细说明且精心设计以求在某个模块中包含的信息不被不需要这些信息的其他模块访问。 按耦合度从低到高依次有7种耦合方式:a.非直接耦合(独立运行)b.数据耦合(用参数表传递简单数据)c.标记耦合(传递数据结构或者一部分)d.控制耦合(传递的信息包括控制模块的信息)e.外部耦合(模块与软件之外的环境有关)f.公共耦合(多个模块引用同一全局的数据区)g.内容耦合(访问内部数据,代码重叠或者多个入口)按内聚度从低到高依次有7种内聚种类:a.偶然内聚(模块完成的多个任务,任务之间的关系松散)b.逻辑内聚(模块完成逻辑相关的一组任务)c.瞬时内聚(模块的所有任务必须在同一时间间隔内执行)d.过程内聚(模块的处理元素相关而且按照特定的次序执行)e.通信内聚(模块的所有元素集中在一个数据结构区域上)顺序内聚(模块的处理元素相关,必须顺序执行)f.功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)结构化设计方法(SD)是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。 软件维护类型及对应方向的维护: 纠错性维护:对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。纠错性维护占整个维护工作的21% 完善性维护:为了满足这些日益增长的新要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、

软件工程期末考试复习资料1

版权声明:本文版权归05112114、05112125 所 有,未经许可,任何任何媒体均不得改变其形 式,进行转载或摘录,违者必究! 软件工程期末考试复习资料一 (仅参考) 拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料 一、软件工程的定义: 1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。 2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折 ②软件生产率低,不能满足需要 3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法 ②工具:研究支撑软件开发方法的工具 ③过程:为开发高质量软件所规定的各项任务的工作步骤 4、软件工程研究的标准及目标: 标准:分为4个层次,国际标准、行业标准、企业规划、项目规划 目标:以较少的投资获取高质量的软件。有易于维护、低的开发成本、高性能、缩短开发期 5、软件工程研究的主要内容:以下两个方面:①软件开发方法、技术;软件开发工具及环境 ②软件管理技术、软件规范(国际规范) 7、软件工程学的目的:①以较少的投资获取高质量的软件 ②运用科学的方法和工程化的规范管理来指导软件开发 ③克服软件危机 8、软件工程的基本原则:如下4条基本原则 ①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求 ②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标 ③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用 ④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现 9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动 包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进 特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。 二、软件与软件生存周期 1、软件的概念和特点 1)概念:软件是程序以及开发使用维护程序所需的所有文档 2)软件的构成:由应用程序、系统程序、面向用户的文档及面向开发者的文档4部分构成即:软件=程序+文档 3)特点:①软件是一种逻辑实体,不是具体的物理实体

相关文档