软件工程方法与实训.doc_第1页
软件工程方法与实训.doc_第2页
软件工程方法与实训.doc_第3页
软件工程方法与实训.doc_第4页
软件工程方法与实训.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程方法与实训习题答案 2011-9-22习题一31 软件是什么?软件有那些特点?32 按照功能层次,软件可分为那些层次的软件?33 按照服务对象,软件可分为用户定制软件通用商业软件.举例说明两类软件的区别34 什么是软件工程,其对软件产业化发展有什么积极意义?35 软件工程涉及工程,方法,工具三个方面的技术问题.这三个方面存在着什么相互关系? 试举例说明它们之间的联系36 软件工程管理主要体现在四个p上,简述各个管理,并谈谈自己的认识47对工程目标进行优先级排序48 结构化方法有什么特点?49操作Microsoft Visio 谈谈你自己的感受4习题二41 软件开发期的目标任务是什么?概要设计需要完成什么任务?42瀑布模型的一大特点是里程碑管理机制,对此,你有什么认识?53为什么瀑布模型不能很好的适应用户需求变更?54 试说明抛弃型原型与进化型模型的异同55一般认为,原型进化模式不能适应较大型软件项目的开发,原因是什么?56增量模式可体现出那些方面的优越性?57开发一个”综合信息管理系统”,选择一个比较合适的过程模式,说明理由.6习题三61 软件开发机构内都设有质量控制部,并将其防灾开发部服务部之上,对此,你什么看法62 通常认为,项目负责人不一定是技术专家,但必须是管理专家,对此,你有什么看法?63 你将如何管理项目小组,以使其具有较高的工作热情?64是比较民主分权制与住程序员负责制的优劣?为什么?65 需要开发一个学生管理系统,对该项目作出比较合理的任务及进度安排.76 用c语言开发一个矩阵运算程序,计算工期和人力成本77 开发一个设备监控程序,并计算人力成本78 软件项目中主要有那些技术文档,管理文档和用户文档79 为什么软件开发需要有配置管理,其主要包括那些方面的管理?710 为什么配置管理中需要有开发库,基线库和产品库这三个配置库?711 什么是质量标准?7习题四81 计算机系统有哪些元素组成?特征是什么?82 举例说明Client/Server 结构的系统扩充性84 B/S结构有哪些特点?与C/S相比有哪些优势?84 对于网络商务软件,你将如何考虑其体系结构?说明理由85 对于网络游戏软件,你将如何考虑其体系结构?说明理由86软件开发为什么要做高层分析?需要进行哪些方面的高层分析?87开发一个网上商品订购系统88 软件项目实施前为什么要进行可行性分析?涉及那些方面的可行性分析?89 如果软件开发所采用的技术既先进有成熟,该技术是否一定具备可行性?910 browser|server结构有哪些特点?与client、server结构比较,有哪些.9习题一1 软件是什么?软件有那些特点? 答:软件是计算机系统中的逻辑成分,是程序,数据,文档等这多逻辑元素的集合,需要有物理硬件的支持才能产生作用. 软件具有以下三个特点:一,软件有对硬件不可缺失的依赖.二,软件有不同于硬件的生产流程.三,软件有不同于硬件的生命过程.2 按照功能层次,软件可分为那些层次的软件? 答:SQL Server是系统软件,ADO.NET是支撑软件,VisualC+是应用软件.3 按照服务对象,软件可分为用户定制软件通用商业软件.举例说明两类软件的区别答:用户定制软件大多是以招标方式获得开发任务.开发机构受特定客户委托开发的软件,并以合同形式的确定开发机构与客户直接按的责权关系,且定制软件有特定用户独享,因此需要针对特定用户进行专门的需求分析,以满足特定用户的特殊应用需要. 通用商业软件是开发机构根据社会需求自主开发的软件大多有广泛的用户群,为了满足通用性,通用商业软件往往需要面向用户的应用配置,以使软件能适应各种不同的工作环境和满足不同的应用需要.通用商业软件一般比用户定制软件有更高的技术要求,因此开发周期更长开发费用更高.4 什么是软件工程,其对软件产业化发展有什么积极意义?答:软件工程是将系统的受规范约束的可量化的方法应用于软件的开发,运行与维护,即将工程方法应用与软件;对工程方法的研究,应该说这个定义对软件工程的工程学科特性有了更完整和更清晰的表述,如软件工程的作用范围,软件工程基于工程应用的研究途径都有比较具体的说明.5 软件工程涉及工程,方法,工具三个方面的技术问题.这三个方面存在着什么相互关系? 试举例说明它们之间的联系答:软件过程是软件开发与维护的实施路线和具体步骤,并且是软件开打是的工程化框架,是工程方法与软件工具的以有效应用的基础. 软件工程方法是指开发和为软件是英爱如何做的一系列技术性方法.工程方法涉及的内容有工程规范技术手段,软件工程方法需要适应软件构成因此也就需要考虑不同过程中的工程方法的关联性. 软件工具用于对软件工程方法与软件过程的自动化或半自动化进行支持,软件工具也像工程方法一样,要求能够覆盖整个软件过程,如项目管理,软件分析,软件涉及,程序创建,软件测试等,都要求有合适的软件工具支持.同时软件工具分为高端工具和低端工具.6 软件工程管理主要体现在四个p上,简述各个管理,并谈谈自己的认识 答:软件工程管理主要体现在四个p上,即项目(Project),人员(People)产品(Produc)t过程(Process),它们是软件工程管理中必然涉及的四个要素. 项目是一个工程单位,软件开发即以软件项目为单位实施,应该说,软件项目使软件开发中的各种因素(如人物,人员,设备,费用,产品等)集中到了一起,它使软件件开发有了管理的必要,并使软件开发有了管理的便利,项目管理的首要工作是制定项目计划,在软件开发工作起步的时候,就应以项目人物,工程环境为依据,制定出科学合理的软件开发计划,它是让软件开发的工作指南,内容涉及项目任务分解,人员配置,资源配置,成本估算,进度安排等.软件开发的人员组织结构是软件项目组,他是一个软件开发团队,其成员包括项目负责人,开发人员,资料管理员,软件测试员等.软件项目组有许多不同形式的组织结构如民主分散形式,控制集中形式等.过程管理是软件工程的技术基础,是一个工程框架,可将软件开发分解解为多个任务阶段或过程域.过程管理的第一项工作是选择一个与所承担的软件项目相适应的过程模式.可供选择的过程模式有瀑布模型,原型模型,增量模型,螺旋模型. 过程管理的第二项工作是基于所选过程模式制定出更加详细的里程碑计划,以便于软件开发能将给予各个里程碑获得有效的过程控制.产品管理包括产品质量管理和产品配置管理.产品质量管理 是为了确保产品质量而建立的一个有效的产品质量保证体系,他又质量标准,质量计划,质量控制等要素组成.产品配置管理是为使产品及其配套资源具有一致性必须建立完善的配置管理.产品配置管理的主要内容如下:标识软件配置项,控制软件变更.控制软件版本7对工程目标进行优先级排序8 结构化方法有什么特点?答:结构化方法的特点是以实现软件功能为基本目标.经过对软件分析,涉及,可逐步明确功能目标.其中,结构化分析的任务是搞清楚软件需要哪些功能要素,结构化涉及则分析获取的功能要求为依据,定义功能化程序模块,设计程序算法.面向对象工程方法的基本特征是程序系统可给予显示尸体构建,其中,类体被用来定义尸体,由类体生成的对象则被用来进行实体行为仿真.9操作Microsoft Visio 谈谈你自己的感受习题二1 软件开发期的目标任务是什么?概要设计需要完成什么任务?答:软件开发期的目标任务包括软件概要设计,软件详细设计,编码和单元测试,系统集成以及系统验收概要设计需要提交概要设计说明书,它将作为详细设计与系统集成的依据.2瀑布模型的一大特点是里程碑管理机制,对此,你有什么认识?答:瀑布模型可带来基于阶段任务的里程碑管理,这是一种可量化的并能适应大型项目的管理机制,科技与阶段设定和度量项目进程,可以按照阶段进行项目任务分配以及估算项目任务完成比例.通常,项目管理者可事先估算出每个阶段的任务量,并以此为依据规定每个阶段的任务时限,然后即可按阶段部署任务与监督项目进程.3为什么瀑布模型不能很好的适应用户需求变更?答:受限于线性过程,瀑布模式中的软件过程只能按照规程推进,而且必须等到所有开发任务完成以后,才能获得可以交付使用的软件产品.而且瀑布模式的灵活性不是很好,如果已经开始设计,则;来自于用户的一个很小的需求变更请求,也可能给软件项目带来大难题,由此导致项目延期.原型进化是指对已建原型的逐步修正,并通过逐步发布新的软件版本而使软件系统逐步完善,实际上,一个并不完整的初始版本即可投入使用,以满足软件应用继续,然后通过新版本对旧版本的更替而逐步的满足用户对于软件的多方面需要.原型进化模式只需对软件问题做初步分析,并在获得有关软件的需求框架之后,即可进行原型创建.原型创建包括需求细化,产品开发和产品验证等多项任务,这些任务是在同一个工作进程内并行或交替进行的.4 试说明抛弃型原型与进化型模型的异同答很多情况下,为需求分析与软件设计而建立的原型,在需求与设计问题确定下来之后,就失去了使用价值,因此被叫做抛弃型原型.它具有以下一些特点:抛弃型原型是用来对需求进行评价或对设计进行试探的,为使需求与设计问题尽快确定下来,并尽量减少原型成本抛弃型原型往往利用第四代语言或软件快速生成工具等创建. 抛弃型原型不需要投入实际应用,因此可以只针对某个专门的问题建立局部模型,而无需考虑完整性,抛弃型原型也可能是一个较完整的系统,但却是一个无需投入实际应用的试验品.软件原型也可考虑不断改进,它不会被抛弃,并需要最终演变为可交付的产品,这样的原型被叫做进化型原型.进化型原型由于将演变为可被用户使用的产品,因此一般要求最终产品开发平台上创建,开发者大多选择可视化开发工具创建进化模型,因为这些可视化开发工具不仅能快速创建模型,而且还能使原型投入实际应用,并逐步演变成为最终目标系统 .通常情况下.开发者西安建立界面原型供用户评价,并获得用户对原型的确认后,再逐步设计与实现诸多功能执行模块.5一般认为,原型进化模式不能适应较大型软件项目的开发,原因是什么?答:原型进化模式缺少瀑布模式所具有的里程碑管理机制不便于估算项目进度,不便于项目任务量化,并使软件质量难以得到控制.虽然可通过原型初始版本使软件尽早投入使用,但什么时候能够获得可满足全面需求的最终版本则搬移确定下来.原型进化模式对于面向用户的中小软件开发会有一定的优势,但却因为管理规程上的不足,而不能有效保证软件质量,不能适应大型软件系统的开发.6增量模式可体现出那些方面的优越性?答:增量模式结合了瀑布模式和原型进化模式的优点,并体现出以下方面的优越性:增量模式提供了基于增量的需求适应性,能面向用户需求进行系统开发,同时又具有良好的里程碑机制,能够基于里程碑管理软件项目,可使项目进程与任务量化,可提供有效的质量保证,因此能很好的适应大型应用软件系统的开发.增量模式在开发初期只需获取需求框架就可使软件项目顺利启动.增量模式中的软件规格细节定义是结合到增量构建的开发中进行的,因此可通过增量构建而逐渐完善需求.软件开发可按照增量构件的功能价值安排优先顺序,并逐个实现与交付.增量模式下的软件系统是基于增量构件逐渐扩充的,这种开发模式显然有利于开发者构件创建与系统集成的经验积累.增量模式还有利于从整体上降低软件项目的技术风险.7开发一个”综合信息管理系统”,选择一个比较合适的过程模式,说明理由.习题三1 软件开发机构内都设有质量控制部,并将其防灾开发部服务部之上,对此,你什么看法答:质量控制部提供软件质量标准,负责各阶段软件成果评审,负责软件开发过程质量控制以及产品服务质量监督.质量控制不大多置于组织结构的较高层次,以获得整个项目有效的质量监控.质量控制部的固定成员可能不多,主要任务是进行质量管理,当需要技术专家进行质量评审或质量鉴定时,则从产品开发部,产品支持部以及产品服务部邀请技术骨干,或是从有关科研院邀请技术专家临时担任.2 通常认为,项目负责人不一定是技术专家,但必须是管理专家,对此,你有什么看法?答:项目组是最小的软件开发团队,通常因项目任务而创建,项目负责人负责制定工序哦计划,负责任务分配与协调,负责项目成果评审.3 你将如何管理项目小组,以使其具有较高的工作热情?4是比较民主分权制与住程序员负责制的优劣?为什么?答:民主分权的特点是项目组成员完全平等,享有充分民主,通过协商作出项目决策.民主形势下也有项目负责人,但并不固定,可随时有其他成员替代.民主分权制的有点事,项目组成员的个人作为你那个狗较好表现,它们有较高的工作热情,成员之间有较好的民主交流,并有很好的技术协作.民主分权制的项目组对成员素质有较高的要求主程序员负责制是一种对项目组实施几圈控制的管理体系,项目组主要成员有主程序员后备程序员,资料管理员与一般程序员等.主程序员处于组织的绝对核心位置,负责整个项目计划的制定与实施,负责软件体系结构与接口设计,负责额关键部分的程序算法设计,还可能需要指导一般程序员完成一般算法设计和编码工作.主程序员负责制的优点是有严密的组织结构,相比民主分权制,这种管理机制更加规范,项目组成员的任务分工更加明确,项目中各项工作的开展更有条理和次序,因此往往能带来更高的开发效率与开发质量.5 需要开发一个学生管理系统,对该项目作出比较合理的任务及进度安排.6 用c语言开发一个矩阵运算程序,计算工期和人力成本7 开发一个设备监控程序,并计算人力成本8 软件项目中主要有那些技术文档,管理文档和用户文档答:技术文档:软件开发人员的技术性工作成果,如需求规格说明书,数据库设计说明书,概要设计说明书,详细设计说明书管理文档:软件开发人员的工作计划或工作报告,如项目开发计划,测试计划,开发进度月报,项目开发总结报告.用户文档:软件开发人员为用户准备的软件操作使用说明,如用户手册,操作手册,系统维护手册.9 为什么软件开发需要有配置管理,其主要包括那些方面的管理?答:软件配置叶儿就是基于软件生产轨迹进行过程控制与产品追踪,其贯穿于整个软件生存周期,因此可使软件开发中产生的各种成果具有一致性.软件配置的主要任务有配置规划,软件变更控制,软件版本控制.10 为什么配置管理中需要有开发库,基线库和产品库这三个配置库?答:开发库是一个面向开发人员的成果库,里面的成果一般是临时的,大多是有待进一步完善的半成品.每个开发人员都因该有属于自己的开发库,以防止出现成果混乱.当开发人员进入开发环境时,可以从开发库中提取开发资源进行系统创建,当开发人员退出开发环境时则可以吧新建资源或经过更新的资源保存在开发的库中.可通过开发库动态追踪到开发人员的工作轨迹,或还原其以前的工作状态,实际上,由于有了开发库,开发过程中的软件变更会变得相对容易管理一些.基线库是一个面向项目组的成果库,用来保存被确认的基线成果,通常情况下,如果开发库中的软件半成品进过评审而确认达到了基线标准,就可以从开发库移到基线库.基线库的操作方式类似开发库,但这是一个受到严格变更控制的配置库,里面的配置项处于半冻结状态,只有项目组配置管理员或项目负责人具有操作权限,并需要经过严格评审才能发生变更.也就是说,若非有十分充分的变更理由,否则基线库中等的内容是不允许改变的.产品库是一个面向软件开发机构的成果库,用来保存最终产品,产品库的管理员一般属于软件机构中的配置管理部门,只有该部门的工作人员才具有操作权限.当软件开发任务全部完成之后,最终产品中的一切成果,如程序,数据,文档等都需要有基线库移入产品库.产品库要求处于完全冻结状态,里面的配置原则上不允许变更.通常情况下,只有当软件需要进行错误修正或进行版本更新时,才允许进行变更.11 什么是质量标准?答:软件质量标准是有关软件质量的纲领性规定,是建立有效的质量保证体系的基础,是评价软件质量好坏的基本而依据.根据指定质量标准机构的不同,可分为国际标准,国家标准,地区标准,行业标准,分别由国际机构,国家行政部门,地区行政部门或行业组织指定.国家标准将基于国际标准,同时根据自己国家的特定需要,加进了一些特别限制,因此国家标准往往高于国际标准,实际上,一些较大的软件开发机构也可根据自身特点,并参照国际标准,国家标准,制订除有自己企业特征的质量标准.习题四1 计算机系统有哪些元素组成?特征是什么?答:计算机系统由硬件,软件,数据资源,网络资源,使用系统的人等诸多元素构成,计算机系统可分为硬件系统,软件系统,网络系统,人工系统等.2 举例说明Client/Server 结构的系统扩充性答:一个多媒体应用C/S系统,能够提供视频与图片多媒体信息服务,该系统有三台服务器,可分别提供目录查询服务,图片数据服务和视频数据服务.客户机可访问这些服务器,并从中获得图片信息,视频信息,目录查询等服务支持. C/S结构的优势是又很好的系统扩充性,因此有利于系统的逐步创建于逐步完善.正因为如此,C/S结构有较低的初期建设成本.,所提到的多媒体应用系统初期应用吃需要提供图片信息服务,因此初期系统只建立了图片服务器.然而,该系统扩充性好,虽然初期系统中没有视频服务,目录服务,但却可以在系统后续完善建设中添加进来,已提供更全面的多媒体应用服务.4 B/S结构有哪些特点?与C/S相比有哪些优势?答;B/S结构的核心是Web服务器,其基于IIS建立互联昂信息服务,通过HTTP协议实现客户端与服务器的信息交互,并通过ASP,JSP等实现Web动态服务.B/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论