系统开发规范与文档编写期末复习二一、单项选择题1.下列各项中,不是一个软件产品中所必需的是()。
A.程序C.数据B.算法D.文档2.非常适合于在软件开发初期很难确定用户需求的情况所采用的软件开发过程模型是()。
A.瀑布模型C.演化模型B.喷泉模型D.原型模型3.按照软件的工作方式进行分类,能够对实时发生的事件和数据及时进行处理的软件应分类为()。
A.交互式软件C.实时处理软件B.分时软件D.并行处理软件4.结构化分析SA是软件开发需求分析阶段所使用的方法,以下不是SA所使用的工具的是()。
A.数据流图C.结构化英语B.判定表D.PAD图5.软件具有和硬件产品不同的特征。
下列各项中不属于软件的特征的是()。
A.软件是一种逻辑实体,主要是人的脑力劳动的产物,软件具有抽象性。
B.软件的维护具有长期性。
C.开发成本高,生产成本低。
D.开发成本低,生产成本高。
6.软件工程的出现是由于()。
A.程序设计方法的影响B.软件产业化的需要C.计算机技术的发展D.软件危机的出现7.在一张DFD图中,任意两个加工之间()。
A.有且仅有一条数据流B.至少有一条数据流C.可以有0条或多条名字不同的数据流D.可以有0条或多条数据流,但允许其中有若干条名字相同的数据流。
8.结构化分析方法的一个重要指导思想是()。
A.自顶向下,逐步分解C.自顶向下,逐步抽象B.自底向上,逐步抽象D.自底向上,逐步分解9.软件设计中划分模块的一个准则是()。
A.高内聚低耦合C.低内聚低耦合B.高内聚高耦合D.低内聚高耦合10.软件的整体结构和这种结构提供给系统在概念上的整体性的方式是指软件的()。
A.代码结构C.程序结构B.体系结构D.数据结构11.程序结构可以按水平方向或垂直方向进行划分。
水平划分按主要的程序()来定义模块结构的各个分支。
A.功能C.层次B.结构D.控制12.使用基于用例的方法进行需求分析时的第一步是()。
A.确定用例C.用例之间的关系B.确定参与者D.确定参与者和用例的通信13.面向对象的分析过程一般包括:获取用户对系统的需求、标识类和对象以及()。
A.定义类的结构和层次C.定义方法的结构和层次B.定义对象的结构和层次D.定义消息的结构和层次14.在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体。
封装是一种()技术。
A、组装C、固化B、产品化D、信息屏蔽15.整体-部分结构体现了面向对象方法的()。
A.关联(association)B.聚合(aggregation)C.依赖(depending)D.细化(refinement)16.Jackson设计方法所面向的是()。
A.对象C.控制结构B.数据流D.数据结构17.软件开发工作中,必须贯穿于整个过程当中并且不可忽视的工作是()。
A. 代码编写B.支持性的,管理性的工作C. 产品部署D. 集成18.编写用户手册时,以下所描述的要求中,不恰当的是()。
A.充分的描述该软件所具有的功能及基本的使用方法B.使用户通过本手册能够了解该软件的该软件的用途C.使用户通过本手册能够了解该软件的该软件的使用D.使用专门的术语19.软件项目开发计划描述的是:()。
A.说明系统的功能分配,模块划分B.对目标软件的功能、性能、用户界面及运行环境等做出详细的说明C.给出数据逻辑描述和数据采集的各项要求D.为软件项目实施方案制定出的具体计划20.软件质量保障的标准中不包括()。
A.ITU-T标准C.CMM标准二、填空题B.IEEE标准D.ISO 标准1.传统上,一般将软件生命周期划分为六个阶段,分别是计划,编码,测试,运行维护.,设计,2.在软件生命周期的各个阶段中,的问题。
阶段准确地确定软件系统“做什么”3.UML中用状态图、顺序图、4.软件主要由程序、和活动图来建立动态模型。
和文档三部分组成。
5.用例模型是所有用于描述指定系统的用途,参与者和用例—参与者关联关系的组合。
用例模型最重要的两个概念是和用例。
6.软件工程研究的对象主要包括过程、和工具。
7.结构化设计方法是以结构化分析产生的__________为基础,按一定的方法步骤转换成软件结构。
8.需求工程中涉及的角色有用户,系统分析员和。
7.JSP 是一种面向__________,以数据驱动的,主要为中小型数据处理系统设计程序结构的一种开发方法。
8.用结构化方法对一个系统进行需求分析,首先需要去对当前系统进行分析,建立现行系统的物理模型,然后对之进行抽象,形成现行系统的,最终得到待开发系统的逻辑模型。
7.面向对象的程序设计语言具有数据抽象、信息隐藏、___________等特征。
12.无论数据流图如何庞大复杂,都可以分为变换型数据流图和图两类。
数据流13.类是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,包括属性和__________两个部分。
14.程序结构描述了整个程序的控制层次关系和,而软件过程则着重描述各个模块的处理细节。
15.一个类可以是多个一般类的特殊类,它从多个一般类中继承了,这种继承模式叫多继承。
16.软件配置管理(Software Configuration Management,SCM)是一门、管理和监督相结合的学科。
17.软件测试方法中,__________称为功能测试,白盒测试称为结构测试。
18.UML中的泛化是表示_____ _。
19.软件文档也称__________,是指某种数据媒体和其中所记录的数据,它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。
20.在影响软件质量的八个因素中,文档和是纯技术因素。
三、判断题(正确的在括号内打,错误的在括号内打)1.软件测试计划在编码阶段开始撰写。
()2.软件工程过程包含软件开发、维护以及软件开发和维护时所需的管理活动。
()3.在软件生命周期的各个阶段中,测试阶段的主要任务是确定软件“做什么”的问题。
()4.UML的五种视图中不包含并发视图。
()5.在对一个加工逻辑进行说明时,对于一个不太复杂的判断逻辑,使用判断表比较好。
()。
6.模块独立性的度量准则是模块间的耦合。
()7.UML是一个通用的、标准的建模语言,最常用于建立软件系统的模型。
()8.结构化设计方法是以结构化分析产生的用例图为依据,并将此按一定的步骤映射成软件结构。
()9.CMM将企业的软件能力划分为5个等级。
()10.模块化的三个重要特征是功能、逻辑和状态。
()11.无论数据流图如何庞大复杂,都可以变换为为动态数据流图和静态数据流图两类。
()12.结构化设计的目的是要把数据流图映射成软件结构。
()13.整体-部分结构体现了面向对象方法的分散特性。
()3.测试前要认定被测试软件有错,不要认为软件设有错。
()4.软件测试是对程序设计工作的检验,是为了证明程序不存在错误。
()3.软件配置审核的目的就是要证实整个软件生存期中各项产品在技术上和管理上的完整性。
()4.基线是软件生存期各开发阶段末尾的待定点,它可以帮助实现对变更的控制。
()18.软件包括程序和数据两个部分。
( )19.软件危机泛指在计算机软件的开发、维护和使用过程中所遇到的一系列严重问题。
()20.在具有维护循环的瀑布模型中,在软件开发阶段和维护循环交界的阶段是编码阶段。
()21.在两个用例中,如果一个用例拥有另一个用例的所有结构、行为和关系,并在此基础上增加了新的特性,则此两个用例之间可以用泛化关系表示。
()22.结构化设计方法是以结构化分析产生的数据流图为基础,按一定的方法步骤转换成软件结构。
()23.类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个实例()。
24.UML中,对象图描述了系统中所有类的类型、类所具有的属性和操作以及类与类之间的静态的相互联系。
()25.配置审核的对象主要是软件配置项的变化信息。
()26.软件测试就是设计测试用例,并利用这些测试用例去运行程序,以证明程序没有错误的过程。
()27.软件文档也称文件,是指某种数据媒体和其中所记录的数据,它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。
()四、简答题(每小题5分,共20分)1.什么是软件生命周期?2.软件工程的目标是什么?3.什么是面向对象?4.模块化的三个重要特征是什么?其各自的作用如何?5.说明配置审核工作主要包括的两个方面及其基本含义。
6.概要设计说明书编制的目的是什么?7.某个软件项目的文档中有如下描述:当您运行本软件过程中,由于硬盘损坏导致数据丢失时,请在恢复数据后,选择“校验”菜单中的“使用MD5 检验数据完整性”菜单项,执行数据扫描。
你认为这段文字应该放在哪个文档中比较合适?在该文档中,这段文字出现在哪个部分比较合适?8.UML的含义是什么?基本组成部分包括那些?9.在画系统的分层数据流图时,需要注意哪些问题?10.如何理解模块独立性?用什么指标来衡量模块独立性。
五、应用题(每题10 分,共20分)1.请按照下列说明画出系统的数据流图。
考生向考试机构提出考试请求,考试机构对考生报名表后进行审核,形成报名表文件,然后根据报名表文件打印报名汇总表,交上级机关。
2.请按照下列说明画出系统的数据流图由捐助者向基金会提出捐助请求,经身份确认后被接受,捐款存入银行。
3.现有一图书管理系统,图书管理员提出软件应实现如下功能:a.管理员增加书目b.管理员删除书目c.管理员增加或者删除书目的时候,可以选择是否打印增删的书目清单系统的用户是读者和图书管理员请使用用例图(Use Case Diagram)画出上述需求。
4.现有一图书管理系统,读者提出软件应实现如下功能:a. 读者借书b.读者还书c.读者预定d.读者取消预定请使用用例图(Use Case Diagram)画出上述需求。
答案一、单项选择题1.B2.D3.C4.D5.D6.D7.C8.A9.A 18.B 11.A 13.A 14.D 15.B 16.C 17.A 18.D 19.D 20.A二、填空题1.需求分析2.需求分析1.协作图2.数据1.参与者2.方法3.数据流图4.软件开发人员5.数据结构6.逻辑模型7.信息继承8.事物型9.操作10.各个部分的接口情况11.属性和操作12.应用技术1.黑盒测试2.一般与特殊关系3.文件1.数据三、判断题(正确的在括号内打,错误的在括号内打)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.19.21.22.23.四、简答题24.25.26.27.8为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。
一般将软件生命周期划分为六个阶段:计划、需求分析、设计、编码、测试、运行维护。