ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:782.56KB ,
资源ID:18272160      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18272160.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程课后题答案Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程课后题答案Word格式文档下载.docx

1、是指导计算机软件开发和维护的一门工程学科。 特性略。 技术措施和管理措施消除软件危机。6 软件工程的三要素;方法、工具和过程。7. 结合自己的亲身经历,谈谈软件工具在软件开发过程中的作用。使软件开发更加模式化,工程化,从而提高软件开发的效率和封装性。8. CASE 的研究和CASE 产品的开发是近年来软件工程领域的特点之一。请列举数种你所熟悉的CASE 工具或环境,综述它们的概念和优缺点,并分析其实现方法。rose、“数据字典”(工具)第二章1. 什么是软件生命周期?它有哪些活动?软件生命周期是指软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程。软件生存周期可以划分为软件定义、软

2、件开发和运行维护3 个时期2. 每一种过程模型的优点和缺点分别是什么?瀑布模型:优点:它在软件发展的早期,为开发人员提供了一种开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件的开发方法和工具的研究和使用,从而提高了大型软件项目开发的质量和效率。缺点:(1)在软件开发的初始阶段指明全部需求是非常困难的,有时甚至是不现实的(2)需求一旦确定,用户和软件项目负责人要等一段时间(经过设计、实现、测试、运行个阶段)才能得到一份软件的最初版本。(3)瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会大大增加软件开发的工作量;而且当管理人员以文档的完成情况来评估项目完成进度

3、时,往往会产生错误的结论,因为后期测试阶段发现的问题会导致返工,前期完成的文档只不过是一个未经返工修改的初稿而已。原型模型:原型系统能够逐步明确用户需求,可以适应需求的变化性,而且由于用户参与到软件开发过程,能够及早发现问题、降低软件开发的风险,加快软件产品的形成,降低软件开发的成本。(1)对于大型软件项目,如果不经过系统分析并对系统进行整体划分,直接用原型来模拟系统功能是十分困难的。(2)对于计算量大、逻辑性较强的程序模块,原型法很难真正构造出来供用户评价。(3)对于批处理系统,其大部分处理是内部进行的,应用原型方法有一定的困难。(4) 原型的快速构造特点导致项目文档容易被忽略,给原型的后期

4、改进和维护造成困难。(5)在原型建立中的许多工作进展会被浪费掉,特别是对于丢弃型原型策略。在一定程度上,增加了系统的开发成本,降低系统的开发效率。螺旋模型:喷泉模型:可以提高软件项目开发效率,节省开发时间。由于各个开发阶段的重叠性,开发人员的管理和阶段生成的文件管理存在困难。增量模型:(1)是能在较短时间内,向用户提交可完成部分工作的产品。(2)逐步增加产品功能,可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。增量的力度选择也很难把握,有时候很难将客户的需求映射到适当规模的增量上。构件组装模型:这大大提高了软件开发的效率,而且构件模型允许多个项目同时开

5、发,降低了费用,提高了可维护性。由于存在多种构件标准,缺乏通用的构件组装结构标准,如果自行定义标准的话,会引入较大的风险;构件可重用性和软件系统高效性之间不易协调,需要权衡;RUP:RUP具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足:RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;

6、此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说RUP是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对RUP进行补充和完善。3. 软件瀑布模型为什么要划分阶段?各个阶段的任务是什么?在软件开发早期,开发只是被简单地分成编写代码和修改代码两个阶段。往往在拿到项目后立刻编写程序,然后调试通过后直接交付给用户使用。如果应用中出现错误,或者有新的要求,都需要重新修改代码。这种小作坊式的软件开发方法有明显的弊端,如缺乏统一的项目规划、不太重视需求的获取和分析、对软件的测试和维护考虑不

7、周等,这些都会导致软件项目的失败。概念阶段:计划、需求分析开发阶段:设计、编码、测试维护阶段:运行维护4. 什么是原型?试述原型模型在软件生命周期中的应用。原型一般是指对某种产品进行模拟的初始版本或者原始模型,在工程领域中具有广泛应用。由于软件规模和复杂性越来越大,软件开发在需求获取、技术实现手段选择、应用环境适应等方面面临巨大考验。为了应对早期需求获取的不易以及后期需求的变化,人们选用原型方法构造软件系统。5. 为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性?6RUP 模型的思想是什么?RUP 模型融合了哪些传统生命周期模型的特点?迭代增量开发思想;(1)面向对象:从技术角

8、度,RUP开发是基于面向对象技术,即它使用和支持面向对象技术的概念和方法。RUP要求建立的设计模型、实现模型都是对象模型。(2)USE CASE驱动(3)以架构为中心;(4)螺旋上升式的开发过程;(5)以质量控制和风险管理为目标;(6)与UML配置;(7)适用性强;7. 举例说明哪些项目的开发适用于原型模型或螺旋模型,哪些不适于采用这两种模型。螺旋模型适合于大型软件的开发,应该说它是最为实际的方法,它吸收了软件工程“演化”的概念,使得开发人员和客户对每个演化层出现的风险有所了解,继而做出应有的反应。不适用:小型软件。大型软件项目;含有对于计算量大、逻辑性较强的程序模块;第三章1. 可行性研究的

9、任务是什么?可行性研究的任务是以最小的代价在尽可能短的时间内确定问题是否能够解决。简单地说,可行性研究的最终结果是决定项目“做还是不做”而不是“如何做”。2. 可行性研究有哪些步骤?1. 确定系统规模和目标2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型4. 重新定义问题5. 导出和评价选择的解法6. 推荐行动方针7. 草拟开发计划8. 书写计划任务书文档并提交审查3. 成本-效益分析可用哪些指标进行度量?如果用比率分析法,有以下几种指标:1,相关指标分析法。产值成本率=成本/产值*100%;销售收入成本率=成本/销售收入*100%;成本利润率=利润/成本*100%2,构成比率分析法

10、,直接材料费用比率=直接材料成本/产品成本*100%直接人工费用比率=直接人工费用/产品成本*100%制造费用比率=制造费用/产品成本*100%4. 项目开发计划有哪些内容?引言(目的、背景、参考文献、术语);项目概述(功能、条件、运行环境、产品、程序、文档、服务、验收标准、实施计划、工作任务分解、进度、预算、人员)5. 按照题意设计如下流程图:计算机房产管理系统:要求系统有分房、退房、调房、咨询和统计功能。房产科把住户申请表输入系统后,系统首先检查申请表的合法性,不合法的拒绝接受,合法的申请表根据申请表类型(分、调、退房)分别进行处理。分房申请处理:根据申请者的情况(年龄、工龄、职称、职务、

11、家庭人口等)计算其分数;当分数高于给定值时,按分数高低将申请单插到分房队列的适当位置,输出核准后的分房单。分房处理:每月月底进行分房。从分房文件中读出空房信息,然后根据住户的实际情况,从住房标准文件中读出住房标准进行校核,如果符合,则分配住房给该住户,打印出住房分配通知单,并登记相应的住户信息。退房,调房处理类似。咨询、查询:对空房、住房、房租情况进行查询和统计。6. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。写出问题定

12、义并分析此系统的可行性,画出系统流程图。7. 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知单和账单交款取票,系统校对无误即打印出机票给旅客。这个系统的可行性是在一个理想的环境下,比如:乘客不满意安排的座位需要调换,或者需要改机票;这些种种因素都没考虑进去。技术上可行:使用现有的技术能实现这个系统;经济上可行:这个系统的经济效益可以超过他的开发成本;操作上可行:操作方式简单,但是有缺陷;社会、政策允许的可行性:可行。8. 某计

13、算机系统投入使用后,5 年内每年可节省人民币 2 000 元。假设系统的投资额为5 000 元,年利率为12。试计算投资回收期和纯收入。解:第四章1. 什么是需求工程?需求工程包括哪些活动?需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统,及其行为特征和相关约束,形成需求文档;并对用户不断变化的需求演进给予支持。一个良好的需求开发过程应该包括需求获取、需求分析与建模、编写需求规格说明书和需求评审4 个主要活动。2. 需求分为哪些层次?业务需求、用户需求和功能需求3. 指出下列

14、需求描述的不当之处,并进行改写,使之符合好需求的特性。(1) 产品应在不少于每60 秒的正常周期内提供状态信息。(2) HTML 分析器可以产生HTML 标记错误报告,帮助HTML 入门者快速解决问题。(3) 产品应瞬间在文本中的显示和隐藏不可打印字符间切换。好的需求应具有的特性能对一些需求描述的不当之处进行改写,使之符合好的 需求特性。4. 对于一个小型图书馆管理系统,试给出非功能需求的描述。软件的非功能性需求包括:可靠性、可用性、有效性、可维护性和可移植性。其中,在可靠性方面可以考虑平均无故障时间 (Mean Time Between Failures,MTBF)、平均修复时间 (Mean

15、 Time to Repair,MTTR)是多少,复制和故障转移的方案是什么,系统出现故障时是否需要手动干预,系统的安全性如何等。可用性方法可以考虑系统是否为用户带来不适当的负担(如需要特殊浏览器等),系统是否每天24 小时,每年365天不间断提供服务等。5. 需求工程过程包括哪些主要活动?需求开发过程应该包括需求获取、需求分析与建模、编写需求规格说明书和需求评审4 个主要活动。6. 有哪两种主要的需求分析模型?它们的主要思想是什么?7. 需求规格说明书的主要作用是什么?应该包括哪些主要内容?作用:(1) 作为用户方和开发方之间的合同,为双方相互了解提供基础。(2) 反映问题的结构,作为系统设

16、计和编码的依据。(3) 作为测试和验收目标系统的依据。内容:用户可以通过需求规格说明书检查需求描述是否满足原来的期望。设计人员根据软件需求规格说明书的描述了解所需开发软件的功能和性能,以及开发软件时必须满足的约束,将其作为软件设计的依据。测试人员根据软件需求规格说明书中对产品的描述,设计测试计划、测试用例和测试过程。产品发布人员根据软件需求规格说明和用户界面设计编写用户手册和帮助信息8. 试建立一张需求评审的检查表。客户需求调查表1.收集公司的相关信息,比如公司名、地址、网站、联络人的详细资料、电子邮件地址以及电话号码。2.在这个渗透测试项目中您的关键目标是什么?3.确定渗透测试类型(包含或者

17、不包含特定标准):黑盒测试(或外部测试)白盒测试(或内部测试)测试前事先通知测试前不通知包含社会工程学不包含社会工程学调查员工背景信息使用虚假的员工信息包含拒绝服务攻击不包含拒绝服务攻击渗透业务合作伙伴的系统4.总共需要测试多少台服务器、工作站和网络设备?5.贵公司的基础设施架构支持什么操作系统技术?6.需要测试什么类型的网络设备?防火墙、路由器、交换机、调制解调器、负载平衡器、IDS、IPS,还是其他类型的设备?7.有没有什么灾难恢复计划?如果有的话如何操作?8.当前网络有没有安全管理员在管理?9.有没有什么特定的工业标准需要遵循的?如果有,请列出来。10. 该项目的联络人是谁?11. 该项

18、目的时间周期是多久?以周或天为单位。12. 该项目的预算是多少?13. 请列出所有其他的需求。9. 需求管理有哪些主要活动?各有什么作用?主要包括需求变更控制、需求版本控制、需求跟踪和状态跟踪等活动10. 为什么要进行需求跟踪?如何建立需求跟踪矩阵?需求跟踪矩阵有什么作用?1为了管理需求,需要维护需求的可跟踪性信息。2,矩阵的第一列列出需求规格说明书中每一项需求的标号,矩阵的每一行显示了这一行所代表的需求依赖的其他需求、设计、代码和测试用例。3(1) 能够完整地定义需求之间的各种关系,并提供可视化的表示方式。(2) 在一个需求发生变更时,系统能够按照所定义的需求跟踪链, 跟踪到所有受影响的需求

19、。第五章1. 简述面向数据流分析方法的基本思想。“分解”和“抽象”;2. 简述数据流图分解时的注意事项。 上层可分解得快些(即分解成的子数据处理个数多些),这是因为上层是综合性描述,对可读性的影响小。而下层应分解得慢些。 在不影响可读性的前提下,应适当多分解成几部分,以减少分解层数。3. 数据字典的作用是什么?它有哪些基本内容? 分解应自然,概念上要合理、清晰。数据字典作为分析阶段的工具,有助于改进分析人员和用户间的通信,进而消除很多的误解,同时也有助于改进不同开发人员之间的通信;数据字典的内容主要是对数据流图中的数据项、数据流、加工逻辑、数据存储和外部实体4. 根据以下描述的业务过程画出库存

20、管理的数据流图。根据车间发来的产品入库单做登入库账处理后存入库存账。对销售科发来的产品出库单,在查阅库存账后,如果库存数量足够,则做登出库账处理,否则将出库单退回销售科,并向生产科发出缺货通知。5. 某仓库管理系统按照以下步骤进行信息处理:(1)保管员根据当日的出库单和入库单通过出入库处理修改库存台账。(2)根据库存台账由统计打印程序输出库存日报表。(3)必要进行查询时,可利用查询程序,在输入查询条件后,到库存台账去查找,并显示查询结果。试按上述过程画出数据流图。6. 某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名住址存款类型存款日期利率

21、等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用数据流图描绘该功能的需求,并建立相应的数据字典。7. 某厂对部分职工重新分配工作的政策是:年龄在20 岁以下、初中文化程度者脱产学习;高中文化程度者当电工。20 岁至40 岁之间,初中文化程度,男性当钳工,女性当车工;大学文化程度都当技术员。年龄在40 岁以上者,初中文化程度当材料员,大学文化程度当技术员。请用结构化语言判定表或判定树描述上述问题的加工逻辑。第六章1. 什么是面向对象方法?与传统软件开发方法相比,面向对象方法有什么优点?是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法1. 符合人们对问题的认识习

22、惯2. 增强问题域与最终软件系统之间的衔接3. 易于维护和复用4. 易于开发大型软件产品2. UML 与面向对象方法的关系是什么?UML是在总结面向对象技术应用实践的基础上;3. UML 的内容包括哪些部分?它的特点是什么?UML 由视图(Views)、模型元素(Model Elements)、图(Diagrams)等部分组成。(1) 统一标准(2) 面向对象(3) 可视化、表达能力强(4) 独立于过程。(5) 易掌握、易用4. 解释下列术语,并举例说明。对象、类、关联、泛化、聚合、依赖5. 什么是模型?在软件开发过程中为什么需要建立模型?6Coad-Youdon 面向对象分析方法将建立概念模

23、型分为5 个步骤。以一个你熟悉的应用系统(如图书馆信息管理系统)为例,按照方法规定的步骤,分层建立适当的概念模图书馆信息管理系统7假设你所在的学校要开发一个研究生选课系统,要求该系统能够根据预先制订的课表保证选课无冲突。请采用UML 面向对象方法为该问题建立需求模型。8设计一个计算机游戏软件的游戏规则、情节及场景,基于UML 给出其需求分析模型。第七章1. 面向对象分析包括哪些活动?应该建立哪些类型的模型?面向对象分析OOA 模型的过程包括理解用例模型、识别分析类、定义交互行为、建立分析类图、评审分析模型5 个活动组成。目标是建立一个符合问题域、满足用户需求的OOA 模型。2. 什么是实体类、

24、边界类和控制类?为什么将分析类划分成这3 种类型?实体类:用于描述必须存储的信息,同时描述相关的行为。实体类代表拟建系统中的核心信息。在RUP 的有关文档中对实体类的解释为:“实体类是用于对必须存储的信息和相关行为建模的类。边界类:在系统与外界之间,为它们交换各种信息与事件。边界类处理软件系统的输入与输出。在RUP的有关文档中对边界类的解释为:边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。控制类:与业务过程相关,它们控制整个业务的流程和执行次序。在RUP 的有关文档中对控制类的解释为:控制类用于对一个或几个用例所持有的控制行为进行建模。控制类对象可以和边界对象交互,也可以和

25、实体对象交互,但不能和用例的参与者直接进行交互。3. 请思考本章所讲案例中的其他用例的参与类图。4. 搜索关于面向对象分析的文章,对比不同的分析技术,并给出这些技术的优缺点。5. 针对自己所选定的系统,对用例模型进行分析,建立相应的模型,从而在分析出各个分析类,建立出分析类图。第八章1. 什么是软件设计?它的目标和任务是什么?软件设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能的实现。即把软件需求转换为软件包表示的过程。2目标:软件设计的最终目标是产生一个设计规约,该规约包括体系结构、描述数据、接口和构件的设计模型。软件设计的任务,就是把分析阶段产生的软件需求规格说明转换为

26、用适当手段表示的软件设计文档。2. 怎样实现信息隐藏?模块独立是信息隐藏的直接结果。信息隐藏原理告诉我们,模块应该设计得使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问;每个模块只完成一个相对独立的特定功能,模块之间仅仅交换那些为完成系统功能必须交换的信息,即模块应该独立。3. 逐步求精、分层过程与抽象等概念之间的相互关系如何?程序的体系结构是通过逐步精化处理过程的层次而设计出来的。通过逐步分解对功能的宏观陈述而开发出层次结构,最终得出用程序设计语言表达的程序。求精实际上是细化过程。抽象与求精是一对互补的概念。抽象使得设计者能够说明过程和数据,但却忽略了底层细节。求精则帮助设计者

27、在设计过程中逐步揭示底层细节。4. 完成良好的软件设计应遵循哪些原则?模块化与模块独立性;抽象与逐步求精;信息隐藏。5. 如何理解模块独立性?用什么指标来衡量模块独立性?模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。一般采用两个准则度量模块独立性,即模块的内聚性和模块间的耦合性。6. 说明软件设计阶段的任务和过程软件设计分两步完成,即总体设计与详细设计。第一个阶段是总体设计,即概要设计或初步设计。这一阶段主要确定实现目标系统的总体思想和设计框架,确定程序由哪些模块组成,以及模块与模块之间的关系,最后提出概要设计说明书。第二个阶段是详细设

28、计,即过程设计或构件级设计,其任务是通过对结构表示进行细化,确定各个软件构件的详细数据结构和算法,产生描述各个软件构件的详细设计文档。7. 试说明软件体系结构在软件设计阶段中的重要性。良好的体系结构设计是决定软件系统成功的重要因素。软件体系结构设计的好坏往往会成为一个系统设计成败的关键。通常,软件体系结构涉及软件的总体组织、全局控制、数据存取及子系统之间的通信协议等。8. 目前存在哪些不同的设计复审方法?各有什么特点?目前存在着两种不同的设计复审方法。1) 正式复审2) 非正式复审正式复审包括各方面的参加人员,通常采取正式会议的方式。非正式复审的特点是参加人数少,且均为软件人员,带有同行讨论的性质,方便灵活,十分适合于详细复审。第九章1. 简述模块分解的原则和依据。1. 改进软件结构以提高模块独立性设计出软件的初步结构以后,应该审查分析这个结构,通过模块分解或合并,力求降低耦合提高内聚。2. 模块的大小要适当经验表明,一个模块的规模不应过大,通常规定其语句行数为50100 行,最多不超过500 行。,体积过大的模块往往是由于分解不充分,且

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1