您好,欢迎访问三七文档
1﹑什么是软件危机?主要表现在哪些方面?软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。表现方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。4﹑什么是软件工程?它目标和内容是什么?软件工程:就是用科学的知识工程和技术原理来定义,开发,维护软件的一门学科。软件工程的目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程的内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。5﹑软件工程面临的问题是什么?软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。6﹑什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。7﹑什么是软件生存周期模型?有哪些主要模型?生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。10、什么是软件过程?为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。在完成开发任务时必须进行一些开发活动,并且使用适当的资源,在过程结束时将把输入转化为输出。11、瀑布模型的特点及优点?特点:(1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。优点:可强迫开发人员采用规范的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。12、螺旋模型的优点?对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。螺旋模型主要适用于内部开发的大规模软件项目。项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,只有内部开发的项目,才能在风险过大时方便地中止项目。13、快速原型的分类、特点及使用策略?分类:探索型、实验型、进化型特点:尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。快速原型应该具备的第一个特点是“快速”;快速原型应该具备的第二个特点是“容易修改”。原型的“修改—试用—反馈”过程可能重复多遍。使用策略:废弃策略和追加策略。14、软件工程的目标?付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。17、快速原型开发的步骤?快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。1、可行性研究的任务是什么?可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。主要从四个方面考虑:⑴.技术可行性:⑵.经济可行性:⑶.法律可行性:(4).管理可行性:2、可行性研究有哪些步骤?⑴.确定项目规模和目标;⑵.研究正在运行的系统;⑶.建立新系统的高层逻辑模型;⑷.导出和评价各种方案;⑸.推荐可行方案;⑹.编写可行性研究报告;3、可行性研究过程包括哪些?1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查4、什么是数据流图?其作用是什么?数据流图(DFD):以图形的方式描述数据在系统中流动和处理的逻辑过程。只反映系统必须完成的逻辑功能,是一种功能模型。5、什么是数据字典?其作用是什么?共有哪些条目?数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。10、系统流程图是概括地描绘物理系统的传统工具,表达的是数据在系统各部件之间流动的情况,11、原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。原型化方法主要用于解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。这种方法的主要优点如下:(1)明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分,用户对原型的评价可以指出需求中的许多问题。(2)探索设计选择方案原型作为一种设计工具,可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。(3)发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。(4)这种方法的主要缺点包括:(1)用户看到一个正在运行的原型便以为产品即将完成,他们会要求不再进行产品重建,而只是对原型进行一些修改就交付。由于原型没有考虑软件的总体质量和可维护性,交付原型往往造成欲速则不达的情况。(2)开发人员为了快速构造原型,可能会采用不合适的操作系统或程序设计语言,也可能使用一些效率低的算法。在一段时间的开发之后,他们往往已经习惯了这些选择,于是便在系统中参杂了这些不理想的选择。1、什么是需求分析?需求分析阶段的基本任务是什么?需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。基本任务:⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。⑵分析与综合,导出软件的逻辑模型。⑶编写文档:包括编写需求规格说明书,初步用户使用手册,确认测试计划,修改完善软件开发计划。2、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。3、结构化分析方法通过哪些步骤来实现?⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。14、从哪些方面验证软件需求的正确性(1)一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2)完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。(3)现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4)有效性必须证明需求是正确有效的,确实能解决用户面对的问题。1、什么是总体设计?总体设计的任务是什么?总体设计又称为概要设计或初步设计。确定系统功能是实现。基本任务是:建立软件系统结构、数据结构和数据库的设计、编写概要设计文档。2、总体设计分为哪两个阶段?系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。3、总体设计过程包括几个步骤?1.设想供选择的方案2.选取合理的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档9.审查和复审4、模块化是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。5、模块化的优点(1)模块化使软件容易测试和调试,因而有助于提高软件的可靠性。(2)模块化也有助于软件开发工程的组织管理。6、抽象就是抽出事物的本质特性而暂时不考虑它们的细节。7、抽象化包括哪些?过程的抽象、数据抽象。8、模块的独立程度的定性标准度量是什么?好的模块应满足什么标准?内聚和耦合;高内聚低耦合。9、什么耦合?模块间的耦合有哪些?指衡量不同模块彼此间互相依赖(连接)的紧密程度;有非直接耦合、标记耦合、数据耦合、控制耦合、外部耦合、公共耦合和内容耦合。10、非直接耦合如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。11、标记耦合如果一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。12、数据耦合如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。13、控制耦合如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。14、外部耦合一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。15、公共耦合若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。16、内容耦合如果发生下列情形,两个模块之间就发生了内容耦合(1)一个模块直接访问另一个模块的内部数据;(2)一个模块不通过正常入口转到另一模块内部;(3)两个模块有一部分程序代码重迭(只可能出现在汇编语言中);(4)一个模块有多个入口。17、内聚衡量一个模块内部各个元素彼此结合的紧密程度。功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,巧合内聚。19、功能内聚一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。26、扇出是一个模块直接控制(调用)的模块数目。27、扇入一个模块的扇入表明有多少个上级模块直接调用它。31、逐步求精、分层过程与抽象等概念之间的相互关系如何?“自顶向下,逐步求精”是NiklausWirth提出的设计策略:即将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。而在较低的抽象层次上,则采用过程化的方法。在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语。但最后在最低的抽象层次上,应使用能够直接实现的方式来描述这个解法。32、什么是软件结构图?简述软件结构设计优化准则。软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。准则:高内聚低耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。33、什么是模块的控制范围和作用范围?他们的关系如何?控制范围:是模块本身和它的下属模块的集合。作用范围:模块中的一个判定影响的所有模块的集合。作用
本文标题:软件工程题目精选
链接地址:https://www.777doc.com/doc-213388 .html