《1提要与习题3(答案)——软件工程考试范围资料文档.docx》由会员分享,可在线阅读,更多相关《1提要与习题3(答案)——软件工程考试范围资料文档.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、习题参考答案3-1从以下有关系统结构图的表达中选出正确的表达。(1)系统结构图中反映的是程序中数据流的情况。(2)系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。(3) 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。(4)在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段 具有相同的含义。K解5(4)分析:系统结构图反映的是系统中模块的调用关系和层次关系,谁调用谁,有一个先后次序(时序)关系。所以系统结构图既不 同于数据流图,也不同与程序流程图。数据流图仅描述数据在系统中如何流动,如何处
2、理和存储,它不考虑时序关系。图中的有 向线段表示了数据流。程序流程图描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条件,图中的有向线 段(流线)表示的是控制流,从一个处理走到下一个处理。但在系统结构图中的有向线段表示调用时程序的控制从调用模块移到 被调用模块,并隐含了当调用结束时控制将交回给调用模块。如果一个模块有多个下属模块,这些下属模块的左右位置可能与它们的调用次序有关。例如,在用结构化设计方法依据数 据流图建立起来的变换型系统结构图中,主模块的所有下属模块按逻辑输入、中心变换、逻辑输出的次序自左向右一字排开,左 右位置不是无关紧要的。所以只有最后的一个表达是正确的。【3
3、-2】软件的开发工作经过需求分析阶段,进入(A )以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有(B )、 (C )、( D )和(E )等方法。供选择的答案:AB.程序设计设计阶段总体设计定义阶段SD方法 SP方法C. Jackson方法 瀑布法快速原型法 回溯法DE.LCP (Wanier)方法 递归法Parnas方法自下而上修正 逐步求精法 检测校正法K解1A.,B.,C.,D.,E.。其中,D与E的答案可互换。分析:进入设计阶段之后,就开始着手解决“怎么做”的问题。一般把设计阶段的工作分成两步:即概要设计和详细设计。在概 要设计阶段应着重解决实现需求的程序模块划分问题,在详
4、细设计阶段那么要决定每个模块的具体算法。常见的软件概要设计方法有三大类:-以数据流图为基础构造模块结构的结构化设计方法(SD);以数据结构为基础构造模块结构的Jackson方法和LCP (Wanier)逻辑构造方法;以对象、类、继承和通信为基础的面向对象设计方法(OOD) o此外,以信息隐蔽为原那么的Parnas方法虽然没有给出系统化的设计方法,但它提出了一组原那么,要求预先估计未来生存 周期中可能发生的种种情况,并采取相应措施以提高软件系统的可维护性和可靠性。这里对面向数据结构的Jackson方法和LCP方法再多说几句。Jackson方法是一种典型的面向面向数据结构开发软件的方法。它的基本思
5、想是首先根据实际问题,给出处理问题所需要 和产生的数据结构,一旦搞清了问题的输入/输出数据结构,就可以以简单的方式直接导出程序的处理结构,然后应用Jackson 的描述符号,将这个处理结构转换为程序的过程性描述。LCP方法是另一种面向数据结构的方法,它也要先给出用Wanier图表示的处理问题所需要和产生的数据结构,再在Wanier 图上直接将数据结构转换为加工处理的形式化表示,最后生成描述加工过程的伪代码,进行验证和优化。3-3请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。内容耦合控制耦合非直接耦合标记耦合数据耦合外部耦合公共耦合K解、分析:参看“内容提要”中有关模块
6、独立性的介绍。3-4请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。巧合内聚时间内聚功能内聚通信内聚逻辑内聚信息内聚过程内聚K解、分析:在状态一迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。实际会迁移到哪一个状态,是由更详细的内 部状态和更详细的事件信息来决定的,此时在状态一迁移图中可能需要使用加进判断框和处理框的记法。状态一迁移图的优点: 第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态 等。第二,由于状态一迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。3-5在结构化分析
7、方法中,用实体一关系图表达系统中的对象及其关系。在实体一关系图中,表达对象的实例之间的关联有 三种类型:一对一、()、多对多。供选择的答案:A.多对一B. 一对多K解B分析:使用实体一关系图,可以建立系统中各个数据对象及对象之间的关系。对象的实例间的关联称为“基数”,共有3种类型 的基数:一对一,一对多,多对多。它反映了现实世界中实体之间的,多对一的情况可以归入一对多的关联中去。3-6软件需求分析的任务不应包括(A )。进行需求分析可使用多种工具,但(B )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(C )
8、。需求规格说明书的内容不应当包括(D )o该文档在软件开发中具有重要的作用,但其作用不应当包括(E )o供选择的答案:A. 问题分析信息域分析结构化程序设计B. 数据流图判定表PAD图确定逻辑模型数据词典C.D.E.要让软件做什么要给该软件提供哪些信息要求软件工作效率如何要让软件具有什么样的结构对重要功能的描述对算法的详细过程性描述软件确认准那么软件设计的依据软件验收的依据软件的性能用户和开发人员对软件要“做什么”的共同理解软件可行性分析的依据R解A. B. C.D. E. 分析:软件需求分析的任务是通过与用户的合作,了解用户对待开发系统的要求;根据对用户要求的系统所在的信息域的调查、 分析,
9、确定系统的逻辑模型;并对求解的问题做适当的分解,使之适合于计算机求解。需求分析的结果是软件需求规格说明书。结构化程序设计是在详细设计和编码阶段所采用的技术,而不是需求分析阶段要采用的技术。在需求分析阶段,分析人员 可以用数据流图描述系统的数据流的变换和流向,用数据词典定义在数据流图中出现的数据流、数据文件、加工或处理,用判定 表表示复杂条件和动作组合的情况。但PAD图是在详细设计阶段使用的描述加工逻辑的工具,不适用于需求分析。此外,软件 需求分析阶段只确定软件系统要“做什么”,完成对重要功能、性能、确认准那么的描述,至于“怎么做”由后续的设计阶段完成, 对算法的详细过程性描述也是在设计阶段给出
10、。软件可行性分析应在需求分析之前,所以需求分析规格说明不能成为可行性分析 的依据。【3-7】原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。它从用户界面的开发入手,首先形成(B ),用户(C ),并就(D )提出意见,它是一种(E )型的设计过程。供选择的答案:A. 需求不确定性高的B. 用户界面使用手册 系统界面原型C. 改进用户界面的设计模拟用户界面的运行D. 同意什么和不同意什么需求确定的管理信息用户界面需求分析说明书完善的用户界面阅读文档资料运行用户界面原型 使用和不使用哪一种编程语言决策支持程序的结构执行速度是否满足要求E. 自外向内自顶向下 自内向外 自底
11、向上K解A.,B.,C.,D.,E.分析:通常,原型是指模拟某种产品的原始模型。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的局部 重要特性。使用原型的原型化方法特别适用于需求不确定性较高的软件系统的开发。它的基本思想是根据用户给出的基本需求,通过 快速实现构造出一个小型的可执行的模型,满足用户的基本要求,这就是系统界面原型。让用户计算机上实际运行这个用户界面 原型,在试用的过程中得到亲身感受和受到启发,做出反响和评价,提出同意什么和不同意什么。然后开发者根据用户的意见对 原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中
12、的误解, 弥补缺乏之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。它是一种自外向内型的设计过程。【3-8】逐步求精、分层过程与抽象等概念之间的相互关系如何?R解“自顶向下,逐步求精”是Niklaus Wirth提出的设计策略:即将软件的体系结构按自顶向下方式,对各个层次的过程细节 和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次。在 最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。而在较低的抽象层次上,那么采
13、用过程化的方法。在描 述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语。但最后在最低的抽象层次上,我们应使用能够直接实现 的方式来描述这个解法。3-9完成良好的软件设计应遵循哪些原那么?R解软件设计既是过程又是模型。设计过程是一系列迭代的步骤,使设计人员能够描述被开发软件的方方面面。设计模型表达 了自顶向下、逐步细化的思想,首先构造事物的整体,再逐步细化,引导人们构造各种细节。为了给软件设计人员提供一些指导, 1995年Davis提出了一系列软件设计的原那么如下,其中有些修改和补充: 设计过程不应受“隧道视野”的限制。一位好的设计者应当考虑一些替代的手段。根据问题的要求,可以用基
14、本的设计 概念,如抽象、逐步求精、模块化、软件体系结构、控制层次、结构分解、数据结构、软件过程、信息隐蔽等,来决定完成工作 的资源。 设计应能追溯到分析模型。由于设计模型中每一单个成份常常可追溯到多个需求上,因此有必要对设计模型如何满足需 求进行追踪。 设计不应当从头做起。系统是使用一系列设计模式构造起来的,很多模式很可能以前就遇到过。这些模式通常被称为可 复用的设计构件。可以使用它们代替那些从头开始做的方法。时间短暂而资源有限!设计时间应当投入到表示真正的新思想和集 成那些已有的设计模式上去。设计应当缩短软件和现实世界中问题的“智力差距”,就是说,软件设计的结果应尽可能模拟问题领域的结构。第
15、2页,共6页设计应具有一致性和集成性。如果一个设计从整体上看像是一个人完成的,那它就是一致的。在设计工作开始之前,设计小组应 当定义风格和格式的规那么,如果仔细定义了设计构件之间的接口,那么该设计就是集成的。 使用上述的基本的设计概念,将设计构造得便于将来的修改。 应将设计构造得即使遇到异常的数据、事件或操作条件,也能平滑地、轻松地降级。设计良好的计算机程序应当永不“彻 底停工”,它应能适应异常的条件,并且当它必须中止处理时也能以沉着的方式结束。 设计不是编码,编码也不是设计。即使在建立程序构件的详细的过程设计时,设计模型的抽象级别也比源代码要高。在 编码级别上作出的唯一设计决策是描述如何将过
16、程性设计转换为程序代码的小的实现细节。 在开始着手设计时就应当能够评估质量,而不是在事情完成之后。利用上述的基本的设计概念和已有的设计方法,可以 帮助设计者评估质量。 应当坚持设计评审以减少概念上(语义上)的错误。有时人们在设计评审时倾向于注重细节,只见树木不见森林。在关 注设计模型的语法之前,设计者应能确保设计的主要概念上的成份(的遗漏、含糊、不一致)都已检查过。13-101如何理解模块独立性?用什么指标来衡量模块独立性?K解如果两个模块互相独立,那么对其中一个模块进行编码、测试或修改时可以完全不考虑另一个模块对它的影响。因此,用 模块独立性作为衡量模块结构是否容易编码、容易测试、容易修改的
17、标准是合适的。但是,在一个系统的模块结构中没有哪两个 模块可以完全独立,所以,要力争模块之间尽量独立,以得到一个质量良好的模块结构。一般采用两个准那么度量模块独立性。即模块间的耦合和模块的内聚。模块间的耦合是模块之间的相对独立性(互相连接的 紧密程度)的度量。模块之间的连接越紧密,越多,耦合性就越高,而其模块独立性就越弱。内聚是模块功能强度(一个模块内 部各个声心处心修A佑区械组由、体由鸟 一人母用由闻女人小入多 同体拙区浙 皿1+佑由/枇制*立 如“5 它与其它模块 之间的需低耦合性 高非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合低需合的情形有非B接耦合、数箱耦合和标记合,它们
18、都具比拟好的模成间的连接二站点是模块间制接口简单、规范。中度递模内聚性疗B是通过全局数据传功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚wi,位于中段的几种内聚类型是可以接 类型向高的方向靠。模块的内度寿系面的关系中可以看到,位于高端的几棚型很不 键的因素能使用。因此,人们总是希望奉,但位于低端的内聚类 模块化设计中是一个关低内聚和耦合是相互关联的。在程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。但这也不是绝对的。我们的目标是 力求增加模块的内聚,尽量减少模块间的耦合,但增加内聚比减少耦合更重要,应当把更多的注意力集中
19、到提高模块的内聚程度 上来。3-11模块独立性与信息隐蔽(反映模块化有效程度的属性)有何关系?K解所谓模块独立性”是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单 的。所谓的“信息隐蔽”是指每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过 程)不允许其它不需要这些信息的模块使用。如果软件系统做到了信息隐蔽,即定义和实施了对模块的过程细节和局部数据结构的存取限制,那么这些模块相互间的接 口就是简单的。这组模块的独立性就比拟强。事实上,衡量模块独立性的一个准那么就是模块内聚,到达信息隐蔽的模块是信息内 聚模块,它是高内聚
20、情形,模块独立性当然很强了。一个对象的抽象数据类型,就是信息隐蔽的例如。例如,对于栈stack,可以定义它的操作makenull (置空栈)、push (进栈)、pop (退栈)、gettop (取栈顶)和empty (判栈空)。这些操作所依赖的数据结构是什么样的?它们是如何实现的?都 被封装在其实现模块中。软件的其它局部可以直接使用这些操作,不必关心它的实现细节。一旦实现栈stack的模块里内部过程 或局部数据结构发生改变,只要它相关操作的调用形式不变,那么软件中其它所有使用这个栈stack的局部都可以不修改。这样 的模块结构具有很强的模块独立性。13-12模块的内聚性程度与该模块在分层结构
21、中的位置有关系吗?说明你的论据。R解模块的内聚性与该模块在分层模块结构中的位置无关。事实上,一个好的模块化的程序系统,它所有的模块可以都是功能 内聚的,即每一个模块就只干了一件事。用结构化设计方法建立起来的模块结构中的每一个模块都符合这个要求。把讨论范围再 拓宽点,在纯面向对象范型的软件系统中,整个系统看作是一个类,它的子类可以看作是系统的子系统或高层模块,它们还可以 有子类,这就形成一个类的层次结构。类的构造可以看成是一个抽象数据类型,实际上是信息内聚的。所以整个系统中从 上到下,所有模块(对象类)都是信息内聚的模块。13-131耦合性的概念和软件的可移植性有什么关系?请举例说明你的论述。K
22、解所谓“耦合性”是指模块之间的紧密程度的一种度量,而软件的“可移植性”是指将一个软件系统从一个计算机系统或环 境移植到另一个计算机系统或环境中运行时所需工作量的大小。可移植性是用一组子特性,包括简明性、模块独立性、通用性、 可扩充性、硬件独立性和软件系统独立性等,来衡量的。如果一个软件具有可移植性,它必然耦合性低,这样模块独立性要强。 例如,有一个图形处理软件,它应具有二维几何图形处理、三维几何图形处理、图形显示、外设控制、数据库管理、用户界面控 制、设计分析等模块。如果这些模块之间都是通过参数表来传递信息,那么它们之间的的耦合就是数据耦合或标记耦合等,都是 低耦合。将来如果想要把它们移植到另
23、一个外部环境中,这些模块容易修改(功能内聚),且接口清晰,修改可局部化。反言之, 如果这些模块都是功能内聚或信息内聚的模块,模块之间的耦合都是低耦合,也对可移植性有促进。但不能讲具有低耦合性模块 结构的软件一定具有可移植性,因为是否具有可移植性还有其它因素的影响。3-14从供选择的答案中选出正确的答案填入以下表达中的()内。第3页,共6页模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。第3页,共6页(1) 一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A )的。(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功
24、能。该模块的内聚性是 (B )的。(3)模块中所有成分引用共同的数据,该模块的内聚性是(C )的。(4)模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D )的。(5)模块中所有成份结合起来完全一项任务,该模块的内聚性是(E )的。它具有简明的外部界面,由它构成的软件易 于理解、测试和维护。供选择的答案:AE:功能内聚信息内聚通信内聚过程内聚巧合内聚时间内聚 逻辑内聚K解5A.,B.,C.,D.,E.3-15从供选择的答案中选出正确的答案填入下面的()中。块间和块内是评价程序模块结构质量的重要标准。的方式、共用信息的作用、共用信息的数量和接口的(A )等因素 决定了块间的大小。在块内
25、中,(B )的块内最强。SD方法的总的原那么是使每个模块执行(C )功能,模块间传送(D )参数,模块通过(E )语句调用其它模 块,而且模块间传送的参数应尽量(F )。此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,(G )应该是(H )的子集。供选择的答案:A:B:C:D:E:F:友好性巧合内聚一个数据型直接引用少GH:作用范围K解X A.,B.,健壮性功能内聚多个控制型标准调用多控制范围C.,D.,E.,简单性通信内聚平安性信息内聚混合型中断宏调用F.,G.,H.模块之间的耦合(块间)和模块的内聚(块内)是评价程序模块结构质量的重要标准。的方式、共用信息的作用、
26、共用信 息的数量和接口的简单性等因素决定了块间的大小。在块内中,以功能内聚模块的块内最强。SD方法的总的原那么是使每个模块只做一件事,就是说,只执行一个功能。模块之间尽可能传送简单的数据型参数。模块要通过标 准调用语句调用其它模块,不要直接引用另一个模块内部的数据。同时模块之间传送的参数应尽量少。此外,SD方法还提出了判 定的作用范围和模块的控制范围等概念。SD方法认为,模块的作用范围应该是其控制范围的子集。3-16从供选择的答案中选出应该填入以下关于软件设计的表达的()内的正确答案。在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(A )方法及编 程
27、阶段的(B )方法前后衔接,SD方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标 准一一块间和块内。SD方法的最终目标是(C ),用于表示模块间调用关系的图叫(D )。供选择的答案:AB: JacksonSASC ParnasSPC: 块间大,块内大块间大,块内小块间小,块内大块间小,块内小D: PADHCPSC SADT HIPOE: Jackson Parnas Ttiring Wirth Dijkstra另一种比拟著名的设计方法是以信息隐蔽为原那么划分模块,这种方法叫()方法。EK解5A.,B.,C.,D.,E.NS结构化设计方法(SD)是一种应用非常广泛的
28、软件设计方法,它以结构化分析方法(SA)得到的数据流图和数据词典为 依据,建立软件的模块结构,然后对每一个模块用结构化程序设计(SP)方法设计它的内部逻辑。这几种方法是前后衔接的。用 SD方法建立的模块结构用模块间的耦合(块间)和模块的内聚(块内)来度量,要求一个好的模块结构应满足高内聚,低耦合。 在SD方法中表示模块间调用关系的图叫做系统结构图(SC)o另一种著名的设计方法是以信息隐蔽为原那么划分模块,这种方法是Parnas提出来的,叫做Parnas方法。3-17递归模块(即自己调用自己的模块)的概念如何能够与本章所介绍的设计原理与方法相适应?K解递归过程在求解复杂的大型问题时非常有效。常用
29、的求解问题的方法,一种叫做“分而治之”的策略和“回溯”的策略,都可以用递归方法来解决。所谓“分而治之”的方法即是把大而复杂的问题化为规模稍小的子问题,用同样方法求解。如果分解 后的子问题能够直接解决,就直接解出,然后再回推得到原来问题的解。所谓“回溯”方法就是如果一个大的问题在求解过程中 从某一步出发有可选的多种解决方案,先选择一种解决方案,试探求解。如果求解失败,撤消原来的选择,再选一种解决方案, 试探求解,。如果用某一方案求解成功,那么退回上一步并报告这一步求解成功;如果所有可选方案都试过,都求解失败,那么 退回上一步并报告求解失败。软件设计过程中的“自顶向下,逐层分解”的做法与上述求解问
30、题的策略是一致的。如果分解出来的子问题(子功能、子 模块)相互独立性比拟强,这种分解可以降低模块的复杂性,做到模块化。所以,只要分解出来的子问题与原来问题满足递归的 情况,用递归方法建立模块结构也是可行的。3-18举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗? K解第4页,共6页 软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出软件的总的框架,然后进一步细化,在此框架中填 入细节,把它加工成在程序细节上非常接近于源程序的软件表示。正因为如此,所以从工程管理的角度来看,软件设计分两步完 成。首先做概要设计,将软件需求转化为数据结构和软件的系统结构。然后是详细
31、设计,即过程设计。通过对结构表示进行细化, 得到软件的详细的数据结构和算法。由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全局数据结构和数据库接口,人机接口,与其它硬、软 件的接口。此外还从系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等方面的问题,并给出了度量和评价 软件质量的方法,所以它奠定了整个系统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软件系统的结构和 质量,实现活动处于一种无序状态,程序结构划分不合理,导致系统处于一种不稳定的状态,稍一做改动就会失败。所以,不能 没有概要设计。【3-19】软件详细设计工具可分为三类,即:图示工具、设计语
32、言和表格工具。图示工具中,(A )简单而应用广泛、(B ) 表示法中,每一个处理过程用一个盒子表示,盒子可以嵌套。(C )可以纵横延伸,图形的空间效果好。(D )是一种设计和描述程序的语言,它是一种面向(E )的语言。供选择的答案:AC:NS图 流程图 HIPO图PAD图D: C PDL(3)RPOLOG PASCALE: 人 机器数据结构对象K解A.,B.,C.,D.,E.3-20如何用PDL语言来实施逐步求精的设计原理?K解3-13使用PDL语言,可以做到逐步求精:从比拟概括和抽象的PDL程序起,逐步写出更详细的更精确的描述。下面举 一个例子。PROCEDURE spellcheck IS
33、查找错拼的单词BEGINsplit document into single words把整个文档别离成单词lood up words in dictionary在字典中查这些单词display words which are not in dictionary显示字典中查不到的单词create a new dictionary造一新字典END spellcheck这个例子只是搭起一个处理问题的框架。为进一步说明查找拼错的单词的4个步骤如何实现,可以对它每一步进行细化: PROCEDURE spellcheckBEGIN-* split document into single wordsLO
34、OP get next wordadd word to word list in sortorderEXIT WHEN all words processedEND LOOP* look up words in dictionaryLOOP get word from word listIF word not in dictionary THEN一* display words not in dictionarydisplay word, prompt on user terminalIF user response says word OK THENadd word to good word
35、 listELSEadd word to bad word listENDIF ENDIF EXIT WHEN all words processed END LOOP * create a new words dictionary dictionary:=merge dictionary and good word list END spellcheck 13-21从供选择的答案中选出应该填入以下关于软件设计的表达的()内的正确答案。 在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括: 分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成份是否可(A ) 到某一项需求。分析软件各局部之间的,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足(B )和(C ) 的要求。模块(D )是否在其(E )之内。 供选择的答案 A: 覆盖演化 追溯等同 连接B: 多功能高内聚 高耦合 高效率 可读性C:多入口 低内聚 低耦合 低复杂度低强度第5页,共6页DE:作用范围高内聚低内聚取值范围控制范围第5页,共6页K解A.,B.,C.,D.,E.第6页,共6页