软件工程专业简答综合题复习Word格式文档下载.docx
《软件工程专业简答综合题复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程专业简答综合题复习Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
独立于机器,非过程式语言(4GL)
6.衡量模块独立的两个标准是什么?
它们各表示什么含义?
(网上)
两个定性的度量标准:
耦合与内聚性
耦合性:
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:
也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
7.假设你是一家软件公司的总工程师,当你把下图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:
“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?
”,你应该怎么反驳他?
。
在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;
在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;
在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
8.简述CMM(软件能力成熟度模型)5个等级的含义
第一级基本集软件工程是混乱无序的,对工程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式
第二级重复级建立了基本的项目管理来跟踪进度。
费用和功能特征,制定了必要的项目管理,能够利用以前类似的项目应用取得成功
第三级确定级已经将软件管理和过程文档化,标准化,同时综合成该组织的标准软件过程,所有的软件开发都使用该标准软件
第四级管理级收集软件过程和产品质量的详细度量,对软件过程和产品质量有定量的理解和控制。
第五级优化级软件过程的量化反馈和新的思想和技术促进过程的不断改进
9.简述白盒测试的思想,并列举两种典型的测试技术。
白盒测试又称结构测试,它把测试对象看作一个透明的盒子。
测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态和预期的状态是否一致
典型测试技术:
逻辑驱动.基本路径测试等
10.简述结构化程序设计方法的基本要点
1.采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
2.使用三种基本控制结构构造程序任何程序都可由顺序.选择.重复三种基本控制结构构造。
1)用顺序方式对过程分解,确定各部分的执行顺序。
2)用选择方式对过程分解,确定某个部分的执行条件。
3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。
4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。
3.主程序员组的组织形式
11.简述模块独立性的原则。
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的
模块独立性的概念是模块化.抽象.信息隐蔽和局部话概念的直接结果
由耦合和内聚2个标准度量
12.简述软件工程过程。
软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。
软件工程过程通常包含四种基本的过程活动:
P(Plan):
软件规格说明。
规定软件的功能及其运行的限制;
D(Do):
软件开发。
产生满足规格说明的软件;
C(Check):
软件确认。
确认软件能够完成客户提出的要求;
A(Action):
软件演进。
为满足客户的变更要求,软件必须在使用的过程中演进。
事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的.合理的,否则必将影响到软件产品的质量。
13.简述软件生命周期开发方法的基本过程及每个阶段的任务。
(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;
(2)
可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。
需要做经济可行性分析、技术可行性分析、操作可行性分析和法律可行性分析;
(3)需求分析阶段,主要是确定目标系统必须具备的功能。
通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。
(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;
(5)详细设计,把解法具体化,确定如何具体地实现这个系统。
针对每个模块设计相应的算法;
(6)编码和单元测试阶段,把详细设计的结果翻译成选定的语言所写的程序,并对每个模块进行单元测试。
(7)测试阶段,系统地设计测试用例,尽可能多地发现软件中的错误,并调试改正软件中的错误;
(8)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足用户的需要。
14.简述系统分析员应该具备的主要知识结构和基本素质。
系统分析员应该既是信息系统专家,又是企业管理专家,同时还应该是优秀的领导者。
系统分析员应该具有的知识结构为:
首先应该具有深入扎实的信息系统方面的专业知识和实践经验,即他们必须具有计算机软硬件的知识和开发应用的实践经验,以及信息处理,包括MIS.网络.通讯.数据库等方面的知识和实践经验;
其次,应该具有经济管理或企业管理方面较丰富的理论知识和实践经验;
同时应该具有优秀领导者的素质.才能和领导艺术,在信息系统开发的实践中不断丰富自己.提高自己,使自己的知识结构更趋于合理。
15.简述需求分析的原则。
需求分析阶段的基本过程包括四个方面:
对问题的识别,分析与综合,制定规格说明以及评审。
(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划。
然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作。
(2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理。
(3)制定规格说明,编写需求分析的文档。
(4)需求分析评审。
为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行。
16.可行性研究的任务是什么?
首先,需要分析和澄清问题定义。
在问题定义阶段,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。
通过对系统的实际用户和使用部门负责人的访问调查,分析员扼要地写出对问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。
在澄清了问题定义之后,分析员需要探索若干种可供选择的主要解法(即系统实现方案),对每种解法都应该仔细研究它的可行性。
17.快速原形法的优点与缺点。
优点:
可以更清楚的理解用户的需求、开发阶段可以用原形解决局部的困难,通过原形的开发可以让用户看见系统的初步功能的实现有利与用户的开发人员更好的交流,及早的解决存在的问题减少开发的风险。
缺点:
缺乏好的管理工具和开发环境、缺乏管理机制、对开发人员的技术要求高、更新文档比较困难。
18.软件测试的原则有哪些?
(1)应当尽早地、不断地进行软件测试。
(2)测试用例应当包含合理的和不合理的输入数据。
(3)测试用例应由测试数据和与之对应的预期结果两部分组成。
(4)软件中的程序应被多方测试。
(5)错误数比较多的程序应重点测试。
(6)严格执行测试计划。
(7)需要对每个测试结果做全面的检查。
(8)妥善保存测试的各项数据资料。
19.什么是字据字典?
其作用是什么?
它有哪些条目?
数据字典是用于定义数据流图中的各个成分的具体含义。
它以一种准确的无二义的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述
有4类条目:
数据流.数据存储.数据项和加工
20.为什么说“类构件”是比较理想的可重用软件构件?
给出2种重用方式?
为使软件构件便于重用,它们应满足下列要求:
(1)模块独立性强。
(2)具有高度可塑性。
(3)接口清晰、简明、可靠。
精心设计的“类”基本上能满足上述要求,可以认为它是可重用软件构件的雏形。
类构件的重用方式共有三种:
实例重用、继承重用、多态重用。
21.为什么说喷泉模型较好的体现了面向对象软件开发过程无缝和迭代的特性?
因为使用面向对象方法开发软件时,各个阶段都使用统一的概念和表示符号,整个开发过程都是吻合一致的,或者说是无缝连接的,
这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,因此喷泉模型很好地体现了面向对象软件开发过程迭代和无缝的特性。
22.选择语言时要考虑的因素有:
项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?
1301
答:
1)项目中数据结构的复杂性
2)用户的性能需求
3)软件运行的环境
4)软件开发人员开发水平
5)可用的编译器和交叉编译器
23.选择语言时要考虑的因素有:
24.用面向对象方法开发软件,通常需要建立哪些模型?
这些模型是如何相互协作来模拟目标系统的?
用面向对象方法开发软件,通常需要建立3种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。
这3种模型都涉及到数据、控制和操作等共同的概念,但每种模型描述的侧重点不同。
这3种模型从3个不同但又密切相关的角度模拟目标系统,它们各自从不同侧面反映系统的内容,综合起来则全面地反映了对目标系统的需求。
对象模型模拟软件系统使用数据结构,动态模型模拟系统执行的操作,功能模型完成数据值的变化。
综合题
1.下图所示的三个模块之间属于哪种耦合关系?
给出此种耦合关系的定义。
分析图-T55的设计是否合理?
如不合理,则对其进行改进。
说明:
住户详情包含门牌号码、户主姓名、基本房租、本月用水量、本月用电量等数据元素。
2.根据以下描述,分析系统的主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经“金额计算器”累计金额足够,则选择键灯会亮;
若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料从出物口掉出,并自动结算及找钱。
顾客在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
3.某厂对一部分职工重新分配工作。
分配原则是:
年龄不满20岁,文化程度为小学者脱产学习,文化程度是中学者当电工;
年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;
文化程度是大学者当技术员;
年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。
设计一个判断表表示上述处理逻辑,并对所设计的判断表进行化简,根据化简后的判断表给出该问题的判断树与结构化语言描述。
4.什么是语句覆盖?
什么是判定/条件覆盖?
下图所示的程序流程图设计语句覆盖和判定/条件覆盖测试用例并标明程序执行路径。
(1)语句覆盖——语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。
语句覆盖测试用例:
令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定/条件覆盖——它是指设计足够的测试用例,即满足条件覆盖又满足判定覆盖。
测试用例:
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.首先画出下列伪码程序的流图,然后用三种不同的方法计算其环形复杂度
start
input(a,b,c,d)
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)
stop
与该题所给出的伪码程序相对应的流图如上图右边所示。
(6分)
使用下述3种方法中的任一种都可以算出上图所示流图的环形复杂度为5。
(1)该流图共有15条边,12个结点,所以环形复杂度为15-12+2=15。
(2)该流图共有5个区域,因此环形复杂度为5。
(3)该流图中共有4个判定结点,因此环形复杂度为4+1=5。
6.办公室复印机的工作过程大致如下:
未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又会到闲置状态,等待下一个复印命令;
如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;
如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
7.某保险公司对投保人的汽车保费计算方法如下:
单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;
已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;
已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
8.对使用以下数据存储的学生成绩表输入模块,采用等价划分类,划分其等价类,使用黑盒测试技术设计某条分录(记录)的覆盖所有等价类的测试用例(尽量考虑边值分析)。
(15分)
学生成绩表数据结构:
学号:
字符类型,0-9数字,总共11位,班级号+编号(以我校实际情况设计)
姓名:
字符类型,考虑汉语及英语姓名
课程:
字符类型,16位,按我院实际课程名称情况设计
课程类别:
字符类型,4位,内容是“考查”或“考试”
成绩:
数字类型,整数部分3位,最多2位小数,考试课程直接录入数值(最高100分),存放数值,如果是考查课程允许录入字符优、良、中、及格、不及格或合格、不合格,存放原则是优(95分)、良(85分)、中(75分)、及格(65分)、不及格(55分)存放,或按合格(85分)、不合格(55分)
9.每回答对一个等价类0.5分
测试项目
序号
有效等价类
无效等价类
学号
1
11位数字学号
2
大于11位数字学号
3
小于11位数字学号
4
11位有非数字学号
姓名
5
有效姓名
6
有非汉字和字母姓名
课程
7
16位字符课程
8
大于16位字符课程
9
小于16位字符课程
课程类别
10
4位字符(考查)
12
4位非考查和考试字符
11
4位字符(考试)
13
大于4位字符,内容包括“考查”或“考试”
14
小于4位字符,内容包括“考”
课程类别考试
15
合法成绩
16
大于100分成绩
17
成绩小数超过2位
18
负数成绩
课程类别考查
19
合法成绩(优、良、中、及格、不及格或合格、不合格)
20
非优、良、中、及格、不及格或合格、不合格的字符
每设计对一个等价类0.5分
测试用例
覆盖等价类
10303070122
王华
软件工程A(后7个空格)
考试
100
1030307012
WalterT.Kennevan
软件工程A(后8个空格)
考查
不及格
103030701221
王华2
软件工程A(后6个空格)
考核
任意
10303070a22
考查1
其他项目任意
考
100.01
99.999
-0.01
合格
无
10.小李新接了一个项目:
设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:
先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;
老师也可以根据情况提供新的课程说明或修改过去课程的说明;
教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:
泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。
11.对于下面的流程图,设计测试用例(可以不用写测试结果)来完成语句、条件覆盖和条件组合覆盖,并以字符列出相应执行路径。
语句覆盖:
A=-1,B=5,X=2;
sabcde
条件覆盖:
,
A=0,B=4,X=1;
sace
A=3,B=4,X=-1;
sacde
条件组合覆盖:
A=-1,B=5,X=-1;
A=3,B=4,X=2;
A=3,B=5,X=1;
A=3,B=4,X=-1;
A=3,B=5,X=-1;
A=-1,B=4,X=-1;
A=-1,B=4,X=2;
sabce
12.画出一个用户使用银行ATM的状态转换图。
从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:
登录(卡片进入ATM机后,如果不是可读卡,退卡;
如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
13.某超市连锁收货操作流程如下:
厂家持“定货单”及“厂家送货单”送货,库管科检查来货。
如果来货相符,库管科做收货确认,(包括:
在“定货单”之“点核数量”栏手工填写收货数量;
在电脑中提出“定货单”,在“点核数量”栏输入收货数量;
在“收货日报表”上记录该收货;
在“定货单”、“厂家送货单”上加盖库管科公章),然后库管科打印商品条码,收送货组与卖场办理移交手续,卖场收货人在“定货单”上签名盖章,日末,库管科将单据汇总,连同“收货日报表”分别送卖场、财会,并自留一份,第二天电脑科打印“验收进货单”,分送卖场、采购、财会。
如果来货不符,通知负责该次定货之采购主任,采购主任填写“定货修正单”,报采购部主管签名同意,“定货修正单”交库管科,库管科从电脑中提出原“定货单”,按“定货修正单”内容进行修改,将修改后之新“定货单”打印(一式三份),和原“定货单”连在一起,最后进行上述来货相符后的工作。
(1)设计出该系统的业务处理流程图
(2)画出该系统的第一层的数据流程图(至少3个处理)
(3)画出该系统主要处理、数据存储或外部实体的数据字典(至少三个处理或数据存储或外部实体)
业务流程图
数据流程图
数据字典要求格式完整,内容基本正确
处理逻辑编号:
P1
处理逻辑名称:
审核来货
简述:
查询统计专利申请、受理、授权和转让情况
输入的数据流:
F3厂家送货单(来自E2供应商),F4定货单(来自E2供应商),F2定货单(来自S1定货单数据存储)
输出的数据流:
货品相符的F9审核信息(去自S1定货单数据存储),F5来货不相符信息(去自E3采购主任)
处理描述:
根据供应商“定货单”及“厂家送货单”送货情况,库管科检查来货。
如果来货相符,库管科做收货确认,如果来货不符,通知负责该次定货之采购主任。
处理频率:
不限
数据存储编号:
S1
数据存储名称:
定货单
反映当前定货的情况
数据存储组成:
单号+定货日期+到货日期+供应商+货品序号+货品+单价+数量+计量单位+采购员
关键字:
单号,货品序号
流入的数据流:
F2定货单(从P4定货处理过程),F7修正后定货单(从P3修正定货)
流出的数据流:
F2定货单到P3修正定货和P4验收入库
外部实体编号:
E1
外部实体名称:
采购员
根据采购计划,制定采购合同,与供应商签订合同,根据合同,与向供应商定货,制定定货单
采购计划、采购合同