软件工程图题整理
- 格式:docx
- 大小:108.50 KB
- 文档页数:6
一、等价类划分1.某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)--(7)4 45 (1)--(7),(8)4 5 5 (1)--(7),(9)5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)覆盖无效等价类的测试用例:二、结构化语言判定表某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。
高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。
请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言:根据职工年龄和文化程序:REPEATIf 年龄<=20If 初中文化Then 脱产学习endifelse if 高中文化Then 电工endifendifIf 20<年龄<40If 中学文化If 男性Then 钳工Else车工Endifelse if 大学文化Then 技术员 endifendifendifIf 年龄>=40If 中学文化Then 材料员else if 大学文化Then 技术员 endifendifendifUntil 没有剩余未分配员工判定表三、因果图以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
软件工程习题整理一、软件需求分析与建模1.软件需求分析的要求?答:了解软件需求的目标和任务;了解软件需求分析的基本过程;掌握功能建模;掌握行为建模;掌握数据建模;了解结构化需求分析的若干技术;了解需求规格说明和需求评审的主要内容。
2.需求分析的基本任务是什么?答:要准确地定义新系统的目标,为了满足用户需求,回答系统必须―做什么‖的问题。
获得需求规格说明书。
3.软件需求分析的原则?答:能够表达和理解问题的信息域和功能域;能够对问题进行分解和不断细化,建立问题的层次结构;需要给出系统的逻辑视图和物理视图。
4.什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
需求分析阶段的基本任务是:(1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.(2) 分析与综合,导出软件的逻辑模型.(3) 编写文档5.什么是结构化分析方法?该方法使用什么描述工具?答:结构化分析方法:是面向数据汉进行需求分析的方法。
描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。
6.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。
作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:→,箭头,表示数据流; ○,圆或椭圆,表示加工; =,双杠,表示数据存储;□,方框,表示数据的源点或终点.7.简述SA方法的优缺点。
答:优点:1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。
2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利条件。
软件工程与UML建模复习题B一:单选题1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物A).相关系统B).Use Case C).Class D).Actor2.软件工程是以为核心A).过程B).面向对象C).软件开发D).质量3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于A).功能性需求B).客观需求C).主观需求D).非功能性需求4.“系统每天晚上自动生成进货报表”,Actor是:A).系统B).其它系统C).时间D).报表审阅者5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征A).总体图、二级图、三级图B).总体图、二级图、细节图C).总体图、零级图、细节图D).总体图、次级图、细节图6.正式运行系统后能够产生的收益被称为A).直接效益B).运营效益C).最佳效益D).启动效益7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的A).问题定义B).可行性研究C).需求分析D).设计8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。
A).数据字典B).判定表和判定树C).用例图D).螺旋模型9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<C(p2) 则A).E(p1)>E(p2) B).C(p1+p2)=C(p1)+C(p2)C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)<E(p1)+E(p2)A).用例图B).类图C).数据流程图D).顺序图11.模块尺寸太大时,应A).分解以提高内聚B).分解以提高耦合C).合并以提高内聚D).分解以降低内聚12. 是指有定义完备接口的、明确规定了上下文以来关系的合成单元,它可以被第三方开发、并且能够被独立地部署,具有自包含的属性,其内部构造和特征不可见。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
软件⼯程试题及答案1. 软件⽣命期各阶段的任务是什么?答:软件⽣命期分为7个阶段:1、问题定义:要解决的问题是什么2、可⾏性研究:确定问题是否值得解,技术可⾏性、经济可⾏性、操作可⾏性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运⾏维护:保证软件正常运⾏。
2、软件重⽤的效益是什么?答:1、软件重⽤可以显著地改善软件的质量和可靠性。
2、软件重⽤可以极⼤地提⾼软件开发的效率。
3、节省软件开发的成本,避免不必要的重复劳动和⼈⼒、财⼒的浪费。
3、⾃顶⽽下渐增测试与⾃底⽽上渐增测试各有何优、缺点?答:①⾃顶⽽下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,⽽且能够尽早发现上层模块的接⼝错误。
缺点:需要存根程序,底层错误发现较晚。
②⾃底⽽上渐增测试优点与缺点和⾃顶⽽下渐增测试相反。
4 、提⾼可维护性的⽅法有哪些?答:在软件⼯程的每⼀阶段都应该努⼒提⾼系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进⾏复审。
在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。
在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界⾯。
在软件设计的复审中,因从便于修改、模块化和功能独⽴的⽬标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。
在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。
在软件系统交付使⽤前的每⼀测试步骤中都应给出需要进⾏预防性维护部分的提⽰。
在完成每项维护⼯作后,都应对软件维护本⾝进⾏仔细认真的复审。
为了从根本上提⾼软件系统的可维护性,⼈们正试图通过直接维护软件规格说明来维护软件,同时也在⼤⼒发展软件重⽤技术。
简述软件测试要经过哪⼏个步骤,每个步骤与什么⽂档有关。
【解答】测试过程按4 个步骤进⾏,即单元测试(模块测试)、集成测试(⼦系统测试和系统测试)、确认测试(验收测试)和平⾏运⾏。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
储户取款单打印利息清单利息清单储户核对密码53存款单打印存款单存款存单计算利息24D1存款信息存款信息记录存款信息存款信息存款信息存款信息利息值1为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
请画出此系统的数据流图。
ER图–本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。
因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。
–储户的属性主要有、住址、和,储蓄所的属性主要是名称、地址和,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
判定树–讲课课时津贴计算判定表–讲课课时津贴计算课时津贴一般授课讲座教授副教授讲师助教3025201550某高校可用的有以下几类:校由4位数字组成,第1位数字不是0;校外又分为本市和外地两类,拨校外需先拨0,若是本市则再接着拨8位数字(第1位不是0),若是外地则拨3位区码再拨8位(第1位不是0)。
请用定义数据字典的方法,定义上述的。
● =[校|校外]● 校=非零数字+ 3 位数字 //后面继续定义 ● 校外=[本市|外地] ● 本市=数字零+8位数字● 外地=数字零+3位数字+8位数字 ● 非零数字=[1|2|3|4|5|6|7|8|9] ● 数字零=0● 3位数字=3{数字}3 //3至3个数字 ● 8位数字=非零数字+7位数字 ● 7位数字=7{数字}7● 数字=[0|1|2|3|4|5|6|7|8|9]复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
银行取款过程的数据流图
结构化分析方法步骤示例
商店业务处理系统
•这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能
•数据流图绘制步骤
•首先确定系统的输入和输出
•根据商店业务,画出顶层数据流图,以反映最主要业务处理流程
•经过分析,商店业务处理的主要功能应当有销售、采购、会计三大
项。
主要数据流输入的源点和输出终点是顾客和供应商。
•然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图
第一层数据流图
销售细化
采购细化
状态转换图(系统的状态图)
图中表明,没有人打时处于闲置状态;有人拿起听筒则进入拨号音状态,到达这个状态后,的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态;……。
保险箱的状态转换图
层次方框图(描绘一家计算机公司全部产品的数据结构)
Warnier图
IPO图
改进的IPO图的形式
PAD图
使用PAD图提供的定义功能
来逐步求精的例子。