预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
习题参考答案【3-1】从下列有关系统结构图的叙述中选出正确的叙述。(1)系统结构图中反映的是程序中数据流的情况。(2)系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。(3)一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。(4)在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。〖解〗(4)分析:系统结构图反映的是系统中模块的调用关系和层次关系,谁调用谁,有一个先后次序(时序)关系。所以系统结构图既不同于数据流图,也不同与程序流程图。数据流图仅描述数据在系统中如何流动,如何处理和存储,它不考虑时序关系。图中的有向线段表示了数据流。程序流程图描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条件,图中的有向线段(流线)表示的是控制流,从一个处理走到下一个处理。但在系统结构图中的有向线段表示调用时程序的控制从调用模块移到被调用模块,并隐含了当调用结束时控制将交回给调用模块。如果一个模块有多个下属模块,这些下属模块的左右位置可能与它们的调用次序有关。例如,在用结构化设计方法依据数据流图建立起来的变换型系统结构图中,主模块的所有下属模块按逻辑输入、中心变换、逻辑输出的次序自左向右一字排开,左右位置不是无关紧要的。所以只有最后的一个叙述是正确的。【3-2】软件的开发工作经过需求分析阶段,进入(A)以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有(B)、(C)、(D)和(E)等方法。供选择的答案:AB.①程序设计②设计阶段③总体设计④定义阶段⑤SD方法⑥SP方法C.①Jackson方法②瀑布法③快速原型法④回溯法DE.①LCP(Wanier)方法②递归法③Parnas方法④自下而上修正⑤逐步求精法⑥检测校正法〖解〗A.②,B.⑤,C.①,D.①,E.③。其中,D与E的答案可互换。分析:进入设计阶段之后,就开始着手解决“怎么做”的问题。一般把设计阶段的工作分成两步:即概要设计和详细设计。在概要设计阶段应着重解决实现需求的程序模块划分问题,在详细设计阶段则要决定每个模块的具体算法。常见的软件概要设计方法有三大类:.以数据流图为基础构造模块结构的结构化设计方法(SD);.以数据结构为基础构造模块结构的Jackson方法和LCP(Wanier)逻辑构造方法;.以对象、类、继承和通信为基础的面向对象设计方法(OOD)。此外,以信息隐蔽为原则的Parnas方法虽然没有给出系统化的设计方法,但它提出了一组原则,要求预先估计未来生存周期中可能发生的种种情况,并采取相应措施以提高软件系统的可维护性和可靠性。这里对面向数据结构的Jackson方法和LCP方法再多说几句。Jackson方法是一种典型的面向面向数据结构开发软件的方法。它的基本思想是首先根据实际问题,给出处理问题所需要和产生的数据结构,一旦搞清了问题的输入∕输出数据结构,就可以以简单的方式直接导出程序的处理结构,然后应用Jackson的描述符号,将这个处理结构转换为程序的过程性描述。LCP方法是另一种面向数据结构的方法,它也要先给出用Wanier图表示的处理问题所需要和产生的数据结构,再在Wanier图上直接将数据结构转换为加工处理的形式化表示,最后生成描述加工过程的伪代码,进行验证和优化。【3-3】请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。①内容耦合②控制耦合③非直接耦合④标记耦合⑤数据耦合⑥外部耦合⑦公共耦合〖解〗③、⑤、④、②、⑥、⑦、①分析:参看“内容提要”中有关模块独立性的介绍。【3-4】请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。①巧合内聚②时间内聚③功能内聚④通信内聚⑤逻辑内聚⑥信息内聚⑦过程内聚〖解〗③、⑥、④、⑦、②、⑤、①分析:在状态―迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。实际会迁移到哪一个状态,是由更详细的内部状态和更详细的事件信息来决定的,此时在状态―迁移图中可能需要使用加进判断框和处理框的记法。状态―迁移图的优点:第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态等。第二,由于状态―迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。【3-5】在结构化分析方法中,用实体―关系图表达系统中的对象及其关系。在实体―关系图中,表达对象的实例之间的关联有三种类型:一对一联系、()联系、多对多联系。供选择的答案:A.多对一B.一对多〖解〗B分