实用软件工程试卷答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实用软件工程试卷答案
1.软件工程的主要目标是_______风险分析_____。
2.包含风险分析的软件工程模型是______螺旋模型______。
3.数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成
_________数据流,数据项,文件,基本加工___。
4.画DFD图的主要目的是______作为需求分析阶段用户与开发者之间交流信息的工具,作为分析和设计的工具______。
5.模块的独立性准则的衡量指标是____耦合度,内聚性________。
6.属于面向对象开发方法的有______Booch,Coad,OMT______。
7.常用的静态测试方法包括____桌前检查与代码会审,数据流分析图,调用图________。
8.各种软件维护的类型中最重要的是___完善性维护_________。
9.CMM表示_______软件能力成熟度模型_____。
10.以下对软件工程管理的任务和目标最准确的描述是____P303____。
以下10题是多选。
1.软件工程的目标有___易于维护,低的开发成本,高性能_____。
2.画分层DFD图的基本原则有_数据守恒原则,子、父图平衡的原则,数据流封闭的原则
3.在进行面向对象分析时,所采用的模型有_对象模型,动态模型,静态模型
4.下列选项中哪些属于UML中的模型元素___
下列不是模型元素的是(D)。
A) 关联B) 聚合C) 依赖D) 笔记
5.源程序中的注释主要有__序言性注释,解释性注释_______。
6.UML中包括的事件有_______
UML中包括的事件有(ABCD)。
A) 条件为真B) 收
到另一对象的信号
C) 收到操作调用D) 时间表达式
7.下列各种图可用于动态建模的有____________。
下列各种图可用于动态建模的有(ACD)。
A) 状态图B) 类图C)
序列图D) 活动图
8.软件测试的基本原则是____________。
9.关于白盒法覆盖程度的论述中正确的是_____P224______。
10.进行系统修改时可能会产生维护的副作用,它们可能有______
4. 进行系统修改时可能会产生维护的副作用,它们可能有(A B C)。
A) 修改数据的副作用B) 修改错误后,又引入了新的错误
C) 修改代码的副作用D) 文档资料的副作用
1.瀑布模型的最大优点是将软件开发的各个阶段划分的十分清晰。
(0 )2.软件工程过程应该以软件设计为中心,关键是编写程序。
(0 )
3.划分模块可以降低软件的复杂度和工作量,所以应该将模块划分的越小越好。
(0 )
4.在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。
(0 )
5.面向对象的测试不能采用黑盒法,因为它是一种全新的开发模式。
(0 )6.修改了某个程序的错误后,可能会引入新的错误,因此要进行必要的回归测试。
( )
7.UML中泳道是一种分组机制,它描述了状态图中对象所执行的活动。
( 0 )
8.COR BA是由对象管理组织OMG提出的对象技术规范,曾经有着广泛的应用。
( 1 )
9.同步消息和异步消息的主要区别是:异步消息的发送对象在消息发送后,不必等待消息处理,可以立即继续执行,而同步消息则发送对象必须等待接受对象完成消息处理后,才能继续执行。
( 0)
10.UML中类图表现了软件模型的静态组织形式。
( 1 )
1.什么是原型开发方法?主要有哪两种类型?并说明其特点。
原型化开发方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,原型化方法又称速成原型法,强调的是软件开发人员与用户的不断交互,通过原型的演进适应用户不断改变的需求,将维护和修改阶段的工作尽早进行,是用户提前验收,从而使软件产品更加适用。
1.快速建立需求规格原型法
.快速建立需求规格原型法所建立的原型反映了系统的某些特征,有利于获得更加精确的需求说明书,需求说明书一旦确定原型就被废弃,之后的工作仍按照瀑布模型开发,所以也称废弃型。
2.快速建立渐进原型法
快速建立渐进原型法采用循环渐进的开发方式,对系统模型作连续精化,将系统需要具备的性质逐步添加上去,直至所有性质全部满足,此时的原型模型也就是最终的产品,所以也称为追加型。
2.什么是软件生存周期模型(软件过程模型,软件开发模型)?它有哪些主要模型?选择其中的一个模型简要说明其特点。
答:瀑布模型,增量模型,螺旋模型,喷泉模型,智能模型
螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
3.基于构件的软件开发的优势是什么?
答:
①开发的质量
基于组件的软件开发的一个明显优点就是提高了软件的质量。
可复用的组件相对于在单一应用中使用的模块来说,一般都更为成熟并具有较高的质量保证,
(1)可复用的组件在开发过程中都经过严格的测试。
(2)可复用的组件在不断复用过程中,其中的错误和缺陷会被陆续的发现,并得到及时的排除。
②开发的效率
基于可复用组件的软件开发对于提高软件开
发的效率也有着显著的作用。
软件复用已经渗透到了软件开发的各个阶段,在开发的各个阶段都有可以被重复使用的软件产品。
在分析和设计阶段可以复用的组件包括:应用框架、用例、分析和设计模型等产品。
在编码阶段可以复用的组件包括:函数库、子程序库、类库、二进制组件库等产品。
在测试阶段复用的组件包括测试用例和测试数据等产品。
显然使用现成可用的可复用组件比从头开始进行开发在开发效率上大为提高。
在软件开发的各个阶段使用相应的可复用组件对于提高软件产品的生产效率具有重大的意义。
然而使用可复用的组件对开发效率的影响受到多方面因素的影响,这些因素包括:应用领域、问题的复杂度、开发队伍的结构和规模、项目开发的周期、被应用的技术等。
由于在不同的应用中影响其开发效率的因素有所不同,所以可复用组件对开发效率的提高程度也是不同的,一般大约30%-50%的复用可以使开发效率提高25%-40%。
(可适当增减)
③开发的成本
使用可复用的现成组件进行软件开发比一切
都重新开发,其成本大为节省。
它避免了不必要的重复劳动和人力财力的浪费。
同时也必须意识到基于组件的软件开发也是有一定成本和代价的。
首先是开发可复用的组件的成本。
通常开发、测试、维护一个可复用的组件的成本是一个具有相同功能非复用组件的1.5-3倍。
因为可复用的组件需要有更强的适应性和更高的质量保证。
其次是建立和维护组件库的成本。
对组件库的管理、维护、检索和修改也需要投入相当的时间和金钱。
另外,在开发软件复用一个组件时,也是需要一定成本的。
虽然复用一个现成的组件的成本比重新开发的成本要低得多,只有后者的四分之一左右,但是复用的开销不会降到零。
(可适当增减)
4.什么是α测试和β测试?
答:α测试是在开发机构的监督下,在确认测试阶段后期由个别用户对软件进行测试,目的是评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持性),注重界面和特色。
β测试是在进行了α测试的基础上,由支持软件预发行的客户对FLURPS进行测试,主要目的是测试系统的可支持性,是在软件产品正式发布前的测试。
5.提高软件可维护性的方法有哪些?
答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。
在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。
在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。
在软件设计的复审中,应从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。
在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。
在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。
在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。
为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。
6.单元测试中白盒法与黑盒法的主要区别是什么?各自运用在什么情况下?
答:白盒法测试又称结构测试或逻辑驱动测试。
必须考虑程序内部结构和内部特性,针对特定条件或与循环集设计测试用例,对软件的主要逻辑路径进行测试。
一般主要用于模块测试。
黑盒法测试又称功能测试或基于规格说明的测试。
这种方法是从用户观点出发,测试时把被测程序当作一个黑盒,不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系或程序的功能的情况下,依靠能够反映着这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。
一般用于集成测试、确认测试及功能测试、系统测试等。
7.结构化程序设计的指导原则是什么?它有哪三种基本控制结构?
1.结构化程序设计是一种程序设计技术,他采
用自顶而下,逐步求精,单入口和单出口 2.
的控制结构。
由顺序,选择,循环三种基本控制结构组成。
8. 软件生命周期分为哪六个阶段?并对每个阶段作简要说明。
● 可行性研究与计划(确定系统的目标和规模,分析项目的可行性);
● 需求分析与规格说明(明确系统的规格和要求);
● 设计(包括概要设计和详细设计,将系统分解为模块);
● 编程(用程序语言实现每个模块,简单容易);
● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级);
● 运行维护(扩充功能、纠错等)。
(括号内的就是简要的说明)
9.为什么要进行软件维护?
答:软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。
一个中等规模的软件,如果其开发过程需要一二年时间,则它投入使用以后,其运行时间可能持续5~10年之久。
在这个维护阶段中,人们需要着手解决开发阶段尚未解决的问题,同时,还解决维护工作本身所产生的问题。
做好软件的维护工作不仅能够排除软件中存在的错误,使它能够正常工作,而且还可以使它扩充功能,提高性能,为用户带来新的效益。
维护阶段的花费约占整个软件生命期花费的67%。
因此,应充分认识到维护现有软件的重要意义。
10. 单元测试的功能是什么?主要采用什么方法?列举一个常用单元测试的工具。
功能:完成每个模块的测试,尽可能发现模块内部的错误,提高软件开发效率和质量,不但是工作完成的更轻松,而且会令你的设计变的更好,减少花在调试上面的时间,可以提高底层代码的正确性,从而提高调用它的高层代码的正确性,从而使代码更加完美。
基本方法:模块接口测试,重要路径测试,边界条件测试,局部数据结构测试,错误处理测试。
常用工具:java的JUnit,c++的CppUnit
11. 请简单的谈一下安全测试?
(这个貌似书上木有,就在网上找的,大概看看会给分的)
安全测试检查系统对非法侵入的防范能力。
安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。
例如,①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。
理论上讲,只要有足够的时间和资源,没有不可进入的系统。
因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。
此时非法侵入者已无利可图。
安全测试用来验证集成在系统内的保护机制是否能够在实际中保护系统不受到非法的侵入。
俗话说:“ 系统的安全当然必须能够经受住正面的攻击—但是它也必须能够经受住侧面的和背后的攻击。
”
在安全测试过程中,测试者扮演着一个试图攻击系统的个人角色。
测试者可以尝试去通过外部的手段来获取系统的密码,可以使用可以瓦解任何防守的客户软件来攻击系统;可以把系统“制服”,使得别人无法访问;可以有目的地引发系统错误,期望在系统恢复过程中侵入系统;可以通过浏览非保密的数据,从中找到进入系统的钥匙等等。
只要有足够的时间和资源,好的安全测试就一定能够最终侵入一个系统。
系统设计者的任务就是要把系统设计为想要攻破系统而付出的代价大于攻破系统之后得到的信息的价值。
12.什么是CMM?CMM将软件过程的成熟度分为哪几个级别?
CMM叫软件能力成熟度模型,是由美国卡内基——梅隆大学软件工程研究所推出的评估软件能力与成熟度的一套标准。
分为:初始级、可重复级、已定义级、已管理级和优化级
案例分析题:
1.现在有很多网上商城,用户登录商城后可以选择商品放在自己的购物篮,确定购物后可以到支付中心付款,然后就可以等待供货。
1) 请根据自己的理解给出用户在网上商城购物的数据流图。
2) 选取一个数据流给出其数据流条目;选取一个文件给出其文件条目;选取一个数据项给出其数据项条目;选取一个加工给出其加工条目。
答:1.在线购物流程包括会员购物过程、会员退货过程、商品管理过程和会员管理过程,下面以图片形式分别展示一下:
图1.会员购物过程
图2.会员退货过程网上购物系统还包括商品与会员的管理系统。
图3 商品管理过程
图 4 会员管理过程
同学们可以在此基础上再根据自己的喜好添加功能哦,喵~
2.对于高校图书馆的图书管理系统,主要面向高校师生提供图书借阅服务。
1)根据自己的理解,设计图书管理系统的功能,需要给出软件架构图。
功能应尽量完善、条理清楚,有必要的说明。
2)请画出图书管理系统的UML用例图。
若某用例需要进一步细化,可给出其子用例图。
并用文字对用例图进行简要的说明。
3)图书对象应该有不同的状态,根据自己的理解,用UML状态图说明图书状态的变迁情况。
并用文字对状态图进行简要的说明。
4)对于图书管理系统,除了提供基本的借阅及图书信息管理功能外,应该还有深层次的信息挖掘功能,例如可以统计出哪些图书在某段时间受同学们的欢迎,这些信息挖掘功能可以提供决策信息,以更好的指导图书馆的工作。
你认为图书馆管理系统可以提供哪些深层的数据挖掘功能?
答:除了最受欢迎的图书外,还可以增加某段时间大家都搜索的一些关键字,可以指导图书馆采购人员相应的有针对性的采购图书。
(同学们可以自己再想想有哪些)。
3. 大一新生报道需要办理很多手续,例如需要验证录取通知书、领取报道单、缴纳学费、领取宿舍用品、领取军训服装等等,有的手续需要在办理其他手续后方可办理,例如只有验证了录取通知书后才能办理其他手续,而只有缴纳了住宿费之后才能领取宿舍用品。
1)请根据自己的理解,列出新生报道需要办理的手续,同时详细说明彼此之间的约束关系。
答:手续:流程1:验证录取通知书,领取报到单,缴纳学费宿舍费,领取学费宿舍费回执,领取军训服装,领取宿舍用品,圈饭卡,到食堂吃饭,到浴室洗澡,到超市买东西。
约束关系的话亲们就不用我说了吧,大家都应该知道哪个要先做哈。
咩哈哈~~
2)根据以上分析,给出新生报道的数据流图。
并选取一数据流给出其数据流条目;选取一文件给出其文件条目;选取一数据项给出其数据项条目;选取一加工给出其加工条目。
(亲们此题的答案可以参考第一题,是一样的哦)。
4..有一房地产销售管理系统,主要功能有房源查询、房源预定、房源签约、退房操作、换房操作、房款管理、销售统计、房款统计,销售人员主要进行房源的销售操作,财务人员负责房款的收取,销售主管能够及时汇总销售情况和房款收取情况。
1)请画出房地产管理系统的UML用例图。
2)对于一套房源,有三种状态:待售状态、预定状态、已售状态,请用UML 状态图给出房源的状态变迁情况,并用文字简单说明。
3)采用面向对象的设计思想,试给出该系统应该包含的主要类,并做简单说明。