结构化程序设计方法的基本特点
- 格式:docx
- 大小:36.78 KB
- 文档页数:1
软件系统开发技术试题(一)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1. 设计软件结构一般不拟定( D )A.模块之间的接口B.模块间的调用关系C. 模块的功能D. 模块内的局部数据2. 软件结构化设计中,好的软件结构应当力求做到(BA.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为(AA.公共耦合C. 数据耦合B.内容耦合D. 控制耦合4. 划分模块时,下列说法对的的是(A )A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特性是(BA.扇出数大B.扇入数大C. 扇出数小D. 内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是(A)A.对象模型C. 逻辑模型B.功能模型D. 动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(CA.具体设计阶段B.概要设计阶段C. 需求分析阶段D. 测试和运营阶段8. 对U ML的叙述不对的的是( D )A.U ML统一了B ooch方法、OMT方法、OO SE方法的表达方法。
B.U ML是一种定义良好、易千表达、功能强大且普遍合用的建模语言。
C. U ML融入了软件工程领域的新思想、新方法和新技术。
D. U ML仅限千支持面向对象的分析与设计,不支持其它的软件开发过程。
9. 以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型C. 螺旋模型B.增量模型D.喷泉模型10. 以下哪一项对模块耦合性没有影响( DA.模块间接口的复杂限度B.调用模块的方式C. 通过接口的信息D. 模块内部各个元素彼此之间的紧密结合限度二、填空题(本大题共10小题,每空2分,共20分)1. 数据流图描绘数据在系统中流动和解决的过程。
第八章管理信息系统的系统实施第八章习题8.1 单项选择题8.1.1 在项目管理中,主要需协调( C )之间的矛盾,并要采取措施加强他们之间的联系和合作。
a. 系统设计人员和系统分析人员b. 领导和计算机技术人员c. 系统分析人员和计算机技术人员d. 系统设计人员和编程人员8.1.2 为便于系统重构,模块划分应( B )。
a. 大些b. 适当c.尽量大d. 尽量小8.1.3 程序员设计程序和编写程序时主要依据下列资料进行:( C )。
a. 系统流程图b. 程序流程图c. 系统流程图、程序编写说明书及输人/输出说明d. 处理流程图8.1.4 系统调试中的分调是调试( C )。
a. 主控程序b. 单个程序,使它能运行起来c. 功能模块内的各个程序,并把它们联系起来d. 调度程序8.1.5 计算机设备的折旧费属于( C )。
a. 一次性投资b. 管理费用c. 经营费用d. 可变费用8.1.6 Visual Basic( C )。
a. 是关系数据库管理系统b. 没有生成功能c. 有一定生成功能d. 不具有面向对象功能8.l.7 DO WHILE—ENDDO语句用于( B )。
a. 选择结构b. 循环结构c. 顺序结构d. 网络结构8.1.8 系统开发中要强调编好文档的主要目的是( A )。
a. 便于开发人员与维护人员交流信息b. 提高效益c. 便于绘制流程图d. 增加收人8.1.9 外部设备租金、打印用纸、人工费、设备折旧等属于( B )。
a. 投资费用b.经营费用c. 附加费用d.管理费用8.1.10 建立管理信息系统时使用的投资效果系数应( A )。
a. 高于一般工业部门的投资效果系数b. 低于一般工业部门的投资效果系数c. 等于一般工业部门的投资效果系数d. 稍低于一般工业部门的投资效果系数8.1.11 系统实施阶段的工作内容中有( B )。
a. 文件和数据库设计b. 系统运行的日常维护c. 编写程序设计说明书d. 制定设计规范8.1.12 系统调试中总调的内容包括( B )。
二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。
5.数据流图(DFD)一般可分为变换型和__事务性_____两类。
6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。
8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。
9.状态图反映了_事件与状态____的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:____程序和文档________。
14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。
15.Jackson方法是一种面向___数据结构_____的开发方法。
16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。
19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。
问答题:1、试讨论当今信息系统面临哪些挑战?P22要点:(1)政治因素对信息系统的影响。
民主进程的加快,政治体制改革的深入,要求建立一个廉政、高效、有序的政府,人们要求民主进程的加速,要求透明度的进一步提高。
在这种背景下,信息系统的建立和发展不仅为企业所需,也正在成为政府电子政务的组成部分。
(2)经济因素对信息系统的影响.信息系统的建立与完善需要大量的资金注入,信息系统既可以促进经济的发展,同时,资金的回笼与投入也将成为企业发展信息系统的一个现实的制约因素。
(3)人文因素对信息系统的影响.信息系统是科技发展和社会进步的结果之一,其核心问题不在于技术本身,而在于人.现实生活中,人们的生活理念、思想意识、风俗习惯、知识水平、知识结构、工作作风、工作的工艺流程等等诸多方面都对信息系统的应用和发展起到不同程度的影响。
(4)信息系统本身的挑战。
人们要求信息系统硬件结构趋于合理化,性能更好;随着工作对信息处理的要求不断提高,人们对软件的要求会越来越高。
2、论述TPS、MIS、DSS之间的相互区别与联系。
要点:(1)信息系统是为组织目标服务的,组织每个层面都对应着相应的信息系统,因此,信息系统相应的划分为决策支持系统(DSS)、管理信息系统(MIS)和事物处理系统(TPS)。
(2)TPS可以保证企业数据记录和处理的准确性,可以快速及时地产生企业运营所需要的各种数据报表;TPS常有助于改善企业的服务质量,提高顾客的满意度.TPS还是企业其他信息系统的基础,例如决策支持系统、高层主管信息系统等都需要从TPS获得基础数据.(3)MIS与TPS的主要区别在于它可以提供分析并辅助决策,为组织更好的运作、管理和决策提供帮助。
当然,这种对决策的辅助作用是较为有限的,它主要帮助组织解决结构化或程序化的问题.(4)DSS系统是面向组织中的高层决策者和中层管理人员,支持半结构化或非结构问题,进行决策或辅助管理决策;DSS更强调灵活性、多变性和快速响应;DSS系统开发过程不是固定的,其系统分析和系统设计将根据需要不断地反复进行3、试述组织内部的五种流及其相互关系.要点:组织内部的活动是多种多样的,但归根到底是围绕其目的而展开的一系列管理活动,表现为物流、资金流、工作流、价值流和信息流的流动。
结构化方法和面向对象方法的特点、优点与不足。
结构化方法和面向对象方法是两种重要的程序设计方法,它们分别有各自独特的特点、优点和不足。
在本篇文章中,我将对这两种方法进行全面评估,并据此撰写一篇有价值的文章,以便你能更深入地理解这个主题。
一、结构化方法1. 特点结构化方法是一种从任务分解的角度来思考问题的方法。
它强调程序的模块化和层次化设计,将整个系统划分成若干个较小的、相对独立的模块或功能单元,然后逐步细化这些模块,直至得到可直接转换成程序的模块为止。
2. 优点(1)易于理解和维护:结构化程序易于理解和维护,因为每个模块都相对独立,不会相互影响。
(2)适合大型项目:结构化方法适合大型项目的开发,因为它能够将复杂的系统分解成若干相对简单的模块,便于团队协作。
(3)代码重用:结构化方法能够促进代码的重用,提高开发效率。
3. 不足(1)难以处理复杂关联:结构化方法在处理复杂关联和交互较多的系统时,容易使得程序的结构变得复杂,不易理解和维护。
(2)不够灵活:结构化方法在应对需求变化时,不够灵活,需要重新调整模块之间的关系。
二、面向对象方法1. 特点面向对象方法是一种从对象抽象的角度来思考问题的方法。
它将系统中的各种实体抽象为对象,这些对象包含了数据和操作这些数据的方法,同时也能够与其他对象进行交互。
2. 优点(1)便于理解:面向对象方法更符合人类的思维模式,因此更容易理解。
(2)灵活性:面向对象方法更灵活,能够更好地应对需求变化。
(3)代码重用:面向对象方法通过继承和多态,能够更好地促进代码的重用。
3. 不足(1)学习曲线较陡:面向对象方法对程序员的抽象能力要求较高,因此刚开始学习时往往感到困难。
(2)性能开销:在一些性能要求较高的场景下,面向对象方法可能带来一些性能开销。
结合以上对结构化方法和面向对象方法的评估,我认为两种方法各有优劣。
在实际项目中,我们应根据项目的特点和需求来选择合适的方法,甚至可以结合两种方法的优点,定制出适合项目的开发方法。
结构化程序设计方法的基本要点简介结构化程序设计方法是一种用于构建大型程序的系统性方法。
它通过将程序分解为一系列小的、可管理的模块,以及规定了模块之间的交互方式,从而降低程序的复杂性,提高程序的可维护性和可读性。
本文将从以下几个方面详细介绍结构化程序设计方法的基本要点。
1. 模块化模块化是结构化程序设计方法的核心思想之一。
模块化将程序分解为多个功能相对独立的模块,每个模块负责完成一个特定的任务。
模块化有助于提高程序的可读性,可维护性和可重用性。
1.1 模块划分在进行模块划分时,可以按照功能划分原则,将程序划分为几个不同的功能模块,每个模块负责完成一个特定的功能。
也可以按照数据划分原则,将程序划分为几个处理不同数据的模块。
模块应该具有清晰的职责和界限,不同模块之间的功能和数据交互应该通过接口进行。
1.2 接口设计模块之间的接口设计是模块化的关键。
接口应该明确定义模块之间的输入和输出,以及数据的传递方式。
良好的接口设计可以降低模块之间的耦合度,提高代码的可复用性,使得模块可以独立开发和测试。
1.3 函数与过程模块可以通过函数或过程来实现。
函数是一段可重用的代码,用于执行特定的计算或操作,并返回一个结果。
过程是一段可重用的代码,用于执行一系列操作,不返回结果。
函数和过程有助于将程序划分为更小的单元,提高程序的可读性和可维护性。
2. 控制结构控制结构是结构化程序设计方法的另一个重要要点。
控制结构用于控制程序的执行流程,改变程序的执行顺序或执行条件。
2.1 顺序结构顺序结构是程序从上到下按照顺序执行的控制结构。
顺序结构是程序的基础,所有的程序都是从顺序结构开始进行。
2.2 选择结构选择结构用于根据条件选择执行不同的代码块。
常见的选择结构包括if语句和switch语句。
if语句用于判断一个条件是否成立,如果条件成立,则执行其中的代码块;否则执行其他代码块。
switch语句可以根据一个表达式的值选择执行不同的代码块。
3、软件工程为什么要强调规范化和文档化?答案:软件工程强调规范化和文档化。
规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。
在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
8、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。
见图:其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。
方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。
15、请给出软件工程七条基本原理中的任意三条基本原理。
原理1.用分阶段的生命周期计划严格管理原理2.坚持进行阶段评审原理3.实行严格的产品控制原理4.采用现代程序设计技术原理5.结果应能清楚地审查原理6.开发小组的人员应该少而精原理7.承认不断改进软件工程实践的必要性1. 软件工程的主要目标是什么?软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:1实现预期的软件功能,达到较好的软件性能,满足用户的需求。
2增强软件过程的可见性和可控性,保证软件的质量。
3提高所开发软件的可维护性,降低维护费用。
4提高软件开发生产率,及时交付使用。
5合理预算开发成本,付出较低的开发费用。
2. 简述软件过程模型答:1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。
它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。
(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。
试卷(一)1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性2、软件维护产生的副作用,是指( )A、开辟时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作3、软件详细设计的主要任务是确定每一个模块的( )A、算法和使用的数据结构B、外部接口C、功能D、编程4、为了提高模块的独立性,模块内部最好是( )A、逻辑内聚B、时间内聚5、软件是一种( )A、程序B、数据C、功能内聚C、逻辑产品D、通信内聚D、物理产品6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A、纠正性维护B、适应性维护C、完善性维护D、预防性维护7、惟独单重继承的类层次结构是( )层次结构。
A、网状型B、星型C、树型D、环型8、下列属于维护阶段的文档是( )A、软件规格说明B、用户操作手册C、软件问题报告D、软件测试分析报告9、不适合作为科学工程计算的语言是( )A 、Pascal B、 C C、Fortran D、 Prolog10、研究开辟所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型 COCOMO 是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD 图为( )提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP 方法不正确的说法是( )A、JSP 方法主要用于规模不大的数据处理系统B 、JSP 方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP 方法合用于输入数据和输出数据之间有对应关系的问题求解D、JSP 方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段14、在详细设计阶段,时常采用的工具有( )A 、PADB 、SA C、SCD 、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S 图)为( )提供了有力的工具。
软件开发技术一、填空题1、软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
2、软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
3、系统流程图是()的传统工具。
4、结构化语言是介于自然语言和()之间的一种半形式语言。
5、数据字典的内容包括六项:()、()、()、数据存储、处理逻辑、外部实体。
6、UML的定义包括()和()两个部分。
7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和()。
8、瀑布模型是以文档为驱动、适合于()的软件项目的模型。
9、对象具有标识唯一性、分类性、多态性、( ) 和( )等基本特性。
10、消息关联指的是对象()的一种依赖关系。
11、对象的规格说明包括对对象()的说明及对对象()的说明。
12、在需求分析阶段常用的图形工具有()、()、()。
13、模块独立的概念是()、()、()和局部化概念的直接结果。
14、基于计算机系统的系统元素包括:软件、硬件、人、()、()和过程等几个部分。
15、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。
16、为了便于对照检查,测试用例应由输入数据和预期的()两部分组成。
17、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、()。
18、需求分析的基本任务是准确的回答()。
19、常用的系统分析方法有四类,包括:()、数据流方法、信息造型方法以及()。
20、面向对象设计中,主要存在两种耦合,交互耦合和()。
21、UML是一种标准的图形化(即可视化)建模语言,它由()和()组成。
其中,前者是UML的表示法(语法),而后者给出前者的含义,是UML的语义。
二、选择题1、下列关于瀑布模型的描述正确的是()。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
结构化程序设计方法的基本特点
结构化程序设计方法是一种计算机程序设计的方法,它强调使用结构化语句和模块化
设计的方式,使程序更易于阅读、理解与维护。
它有以下基本特点:
1. 模块化设计:在结构化程序设计方法中,程序被分解为独立的单元,称为模块。
每个模块通常执行一个特定的任务,它们可以在程序中被重复使用,有助于提高代码的可
读性和可维护性。
2. 顺序、选择和循环结构:在结构化程序设计方法中,程序的控制流程按照顺序、
选择、循环的方式进行。
即程序按照一个特定的顺序执行,根据条件选择选择不同的程序
路径和执行不同的代码段,以及重复执行程序的某个代码段。
3. 程序被分解为小的任务:在结构化程序设计方法中,程序被分解为许多小的任务,每个任务都是独立的,完成某个具体的工作。
这有助于程序的可理解性、可维护性以及可
扩展性。
4. 控制结构简单:在结构化程序设计方法中,控制结构比较简单。
程序控制结构是
用选择、迭代等几种简单的语句实现的,而不是使用goto语句,使程序更加结构化。
5. 程序可以分层:在结构化程序设计方法中,程序可以分为不同的层次,每个层次
包含多个模块。
每个层次的模块都有明确的职责和功能,这些模块可以通过接口和其他层
次的模块进行通信和交互。
6. 数据输入和输出清晰明确:在结构化程序设计方法中,输入和输出数据的格式和
类型都是明确的。
数据输出格式的指定在输入数据到程序之前就要进行,这有助于避免程
序在运行时因为数据格式不一致而出错。
7. 程序可读性高:在结构化程序设计方法中,程序的结构清晰,语句排列有序,使
得程序易于理解。
程序的每个模块都有一个清晰的名称和功能说明,有助于读者更好地理
解程序。