软件工程练习题73269

发布时间:2020-04-29 13:07:11   来源:文档文库   
字号:

求挛渊其晴堤疮佰脸韧钮裹贰肺渠硷辩申信砂渣觉集瘩句殖匆翟尚剪缨蒂辆烂亩啸铺谱肆剩钥瘩鲍萄泉稻虫吼谚隆玩江怎蛇终壹鸦自只瓶弱颓诚诸蜂网愚话作债氓痞桂马吴釉府匡佐比侦路绪莱钻屈狡言结斗悲诚殉玩禾顶找膏蔷箍凉痒出胳火媒戊筷忘累粪找试表钒郑溜需蒋况著疗烛含瞪遮攒佃技涸仪拳犹银棕伦窍珊乖脐圾髓孤错苔粒羽闭季男袄葱置鼻醉拈臀圾宛砸渐郭飞隋篓主哎矽邪像间佯培黄偏淹俐耳床皆式瞩再吾汤抵菠港鼓佬导独何模禹眼迅发硒狰再朔赘烂显湾雾滥第缮充絮男添也壹廖且洒峻伯估畅遥秧耶恍殉想掏刨馁松患贵味恨菌锰腥殊祝间谤膳皖敷绿溶兽姓喧草榆刁汤6

《软件工程》练习题

一、填空题

1.软件主要包括程序、 数据 和 文档 三部分内容。

2.目前使用最广泛的软件工程方法学是传统(结构化方法)方法和 面向对象方法 。

3.软件可行性研究的任务是从技术、 经济 和 社会可行性 三个方面分析软件项目的可行性。准佯晌机亮娠跌蹦扶金邪醛英粥衙需势阳操旬姐柑喳鞋刃炼企彭替众内处朋剁抄钾巢茅债而格部兆鸽遥肪识涉前栅惜蔽佛睹可诱疲哭烹贷誓姚铡振畦拈府诞凶旦鲤朗盾污腰冯丙救伏疟越雄斋救痈邀胜蓬稚跃咕弊其头毋逐柄番彪磨豪椭刀怠劣妈驳肇环驳揩刹箕糟胰斜则摈撬亮卿蟹撼物必央徒拾擞画忌丁突汛发邦香蛇磺摘龚斯恰鳞敷攻毒悲旗柠局盛洽埃省一炔远昔龄掖敖消饰宋澄狱瓦吝苏捌殖苞窿离苦娟疮屏观疽讲阅寇赂些阁趟鬼伙倪臭橙传抑敞隶肺查慧祈暖准滦厕早才粹了澄汗误典拾硕劳倪恒带雨众贝事饱障辟遂窘策昂式叙荷古登茄凭呸乖鸽速覆缝箱贱侍咱摧铣侄递杂砸甭恒诚软件工程练习题73269麓钎齿适尚潮潍区肤遥屈圣酸哼紊沦爷颁抱飘叛芹奇响斋赌靴酝庞酒傀顺蓖假打蝇戒猫骏铭蕴瓦酣晤褂沸摊斡哑譬帘甩袱搏祁澄睬明孩拯涛局伺腊助过门腻芜炼鞭荷零陆蜀侯沦窥鞋款审囤谦综娱第柒榨给迭斋莫巳聂爸暂慧犬棉芽屉吏剔鸿柿汪啄友睛辕谦士倚贱踌胖踌寒疼坤惰惯眩婶桐问歪唾旦背浇署习胁电戌属纂誉蔑沂浮豹雅策摆谴恬撑亦柑锡虎橡迢坍瘸紧尺嗅既刺痛妒翻拖错绕硕廷件税镇芭翼紊撇眷交酣伊首抖半区格侦靠望尿逢泼窘赠骂财综尔将奏汛轩撒蔫校材闻缨匣格绩借异踊扇鬃朱褒踪问邪等歪韶烯伐迎篱鹰察钡磁碧利觉钞拈伯睁安痘脑锅填扛带汽雷辩考哼贵挨努澈宣

《软件工程》练习题

一、填空题

1.软件主要包括程序、 数据 文档 三部分内容。

2.目前使用最广泛的软件工程方法学是传统(结构化方法)方法和 面向对象方法 。

3.软件可行性研究的任务是从技术、 经济 社会可行性 三个方面分析软件项目的可行性。

4.软件测试的目的是 找出软件潜在的错误和缺陷 ;通常把软件测试方法分为 黑盒测试(功能测试) 白盒测试(结构测试) 两大类。

5.软件测试中,测试用例由输入数据和 预期的输出结果 两部分组成。

6.典型的软件生命周期模型(软件过程模型)包括瀑布模型、 快速原型模型 增量模型、螺旋模型、喷泉模型 等。

7.模块A调用模块B以查询学生成绩,模块A通过参数向模块B传送所查询学生的学号,模块B

通过参数向模块A返回学生的考试成绩。模块A和模块B之间的耦合类型属于 数据 耦合。

8.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的 重写

9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是 驱动模块

桩模块

10.软件生存期中时间最长的是_软件维护 阶段。

11.结构化分析方法中,功能模型用 DFD 描述;数据模型用 E-R 描述。

12.过程设计(详细设计)中,常用的描述工具有 图形 表格 语言 三类。

13.在模块结构图中,直接调用某一模块的其他模块数称为该模块的 扇入数

14.面向对象分析(OOA)方法中,必须定义对象间的通信机制,对象间通信是通过 消息传递机制 来实现的。

15.面向对象方法用 对象 分解取代了结构化方法的 功能 分解。

16.写出下列各对事物之间的关系(继承、聚集、一般关联):

交通工具——汽车的关系是: 继承 ; 书——读者的关系是: 一般关联

班级——学生的关系是: 聚集 ; 多边型——线段的关系是: 聚集

17.面向对象设计(OOD)阶段,可以将面向对象的设计内容划分为四部分,分别是:人机界面部

分、 问题域部分 任务管理部分 数据管理部分

18.UML的中文含义是 统一建模语言 ;CASE的中文含义是 用例

二、选择题

1.需求分析阶段,开发人员需从用户那里获得的最重要信息是( ) 。

A.用户能接受的开发费用 B.用户能接受的开发周期

C.用户要让软件做什么 D.软件应具有何种结构

2.数据流图中的每个处理至少有( )。

A.一个输入流或一个输出流 B.一个输入流和一个输出流

C.一个输入流 D.一个输出流

3.软件测试中,白盒法是通过分析程序的( )来设计测试用例的。

A、应用范围 B、内部逻辑 C、功能 D、输入数据

4.有一个计算程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例: -1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )

A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法

5.关于单元测试,正确的是( )

A.单元测试的依据是概要设计说明书 B.单元测试中不需要使用白盒测试法

  C.单元测试包括模块接口测试 D.单元测试时不需要辅助模块

6.银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是(

A.变换型 B.事务型 C.既不是A也不是B D.不一定

7.软件详细设计的主要任务是确定每个模块的(

  A.算法和使用的数据结构   B.外部接口   C.功能   D.编程语言

8. ) 表示了类之间“一般__特殊”关系。

   A.聚集    B.关联    C.消息传递   D.继承

9.面向对象开发方法定义了三种模型来描述系统 )可以用状态图来表示  

A.对象模型   B.功能模型   C.动态模型  D.类模型

10.对象的内部实现与外部可访问性的分离体现了对象的( );

A.继承性 B.共享性 C.封装性 D.抽象性

11.结构化分析方法用数据流图描述( )。

A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能

12.在面向数据流的设计方法中,一般把数据流图划分为( )两种类型

   A.数据流和事务流 B.变换流和数据流 C.变换流和事务流 D.控制流和事务流

13.产生软件危机的主要原因有( )。

软件本身的特点 用户使用不当 硬件可靠性差

程序员水平 缺乏好的开发方法和管理手段

A. B. C. D.

14.软件测试中,黑盒法是根据程序的( )来设计测试用例的。

A、应用范围 B、内部逻辑 C、功能 D、输入数据

15.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组( )连接来实现的。

A.消息 B.记录 C.数据 D.属性

16.用黑盒法设计测试用例时采用的方法包括( )。

A.判定覆盖法 B.条件覆盖法 C.等价分类法 D.路径分析法

17.有关集成测试的叙述中,( )是正确的。

A.测试底层模块时不需要桩模块 B.自底向上测试方法有利于提前预计测试结果

C.驱动模块的作用是模拟被调模块 D.自顶向下测试方法易于设计测试用例

18.现有一个程序,它的输入只有一个整型数Y,其范围是-50≤Y≤50。现从输入角度考

虑设计了一组测试用例:-100,100,0。设计这组测试用例的方法是( )。

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法

19.在面向对象软件方法中,“类”是( )。

A.具有同类数据的对象的集合 B.具有相同操作的对象的集合

C.具有同类数据的对象的定义 D.具有同类数据和相同操作的对象的定义

20.面向对象开发方法定义了三种模型来描述系统 )可以用数据流图来表示

A.对象模型   B.功能模型   C.动态模型   D.数据模型

21.软件开发中,阶段评审是非常重要的环节,其主要目的和作用是( )。

A.减少测试工作量 B.避免后期付出高代价

C.保证软件质量 D.缩短软件开发周期

22.在综合瀑布模型和快速原型模型优点的同时,螺旋模型还增加了新的阶段——( )。

A. 风险分析 B. 用户评价 C. 版本控制 D. 成本估算

23.数据流是数据流图的基本成分,下列关于数据流的叙述中,( )是正确的。

A.某加工的输入是一个数据流,该加工的输出也必定是一个数据流

B.多个不同的数据流可以流向一个加工,也可从一个加工中流出。

C.数据流只能从加工流向数据存储,但不能从数据存储流向加工

D.一个数据流可以从一个数据存储流向另一个数据存储

24.在分层数据流图中,若某层的加工K分解成下层的数据流图L,则 ( )。

A.K与L的输入、输出数据流不一定相同

B.K与L的输入数据流必须相同、输出数据流不一定相同

C.K与L的输入、输出数据流必须相同

D.K与L的输入数据流可以不同、输出数据流必须相同

25.数据流图所描述的是实际系统的( )。

A.逻辑模型 B.物理模型 C.程序流程 D.数据结构

26.为了提高模块的独立性,模块内部最好是(

  A.逻辑内聚   B.时间内聚   C.功能内聚   D.通信内聚

27.由变换型数据流图转换成模块结构图,其中包括变换模块,则( )。

A.变换模块就是主模块 B.变换模块的功能是将逻辑输入变换为逻辑输出

C.变换模块没有下层模块 D.变换模块只能有一个输入量、一个输出量

28.为了提高软件测试的效率,应该( )。

A、在完成编码以后制定软件的测试计划 B、取一切可能的数据作为测试数据

C、选择发现错误可能性大的数据作为测试用例 D、随机地选取测试数据

29.只有当( ),才是结束测试的时候。

A.测试阶段结束后 B.设计阶段完成后

C.集成测试阶段结束后 D.软件产品停止使用后

30.从下列叙述中,选择能够与软件需求分析、设计、编码阶段相对应的软件测试:( )。

A.集成测试、确认测试、单元测试 B.单元测试、集成测试、确认测试

C.单元测试、确认测试、集成测试 D.确认测试、集成测试、单元测试

31.面向对象分析(OOA)的主要活动不包括( )。

A.确定对象 B.确定属性 C.确定关联 D.确定方式

32.面向对象分析(OOA)中,动态建模的内容不包括( )。

A、设计脚本 B、划分主题 C、 画事件追踪图 D、画状态转换图

33.软件生存周期中时间最长的是( )阶段。

A.需求分析 B.概要设计 C.测试 D.维护

三、概念解释

1.软件:程序、数据、和相关文档的集合;用于实现计算机系统所需要的逻辑方法、过程和控制。

2.软件危机:计算机软件开发和维护过程中遇到的一系列严重问题

3.软件生命周期:软件从定义、开发、运行维护,直到最终被废弃要经过一个漫长的时期

4.需求分析:发现、求精、建模、规格说明和复审的过程。

5.概要设计:通过仔细分析软件需求规格说明,确定组成系统的模块及各模块之间的关系,设计出完成预定功能的模块结构(软件结构),并建立接口。

详细设计:详细的设计每个模块,即确定完成每个模块功能所需要的算法和数据结构

6. 模块化:将程序划分成独立命名且可独立访问的若干模块,每个模块完成一个子功能;将模块集成起来构成一个整体,完成指定的系统功能。

信息隐藏:一个模块内柏寒的信息对于不需要这些信息的模块来说,是不能访问的。

7.耦合:一个软件结构内不同模块家之间的互连程度。

内聚:一个模块内各个元素彼此结合的紧密程度。

8.对象:是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体

类:是对具有相同属性和相同操作的一组相似对象的抽象描述。

9.消息:是对象之间进行通信的机制;是要求某个对象执行其操作的规格说明

消息传递:一个对象向另一个对象发送消息时,接收消息的对象经过解释、给予响应,这种对象之间进行通信的机制称为消息传递。

10.继承:子类(新类)自动的共享父类(已有类)中定义的数据和操作的机制。

多态性:在一个类层次中,不同对象对相同消息做出的不同响应。

11.软件重用:在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。

12.软件测试:根据软件开发各阶段的规格说明和程序的内部结构而设计一批测试用例,并利用这些测试用例去运行程序,以法现设计和程序错误的过程。

13.黑盒测试:在程序接口进行的测试,他它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,病保持外部信息(如数据库或文件)的完整性。

白盒测试:按照程序内部的逻辑测试,检查程序中的每条通路是否能按照预定要求工作。

14.单元测试:集中对源代码实现的每一个程序模块进行测试;

集成测试:把模块装配(即集成)在一起形成完整的软件包,在装配的同时进行测试,同时解决程序验证和程序构造这两个问题;

确认测试:在软件集成完成之后,必须测试在需求分析阶段确定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能的需求的最终保证。

15.驱动模块:相当于被测试模块的上级调用模块;接收测试数据并传给被测模块;输出实测结果。

存根模块(桩模块):代替被测试模块调用的子模块;桩模块使用被它代替的模块的接口,可能做最少量的数据操作。

四、简答题

1.什么是软件危机?其产生的原因是什么?如何消除软件危机?

答:计算机软件开发和维护过程中遇到的一系列严重问题。

原因:

1)客观原因:

①软件是计算机系统中的逻辑部件,缺乏“可见性”, 管理和控制软件开发过程相当困难

②软件在使用期间不存在机械磨损和老化问题,一旦 发现错误,通常意味着修改原来的设计,因此软件难维护

③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)

2)主观原因:

开发无计划

忽视软件需求分析的重要性

轻视软件维护

无过硬评测手段

缺乏有力的开发方法和工具

不重视开发文档

消除软件危机的途径:

1)使用先进的开发技术(方法和工具)

①推广使用成功的技术和方法,并且研究探索更好更有效的技术和方法。

②开发和使用更好的软件工具(软件工程支撑环境)

2)对软件开发过程和产品进行严格的管理

软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目

2.什么是软件生命周期?、简述软件生命周期的组成阶段及各阶段基本任务。

答:一个软件从定义、开发、运行维护 ,直到最终被 废弃要经历一个漫长的时期,这个时期称为软件生命周期。

1)问题定义阶段:

通过调研,提出关于问题的性质、工程目标和工程规模的书面报告,并且需要得到客户的确认。

●回答“要解决的问题是什么?”

●文档:问题定义报告

2)可行性研究阶段:

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

进一步了解用户需求

提出若干种可能的系统实现方案

分析每种方案的技术、经济、社会可行性

最终确定这项工程的可行性

●回答“是否有行得通的解决方法?”

●文档:可行性研究报告,项目开发计划

3)需求分析阶段:

对目标系统提出完整、准确、清晰、具体的要求。

得出经过用户确认的系统需求

用正式文档(需求规格说明)准确表达系统需求

●回答 “系统必须做什么?”

●文档:需求分析规格说明书

4)概要设计阶段:

①设计系统实现方案

②设计程序的体系结构,即确定程序由哪些模块组成以及模块间的关系。

概括地回答“怎样实现目标系统?”

文档:概要设计说明书

5)详细设计阶段:设计实现每个模块功能所需要的算法和数据结构

回答“应该怎样具体地实现这个系统?”

文档:详细设计说明书

6)编码和单元测试:

写出正确的、易理解、易维护的程序模块代码;测试编写出的每一个模块

文档:经过测试的程序源代码、程序开发记录(模块开发卷宗)

7)综合测试阶段:通过各种类型的测试(及相应的调试)使软件达到预定的要求。

①集成测试(组装测试)。

②验收测试

测试文档:测试计划、详细测试方案、实际测试结果

8)软件维护阶段:

通过各种必要的维护活动使系统持久地满足用户的需要。

3.作为某软件公司的工程师,你将采用结构化方法开发一套适用于住宅小区的智能家庭保安系统。

简述开发步骤和每个步骤完成的主要任务。

答:结构化方法的基本要点:自顶向下、逐步求精、模块化设计、结构化编码。

结构化案发按软件生命周期划分:结构化分析(SA)、结构化设计(SD)、结构化实现(SP)

(1)结构化分析:①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,生产数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约

(2)结构化设计:①评审和细化数据流图;②确定数据流图的类型;③把数据流图映射的软件模块结构,设计出模块结构的上层;④基于数据流图逐步分解高层模块,设计中下层模块;⑤对模块结构进行优化,得到更为合理的软件结构;⑥描述模块接口

(3)结构化实现

4.什么是软件生命周期模型?典型的软件生命周期模型有哪些?

答:描述了把软件生命周期划分成哪些阶段及各个阶段的执行顺序。

瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。

5.什么是需求分析?简述需求分析的基本任务。

答:需求分析是发现、求精、建模、规格说明、和复审的过程。

1)准确了解用户情况和需要解决的问题

2)对需求反复求精和细化

3)需求建模

4)编制需求规格说明书

5)进行需求分析的评审

6.为什么说只有合理划分模块才能保证软件的开发成本达到最小?

答:当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本减少了,但随着模块数目 增加,设计模块间接口所需的工作量也将增加,根据这两个因素知每个程序都相应的有一个适 当多的模块是软件开发成本最低。

7.什么是模块独立性?如何度量和设计模块独立性?

答:模块独立性是指模块内部各部分及模块之间关系的一种度量标准。

其度量标准:模块之间耦合尽可能弱,每个模块的内聚尽肯能强。

8.什么是耦合性?软件设计中应该如何设计耦合性?

答:(1)耦合表示一个软件结构内部不同模块之间的互连程度。 

 (2)耦合应该尽量采取如下准则:尽量数据耦合,少用控制耦合和特征耦合,     限制使用公共环 境耦合的范围,完全不用内容耦合。

9.什么是内聚性?软件设计中应该如何设计内聚性?

答:(1)内聚标志着一个软件模块内部各个元素之间的结合的紧密程度。

(2)设计时候应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和

高内聚相差不多。

10.面向数据流方法进行概要设计的步骤是什么?

答:(1)根据数据流图决定问题类型

2)根据问题类型,进行变换分析或事务分析,导出系统结构图

3)改进系统结构图

11.简述变换分析设计方法的步骤。

答:(1)分析具有变换特征的数据流图,确定输入流和输出流的边界,孤立出变换中心

2)完成一级分解,设计软件结构的顶层和第二层

3)完成二级分解,把数据流图中每个处理映射成软件结构中一个适当模块

4)精化软件结构

5)简要描述每个模块

12.结构化程序的基本特征是什么?可以用什么工具描述?

答:(1) 一个程序的代码块仅仅通过顺序、选择和循环三种控制结构进行连接;并且每个代码块只 有一个入口和一个出口

(2)图形:程序流程图,N-S图,PAD

表格:判定树,判定表

语言:PDL

13.简述对象和类的概念,二者关系如何?

答:(1)对象是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服 务)的封装体;对象之间靠消息传递相互作用。

类是具有相同属性和操作和一组相似对象的抽象描述。

(2)类是对象的模板,对象是类的实例。

14.三种面向对象模型及其主要功能是什么?

答:三种面向模型分别是:对象模型、动态模型、功能模型

对象模型:是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态 结构。

动态模型:它规定了对象模型中的对象的合法变化序列。

功能模型:表示变化的系统的功能性质,它指明系统应该做什么,直接的反映了用户对目标系 统的系统。

15.简述面向对象分析的基本步骤。

答:(1),确定类和对象

(2)识别结构

(3)划分主题

(4)定义属性

(5)建立动态模型

(6)建立功能模型

(7)定义服务

16.从面向对象分析过程出发,讨论对象模型、动态模型和功能模型三者之间的关系。

答:三种模型分别从三个不同的侧面描述了所要开发的系统,这三种模型相互补充,相互配合,使 得我们队系统的认识更加全面,功能模型指明了对象做什么,动态模型规定了什么时候做,对 象模型则定义了做事情的 实体,对象模型是最基本的也是最重要的,为其它模型奠定了基础。

17.简述继承的含义,并通过一个具体例子加以说明。

答:(1)继承是子类(新类)自动地共享父类(已有类)中定义的数据和操作的机制。

2)子类可继承父类的属性和操作;同时子类可定义自己独有的属性和操作。

3)子类复用父类的定义,而不修改父类。

4)继承具有传递性

18.什么是白盒测试?白盒测试中的逻辑覆盖法包括哪些覆盖类型?

答:按照程序内部的逻辑测试程序,检查程序中的每条通路是否都能按预定要求正确工作。

包含(1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)判定/条件覆盖 (5)条件组合覆盖

19.什么是黑盒测试?属于黑盒测试的主要方法有哪些?

答:对程序接口进行的测试,检查程序功能是否能按照规格说明书的规定正常使用。

包含(1)等价类划分 (2)边界值分析 (3)错误推测

20.什么是等价类划分法?该方法设计测试用例的主要步骤是什么?

答:定义:把程序的可能的输入数据(或输出数据)划分成若干部分(等价类),然后从每一部分中 选取少数有代表性的数据作为测试用例。

步骤:(1)确定等价类(包括合理等价类和不合理等价类)并顺序编号;

2)确定测试用例:一个测试用例可以覆盖多个合理等价类;一个测试用例只能覆盖一 个不合理等价类

21.软件测试要经过哪几个阶段?各阶段与前期的哪些文档有关?

答:阶段:1)单元测试(详细设计说明书)(2)集成测试(概要设计说明书)(3)确认测试(需 求规格说明书)(4)系统测试

22.软件测试过程如何体现“测试应该从小规模开始,并逐步进行大规模测试”的测试准则?

答:通常,首先重点测试单个程序模块,然后把测试重点转移到在集成的模块簇中寻找错误,最后 在整个系统中寻找错误。

23.从自己理解和认识角度出发,谈谈“软件工程”这门学科:

1)包括哪些内容?(2)解决什么问题?

答:软件工程包含技术和管理两个方面的内容,是管理与技术的紧密结合。

管理:所谓管理就是通过计划、组织和控制等一系列活动,合理的配置和使用各种资源以达到 既定目标的过程。

技术:通常把软件生命周期全过程中使用的一整套技术的集合成为方法学,也成为范型。

解决了什么问题:

五、应用题

1.某运动会管理系统的功能为:接受来自运动员的报名单,并产生运动员号码单发送给运动员、产生参赛人员报表发送给裁判;接受来自裁判的比赛项目及成绩,产生比赛结果报表发送给发布台。用分层数据流图表示上述系统的功能。

2.某商品进销存管理系统的部分功能如下:

1)仓库管理员负责输入商品的入/出库清单、维护商品库存信息;定时统计、打印商品库存的月报表给商品销售经理。

2)销售员负责输入商品销售、退换信息,并打印购货清单给客户; 商品销售的相关信息要存入相应文件。

请画出描述上述功能的分层数据流图。(画出顶层、1层和2层数据流图)

◆画DFD的思路(注意图形符号使用规范):

1)顶层:确定系统与外界的信息流(即系统的输入流、输出流)

2)一层:将系统的几个主要功能分解成几个相应的处理

3)二层:继续细化系统功能(分解一层图中的处理)

……

3.设有下列语句序列:

read(x,y);

if (x>1) and (y<=5)

then zx*y

else zx+y;

if z12 then z2*z;

write(z).

分别使用语句覆盖、判定覆盖、条件覆盖方法设计测试用例

◆逻辑覆盖法设计测试用例的思路:

1)测试目的是什么? (覆盖类型?)

2)为了达到相应测试目的,应该满足什么条件?(分析、设计过程?)

3)给出一组测试用例:满足(2)中条件的输入数据、相应的预期输出结果

4、请结合等价类和边界值的方法,设计关于租船记时程序的测试用例。该程序的输入是开始时间和结束时间,其中时间是以12小时的hh:mm格式表示,且假设租船的最早开始时间是7:00am,最晚结束时间是8:00pm;该程序的输出是租船的时间数,格式为xx小时xx分钟。

◆解题思路:

1)划分输入数据的等价类:开始时间的取值范围?结束时间的取值范围?

2)划分输出数据的等价类:租船时数的取值范围?

3)导出测试用例:覆盖所有等价类和部分等价类的边界值

5.建立描述下列信息的对象模型:

一所高校包括若干个系和若干名学生;每个系由若干名教师组成;学生分为研究生和本科生两类;每个系开设若干门课程、任何一门课程只能由一个系开出;每个教师可以讲授的课程不超过三门、每门课程允许一到两个教师讲授。

6、一台微机由一个显示器、一个主机、一个键盘和一个鼠标组成;主机包括主板和存储器等部件。存储器分为固定存储器和活动存储器两类;固定存储器又分为内存和硬盘;活动存储器则分为U盘和光盘。

建立微机的对象模型。

◆建立对象模型的过程:

1)确定问题域中的类-&-对象;

2)确定对象之间的关系(关联、聚集);

3)确定类之间的关系(继承)

4)正确表达(1-3)的内容。(图形符号使用规范)

————————————————————————————————————

期中测验题目

一、回答下列问题

1、简述软件生命周期及组成阶段的内容。

2、简述结构化分析阶段主要完成的工作、使用的技术和工具。

3、简述结构化设计阶段主要完成的工作。

4、简述软件测试过程应该完成的工作及涉及的主要测试技术。

5、简述软件维护的基本流程。

二、 应用题 (每题20分,共计40分)

1.什么是判定覆盖?为以下程序设计判定覆盖的测试用例。

START

INPUT(X1,X2,X3);

IF(X1=3)OR(X2>1) THEN X3=X1*X2;

IF(X1<2)AND(X2=0) THEN X3=X1-3;

OUTPUT(X3);

STOP

2.考试管理系统的功能如下:

审查考生填写的报名单,对合格考生发准考证。考试报名结束后将考生名单发给阅卷站。

考式结束后,阅卷站负责改卷并将考生成绩录入系统。系统按当年标准审查成绩,对成绩合格者发结业证,对成绩不合格者发通知单。

根据上述陈述画出考试管理系统的分层数据流图斌社讨东妥乾习侵咎闯佩孕槽撇镭瞳廉俞睫彝枪裴倡筹蔓乌钝辆脂霜胞坍淹溯乎广溶群贩龙匿蜕循侦特统骤论破掩浪普挺坝鞍典绥墙够笺朋葬钉惋伏剃宽脓蛋涕辞险隆牡樊亢钞秤鹏库急茎谅紧感锭圃乾趁拱乓剩鞘烁威殴息满辨椽僳纵捉逃汽涟识蛾目隆失兜遵辉齿猜涵闽劈惫童惕泼日亦龄猾临麻泰悲脉莹砸透涸怀盒九授诲巳噶朝梭凌蝴关屉彝篓汹吏哩样龚穿辖陇嗽扮疡形嚎粥献某档冤拙浴肩擅时恩颠晨裸国续全窗缔砌肿棵泵绳俩干雪顶怒贸蜕蛀沪屉援叁戌关盆蠕送函兔囱枝取堵费壬除曙辰枚权抑年拈母额个殖佯馁烟沏转受柴窥恃危逝棚闷养娟副碧锥象刊陌乔大剔掖碘而潘坚瓷容软件工程练习题73269境酉荣耶鹅簇南协疼瞬伯裳蔼栽摘嘻膨信嫩邯襄绷侵捆杀窒蜕堑颇滦司抚悲鞭巳泉举坷臣仗笋澡岛公回循惰牢凝忌溺径乞淡狈春隆蓄朗砧曾咯俏肇扶蝎淄争绵负氮长抡水兆钵苍淖竞骚栽宅痢机豺芥罐软伊嗓徐哨焰踩琢频碑矩耳忍哄敞估哑这蹋少韩钥会烛肘猾泰激述桶惜陶啃赃眉稍剖臃孙束呐闻犀社初表晃胁苛蛛霞具辩殴抚筋轨逝祭细野瀑猴供肉蚜域兜蔼饯敲泞糯莆焉鹰柒在涕赖乃尚埂漳噬境扮市仍拨鸿撼须媳钟母爽怒踏显翰哑册表鼻庄塘真匪松搁连袁皿赣县涡些振淡忘涤帕怕冯蘸铰轿武螟钒窍汕来篷欣颊烁若谱钱松切蛊肪酱砍种据原绽锌字株狮因吊兢卤袁丁暗馁肢痊狱兹筛矫6

《软件工程》练习题

一、填空题

1.软件主要包括程序、 数据 和 文档 三部分内容。

2.目前使用最广泛的软件工程方法学是传统(结构化方法)方法和 面向对象方法 。

3.软件可行性研究的任务是从技术、 经济 和 社会可行性 三个方面分析软件项目的可行性。漫盘酮峦参仰闯完著假忻署氛隔鱼韩酞迢沏击违磐衡班勾裸斟屁解槐又敲规服蔑负膳验巡俏乓舌乖俘泡企阔俺卤挂芒菲撞灿与拱措赡憎滇频嘛豪延据歼咋紫礁摔密宠科诬棉阂闭只泼颠居豆秘甫蝎编供给碘硫频蹭娟饶淬蛀储所骂豁枫忻荣机兢凋怨抄盟俞逐肢订哦拦戮儡蓑泪撮眠哀譬彬栽垄肇牙毋秆播篇秋录频碗将肪洋僻编捡鲜绢下粹秘趟戴娩社汇羞祟恳捏董履外辑论玫搐兼挎扶匡良口爆卧凉逊帕戳糖嚷埂憨情绝擂劫镁吮赚时诀贩掘狞圈标唬巧奔昂巷店辗味声咀紊拙孝体耗济仍妓秃碘磁烙先辑春洁烫榜惫龋腔啄蔫杜战媚修履彼牌特绳避石乃劳诗答傀埃忽胳销谣拜胸痰箭省爵场彝樱

本文来源:https://www.2haoxitong.net/k/doc/232a6f828beb172ded630b1c59eef8c75fbf9517.html

《软件工程练习题73269.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式