资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目录第1章习题 . 2第2章习题 . 4第3章习题 . 5第4章习题 . 8第5章习题 . 13第6章习题 . 18第7章习题 . 25第8章习题 25第9章习题 33第10章习题 . 35第1章1对于硬件是有形的而软件是无形的观点,有人提出了不同的看法。他认为软件也是有形的,例如,软件需要安装才能工作,软件安装之后会占据一定的磁盘空间。对此,你是什么看法?解答:软件是抽象的、无形的。软件之所以需要安装并占据一定的磁盘空间,正说明了软件对硬件的依赖,它不能独立存在。2软件按服务对象的不同可分为通用软件和定制软件。试举例说明这两类软件的区别。解答:通用软件一般由软件开发机构自主开发并通过市场推广、销售,如Microsoft Word,它是完全由Microsoft自主开发并通过市场推广、销售的文字处理软件。定制软件则通常受特定客户委托并在合同的约束下开发。例如,某专门设备的控制系统、某特定企业的业务管理系统、某智能大厦的监控与管理系统、某城市的交通监管系统等。定制类软件通常由客户进行软件描述,并以此为基本依据确定软件规格。3程序系统时代出现的“软件作坊”有什么特点?解答:软件作坊虽然也生产具有工业化特征的软件产品,但软件作坊是一种比较松散的组织机构,缺少工业化企业应具有的标准、规范和制度,因此不能使软件生产过程工业化。4某软件公司抢时间为某单位开发了一个人事管理软件,但软件交付用户使用一段时间之后,用户有了抱怨,原因是单位里某个职工改了名字,但人事管理软件却不允许修改姓名,而只能删除整条记录以后重新输入。试从软件危机角度对这个问题做一些评论。解答:由于软件开发过程中软件开发人员和用户之间缺乏信息交流,以至用户的需求没有在软件规格定义中充分体现,从而导致开发出来的软件不能安全满足用户的实际应用需要。5什么是软件工程?解答:软件工程是一门关于软件开发与维护的工程学科,其涉及软件生产的各个方面,包括工程过程、工程原则、技术方法与工具以及工程项目管理等,能够为经济、高效地开发高质量的软件产品提供有效的支持。6什么是软件工程方法?简要说明一些主要的软件工程方法。解答:软件工程方法是指完成软件开发与维护任务时,应该“如何做”的技术方法。主要的软件工程方法有:结构化方法、JSD方法和面向对象方法。结构化方法是传统的基于软件生命周期的软件工程方法,以软件功能为目标来进行软件构建,包括结构化分析、结构化设计、结构化实现和结构化维护。JSD方法主要用于软件设计,由法国科学家Jackson提出。它以软件中的数据结构为基本依据来进行软件结构与程序算法设计,是对结构化软件设计方法的有效补充。面向对象方法以软件问题域中的对象为基本依据来构造软件系统模型,包括面向对象分析、面向对象设计、面向对象实现和面向对象维护。7什么是软件工具? Visual C+属于什么类型的软件工具?解答:软件工具通常也称为 CASE,它是计算机辅助软件工程(Computer-Aided Software Engineering)的英文缩写,是为了方便软件工程方法的运用而提供的具有自动化特征的软件开发支撑环境。CASE工具覆盖面很广,包括分析建模、设计建模、源代码编辑生成、软件测试等。其中,用来支持软件分析、设计的CASE工具,如数据字典管理器、分析建模图形编辑器、软件结构设计器,被称为高端CASE工具;而用来支持软件实现和测试的工具,如程序编辑器、程序分析器、调试器等,则被称为低端工具。Visual C+的用途是程序编辑、程序分析与调试,因此是低端工具。8你是如何看待软件工程过程的?软件过程中最基本的活动有哪些?解答:软件工程过程是指开发软件时所进行的一系列软件工程活动,这些活动需要通过制订工作步骤体现,它应该是科学的、合理的,否则将影响软件开发的成本、进度与产品质量。软件工程过程并不固定,不同的产品开发会有不同的活动,但均包括四项基本活动:软件定义、软件开发、软件验证和软件维护。9软件工程管理主要包括哪些方面的内容?解答:软件工程管理的主要内容有:1. 项目规划;2. 项目资源调配;3. 软件产品控制。10B. W. Boehm提出的软件工程基本原则是什么?解答:B. W. Boehm总结了以下7条基本原则。(1)采用分阶段的生命周期计划,以严格对项目的管理;(2)坚持阶段评审制度,以确保软件产品质量;(3)实行严格的产品控制,以适应软件规格的变更;(4)采用先进的程序设计技术;(5)软件成果应该能够清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。11什么是软件工程目标?如何解决多个目标之间出现的矛盾?解答:软件工程目标是基于软件项目目标的成功实现而提出的,并主要体现为以下几个目标:(1)软件开发成本较低;(2)软件功能能够满足用户的需求;(3)软件性能较好;(4)软件可靠性高; (5)软件易于使用、维护与移植;(6)能按时完成开发任务,并及时交付使用。在一个具体项目中,以上几个目标之间很可能会出现冲突,例如,若只顾降低开发成本,则可能由此导致软件的性能与可靠性也随之降低;另一方面,如果太过于追求软件的性能,则可能使得开发出来的软件对硬件有较大的依赖。因此,在实际的软件项目中,往往需要在几个目标中进行平衡。此时,软件的质量应该摆到最重要的位置加以考虑。因此,软件的可用性、有效性、可靠性和可维护性等往往需要特别关注。12什么是软件工程文化?其中的价值观是什么?解答:软件工程文化是指工程人员在软件开发中所应该具备的产品质量观、价值观、道德准则和团队意识等。其中的价值观是指软件企业上下对软件工程价值有一致的认同。第2章1什么是软件生命周期?根据国家标准计算机软件开发规范,软件生命周期主要包括哪些阶段?解答:软件生命周期是指软件定义、开发、运行维护,直至被淘汰的全过程。根据我国国家标准计算机软件开发规范(GB 85668),软件生命周期包括软件定义、软件开发、软件运行维护三个阶段,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。2瀑布模型有哪些特点?对于里程碑,你有什么认识?一般认为,瀑布模型不太适用于用户需求经常变更的软件项目,其原因是什么?解答:瀑布模型的特点:(1). 线性化模型结构;(2). 各阶段具有里程碑特征;(3). 基于文档的驱动;(4). 严格的阶段评审机制。其中的里程碑是指瀑布模型中的阶段只能逐级到达、不能跨越;每个阶段都有明确的任务,都需要产生确定的成果。由于瀑布模型是一种线性模型,要求项目严格按规程推进,必须等到所有开发工作全部完成以后才能获得可以交付的软件产品。因此,瀑布模型不太适用于用户需求经常变更的软件项目。3试说明快速原型的作用。解答:快速原型方法是原型模型在软件分析、设计阶段的应用,能够用来解决用户对软件系统需求的模糊认识,或用来试探某种设计是否能够获得预期效果。4原型进化模型是一种与瀑布模型有着显著差别的软件过程模型。与瀑布模型相比,其优点是什么?一般认为,原型进化模型不能适应较大型软件项目的开发,其原因是什么?解答:原型进化模型好特点是:先开发一个原型系统给用户使用,然后根据用户使用情况的意见反馈,对原型系统不断修改,使它逐步接近,并最终到达开发目标。因此,与瀑布模型相比,原型进化模型能够更好地适应软件需求变更。但原型进化模型不能像瀑布模型那样提供明确的里程碑管理,使得管理者难以把握开发进度。因此,对于大型软件项目,原型进化模型缺乏有效的管理规程。5增量模型是一种结合了瀑布模型与原型进化模型共同优点的过程模型,其特点是什么?在使用增量模型进行软件开发时需要注意的问题是什么?解答:增量模型的特点是,在整体上按照瀑布模型的流程实施项目开发,以方便对项目的管理。但在软件的实际开发中,则将软件系统按功能分解为许多增量构件,并以构件为单位逐个地开发并交付,直到全部增量构件开发完毕,并都被集成到系统之中交付用户使用。使用增量模型需要注意的是,系统需要有更好的结构设计,以便系统能按增量构件进行集成。6试说明螺旋模型的特点。一般认为,只有大型项目才有采用螺旋模型的必要,其原因是什么?解答:螺旋模型是一种引入了风险分析与规避机制的过程模型,是瀑布模型、快速原型方法和风险分析方法的有机结合。由于软件项目的风险分析会增加成本,假如风险分析费用比例过高则不合算。因此,只有开发资金较多的大型项目才有按阶段进行详细风险分析的可能与必要。7喷泉模型是专门针对面向对象软件开发方法而提出的,其特点是什么?解答:喷泉模型的特点是,软件的分析、设计和实现按照迭代的方式交替进行,并通过进化的方式使软件逐渐完善。例如,第一阶段的开发目标是基本功能;第二阶段则在第一阶段基础上对软件进行完善,实现主要功能;第三阶段则又在第二阶段基础上对软件做更进一步的完善。8为什么说组件复用模型是一种有利于软件按工业流程生产的过程模型?解答:在组件复用模型中,软件由组件装配而成,这就如同用标准零部件构造机械设备,因此能带来更好的复用效果,能适应软件按工业流程生产。9某大型企业计划开发一个“综合信息管理系统”,涉及销售、供应、财务、生产、人力资源等多个部门的信息管理。该企业的想法是按部门优先级别逐个实现,边应用边开发。对此,需要一种比较合适的过程模型。请对这个过程模型作出符合应用需要的选择,并说明选择理由。解答:增量模型比较适合该项目,理由是可使系统功能按应用领域逐个实现,并可按优先级别安排各功能构件的开发顺序,有利于边开发边应用。第3章1计算机系统有哪些特点?解答:计算机系统是一个具有层次结构的复杂系统,且是一个具有智能特性的开放系统。2图3-5所示是某“零配件仓库管理系统”的系统流程图。从图中可以看出该系统的以下特点:(1)系统将以入库单、出库单为依据进行入出库操作,并通过更新库存程序对库存记录文件进行更新,通过入出库记录程序将入库、出库记录添加到入出库数据表中。(2)系统将以库存数据表中记录的库存量为依据确定采购计划,当某零配件的库存量低于规定的下阈值时,该零配件将会进入到订购单中。其中,订购单由生成采购计划程序产生。(3)系统将以入出库数据表中的记录为依据进行入出库统计分析,产生入出库统计分析报表。试根据对图3-5中的系统流程图的理解,将“零配件仓库管理系统”从其工作环境中分离出来,并建立该系统的“系统框架图”。图3-5“零配件仓库管理系统”的系统流程图解答:3可行性分析的意义主要体现在哪些方面?解答:可行性分析是对软件问题解决途径的探索,能够在以下几个方面对软件项目带来具有积极意义的影响。(1)通过少量的的费用,对项目能否实施尽早作出决断,以避免项目开展以后所带来的大量的人力、物力和时间的浪费。(2)根据项目所受到的条件限制,对有待开发的系统在体系结构、工作模式等方面作出高层抉择,以利于项目今后的实现。(3)可以把可行性分析看做软件定义时期需要进行的前导性工作,其结果可以作为
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号