公共基础之软件工程
计算机二级【公共基础知识】软件工程基础课件
需求优先级排序
根据项目目标和资源情况,对需 求进行优先级排序,确定哪些需 求是关键的、紧急的。
建立需求模型
使用合适的工具和技术,如原型 、流程图等,建立需求模型,帮 助团队更好地理解和管理需求。
需求规格说明
编写需求规格说明书
根据需求分析结果,编写详细的需求规格说明书,明 确各项需求的详细描述、功能要求和验收标准。
评审与确认
组织相关人员对需求规格说明书进行评审和确认,确 保其准确性和完整性。
发布与更新
将需求规格说明书发布给相关人员,并建立更新和维 护机制,确保其始终与项目实际情况保持一致。
需求验证与管理
验证需求
通过原型、测试用例等方式验证需求的正确 性和可行性,确保开发出来的软件能够满足 用户需求。
变更控制
02
需求获取
01
确定需求来源
识别并确定需求来源,包括用户、利益相关者和其他关 键干系人。
02
制定需求获取计划
制定详细的需求获取计划,包括时间、地点、人员和资 源等。
03
采集需求信息
通过访谈、问卷调查、原型演示等方式采集需求信息, 确保信息的准确性和完整性。
需求分析
需求分类
对获取的需求进行分类,明确哪 些是功能性需求,哪些是非功能 性需求。
需求分析
对软件需求进行重新审查和确认,确 保软件需求满足新的要求或变化。
设计修改
根据需求分析的结果,对软件的体系 结构、数据结构、接口等进行修改和 优化。
编码和测试
根据修改后的设计,进行代码编写和 测试,确保软件功能和性能的正确性 和稳定性。
软件可维护性
01
02
03
04
05
软件可维护性包 括四个方面
计算机二级【公共基础知识】软件工程基础【2024版】
(2)数据字典是结构化分析方法的核心,定义
了数据流图中每一个图形元素,使得用户和系 统分析员对于输入、输出、存储成分和中间结 果有共同的理解。
5.软件需求规格说明书
是需求分析的最后结果,是软件开发中重要的文档之一。 软件需求规格说明书的特点: (1)正确性; (2)无岐义性(最重要) ; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
软件生命周期是指软件产品从提出、实现、使
用维护到停止使用退役的过程。
3.软件生命周期:软件产品从提出、实现、使用
维护到停止使用退役的过程。包括软件定义、 软件开发、运行维护,主要活动阶段是:
(1)可行性研究与计划制定; (2)需求分析; (3)软件设计; (4)软件实现; (5)软件测试; (6)运行和维护。
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。
公共基础知识软件工程基础
公共基础知识软件工程基础汇报人:日期:•软件工程概述•软件开发生命周期•软件开发模型•软件需求工程•软件设计基础•软件工程管理基础•软件工程工具与技术目录软件工程概述软件的定义软件的特点软件的定义与特点软件工程的目标是实现软件的可靠性、可维护性、可扩展性和可重用性,同时满足用户的需求和期望。
软件工程的定义与目标软件工程的目标软件工程的定义提高软件质量降低软件开发成本增强软件的可维护性满足用户需求软件工程的重要性软件开发生命周期需求分析阶段01020304设计阶段编码与测试阶段进行单元测试、集成测试和系统测试。
部署与维护阶段01020304软件开发模型线性开发流程文档驱动适用于稳定环境030201瀑布模型迭代开发每个迭代周期都包含需求分析、设计、编码、测试等阶段,逐步完善软件的功能和性能。
逐步完善适用范围广迭代模型快速响应轻文档跨职能团队敏捷开发模型类和继承面向对象开发模型使用类和继承的概念,通过定义类来创建对象,并通过继承来共享属性和方法。
对象导向面向对象开发模型是一种以对象为导向的开发方法,将现实世界中的事物抽象成对象,并定义对象的属性和方法。
适用于复杂系统面向对象开发模型适用于复杂系统的开发,特别是涉及多个模块和组件的项目。
面向对象开发模型软件需求工程01020304访谈问卷调查焦点小组观察原型法螺旋模型敏捷方法面向对象方法确定系统目标划分系统功能定义数据结构制定接口标准需求规格说明书编制软件设计基础软件设计的概念软件设计的原则软件设计的基本原则和概念软件设计的任务软件设计的过程软件设计的主要任务和过程软件质量要素软件设计中的质量要素包括可靠性、可用性、可维护性、可扩展性等,以确保软件产品能够满足用户需求并稳定运行。
关键技术软件设计中的关键技术包括面向对象编程、设计模式、架构模式等,以提高软件产品的质量和开发效率。
软件设计中的质量要素和关键技术软件工程管理基础任务分解资源估算估算方法软件项目估算基础制定进度计划确定关键路径监控与调整软件项目进度计划制定风险识别识别项目中可能出现的风险,如需求变更、技术难题、人员流失等。
计算机二级【公共基础知识】软件工程基础课件
包括自顶向下设计和逐步细化设计两 个步骤,通过逐步分解系统,将复杂 问题分解为简单问题,便于开发人员 理解和实现。
面向对象设计方法
面向对象设计方法的概念
面向对象设计方法是一种基于对象的设计技术,将数据和操 作封装在对象中,通过对象之间的交互实现系统的功能。
面向对象设计方法的步骤
需求分析
需求分类
对获取的需求进行分类,明确哪些是功能性需求,哪些是非功能性 需求。
需求优先级排序
根据项目目标和利益相关者的关注点,对需求进行优先级排序,确 定哪些需求是必须满足的,哪些是可协商的。
建立需求模型
通过建立数据流图、实体关系图等模型,对需求进行详细分析和描 述。
需求规格说明书
编写需求规格说明书
测试执行是按照测试计划和测试用例执行测试的过程,而测试报告是记录测试结果和提供决策依据的重要文档。
在测试执行过程中,应按照测试计划和测试用例的要求,对软件系统进行逐项测试,并记录测试结果和发现的问题。测试报 告应详细记录测试过程、方法、结果和结论,并提供决策依据和建议。同时,测试报告还应包括问题跟踪和管理,以确保所 有发现的问题得到及时解决和验证。
迭代模型
在开发过程中不断迭代,逐步完善软件功能,逐步进行测试 和维护。
螺旋模型
强调风险分析,将瀑布模型和迭代模型相结合,逐步完善软 件功能。
敏捷开发方法
概念
敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作和灵活性。
常见方法
Scrum、极限编程等。
特点
快速响应变化,快速交付价值,持续改进和团队成员的高度协作。
软件工程的重要性
提高软件质量
通过采用工程化的方法和技术, 可以减少软件缺陷和漏洞,提高
级公共基础知识软件工程课件 (一)
级公共基础知识软件工程课件 (一)软件工程是一门学科,它涵盖了软件开发生命周期的各个方面,包括需求分析、设计、编码、测试和维护等。
而软件工程的基础知识则是为能够学好软件工程这一门课程的学生们打下坚实的基础所需要掌握的知识点。
因此,“级公共基础知识软件工程课件”作为入门级别的软件工程课程,是向学生介绍软件工程基本概念、原理和方法的重要手段。
这个课程将帮助学生了解软件工程所需要掌握的概念和技能,并引导学生了解工程开发中的设计、编码和测试等方面的实践。
下面将分为三个方面来详细介绍。
一、课程概述:课程的开始部分将介绍软件工程的定义、发展历程和软件工程师的角色以及软件工程的意义。
这将引导学生将贯穿整个学期的学习纳入到一个联接心理水平的范畴内。
作为这类课程的一般主题,学生将学会关注软件工程和软件项目开发的重要性,特别是面向现代信息化社会的发展机遇和挑战。
课程中还将涉及各种软件工程的生命周期、软件工程的质量保障等知识点。
二、软件开发过程:本部分将介绍软件开发的系统、模块、组件、对象、接口、框架和类等常用概念,以及需求分析、设计、编码、测试和维护等软件开发过程中的核心技术。
需要重点关注的知识点包括设计模式、开发流程、敏捷开发、测试策略、自动化测试和性能测试等。
该部分还将讨论如何应对常见的软件开发问题和走弯路的方法。
三、与项目开发相关的案例分析:在本部分,将深入探讨例如面向对象编程、移动应用开发、企业级应用等实际软件开发场景的案例。
这部分讨论将强调应用实际有关部门进行案例研究,以让学生通过实践了解如何解决开发过程中或质量等方面的挑战。
案例还将介绍最近的软件开发技术趋势,例如云计算和人工智能等。
总的来说,“级公共基础知识软件工程课件”是学习软件工程的理论和实践的第一步,也是学习其他高级软件开发的必经之路。
对于那些希望以职业开发为目标或对今后需要共享软件开发工具感兴趣的人而言,掌握这些基本知识是必不可少的。
课程贯穿整个软件工程的生命周期,将为学生们提供最好的工具和技术支持,以帮助他们成功地完成项目任务。
公共基础知识软件工程基础
验证、规范、高可靠性
详细描述
V-Model是一种基于瀑布模型的软件开发 方法,它强调在每个阶段进行验证和确认 ,以确保最终产品的可靠性和质量。VModel将软件开发过程分为两个阶段:左 侧阶段和右侧阶段。左侧阶段包括需求分 析、系统设计、详细设计等阶段,右侧阶 段包括编码、测试、部署等阶段。
Spiral开发方法
软件工程的诞生和发展
为了解决软件危机,人们开始研究软件工程,提出了许多理论和方法,如结构化程序设计 、面向对象程序设计、设计模式等。这些理论和方法不断发展和完善,成为现代软件工程 的基础。
02
软件工程的基本原理
面向对象编程(OOP)
总结词:一种编程范式,将程序看作对象的集合 ,以对象的交互来实现功能。
软件工程的重要性
提高软件质量
软件工程提供了一套系统的方法和 工具来管理和维护软件,从而提高 软件的质量。
降低软件开发成本
通过有效的需求分析、设计、编码 、测试和维护,软件工程可以降低 软件开发成本。
提高软件可维护性
软件工程强调软件的可维护性,通 过模块化、封装和抽象等技术来提 高软件的可维护性。
提高软件开发效率
总结词:一种编程范式,关注程 序的执行流程和操作顺序。
1. 流程控制:使用条件语句、循 环语句等控制结构来组织程序流 程。
3. 函数:可调用的子程序,将功 能封装成独立的模块。
模块化原理
总结词:将系统划分 为独立的模块,每个 模块具有特定的功能 。
详细描述
1. 模块化设计:将系 统划分为独立的模块 ,每个模块具有特定 的功能,便于代码的 维护和扩展。
代码度量与质量保证
代码度量是指对代码的质量、复杂度和可维护性等方面进行 评估的过程。通过代码度量可以发现潜在的问题,及时进行 改进。
最新公共基础知识必背!软件工程
最新公共基础知识必背!软件工程在软件工程领域,掌握一些必备的公共基础知识对于各种软件开发和项目管理非常重要。
本文将介绍一些最新的公共基础知识,帮助软件工程师在工作中更加高效和成功。
1. 面向对象编程(Object-Oriented Programming,简称OOP)面向对象编程是一种软件开发方法,它将现实世界中的事物抽象为对象,并通过定义对象的属性和方法来描述其行为。
在软件工程中,面向对象编程可以提高代码的重用性、可维护性和可扩展性。
2. 数据库管理系统(Database Management System,简称DBMS)数据库管理系统是一种用于存储和管理数据的软件工具。
它可以提供数据的安全性、完整性和一致性,并且可以方便地进行数据的查询和操作。
掌握数据库管理系统的基本原理和常用操作是软件工程师必备的技能之一。
3. 软件测试(Software Testing)软件测试是一种确保软件质量的过程,其目的是发现软件中的错误和缺陷,并确保软件在各种条件下都能正常运行。
软件测试可以提高软件的稳定性和可靠性,减少软件上线后出现的问题。
4. 网络安全(Network Security)随着互联网的快速发展,网络安全问题越来越突出。
软件工程师需要掌握一些网络安全的基本概念和技术,以保护系统免受未经授权的访问、数据泄露和恶意攻击。
5. 项目管理(Project Management)在软件工程领域,项目管理是必不可少的一项技能。
项目管理涉及计划、组织、控制和监督项目的各个阶段,以确保项目按时、按预算和按质量要求完成。
掌握项目管理的基本原理和方法,可以提高团队合作和项目交付的效率。
以上是一些最新的公共基础知识,软件工程师在日常工作中应该掌握和了解。
通过学习和实践这些知识,可以帮助软件工程师提高工作技能和解决问题的能力,从而取得更好的工作业绩。
全国计算机等级考试二级公共基础知识-软件工程
3.2 软件生命周期
1.软件生命周期概念 软件产品从提出、实现、使用、维护到停 止使用退役的过程称为软件生命周期。软件生 命周期分为3个时期共8个阶段, (1)软件定义期:包括问题定义、可行性 研究和需求分析3个阶段; (2)软件开发期:包括概要设计、详细设 计、实现和测试4个阶段; (3)运行维护期:即运行维护阶段。
1.下列工具中,不属于结构化分析的常用工
具是( )。
A)数据流图
B)数据字典
C)判定树
D)N-S图
2.软件开发中,需求分析阶段产生的主要
文档是( )。
A)数据字典
B)详细设计说明书
C)数据流图说明书 D)需求规格说明书
3.下列叙述中,正确的是( )。
A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令
2、衡量软件模块独立性使用耦合性和内聚 性两个定性的度量标准
内聚性是度量一个模块功能强度的一个相 对指标。它描述的是模块内的功能联系。
耦合性是模块之间互相连接的紧密程度的 度量。
在程序结构中,各模块的内聚性越强,则 耦合性越弱。一般较优秀的软件设计,应尽量 做到高内聚,低耦合,即减弱模块之间的耦合 性和提高模块内的内聚性,有利于提高模块的 独立性。
软件设计的基本原理
1、软件设计中应该遵循的基本原理和与软件 设计有关的概念
(1)抽象;(2)模块化;(3)信息隐蔽; (4)模块独立性:模块的独立程度是评价设 计好坏的重要度量标准。衡量软件的模块独立性 使用耦合性和内聚性两个定性的度量标准。一个 模块的内聚性越强则该模块的模块独立性越强。 一个模块与其他模块的耦合性越强则该模块的模 块独立性越弱。
计算机二级考试公共基础知识(软件工程)资料
计算机基础中心
软件需求分析阶段的工作,可以分为四个方面: • 软件设计:包括软件结构设计、数据设计、接口设 1 )软件定义阶段:包括制定计划和需求分析。 需求获取、需求分析、编写需求规格说明书以及 计和过程设计。其中结构设计是定义软件系统各部 制定计划:确定总目标;可行性研究;探讨解决方案; ______ 。 件之间的关系;数据设计是将分析时创建的模型转 制定开发计划。 B A. 化为数据结构的定义;接口设计是描述软件内部、 阶段性报告 B. 需求评审 需求分析:对待开发软件提出的需求进行分析并给出 软件和操作系统之间及软件与人之间如何通信;过 C. 总结 D. 都不正确 详细的定义。 程设计则是把系统结构部件转换成软件的过程性描 2)软件开发阶段: 述。软件设计分概要设计和详细设计。参加人员有 概要设计和详细设计 软件设计:分为____________________ 两个部分。 系统分析员和高级程序员。产生的文档有设计规格 软件实现:把软件设计转换成计算机可以接受的程序代码。 说明书。 软件测试:在设计测试用例的基础上检验软件的各个组成 • 编码:编程。高级程序员和程序员产生源程序清单 部分。 3• )软件运行维护阶段:软件投入运行,并在使用中不断地 测试:由另一部门的高级程序员或系统分析员产生 维护,进行必要的扩充和删改。 软件测试计划和软件测试报告 软件运行维护阶段 *:软件生命周期中所花费最多的阶段是________________ 。 • 运行维护
–
6个活动阶段
•
可行性研究与计划制定:确定系统的总体目标。参加人员有 用户、项目负责人和系统分析员,产生文档有可行性分析报 告、项目计划书等 需求分析阶段的任务是确定 ______。 • 需求分析:确定系统的逻辑模型。参加人员有用户、项目负 责人和系统分析员。产生文档为需求规格说明书,其作用: A. 软件开发方法 B. 软件开发工具 (1)便于用户、开发人员进行理解交流;(2)反映用户问 C. 软件开发费 D. 软件系统功能 D 题的结构,可以作为软件开发工作的基础和依据;( 3)作为 确认测试和验收的依据。
全国计算机等级考试二级公共基础知识_3软件工程
全国计算机等级考试二级公共基 础知识_3软件工程
软件工程基本概念,软件生命周期概念,软 件工具与软件开发环境。
结构化分析方法,数据流图,数据字典,软 件需求规格说明书。
结构化设计方法,总体设计与详细设计。 软件测试的方法,白盒测试与黑盒测试,测
试用例设计,软件测试的实施,单元测试、 集成测试和系统测试。 程序的调试,静态调试与动态调试。
(1)软件开发技术,主要有软件开发方法学、开发过 程、软件工具、软件工程环境,其主体内容是软件开 发方法学。 (2)软件工程管理,主要有软件管理、软件工程经济 学、软件心理学。
软件工程的主要思想是将工程化原则运用到软件开发 过程,它包括3个要素:方法、工具和过程。方法是完 成软件工程项目的技术手段;工具是支持软件的开发 、管理、文档生成;过程支持软件开发的各个环节的 控制、管理。
3. 软件生命周期
将软件产品从提出、实现、使用维护到停止使用退役 的过程称为软件生命周期
分为软件定义、软件开发及软件运行维护3个阶段。维 护是持续时间最长,花费代价最大的一个阶段,软件 工程学的一个目的就是提高软件的可维护性,降低维 护代价
6个活动阶段
可行性研究与计划制定:确定系统的总体目标。参加人员有用 户、项目负责人和系统分析员,产生文档有可行性分析报告、 项目计划书等
全国计算机等级考试二级公共基 础知识_3软件工程
在笔试考试中,是一个经常考查的内容,考核的几 率为70%,主要是以选择题的形式出现,分值为2分 ,此考点为识记内容,读者应该识记软件的定义, 特点及其分类。
全国计算机等级考试二级公共基 础知识_3软件工程
1.软件的定义与组成
软件指的是计算机系统中与硬件相互依存的另一部 分,包括程序、数据和相关文档的完整集合。程序 是软件开发人员根据用户需求开发的、用程序设计 语言描述的、适合计算机执行的指令序列。数据是 使程序能正常操纵信息的数据结构。文档是与程序 的开发、维护和使用有关的图文资料。
公共基础——软件工程基础
公共基础——软件工程基础软件工程基础知识1、构成计算机软件的是()。
A、源代码B、程序和数据C、程序和文档D、程序、数据及相关文档参考答案:D【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。
2、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是()。
A、编译程序B、操作系统C、教务管理系统D、汇编程序参考答案:C【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。
3、. 软件生命周期中的活动不包括()。
A、市场调研B、需求分析C、软件测试D、软件维护参考答案:A【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。
主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择A。
4、负责数据库中查询操作的数据库语言是()。
A、数据定义语言B、数据管理语言C、数据操纵语言D、数据控制语言参考答案:C【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
5、软件生命周期是指()。
A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软件的运行维护过程参考答案:A【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
6、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
A、外模式B、内模式C、概念模式D、逻辑模式参考答案:B【解析】数据库系统的三级模式是概念模式、外模式和内模式。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件生存周期软件定义软件开发软件运行维护第三章软件工程可行性研究需求分析概要设计详细设计软件测试重点:需求分析、概要设计、详细设计、软件测试和软件调试的作用、方法等、、软件工程基本概念●软件定义与软件特点1.软件是计算机系统中与硬件相互依存的重要部分,包括程序、数据及相关的文档。
其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。
2.下列叙述中,正确的是( d )。
A)软件就是程序清单C)软件应包括程序清单及运行结果B)软件就是存放在计算机中的文件D)软件包括程序和文档3. 软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)●软件危机与软件工程4. 软件工程的出现是由于( c )A)程序设计方法学的影响C)软件危机的出现B)软件产业化的需要D)计算机的发展5. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(b)A)软件投机B)软件危机C)软件工程D)软件产生6. 开发大型软件时,产生困难的根本原因是( a )。
A)大型系统的复杂性B)人员知识不足C)客观世界千变万化D)时间紧、任务重7.软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了软件工程学的原理来设计软件这就是软件工程诞生的基础。
8.下列不属于软件工程的3个要素的是(d )●A)工具B)过程软件工程过程与软件生命周期C)方法D)环境9.软件工程过程是把输入转化为输出的一组彼此相关的资源实现、使用维护到停止使用退役的过程称为软件生命周期10.软件生命周期中所花费用最多的阶段是(d)和活动。
通常,将软件产品从提出、说明:软件工程概念的出现源自软件危机。
所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
总之,可以将软件危机归结为成本、质量、生产率等问题。
A )详细设计B )软件编码C )软件测试D )软件维护11. 软件开发的结构化生命周期方法将软件生命周期划分成( a )。
A) 定义、开发、运行维护C)总体设计、详细设计、编程调试B )设计阶段、编程阶段、测试阶段 D)需求分析、功能定义、系统设计 12. 软件生命周期一般包括可行性研究与 活动。
需求分析 、设计、实现、测试、交付使用以及维护等●软件工程的目标与原则13. 软件工程的理论和技术性研究的内容主要包括: 软件开发技术 和 软件工程管理 。
软件开发 技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,主体内容是软件开发方法学。
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
14. 软件工程的理论和技( b )A )消除软件危机B )软件工程管理C )程序设计自动化D )实现软件可重用15. 软件工程的原则包括抽象、 证性。
信息隐藏 、模块化、局部化、确定性、一致性、完备性和可验●软件开发工具与软件开发环境16. 开发软件时对提高开发人员工作效率至关重要的是(b )A )操作系统的资源管理功能B )先进的软件开发工具和环境C )程序人员的数量D )计算机的并行处理能力17. 软件开发环境是全面支持软件开发全过程的 软件工具集合。
、、 结构化分析方法● 需求分析与需求分析方法18. 在软件生产过程中,需求信息的给出是( d )。
A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户 19. 需求分析中,开发人员要从用户那里了解( a )。
A)软件做什么 B)用户使用界面 C)输入的信息 D)软件的规模 20. 需求分析阶段的任务是确定 (D)A) 软件开发方法 B)软件开发工具 C)软件开发费用 D) 软件系统功能21. 需求分析的任务是发现需求、求精、建模和定义需求的过程。
需求分析将创建所需的数据模型、 功能模型和 控制模型22. 需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书、 需 求评审补充:常用的软件开发方法和技术可以分为三大类:瀑布型、增量型和变换型。
瀑布型开发方法将 软件生命周期的各项活动规定为按固定顺序连接的若干阶段,强调早期的需求分析和开发的阶段性, 强调产品测试;但是不能适应需求的变化。
增量型则先建立一个不完全的系统,通过对需求的理解 再进一步扩充和完善。
例:瀑布模型突出的缺点是不适应(d )的变动 A)算法 B)平台 C)程序语言 D)用户需求下列工具中不属于需求分析常用工具的是( d )。
A)PAD B)PFD C)N—S D)DFD●结构化分析方法23. 结构化方法的核心和基础是结构化程序设计理论24. 下列不属于结构化分析的常用工具的是( d )。
A)数据流图B)数据字典C)判定树D)PAD 图25. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A)可行性分析B)需求分析C)详细设计D)程序编码26. 数据流图用于抽象描述一个软件的逻辑模型.数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是( a )。
A)控制流B)加工C)数据存储D)源和潭27. 在数据流图(DFD)中的箭头代表的是( a )A)数据流B)控制流C)调用关系D)组成关系28. 在数据流图(DFD)中,带有名字的箭头表示( d )。
A)模块之间的调用关系B)程序的组成成分C)控制程序的执行顺序D)数据的流向29. 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典●30.软件需求规格说明书软件需求规格说明书是需求分析阶段的最后结果31. 下列叙述中,不属于软件需求规格说明书的作用的是(d)A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析32. ( c)是对软件系统所必须解决的问题做出的详细说明A)功能描述B)性能描述C)数据描述D)参考文献目录常用的需求分析方法:(1)结构化分析方法。
主要包括:面向数据流的结构化分析方法(SA),面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法(OOA)说明:数据流图中的主要图形元素与说明:说明:需求规格说明书一般包括以下内容:概述、数据描述、性能描述、功能描述、参考文献目录等。
其中概述从系统角度描述软件的目标和任务;功能描述中描述了为解决用户问题所需要的每一项功能的过程细节;性能描述说明系统应达到的性能和应该满足的限制条件、检测的方法和标准。
、、 结构化设计方法● 软件设计的基本概念33. 在软件开发中,下面任务不属于设计阶段的是(D)A)数据结构设计 B) 给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型 34. 软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( b )。
A)模块间的关系 C)软件层次结构 B)系统结构部件转换成软件的过程描述 D)软件开发过程35. 下面不属于软件设计原则的是(c )A )抽象B )模块化C )自底向上D )信息隐藏 36. 耦合和内聚是评价模块独立性的两个主要标准,其中 内聚反映了模块内各成分之间的联系,耦合反映了模块间互相连接的紧密程度。
37. 内聚性是信息隐蔽和局部化概念的自然扩展,一个模块的内聚性越强,则该模块的模块独立性 越 强 。
一个模块与其它模块的耦合性越强,则它的模块独立性越 弱 。
38. 下列叙述中,正确的是( c )A)接口复杂的模块,其耦合程度一定低 B)耦合程度弱的模块,其内聚程度一定低 C)耦合程度弱的模块,其内聚程度一定高 D)以上都不对 39. 下列选项中,不属于模块间耦合的是( b )。
A)数据耦合 B)同构耦合 C)异构耦合D)公用耦合40. 软件设计中,有利于提高模块独立性的一个准则是( c )。
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合●概要设计41. 软件的 概要 设计又称为总体结构设计,其主要任务是建立软件系统的总体结构,设计数据 结构及数据库,编写概要设计文档,概要设计文档评审。
42. 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 (C)A)详细设计 B)需求分析 C)总体设计 D)编程调试43. 在概要设计阶段,常用的软件结构设计工具是 结构图 (sc),也称程序结构图。
生成的结构图中, 带有箭头的连线表示( a ),矩形表示模块。
A )模块之间的调用关系B)程序的组成成分 C)控制程序的执行顺序D)数据的流向 44. 在概要设计阶段,一般采用面向数据流的设计方法。
数据流的类型有 变换型和事务型。
将 变换型映射成结构图称为 变换分析 。
将事务型映射成结构图称为 事务分析 。
45. 好的软件设计结构通常 顶层 高 扇出,中间扇出较少,底层 高 扇入。
46. 模块的控制范围包括它本身以及它所有的从属模块,模块的作用范围是指模块内一个判定的作 用范围,凡是受到这个判定影响的所有模块都属于这个判定的作用范围。
理想的情况是( a ) 说明:结构设计:定义软件系统各主要部件之间的关系;数据设计:将分析时创建的模型转化为数 据结构的定义;接口定义:描述软件内部、软件和协作系统之间以及软件与人之间如何通信;过程 设计:把系统结构部件转换成软件的过程性描述。
A)模块的作用范围应在控制范围内 C)模块的作用范围宇控制范围交叉 B)模块的控制范围应在作用范围之内 D)模块的作用范围域控制范围分离●详细设计47. 详细设计 的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用选定的表 达工具表示算法和数据结构的细节。
确定怎样来具体实现所要求的系统。
48. 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常 也把这种图称为( b )。
A)PAD 图 B)N —S 图 C)结构图 D)数据流图 49. 详细设计的结果基本决定了最终程序的( c )。
A)代码的规模 B)运行速度 C)质量 D)可维护性 50. 软件设计模块化的目的是 降低复杂性 。
51. 详细设计的典型语言描述工具是( b )A)C B)PDLC)VBD)PB、、 软件测试● 软件测试的目的52. 在软件测试设计中,软件测试的主要目的是( d )。
A)实验性运行软件 B)证明软件正确 C)找出软件中全部错误 (注意:不是为了证明软件的正确性,也不是为了找出全部错误) ● 软件测试的准则53. 下列叙述中.不属于测试的特征的是( c )。
D)发现软件错误而执行程序● A)测试的挑剔性 B)完全测试的不可能性软件测试技术与方法C)测试的可靠性D)测试的经济性54. 下列不属于静态测试方法的是( b )。