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