您的当前位置:首页正文

软件工程习题(1)

2024-02-02 来源:步旅网
软件⼯程习题(1)

3.输⼊三个正整数作为边长,判断该三条边构成的三⾓形是等边、等腰还是⼀般三⾓形。使⽤流程图、PAD图

4、什么是判定/条件覆盖?为以下程序流程图设计判定/条件覆盖测试⽤例并标明程序执⾏路径。

判定/条件覆盖——它是指设计⾜够的测试⽤例,即满⾜条件覆盖⼜满⾜判定覆盖。测试⽤例:x=2,y=0,z=3(覆盖x>1,y=0,x=2,z>1,通过路径abcde);x=1,y=1,z=1(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。5、根据下列条件使⽤等价类划分法设计测试⽤例。(书P118 例)

某⼀8位微机,其⼋进制常数定义为:以零开头的数是⼋进制整数,其值的范围是-177~177,如05,0127,-065(1)划分等价类并编号,如下表⽰:

(2)为合理等价类设计测试⽤例,表中有两个合理等价类,设计两个例⼦

(3)为不合理等价类测试⽤例,⾄少设计⼀个测试⽤例

6、将下⾯给出的伪码转换为N-S 图。(8分)

void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) {输⼊⼀元⼆次⽅程的系数a, b, c; p = b*b – 4*a*c;

if ( p < 0 ) 输出“⽅程i ⽆实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) {求出重根并输出; j = j + 1; }i = i +1; }

输出重根的⽅程的个数j; }

7、某航空公司规定,乘客可以免费托运重量不超过30kg 的⾏李。当⾏李重量超过30kg 时,对头等舱的国内乘客超重部分每公⽄收费4元,对其他舱的国内乘客超重部分每公⽄收费6元,对外国乘客超重部分每公⽄收费⽐国内乘客多⼀倍,对残疾乘客超重部分每公⽄收费⽐正常乘客少⼀半。⽤判定树表⽰与上述每种条件组合相对应的计算⾏李费的算法。i = 1; j = 0; while ( i <= 10 ) 输⼊a, b, c; 计算 p = b 2- 4ac ; p < 0 ? 输出“⽅程i ”⽆实根

求出根并输出 ↓ p > 0 ? p == 0 ? 求出重根并输出; j = j + 1; ↓ i = i + 1; 输出重根的⽅程个数iT T T F F F

8、使⽤PAD图描述在数组A(1)~A(10)中找最⼤数的算法

9、假设⼀家⼯⼚的采购部每天需要⼀张定货报表,报表按零件编号排序,表中

列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,⽬前价格,主要供应者,次要供应者。零件⼊库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。

1、什么是软件⼯程?软件⼯程的基本⽬标是什么?

运⽤⼯程学的原理和⽅法来组织和管理软件的⽣产和管理,以保证软件产品开发、运⾏和维护的⾼质量和⾼⽣产率。

软件⼯程的研究内容和最终⽬的是采⽤⼯程化的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来。2、瀑布模型的阶段有哪些?各个阶段的任务是什么?

瀑布模型有6个阶段,即可⾏性研究与计划、需求分析、设计、编程、测试、运⾏于维护。任务分别为:(1)确定软件系统是否值得开发;(2)确定系统做什么;

(3)把分析阶段产⽣的软件需求说明转换为

⽤是当⼿段表⽰的软件设计⽂档;(4)按模块说明书⽤某⼀种软件的设计语⾔为每个模块编写程序;

(5)排除前⾯3个阶段的错误,保证被开发软件的质量;

(6)在实际运⾏中不断修改、完善、维护,使系统持久地满⾜⽤户的需要。3、什么是数据字典(DD)

⽤来对数据流图中出现的所有名字进⾏定义,它由四个条⽬构成:数据流、⽂件、数据项、加⼯。4、什么是⿊盒测试?什么是⽩盒测试?

⿊盒法是根据程序的功能说明来设计测试⽤例。⿊盒法是在程序的接⼝上进⾏测试,看它能否满⾜功能要求,输⼊能否正确接收,并能否输出正确的结果,以及外部信息(如数据⽂件)的完整性能否保持。

⽩盒法对程序的所有逻辑路径进⾏测试,在不同点检查程序的状态,确定实际状态和预期的状态是否⼀致。5、⿊盒测试法有哪些?掌握等价测试法的⽤例分析(见习题)。(1)等价分类法(2)边缘值分析法(3)因果图法

(4)错误推测法6、⾯向对象的特征有哪些?有三个特征:封装、继承、多态性。7、可⾏性研究的⽬的是什么?可⾏性研

究的4个内容?可⾏性研究的任务?答:可⾏性研究的⽬的是最终确定这样的软件项⽬是否能够开发,是否值得开发,是否需要更改问题定义的内容。可⾏性研究的内容是技术可⾏性分析、经济可⾏性分析、社会因素可⾏性分析、操作可⾏性分析以及开发⽅案可⾏性分析。可⾏性研究最根本的任务是对以后的⾏动⽅针提出建议。10、需求分析的任务?软件需求分哪三个层次,并解释说明?

答:需求分析的任务是确定系统做什么。需求分析分为:问题分析、需求描述和需求评审。问题分析:系统分析员通过对问题及其环境的理解、分析和综合,清除⽤户需求的模糊性、歧义性和不⼀致性,并在⽤户的帮助下对相互冲突的要求进⾏折中。需求描述:正确地描述现实问题以需求模型为基础,考虑到问题的软件可解性,⽣成需求规格说明和初步的⽤户⼿册。需求评审:对需求规格说明和初步的⽤户⼿册进⾏复核,以确保软件需求的全⾯性、精确性,并使⽤户和软件设计⼈员对需求规格说明及⽤户⼿册的理解达成⼀致。11、软件测试的步骤有哪些?

答:(1)单元测试就是对逐个模块进⾏测试,通常称为“分调”,在编码阶段进⾏,单元测试多采⽤⽩盒测试技术,系统内多个模块可以并⾏地进⾏测试。(2)整体测试是根据模块结构图将各个模块连接起来,装配成⼀个符合设计要求的软件系统。(3)有效性测试是通过⿊盒测试来证实软件功能与⽤户要求是否⼀致。(4)系统测试这⼀步可以发现设计和分析阶段的错误。12、⽩盒测试法有哪些?掌握判定/条件覆盖的测试⽤例

答:语句覆盖、判定覆盖(或称分⽀覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖。判定/条件覆盖的测试⽤例见书上P11513、UML有9种图分别是什么?及各⾃的特征?

答:UML有9种图分别是⽤例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图(构件图)、部署图(部署图)。⽤例图是从⽤户⾓度描述系统功能,是⽤户所能观察到的系统功能的模型图,⽤例是系统中的⼀个功能单元

类图描述系统中类的静态结构。不仅定义系统中的类,表⽰类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中⼼来组织的,类图中的其他元素或属于某个类或与类相关联

对象图是类图的实例,⼏乎使⽤与类图完全相同的标识。他们的不同点在于对象图显⽰类的多个对象实例,⽽不是实际的类

顺序图显⽰对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显⽰对象之间的交互。顺序图的⼀个⽤途是⽤来表⽰⽤例中的⾏为顺序。当执⾏⼀个⽤例⾏为时,顺序图中的每条消息对应了⼀个类操作或引起状态转换的触发事件。协作图描述对象间的协作关系,协作图跟顺序图相似,显⽰对象间的动态合作关系。除显⽰信息交换外,协作图还显⽰对象以及它们之间的关系。协作图的⼀个⽤途是表⽰⼀个类操作的实现。

状态图是⼀个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成

活动图是状态图的⼀个变体,⽤来描述执⾏算法的⼯作流程中涉及的活动。活动图描述了⼀组顺序的或并发的活动。

构件图为系统的构件建模型—构件即构造应⽤的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响。部署图描述位于节点实例上的运⾏构件实例的安排。节点是⼀组运⾏资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。判断题

1、UML中⼀共有九种图:它们是⽤例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图(正确)2、⽤例图是从程序员⾓度来描述系统的功能(错误)

3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构(错误)4、活动图和状态图⽤来描述系统的动态⾏为(正确)5、协作图的⼀个⽤途是表⽰⼀个类操作的实现(正确)填空

1.UML由视图、图、模型元素、公共机制等⼏个部分组成。

2. UML视图分为⽤例视图、逻辑视图、组件视图、进程视图和配置视图5种视图。3.类之间的关系包括关联关系、泛化关系、依赖关系、聚合关系和组合关系。4.软件测试分为四个步骤:单元测试、联合测试有效测试和系统测试。

5.软件⽣存周期分为6个阶段,分别是可⾏性研究与计划,需求分析阶段、设计阶段、编码阶段,测试阶段和运⾏与维护阶段。8、什么是软件⽣存周期模型?软件⽣存周期模型有哪些?各⾃的特点,适⽤场合。软件⽣存周期模型是软件开发全部过程、活动和任务的结构框架。瀑布模型、增量模型、迭代模型、原型模型、螺旋模型和喷泉模型

瀑布模型的特点:过程逆转性很差或者说不可逆转,因为根据上游的错误会在下游进⾏发散性传播的原理,所以逆转将会延误⼯期,增加成本,造成重⼤损失。选择瀑布模型必须满⾜下列条件:(1)在开发时间内需求没有或很少变化。(2)分析设计⼈员对应⽤领域很熟悉。(3)低风险项⽬(对⽬标、环境很熟悉)。(4)⽤户使⽤环境很稳定。

(5)⽤户除提出需求以外,很少参与开发⼯作。

瀑布模型适合于功能和性能明确、完整、⽆重⼤变化的软件开发

因篇幅问题不能全部显示,请点此查看更多更全内容