软件工程女生专用完整版Word格式.docx

上传人:b****8 文档编号:22906598 上传时间:2023-02-05 格式:DOCX 页数:24 大小:421.10KB
下载 相关 举报
软件工程女生专用完整版Word格式.docx_第1页
第1页 / 共24页
软件工程女生专用完整版Word格式.docx_第2页
第2页 / 共24页
软件工程女生专用完整版Word格式.docx_第3页
第3页 / 共24页
软件工程女生专用完整版Word格式.docx_第4页
第4页 / 共24页
软件工程女生专用完整版Word格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

软件工程女生专用完整版Word格式.docx

《软件工程女生专用完整版Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程女生专用完整版Word格式.docx(24页珍藏版)》请在冰豆网上搜索。

软件工程女生专用完整版Word格式.docx

“概括地说,应该怎样实现目标系统?

”描述方法:

系统流程图、层次图5)详细设计:

也称为模块设计,在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。

程序流程图、盒图

6)编码和单元测试:

这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。

7)综合测试:

这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求。

5.设计各种逻辑覆盖测试用例。

设计下列伪码程序的语句覆盖和路径覆盖测试用例:

START

序号

判定

输入

预期的输出

1

2

3

A

B

C

X

Y

Z

F

F

T

20

40

60

10

30

INPUT(A,B,C)

//判定表达式1

IFA>

5THEN

X=10

ELSE

X=1

ENDIF

//判定表达式2

IFB>

10THEN

Y=20

ELSE

Y=2

//判定表达式3

IFC>

15THEN

Z=30

Z=3

PRINT(X,Y,Z)

STOP

18.当模块中包含复杂的条件组合,只有(A)能够清晰的表达出各种动作之间的关系

A.判定表和判定树B.盒图C.流程图D.关系图

19.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)

A.调用关系B.组成关系C.链接关系D.顺序执行关系

20.在详细设计阶段,经常采用的工具有(A)

A.PADB.SA   C.SC D.DFD

21.结构化程序设计主要强调的是(D)

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性

22.源程序的效率与(D)阶段确定的算法的效率直接有关

A.程序设计B.总体设计C.单元设计D.详细设计

23.软件复杂性度量的参数包括(B)

A.效率B.规模C.完整性D.容错性

24.以下哪些不属于软件测试的基本原则(B)

A.关键是注重选择高效的测试用例B.选择尽可能多的测试用例

C.尽量不由程序设计者进行测试D.充分注意测试中的群聚现象

25.单元测试的对象是(B)

A.系统B.程序模块C.模块接口D.系统功能

26.系列说法中不是软件测试的方法(B)

A.白盒法B.黑盒法C.动态测试D.调试发

27.以下不属于白盒测试技术的是(D)

A.逻辑覆盖B.适应性维护C.改善性维护D.等价类划分

28软件调试技术包括(B)

A.边界值分析B.演绎法C.循环覆盖D.集成测试

29.为了进一步改善软件系统的可维护性和可靠性并为以后的改进奠定基础的软件维护成为(D)

A.纠错性维护B.适应性维护C.改善性维护D.预防性维护

30.软件维护产生的副作用是指(C)

A.开发时的错误B.隐含的错误C.因修改软件造成的错误D.运行时误操作

31.维护的副作用分为三类,不包括(D)

A.代码副作用B.数据副作用C.文档副作用D.人员副作用

32.下列各种图不能用于动态建模的有(B)

A.状态图B.类图C.序列图D.活动图

33.下列不是模型元素的是(D)

A.关联B.集合C.依赖D.笔记

34软件工程管理的对象是软件(B)

A.开发人员B.工程项目C.开发过程D.开发速度

35以下不属于用例之间的关系的是(A)

A.友元B.扩展C.使用D.组合

36.UML语言不支持的建模方式有(C)

A.静态建模B.动态建模C.模块建模D.功能建模

37软件工程管理的对象是软件(B)

A.开发人员B.工程项目C.开发过程D.开发速度

二.简答题

1.简述什么是软件工程

答:

软件工程是开发、运行、维护和修复软件的系统方法,其中的“软件”定义为计算机程序、方法、规则、相关文档资料以及计算机上运行时所用必须的数据,软件工程是一门科学,其目的是生产无故障后,软件且交付及时,不超过预算,并满足用户要求。

1.软件产品有哪些特性?

答:

软件是一种逻辑案件,而不是具体的物理实体,具有抽象性

软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的

a.软件产品是一种逻辑产品.b.软件产品的生产主是研制,软件产品的成本主要体现在软件的...c.开发的软件可维护性差.d.开发的软件可靠性差

⑴是一种逻辑产品,与物质产品有很大的区别.

⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品.

⑶软件产品不会用坏,不存在磨损,消耗.

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"

定做"

⑸开发软件的费用不断增加,致使生产成本相当昂贵.

(6)其质量往往靠不住,缺乏可见性

2.软件生命周期可分为哪三个时期?

GB8567中规定可分为哪几个阶段?

定义时期:

问题的定义(客户需求)、可行性研究(为什么做);

开发时期:

需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。

运行时期:

软件维护。

3.可行性分析的任务是什么?

可行性分析的任务是对一下三方面的可行性进行研究。

1.技术上可行性:

2.经济上的可行性:

进行成本估算及效益评估,确定项目是否值得开发。

3.操作上的可行性:

系统的操作方式在这个用户组织内是否行得通。

4.社会上的可行性:

主要指系统开发后能否运行,是否存在合同、责任、侵权、用户组合管理等方面的问题。

从法律,社会效益研究可行性。

4.简述如何检查数据流图的正确性和提高它的可理解性?

可从以下几个角度来检查数据流图的正确性:

数据守恒、文件的使用:

父图和子图的平衡等;

提高数据流图的易理解性可从以下几个方面进行:

简化加工间的联系、注意分解的均匀、适当的命名等。

5.什么是耦合?

什么是内聚?

耦合是对一个软件结构内各个模块之间互连程度的度量。

内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。

6.衡量模块独立性的两个标准是什么?

它们各表示什么含义?

两个定性的度量标准:

耦合与内聚性。

耦合性:

也称块间联系。

指软件系统中各模块间相互联系紧密程度的一种度量。

模块间联系越紧密,其耦合性就是越强,模块的独立性则越差。

内聚性:

也称块内联系。

指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,模块内元素联系越紧密,内聚性越高。

7.详细设计饿基本任务是什么?

有哪几种描述方法?

设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其他(代码设计、输入|输出格式设计、人机对话设计)、编写详细设计说明书、评审。

程序流程图、PAD图、PDL。

8.什么是编码风格?

为什么要强调编码风格?

编码风格又称程序设计风格或变成风格。

编码的目标从强调效率转变为强调清晰。

良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不在注意风格就很难写出高质量的程序,尤其当多个程序员合作编写一个很大的程序时,需要强调良好而一直的编码风格,一边相互通讯,减少因不协调而引起的问题。

总之,两哈的编码风格有助于编写出科考而又容易维护的程序编码的风格在很大程度上决定着程序的质量

9.简述软件测试的两种基本的测试方法?

第一种方法是黑盒测试,第二种是白盒测试。

黑盒测试时完全不考虑程序内部结构和处理过程、只按规格说明书的规定来检查程序是否符合它的功能要求。

黑盒测试时在程序接口进行的测试,又称为功能测试。

白盒测试是将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。

所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。

白盒测试又称为结构测试。

10.为什么软件测试不应该由程序的编写人员来做?

软件测试的目的是为了发现程序中的错误而执行程序的过程。

正确认识测试的目标十分重要。

测试目标决定了测试方案的设计。

如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;

相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。

由于测试的目标是暴漏程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当。

12.什么是UML?

它的价值体现在什么地方?

UML,即统一建模语言,是面向对象技术领域占主导地位的标准建模语言。

UML的价值在它综合体现了世界上面向独享方法实践的最好经验,支持用例驱动。

——架构为中心以及递增和迭代地进行软件开发。

四、分析与设计

1、在分析用户需求时同时考虑维护问题。

正确。

在分析用户需求的同时考虑维护问题,列出将来可能增加或变更的需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户提出这些维护需求时,实现起来比较容易些。

2、测试完程序后,删去程序中的注解以缩短源程序长度。

不正确。

程序中的注解是提高程序可理解性的关键内部文档,删去程序中的注解必会降低程序的可读性和可理解性,从而降低软件可维护性。

3、在开发过程中尽量保证各阶段文档的正确性。

正确。

完整准确的文档对提高软件的可理解性有重要贡献,保证文档的正确性是提高软件可维护性的关键。

5、进行总体设计时加强模块间的联系。

不正确。

模块间耦合越紧密,程序就越难理解和修改,修改后测试也就比较困难。

因此加强模块间的联系将降低软件的可维护性。

6、在分析用户需求时同时考虑维护问题。

在分析用户需求时同时考虑维护问题,列出将来可能增加或变更的需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户提出这些维护需求时,实现起来比较容易些。

7、尽可能使用高级语言编写程序。

用高级语言编写程序可以给程序变量和程序模块赋予含义鲜明的名字,据此较易把程序对象和其所代表的实体联系起来,另外高级语言所使用的符号和概念更符合人的习惯、这样书写的程序容易阅读,因此也就更容易维护。

8、进行总体设计时加强模块间的联系。

9、尽量用可重用的软件构件来组装程序。

可重用构件基本上没有错误,用这样的构件组装的程序可靠性高,改正性维护需求自然就少。

此外,可重用构件适应性强,应用范围广,容易适应新需求,因此,用这样的构件组装的程序也比较容易实现适应性和完善性维护。

10、覆盖测试用例

INPUT(A,B,C)

1、使3个判定表达式之值全为假

输入:

A=1,B=1,C=1

预期的输出:

X=1,Y=2,Z=3

2、使3个判定表达式之值全为真

A=20,B=40,C=60

X=10,Y=20,Z=30

INPUT(A,B,C,D)

1、使两个判定表达式之值全为假

A=-1,B=-2,C=-3,D=1

X=1,Y=-2

2、使两个判定表达式之值全为真

A=1,B=2,C=3,D=1

X=3,Y=2

1.依下列叙述确定软件生命周期模型。

假设要求你开发一个软件,该软件的功能是:

把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。

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

你打算使用哪种软件生命周期模型?

请说明你作出选择的理由。

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

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

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

2.请依描述绘制DFD图并写出数据词典中的数据流条目。

自学考试报名过程中有个“记录报名单”的处理。

该处理主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

DFD图

数据流条目

报名单=姓名+性别+身份证号+课程名

开考课程=课程名+开考时间

考生名册=准考证号+姓名+课程

3.依下列叙述确定软件生命周期模型。

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

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

旧版本相当于一个原型,由此较容易确定对新版本的需求,故不必要建立原型系统来分析用户需求;

2)该公司软件工程师具有开发字处理软件的丰富经验,有采用增量模型开发新版字处理软件的技术水平;

3)该软件深受用户喜爱,故将其体系结构设计成开放式的,以利于今后的改进和扩充。

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

4.请依描述绘制DFD图。

画出银行取款过程的DFD图。

问题描述为:

储户用存折取款,首先填写取款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。

5.依下列叙述确定软件生命周期模型。

M公司的软件产品以开发实验型的新软件为主。

用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。

若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐明你的理由。

瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。

另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。

根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。

开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

说明它特别适合于开发探索型、实验型的软件。

并可以加速软件开发过程,节约软件开发成本。

6.请依描述绘制DFD图.

学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。

各种资金往来(包括学校财务通知学生收款信息,并接收来自书店的应付款信息等)通过学校的会计科办理。

画出教材征订系统的功能级数据流图。

7.画出下列伪码程序的程序流程图和盒图。

START答:

IFpTHEN

WHILEqDO

f

ENDDO

BLOCK

g

n

ENDBLOCK

8.请设计下列伪码程序的判定覆盖测试用例。

本题共需两组测试用例:

1)使3个判定表达式之值全为假

2)使3个判定表达式之值全为真

IF(A>

0)AND(B>

0)

THENX=A+B

ELSEX=A-B

END

IF(C>

A)OR(D<

B)

THENY=C-D

ELSEY=C+D

PRINT(X,Y)

9.如图所示的程序流程代表一个非结构化的程序,请解答以下问题。

为什么说它是非结构化的?

设计一个与它等价的结构化程序(画出盒图)2)盒图如下:

1)如图所示程序的循环控制结构有两个出口,不符合狭义的结构程序定义(单入口单出口),因此是非结构化的程序;

10.请设计下列伪码程序的语句覆盖测试用例。

INPUT(A,B,C)

5THENX=10

ELSEX=1

10THENY=20

ELSEY=2

15THENZ=30

ELSEZ=3

PRINT(X,Y,Z)

三、面向对象分析与建模:

问题描述如下:

王大夫在小镇上开了一家牙科诊所。

他有一个牙科助手、一个牙科保健员和一个接待员。

王大夫需要.....工作安排。

1.建立上述牙科诊所管理系统的状态图。

2.

建立上述牙科诊所管理系统的对象模型

3.建立上述牙科诊所管理系统

的用例模型。

5.依下列叙述确定软件生命周期模型。

问题描述如下:

有两个输入文件:

考生基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)如下:

(表格被删)   

1.用Jackson图表示输入与输出结构,找出它们之间的对应单元;

2.描绘程序结构的Jackson图,并列出列出所有操作和条件。

3.用Jackson伪代码写出与程序结构图对应的过程性表示。

(4)用Jackson伪代码写出上述程序的过程表示。

产生新文件seq

打开两个输入文件

建立输出文件

从输入文件中各读一条记录

分析考生记录iteruntil文件结束

处理考生记录seq

产生准靠证号

产生姓名

产生通讯地址

产生考分

生成一条新记录

将新记录写入输出文件

处理考生记录end

关闭全部文件

停止

产生新文件end

2、问题描述如下:

我们已经开始进入“智能”产品.....板的设计。

假设的仪表板将完成下述功能:

(1)通过模数转..............................出超速警告铃声。

1.画出精化的数据流图。

2.利用变换分析画出第一级分解的软件的层次图。

3.用层次图表示软件的最终结构图。

2.请依描述绘制判定表.

2对于数字仪表板的例子,第一级分解得出的结构如图4.14所示,每个控制模块的名字表明了为它所控制的那些模块的功能

图4.14数字仪表系统的第一级分解

图5.12精化后的数字仪表板系统的软件结构

假设在需求分析阶段产生的数字仪表板系统的数据流图如图5.5.4所示。

图5.5.4 数字仪表板系统的数据流图

  这个数据流图对于软件结构设计的“第一次分割”而言已经足够详细了,因此不需要精化就可以进行下一个设计步骤。

3.假设某航空公司规定,乘客可..................内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1