视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
《软件工程》作业题2011
2025-09-29 04:48:20 责编:小OO
文档
《软件工程》作业题(总)

一、填空

     1、需求分析的任务:                                                      

          1)。确定目标系统的综合要求

              A。

              B。

              C。

              D。

          2)。分析目标系统的数据要求

A。

B。

C。

D。

          3)。导出目标系统的逻辑模型 

          4)。修正系统流程图

          5)。修正系统开发计划

          6)。开发原型系统  

     2、模块设计准则

          1)、

          2)、模块规模要适中

          3)、

          4)、设计单入口单出口的模块

          5)、模块功能应该可以预测

          6)、

          7)、

3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,    具体表现在哪些方面?

    4 、总体设计的任务

       1)、设计系统的物理实现方案

       2)、

       3)、设计系统全局的存贮数据结构

       4)、

     

5)、设计系统安全性、出错处理及代码等

       6)、

    

5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。

① 程序设计比较方便,但比较难以维护。

② 便于由多个人分工编制大型程序。

③ 软件的功能便于扩充。

④ 程序易于理解,也便于排错。

⑤ 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

⑥ 模块之间的接口叫做数据文件。

⑦ 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。

⑧ 模块间的单向调用关系叫做模块的层次结构。

⑨ 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。

6、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。它从用户界面的开发入手,首先形成(B),用户(C),并就(D)提出意见,它是一种(E)型的设计过程。

供选择的答案:

A: ①需求不确定性高的       ②需求确定的

③管理信息               ④决策支持

B: ①用户界面使用手册       ②用户界面需求分析说明书

③系统界面原则           ④完善的用户界面

C: ①改进用户界面的设计     ②阅读文档资料

③模拟用户界面的运行     ④运行用户界面原型

D: ①同意什么和不同意什么   ②使用和不使用哪一种编程语言

③程序的结构             ④执行速度是否满足要求

E :①自外向内               ②自顶向下

③自内向外               ④自底向上

7、供选择的答案中选出正确的答案填入下列叙述中的(  )内。

模块内聚性用于衡量模块内部各成分之间彼此结合的紧密程度。

(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A)的。

(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能,该模块的内聚性是(B)的。

(3)模块中所有成分引用共同的数据,该模块的内聚性是(C)。

(4)模块内的某成分的输出是另一些成分的输入,该模块的内聚性是(D)的。

(5)模块中所有成分结合起来完成一项任务,该模块的内聚性是(E)的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。

供选择的答案:

A~E: ① 功能内聚      ② 信息内聚    ③ 通信内聚     

④ 过程内聚      ⑤ 偶然内聚     ⑥ 时间内聚    ⑦ 逻辑内聚

8、从下面关于程序编制的叙述中,选出3条正确的叙述。

① 在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方做出适当的解释。

② 在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于找出错误的编写方法。

③ 在编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于出错的编写方法。

④ 考虑到以后的程序变化,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,既使程序的编写形式难以让人看懂也没有什么关系。

⑤ 编制程序时不可缺少的条件是,程序的输入和输出数据的格式都应确定。其他各项规定都是附带的。无足轻重。

⑥ 作为一个好的程序,不仅处理速度要快,而且易读易修改等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规格和单纯的表现方法,注意使整个程序的结构简洁。

9、从下列叙述中选出5条符合程序设计风格指导原则的叙述。

① 嵌套的重数应加以。

② 尽量多使用临时变量。

③ 不滥用语言特色。

④ 不用可以省略的括号。

⑤ 使用有意义的变量名。

⑥ 应尽可能把程序编得短些。

⑦ 把常见的局部优化工作留给编译程序去做。

⑧ 注解越少越好。

⑨ 程序的格式应有助于读者理解程序。

⑩ 应尽可能多用GOTO语句。

10、 测试过程需要3类输入:(A)、(B)和(C)。请选择正确的答案填入图5.21中以完成测试信息处理的全过程。

 

供选择答案:

A~C: ① 接口选择    ② 软件配置    ③ 硬件配置

④ 测试配置    ⑤ 测试环境    ⑥ 测试工具

D~F:① 排错        ② 可靠性分析

③ 结果分析    ④ 数据分类

11、由Rumbaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在下述3个模型中:

第一个模型是(A)---- 它的作用是描述系统的静态结构,包括构成系统的对象和类、它们的属性和操作,以及它们这间的联系。

第二个模型是(B)---- 它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。(B)包括两种图,即(C)和(D)。(C)描述每一类对象的行为,(D)描述发生于系统执行过程中的某一特定场景。

第三个模型是(E)---- 它着重于描述系统内部的数据的传送与处理,它由多个数据流组成。

供你选择的答案如下:

A,B,E:① 数据模型    ② 功能模型    ③ 行为模型

④ 信息模型    ⑤ 原型        ⑥ 动态模型

⑦ 对象模型    ⑧ 逻辑模型    ⑨ 控制模型

⑩ 仿真模型

C,D:① 对象图          ② 概念模型图  ③ 状态迁移图

④ 数据流程图      ⑤ 时序图      ⑥ 事件追踪图

⑦ 控制流程图      ⑧ 逻辑模拟图  ⑨ 仿真图

⑩ 行为图

12、软件维护是软件生存期的最后一个阶段。软件工程学针对维护工作的主要目标是提高(A),降低(B)。软件的(C)、(D)、(E)是决定软件可维护性的基本因素。软件生存期(F)的工作与软件可维护性有密切的关系。

供选择的答案:

A、B: ① 软件的生产率         

② 文档

③ 软件的可靠性

④ 软件的可维护性       

⑤ 维护的代价

⑥ 维护的效率

C、D、E: ① 可测试性     ② 互操作性      ③ 可理解性

④ 可修改性     ⑤ 可复用性      ⑥ 可管理性

F: ① 编码阶段     ② 设计阶段     ③ 测试阶段

④ 每个阶段

C~L: ① 复查        ② 计划途径     ③ 重编程序

④ 评价设计    ⑤ 评价代码     ⑥ 修改设计

13、从下列叙述中选出5条与提高软件的可移植性有关的叙述。

① 把程序中与计算机硬件特性有关的部分集成在一起。

② 选择时间效率和空间效率高的算法。

③ 使用结构化的程序设计方法。

④ 尽量用高级语言编写程序中对效率要求不高的部分。

⑤ 尽可能减少注释。

⑥ 采用表格控制方式。

⑦ 文档资料详尽、正确。

⑧ 在有虚拟存储器的计算机系统上开发软件。

⑨ 减少程序中对文件的读写次数。

⑩ 充分利用宿主计算机的硬件特性。

14、下面有关软件维护的叙述有些是不正确的,请将它们列举出来。

供选择的答案:

① 要维护一个软件,必须先理解这个软件。

② 阅读别人写的程序并不困难。

③ 如果文档不齐全也可以维护一个软件。

④ 谁编写软件就应由谁来维护这个软件。

⑤ 设计软件时就就考虑到将来的可修改性。

⑥ 维护软件是一件很吸引人的创造性工作。

⑦ 维护软件就是改正软件中的错误。

⑧ 维护好一个软件是一件很难的事件。

二、论述瀑布模型软件开发方法的基本过程。      

三、下面是一个模块的伪码描述,请画出描述这个模块的N S图。

begin

        S1;

        While  C  do

  { S2;

     判定;

     S3;

 }

 S4;

End

其中,“判定”可以用判定表描述为:

    C1

T

T

F

F

C2TFTF
SS1
SS2
四、设被测试的程序段为:

begin 

        S1   ;

if (x=0) and ( y>2 )

            then     S2;

             else

If ( x < 1 ) or ( y=1 )

                      then      S3;

             S4;

end

可供选择的测试数据组为:   

Xy
03
12
-12
31
找出实现 (1)条件覆盖 (2)路径覆盖要至少采用的数据组。

                

五、简述面向对象OMT方法的设计模型。

六、简述结构化方法中软件工程的分析模型和设计模型,描述从分析模型到设计模型的信息流。

七、简述面向对象OMT方法的分析模型,描述面向对象分析的大体过程。

八、软件配置管理的任务是什么?描述作为基线的软件配置项(SCI)的修改过程模型。

  

九、简述软件工程的三个要素:方法、工具和过程。

  

十、考务处理系统的分层数据流图如下图2.21一所示。该考务处理系统有如下功能:

① 对考生送来的报名表进行检查。

② 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站。

③ 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者。

④ 填写考生通知单(内容包含考试成绩和合格/不合格标志),送给考生。

⑤ 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计和试题难度分析,产生统计分析表。

问题:

(1)图2.21(c)中,加工1.1的输入数据流是(A),输出数据流是(B);

图2.21  (b) 中,加工2的输出数据流是(C),它由(D)和(E)组成。

供选择的答案:

A~E:①统计分析表      ②报名表            ③准考证

④考生通知        ⑤合格报名表

⑥难度分析表      ⑦错误成绩表        ⑧分类统计表

(2) 图2.21(d)中的文件“试题得分表”是否在图2.21(b )中漏掉?回答是(F)。

供选择答案:

F: ①“试题得分表”没有在图2.21(b)中画出,是错误的。

②是图2.21(d)中加工的内部文件,不必在图2.21(b)中画出。

③“试题得分表”是多余的。

十一、在软件需求分析时,首先建立当前系统的物理模型,再根据物理学模型建立当前系统的逻辑模型。请问什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?如何表示当前系统的物理模型与逻辑模型?举一个你在实际工作中接触到的实际例子。

十二、举例说明你对概要设计与详细设计的理解。有不需要概要设计和情况吗?

十三、图4.9是两个程序流程图,试分别用N—S图和PAD表示,并计算它们的McCabe复杂性度量。

十四、用某种软件复杂性度量算法来度量不同类型的程序时,得出度量值是否真正反映了它们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?

十五、软件复杂性有哪几类?软件复杂性度量模型应遵循哪些则?

十六、给出下面结构化程序流程图,请画出对应的N-S图。

十七、 如图5.8(a)所示的程序有4条不同的路径。

a

T

F

b

c

F

F

T

d

e

分别表示为L1(a→c→e)、L2(a→b→d)、L3(a→b→e)和L4(a→c→d),或简写成ace、abd、abe、及acd。由于覆盖测试的目标不同,逻辑覆盖方法可以分为语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖和路径覆盖。从备选的答案中选择适当的测试用例与之匹配:

(A)属于语句覆盖;(B)、(C)属于判定覆盖;(D)、(E)属于条件覆盖;(F)、(G)属于判定—条件覆盖;(H)属于条件组合覆盖;(I)属于路径覆盖。

供选择的答案:

A~I:①  【(2,0,4),(2,0,3)】覆盖ace;

【(1,1,1),(1,1,1)】覆盖abd;

②  【(1,0,3),(1,0,4)】覆盖abe;

【(2,1,1),(2,1,2)】覆盖abe;

③  【(2,0,4),(2,0,3)】覆盖ace;

④  【(2,1,1),(2,1,2)】覆盖abe;

【(3,0,3),(3,1,1)】覆盖acd;

⑤  【(2,0,4),(2,0,3)】覆盖ace;

【(1,0,1),(1,0,1)】覆盖abd;

【(2,1,1),(2,1,2)】覆盖abe;

⑥  【(2,0,4),(2,0,3)】覆盖ace;

【(1,1,1),(1,1,1)】覆盖abd;

          【(3,0,3),(3,0,1)】覆盖acd;

⑦  【(2,0,4),(2,0,3)】覆盖ace

【(1,1,1),(1,1,1)】覆盖abd;

【(1,0,3),(1,0,4)】覆盖abe;

          【(2,1,1),(2,1,2)】覆盖abe;

十八、下面是选择排序的程序,其中datalist是数据表。它有两个数据成员。一是元素类型成Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(  ),一是交换两数组元素内容的操作Swap(  ):

void SelectSort (datalist & list){

//对表list.V[0]到list[n-1]进行排序,n是表当前长度

for (int i=0;iint K=i

//在list.V[i].key到list.V[n-1].key中找具有最小键码的对象

           for(int j=i+1;j if(list.V[j].getKey( )           //当前具最小关键码的对象

         if(k=!=i) Swap(list.V[i],list.V[K]);//交换

       }

}

(1)试计算此程序段的McCabe环路复杂性。

(2)用基本路径覆盖法给出测试路径。

(3)为各测试路径设计测试用例。

十九、 面向对象开发方法与面向数据流和结构化开发方法有什么不同?使用面向对象开发方法的优点是什么?

二十、为什么软件需要维护?维护有哪几种类型?简述它们的维护过程。

二十一、改错性维护与“排错”是否是一回事?为什么?

第二部分:《软件工程》实习要求与实习题     

(一)、 实习目的

(1)掌握采用软件工程方法开发一个软件系统的全过程;

(2)练习正规编写软件开发过程中产生的各类技术文档。

(二)、 实习要求

(1)根据自己的爱好与熟悉领域,选择下面列出的实习题目中的任一题进行练习,也可自选难度相当的题目进行练习;

(2)按照3人一组的原则自由组合开发小组,并选定一负责人;

(3)所有实习题目均由开发小组自己给出具体的需求的说明;

(4)定期将实习的阶段成果发送到下述地址,以便检查考核:

                   gzzsulxf @ 163.net

(5)传统软件工程部分,每一开发小组要交付的文档包括:

A、《软件计划任务书》

B、《需求规格说明书》+《数据流图+数据字典》

C、《总体设计说明书》+《系统流程图+物理元素清单、结构图+模块描述》

D、《详细设计说明书》+《结构化程序设计方法:PAD图或N—S图或PDL》

E、《数据库设计说明书》《根据题目性质决定是否需要》

F、《软件测试计划》

G、《用户使用手册》

H、《项目开发总结报告》。

(6)面向对象软件工程部分,每一开发小组要交付的文档包括:

A、《软件计划任务书》

B、《需求规格说明书》+《对象模型,动态模型,功能模型》

C、《系统设计说明书》+《问题域子系统,人机交互子系统,任务管理子系统,数据管理子系统》

D、《软件测试计划》

E、《用户使用手册》

F、《项目开发总结报告》。

 (三)、实习题目

一、汽车面板显示控制模拟

基于课本P68例题,增加功能。在面板上设置三个功能按扭,驾驶员通过按动按钮选择不同的功能。(1)点火按钮及一排数字按钮,只有密码对上才可启动;(2)显示行程计算器结果;(3)启动行程计算器数据输入;(4)清除上一键。增加功能后DFD有所变化,在总体设计过程中需要同时使用变换设计与事务设计。所有传感器的输入均由键盘或鼠标模拟。

二、电梯调度策略模拟

一栋高30层大厦的电梯间有四部电梯,有更有效地利用这四部电梯,必须有一个良好的电梯调度策略,即当乘客有所请示时如何响应、电梯空闲时如何停在适当的楼层。应考虑的系统可扩充性包括楼层数目、电梯数目等,此外还可考虑调度策略的自调节性。所有传感器的输入均由键盘或鼠标模拟。

三、项目管理工具的设计与实现 

项目管理过程包括项目开发前的计划、项目开发过程中的控制以及项目结束的分析。本项目管理工具主要用于软件计划,包括内容有:软件的成本估算(可采用COCOMO模型)、进度安排(Gantt图与工程网络图)、人员组织等。项目管理工具至少完成Gantt图与工程网络图,并可列出关键路径。此外可根据开发力量决定实现某些其他的项目管理工具。

四、数据流图与数据字典工具的设计与实现

支持DFD的绘制、DFD分解以及各层DFD一致性检测,支持DD三种条目的结构编辑以及DD与DFD的一致性。另外还可考虑设计方案,由DFD自动(或加上部分人工辅助)进行变换设计与事务设计,从而产生描述软件结构的结构图。

五、课程编排系统

考虑教师、学生、教室(包括可坐学生人数)、上课可用时间、教学大纲等资源之间的分配,可列出若干可行的编排方案供教务人员参考。不要做成由操作人员编排好后将结果方案输入,而应尽可能自动地编排出若干可行的方案。本题目的特点着重于资源分配策略。

六、库存成本核算系统

某商厦有其内部的仓库存储中西餐厅或超级市场所需货物,仓库分为百货仓、烟酒仓等。货物采购入库时填写入库单,记录入库数量与金额;各部领料数量采用先进先出法计算其成本。每月需要掌握各种货物的入库与出库总额以及结余存数,以及各部门领料的总成本数。系统可扩充性可考虑采用不同的成本计算方法(如移动平均、后进先出)。

七、资料室管理与资料检索系统

包括两方面;一是流通管理,二是资料检索。资料室的流通管理,包括借书证发放、书卡管理、借还录等。资料检索则提供多种检索途径供师生使用。注意期刊与书的属性有差别。

八、工资管理系统

管理职工工资收入,可打印出各部门职工工资清单与发给职工的工资条,并打印出所有部门的工资汇总表。要考虑职工调进、调出、内部调动的操作方便以及工资项目的易变性,可增加在工资表中自动计扣上月所得税的功能(需要记录职工的身份证号码)以及由银行代发工资的功能(需要记录职工的工资卡号)。

九、银行计算机储蓄系统(参见讲义)

一十、航空公司机票预定系统(参见讲义)

一十一、医院病人监护系统(参见讲义)

一十二、高校住房分配管理系统(参见讲义)

一十三、某学会选票统计系统(参见讲义)下载本文

显示全文
专题