您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程导论复习笔记
简答题:1.什么是软件?答:软件是:(1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。(2)数据结构,使得程序可以合理利用信息。(3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。2.Howdosoftwarecharacteristicsdifferfromhardwarecharacteristics?软件的特性是如何不同硬件的特性?答:(1)软件是设计开发的,而不是传统意义上生产制造的(2)软件不会磨损,但会退化(3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的3.Whatdopeoplemeanbytheexpressionsoftwarecrisis?人们是怎样理解“软件危机”这个短语的?答:软件危机主要表现在两个方面:(1)无法满足日益增长的对软件的需求。(2)难以满足对已有的软件系统的维护需求。软件危机出现的原因:(1)由于软件生产本身存在着复杂性(2)与软件开发所使用的方法和技术有关“软件工程”的概念用工程化的思想来克服软件危机。4.Whatmythsaboutsoftwarestillexist?软件仍然存在着什么神话?答:管理者的神话;用户的神话;开发者的神话。简答题:1.Whatarethethreegenericphasesofsoftwareengineering?软件工程的三个一般的阶段是?答:定义阶段、开发阶段、维护阶段(软件生存周期的三个阶段:软件定义、软件开发、软件维护)2.WhatarethenamesofthefivelevelsoftheSEICapabilityMaturityModel?CMM把企业控制软件过程的能力分为5级(5个级别的名字):①1级——initialoradhoclevel(初始级)②2级——repeatablelevel(可重复级)③3级——definedlevel(可定义级)④4级——managedlevel(可管理级)⑤5级——optimizinglevel(可优化级)3.Describethephasesoftheprototypingmodelforsoftwaredevelopment.描述原型开发模型阶段对于软件开发?答:(1)开发人员和客户会面并且对于软件定义总体目标,确认需求(2)开发人员对原型进行快速的构造设计(3)用户对原型的评估从而改进需求(4)开发人员调整原型以满足客户的需求4.Whyareevolutionarymodelsconsideredbymanytobethebestapproachtosoftwaredevelopment?对于软件开发为什么演化模型被认为是最好的方法?答:由于现代软件开发的时间线越来越短,客户正变得越来越多样化,需求的变化也变得更加常见,我们需要一种方法来提供增量或进化的过程。相比大多数过程这个演化的过程能提供更好的过程模型,最重要的是该模型反映了在建立复杂系统时到底发生了什么。第三章(Exercise3):简答题:1.可行性分析的任务是什么?答:可行性研究的任务是用最小的代价、在尽可能短的时间内确定问题是否能够解决。分析员首先应该导出系统的逻辑模型,然后从系统逻辑模型出发,探索出若干种可供选择的主要解法(即系统实现方案)。最后仔细研究每种解法的可行性。2.简述可行性分析的步骤是什么?答:(1)复查系统规模和目标(2)研究目前正在使用的系统(3)导出新系统的高层逻辑模型(4)重新定义问题(5)导出和评价供选择的方案(6)推荐方案和行动方针(7)草拟开发计划(8)书写文档、提交审查RapidApplicationDevelopmentModel包含五个开发阶段Businessmodeling(业务建模)DatamodelingProcessmodelingApplicationgenerationTestingandturnover第四章(Exercise4):(软件需求分析)简答题:1.Whatarethefivephasesofsoftwarerequirementsanalysis?软件需求分析的5个阶段是什么?(1)问题分析(2)问题评估和方案综合(3)建模(4)规约(5)复审2.Describethefacilitatedapplicationspecificationtechnique(FAST).描述FAST(facilitatedapplicationspecificationtechnique)便利的应用规约技术?答:(1)确定地点出席会议,会议由开发者和客户出席(2)建立准备和参与会议的规则(3)建立一个足够正式的议程以便可以进行所有重要的而又足够非正式的、鼓励思维的自由交流(4)一个“协调者“控制会议(5)使用一种定义机制第五章(Exercise5):简答题:1.Whatarethreeprimaryobjectivesoftheanalysismodel?分析模型中的三个主要对象是什么?(1)描述顾客的需求(2)创建软件设计的基础(3)定义在软件完成后可以被确认的一组需求1.Whatarethedatamodelingelementsrepresentedintheentityrelationshipdiagram(ERD)?在实体关系图(ERD)中代表数据模型的元素是什么?答:(1)数据对象——一些实体的产生或消耗的信息(2)属性——数据特征与数据对象实例相关联(3)联系——指示数据对象连接的形式2.Listtheelementsoftheanalysismodelandexplaintheroleofeachelement?列出分析模型的元素并且解释每个元素的角色?答:(1)数据字典——包含所有数据对象产生或消耗的信息(2)实体关系图——描述数据对象的关系(3)数据流图——提供数据通过系统被改变移动数据流功能的指示(4)状态转换图——指示系统对于外部事件的答复第六章(Exercise6)(设计、模型、设计模型)简答题:1.Listthefourdesignmodelsrequiredforacompletespecificationofadesignandexplainhoweachiscreated.列出四个设计模型需求对于一个设计的完整说明书并且解释每一个是怎样产生的?答:(1)数据设计——为了软件的实现而使ERD和数据字典变为数据结构需求(2)体系结构设计——来源于系统规范和子系统交互(3)接口设计——来源于DFD和CFD集中于怎样进行人机交互(4)构件级设计——结构化的元素被转变为过程化的描述2.Listthreecharacteristicsthatcanserveasaguidetoevaluatedesignquality.列出能够作为评估设计质量向导的三个特征?答:(1)设计必须实现所有包含在分析模型中的明显需求(2)设计必须是可读的、可理解的(3)设计应该提供软件的完整面貌3.Whatisagooddesign?solution:1.Thedesignprocessshouldnotsufferfrom‘tunnelvision’2.Thedesignshouldbetraceabletotheanalysismodel.3.Thedesignshouldnotreinventthewheel.4.Thedesignshould“minimizetheintellectualdistance”5.Thedesignshouldexhibituniformityandintegration.6.Thedesignshouldbestructuredtoaccommodatechange.7.Thedesignshouldbestructuredtodegradegently.8.Designisnotcoding,codingisnotdesign.9.Thedesignshouldbeassessedforqualityasitisbeingcreated,notafterthefact.10.Thedesignshouldbereviewedtominimizeconceptual(semantic)errors.4.内聚(cohesion)是什么?凝聚力是衡量一个模块的功能相对实力5.耦合(coupling)是什么?耦合是模块之间的相互依存的方法第七章(Exercise7)简答题1.WhatisArchitecture?(体系结构是什么?)答:程序或计算机系统的软件体系结构是指系统的一个或者多个结构,它包括软件构件、构件的外部可见属性以及它们之间的相互关系。2.Howisatransactioncenterdifferentfromatransformcenterinadataflowdiagram?在一个数据流图中交易中心是如何不同于变换中心?答:交易中心转换成系统内部许多行动路径之一的外部信息流。第八章:(界面设计)简答题:1.Whatisthree“goldenrules”?三个“黄金法则”是什么?答:(1)将用户控制。(2)减少用户的记忆负荷。·(3)接口一致。2.Whatframeworkactivitiesarecompletedduringuserinterfacedevelopmentprocess?在用户界面的发展过程期间完成的是什么框架内的活动?答:用户,任务和环境分析界面设计界面结构接口验证3.Listfourinterfacedesignissuespresentinthedevelopmentofmostuserinterfaces在大多数的用户界面的发展当中列出四个接口设计问题答:系统响应时间用户帮助设施错误信息处理命令标签4.用户界面的基本类型有几种?答:从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、图形与图标、菜单、对话框及窗口等。每一种类型都有不同的特点和性能。第九章:简答题:1.Whatcharacteristicshasaboxdiagram?一个方块图有什么特征?答:(1)功能域以及定义和清晰可见,作为一个图示(2)任意控制转移是不可能的(3)本地和全球数据的范围可以很容易地确定(4)递归很容易代表2.Whichsectionsaredecisiontablesdividedinto?决策表分为哪些部分?答:左上方象限包含的所有条件左下角象限包含了所有动作的清单右手象限形成一个矩阵3.Whatarethecharacteristicsofaprogramdesignlanguage(PDL)?程序设计语言(PDL)的特点是什么?答:提供一个固定的关键字语法一个自然语言的语法描述处理功能数据申报的设施应包括子程序的定义和调用技术,支持各种接口描述模式第十章:简答题:1.Whataretheattributesofagoodsoftwaretest?一个良好的软件测试的属性是什么?答:(1)发现错误的概率高(2)不是多余的(3)应该是能够发现大部分的错误(4)不宜过于简单或过于复杂2.Describethedifferencesbetweenblack-boxtestingandwhite-boxtesting.描述黑盒测试和白盒测试之间的差异。答:(1)黑盒测试,包括测试软件组件的功能,不知道其内部逻辑的细节。黑盒测试是功能测试(2)白盒测试涉及全面测试内部独立的逻辑路径。白盒测试是模块测试3.CyclomaticcomplexityisComputedinthreeways.圈复杂度计算方法有三种。答:(1)流图中区域的数量对应于环形的复杂性有:内部的范围外部的范围----算一个区域(2)计算流图G的环形复杂性V(G):公式:V(G)=E-N+2N----节点数E----边的数量(3)计算流图G的环形复杂性V(G):公式:V(G)=P+1P----程序图中判定点的数量第11章:(软件测试——单元测试
本文标题:软件工程导论复习笔记
链接地址:https://www.777doc.com/doc-5528912 .html