某单位住房方案,用判定表和判定树表示各条件组合与费用之间的关系

合集下载

《软件工程》复习题XXXX06051

《软件工程》复习题XXXX06051

一、填空题1.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的________________。

2.软件工程由___方法____、工具和__过程_____三部分组成,称软件工程的三要素。

3.可行性研究从技术可行性、经济可行性、___操作可行性_____三方面进行分析。

4.调试的目的是__在测试发现错误之后排除错误的过程________________。

5.划分模块时尽量做到低耦合高内聚__________________,以保持模块的独立性。

6.决定软件可维护性的因素主要有____可理解性________、可测试性、可修改性、可靠性和_可重用性___________。

7.对软件需求应从一致性、_____完整性_____、现实性和__现实性________四个方面验证。

8.为了便于对照检查,测试用例应由输入数据和_预期的输出结果____________两部分组成。

9.面向数据流的设计方法把信息流映射成软件结构,信息流有__________和__________两种类型。

10.软件工程是从____技术____和__管理______两方面研究如何更好地开发和维护计算机软件的一门新兴学科。

11.在基类的基础上新建立的类我们称之为___子类_____。

12.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=__F/(1+i)n次方________。

二、单选题(每小题1分,共20分)1.产生软件维护的副作用,是指_____。

A.开发时的错误B.隐含的错误C.因修改软件而造成的错误 D.运行时误操作2.汽车有一个发动机。

汽车和发动机之间的关系是_____关系。

A.一般具体 B.整体部分C.分类关系 D.主从关系3.在变更控制中,______可以用来确保由不同用户所执行的并发变更。

A.异步控制 B.同步控制C.存取控制D.基线控制4.在详细设计阶段,经常采用的工具有__A___。

A.PAD B.SA C.SC D.DFD5.软件生命周期中所花费用最多的阶段是_D____。

(整理)软件工程A作业参考答案

(整理)软件工程A作业参考答案

作业2参考答案在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?答:(1)开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。

可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

(2)一般说来,至少应该从以下三个方面研究每种解法的可行性:a.技术可行性。

对要开发项目的功能、性能和限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技术可行性研究的内容。

这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。

b.经济可行性。

进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上是否合算,应考虑一个“底线”,经济可行性研究范围较广,包括成本—效益分析,长期公司经营策略,开发所需的成本和资源,潜在的市场前景。

c.操作可行性。

有时还要研究社会可行性问题,研究要开发的项目是否存在任何侵犯、妨碍等责任问题。

社会可行性所涉及的范围也比较广,它包括合同、责任、侵权和其他一些技术人员常常不了解的陷阱等。

必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。

2.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0.校外电话又分为本市电话和外地电话两类。

拨校外电话需要先拨0,若是本市电话则接着拨8位数字(第一位不是0),若是外地电话则拨3位区码后再拨8位电话号码(第一位不是0)。

答:电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字校外电话号码=[本市号码|外地号码]本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}38位数字=非零数字+7位数字7位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]其中,[ ]意思是或,从校内电话号码或校外电话号码中选择一个;{ }表示重复,两边的数字表示重复次数的下限和上限;=意思是定义为;+意思是和,连接两个分量。

判定树判定表举例

判定树判定表举例


条件
条件
条件
条件
行动
行动
行动
行动
……
条件
条件
条件
条件
发货方案
欠款时间≤30
欠款时间>100
需求量≤库存量
立即发货
先按库存发,进后再补发
条件
状态
动作
欠款时间>30且≤100
需求量>库存量
需求量≤库存量
先付款,再发货
不发货
需求量>库存量
通知先付欠款
6. 下面是货运收费策略:铁路运费时,若收货地点在本省以内,快件每公斤1.5元,慢件每公斤1元。若收货地点在外省,重量小于或等于20公斤,快件每公斤2元,慢件每公斤1元,若重量大于20公斤,超重部分每公斤0.2元。分别用判定树、判定表和结构化语言。
举例:某仓库发货方案如下: 客户欠款时间不大于30天,如果需要量不大于库存量则立即发货;否则先按库存量发货,进货后再补发。 客户欠款时间不大于100天,如果需要量不大于库存量则先付款再发货;否则不发货。 客户欠款时间大于100天,要求先付欠款。
判定树、判定表
3.判定树 判定树是用一种树图形方式来表示多个条件、多个取值所应采取的动作。
一个游戏 判定表
一个游戏 判定表
1
2
3
4
5
6
7

R
R
R
R
W
W
W

R
R
W
W
R
R
W

R
W
R
W
R
W
R
甲不知
乙不知

判定表

思考题
主持人对甲、乙、丙三人说:“这里有三顶红帽子,两顶白帽子。现在用布蒙上你们的眼睛,给你们每人戴上一顶帽子,然后请你们依次睁开眼睛,能正确说出自己所戴帽子的颜色者有奖。” 带完帽子后,甲拿下布后看了其他两人的帽子说:“我不知道。” 然后,乙解开布看了其他两人的帽子后说:“我不知道。” 轮到丙时,他没有拿下布就正确地说出了自己所戴帽子的颜色。 试问:丙戴的是什么帽子?他是怎样得出结论的?

《软件工程》课后习题答案

《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

软件工程导论复习题含答案

软件工程导论复习题含答案

软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是( A )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2. 软件是一种( B )性工业产品。

A. 理论B. 知识(或逻辑)C. 消耗D. 体力3. 需求分析是在( B )进行的。

A. 用户B. 用户和分析设计人员之间C. 开发人员内部D. 使用和维护人员间4. 软件的主要结构和功能是在( A )阶段决定的。

A. 分析设计B. 编程C. 测试D. 维护5.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展7. 在软件开发模型中,提出最早、应用最广泛的模型是( A )。

A. 瀑布模型B. 喷泉模型C. 增量模型D. 螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与( C )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错9. 计算机辅助软件工程,简称( D )。

A. SAB. SDC. SCD. CASE10. 软件危机是软件产业化过程中出现的一种现象,下述现象中:( C )是其主要表现。

①软件需要增长难以满足。

②软件开发成本提高。

③软件开发进度难以控制。

④软件质量不易保证。

A. ③和④B. ③和④C. 全部D. ①、②和③11 软件工程的出现主要是由于( C )。

A. 程序设计方法学的影响B. 其他工程科学影响C. 软件危机的出现D. 计算机的发展12、软件生成周期模型有多种,下列选项中,( C )不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型(二)简答题1. 软件产品的特点是什么?2. 软件生产的发展经历了哪几个时代?各有何特征?3. 软件危机的概念、表现形式、产生原因、解决途径4. 简述主要的软件生存期模型(或软件开发模型)。

需求分析与功能建模方法(二)

需求分析与功能建模方法(二)

需求分析与功能建模方法(二)(总分:100.00,做题时间:90分钟)一、选择题(总题数:35,分数:70.00)1.关于数据库应用系统的需求分析工作,下列说法正确的是______。

A.通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明B.在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图C.数据需求分析的主要工作是要辨识出数据处理中的数据处理流程D.数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标(分数:2.00)A.B.C.D. √解析:[解析] 本题考查的是需求分析的基本概念和分类。

确定出整个应用系统的目标、任务和系统的范围说明是项目规划阶段的任务,不属于需求分析的任务,所以A选项是错误的。

在B选项中,需求分析阶段的成果主要是文字说明,而不是用户视图。

“辨识出数据处理中的数据处理流程”是数据处理需求分析的工作,数据需求分析的主要工作是辨识出数据处理中需要处理的数据,包括数据项和数据结构,因此C选项也是错误的。

性能需求分析的重要指标包括数据操作响应时间、系统吞吐量、最大并发用户数等。

2.需求分析阶段的任务是确定______。

A.软件开发方法 B.软件开发工具C.软件开发费用 D.软件系统功能(分数:2.00)A.B.C.D. √解析:[解析] 本题考查需求分析阶段的任务。

需求分析阶段的任务是通过详细调查,获取原有手工系统的工作过程和业务处理,明确用户的各种需求,确定新系统的功能。

因此,确定软件系统功能是需求分析阶段的任务。

3.对于大规模的数据收集,可以采用以下哪种需求获取方式______。

A.面谈调查 B.实地观察 C.文档采样 D.文件查阅(分数:2.00)A.B.C. √D.解析:[解析] 文档采样是指收集客户单位保存的各类文档。

对于大规模的数据文档,需求分析员可以采用文档采样的办法来解决。

4.关于需求获取的方法,以下说法错误的是______。

软件工程试题及答案

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A.数据库设计B.数据通信C.数据定义D.数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

计算机2级C语言笔试部分。分为数据结构、软件工程、数据库、面向程序设计。很详细

计算机2级C语言笔试部分。分为数据结构、软件工程、数据库、面向程序设计。很详细

如你想要拥有完美无暇的友谊,可能一辈子找不到朋友。

二级C语言公共基础知识之数据结构考点1 算法的复杂度1.算法的基本概念算法的基本特征:可行性、确定性、有穷性、输入(可为0)、输出(不能为0) 2.算法复杂度包括时间复杂度和空间复杂度名称描述时间复杂度是指执行算法所需要的计算工作量空间复杂度是指执行这个算法所需要的内存空间考点2 逻辑结构和存储结构1.逻辑结构2.存储结构考点3 线性结构和非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分为两大类型:线性结构与非线性结构如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件也最多有一个后件则称该数据结构为线性结构线性结构又称线性表在一个线性结构中插入或删除任何一个结点后还应是线性结构栈、队列、串等都线性结构如果一个数据结构不是线性结构则称之为非线性结构数组、广义表、树和图等数据结构都是非线性结构考点4 栈1.栈的基本概念栈(stack)是一种特殊的线性表是限定只在一端进行插入与删除的线性表在栈中一端是封闭的既不允许进行插入元素也不允许删除元素;另一端是开口的允许插入和删除元素通常称插入、删除的这一端为栈顶另一端为栈底当表中没有元素时称为空栈栈顶元素总是后被插入的元素从而也是最先被删除的元素;栈底元素总是最先被插入的元素从而也是最后才能被删除的元素"先进后出"或"后进先出"2.栈的顺序存储及其运算栈的基本运算有三种:入栈、退栈与读栈顶元素(1)入栈运算:入栈运算是指在栈顶位置插入一个新元素(2)退栈运算:退栈是指取出栈顶元素并赋给一个指定的变量(3)读栈顶元素:读栈顶元素是指将栈顶元素赋给一个指定的变量考点5 队列1.队列的基本概念队列是只允许在一端进行删除在另一端进行插入的顺序表通常将允许删除的这一端称为队头允许插入的这一端称为队尾当表中没有元素时称为空队列队列的修改是依照先进先出的原则进行的因此队列也称为先进先出的线性表或者后进后出的线性表例如:火车进遂道最先进遂道的是火车头最后是火车尾而火车出遂道的时候也是火车头先出最后出的是火车尾若有队列:Q =(q1q2...qn)那么q1为队头元素(排头元素)qn为队尾元素队列中的元素是按照q1q2...qn的顺序进入的退出队列也只能按照这个次序依次退出即只有在q1q2...qn-1 都退队之后qn才能退出队列因最先进入队列的元素将最先出队所以队列具有先进先出的特性体现"先来先服务"的原则队头元素q1是最先被插入的元素也是最先被删除的元素队尾元素qn是最后被插入的元素也是最后被删除的元素"先进先出"入队运算为往队列队尾插入一个数据元素退队运算为从队列的队头删除一个数据元素考点6 链表在链式存储方式中要求每个结点由两部分组成:一部分用于存放数据元素值称为数据域另一部分用于存放指针称为指针域其中指针用于指向该结点的前一个或后一个结点(即前件或后件)链式存储方式既可用于表示线性结构也可用于表示非线性结构(1)线性链表线性表的链式存储结构称为线性链表在某些应用中对线性链表中的每个结点设置两个指针一个称为左指针用以指向其前件结点;另一个称为右指针用以指向其后件结点这样的表称为双向链表在线性链表中各数据元素结点的存储空间可以是不连续的且各数据元素的存储顺序与逻辑顺序可以不一致在线性链表中进行插入与删除不需要移动链表中的元素(2)带链的栈栈也是线性表也可以采用链式存储结构带链的栈可以用来收集计算机存储空间中所有空闲的存储结点这种带链的栈称为可利用栈考点7 二叉树及其基本性质1、二叉树及其基本概念二叉树是一种很有用的非线性结构具有以下两个特点:①非空二叉树只有一个根结点;②每一个结点最多有两棵子树且分别称为该结点的左子树和右子树在二叉树中每一个结点的度最大为2即所有子树(左子树或右子树)也均为二叉树另外二叉树中的每个结点的子树被明显地分为左子树和右子树在二叉树中一个结点可以只有左子树而没有右子树也可以只有右子树而没有左子树当一个结点既没有左子树也没有右子树时该结点即为叶子结点父结点(根)在树结构中每一个结点只有一个前件称为父结点没有前件的结点只有一个称为树的根结点简称树的根例如在图1-1中结点A是树的根结点子结点和叶子结点在树结构中每一个结点可以有多个后件称为该结点的子结点没有后件的结点称为叶子结点例如在图1-1中结点DEF均为叶子结点度在树结构中一个结点所拥有的后件的个数称为该结点的度所有结点中最大的度称为树的度例如在图1-1中根结点A和结点B的度为2结点C的度为1叶子结点DEF的度为0所以该树的度为2深度定义一棵树的根结点所在的层次为1其他结点所在的层次等于它的父结点所在的层次加1 树的最大层次称为树的深度例如在图1-1中根结点A在第1层结点BC在第2层结点DEF在第3层该树的深度为3子树在树中以某结点的一个子结点为根构成的树称为该结点的一棵子树2、二叉树基本性质二叉树具有以下几个性质:性质1:在二叉树的第k层上最多有2k-1(k≥1)个结点;性质2:深度为m的二叉树最多有2m-1个结点;性质3:在任意一棵二叉树中度为0的结点(即叶子结点)总是比度为2的结点多一个性质4:具有n个结点的二叉树其深度至少为[log2n]+1其中[log2n]表示取log2n的整数部分3、满二叉树与完全二叉树满二叉树是指这样的一种二叉树:除最后一层外每一层上的所有结点都有两个子结点在满二叉树中每一层上的结点数都达到最大值即在满二叉树的第k层上有2k-1个结点且深度为m的满二叉树有2m-1个结点完全二叉树是指这样的二叉树:除最后一层外每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点对于完全二叉树来说叶子结点只可能在层次最大的两层上出现:对于任何一个结点若其右分支下的子孙结点的最大层次为p则其左分支下的子孙结点的最大层次或为p或为p+1完全二叉树具有以下两个性质:性质5:具有n个结点的完全二叉树的深度为[log2n]+1性质6:设完全二叉树共有n个结点如果从根结点开始按层次(每一层从左到右)用自然数12......n给结点进行编号则对于编号为k(k=12......n)的结点有以下结论:①若k=1则该结点为根结点它没有父结点;若k>1则该结点的父结点编号为INT(k/2)②若2k≤n则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(显然也没有右子结点)③若2k+1≤n则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点考点8 二叉树的遍历在遍历二叉树的过程中一般先遍历左子树再遍历右子树在先左后右的原则下根据访问根结点的次序二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历(1)前序遍历:先访问根结点、然后遍历左子树最后遍历右子树;并且在遍历左、右子树时仍然先访问根结点然后遍历左子树最后遍历右子树ABDECF(2)中序遍历:先遍历左子树、然后访问根结点最后遍历右子树;并且在遍历左、右子树时仍然先遍历左子树然后访问根结点最后遍历右子树DBEACF(3)后序遍历:先遍历左子树、然后遍历右子树最后访问根结点;并且在遍历左、右子树时仍然先遍历左子树然后遍历右子树最后访问根结点DEBFCA考点9 顺序查找查找是指在一个给定的数据结构中查找某个指定的元素从线性表的第一个元素开始依次将线性表中的元素与被查找的元素相比较若相等则表示查找成功;若线性表中所有的元素都与被查找元素进行了比较但都不相等则表示查找失败例如在一维数组[21462499577786]中查找数据元素98首先从第1个元素21开始进行比较与要查找的数据不相等接着与第2个元素46进行比较以此类推当进行到与第4个元素比较时它们相等所以查找成功如果查找数据元素100则整个线性表扫描完毕仍未找到与100相等的元素表示线性表中没有要查找的元素在下列两种情况下也只能采用顺序查找:(1)如果线性表为无序表则不管是顺序存储结构还是链式存储结构只能用顺序查找(2)即使是有序线性表如果采用链式存储结构也只能用顺序查找考点10 二分法查找二分法查找也称拆半查找是一种高效的查找方法能使用二分法查找的线性表必须满足两个条件:用顺序存储结构;线性表是有序表在本书中为了简化问题而更方便讨论"有序"是特指元素按非递减排列即从小到大排列但允许相邻元素相等下一节排序中有序的含义也是如此顺序查找法每一次比较只将查找范围减少1而二分法查找每比较一次可将查找范围减少为原来的一半效率大大提高对于长度为n的有序线性表在最坏情况下二分法查找只需比较log2n次而顺序查找需要比较n次考点11 排序冒泡排序法和快速排序法都属于交换类排序法(1)冒泡排序法首先从表头开始往后扫描线性表逐次比较相邻两个元素的大小若前面的元素大于后面的元素则将它们互换不断地将两个相邻元素中的大者往后移动最后最大者到了线性表的最后然后从后到前扫描剩下的线性表逐次比较相邻两个元素的大小若后面的元素小于前面的元素则将它们互换不断地将两个相邻元素中的小者往前移动最后最小者到了线性表的最前面对剩下的线性表重复上述过程直到剩下的线性表变空为止此时已经排好序在最坏的情况下冒泡排序需要比较次数为n(n-1)/2(2)快速排序法任取待排序序列中的某个元素作为基准(一般取第一个元素)通过一趟排序将待排元素分为左右两个子序列左子序列元素的排序码均小于或等于基准元素的排序码右子序列的排序码则大于基准元素的排序码然后分别对两个子序列继续进行排序直至整个序列有序二级C语言公共基础知识之软件工程考点1 软件工程基本概念1.软件定义与软件特点软件指的是计算机系统中与硬件相互依存的另一部分包括程序、数据和相关文档的完整集合程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序的开发、维护和使用有关的图文资料可见软件由两部分组成:(1)机器可执行的程序和数据;(2)机器不可执行的与软件开发、运行、维护、使用等有关的文档根据应用目标的不同软件可分应用软件、系统软件和支撑软件(或工具软件)名称描述应用软件为解决特定领域的应用而开发的软件系统软件计算机管理自身资源提高计算机使用效率并为计算机用户提供各种服务的软件支撑软件(或工具软件)支撑软件是介于两者之间协助用户开发软件的工具性软件2.软件工程为了摆脱软件危机提出了软件工程的概念软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科所谓软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面软件工程包括3个要素:方法、工具和过程名称描述方法方法是完成软件工程项目的技术手段工具工具支持软件的开发、管理、文档生成过程过程支持软件开发的各个环节的控制、管理考点2 软件生命周期1.软件生命周期概念软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动如图3-1所示软件生命周期分为3个时期共8个阶段(1)软件定义期:包括问题定义、可行性研究和需求分析3个阶段;(2)软件开发期:包括概要设计、详细设计、实现和测试4个阶段;(3)运行维护期:即运行维护阶段软件生命周期各个阶段的活动可以有重复执行时也可以有迭代如图3-1所示2.软件生命周期各阶段的主要任务任务描述问题定义确定要求解决的问题是什么可行性研究与计划制定决定该问题是否存在一个可行的解决办法指定完成开发任务的实施计划需求分析对待开发软件提出需求进行分析并给出详细定义编写软件规格说明书及初步的用户手册提交评审软件设计通常又分为概要设计和详细设计两个阶段给出软件的结构、模块的划分、功能的分配以及处理流程这阶段提交评审的文档有概要设计说明书、详细设计说明书和测试计划初稿软件实现在软件设计的基础上编写程序这阶段完成的文档有用户手册、操作手册等面向用户的文档以及为下一步作准备而编写的单元测试计划软件测试在设计测试用例的基础上检验软件的各个组成部分编写测试分析报告运行维护将已交付的软件投入运行同时不断的维护进行必要而且可行的扩充和删改考点3 软件设计基本概念从技术观点上看软件设计包括软件结构设计、数据设计、接口设计、过程设计(1)结构设计定义软件系统各主要部件之间的关系;(2)数据设计将分析时创建的模型转化为数据结构的定义;(3)接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信;(4)过程设计则是把系统结构部件转换为软件的过程性描述从工程管理角度来看软件设计分两步完成:概要设计和详细设计(1)概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;(2)详细设计确立每个模块的实现算法和局部数据结构用适当方法表示算法和数据结构的细节考点4 软件设计的基本原理1、软件设计中应该遵循的基本原理和与软件设计有关的概念(1)抽象:软件设计中考虑模块化解决方案时可以定出多个抽象级别抽象的层次从概要设计到详细设计逐步降低(2)模块化:模块是指把一个待开发的软件分解成若干小的简单的部分模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程(3)信息隐蔽:信息隐蔽是指在一个模块内包含的信息(过程或数据)对于不需要这些信息的其他模块来说是不能访问的(4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能并且与其他模块的联系最少且接口简单模块的独立程度是评价设计好坏的重要度量标准衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准内聚性是信息隐蔽和局部化概念的自然扩展一个模块的内聚性越强则该模块的模块独立性越强一个模块与其他模块的耦合性越强则该模块的模块独立性越弱2、衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准内聚性是度量一个模块功能强度的一个相对指标内聚是从功能角度来衡量模块的联系它描述的是模块内的功能联系内聚有如下种类它们之间的内聚度由弱到强排列:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚耦合性是模块之间互相连接的紧密程度的度量耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口耦合可以分为下列几种它们之间的耦合度由高到低排列:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合在程序结构中各模块的内聚性越强则耦合性越弱一般较优秀的软件设计应尽量做到高内聚低耦合即减弱模块之间的耦合性和提高模块内的内聚性有利于提高模块的独立性考点5 结构化分析方法1、结构化分析方法的定义结构化分析方法就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树的工具来建立一种新的、称为结构化规格说明的目标文档结构化分析方法的实质是着眼于数据流、自顶向下、对系统的功能进行逐层分解、以数据流图和数据字典为主要工具建立系统的逻辑模型2、结构化分析方法常用工具(1)数据流图(DFD)数据流图是系统逻辑模型的图形表示即使不是专业的计算机技术人员也容易理解它因此它是分析员与用户之间极好的通信工具(2)数据字典(DD)数据字典是对数据流图中所有元素的定义的集合是结构化分析的核心数据流图和数据字典共同构成系统的逻辑模型没有数据字典数据流图就不严格若没有数据流图数据字典也难于发挥作用数据字典中有4种类型的条目:数据流、数据项、数据存储和加工(3)判定表有些加工的逻辑用语言形式不容易表达清楚而用表的形式则一目了然如果一个加工逻辑有多个条件、多个操作并且在不同的条件组合下执行不同的操作那么可以使用判定表来描述(4)判定树判定树和判定表没有本质的区别可以用判定表表示的加工逻辑都能用判定树表示3、软件需求规格说明书软件需求规格说明书是需求分析阶段的最后成果是软件开发的重要文档之一它的特点是具有正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性考点6 软件测试的目的和准则1.软件测试的目的(1)测试是为了发现程序中的错误而执行程序的过程(2)好的测试用例(test case)能发现迄今为止尚未发现的错误(3)一次成功的测试是能发现至今为止尚未发现的错误测试的目的是发现软件中的错误但是暴露错误并不是软件测试的最终目的测试的根本目的是尽可能多地发现并排除软件中隐藏的错误2.软件测试的准则根据上述软件测试的目的为了能设计出有效的测试方案以及好的测试用例软件测试人员必须深入理解并正确运用以下软件测试的基本准则(1)所有测试都应追溯到用户需求(2)在测试之前制定测试计划并严格执行(3)充分注意测试中的群集现象(4)避免由程序的编写者测试自己的程序(5)不可能进行穷举测试(6)妥善保存测试计划、测试用例、出错统计和最终分析报告为维护提供方便考点7 软件测试的方法和实施【考点精讲】1、软件测试方法软件测试具有多种方法依据软件是否需要被执行可以分为静态测试和动态测试方法如果依照功能划分可以分为白盒测试和黑盒测试方法1.静态测试和动态测试(1)静态测试包括代码检查、静态结构分析、代码质量度量等其中代码检查分为代码审查、代码走查、桌面检查、静态分析等具体形式(2)动态测试静态测试不实际运行软件主要通过人工进行分析动态测试就是通常所说的上机测试是通过运行软件来检验软件中的动态行为和运行结果的正确性动态测试的关键是使用设计高效、合理的测试用例测试用例就是为测试设计的数据由测试输入数据和预期的输出结果两部份组成测试用例的设计方法一般分为两类:黑盒测试方法和白盒测试方法2.黑盒测试和白盒测试(1)白盒测试白盒测试是把程序看成装在一只透明的白盒子里测试者完全了解程序的结构和处理过程它根据程序的内部逻辑来设计测试用例检查程序中的逻辑通路是否都按预定的要求正确地工作(2)黑盒测试黑盒测试是把程序看成一只黑盒子测试者完全不了解或不考虑程序的结构和处理过程它根据规格说明书的功能来设计测试用例检查程序的功能是否符合规格说明的要求2、软件测试的实施软件测试过程分4个步骤即单元测试、集成测试、验收测试和系统测试单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试单元测试的技术可以采用静态分析和动态测试集成测试是测试和组装软件的过程主要目的是发现与接口有关的错误主要依据是概要设计说明书集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等集成测试时将模块组装成程序通常采用两种方式:非增量方式组装和增量方式组装确认测试的任务是验证软件的功能和性能以及其他特性是否满足了需求规格说明中确定的各种需求包括软件配置是否完全、正确确认测试的实施首先运用黑盒测试方法对软件进行有效性测试即验证被测软件是否满足需求规格说明确认的标准系统测试是通过测试确认的软件作为整个基于计算机系统的一个元素与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等考点8 程序的调试在对程序进行了成功的测试之后将进入程序调试(通常称Debug即排错)程序的调试任务是诊断和改正程序中的错误调试主要在开发阶段进行程序调试活动由两部分组成一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改排除这个错误程序调试的基本步骤:(1)错误定位从错误的外部表现形式入手。

!软件工程练习题3.

!软件工程练习题3.

一、选择题1.软件是一种()产品。

A.有形 B.逻辑C.物质 D.消耗2.与计算机科学的理论研究不同,软件工程是一门()A.理论性B.工程性C.原理性D.心理性3.软件工程学科出现的主要原因是()A.计算机的发展B.其他工程学科的影响力C.软件危机的出现D.程序设计方法学的影响4.软件生存周期模型有多种,下列选项中,()不是软件生存周期的模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型5.软件开发模型是指软件开发的全部过程、活动和任务的结构框架。

主要的开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型。

螺旋模型将瀑布模型和演化模型相结合,并增加了[A ],它建立在[B ]的基础上,沿着螺线自内向外每旋转一圈,就得到[B ]的一个版本。

喷泉模型描述了[C ]的开发模型,它体现了这种开发方法创建软件的过程所固有的[D ]和[E ]的特征。

供选择的答案: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)开发过程不分阶段您的选择是: 【A 】【B 】【C 】【D 】【E 】6.目前存在若干种软件生存周期模型,例如瀑布模型、增量模型、螺旋模型等。

其中规定了由前至后、相互衔接的固定次序的模型是()A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型7.软件生命周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、()维护等活动。

A.应用B.测试C.检测D.以上都是8.准确地解决“软件系统必须做什么”是()阶段的任务。

A.分析阶段B.设计阶段C.编码阶段D.测试阶段9.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。

软件工程判定表和判定树题目

软件工程判定表和判定树题目

软件工程判定表和判定树题目软件工程判定表和判定树题目1. 引言在软件工程领域中,判定表和判定树是两种常见的方法,用于帮助开发人员在设计和实现软件系统时做出正确的判断和决策。

判定表和判定树通过将条件和动作组合成矩阵或树状结构,使得复杂的判断过程变得简单和可管理。

本文将介绍判定表和判定树的基本概念和用法,并针对软件工程中的题目进行详细讨论。

2. 判定表概述判定表是一种将条件和动作组合成矩阵的方法。

它由条件部分和动作部分组成,其中条件部分列出了可能的条件,动作部分列出了可能的动作。

在任何给定的情况下,条件部分的值与动作部分的值相对应,用于决定执行哪些动作。

判定表以清晰和简洁的方式显示了条件和动作之间的关系。

它们可以被用于帮助开发人员在设计和实现软件系统时确定正确的操作。

3. 判定表应用案例以一个简单的短信自动回复系统为例,假设系统根据以下条件判断是否自动回复:条件部分:1. 收到短信2. 是否在上班时间3. 短信内容是否为紧急信息4. 发送人是否为常联系人动作部分:1. 自动回复“我在忙,请稍后联系”2. 自动回复“我在上班时间,请稍后联系”3. 自动回复“有什么事情吗?”4. 不发送自动回复通过制作一个判定表可以更好地理解这个系统的工作流程。

根据不同的情况,可以得出不同的结果。

如果收到短信、是上班时间、不是紧急信息并且发送人不是常联系人,系统将自动回复“我在上班时间,请稍后联系”。

通过这样的判定表,开发人员可以清楚地了解系统的行为,并在需要时进行修改和优化。

4. 判定树概述判定树是另一种帮助开发人员进行判断和决策的工具。

与判定表类似,判定树也通过条件和动作的组合来决定系统的行为。

判定树以树状结构表示,从根节点开始,通过分支和叶节点指示出不同的条件和动作。

判定树易于理解和使用,并且在处理复杂问题时能够提供更清晰的解决方案。

5. 判定树应用案例继续以短信自动回复系统为例,通过判定树的方式来描述这个系统的行为。

软件工程(第五版)--习题及答案--第三章

软件工程(第五版)--习题及答案--第三章
计算标准分计算录取线分考生原始分标准分标准分考生分数招生计划文件录取线文件招生人数成绩清单统计分析表不合格报名表考生名单准考证考务管理系统考生考试中心合格标准阅卷站考试通知单错误成绩单0层图4某单位人事部门拟对职工工作进行调整细则如下
一、判断题
1、(√)软件需求分析阶段要确定软件系统要“做什么”。
2、(×)软件需求规格说明书可作为可行性研究的依据。
解:判定表
国内
Y
Y
Y
N
N
N
重量
L
M
H
L
M
H
运费(元)
12
6W
6.5(W-20)+120
24
12W
13(W-20)+240
注:设重量为W(单位为Kg)
重量<=2Kg,重量>2Kg且重量<=20Kg,重量>20Kg,分别用L、M、H表示
判定树:
重量<=2Kg——12元
重量>2Kg且<=20Kg——6W元
12、DFD的每个加工都必须有(A)。
A、一个输入和输出数据流B、一个输入数据流
C、一个输出数据流D、一个输入或输出数据流
13、需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出(B)的过程。
A、模块说明书B、软件规格说明书
C、项目开发计划D、合同文档
14、结构化分析方法是以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
X
电工
X
X
技术员
X
X
X
X
X
X
修理工
X
X
钳工

郑大软件工程考试

郑大软件工程考试

应用题(2道小题,共20分)1、某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。

请用判定表和判定树表示各条件组合与费用之间的关系。

(1)条件取值表条件名取值符号取值数基本面积 S50 Y 2S>50 N住房标准标准以内Y 2标准以外N职称高级职称Y 3中级职称N低级职称W(2)判定表决策规则号 1 2 3 4 5S50 / S>50 Y N N N N住房标准以内/住房标准以外Y Y N N N高级职称/中级职称/初级职称——Y N W费用=S*2000 √费用=(S-50)*3000+50*2000 √费用=(S-100)*5000+50*3000+50*2000 √费用=(S-80)*5000+30*3000+50*2000 √费用=(S-60)*5000+10*3000+50*2000 √住房费用(3)判定树S ≤50m²费用=S*2000住房标准以内S>50m²费用=(S-50)*3000+50*2000住房费用计算方法高级职称费用=(S-100)*5000+50*3000+50*2000住房标准以外中级职称费用=(S-80)*5000+30*3000+50*2000初级职称费用=(S-60)*5000+10*3000+50*20002、一元二次方程Ax2+Bx+C=0 的求根程序有以下功能:(1) 输入A、B、C三个系数;(2) 输出根的性质,包括两个相等或不等的实根,两个大小相等、符号相反的实根,仅有一个实根,或者两个虚根等;(3)打印根的数值。

要求:试用黑盒测试方法设计出程序的测试用例。

答:根据一元二次方程式的求根公式:(条件:且;结果:两个不等实根)(条件:且;结果:两个相等实根)(条件:且;结果:两个虚根)(条件:且;结果:仅有一个实根)方程无意义(条件:且;结果:方程无意义)使用等价类法设计测试用例。

软件工程判定表和判定树题目

软件工程判定表和判定树题目

软件工程判定表和判定树题目(原创实用版)目录1.软件工程判定表和判定树的概念2.软件工程判定表的特点与应用3.软件工程判定树的特点与应用4.判定表与判定树在软件工程中的重要性正文软件工程是一门关于计算机软件设计、开发、测试、维护和管理的学科。

在软件工程中,判定表和判定树是常用的工具,用于帮助开发人员分析和解决各种问题。

本文将详细介绍软件工程判定表和判定树的概念、特点与应用,以及它们在软件工程中的重要性。

一、软件工程判定表和判定树的概念1.判定表:判定表是一种表格,用于表示一个或多个条件与一个动作之间的关系。

它通常由条件列、动作列和条件动作关系列组成。

条件动作关系列描述了在特定条件下应该采取的动作。

判定表通常用于处理复杂的条件判断,以指导程序的执行流程。

2.判定树:判定树是一种决策树,用于表示一个或多个条件与一个动作之间的关系。

它通常由条件节点、动作节点和条件动作边构成。

条件节点表示一个条件,动作节点表示一个动作。

条件动作边表示在特定条件下应该采取的动作。

判定树通常用于处理复杂的条件判断,以指导程序的执行流程。

二、软件工程判定表的特点与应用1.特点:判定表具有明确的结构,易于理解和维护;可以处理复杂的条件判断;可以有效地降低程序的复杂度。

2.应用:判定表广泛应用于软件工程的各个领域,例如,在编译器中用于语法分析,在数据库系统中用于数据完整性检查,在业务流程管理中用于工作流设计等。

三、软件工程判定树的特点与应用1.特点:判定树具有层次结构,易于理解和维护;可以处理复杂的条件判断;可以有效地降低程序的复杂度。

2.应用:判定树广泛应用于软件工程的各个领域,例如,在编译器中用于语法分析,在数据库系统中用于数据完整性检查,在业务流程管理中用于工作流设计等。

四、判定表与判定树在软件工程中的重要性判定表和判定树在软件工程中具有重要意义,因为它们可以帮助开发人员更好地处理复杂的条件判断,降低程序的复杂度,提高软件的可读性、可维护性和可扩展性。

判定树和判定表

判定树和判定表

判定树和判定表判定树⼜称决策树,是⼀种描述加⼯的图形⼯具,适合描述问题处理中具有多个判断,⽽且每个决策与若⼲条件有关。

使⽤判定树进⾏描述时,应该从问题的⽂字描述中分清哪些是判定条件,哪些是判定的决策,根据描述材料中的联结词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树。

【例4.5】某⼯⼚对⼯⼈的超产奖励政策为:该⼚⽣产两种产品A和B。

凡⼯⼈每⽉的实际⽣产量超过计划指标者均有奖励。

奖励政策为:对于产品A的⽣产者,超产数N⼩于或等于100件时,每超产1件奖励2元;N⼤于100件⼩于等于150件时,⼤于100件的部分每件奖励2.5元,其余的每件奖励⾦额不变;N⼤于150件时,超过150件的部分每件奖励3元,其余按超产150件以内的⽅案处理。

对于产品B的⽣产者,超产数N⼩于或等于50件时,每超产1件奖励3元;N⼤于50件⼩于等于100件时,⼤于50件的部分每件奖励4元,其余的每件奖励⾦额不变;N⼤于100件时,超过100件的部分每件奖励5元,其余按超产100件以内的⽅案处理。

上述处理功能⽤判定树描述,如下图所⽰:这⼀判定树⽐起⽂字叙述,使⼈⼀⽬了然,清晰地表达了在什么情况下采取什么策略,不易产⽣逻辑上的混乱。

因⽽判定树是描述基本处理逻辑功能的有效⼯具。

==============================================判定表由四部分组成。

第⼀部分即①表⽰的部分,判定标的左上部称为基本条件项,列出各种可能的条件。

第⼆部分即②表⽰的部分,判定标的右上部称为条件项,它列出了各种可能的条件组合。

第三部分即③表⽰的部分,判定标的左下部称为基本动作项,它列出了所有的操作。

第四部分即④表⽰的部分,判定标的右下部称为动作项,它列出在对条件组合下所选的操作。

【例4.6】以学⽣的奖学⾦评定为例,说明判定表的应⽤。

奖励的⽬的在于⿎励学⽣的品学兼优,此处理功能是要合理确定奖学⾦评定等级。

软件工程导论大题

软件工程导论大题

1、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得的的结果应该精确到小数点后4位。

一旦实现并测试完之后,改产品将被抛弃。

你打算选用哪种软件生命周期模型?请说明你做出选择的理由。

答:对这个软件的需求很明确,实现开方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。

此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。

2、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。

由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。

你打算采用哪种软件生命周期模型?为什么?对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。

使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。

这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。

综上所述,采用增量模型来完成这个项目比较恰当。

画图题:1、录入统计计算某班学生成绩,画出数据流图(DFD )。

学生成绩表数据结构如下:学号| 高数| 物理| 英语| 计算机| 法律常识| 总分| 平均分| 不及格门数| 升留补| 需求功能如下:(1)录入全班学生各课的考分,生成成绩表;(2)检查各课成绩,修改错误,补充未录入成绩,删除非法成绩 ; (3)计算总分,平均分;(4)统计不及格门数,然后再写入升级、补考、留级; (5)打印成绩通知单,交家长。

综合分析题

综合分析题

$解答题,100#00001,3某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。

请用DFD描绘该功能的需求。

解:#00002,3某图书管理系统有以下功能:⑴借书:输入读者借书证。

系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。

否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。

)⑵还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。

否则,修改库存目录与借书文件。

⑶查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。

要求:请用DFD描绘该功能的需求。

解:#00003,3某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话号码又分为本市电话和外地电话两类,拨校外电话需先拨0,如果是本市电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3位数字),再拨当地电话号码(8位数字,第1位不是0)。

要求:写出在数据字典中,电话号码的数据条目的定义 ( 即组成 ) 。

解:电话号码︰︰= [校内电话号码︱校外电话号码]校内电话号码︰︰= 非零数字 + 3位数字校外电话号码︰︰= [本市号码︱外地号码]本市号码︰︰= 数字零+ 8位数字外地号码︰︰= 数字零+ 3位数字 + 8位数字非零数字︰︰= [1︱2︱3︱4︱5︱6︱7︱8︱9]数字零︰︰= 03位数字︰︰=3{数字}38位数字︰︰=非零数字 + 7位数字7位数字︰︰=7{数字}7数字︰︰= [0︱1︱2︱3︱4︱5︱6︱7︱8︱9]#00004,3某旅馆的电话服务如下:可以拨分机号和外线号码。

软件工程复习题

软件工程复习题

软件工程复习题一、填空题1.判定表能够清晰地表示复杂的⎽⎽⎽⎽⎽⎽⎽与所产生的动作之间的关系。

2.软件工程采用工程的_______、原理、技术和方法来开发与维护软件.1.软件分类有、应用软件、和.1.我们依据对数据存储和操作的抽象程度把品种繁多的程序设计语言分成机器语言、汇编语言、⎽⎽⎽⎽⎽⎽⎽语言和第四代语言。

2.层次方框图是用⎽⎽⎽⎽⎽⎽⎽的一系列多层次的矩形框描绘数据的层次结构。

3.类是对一组具有⎽⎽⎽⎽⎽⎽⎽数据结构和相同操作的对象的描述。

2.结构化方法有结构化分析、________、结构化程序设计构成,它是一种面向_______的开发方法。

3.SD方法的基本思想是模块化,它提出了高内聚,⎽⎽⎽⎽⎽⎽⎽耦合的评价模块结构质量的具体标准。

4.结构化设计以__________为基础映射成软件结构。

1.决定软件可维护性的因素有可理解性、可测试性和可⎽⎽⎽⎽⎽⎽⎽性。

4.McCabe方法的核心是:通过定量分析程序中的⎽⎽⎽⎽⎽⎽⎽个数或循环个数,对软件测试难度进行定量度量,对软件最终的可靠性进行预测。

5.当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用________或_________较好。

1.常用的调试策略有试探法、回溯法、⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽法、归纳法、演绎法。

2.决定软件可维护性的因素有可理解性、可测试性和可⎽⎽⎽⎽⎽⎽⎽性。

3.可行性研究的实质是要进行一次压缩,简化了的系统⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽的过程。

6.测试不能证明程序是正确的,它只能保证程序按照规格说明书的规定⎽⎽⎽⎽⎽⎽⎽地运行。

7.黑盒测试是在软件⎽⎽⎽⎽⎽⎽⎽上进行的测试,只检查程序功能是否满足要求,程序是否能正确地接收输入数据,并产生输出结果。

8.常用的设计测试数据技术有逻辑覆盖、等价类划分、边界值、错误推测、⎽⎽⎽⎽⎽⎽⎽、程序流程图。

9.最常用的逻辑覆盖标准有语句覆盖、判定覆盖、条件覆盖、⎽⎽⎽⎽⎽⎽⎽覆盖、条件组合覆盖。

国家二级(ACCESS)笔试模拟试卷219(题后含答案及解析)

国家二级(ACCESS)笔试模拟试卷219(题后含答案及解析)

国家二级(ACCESS)笔试模拟试卷219(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.下列叙述中错误的是( )。

A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机巾所占的空间不一定是连续的正确答案:B解析:数据的存储结构分顺序存储结构和链式存储结构,一个数据的逻辑结构可以有多种存储结构。

顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素通过指针联系在一起,所以所占的存储空间不一定是连续的。

2.下列关于栈的描述中错误的是( )。

A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入删除操作中,不需要改变栈底指针正确答案:B解析:栈是线性表的一种,它的特点是先进后出,并且只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,因此具有记忆作用,栈可以采用顺序存储,也可以采用链式存储。

3.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。

A.125B.n/2C.nD.n+1正确答案:C解析:对长度为n的线性表进行顺序查找时,从表中的第一个元素开始,给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找完成。

在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素中的所有元素进行比较,因此比较次数为n。

4.下列特征中不是面向对象方法的主要特征的是( )。

A.多态性B.继续C.封装性D.模块化正确答案:D解析:面向对象设计方法是使用现实世界的概念抽象地思考问题从而自然地解决问题。

其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。

模块化是结构化程序设计的特点。

5.设计软件结构是软件生命周期的( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档