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