软件工程第2阶段测试题
- 格式:doc
- 大小:129.81 KB
- 文档页数:4
软件⼯程考试试题(含答案)⼀、填空题(每空1分,共25分)1.软件⽣存周期⼀般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可⾏性研究,应从、技术可⾏性、运⾏可⾏性、和开放⽅案可⾏性等⽅⾯研究。
4.系统流程图是描绘的传统⼯具。
它的基本思想是⽤图形符号以描绘系统⾥⾯的每个部件。
5.数据流图的基本四种成分:数据输⼊的源点和数据输出汇点、、和。
6.结构化分析⽅法是⾯向________________进⾏需求分析的⽅法。
结构化分析⽅法使⽤________________与________________来描述。
7.是⾃动地共享类、⼦类和对象中的⽅法和数据的机制。
8.软件详细设计⼯具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.⼤型软件测试包括、、确认测试和四个步骤。
1、可⾏性研究需求分析运⾏与维护2、系统软件⽀撑软件应⽤软件3、经济可⾏性法律可⾏性4、物理系统⿊盒⼦形式5、加⼯数据流数据存储⽂件6、数据流数据流图DFD 数据字典DD7、继承性8、图⽰⼯具、设计语⾔表格⼯具9、审查测试10、单元测试集成测试系统测试⼆、单项选择题(每⼩题2分,共20分)1 2 3 4 5C C C A C6 7 8 9 10D D A C B1.软件设计中划分模块的⼀个准则是()。
A、低内聚低耦合B、低内聚⾼耦合C、⾼内聚低耦合D、⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向()的软件设计⽅法。
软件工程复习题库带答案完整版一、选择题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、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
一、填空题1. 软件是计算机程序及其说明程序的各种文档。
程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 软件生产的发展,到现在为止,经过三个阶段,即程序设计时代,程序系统时代,软件工程时代。
3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
4. 结构化方法由结构化分析, 结构化设计, 结构化程序设计构成。
它是一种面向数据流的开发方法。
5. Jackson方法是一种面向数据结构的开发方法。
6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性, 经济可行性,操作可行性。
8. 效益分析有形效益和无形效益两种。
有形效益可以用货币的时间价格, 投资回收期, 纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
9. 结构化分析方法是面向数据流进行需求分析的方法。
10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。
数据字典定义了数据流图中每一个图形元素。
结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。
11. 数据流图有四种基本成分:数据流、数据处理、文件、数据的源点或终点。
12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。
数据项是组成数据流和数据存储的最小元素。
13. 数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。
14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定数。
15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述控制结构,采用顺序,选择,重复三种基本结构。
第二章练习题一、判断题1. 软件的模块数越少,其软件成本越低。
错2. 软件模块之间的耦合性越弱越好。
对3. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
对4. 耦合是指一个模块内各个元素彼此结合的紧密程度。
错5. 过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。
错6. 在设计模块时,其宽度和深度要适当。
对7. 模块耦合的强弱取决于模块间接口的复杂程度。
对二、名字解释:1. 抽象:抽象是认识复杂现象过程中使用的思维工具,即抽象出事物本质的共同特性而暂时不考虑其他的细节,不考虑其他因素。
2. 模块化:模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成为若干模块的过程。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能。
3. 逐步求精:4. 耦合:耦合也成模块叫联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。
5. 内聚:内聚又称块联系。
指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量6. 模块独立:模块独立想指每个模块只完成系统要求的独立的子功能,并且与其他模块联系最少且接口最简单。
7. 信息隐蔽:信息隐蔽在设计和确定模块时,使得一个模块内包含信息,对于不需要这些信息的其他模块来说事不能访问的。
三、选择题10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。
BA. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发20、为了提高模块的独立性,模块内部最好是( C )CA、逻辑内聚B、时间内聚C、功能内聚D、通信内聚33、从心理学角度看,一次大模块分解为多少个子模块为宜。
(B )BA、3±1B、7±2C、15±1D、18±238、软件设计启发规则不包括( C )CA、在耦合方式上降低模块间接口的复杂性B、模块功能应该可以预测C、将模块的控制域保持在其作用域内D、设计单入口单出口的模块40、为了提高模块的独立性,模块之间的联系最好的是(D)。
一、选择题软件(2)1.在软件开发的各种资源中,( D )是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的D 不可降低的3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。
A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.软件是一种( B )产品。
A、有形B、逻辑C、物质D、消耗软件危机(1)5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程 C.程序设计革命D.结构化程序设计7.3:以下哪一项不是软件危机的表现形式( C )(A)成本高(B)生产率低(C) 技术发展快(D)质量得不到保证8.4:“软件危机”产生的主要原因是( A )。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。
A 开发B 使用 C维护D更新软件工程(2)10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的基础。
(A) 运筹学(B) 工程学 (C) 软件学(D) 数学11.2.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展12.3. 软件管理工作涉及到的直接对象不包括( B )。
A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目13.4. 软件工程方法学有三个要素,它们是( A )A.方法、工具和过程B.质量、进度和成本C.顺序、分支和循环D.入口、过程、出口生命周期及模型(5)14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维护等几个阶段。
软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×1.软件工程学只有理论意义,没有实际用途。
()2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。
()3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。
()4.代码审查方法没有计算机测试方法好。
()5.验证软件需求的方法主要靠人工审查的方法。
()6.并发系统中遇到的一个主要问题是定时问题。
()7.编码风格由个人喜好决定,没有固定格式。
()8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。
()9.软件重用是提高软件开发生产率和目标系统质量的重要途径。
()10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
()11.Power Designer是一个CASE工具。
()12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。
()13.在进行需求分析时需同时考虑维护问题。
()14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。
()15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。
()二、单选题:每题1分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
《软件工程》试卷及答案 A卷专业年级姓名得分一、名词解释(每个2分,共10分)1.软件危机2.纯收入3.模块4.原型定律二、填空题(每题2分,共20分)1.____是计算机程序及其说明程序的各种文档。
_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。
通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
3.软件详细设计阶段采用的工具有______。
4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
5.模块的耦合性分为四种类型:____、____、____、____。
6.内聚性有七种类型,最强的是____,最弱的是____。
7.结构图的深度指结构图______,结构图宽度指________。
8.集成测试采用的具体方法有--____、______9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的 ____、逻辑输入、逻辑输出。
10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。
三、选择题(每题2分,共20分)1.系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括()。
A.软件环境可行性、技术可行性、经济可行性、社会可行性B.经济可行性、技术可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性2.通过()可以完成数据流图的细化。
A.结构分解 B、功能分解 C、数据分解 D、系统分解3.模块(),则说明模块的独立性越强。
A.耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低4.模块()定义为受该模块内一个判断影响的所有模块集合。
A.控制域 B、作用域 C、宽度 D、接口5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。
软件工程考试试题和答案一、单项选择题1. 软件工程的三要素是()。
A. 工具、方法、过程B. 方法、工具、环境C. 方法、过程、工具D. 过程、工具、环境答案:C2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件存在错误答案:B4. 在软件维护中,最频繁的活动是()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A5. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 配置管理D. 软件设计答案:D二、多项选择题1. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 信息隐蔽D. 逐步求精答案:ABCD2. 软件需求分析的任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD3. 软件测试的方法包括()。
A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件项目管理的内容主要包括()。
A. 进度管理B. 质量管理C. 成本管理D. 人员管理答案:ABCD三、判断题1. 软件工程的目标是提高软件的生产率和质量。
()答案:正确2. 软件需求分析阶段不需要进行需求验证。
()答案:错误3. 软件测试可以证明软件是无错误的。
()答案:错误4. 软件维护只包括校正性维护。
()答案:错误5. 软件项目管理不需要进行质量管理。
()答案:错误四、简答题1. 简述软件工程的特点。
答:软件工程的特点包括:(1)软件工程强调系统的、规范的、可度量的方法学;(2)软件工程是面向过程的;(3)软件工程是面向质量的;(4)软件工程是面向经济的;(5)软件工程是面向人的。
考试科目:《软件工程》第4章至第5章(总分100分)
一、单选题(每小题1分,共计20分)
1. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( C )
A.抽象和信息隐蔽 B.局部化和封装化
C.内聚性和耦合性 D.激活机制和控制方法
2. 好的软件结构应该是( B )
A.高耦合、高内聚 B.低耦合、高内聚
C.高耦合、低内聚 D.低耦合、低内聚
3. 设计软件结构一般不确定( C )
A.模块的功能 B.模块的接口
C.模块内的局部数据 D.模块间的调用关系
4. 为了提高模块的独立性,模块之间最好是( D )
A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合
5. 结构图中,不是其主要成分的是( C )
A.模块 B.模块间传递的数据 C.模块内部数据 D.模块的控制关系
6.为了提高模块的独立性,模块内部最好是( C )
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
7. 属于软件设计的基本原理是( C )
A.数据流分析设计 B.变换流分析设计 C.事务流分析设计 D.模块化
8. 下列内聚中内聚程度较低的是( B )
A.顺序内聚 B.时间内聚 C.逻辑内聚 D.功能内聚
9. 软件结构图中,模块框之间若有直线连接,表示它们之间存在着什么关系?( D )
A.调用 B.组成 C.链接 D.顺序执行
10 模块间耦合度最低的是( D )耦合。
A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合
11. 软件层次图的形态特征中能反映程序重用率的是( C )
A.深度 B.宽度 C.扇入 D.扇出
12. 结构化概要设计方法是一种面向( A )的设计方法。
A.数据流 B.数据结构 C.数据库 D.程序
13. JSP方法是一种面向什么的设计方法?( C )
A.对象 B.数据流 C.数据结构 D.控制结构
14. Jackson方法实现从何导出程序结构?( A )
A.数据结构 B.软件模块层次结构 C.系统流程图 D. 数据流图
15. Jackson图上下层之间的关系是( B )
A.调用关系 B.组成关系 C.继承关系 D.嵌套关系
16. 在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( A )
A.PAD B.PDL C.IPO D.判定树
17. 变换流的DFD由三部分组成,不属于其中一部分的是( A )
A.事务中心 B.变换中心 C.输入流 D.输出流
18. PDL是软件开发过程中用于哪个阶段的描述工具?( C )
A.需求分析 B.概要设计 C.详细设计 D.编程
19. JSP方法根据输入输出的数据结构按一定的规则映射成软件的( C )
A.体系结构 B.数据结构 C.程序结构 D.顺序结构
20.划分模块时,一个模块的( A )
A.作用范围应在其控制范围之内 B.控制范围应在其作用范围之内
C.作用范围与控制范围互不包含 D.作用范围与控制范围不受任何限制
二、名词解释(每小题2分,共计12分)
1. 扇入 :指一个模块直接上属模块的个数
2. 扇出 :指一个模块直接下属模块的个数
3. 深度 :指结构图控制的层次,也是模块的层数
4. 宽度 :指结构图一层中最大的模块个数
5. 耦合 :是对一个软件结构中不同模块之间互连程度的度量
6. 内聚 :内聚标志着一个模块内各个元素彼此间结合的紧密程度
三、简答题(每小题4分,共计32分)
1. 概述使用耦合的一般原则。
答:1、尽量使用数据耦合 2、少用控制耦合 3、限制使用公共环境耦合 4、完全不用内容耦合
2. 简述概要设计的具体过程。
答:1、设想供选择的方案 2、选择合理方案 3、推荐最佳方案 4、功能分析 5、设计软件结构 6、数据
库的设计 7、制定测试计划 8、书写文档 9、审查和复查
3. 简述Jackson程序设计方法基本工作步骤:
答:1、分析并确定“输入”和“输出”数据的逻辑结构 2、找出输入数据和输出数据结构中有对应关系
的数据单元 3、从描绘数据结构的Jackson图导出描绘的Jackson图 4、列出所有操作和条件,并且把它们分
配到程序结构图的适当位置 5、用Jackson伪代码写出与程序结构图对应的过程性表示
4. 简述程序设计方法学。
答:程序设计方法学是以程序设计方法为研究对象的学科,它是针对某一领域或某一领域的特定一类问题
所用的一整套特定程序设计方法所构成的体系,如结构化程序设计方法学、逻辑式程序设计方法学、函数式程
序设计方法学和面向对象程序设计方法学等。
5. 简述模块独立性及模块具有的基本属性。
答:模块独立性指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单。模
块具有一下4种基本属性:1、接口:指模块的输入与输出 2、功能:指模块实现什么功能 3、逻辑:描述内部
如何实现要求的功能及所需的数据 4、状态:该模块的运行环境,即模块的调用与被调用关系。
6. 简述概要设计的启发式规则。
答:1、改进软件结构提高模块独立性 2、模块规模要适中 3、深度、宽度、扇出和扇入应适当 4、模块的
作用域应该在控制域之内 5、力争降低模块接口的复杂度 6、设计单入口出口的模块 7模块功能应该可以预测
7. 简述结构化程序设计方法的基本要点。
答:1、采用自顶向下、逐步求精的程序设计方法2、使用三种基本控制结构构造程序3、主程序员的组织形式
8. 详细设计的表达工具有几类?常用的图形描述工具有哪几种?
答:详细设计的表达工具有三类:图形、表格和语言
常用的图形描述工具有4种:程序流程图、N-S图(盒图)、PAD图和Jackson图等。
四、综合应用题(每小题12分,共计36分)
1. 某高校学籍管理系统有关升留级的处理可以用以下判定树进行描述,请把它转换为判定表。
升留级处理
考试总分≥800
单科成绩全部及格 升级
单科成绩有不及格 升级(发单科重修通知)
单科成绩有不及格 留级
2. 某图书管理系统的“还书业务处理”模块功能如下:
读者凭图书卡和还书单还书。系统首先逐一检查读者所还图书是否超过期限,如果超期,则计算罚款金额且累
计罚款金额,之后打印出罚款单。最后在借书/还书文件中读登记还书日期等信息。请使用流程图来设计“还
书业务处理”算法。
答:
3. 比较排序的伪代码如下:
Compare_sort ( a[1],a[2],„,a[n] )
{
for ( i=1;i
if ( a[j] print ( a );
}
请根据代码画出其程序流程图。
答: