软件工程习题200题(同等学历计算机考试题库参考).doc_第1页
软件工程习题200题(同等学历计算机考试题库参考).doc_第2页
软件工程习题200题(同等学历计算机考试题库参考).doc_第3页
软件工程习题200题(同等学历计算机考试题库参考).doc_第4页
软件工程习题200题(同等学历计算机考试题库参考).doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

软件工程习题200题之一 我的软件工程笔记99年末的一段,是当时几乎所有软件工程书籍的习题。这里整理出来,希望对大家学习软件工程有益。 1、 什么是软件危机?产生软件危机的原因?怎样消除? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机产生的原因:(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量。很难检验开发的正确性且软件开发的质量也较难评价。因此,控制软件开发过程相当困难。此外,在软件运行过程中发现错误,很可能是遇到了一个在开发期间引入的、但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样,维护的费用十分惊人,客观上使得软件较难维护。(2) 软件开发的过程是多人分工合作,分阶段完成的过程,参与人员之间的沟通和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念,在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术,这是造成软件危机的主要原因。(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要,软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分,一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。(5) 在软件的开发和维护关系问题上存在错误的观念。软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。所以做好软件的定义工作,是降低软件成本,提高软件质量的关键。如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。在早期引入变更,涉及面较小,付出的代价较低;在开发的中期软件配置的许多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂,因而付出的代价剧增。在软已经完成后再引入变更。则需要付出更高得多的代价。因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。2、 什么是软件工程?包括哪些内容? 软件工程是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。软件工程学的主要内容是软件开发技术和软件工程管理 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。3、 软件生存周期包含哪些内容? 软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。4、 软件开发模型有几种?各有什么特点? 1.瀑布模型 开发模型呈线性,所以当开发成果沿未经过测试时,用户无法看到软件的效果,这样软件与用户见面的时间间隔,也增加了一定的风险;在软件开发前期末发现的错误传到后面的开发活动时,可能会扩散,进而可能会造成整个软件项目开发失败;在软件需求分析阶段,完全确定用户的需求是比较困难的,甚至可以说是不太可能的.2.螺旋模型 需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果末能及时标识风险,势必造成重大损失;过多的迭代次数会增加开发成本,延迟提交时间3.喷泉模型 以用户需求为动力,主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加入渐进出境的软件成分,各个阶段没有明显的界限4.智能模型 基于知识的软件开发模型 把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件开发人员的工作.适合于特定领域软件和专家决策系统的开发5.增量模型 融合了瀑布模型的基本成分和原形实现的迭代特征,优点是人员分配灵活,刚开始不用投入大量人力资源.如果核心产品很受欢迎,则可增加人力实现下一下增量6.WINWIN模型 融合了螺旋模型的基本成分和原形实现的迭代劳特征,强调风险分析和标识.通过早期谈判客户和开发者之间达成一致协议.它将变成进展到软件和系统定义的关键标准.7.原形实现模型 原形实现模型从需求收集开始,开发者和客户在一起定义软件的总目标,标识出已知的需求,并规划出需要进一步定义的区域,然后是快速设计,即集中于软件中那些对用户/客户可见的部分的表示,这将导致原形的创建,其最大的特点是能够快速实现一个可实际运行的系统初步模型,供开发人员和用户进行交流和评审,以便较准确地获得用户的需求, 供开发人员和用户进行交流和评审,这个过程是迭代过程,它可以避免在瀑布模型冗长的开发过程中看不见产品雏开的现象,其优点之一是开发工具先进,开发效率高,使总的开发费用降低,时间缩短,二是开发人员与用户交流直观,可以澄清模糊需求,调用用户的积极参与,能及早显露实施后潜在的一些问题,三是原型系统可作为培训环境,有利于用户培训和开发同步,开发过程也是学习过程,缺点是在一定的程序上限制了开发人员的创新,没有考虑软件的整体质量和长期的可维护性,由于达不到质量要求产品可能被抛弃,而采用新模型重新设计,因此原形实现不适合嵌入式,实时控制及科学数值计算等大型软件系统的开发8.RAD模型 增量型的软件开发,采用基于构件的建造方法赢得了快速开发9.并行开发模型10.基于构件的开发模型 利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段效率,高质量地构造应用软件系统的过程,缺乏通用的组装标准,因而编入了较大的风险11.基于体系结构的开发模型12.XP方法 其核心思想是交流(communication),简单(Simplicity),反馈(Feedback)和进取.xp小组不仅包括开发人员,还包括管理人员和客户,该模型强调小组成员之间要经常进行交流.优点是:采用简单计划策略,不需要长期计划和复杂模型,开发周期短;在全过程采用迭代增量开发,反馈修正和反复测试的方法,软件质量有保证;能够适应用户经常变化的需求,提供用户满意的高质量软件5、 软件技术审查和管理复审的作用是什么? 6、 软件开发与写程序有什么不同? 软件包含程序,程序是软件的一部分。软件是程序、数据及其相关文档的完整集合。程序只是为了实现软件的功能和性能要求而编写的指令序列。7、 在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性? 可行性研究的目的就是,用最小的代价在尽可能 短的时间内研究并确定所有面临的问题是否能够解决。首先需要分析和澄清问题定义。然后分析员应该到处系统的逻辑模型。研究目标系统的可行性分为以下三方面:(1)技术可行性:使用现有的技术能实现这个系统吗?(2)经济可行性:这个性同的经济效益能超过他的开发成本吗?(3)操作可行性:系统的操作方式在这个用户住址内行得通吗? 技术经济时间资源8、 一个软件开发系统的可行性研究报告应如何编写? 可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行 性;评述为了合理地达到开发目标而可能选择的各种方案;说明并论证所选定的方案。可行性研究报告的编写内容要求如下:1引言11编写目的说明编写本可行性研究报告的目的,指出预期的读者。12背景说明:a所建议开发的软件系统的名称;b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;C该软件系统同其他系统或其他机构的基本的相互来往关系。13定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。14参考资料列出用得着的参考资料,如:a本项目的经核准的计划任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;C本文件中各处引用的文件、资料,包括所需用到的软件开发标准。|列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2可行性研究的前提说明对所建议的开发项目进行可行性研究的前提,如要求、目标、假定、限制等。21要求说明对所建议开发的软件的基本要求,如:a功能;b性能;C输出如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接口以及分发对象;d输入说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供的频度;e处理流程和数据流程用图表的方式表示出最基本的数据流程和处理流程,并辅之以叙述;f在安全与保密方面的要求;g同本系统相连接的其他系统;h完成期限。22目标说明所建议系统的主要开发目标,如:a人力与设备费用的减少;b处理速度的提高;C控制精度或生产能力的提高;d管理信息服务的改进;e自动决策系统的改进;f人员利用率的改进。23条件、假定和限制说明对这项开发中给出的条件、假定和所受到的限制,如:a所建议系统的运行寿命的最小值;b进行系统方案选择比较的时间;c经费、投资方面的来源和限制;d法律和政策方面的限制;e硬件、软件、运行环境和开发环境方面的条件和限制;f可利用的信息和资源;g系统投入使用的最晚时间。24进行可行性研究的方法说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法 和策略,如调查、加权、确定模型、建立基准点或仿真等。25评价尺度说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短 及使用中的难易程度。3对现有系统的分析这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚 至是一个人工系统。分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。31处理流程和数据流程说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。32工作负荷列出现有系统所承担的工作及工作量。33费用开支列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开 支总额。34人员列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。35设备列出现有系统所使用的各种设备。36局限性列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力不足,处理功能 不够等。并且要说明,为什么对现有系统的改进性维护已经不能解决问题。4所建议的系统本章将用来说明所建议系统的目标和要求将如何被满足。41对所建议系统的说明概括地说明所建议系统,并说明在第A2章中列出的那些要求将如何得到满足,说明所使用的基本 方法及理论根据。42处理流程和数据流程给出所建议系统的处理流程和数据流程。43改进之处按22条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进。44影响说明在建立所建议系统时,预期将带来的影响,包括:441对设备的影响说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改。442对软件的影响说明为了使现存的应用软件和支持软件能够同所建议系统相适应。而需要对这些软件所进行的修 改和补充。443对用户单位机构的影响说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。4 4 4对系统运行过程的影响说明所建议系统对运行过程的影响,如:a用户的操作规程;b运行中心的操作规程;C运行中心与用户之间的关系;d源数据的处理;e数据进入系统的过程;f对数据保存的要求,对数据存储、恢复的处理;g输出报告的处理过程、存储媒体和调度方法;h系统失效的后果及恢复的处理办法。445对开发的影响说明对开发的影响,如:a为了支持所建议系统的开发,用户需进行的工作;b为了建立一个数据库所要求的数据资源;C为了开发和测验所建议系统而需要的计算机资源;d所涉及的保密与安全问题。446对地点和设施的影响说明对建筑物改造的要求及对环境设施的要求。447对经费开支的影响扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。45局限性说明所建议系统尚存在的局限性以及这些问题未能消除的原因。46技术条件方面的可行性本节应说明技术条件方面的可行性,如:a在当前的限制条件下,该系统的功能目标能否达到;b利用现 9、 数据流图有哪几种基本符号? 数据流图基本图形符号数据流图采用4种基本的图形符号,见表18-1。表18-1 数据流图基本符号1加工用圆或椭圆描述,又称数据处理,表示输入数据在此进行变换产生输出数据,以数据结构或数据内容作为加工对象。加工的名字通常是一个动词短语,简明扼要地表明要完成的加工。2数据流用箭头描述,由一组固定的数据项组成,箭头方向表示数据的流向,作为数据在系统内的传输通道。它们大多是在加工之间传输加工数据的命名通道,也有在数据存储文件和加工之间的非命名数据通道。虽然这些数据流没有命名,但其连接的加工和文件的名称,以及流向可以确定其含义。同一数据流图上不能有同名的数据流。如果有两个以上的数据流指向一个加工,或是从一个加工中输出两个以上的数据流,这些数据流之间往往存在一定的关系。其具体的描述如图18-1所示,其中*表示相邻之间的数据流同时出现,表示相邻之间的数据流只取其一。(点击查看大图)图18-1 数据流3数据存储文件用双杆描述,在数据流图中起保存数据的作用,又称数据存储或文件,可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可以理解为写入文件或查询文件,从数据存储流出的数据流可以理解为从文件读数据或得到查询结果。4数据源点或终点用方框描述,表示数据流图中要处理数据的输入来源或处理结果要送往的地方,在图中仅作为一个符号,并不需要以任何软件的形式进行设计和实现,是系统外部环境中的实体,故称外部实体。它们作为系统与系统外部环境的接口界面,在实际的问题中可能是人员、组织、其他软硬件系统等。一般只出现在分层数据流的顶层图中。10、 画数据流图原则是什么? 画数据流图应该注意的问题数据流图是软件设计师考试必考的题目之一,下面是画数据流图时应该注意的问题,希望对大家有所帮助。1) 适当地为数据流、加工、数据存储、外部实体命名,名字应该反应该成分的实际含义,避免空洞的名字。2) 画数据流而不画控制流3) 一个加工的输出数据流不应与输入数据流同名,即使他们的组成成分相同。4) 允许一个加工有多条数据流流向另外一个加工,也允许一个加工有两个相同的输出数据流流向另外两个不同的加工。5) 保持父图和子图平衡。也就是说,父图中某加工的输入、输出必须与它的子图的输入、输出数据流在数量和名字上相同。值得注意的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入或输出数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。6) 在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工有关,那么这个数据存储应作为这个加工的内部文件而不必画出。7) 保持数据守恒。也就是说,一个加工所有输出数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。8) 每隔加工必须既有输入数据流也有输出数据流。9) 在整套数据流图中,每隔数据存储必须既又读的数据流,又有写的数据流。但在某一张子图中可能只有读没有写,或者只有写没有读。四、画分层数据流图时应注意的问题下面从四个方面讨论画分层数据流图时应注意的问题。1合理编号分层数据流图的顶层称为0层,称它是第1层的父图,而第1层既是0层图的子图,又是第2层图的父图,依此类推。由于父图中有的加工可能就是功能单元,不能再分解,因此父图拥有的子图数少于或等于父图中的加工个数。为了便于管理,应按下列规则为数据流图中的加工编号:l子图中的编号为父图号和子加工的编号组成。l子图的父图号就是父图中相应加工的编号。为简单起见,约定第1层图的父图号为0,编号只写加工编号1、2、3.,下面各层由父图号1、1.1等加上子加工的编号1、2、3.组成。按上述规则,图的编号即能反映出它所属的层次以及它的父图编号的信息,还能反映子加工的处理信息。例如1表示第1层图的1号加工处理,1.1、1.2、1.3.表示父图为1号加工的子加工,1.3.1、1.3.2、1.3.3.表示父图号为1.3加工的子加工。为了方便,对数据流图中的每个加工,可以只标出局部号,但在加工说明中,必须使用完整的编号。例如图5-4-5可表示第1层图的1号加工的子图,编号可以简化成图中的形式。图5-4-5 简化子图编号示例2注意子图与父图的平衡子图与父图的数据流必须平衡,这是分层数据流的重要性质。这里的平衡指的是子图的输入、输出数据流必须与父图中对应加工的输入、输出数据流相同。但下列两种情况是允许的,一是子图的输入/输出流比父图中相应加工的输入/输出流表达得更细。例如,在图546中,若父图的“订货单”数据流是由客户、品种、帐号、数量四部分组成,则图中的子图和父图是平衡的。在实际中,检查该类情况的平衡,需借助于数据词典进行。二是考虑平衡时,可以忽略枝节性的数据流。例如图5-4-6,在4号加工的子图中4.3号子加工中增加了一个输出,表示出错的数据流(由虚线所示),则子图和父图仍可看作是平衡的。图5-4-6 子图和父图的平衡图片 子图和父图的平衡动画3局部文件图5-4-7中的父图和子图是平衡的,但子图中的文件W并没在父图中出现。这是由于对文件W的读、写完全局限在加工3.3之内,在父图中各个加工之间的界面上不出现,该文件是子图的局部文件或为临时文件。图5-4-7 数据流图中的局部文件应当指出的是,如果一个临时文件在某层数据流图中的某些加工之间出现,则在该层数据流图中就必须画出这个文件。一旦文件被单独画出,那么也需画出这个文件同其它成分之间的联系。4分解的程度对于规模较大的系统的分层数据流图,如果一下子把加工直接分解成基本加工单元,一张图上画出过多的加工将使人难以理解,也增加了分解的复杂度。然而,如果每次分解产生的子加工太少,会使分解层次过多而增加作图的工作量,阅读也不方便。经验表明,一般说来一个加工每次分解量最多不要超过七个为宜。同时,分解时应遵循以下原则:l分解应自然,概念上要合理、清晰。l上层可分解的快些(即分解成的子加工个数多些),这是因为上层是综合性描述,对可读性的影响小。而下层应分解得慢些。l在不影响可读性的前提下,应适当地多分解成几部分,以减少分解层数。l一般说来,当加工可用一页纸明确地表述时,或加工只有单一输入/输出数据流时(出错处理不包括在内),就应停止对该加工的分解。另外,对数据流图中不再作分解的加工(即功能单元),必须作出详细的加工说明,并且每个加工说明的编号必须与功能单元的编号一致。11、 数据流图在软件分析中的作用是什么? 12、 数据字典的作用? 13、 什么是数据字典?有几个定义?各自特点是什么? 14、 有几种效益的分析方法? 15、 需求分析的任务是什么? 16、 需求分析通常采用哪些分析技术? 17、 什么是结构化分析?他的结构化体现在哪里? 18、 简述面向对象分析技术的主要步骤? 19、 原型开发技术的目的,特点是什么? 20、 简述总体设计的一般过程? 21、 什么叫软件结构?什么叫软件工程?二者之间关系? 22、 解释深度、宽度、扇出、扇入对软件的影响。 23、 什么叫模块化?M代表的含义是什么? 24、 模块化的三个重要特征是什么?阐明各自的作用。 25、 举例说明各种耦合情况和各种内聚情况。 26、 简述设计准则的内容。 27、 简述层次方框图与软件结构图的异同点。 28、 事物型软件结构图有什么特点?原因是什么? 29、 详细设计的任务是什么? 30、 什么是结构化程序设计?用N-S图表示三种基本结构。 31、 简述Jackson程序设计方法的主要内容。 32、 简述Wariner程序设计方法的主要内容。 33、 McaHei(Muahe,笔记有些模糊,未校正)方法的核心是什么?有何用途? 34、 简述程序设计语言两次本质性变化的内容及意义。 35、 C语言属于第几代语言?第四代语言特点是什么? 36、 简述高级语言的应用特点和内在特点。 37、 试分析程序设计语言特点及软件可靠性、可理解性、可修改性、可测试性及成本的关系。 38、 选择一种语言的实用标准是什么? 39、 简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。 40、 程序的编码风格主要体现在哪几个方面? 41、 软件测试的基本任务是什么?测试与调试区别是什么? 42、 软件测试的目标是什么? 43、 软件测试分几个步骤进行?每个步骤解决什么问题? 44、 软件测试有几种方法?每种方法的特点是什么? 45、 软件出错有几种类型?验证其程序正确性有几种方法? 46、 什么是单元测试和集成测试?他们各有什么特点? 47、 简述渐增式测试方法与非渐增式测试方法的优劣。 48、 简述存根程序 驱动程序的作用。 49、 编 最大、最小公倍数程序,并为它设计测试用例。 50、 测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务? 51、 举出几种常用的测试工具,说明他们的用法。 52、 MTTF的含义是什么?如何计算Et值? 53、 假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么? 54、 什么叫软件维护?软件维护的基本内容是什么? 55、 软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少? 56、 软件维护有哪些特点? 57、 简述软件的维护过程。 58、 软件的可维护性与哪些因素有关?在软件开发过程中应采取哪些措施才能提高软件产品的可维护性? 59、 什么是软件工程的文档?分哪两大类?每类内容是什么? 60、 计算软件价格时,应不应该把维护费用计入成本?为什么? 61、 软件项目分几类?划分依据是什么? 62、 简述软件项目的特点和项目中人员的特点对软件管理的影响。 63、 软件职能管理的具体内容是什么? 64、 为什么说“时间和人员不能交换”?试说明其原因。 65、 变动分两类,阐述每类特点及二者之间的区别。 66、 谈谈你对软件现代技术的理解,预测一下软件发展方向。 67、 计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。 68、 何为软件?软件可分哪几种类? 69、 软件危机主要有哪些表现? 70、 什么是软件工程?试说明软件工程是如何克服软件危机的。 71、 面向对象生存期模型与传统的生存期模型有什么区别? 72、 列出两种以上的软件开发过程模型。并说明各自的特点。 73、 分析员职责是什么?分析员应具备什么条件? 74、 分析员应采取哪些方法来明确需求? 75、 建立系统模型有什么作用? 76、 建立良好的规格说明的原则有哪些? 77、 为什么要进行规格说明评审? 78、 数据流图作用是什么? 79、 数据字典的作用是什么?数据字典中包含了哪些信息? 80、 何为结构化分析方法?他在发展过程中得到了哪些扩充? 81、 什么是面向数据流的设计?数据流包括哪几种? 82、 怎样完成从数据流图到程序结构图的转换? 83、 面向数据流的设计方法包含那些步骤? 84、 Jackson结构化编程方法是以控制技术为中心还是以数据结构为中心?为什么? 85、 Jsp方法包括那些步骤? 86、 如何表示数据的顺序结构、选择结构、重复结构? 87、 回溯用于解决Jsp方法遇到了什么问题?为什么Jsp往往会面临这种问题而别的方法往往不会? 88、 为什么Jsp方法会遇到结构冲突问题?如何解决? 89、 DSSD方法包括那些步骤? 90、 DSSD方法中,逻辑输出结构和逻辑过程结构的导出各起到什么作用? 91、 什么是原型?原型应具有什么特点? 92、 什么是原型开发?原型开发包括那几类? 93、 原型开发由哪几个步骤组成? 94、 用户界面原型开发方法有哪几种?与传统的用户界面开发方法相比具有哪些优点? 95、 面向对象语言必须支持那些概念? 96、 面向对象编程语言分几大类? 97、 试说明面向对象编程语言用哪些机制支持面向对象方法的基本概念? 98、 什么是实时系统?实时设计与其他系统设计有什么区别? 99、 实时系统设计有哪些要素? 100、 实时系统在进行任务同步时通常采取哪几种方法?软件工程习题200题之二 我的软件工程笔记99年末的一段,是当时几乎所有软件工程书籍的习题。这里整理出来,希望对大家学习软件工程有益。 1、 Statemate方法是如何解决实时设计的特殊问题的? 2、 什么是规格说明语言?它具有什么性质? 3、 什么是设计语言?它具有什么性质? 4、 CASE环境语言提出了什么要求?如何实现? 5、 什么是原型开发语言?它具有什么性质? 6、 如何使原型开发语言可执行? 7、 编程语言从心里工程角度看各具有什么特性? 8、 评价选择可用编程语言的准则是什么? 9、 举例说明编程语言对软件工程的各个步骤的影响。 10、 编程语言中的基础有哪些方面? 11、 第一代至第四代语言是如何划分的?各具有什么特点?包括那些语言? 12、 程序中与编程风格有关的因素有哪些?为建立良好的编程风格应遵循什么原则? 13、 提高编程效率应从哪些方面着手? 14、 人机界面设计包括哪些方面? 15、 在人机界面设计中应如何考虑用户的使用要求? 16、 人机界面的设计应遵循什么原则? 17、 人机交互方式分哪几种? 18、 如何采用结构化的分析方法和面向对象分析方法来明确人机界面设计的任务? 19、 在进行人机界面设计的初期(概要设计阶段)必须解决那些问题? 20、 人机界面的开发主要采用那些模型? 21、 界面设计有哪些一般准则? 22、 何为智能人机界面?智能人机界面由哪几部分构成?各部分之间存在什么关系? 23、 多媒体技术可用于解决人机界面设计中的什么问题? 24、 为什么在CASE中需要有数据库的支持? 25、 软件工程中有哪些数据需要管理? 26、 数据模型的评价准则有哪十个方面?他们对CASE有什么意义? 27、 CASE需要什么样的数据库支持? 28、 为什么说软件设计十分重要? 29、 完成良好的软件设计应遵循哪些原则? 30、 抽象有哪几种形式?他们各起什么作用? 31、 如何理解模块独立性?用什么指标来衡量模块独立性? 32、 为什么数据设计是设计活动中十分重要的一项?进行数据设计应遵循什么原则? 33、 何为体系结构设计?进行体系结构设计应遵循什么原则? 34、 什么是结构化设计?他在软件发展史上具有什么地位? 35、 过程设计语言具有哪些特征? 36、 什么是对象?对象有哪几种形式? 37、 什么是类?类与对象间是什么关系? 38、 面向对象方法特征有哪些? 39、 面向对象方法基本要点是什么? 40、 面向对象设计涉及那几个主要活动?面向对象设计如何体现三个主要的软件设计概念:抽象信息、隐藏和模块化? 41、 面向对象分析涉及那几个主要活动?如何应用系统建模? 42、 Booch方法中运用了那几类图表?他们各有什么作用? 43、 Booch方法包括那些开发步骤? 44、 Petri网是与分析与设计哪类系统?它是通过什么方式来反映系统动态行为的? 45、 运用Petri网进行系统建模与性能分析的具体步骤是什么? 46、 Petri网客分析系统哪些行为特征?这些特征含义是什么? 47、 Petri网的性能分析方法有哪几种?其原理各是什么? 48、 软件开发工具分哪几类?各完成什么工作? 49、 软件开发环境一般用来解决哪几类问题? 50、 何为CASE,Z-CASE含义是什么? 51、 环境集成包括那三个方面的集成? 52、 集成方式分哪几种?那种方式使集成思想得到充分体现?如何体现的? 53、 软件质量的含义是什么? 54、 影响软件质量的因素分哪两大类? 55、 Boehm和McCall等人从哪些方面来确定软件质量?他们有什么异同? 56、 ISO1985提出的关于软件质量度量模型有哪三个层次组成?它有哪些特点? 57、 软件质量的各种特性怎样度量? 58、 什么是软件质量保证的策略?现代软件质量保证的策略是什么? 59、 软件质量保证活动有哪七个主要方面?如缺少一两个方面行不行?是否还有没有考虑到的方面? 60、 为什么说软件正是技术评审是软件质量保证的一个最基本的活动? 61、 为什么在软件进行技术评审中要有一张预先设定的评审检查表? 62、 软件的缺陷为什么在软件开发和维护过程中会扩大?硬件会产生这样的问题吗? 63、 什么是Halstead软件科学度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优缺点? 64、 什么是McCabe复杂性度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优点? 65、 什么是软件可靠性和软件可用性?他们能否定量计算? 66、 什么是软件安全性?软件安全性与软件可靠性有什么不同?为什么有了软件可靠性还要考虑软件安全性?软件安全性应从哪些方面去考虑? 67、 为什么说软件质量保证中最重要的两个方面是:对软件质量保证活动和软件配置的审计;软件质量保证计划的制定和标准的采用? 68、 为什么说软件测试是软件开发中不可缺少的重要的遗患,但不是软件质量保证的“安全网”? 69、 为什么把软件测试的目标定义为只是发现错误? 70、 软件测试应当遵循什么原则?为什么要遵循这些原则? 71、 单元(模块)测试、组装测试和确认测试各自主要的目标是什么?他们之间有哪些不同?相互有什么关系? 72、 什么是黑盒子测试和白盒子测试?他们都适应哪些测试? 73、 单元测试时,为什么需要另外开发驱动程序和连接程序? 74、 比较在组装测试中,自顶向下与自底向上、先深度后宽度与先宽度后深度结合的优缺点。 75、 为什么说在确认测试阶段,如果发现对用户需求理解的错误,要修改就要付出极大的代价? 76、 什么是软件测试中逻辑覆盖?什么是语句、分支、条件、分支/条件、多重合循环覆盖?一般软件测试至少应保证哪些覆盖?为什么? 77、 什么叫邓家华分?在确定等价划分测试用例中,为什么在设计一个测试用例时,要使其尽可能多的覆盖未被覆盖过的合理的等价类,而是其只覆盖且仅一个未被覆盖过的不合理的等价类? 78、 什么是边界值分析?他与等价类划分有什么不同? 79、 什么是因果图?他用于何处? 80、 什么是程序图?他用于何处? 81、 纠错技术中的归纳法和演绎法的中心思想是什么? 归纳法,指的是从许多个别事例中获得一个较具概括性的规则。这种方法主要是从收集到的既有资料,加以抽丝剥茧地分析,最后得以做出一个概括性的结论。演绎法,则与归纳法相反,是从既有的普遍性结论或一般性事理,推导出个别性结论的一种方法。由较大范围,逐步缩小到所需的特定范围。82、 什么是软件测试中的回溯测试?他有什么用处? 网上找不到回溯测试,找到相近的,供参考:回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。83、 为什么实时系统测试较一般系统测试要困难得多? 很多实时系统的时间依赖性和异步性给测试带来新的困难时间!测试用例的设计者考虑的不仅是白盒和黑盒测试用例,而且包括事件处理(如中断处理)、数据的时间序列以及处理数据的任务(进程)的并发性。很多情况下,提供的测试数据有时使得实时系统在某状态下可以正常运行,而同样的数据在系统处于不同状态时有时又会导致错误。所以实时系统测试较一般系统测试困难。84、 根据统计,软件维护工作量占软件整个生存周期工作量的10%70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量? 在软件的维护过程中,需要花费大量的工作量,从而直接影响了软件维护的成本。因此,应当考虑有哪些因素影响软件维护的工作量,相应应该采取什么维护策略,才能有效地维护软件并控制维护的成本。在软件维护中,影响维护工作量的程序特性有以下6种。 (1)系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。 (2)程序设计语言:使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现同样功能所需语句就越多,程序就越大。有许多软件是用较老的程序设计语言书写的,程序逻辑复杂而混乱,且没有做到模块化和结构化,直接影响到程序的可读性。(3)系统年龄:老系统比新系统需要更多的维护工作量。老系统随着不断的修改,结构越来越乱;由于维护人员经常更换,程序又变得越来越难于理解。而且许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文档太少,或在长期的维护过程中文档在许多地方与程序实现变得不一致,这样在维护时就会遇到很大困难。(4)数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。数据库工具可以很方便地修改和扩充报表。(5)先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技术,及程序设计技术,如面向对象技术、复用

温馨提示

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

评论

0/150

提交评论