您的当前位置:首页软件工程期末复习资料

软件工程期末复习资料

2021-04-15 来源:哗拓教育
一、判断题

1、成功的测试是没有发现错误的测试。 (×) 2、软件是指程序设计语言编写的程序。 (×) 3、程序设计语言中应绝对禁止使用GOTO语句。 (×) 4、可行性研究的结果有可能将软件开发项目否定。 (√) 5、类是关于对象性质的描述,由方法和数据组成。 (√) 6、概要设计阶段完成的主要文档是概要设计说明书。 (√) 7、软件维护的前提是不能失去原有软件的基本功能。 (√) 8、用盒图和PAD图设计出来额算法必定是结构化的。 (√) 9、面向对象技术的最大优点是减少软件的开发时间。 (×) 10、白盒测试无需考虑模块内部的执行过程和程序结构。 (×) 11、如果通过软件测试没有发现错误,则说明软件是正确的。(×) 12、螺旋模型是在瀑布模型和增量模型的基础上增加风险分析活动。(√) 13、可行性研究的根本的目的不是解决问题,而是确定问题是否值得去解。(√) 14、在面向对象方法学中,“事件”是瞬时完成的,而“状态”是有持续性的(√) 15、模块化、信息隐蔽等软件设计原则有助于得到高内聚低耦合度的软件产品 √

二、选择题

1、软件工程的概念是 1968 年提出的 2、对象的 操作 是对象的特征

3、各种不同的软件维护中,以 预防性维护 所占的维护量最小 4、准确的解决“软件必须做什么”是 需求分析 阶段的任务 5、数据字典中,一般不包括 源点和终点

6、软件可行性研究实质上是要进行一次 简化、压缩的 需求分析、设计过程。 7、为高质量地开发软件项目,在软件结构设计时,必须遵循 信息隐蔽 原则 。 8、研究开发所需要的成本和资源是属于可行性研究中的 经济可行性 研究的一方面。

9、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试 程序内部逻辑 。

10、在确定属性时,所有 修饰性名词词组和形容词 是候选的属性。 11、下列的 开发一个简单的问题解决方案 不是分析建模的目的。 12、确认测试主要涉及的文档是 需求规格说明书 。

13、软件需求规格说明书的内容不应包括对 算法的详细过程 的描述。

14、模块的独立性是由内聚性和耦合性来度量的,其中内聚性是 模块的功能强度。

15、在面向数据流的软件设计方法中,一般将信息流分为 变换流和事务流 。

三、名词解析题

1、软件工程:指导计算机开发和维护的一门工程学科,利用工程的原理、概念、技术、方法来开发和维护软件,把正确的管理方法和最好的技术方法结合起来,以经济地开发出高质量的软件和有效地进行维护,这就是软件工程。

2、数据字典:指数据信息的集合,数据流图中包含的所有元素的定义的集合。

3、模块化:把程序划分为独立命题和可独立性访问的模块,每个模块完成一个子功能,一些模块组合起来完成用户需求。

4、消息:某个对象执行对它定义的那个类中所定义的某个操作的规格说明书。 5、用例:系统完成一系列的动作,这一系列动作除了完成系统内部功能外,还包括与行为者的通信。

四、简答题

1、可行性研究有几个步骤?

答:①复查系统的规模和目标 ②研究目前正在使用的系统 ③导出新系统高层的逻辑模型 ④进一步定义问题

⑤导出和评价供选择的方法 ⑥推荐行动方针 ⑦草拟开发计划

⑧书写文档提交审查

2、总体设计基本目的是什么?这个阶段有哪两个任务? 答:系统应该如何实现这个问题

一、划分出组成系统的物理元素,如文件、程序、数据库、人工过程和文档等 二、设计程序结构,也就是明白系统中各程序由哪些模块组成,这些模块相互 之间的联系

3、结构程序设计有哪些好处?

①开发出的软件结构和层次清晰

②不使用GOTO,程序的动态和静态,结构情况以较一致 ③控制结构有正确逻辑模式 ④可重用代码量大

⑤程序结构逻辑清晰,容易进行正确性的证明

4、有哪些提高可重用性的主要准则?

①提高方法的内聚 ②减少方法的规模 ③保持方法的一致性 ④把策略和实现分开

⑤全面覆盖各种条件组合方式,写出全部的组合 ⑥尽量不适用全局信息 ⑦利用继承机制

5、假设您的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份: a、程序的规格说明;b、程序的详细设计结果 c、源程序清单。你将选取哪两份文档?为什么这样选取?

答:我会选择a、c

选择a是因为所有工作都是以需求为基础的,否则南辕北撤也不一定,上述能够充分发挥此效果的就是程序的规格说明了。选择c是因为这是原软件的实体,我们要做的是修改,是在原基础上修改,而不是重建,所以必须获得原软件实体。

五、综合题

1、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的程度。

int GetMax(int n, int datalist[]) { int k = 0;

for (int j = 1; j < n; j++)

if ( datalist[j] > datalist[k] ) k=j; return k; }

请画出改程序的程序流程图和PAD图。

开始K=0J=1Jdatalist[K]TK=JJ++ 答:

k=1j=1k=jDatalist{j}>datalistj++WhilejSTART

INPUT (B,C) IF B>10

THEN Y=20 ELSE Y=2 END IF IF C>15

THEN Z=30 ELSE Z-3 END IF PRINT(Y,Z) STOP

答:①2个判定表达式之值全为假 输入:B=1,C=1

②2个判定表达式之值假、真 输入:B=1,C=60

③2个判定表达式之值真、假 输入:B=40,C=1

④2个判定表达式之值真、真 输入:B=40,C=60

3、 根据下面程序流程图,画出相应的程序流图,并计算McCabe复杂度。

STARTpTnFgqTFF

STOP 1256347答:

环形复杂度V(G)=3.

4、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开发出报名单交财务部门,财务人员开出发票给学生。

如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。

如果是付款的,则由财务人员在账目文件上登记,也给学生一张收费收据。 请根据以上问题画出数据流图。

1 学生文件4、注销3 账目文件注销单报名数据2 课程文件报名单学员发信事务1、收集2、分类3、报名6、产生发票发票学员3 账目文件1 学生文件5、付款收费数据

5、根据下列问题描述,建立自动售货机系统的对象模型。

(1)设置

一个饮料自动售货机可以放置五种不同或部分相同的软件,可由厂商根据销售状况进行调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 (2)销售

顾客将硬币投入售货机,经累加金额足够的饮料选择键灯亮,等待顾客按键选择,顾客按键后饮料由取饮料口掉出,并自动结算及找零。 (3)取消交易

顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易,收回硬币。

属于类名属性金额计算机售货机饮料号码价格投币——接受饮料掉出金额显示按钮退币杆售完显示属于存量计算器饮料号码存量递减售完显示重置金额累加找零重置属于服务属于购买退币杆退币杆状态拉动顾客姓名硬币投币——置入拿取饮料选择钮选择钮状态灯亮灯熄售完灯亮按钮

统分子系统 取得标准成绩 录取人数计算录取分数 取得考生成绩计算标准分 登录录取分数登录学生成绩 原始分 标准分 招生计划 录取线

招生计划录取线考生标准分原始分计算标准分标准分计算录取分数分数

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