第一章 软件工程概论
一、填空题
⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。
①软件 ②程序 ③代码 ④硬件 ⑤文档 ⑥外设 ⑦数据 ⑧图表
一、填空题
⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。
①软件 ②程序 ③代码 ④硬件 ⑤文档 ⑥外设 ⑦数据 ⑧图表
⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。
A: ① 程序开发环境 ② 操作系统的资源管理功能
③ 开发程序人员数量 ④ 计算机的并行处理能力
B: ① 需求分析 ②需求调查 ③可行性分析 ④问题定义
C、D: ① 方案设计 ② 代码设计 ③ 概要设计 ④ 数据设计
⑤ 运行设计 ⑥ 详细设计 ⑦ 故障处理设计 ⑧ 软件体系结构设计
A: ① 程序开发环境 ② 操作系统的资源管理功能
③ 开发程序人员数量 ④ 计算机的并行处理能力
B: ① 需求分析 ②需求调查 ③可行性分析 ④问题定义
C、D: ① 方案设计 ② 代码设计 ③ 概要设计 ④ 数据设计
⑤ 运行设计 ⑥ 详细设计 ⑦ 故障处理设计 ⑧ 软件体系结构设计
⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。这时既没有(A),也没有(B),程序员只能用机器指令编写程序。第二阶段(20世纪60年代),称为“基本软件期”。出现了(A),并逐渐普及。随着(B)的发展,编译技术也有较大的发展。第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。这一时期,与硬件价格下降相反,软件开发费用急剧上升。人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。第四阶段(20世纪70年代中期至今),称为“软件工程”时期。软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。
A、B、C、D: ① 汇编语言 ② 操作系统 ③ 虚拟存储器概念 ④ 高级语言
⑤ 结构化程序设计 ⑥ 数据库概念 ⑦ 固件 ⑧ 模块化程序设计
E、F、G: ① 使用和维护 ② 兼容性的确认 ③ 完整性的确认
④ 设计 ⑤ 需求定义 ⑥ 图像处理
A、B、C、D: ① 汇编语言 ② 操作系统 ③ 虚拟存储器概念 ④ 高级语言
⑤ 结构化程序设计 ⑥ 数据库概念 ⑦ 固件 ⑧ 模块化程序设计
E、F、G: ① 使用和维护 ② 兼容性的确认 ③ 完整性的确认
④ 设计 ⑤ 需求定义 ⑥ 图像处理
二、简答题
⑴ 软件工程过程有哪几种基本活动,试加以说明。
⑵ 试说明软件生存周期的概念。
⑶ 试论述瀑布模型软件开发方法的基本过程。
⑷ 软件工程是开发、运行、维护和修复软件的系统化方法,它包括哪些要素?试加以说明。
⑸ 软件工程的基本原则有哪些?试加以说明。
⑹有人认为软件开发时,一个错误发现的越晚,为改正它所付出的代价就越大,请提出你的观点并解释。
⑹软件生命周期将软件开发分为几个阶段?每一阶段所要完成的主要任务是什么?
⑵ 试说明软件生存周期的概念。
⑶ 试论述瀑布模型软件开发方法的基本过程。
⑷ 软件工程是开发、运行、维护和修复软件的系统化方法,它包括哪些要素?试加以说明。
⑸ 软件工程的基本原则有哪些?试加以说明。
⑹有人认为软件开发时,一个错误发现的越晚,为改正它所付出的代价就越大,请提出你的观点并解释。
⑹软件生命周期将软件开发分为几个阶段?每一阶段所要完成的主要任务是什么?
第二章 系统分析
1、在软件开发的早期阶段为什么要进行可行性分析?应该中哪些方面研究目标系统的可行性?
2、
1、在软件开发的早期阶段为什么要进行可行性分析?应该中哪些方面研究目标系统的可行性?
2、
第三章 需求分析
一.填空
一.填空
1.软件需求分析阶段的工作,可以分为四个方面:对问题的识别,分析与综合,编写需求分析文档,以及( )。
A:总结 B:阶段性报告 C:需求分析评审 D:都不正确
A:总结 B:阶段性报告 C:需求分析评审 D:都不正确
2.各种分析方法都有它们的共同适用的( )。
A:说明方法 B:描述方式 C:准则 D:基本原则
A:说明方法 B:描述方式 C:准则 D:基本原则
3.在结构化的分析方法中,用以表达系统内数据的运行情况的工具有( )。
A:数据流图 B:数据词典 C:结构化英语 D:判定表与判定树
A:数据流图 B:数据词典 C:结构化英语 D:判定表与判定树
4.在结构化分析方法中,用状态迁移图表达系统或对象的行为,由一个状态和一个事件决定的下一个状态,可能会有( )个。
A: 1 B:2 C:多个 D:不确定
A: 1 B:2 C:多个 D:不确定
5.在结构化的分析方法中,用实体关系图表达系统中的对象及其关系,在实体关系图中,表达对象的实例关系之间的关联有三种类型:一对一联系,( )联系,多对多联系。
A:多对一 B:多对多
A:多对一 B:多对多
6.软件需求分析的任务,不应包括(A),进行需求分析可使用多种工具,但(B)是不适用的,在需求分析中,分析员要从用户那里解决的最重要的问题是(C)。规格说明书的内容不应当包括(D),该文档在开发中具有重要的作用,但其作用不应包括(E)。
A: 1 问题分析 2 信息域分析 3 结构化程序设计 4 确定逻辑模型
B: 1 数据流图 2 判定表 3 PAD图 4 数据词典
C: 1 要让软件做什么 2 要对该软件提供哪些信息
3 要求软件工作效率如何 4 让软件具有什么结构
D: 1 对重要功能的描述 2 对算法的详细过程性描述
3 软件确认准则 4 软件的性能
E: 1 软件设计的依据 2 用户和开发人员对软件要”做什么”的共同理解
3 软件验收的依据 4 软件可行性分析的依据
A: 1 问题分析 2 信息域分析 3 结构化程序设计 4 确定逻辑模型
B: 1 数据流图 2 判定表 3 PAD图 4 数据词典
C: 1 要让软件做什么 2 要对该软件提供哪些信息
3 要求软件工作效率如何 4 让软件具有什么结构
D: 1 对重要功能的描述 2 对算法的详细过程性描述
3 软件确认准则 4 软件的性能
E: 1 软件设计的依据 2 用户和开发人员对软件要”做什么”的共同理解
3 软件验收的依据 4 软件可行性分析的依据
7.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统,它从用户界面的开发入手,首先形成(B),用户(C),并就(D)提出意见,它是一种(E)型的设计过程。
A: 1 需求不确定性高的 2 需求确定的 3 管理信息 4 决策支持
B: 1 用户界面使用手册 2 用户界面需求分析说明书
A: 1 需求不确定性高的 2 需求确定的 3 管理信息 4 决策支持
B: 1 用户界面使用手册 2 用户界面需求分析说明书
3 系统界面原型 4 完善的用户界面
C: 1 改进用户界面的设计 2 阅读文档资料
3 模拟用户界面的运行 4 运行用户界面原型
D: 1 同意什么和不同意什么 2 使用和不使用哪一种编程语言
3 程序的结构 4 执行速度是否满足要求
E: 1 自外向内 2 自顶向下 3 自内向外 4 自底向上
C: 1 改进用户界面的设计 2 阅读文档资料
3 模拟用户界面的运行 4 运行用户界面原型
D: 1 同意什么和不同意什么 2 使用和不使用哪一种编程语言
3 程序的结构 4 执行速度是否满足要求
E: 1 自外向内 2 自顶向下 3 自内向外 4 自底向上
二:简答题
1.在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。请问 :什么是当前系统,当前系统的物理系统的模型与逻辑模型有什么差别?
2.软件需求分析是软件工程过程中交换意见最频繁的步骤,为什么交换意见的途径会经常阻塞?
3.你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
4.可行性研究主要研究哪些问题?试说明之。
5.信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?
6.软件需求分析的操作性原则和需求工程的指导性原则是什么?
1.在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。请问 :什么是当前系统,当前系统的物理系统的模型与逻辑模型有什么差别?
2.软件需求分析是软件工程过程中交换意见最频繁的步骤,为什么交换意见的途径会经常阻塞?
3.你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
4.可行性研究主要研究哪些问题?试说明之。
5.信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?
6.软件需求分析的操作性原则和需求工程的指导性原则是什么?
7.数据流图的作用是什么?它有哪些基本成分?
8.考务处理系统的分层数据流图:该考务系统有如下功能: 1对考生送来的报名表进行检查 2对合格的报名表编好准考证号码后,将准考证送给考生,并将汇总后的考生名单送给阅卷站 3对阅卷站送来的成绩表进行检查,并根据考试中心制定的合格标准审定合格者 4填写考生通知单(内容包括:考试成绩和合格与不合格标志),送给考生。5按地区、年龄、文化程度、职业、考试级别等进行成绩分类、统计和试题难度分析,产生统计分析表。问:
(1):在c图中加工1的输入数据流(A),输出数据流(B);b图中加工2的数据流 (C),它由(D)和(E)组成。
A-E: 1 统计分析表 2 报名表 3 准考证 4 考生通知单 5 合格报名表
6 难度分析表 7 错误成绩表 8 分析统计表
(2):图d中的文件“试题得分表”是否在图b中漏掉了?回答是(F)
F: 1 试题得分表没有在b中画出是错误的
2 试题得分表是图d中加工的内部文件不必在b中画出
3 试题得分表是多余的
9.数据词典的作用是什么?它有哪些基本词条?
10.原型化方法的类型有哪些?原型开发模型的主要优点是什么?
8.考务处理系统的分层数据流图:该考务系统有如下功能: 1对考生送来的报名表进行检查 2对合格的报名表编好准考证号码后,将准考证送给考生,并将汇总后的考生名单送给阅卷站 3对阅卷站送来的成绩表进行检查,并根据考试中心制定的合格标准审定合格者 4填写考生通知单(内容包括:考试成绩和合格与不合格标志),送给考生。5按地区、年龄、文化程度、职业、考试级别等进行成绩分类、统计和试题难度分析,产生统计分析表。问:
(1):在c图中加工1的输入数据流(A),输出数据流(B);b图中加工2的数据流 (C),它由(D)和(E)组成。
A-E: 1 统计分析表 2 报名表 3 准考证 4 考生通知单 5 合格报名表
6 难度分析表 7 错误成绩表 8 分析统计表
(2):图d中的文件“试题得分表”是否在图b中漏掉了?回答是(F)
F: 1 试题得分表没有在b中画出是错误的
2 试题得分表是图d中加工的内部文件不必在b中画出
3 试题得分表是多余的
9.数据词典的作用是什么?它有哪些基本词条?
10.原型化方法的类型有哪些?原型开发模型的主要优点是什么?
(第8题图)
第四章 软件设计
一、选择
1.从下列有关系统结构图的描述中选出正确的叙述。
① 系统结构图中反映的是程序中数据流的情况。
② 系统结构图是精确表达程序结构的图形表示法。因此有时也可将系统结构图当作程序流程图使用。
③ 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
④ 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时使用斜的线段和水平、垂直的线段具有相同的含义。
一、选择
1.从下列有关系统结构图的描述中选出正确的叙述。
① 系统结构图中反映的是程序中数据流的情况。
② 系统结构图是精确表达程序结构的图形表示法。因此有时也可将系统结构图当作程序流程图使用。
③ 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
④ 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时使用斜的线段和水平、垂直的线段具有相同的含义。
2.软件的开发工作经过需求分析阶段进入(A)后,就开始着手解决:“怎么做”的问题,常用的软件设计方法有(B)、(C)、(D)、(E)等。
A、B:① 程序设计 ②设计阶段 软件开发编程语言有哪些③总体设计 ④定义阶段 ⑤SD方法 ⑥SP方法
A、B:① 程序设计 ②设计阶段 软件开发编程语言有哪些③总体设计 ④定义阶段 ⑤SD方法 ⑥SP方法
C: ① Jackson方法 ②瀑布法 ③快速原型法 ④回溯法
D、E:①Warnier方法 ②递归法 ③Parnas方法 ④自下而上修正 ⑤逐步求精法 ⑥检测校正法
D、E:①Warnier方法 ②递归法 ③Parnas方法 ④自下而上修正 ⑤逐步求精法 ⑥检测校正法
3.请将下列有关模块独立性的各种模块之间的耦合按其耦合度从低到高排列:
①内容耦合 ②控制耦合 ③非直接耦合 ④标记耦合 ⑤数据耦合 ⑥外部耦合 ⑦公共耦合
①内容耦合 ②控制耦合 ③非直接耦合 ④标记耦合 ⑤数据耦合 ⑥外部耦合 ⑦公共耦合
4.按其内聚强度从高到低排列:
①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚
①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚
5.选出正确答案:
①一组语句在程序中多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚性是(A)的。
②将几个逻辑上相似的成份,放在同一个模块中,通过模块入口的一个判断决定执行哪一个功能,该模块的内聚性是(B)的。
③模块中所有成份引用共同的数据,该模块的内聚性是(C)的。
④模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D)的。
①一组语句在程序中多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚性是(A)的。
②将几个逻辑上相似的成份,放在同一个模块中,通过模块入口的一个判断决定执行哪一个功能,该模块的内聚性是(B)的。
③模块中所有成份引用共同的数据,该模块的内聚性是(C)的。
④模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D)的。
⑤模块中所有成份结合起来完成一项任务,该模块的内聚性是(E)的。
A—E:①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚
A—E:①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚
6.说明你对概要设计与详细设计的理解即不同。有不需要概要设计的情况吗?(参阅附录,说明书)Page482
7.软件详细设计工具可分为三类:即图视工具、设计语言和表格工具。
图视工具中,(A)简单而应用广泛;(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套;(C)可以纵横延伸,图形的空间效果好;(D)是一种设计和描述程序的语言,它是一种面向(E)的语言。
A、B、C:①NS图 ②流程图 ③HIPO图 ④PAD图
D:①C ②PDL ③Prolog ④Pascal
E:①人 4 ②机器 ③数据结构 ④对象
图视工具中,(A)简单而应用广泛;(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套;(C)可以纵横延伸,图形的空间效果好;(D)是一种设计和描述程序的语言,它是一种面向(E)的语言。
A、B、C:①NS图 ②流程图 ③HIPO图 ④PAD图
D:①C ②PDL ③Prolog ④Pascal
E:①人 4 ②机器 ③数据结构 ④对象
8.关于模块化程序设计的说法正确的五项:( )
1程序设计比较方便但难于维护。
1程序设计比较方便但难于维护。
2便于由多人分工编制大型程序。
3软件功能易于扩充。
4易于理解,也便于排错。
5在主存储器能够容纳的前提下,并使模块尽可能大,以减少模块的个数。
6模块间的接口叫做数据文件。
7只要模块之间的接口关系不变,模块内部实现细节的修改将不会影响别的模块。
8模块间的单向调用关系叫做模块的层次结构。
9模块越小,模块化的优点越明显,一般来说模块的大小都在10行以下。
3软件功能易于扩充。
4易于理解,也便于排错。
5在主存储器能够容纳的前提下,并使模块尽可能大,以减少模块的个数。
6模块间的接口叫做数据文件。
7只要模块之间的接口关系不变,模块内部实现细节的修改将不会影响别的模块。
8模块间的单向调用关系叫做模块的层次结构。
9模块越小,模块化的优点越明显,一般来说模块的大小都在10行以下。
9.从下面关于程序编制的叙述中选出三条正确的叙述。
1在编制程序之前,首先必须仔细阅读给它的程序说明书,然后必须如实的依照说明书编写程序。说明书中常会含糊不清或难以理解的地方,程序员在作业时应该对这些地方做出适当的解释。
2在着手编制程序时,重要的是采用既能使程序正确的按设计说明书正确处理又不易于出错的编写方法。
3在编写程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档
1在编制程序之前,首先必须仔细阅读给它的程序说明书,然后必须如实的依照说明书编写程序。说明书中常会含糊不清或难以理解的地方,程序员在作业时应该对这些地方做出适当的解释。
2在着手编制程序时,重要的是采用既能使程序正确的按设计说明书正确处理又不易于出错的编写方法。
3在编写程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档
那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等。
4考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作,只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。
5编制程序时,不可缺少的条件是,程序的输入和输出数据的格式都应确定,其他各项规定都能是附带的,无足轻重。
6作为一个好的程序,不仅处理速度要快,而且易读易修改等也都是重要的条件。为了能得到这样程序,不仅要熟悉程序的设计语言的语法,还要注意采用适当的规程和单纯的表现方法,使整个程序的结构简洁。
4考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作,只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。
5编制程序时,不可缺少的条件是,程序的输入和输出数据的格式都应确定,其他各项规定都能是附带的,无足轻重。
6作为一个好的程序,不仅处理速度要快,而且易读易修改等也都是重要的条件。为了能得到这样程序,不仅要熟悉程序的设计语言的语法,还要注意采用适当的规程和单纯的表现方法,使整个程序的结构简洁。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论