1、 2016 年广东海洋大学软件工程试题题型:1 选择题(25*2=50 分)2 填空题(10*2=20 分)3 问答题(3 题 30 分)1、 选择题(25*2=50 分)具体考点如下,不分顺序(其中有一些是所选答案)1 细化阶段2,3 用例(图)相关 2 题4 确认测试5 系统测试6 包7 泛化关系(身份验证)8 边界值分析法9 螺旋模型10 软件需求说明书11 基本路径测试,覆盖12 构件13 逆向工程,再工程14 瀑布模型,原型建造等四种模型那些(语音识别)15 黑板模型,分层模型16 类图(“人”包括哪些,答案是公共部分那些,类似于 java 的类)17 依赖关系18 安全性(报警)1
2、9 测试人员有多少个(这是题目,请找相应知识点复习)20 传统流程图和活动图的根本区别是什么21 系统软件和外部环境交互的类22 元素组织成组23 泳道(活动图)24 概要设计说明书/项目开发计划(下面哪个文档说明“如何做” )25 预防性维护2、 填空题3、 问答题注:填空题和问答题 90%在下面这里出,背熟就好(红色为考到内容) 。广东海洋大学软件工程复习重点1.1什么是软件工程?构成软件工程的主要要素是什么?影响软件工程技术进步的动力是什么? 将系统的、规范的、可量化的方法应用于软件开发、运行、维护的过程 包括 中的方法的研究五要素:人、过程、项目、方法和工具、软件制品硬件能力、软件技术
3、、社会需求和科学技术水平1.2阐述软件的正确性、可用性、可靠性、有效性、安全性、可维护性、可移植性和可复用性的概念,并指明这些概念的重要性。正确性, 软件满足需求规约和用户目标的程度可用性, 学习和使用软件的难易程度,包括操作软件、为软件输入数据、解释软件输出结果等。可靠性 软件完成预期功能,成功运行的概率有效性 软件系统利用计算机的时间资源和空间资源完成系统功能的能力1.10阐述通用软件开发过程的五项活动,分析通用软件开发过程的优点。通用软件过程模型用 “沟通、策划、建模、构建、部署” 5 项活动构建软件过程模型。 在软件项目管理等普适性活动的支持下进行软件开发,增强了软件的开发能力、突出了
4、软件工程特色,具有较大的灵活性和适应性。2.4研究图 2.1(课本 60,61 页)所示的面对对象的迭代式软件开发过程,描述在立项,初始,细化,构造和移交阶段分别可能使用哪些 UML 图形机制,为什么?初始阶段用例图 描述软件需求活动图 表示业务处理过程交互图 表示用例内部实现过程细化阶段包图、构件图和部署图 表示软件体系结构构造阶段类图 交互图 活动图 状态图 构件图表示软件详细设计模型移交阶段部署图3.1以下陈述哪些是有效的用户需求?请说明理由。答案:目标软件应该用 java 语言实现。软件系统必须在 5 秒内响应并处理外部事件目标软件应该由一些特定的模块构成。当目标软件与用户交互时,必须
5、使用某些特定的菜单和对话框。其中,项是用户的有效需求。是用户对系统性能的需求;是用户对系统功能的需求;是用户对系统使用界面的需求。而是程序设计对计算机语言的需求,应该由系统设计人员提出,所以不是用户的有效需求。3.2下述语句哪些属于不精确的用户需求?对不精确的需求描述,给出相应的需求分析对策。 答案:系统应表现出良好的响应速度。系统必须用菜单驱动。在数据录入画面,应该有 25 个按钮。系统运行时占用的内存不得超过 128KB。电梯应平稳运行即使系统崩溃,也不能损坏用户数据。其中,是不精确的用户需求。应该指出:哪个功能要有速度响应要求,具体的数据是什么?平稳运行的具体定义是什么?例如上升时具体要
6、求抖动的参数不大于多少等等;没有说明应该采取什么具体措施保护数据。P74 3.1构成需求工程过程的工作流需求工程策划-需求获取-需求分析-需求规范化-需求验证-总结用例驱动的需求获取过程(主要步骤)1.定义软件问题2.创建框架用例3.精化用例4.评审用例模型需求分析的任务需求分析的任务是在需求获取阶段的输出制品的基础上,获得对软件需求更深入、更完整的理解,并且将软件需求表示为面向软件设计人员、易于修改和维护的分析模型用例驱动的需求分析过程的主要活动(P134)(1)需求优先级分析(2)用例分析(3)分析模型评审(4)为辅助需求分析而构建快速原型P1346.9 软件设计应遵循哪些原则抽象与逐步求
7、精强内聚及松耦合信息隐藏及关注点分离P172 6.4构成软件设计过程的工作流设计策划-体系结构设计-人机交互设计-详细设计-设计整合与验证-总结P190 193用户界面设计过程的主要活动 P2271.用户分析,任务分析及建模2.概念设计3.界面流设计4.界面精化详细设计过程的主要活动 P2391.用例设计2.子系统设计3.构件设计4.类设计5.数据模型设计6.设计整合与验证9.3 在面向对象的设计模型中,如何检查类图与顺序图之间的一致性?首先把类图和顺序图形式化为本体,然后将规则法中定义的一致性规则转换为本体操作,通过在转换得到的本体上实施这些操作实现一致性检查。12.3 简述软件测试的任务和
8、原则任务检查软件是否满足需求规约,并在软件制品交付前尽可能发现软件中潜伏的缺陷,减轻交付后软件改正性维护的开销。原则1.测试是一个持续进行的过程,而不是一个阶段。2.测试一定有计划,受控制,并提供足够的时间和资源3.测试应当分优先级4.测试应当有重点5.测试不是为了证明程序的正确性,而是为了证明不能工作6.测试是不可能穷尽的,当测试充分性满足时就可以停止测试7.测试是开发的朋友,不是开发的敌人8.测试人员应公正地测试,如实地记录和报告缺陷9.测试自动化能解决一部分问题,但不是全部。10.测试不能仅仅包括功能性验证,还应包括性能、可靠性、可维护性和安全性等方面的验证12.5 何谓测试用例?一般包
9、括哪些内容?为测试设计的输入数据称为测试用例。生成输入数据、程序执行条件、测试步骤和预期的输出12.22“确认测试”应由谁完成,软件开发人员还是软件用户?说明理由。答案:“确认测试”应由软件用户来完成,“确认测试”的目的是测试系统是否达到用户对功能的需求,性能的需求以及使用的需求,所以,“确认测试”应该主要由用户来完成。12.24 测试与 测试有何差别?答案: 测试是系统开发者进行的测试,用户不参与,主要是进行系统各项技术性能的测试; 测试是用户的测试,通常开发人员不在场,主要是对系统使用功能的测试。 测试是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件制品进行测试,试图发现缺陷并
10、改正。 测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用 版本,并要求用户报告异常情况,提出批评意见。软件维护的分类纠错性维护、完善性维护、适应性维护、预防性维护13.7 为何要进行软件逆向工程在软件开发过程中使用逆向工程,因有全部开发文档和开发环境的支持,速度快、效率高,软件制品的质量能得到很好的保障。 13.8 软件重构可能包括哪几个层次的工作文档重构、重组、逆向工程、再工程。试述用户界面设计应考虑的因素。 答:(1)可实用性。要求使用简单,用户界面中所用术语的标准化和一致性,具有 help 功能。快速的系统响应和低的系统成本,具有容错能力。 (2)灵活性。考虑用户的特点,能力,知识水平;提供不同的系统响应时间,提供根据用户需求制定和修改界面, (3)界面的复杂性与可靠性