《软件设计与构造》复习题
1、数据流图中的4种符号是什么?圆角矩形:表示要完成的过程或者工作. 正方形:表示外部代理. 开放的矩形:表示数据存储. 箭头:表示数据流.(P300)
2、什么是过程?命名3类逻辑过程。过程是在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作,同义词是转换.三类逻辑过程别是:功能过程、事件过程、基本过程.功能是企业的一套相关的和正在进行的活动.事件是必须作为一个整体完成的逻辑单位工作,有进被称为事务.基本过程是为完成一个事件的响应所需要的离散的详细活动或任务,也称为原子过程.
3、什么是过程分解?分解是将一个系统分解成子系统的行动.
4、决策表的组件是什么?决策表包括条件段、行动段、规则三个部分,是一组条件及其对应的行动.条件段描述了将影响决策或策略的条件或因素.行动段以语句的形式描述可能采取的策略或行动和决策.规则描述了一个特定的条件组合下采取哪个行动.
5、数据流和数据存储的区别是什么?数据存储和数据实体的区别是什么?数据实体和外部实体的区别是什么?数据流和数据存储的区别:数据流是一个过程的数据输入,或者来自一个过程的数据(或信息)输出;数据存储存储数据供日后使用,是一个数据的”仓库”.数据存储应该描述的是关于企业想存储数据的事物,数据存储表示了数据实体的所有具体值;数据实体是我们收集数据和存储数据的人、地点、对象、事件或概念的类,而在实体关系图中的每个实体又都应该有一个数据存储.外部实体是与系统交互的外部的人员、组织部门、其他系统或者其他组织;数据实体是指相对人、地点、对象、事件或概念的类.
7、区分数据流和控制流.数据流是一个过程的数据输入,或者来自一个过程的数据(或信息)输出.数据流也用于在文件或数据库中创建,读取,删除或修改数据.控制流表示触发一个过程的条件或非常数据事件.可以把控制流看作是系统工作时的一个监控条件.
8、什么是数据守恒?数据守恒是确保一个数据流仅仅包含接收过程真正需要的数据实践.
9、一个数据结构的基本结构是什么?数据结构是数据属性特定的排列,它定义了一个数据流实例的一个实例.它的基本结构包含:属性序列、属性选择、属性重复、可选属性、可复用属性.
10、P248 第7章 问题与练习 6、9
11、P341 第9章 小型案例 1、2、8、9
12、系统设计方法.模型驱动方法,快速应用开发,FAST系统设计策略.
13、P466 第13章 复习题 1、6、7、8、9、10、11、15、16、18、22、23
14、用一个详细的数据字典描述你的学生证。
数据流组成 | 数据描述 |
学生证=学号+姓名+年龄+性别+学院+专业+年级+班级+学校+籍贯+发证日期+有效日期
| 学号(0..999999) 姓名(字符长度小于10) 年龄(5..100) 性别(男|女) 学院(字符长度小于20) 专业(字符长度小于20) 年级(字符长度小于10) 班级(字符长度小于10) 学校(字符长度小于20) 籍贯(字符长度小于30) 发征日期(日期格式) 有效日期(日期格式)
|
|
|
15、数据收集、数据录入和数据处理的区别是什么?数据收集是新数据的标识和获取.数据录入是把数据翻译成计算机可读格式的过程.数据处理是指对输入的数据进行处理.(P534)
16、列出并描述6种输入数据验证技术(P540)1.存在性检查.确定输入中所有要求的域是否都实际输入了,要求的域应该明显地标识在输入屏幕上.2.数据类型检查.确保输入了正确的数据类型.3.域检查.确定是否每个域输入的数据都落在为那个域定义的合法取值范围内.4.组合检查.确定两个域之间的一个已知关系是否有效.5.自我检验数字.确定主键相关的数据录入错误.6.格式检查.按照数据的已知格式需求比照输入的数据.
17、软件设计包括四个即独立又相互联系的活动,分别为(C)、(D)、数据设计和过程设计。
(1)A.用户手册设计
B.语言设计
C.体系结构设计
D.文档设计
(2)A.文档设计
B.程序设计
C.实用性设计
D.接口设计
18、在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用(A )。
A.原型法
B.瀑布模型
C.V-模型
D.螺旋模型
19、软件开发中的瀑布模型典型的刻画了软件存在周期的阶段划分,与其最相适应的软件开发方法是(B)。
A.构件化方法
B.结构化方法
C.面向对象方法
D.快速原型法
20、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。
A.模块间的操作细节
B.模块间的相似性
C.模块间的组成关系
D.模块的具体功能
21、在面向数据流的设计方法中,一般把数据流图中的数据划分为(C)两种。
A.数据流和事务流
B.变换流和数据流
C.变换流和事务流
D.控制流和事务流
22、造成软件危机的主要原因是(D):
①用户使用不当 ②硬件不可靠 ③对软件的错误认识 ④缺乏好的开发方法和手段 ⑤软件本身特点 ⑥开发效率低
A.(①②③)
B.(②③④)
C.(③⑤⑥)
D.(④⑤⑥)
23、下列要素中,不属于DFD的是(D)。当使用DFD对一个工资系统进行建模时,(A)可以被确定为外部实体。
(1)A.加工
B.数据流
C.数据存储
D.联系
(2)A.接收工资单的银行
B.工资系统源代码程序
C.工资单
D.工资数据库的维护
24、软件开发模型用于指导软件开发。其中演化模型用于在快速开发一个(C)的基础上逐渐演化成最终的软件。螺旋模型综合了(A)的优点,并增加了(D)。
(1)A.模块
B.运行平台
C.原型
D.主程序
(2)A.瀑布模型和演化模型
B.瀑布模型和喷泉模型
C.演化模型和喷泉模型
D.原型和喷泉模型
(3)A.质量评价
B.进度控制
C.版本控制
D.风险分析
25、在选择开发方法时,有些情况不适合使用原型法,以下选项中不能使用快速原型法的情况是(D):
A.系统的使用范围变化很大
B.系统的设计方案难以确定
C.用户的需求模糊不清
D.用户数据资源缺乏组织和管理
26、原型化方法是一类动态定义需求的方法,(A)不是原型化方法所具胡的特征。与结构化方法相比,原型化方法更需要(B)。衡量原型开发人员能力的重要标准是(D)。
(1)A.提供严格定义的文档
B.加快需求的确定
C.简化的项目管理
D.加强用户参与和决策
(2)A.熟练的开发人员
B.完整的生命周期
C.较长的开发时间
D.明确的需求定义
(3)A.丰富的编程技巧
B.灵活使用开发工具
C.很强的协调组织能力
D.快速获取需求
27、软件开中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是(B)。
A.构件化方法
B.结构化方法
C.面向对象方法
D.快速原型方法
28、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是(D)。
A.外部设计评审报告在概要设计阶段产生
B.集成测评计划在程序设计阶段产生
C.系统计划和需求说明在详细设计阶段产生
D.在进行编码的同时,独立的设计单元测试计划
29、软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了(C)。
A.版本管理
B.可行性分析
C.风险分析
D.系统集成
30、概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(D)。
A.把软件划分成模块
B.确定模块之间的调用关系
C.确定各个模块的功能
D.设计每个模块的伪代码
31、可移植性指软件从一个运行环境下转移到另一环境下的难易程序。为提高软件的可移植性应注意(D)。
A.使用方便性
B.简洁性
C.可靠性
D.设备不依赖性
32、美国卡内基-梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D)。
A.工作无序,项目进行过程中经常放弃当初的计划
B.建立了项目级的管理制度
C.建立了企业级的管理制度
D.软件过程中活动的生产率和质量是可度量的
33、软件能力成熟度模型CMM描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。
在(A),已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。在(B),用于软件管理与工程两方面的软件过均已文档化,标准化,并形成了整个软件组织的标准软件过程。在已管理级,对软件过程和产品质量有详细的度量标准。
在(C),通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续志对过程改进。
(1)A.可重复级
B.管理级
C.功能级
D.成本级
(2)A.标准级
B.已定义级
C.可重复级
D.优化级
(3)A.分析级
B.过程级
C.优化级
D.管理级
34、软件设计包括四个既独立又相互联系的活动,分别为(C)、(D)、数据设计和过程设计。
(1)A.用户手册设计
B.语言设计
C.体系结构设计
D.文档设计
(2)A.文档设计
B.程序设计
C.实用性设计
D.接口设计
35、软件的互操作性是指(C)。
A.软件的可移植性
B.人机界面的可交互性
C.连接一个系统和另一个系统所需的工作量
D.多用户之间的可交互性
36、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。
A.CAD
B.CAI
C. CAM
D.CASE
37、请说出7类信息系统.1.事务处理系统.2.管管理理信息系统.3.决策支持系统.4.主管信息系统.5.专家系统.6.通信和协作系统.7.办公自动化系统.
38、区分电子商务(e-commerce)和电子业务(e-business)电子商务是指通过使用因特网购买和销售商品及服务.电子业务是指使用因特网进行日常的商务活动.
39、什么是数据需求 数据需求是用户数据以实体,属性,关系和规则形式的表述.
40、什么是过程需求 过程需求是用于某个业务过程及其信息及其信息系统的处理需求的用户理解.
41、什么是系统开发过程 系统开发过程是一组活动,方法,最佳实践,交付成果和自动化工具,系统开发的关联人员用它们来开发和维护信息系统及软件.
42、系统开发的10个基本原理是什么 1.让系统用户参与. 2.使用一套问题解决步骤. 3.确立开发阶段和开发活动. 4.在开发过程中记录文档. 5.建立标准. 6.管理过程和项目. 7.将信息系统作为重要的投资看待. 8.不必害怕取消和返工. 9.分而治之. 10.设计系统时应考虑到增长和变化.
43、确定并简要描述大部分现代系统开发方法学公认的8个基本阶段 (P80)1.范围定义阶段.2.问题分析阶段.3.需求分析阶段.4.逻辑设计阶段.5.决策分析阶段.6.物理设计和集成阶段.7.构造和测试阶段.8.安装和发布阶段.
44、区分逻辑设计和物理设计 逻辑设计是将用户需求翻译成系统模型,该模型仅仅描述了业务需求,而没有描述这些需求的任何可能的技术设计或实现.物理设计是将业务用户需求转换成系统模型,描述用户的业务需求的技术实现.(常见的同义词包括:技术设计或实现模型.反义词是逻辑设计.)
45、什么是敏捷方法 敏捷方法集成各种系统分析和方法,根据要解决的问题和要开发的系统应用合适的方法.
46、列出3种模型驱动开发技术 1.过程建模.2.数据建模.3.对象建模.(P95)
47、列出系统开发的3类自动化工具。1.计算机辅助系统工程.2.应用开发环境.3.项目和过程生理器.
48、在关于用例(use case)的描述中,错误的是(D)。
A.用例将系统的功能范围分解成许多小的系统功能陈述
B.一个用例代表了系统的一个单一的目标
C.用例是一个行为上相关的步骤序列
D.用例描述了系统与用户的交互
49、在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例,这种用例称为(B)。在UML的用例图上,将用例之间的这种关系标记为(C)。
(1)A.扩展用例
B.抽象用例
C.公共用例
D.参与用例
(2)A.association
B.extends
C.uses
D.inheritance
50、在一个采用(A)数据库体系结构的网络数据库应用系统中,计算机C上运行着DBMS软件和应用程序,并存有所有用户数据,其余各节点作为终端通过通信线路向计算机C发出数据库应用请求。
A.集中式
B.主从式
C.客户机/服务器
D.分布式
51、在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立(B)来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立(C)来详细说明整个业务过程的逻辑。
(1)A.数据流图(DFD)
B.过程层次图(PHD)
C.过程活动图(PAD)
D.过程关系图(PRD)
(2)A.数据流图(DFD)
B.过程层次图(PHD)
C.过程活动图(PAD)
D.甘特图(Ganntte)
52、在将E-R模型向关系模型转换的过程中,若将三个实体之间的多对多联系m:n:p转换为关系模式,则该关系模式的关键字为(C)。
A.任意两个实体的关键字的组合
B.任意一个实体的关键字
C.各实体的关键字的组合
D.某实体的其它属性
53、在以下选项中,主要联系高层管理人员的信息系统是(C)
A.MIS(管理信息系统)
B.DSS(决策支持系统)
C.EDPS(电子数据处理系统)
D.TPS(事务处理系统)
54、内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求(B)。
A.高内聚,高耦合
B.高内聚,低耦合
C.低内聚,高耦合
D.低内聚,低耦合
55、在下面的用例图(use-case Diagram)中,X1、X2和X3表示(B),已知UC3是抽象用例,那么X1可通过(B)用例与系统进行交互。并且,用例(B)是UC4的可选部分,用例(D)是UC4的必须部分。
(1)A.人
B.系统
C.参与者
D.外部软件
(2)A.UC4、UC1
B.UC5、UC1
C.UC5、UC2
D.UC1、UC2
(4)A.UC1
B.UC2
C.UC3
D.UC5
(5)A.UC1
B.UC2
C.UC3
D.UC5
56、阅读以下说明和图,回答问题1到问题4。
【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
(1)每门课程有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
(2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
(3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程包含和单元相对应,如果是,那这些成绩是有效的,否则无效。
(4)对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
(5)若一门课程的所有有效平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
(6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误,主讲教师须将核对之后的成绩报告返还系统。
(7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
成绩管理系统 |
E1 |
E2 |
E3 |
E4 |
成绩审查结果 |
成绩列表 |
学生成绩 |
核对后的成绩报告 |
成绩报告 |
成绩单 |
生成成绩列表请求 |
无效成绩通知 |
课程完成通知 |
图1-1 顶层数据流图 |
1 验证学生信息 |
2 记录有效记录 |
3 记录无效记录 |
4 生成成绩列表 |
5 生成最终成绩单 |
E1 |
E2 |
E3 |
E4 |
D1 |
D2 |
D3 |
D4 |
D5 |
学生成绩 |
无效成绩 |
无效成绩通知 |
有效成绩 |
课程完 成通知 |
成绩审 查结果 |
成绩列表 |
生成成绩列表请求 |
成绩单 |
图1-2 第0层数据流图 |
【问题1】
使用说明中的词语,给出图1-1中的外部实体E1E4的名称 E1.考试委员会.E2.主讲教师.E3.学生.E4.教务处.
【问题2】
使用说明中的词语,给出图1-2中的数据存储D1~D5的名称 D1.学生信息文件.D2.课程信息文件.D3.课程单元信息文件.D4.课程成绩文件.D5.无效成绩文件.
【问题3】
数据流图1-2缺少了三条数据流,根据说明及数据图1-1提供的信息,分别指出这三条数据流的起点和终点。
起点 | 终点 |
生成成绩列表 | E2 |
E2 | 生成成绩列表 |
生成成绩列表 | 生成最终成绩单 |
【问题4】
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。程序流程图是人们对解决问题的方法,思路求算法的一种描述.适用于程序设计中.
57、阅读以下说明和数据流图,回答问题1到问题3
【说明】
学生住宿服务系统帮助学生在就学的城市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面住处进行管理和维护。
房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主 的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋文件以便学生能够获得准确的可租用房屋信息,房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。
学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、出生日期、性别以及系 统分配的唯一身份标识(ID)和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并 将会面信息通知学生和房主,会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。
学生住宿服务系统的顶层图如图1-1所示;学生住宿服务系统的第0层DFD图如图1-2所示,其中,加工3的细化图如图1-3所示。
【问题1】
(1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。起点:学生住宿服务系统.终点:房主.
数据流:费用信息.
(2)数据流图1-2中缺少了与"查询房屋"加工相关的数据流,请指出此数据流的起点和终点。起点:学生.终点:房屋文件.
【问题2】
“安排会面”加工除需要写入会面文件外,还需要访问哪些文件?学生文件和房主文件.
【问题3】
请补齐下列数据字典条目:
登录信息=学生ID+密码
注册信息=姓名+现住址+电话号码+出生日期+性别
7.答:构造需求用例建模需要以下四个步骤:
一.确定业务参与者;二.确定业务需求用例;三.构造用例模型图;四.记录业务需求描述.
8.答:发现参与者的主要来源有:标示系统的范围和边界的上下文图,现有系统的文档和用户手册,项目会议和研讨会的记录和现有需求文档、项目章程或工作陈述.
对参与者,应提出如下五个问题:
一.谁或者什么为系统提供输入?
二.谁或者什么接收系统的输出?
三.需要与其他系统的接口吗?
四.是否存在在预定的时间自动触发的事件?
五.谁将维护系统中的信息?
9.答:发现用例的来源是上下文图.当寻找用例时,应询问如下五个问题:
一.参与者的主要任务是什么?
二.参与者需要系统什么信息?
三.参与者为系统提供什么信息?
四.系统需要通知参与者发生的变化和事件吗?
五.参与者需要通知系统发生的变化的事件吗?
12.答:数据守恒是确保一个数据流仅仅包含接收过程真正需要的数据实践.
P466
10.答:五类C/S服务器:
一.数据库服务器,这是运行一个或多个数据库的服务器;
二.事务服务器,这是运行确保所有数据库修改作为一个整体成功或者失败的服务的服务器;
三.应用服务器,是运行信息系统的应用逻辑和服务的服务器;
四.消息或组件服务器,是运行组件服务的服务器;
五.WEB服务器,是运行因特网或内联网站点的服务器.
11.答:分布式数据客户/服务器系统中,数据层和数据处理层放置在服务器上,应用逻辑层、表现逻辑层和表现层放置在客户端,这也称为两层客户/服务器计算,这种方案有网络流量少和数据完整性更容易维护的特点,缺点是应用逻辑层必须在客户端上进行,升级不方便.
分布式数据和应用客户/服务器系统工中,数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端,这也称为三层或N层客户/服务器计算,这种方案简化了客户端的配置和管理,缺点是设计和开发相当复杂.
21.答.电子数据交换是企业之间业务事务或数据的标准化电子流.
注:这篇文章本来不想写的,呵呵,是我们老师给的,考<<系统分析>>吧,希望对大家有用,我发现很多都是软考的题目.