作业一
1、软件是计算机系统中与硬件相互依存的部分,它是包括(A) 、(B)及 (C)完整集合。其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。
供选择的答案:
A ~ C : ①软件      ②程序      ③代码      ④硬件
      ⑤文档      ⑥外设      ⑦数据      ⑧图表
2、开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。软件工程中描述软件生存周期的瀑布模型一般包括问题定义、可行性研究、(B)、设计、编码、测试、维护等几个阶段。其中,设计阶段在管理上又可以分成(C)和(D)两个步骤。
供选择的答案:
  A:  ①、程序开发环境              ②操作系统的资源管理功能
开发程序人员的数量        ④计算机的并行处理能力
  B:  ①、需求分析        ②需求调查      ③可行性分析    ④问题定义
  C、D:①、方案设计      ②代码设计      ③计算机软件的组成概要设计      ④数据设计
        ⑤运行设计      ⑥详细设计      ⑦故障处理设计    ⑧软件体系结构设计
3、软件工程过程有哪几种基本活动?试加以说明。
4、软件工程是开发、运行、维护和修复软件的系统化方法,它包括哪些要素?试加以说明。
5、什么是软件危机?为什么会产生软件危机?
1、软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及(A)。
A、①、总结    ②阶段性报告    ③需求分析评审    ④以上答案都不对
2、在结构化分析方法中,用以表达系统内部数据的运动情况的工具有(A)。
供选择的答案:
A:  ①、数据流图      ②数据词典    ③结构化英语    ④判定表与判定树
3、软件需求分析的任务不应包括(A)。进行需求分析可使用多种工具,但(B)是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(C)。需求规格说明书的内容不应当包括(D)。该文档在软件开发中具有重要的作用,但其作用不应当包括(E)。
A:①、问题分析  ②信息域分析  ③结构化程序分析    ④确定逻辑模型
B:①、数据流图    ②判定表      ③PAD图            ④、数据词典 
C:①、要让软件做什么          ②要给该软件提供哪些信息 
要求软件工作效率如何      ④要让软件具有什么样的结构
D:①、对重要功能的描述          ②对算法的详细过程性描述
软件确认准则            ④软件的性能
E:①、软件设计的依据    ②用户和开发人员对软件要“做什么”的共同理解
  ③软件验收的依据      ④软件可行性分析的依据
4、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。它从用户界面的开发入手,首先形成(B),用户(C),并就(D)提出意见,它是一种(E)型的设计过程。
A:①、需求不确定性高的    ②需求确定的    ③管理信息    ④决策支持
B:①、用户界面使用手册      ②用户界面需求分析说明书
  ③系统界面原型            ④完善的用户界面
C:①、改进用户界面设计        ②阅读文档资料
  ③模拟用户界面的运行      ④运行用户界面原型
D:①、同意什么和不同意什么    ②使用和不使用哪一种编程语言什么
  ③程序的结构              ④执行速度是否满足要求
E:①、自外向内    ②自顶向下  ③自内向外      ④自底向上
5、人类工程过程包括哪些步骤?
6、可行性研究主要研究哪些问题?试说明之
7、数据流图的作用是什么?它有哪些基本成分?
8、数据词典的作用是什么?它有哪些基本词条?
作业二
1、判断下列描述的对错:
A、系统结构图中反映的是程序中数据流的情况。
B、系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。
C、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
D、在系统结构图中,上级模块与下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。
2、软件的开发工作经过需求分析阶段,进入(A)以后,就开始着手解决“怎么做”的问题,常用的软件设计方法有(B)、(C)、(D)和(E)等方法。
A,B:①、程序设计    ②、设计阶段      ③、总体设计      ④、定义阶段
  ⑤SD(结构化设计)方法          ⑥SP(结构化程序设计方法 
C:  ①、jackson方法    ②、瀑布法    ③、快速原型法    ④、回溯法
D,E:①、LCP(Wanier)方法  ②、递归法          ③、parnas方法
  ④、自下而上修正        ⑤、逐步求精法      ⑥、检测校正法
3、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的(A),以数据结构为基础构造模块的(B)。以对象、类、继承和通信为基础的(C)。
A,B,C:①、面向对象设计方法(OOD)    ②、结构化设计方法(SD)
    ③、jackson方法和LCP(Wanier)逻辑构造方法
4、请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。
①、内容耦合    ②、控制耦合    ③、非直接耦合    ④、标记耦合 
⑤、数据耦合    ⑥、外部耦合    ⑦、公共耦合
5、请将下述有关模块独立性的各种模块内聚,按其内聚强度从高到低排列起来。
①、巧合内聚    ②、时间内聚    ③、功能内聚      ④、通信内聚
⑤、逻辑内聚    ⑥、信息内聚    ⑦、过程内聚
6、如何人理解模块独立性?用什么指标来衡量模块独立性?
7、块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的数量和接口(A)等因素决定了块间联系的大小。在块内联系中,(B)的块内联系最强。
SD方法的总原则是使每个模块执行(C)功能,模块间的传送(D)参数,模块通过(E)语句调用其他模块,而且模块间传送的参数应尽量(F)。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,(G)应该是(H)的子集。
A:  ①、友好性      ②、健壮性      ③、简单性      ④、安全性
B:  ①、巧合内聚    ②、功能内聚    ③、通信内聚    ④、信息内聚 
C:  ①、一个        ②、多个
D:  ①、数据型      ②、控制型      ③、混合型
E:  ①、直接引用    ②、标准调用    ③、中断        ④、宏调用
F:  ①、少          ②、多 
G~H:①、作用范围    ②、控制范围
8、在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(A)方法及编程阶段的(B)方法前后衔接,SD方法考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准——块内联系和块间联系。SD方法的最终目标是(C),用于表示模块间调用关系的图叫(D)。
另一种比较著名的设计方法是以信息隐蔽为原则划分模块,这种方法叫(E)方法。
A,B、①、jackson  ②、SA(结构化分析)  ③、SC    ④、 Parnas    ⑤、SP
C:①、块间联系大、块内联系大
②、块间联系大、块内联系小
③、块间联系小、块内联系大
④、块间联系小、块内联系小
D:①、PAD    ②、HCP      ③、SC      ④、SADT    ⑤、HIPO    ⑥、NS
E:①、jacked    ②、Parnas    ③、Turing  ④、Wirth    ⑤、dijksta
9、软件详细设计工具可分为3类,即图示工具、设计语言和表格工具,图示工具中,(A)简单而应用广泛。(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C)可以纵横延伸,图形的空间效果好。(D)是一种设计和描述程序的语言,它是一种面向(E)的语言。
A~C:①、NS图  ②、流程图  ③、HIPO图    ④、PAD图 
D:  ①、C      ②、PDL    ③、PROLOG  ④、Pascal
E::  ①、人      ②、机器    ③、数据结构  ④、对象
10、在完成软件概要设计,并编写相关文档之后应当组织对概要设计工作的评审。评审的内容包括:
分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可(A)到某一项需求。分析软件各部分之间的联系,确认该软件的
内部接口与外部接口是否已经明确定义。模块是否满足(B)和(C)的要求。模块(D)是否在其(E)之内。
A: ①、覆盖  ②、演化  ③、追溯  ④、等同  ⑤、连接
B:①、多功能  ②、高内聚  ③、高耦合  ④、高效率  ⑤、可读性
C:①、多入口  ②、低内聚  ③、低耦合  ④、低复杂度  ⑤、低强度
D,E:①、作用范围  ②、高内聚  ③、低内聚  ④、取值范围  ⑤、控制范围
11、为什么大型软件的设计必须分二步走?
12、模块独立性的含义?较强的模块要求是什么?
13、PDL的特点?
14、N-S图的特点?
15、JSD方法的步骤是什么?
作业三
1、有一种循环结构,叫做N1/2循环。其流程图如图所示。这种控制结构不属于基本控制结构,它既不适先判断型循环,又不是后判断型循环。试修改此流程图。将它改为用基本控制结构表示的等效的流程图。