1、软件是一种(逻辑实体),而不是具体的物理实体,因而它具有抽象性。2、需求分析研究的对象是软件项目的(用户/客户/功能+性能/功能)要求。3、需求分析的任务就是借助于当前系统的(逻辑模型)导出目标系统的(逻辑模型),解决目标系统的(“做什么”)的问题。4、结构化需求分析方法由对软件问题的(信息/数据)和(功能)的系统分析过程及其表示方法组成。5、确认测试包括:有效性测试和(软件配置审查,文档审查)。6、白盒测试的逻辑覆盖方法包括语句覆盖、(判定/判断覆盖)、条件覆盖、(判定/判断-条件覆盖)、条件组合覆盖、(路径覆盖/路径测试/基本路径测试)。注:次序无关7、为了提高模块的独立性,模块之间最好是(数据耦合)为了提高模块的独立性,模块最好是(功能内聚)8、下列关于功能性注释不正确的说法是(B)A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释和程序D.修改程序也应修改注释9、在UML状态图中,与转移上的事件联系在一起的瞬时操作是(动作)10、测试的关键问题是(如何选择测试用例)11、以下说法不正确的是(A)。A.原型思想是在研究概要设计阶段的方法和技术中产生的。B.探索型和实验型原型采用的是抛弃策略。C.进化型原型采用的是追加策略。D.快速原型方法是利用原型辅助软件开发的一种思想。12、需求规格说明书的作用不包括(C)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据13、软件结构图中,模块框之间若有直线连接,表示它们之间存在(调用关系)14、下面关于DFD中的加工的描述正确的是(C)A.每个加工只能有一个输入流和一个输出流B.每个加工最多有一个输入流,可以有多个输出流C.每个加工至少有一个输入流和一个输出流D.每个加工都是对输入流进行变换,得到输出流15、在基于数据库的信息管理系统中,数据库概念模型的设计对应于系统开发的(概要设计)阶段。16、下列关于效率的说法不正确的是(B)A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率的根本途径在于采用高效的算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的算法有关17、某企业的软件系统希望从Windows平台移植到Linux平台上,软件开发厂商为了满足企业的要求进行的维护属于(适应性维护)18、软件测试的目的是(为了发现程序中的错误)19、用白盒测试法设计测试用例的方法包括(基本路径测试)20、导致软件危机的最主要原因是(开发方法和技术不合理)21、下面关于软件生命周期模型的描述正确的是(C)A.软件生命周期是指从软件需求分析到上线运行的全过程B.原型方法只能用于软件的需求分析阶段C.按照瀑布模型开发系统时,必须完成需求分析才能开始系统设计D.增量模型又叫做迭代模型22、(UML)是面向对象技术领域内占主导地位的标准建模语言。23、模块的作用范围应在控制范围之内,下面哪一种做法是不当的(C)。A.将判定所在模块合并到父模块中,使判定处于较高的层次B.将受到判定影响的模块下移到控制范围内C.将判定所在模块下移到最低层次D.将判定上移到层次中较高的位置24、软件的正确性是指(软件产品达到预期的功能)25、软件测试内容不包括(D)A.对需求规格说明的确认B.对代码进行桌前检查C.对性能进行测试D.对代码进行调试26、某企业的软件系统投入运行一段时间后出现响应速度慢的情况,软件开发厂商为了适应企业的要求,对软件性能进行了优化,提高了运行速度,企业进行的维护工作属于(B)A.适应性维护B.完善性维护C.改正性维护D.预防性维护27、OOA所要完成的工作不包括(D)A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作28、白盒测试法中最强的逻辑覆盖是(路径覆盖)29、下面哪一个不是数据词典的构成之一(C)。A.数据流词条描述B.数据文件词条描述C.数据流层次词条描述D.加工逻辑词条描述30、OOA所要完成的工作不包括(D)A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作31、结构化程序设计采用的三种基本控制结构是(顺序、选择、重复)32、下面哪一个不属于UML中的图(D)。A.类图B.状态图C.构件图D.数据流图33、如果由于某种原因不能修改已有的用例文本,使用以下哪种关系可以解决这个问题(C)。A.包含关系B.继承关系C.扩展关系D.聚合关系34、下面哪种生命周期模型本身不是一个完整的方法论(D)。A.螺旋模型B.喷泉模型C.RUPD.敏捷模型35.软件的可行性研究中不包括(D)。A.技术可行性B.法律可行性C.经济可行性D.政治可行性36.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.聚合B.组合C.封装D.抽象37.面向对象设计模型中不包括(A)A、操作契约B、类的方法C、用例实现的顺序图D、对象的状态图判断:正确:1.用例代表的视角色的目标,而不是达到角色目标过程中的一个步骤2.用例模型是用来说明系统应该具备的功能描述。3.软件维护的周期远远大于软件开发的周期。4.在进行软件类设计的过程中可以应用GRASP中的“信息专家”模式决定类中的方法。5.需求分析需要对系统的数据、功能和行为进行建模。6.采用黑盒测试系统功能时,完全不需要了解程序内部结构。7.SRP原则阐述的是对于一个类而言,应该只有一个引起它变化的原因。8.面向对象设计中最关键的活动是找到对象并给对象分配职责。9.类是具有相同属性、操作、关系和语义的对象集合。10.软件测试目的在于发现错误。11.领域模型就是用来描述业务领域重要概念及其相互关系的模型,一般用UML的类图来表达。12.除了分析阶段用于明确需求以外,原型方法也可以用于软件工程的其它阶段。13.原型方法既可以同瀑布模型结合也可以与UP模型结合使用。14.面向对象设计中最关键的活动是找到对象并给对象分配职责。15.如果对象A包含或聚合对象B,那么A拥有创建B的职责。16.错误:1.数据词典包括数据流词条、数据元素词条、数据文件词条以及数据加工逻辑词条四个部分。2.状态图之间不能够发送消息。3.软件测试只需要测试计划、测试用例和测试工具就可以进行。4.项目开发计划不属于软件开发类文档。5.软件是一种逻辑实体,由可执行代码构成。6.软件质量主要通过软件的功能测试来保证。7.UML中顺序图和协作图不仅能用来表示对象之间的动态行为,也能表示对象内部的状态变化。8.单元测试中只能使用白盒测试方法。9.软件能力成熟度模型是衡量软件项目管理水平的标准。10.领域模型是面向对象分析和设计的一个组成部分,因而它也是待构建的软件模型的一个部分。11.在顺序图中,一个对象A发送了一条创建另一个对象B的消息,那么表明对象B具备了处理该条消息的职责。12.螺旋模型最大的特点是加入了对软件成本的控制。13.好的软件设计是指按照该设计方案能够实现需求定义的系统功能。14.软件测试的目的证明提交的软件是正确的。15.AisaB说明A与B之间存在聚合关系。16.软件是就是程序,程序就是软件。17.螺旋模型最大的特点是加入了对软件成本的控制。18.软件模块划分得越小,总的软件开发成本就越小。19.面向对象分析(OOA)和面向对象设计(OOD)分别采用不同的概念和表示法。20.白盒测试不能应用穷举法,黑盒测试可以应用。21.在项目面临进度延期的情况下,总是可以通过增加人力在后期跟上进度。22.缺乏处理大型软件项目的经验,是产生软件危机的唯一原因。23.类图用来表示系统中类以及类与类之间的关系,它是对系统动态结构的描述。24.UML是一种可视化的程序设计语言。25.用例模型中,创建系统操作契约是必须的。26.外观控制器不需要实现系统操作,但用例控制器需要。1.软件的定义:软件是计算机程序、规程,以及运行计算机系统可能需要的相关文档和数据软件是包括程序、数据及其相关文档的完整集合2.软件的特点:软件是一种具有抽象的逻辑实体软件的开发是一种逻辑思维成熟的过程,而无明显的制造过程软件没有磨损和老化问题,但存在软件退化问题软件的开发依然很原始软件是高度复杂的逻辑体3.软件的分类:系统软件、应用软件、中间件软件按照服务对象范围划分:通用软件、定制软件、可配置软件按照软件使用方式划分:单机软件、服务器软件、客户端软件按照软件功能划分:办公软件、网络软件、系统工具软件、系统安全软件、多媒体软件、设计与开发软件、游戏软件、家庭应用软件、行业软件4.软件危机:由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象5.软件危机产生的原因:软件本身存在复杂性,软件开发和维护所使用的方法不合理6.软件危机解决途径:软件工程学,即采用工程化的方法从事软件系统的研究和维护。7.软件工程定义:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。软件工程学是为在成本限额以内按时完成开发和修改软件产品所需的系统生产和维护的技术和管理的学科。IEEE计算机学会将“软件工程”定义为:⑴应用系统化的、规范化的、定量的方法来开发、运行和维护软件,即:将工程应用到软件;⑵对⑴中各种方法的研究。8.软件工程三要素:方法、工具、过程9.软件工程的目标:生产具有正确性、可用性以及开销适宜的软件产品。10.软件工程的最终目的:摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化。11.软件工程研究的内容:软件开发技术:软件开发方法学、开发过程模型、开发工具、软件工程环境软件工程管理:软件管理学、软件工程经济学、软件心理学等内容12.软件工程的原则:选取适宜的开发模型、采用合适的设计方法、提供高质量的工程支持力度、重视开发过程的管理13.软件工程管理的基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应少而精、承认不断改进软件工程实践的必要性14.软件工程的一般原理:抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性、可验证性15.工程项目的三个基本目标:合理的进度、有限的经费、一定的质量16.软件工程过程:为了获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。17.软件工程过程包含4种基本的过程活动:软件规格说明:规定软件的功能及其使用限制;软件开发:产生满足规格说明的软件;软件确认:通过有效性验证以保证软件能够满足客户的要求;软件演进:为了满足客户的变更要求,软件必须在使用过程中进行不断地改进。18.软件生命周期:指软件产品从考虑其概念开始,到该软件产品不再使用为止的整个时期,一般包括概念阶段、分析与设计阶段、构造阶段、移交和运行阶段等不同时期。19.软件生命周期的六个基本步骤:制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护20.影响软件生命周期长短的因素:不考虑硬件环境的快速发展因素时,……为软件的质量、软件的灵活性和适应能力21.软件过程模型:从一个特定角度提出的对软件过程的概括描述,是对软件开发实际过程的抽象,包括构成软件过程的各种活动(Activities)、软件工件(artifacts)以及参与角色(Actors/Roles)等。22.软件生命周期模型:是一个框架,描述从软件需求定义直至软件经使用后废弃为止,跨越整个生存期的软件开发、运行和维护所实施的全部过程、活动和任务,同时描述生命周期不同阶段产生的软件工件,明确活动的执行角色等。是指导软件开发人员按照确定的框架结构和活动进行软件开发的标准。23.传统模型种类:瀑布模型、演化模型、增量模型、喷泉模型、V模型和W模型、螺旋模型、构件组装模型、快速应用开发模型、原型方法24.瀑布模型:规定了软件生命周期提出