为了复试_五套综合测试题的第四套.
3.IDEF0图不反映出系统(B)
? ?A系统做什么 ?B统功能如何实现 ?C系统由谁来做 D系统实现的约束条件
与第三套的17题一起记忆
17. ?IDEFO图反映系统( D)
?A.怎么做 ? ? ? ? ? ? B 对谁做 ? ? ? ? C ? 何时做 ? ? D。做什么
?
我查了半天,发现还不如记住这几道题实在:
总之:IDEFO图反映系统做什么,系统有谁来做和系统实现砸约束条件
?
4.模块的内聚性最高的是(D)
? ? ? A逻辑内聚 ? ? B时间内聚 ? ? C偶然内聚 ? ? D.功能内聚?
第三套是有答案的,但是还张贴一下比较好。
内聚性有六种类型:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚,它们的内聚性由高到低。
(1)、偶然内聚。指一个模块内的各处理元素之间没有任何联系。这是最差的内聚情况。
(2)、逻辑内聚。指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。如产生各种类型错误的信息输出放在一个模块,或从不同设备上的放在同一个模块。这种模块有所提高,个部分之间在功能上有相互关系,但是不易修改,当某个调用模块要修改此模块功用代码时,而另一些又调用模块又不需要修改时,不用的部分也占据了内存,降低了系统效率。
(3)、时间内聚。把需要同时执行的动作组合在一起形成的模块为时间内聚模块。如初始化一组变量,同时打开若干文件,同时关闭文件等等,都与特定时间有关。时间内聚比逻辑内聚程度高一些,因为时间内聚模块中的个部分都要在同一时间内完成。但是由于这样的模块往往与其他模块联系的比较紧密,如初始模块对许多模块的运行有影响,因此和其它模块藕荷的程度较高。
(4)、通信内聚。指模块内所以处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
? ? ? 通信内聚的模块的各部分都紧密相关于同一数据(或者数据结构),所以内聚性要高于前几种类型。同时,可把某一数据结构、文件、设备等操作都放在一个模块内,可达到信息隐藏。
(5)、顺序内聚。指一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
(6)、功能内聚。这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。功能内聚的模块易于理解、易于修改,因为她的功能是明确的、单一的,因此与其它模块的耦合是弱的。功能内聚的模块有利于实现软件的重用,从而提高软件开发的效率。
?
? ?5,在SD方法中全面指导模块划分的最重要的原则是(D)
? ? A.程序模块化 ? ? ?B.模块高内聚 ? ? ? C.模块低偶合 ? ? ? ? D.模块独立性
记好吧,反正就那么几道题
?
6.软件详细设计主要采用的方法是(D)
? ? ?A.模块设计 ? ?B.结构化设计 ? C. ? PDL语言 ? ? ? ?D.结构化程序设计
以下摘自书上原文:
详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。
结构化程序设计?只用 3 种基本的控制结构就能实现任何单入口单出口的程序。这 3 种基本的控制结构是“ 顺序 ”、“ 选择 ”和“ 循环 ”。
?
7.下列关于JSP方法不正确的说法是()
? ? ? ?A. JSP方法主要用于规模不大的数据处理系统
? ? ? ?B. JSP方法不明确的划分概要设计和详细设计的两个阶段
? ? ? ?C. JSP方法适用与输入数据和输出数据之间有对应关系的问题求解
? ? ? ?D. JSP方法根据输入,输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细阶段
明确一下JSP方法是什么,记住上面三句话就好了。
JSD方法:JSD方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述、即程序结构。
?
8,不适合作为科学工程计算语言的是(D)
? ? A. ?Pascal ? ? ? B. ?C ? ? C. ?Fortran ? ? D. Prolog
需要记住的题一起贴在这里
8.第一个体现结构化编程思想的程序设计语言是(C)
??????? A Fortron
??????? C Pascal
9,黑盒测试在设计测试用例时,主要需要研究(A)
? ? ?A.需求规格说明和概要设计说明 ? ? ? ? ? ? B.详细设计说明
? ? ?C.项目开发计划 ? ? ? ? ? D.概要设计说明与详细设计说明
?
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
?
?
10.若有一个计算类型的程序,它的输入量只有一个x,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)
? ? ?A.条件覆盖法 ? ? ? B.等价分类法 ? ? C.边界值分析法 ? ? ?D.错误推测法
一看答案就恍然大悟了
?
?
11,下列属于维护阶段的文档是(C)
? ? ?A.软件规格说明 ? B.用户操作手册 ? C.软件问题报告 ? ?D.软件测试分析报告
这个还是说一下看书的方法,你看这里,维护阶段的文档,那么当然要到对应的维护过程的中去找寻对应的答案撒。
摘自8.3 软件维护过程,这只是其中的一个部分。
?
2. 维护报告
应该用标准化的格式表达所有软件维护要求。软件维护人员通常给用户提供空白的维护要求表——有时称为软件问题报告表,这个表格由要求一项维护活动的用户填写。如果遇到了一个错误,那么必须完整描述导致出现错误的环境(包括输入数据、全部输出数据以及其他有关信息)。对于适应性或完善性的维护要求,应该提出一个简短的需求说明书。如前所述,由维护管理员和系统管理员评价用户提交的维护要求表。
维护要求表是一个外部产生的文件,它是计划维护活动的基础。软件组织内部应该制定出一个软件修改报告,它给出下述信息:
(1) 满足维护要求表中提出的要求所需要的工作量;
(2) 维护要求的性质;
(3) 这项要求的优先次序;
(4) 与修改有关的事后数据。
在拟定进一步的维护计划之前,把软件修改报告提交给变化授权人审查批准。
?
?
?
?
14,类库这种机制是(D)级别的信息共享
? ? ?A.同一类 ? ? ? B.不同类 ? ? ? ?C.同一应用 ? ? ? D.不同应用
经常听说类库,今天终于看到了题了。
总得来源:
面向对象的要素 ? ?
(1)抽象 ? ?抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。 ? ?类实现了对象的数据(即状态)和行为的抽象。 ?
?(2)封装性(信息隐藏) ? ?封装性是保证软件部件具有优良的模块性的基础。 ? ?面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。 ? ?对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。 ?
?(3)共享性 ? ?面向对象技术在不同级别上促进了共享: ? ?
①同一类中的共享 ? ?同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。 ? ?②在同一应用中共享 ? ?在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。
③在不同应用中共享 ? ?面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。
? ?(4).强调对象结构而不是程序结构 ?
?
类库:程序员用来实现各种功能的类的集合。
?
虽然找到了一大堆资料,但是还是没有理解
关键是
什么是不同应用
什么是信息
?
?
16,在屏蔽硬件错误的冗错技术中,冗余附加技术有(D)
? ?A.三模冗余 ? ? ? ? ? B.信息冗余
? ?C.冗余备分程序的存储及调用 ? ? ? ?D.关键程序和数据的冗余存储和调用
啥都不想说了。直接记住答案吧
?
?
18,下列文档与维护人员有关的有(C)
? A.软件需求说明书 ? ? ?B.项目开发计划 ? ? C.概要设计说明书 ? ?D.操作手册、
看样子又只能记这道题了
首先再记一下什么概要设计
总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素 —— 程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
?
?
19,采用Gantt图表示软件项目进度安排,下列说法中正确的是(D)
? A.能够反映多个任务之间的复杂关系
? B.能够直观表示任务之间相互依赖制约关系
? C.能够表示那些任务是关键任务
? D.能够表示之任务之间的并行和串行关系
?
20,下列模型属于成本估算方法的有(A)
? A. COCOMO模型 ? ?B. McCall模型 ? C. McCabe度量法 ? ?D. 时间估算法
?
上面两道随便看看
?
二、填空题
1,瀑布模型是以文档为驱动,适合于-软件需求明确?-的软件项目的模型。
2,纯收入是指在整个生存周期之内的-累计经济效益(折合成现在值)-与投资之差。
3,数据项是指-不可再分解的-数据单元。
?
4,软件概要设计的主要任务就是-软件结构的设计-。
这句话倒是一句话道出天机的感觉。我读了半天书也没注意到。上面那段话中也有,但是我读书就是不仔细。
?
5,结构化程序设计是使用-三种基本控制结构-构造程序。
?
结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。
这段话真的是复制了好多次了
?
6,软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个-自底向上或相反顺序-集成的过程。
7,软件维护的内容包括校正性维持,适应性维护、-完善性维护-和预防性维护。
8,CASE工具的平台集成是指工具运行在相同的-硬件/操作系统-平台上。
9,在建立对象的功能模型时,使用的数据流图中包含有处理,数据流、动作对象和-数据存储对象-
10,将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并
估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为-差别估算法-。
三、名词解释
?
1.信息隐蔽:信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需
要这些信息的其他模块来说是不能访问的。
?
2.集成测试:集成测试也称组装测试或联合测试,是指在单元测试的基础上,将所有模块按照设计要求组
装一个完整的系统进行测试。组装测试有两种方式:渐增式测试和非渐增式测试。
?
3.多态性:指相同的操作或函数。过程可作用于多种类型的对象上并获得不同结果。?
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
4.SA:结构化分析方法(SA)是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求
分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
至少现在记住2点,结构化分析方法是属于需求分析的。而且结构化程序设计是属于详细设计。
并且两者都有共同点特点就是 自顶向下和逐渐求精,或者逐步分解。
?
?
四、 简答题
1、简述软件工程目标和面临的主要问题。
软件工程是一门工程性的科学,其目标主要是成功地建造一个大型软件系统。
包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需
要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
? ?面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率、软件重用。
2、简述结构化程序设计方法的基本要点。
(1) 采用自顶向下、逐步求精的程序设计方法,在需求分析、概要设计中,采用了自顶向下逐层
细化的方法。在详细设计中,虽然处于“具体”设计阶段,但在设计某个模块内部处理过程中,可以
逐步求精,降低处理细节的复杂程度。
(2) 使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构构造。这三种基本结构的共同特点是单入口、单出口。不但能有效的限制使用GOTO语句。还创立了新的程序设计思想、方法和风格,同时为自顶向下,逐步求精的设计方法提供了具体的实施手段。
(3) 主程序员组的组织形式。指程序开发人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三人为核心,再加上一些专家(如通信专家、数据库专家)和其他技术人员组成小组。这种组织形式突出了主程序员的领导,设计责任集中在少数人身上,有利于提供软件质量,并且能有效地提高软件生产率。
结构化程序设计方法是综合应用这些手段来构造高质量程序的思想方法。
3、简述文档在软件工程中的作用。
(1)提高软件开发过程的能见度。 ?
(2)提高开发率。
(3)作为开发人员阶段工作成果和结束标志。
(4)记录开发过程的有关信息便于使用与维护。 ?
(5)提供软件运行、维护和培训有关资料。
(6)便于用户了解软件功能与性能。
?
4、简述提高可维护性的方法。 ? ? ? ? ? ? ? ? ? ? ? ? ?
?(1)明确建立的软件质量目标。如果要程序满足可维护性七个特性的全部要求,要付出很大的代价,也是不现实的。实际上,有一些可维护性是相互促进的。例如,可理解性和可测试性,可理解性和可修改性。而另一些则是相互矛盾的,例如,效率和可移植性,效率和可修改性等。为保证程序的可维护性,应该在一定程度上满足可维护性的各个特征,但各个特性的重要性随着程序用途的不同或计算机环境的不同而改变。因此应明确软件所追求的质量目标。
(2)利用先进的软件开发技术和工具。利用先进的软件开发技术能大大提高软件质量和减少软件费用。例如面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法。面向对象方法开发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。
(3)建立明确的质量保证工作。这里提到的质量保证是指提高软件质量所作的各种检查工作。质量保证检查是非常有效的方法,不仅在软件的各阶段中得到了广泛使用,而且在软件维护中也是非常主要的工具。为了保证可维护性,以下四类检查时非常有用的:在检查点进行检查;验收检查;周期性的维护检查;对软件包的检查。
(4)选择可维护的程序设计语言.程序设计语言的选择对维护影响很大.低级语言很难掌握,很难理解,容易编程,程序容易修改,因此改进了可维护性。
(5)改进程序文档。程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。程序文档对提高程序的可阅读性有重要作用。为了维护程序,必须阅读和理解程序文档。因此好的文档对软件的可维护性是非常重要的。
?
五、应用题
1、 某旅馆的电话服务如下:
可以拨分机号和外线号码。分机号是从7201至7209。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是一局号和分局号组成。局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。
这道题做过
答案:
电话号码=[分机号|外线号码?]?
分机号=7201...7299?
外线号码=9+[市话号码|长话号码]?
长话号码=区号+市话号码?
区号=100...300?
市话号码=局号+分局号?
局号=[455|466|888|552]?
分局号=4{数字}4?
?
2、 某公司为本科以上学历的人重新分配工作,分配原则如下:
(1) 如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作。
(2) 如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士,不分男女,任课题组组长。
(3) 如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:画出分析过程,得出判定表,并进行化简。
?
(1)判定条件可能取值表:
?
?
条件名称
取值
符号
取值数
性别
男
M
M1=2
女
F
年龄
不满18岁
C
M2=3
满18岁小于50岁
Y
超过50岁
L
文化程度
硕士
G
M3=2
本科
U
?
?
(2)计算组合数2*3*2=12;
(3)初步判定表
?
?
?
1
2
3
4
5
6
7
8
9
10
11
12
性别
M
M
M
M
M
M
F
F
F
F
F
F
文化程度
G
G
G
U
U
U
G
G
G
U
U
U
年龄
L
Y
C
L
Y
C
L
Y
C
L
Y
C
组长
√
√
√
?
?
?
√
√
√
?
?
?
领导
?
?
?
?
√
?
?
?
?
?
√
?
科研
?
?
?
√
?
?
?
?
?
?
?
?
行政
?
?
?
?
?
?
?
?
?
?
?
√
资料员
√
考研
?
?
?
?
?
√
?
?
?
?
?
?
?
(4)简化后的判定表?
?
1、2、3
7、8、9
4
5、11
6
10
12
性别
M
M
F
F
文化程度
G
U
U
U
U
U
年龄
L
Y
C
L
C
组长
√
领导
√
科研
√
行政
√
资料员
√
考研
√
?
?
?
?
?这道题比较特别,记住要自己先做一做
?
?
?
?