




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1 什么是软件工程 基本原理有哪些 3 2 成本 效益分析可用哪些指标进行度量 写出公式 3 3 什么是数据流图 其中的基本符号各表示什么含义 画出定货系统基本数据 流图 3 4 非渐增式测试与渐增式测试有什么区别 3 5 试从基本符号和设计方法分析 HC 图与 JACKSON 图异同点 4 6 软件测试的目的是什么 4 7 结构化程序设计的思想是什么 4 8 请解释极限编程和自适应软件开发 并说明其异同 4 9 需求工程的起始阶段 需求工程师的主要工作是 4 10 请画出 在餐厅使用信用卡付费 这一活动的完整用例图 5 11 分析说明结构化分析和面向对象分析的区别 5 12 请简要给出评价软件设计质量的标准 5 13 一个良好的设计类需要满足四个特点 请详细描述这四个特点 5 14 软件项目估算内容与步骤 6 15 面向对象设计的准则是什么 有哪 5 个层次和 4 个部分 6 16 简述软件工程目标和面临的主要问题 6 17 简述软件工程过程 6 18 简述模块独立性的原则 6 19 简述结构化程序设计方法的基本要点 7 20 简述软件生命周期开发方法的基本过程及每个阶段的任务 7 21 复印机的工作流程大致如下 7 22 简述文档在软件工程中的作用 8 23 简述软件项目管理过程 8 24 简述系统分析员应该具备的主要知识结构和基本素质 8 25 简述何谓软件开发方法 请列举四种主要方法 9 26 简述单元测试的基本内容 9 27 什么是软件生存周期模型 请至少列举四种主要模型 9 28 衡量模块独立的两个标准是什么 它们各表示什么含义 网上 10 29 简述白盒测试的思想 并列举两种典型的测试技术 10 30 简述 CMM 软件能力成熟度模型 5 个等级的含义 10 31 简述软件维护的定义 11 32 简述软件测试的定义 11 33 UML 建模中主要包括哪九种图 并说明类图的定义及其中常见的关系有哪些 11 34 什么是字据字典 其作用是什么 它有哪些条目 11 35 软件工程的两大范型分别是什么 它们有什么不同 11 36如何画分层数据流图 12 37面向对象程序设计有哪些优点 12 38 在软件测试中 应注意哪些原则 12 39 程序设计风格是指一个人编制程序时所表现出来的特点 习惯 逻辑思路 等 13 40面向对象分析与面向对象设计的关系 13 41成本 效益分析的目的是什么 可用哪些指标进行度量 13 2 42 软件设计分哪几个阶段 它们的主要任务是什么 13 43 用户需求和系统需求各有什么特点 14 44 面向对象设计的准则 14 45 需求分析过程主要有哪几个步骤 14 46软件设计分哪几个阶段 它们的主要任务是什么 14 47 什么是软件结构图 它有哪些主要元素 14 48面向对象方法的特点是什么 为什么要用面向对象方法开发软件 15 49什么是编码风格 请根据自己的编程经验编写一个编程注意事项 15 50 软件生命期各阶段的任务是什么 16 51 非渐增式测试与渐增式测试有什么区别 16 52面向对象程序设计有哪些优点 17 53 模块间的耦合性有哪几种 17 54 软件开发步骤包括哪些过程 17 55 数据字典有哪几类元素构成 17 56 大型软件系统的设计思想是什么 17 57 数据库设计一般分为哪几个阶段 形成哪三种模式 P101 17 58 什么是软件危机 其产生的原因是什么 P7 18 59 概要设计的原则 P72 18 60 阐述结构化设计的主要思想 P79 18 61 软件工程主要研究哪些领域 P16 18 62 以 G J Myers 的观点 简述对软件测试的目的 19 63 就程序设计语言的工程特性而言 对程序编码有哪些要求 19 64 模块的内聚性包括哪些类型 19 65 可行性研究报告的主要内容有哪些 19 66 系统设计的内容是什么 20 67 什么是软件危机 软件危机的表现是什么 其产生的原因是什么 20 68 软件质量保证应做好哪几方面的工作 21 69 软件复用 22 70 Case 技术 22 71 请说明软件文档的作用 软件开发项目生存期各阶段都包含哪些文档 22 72 什么是数据字典 其作用是什么 它有哪些条目 22 73 采用黑盒技术设计测试用例有哪几种方法 这些方法各有什么特点 22 74 何谓软件生存周期 其可以划分为几个时期 每个时期又可分为几个阶段 每个阶段的主要任务是什么 23 75 如何做好软件质量保证工作 24 76 什么是软件工程 什么是软件危机 24 77 软件的可行性研究主要研究哪些问题 并对此进行说明 24 78 什么是黑盒测试 适用的方法有哪些 什么是白盒测试 适用的方法有哪些 24 79 什么是软件维护 软件维护包括哪四类活动 25 80 有人说 软件开发时 一个错误发现得越晚 为改正它所付出的代价就越大 请问这句话对否 请解释你的回答 25 81 请将下述有关模块独立性的各种模块内聚 按其内聚度 强度 从高到低排 列起来 25 3 1 1 什么是软件工程 基本原理有哪些 软件工程是指导计算机软件开发和维护的工程学科 用分阶段的生命周期计划管理 坚持阶段评审 实行严格产品控制 采用现代 设计技术 结果审查 开发小组人员少而精 并不断改进方法 2 成本 效益分析可用哪些指标进行度量 写出公式 可用投资回收期 纯收入 投资回收率指标 通过 P F 1 i n计算求得 3 什么是数据流图 其中的基本符号各表示什么含义 画出定货系统基本数据 流图 用符号描绘信息在系统中流动的情况 源点 终点 处理 数据存储 数据流 4 非渐增式测试与渐增式测试有什么区别 两种都用于集成测试 渐增式是把下一个要测试的摸块同已经测试好的模块结 合起来进行测试 每次增加一个模块 非渐增式先分别测每个模块 再把所有 模块按设计要求放在一起结合成所要的程序 仓库管 理员 采购 员 定货 系统 事务定货报表 4 5 试从基本符号和设计方法分析 HC 图与 JACKSON 图异同点 答 HC 图是面向 DFD 而 JACKSON 图是面向数据结构的 符号省略 6 软件测试的目的是什么 测试的目的是为了发现错误 7 结构化程序设计的思想是什么 答 自上而下 逐步求精 8 8 请解释极限编程和自适应软件开发 并说明其异同 答 极限编程和自适应软件开发都属于敏捷过程模型 极限编程是应用最广泛 的敏捷过程 2 分 按照计划 设计 编码和测试四个框架活动组织 极限 编程建议一系列新颖和有力的技术 保证敏捷团队创建能力体现客户指定优先 级特征和功能的频繁软件开发 2 分 自适应软件开发强调人的合作和团队 的组织 按思考 协作和学习的三个框架活动组织 其使用迭代过程 该过程 由自适应循环计划 相对严格的需求收集方法和一个迭代开发循环构成 2 分 9 9 需求工程的起始阶段 需求工程师的主要工作是 答 需求工程的起始阶段 工程师的主要工作为 1 建立基本的问题需求 2 分 2 定义最重要的项目约束以及陈述主要的特征和功能 2 分 3 与共利益的各方建立基本的谅解 2 分 5 1010 请画出 在餐厅使用信用卡付费 这一活动的完整用例图 信用卡用户 系统管理员 金额核对 密码验证 从信用卡扣款 1分分 1分分 1分分1分分 1分分 1分分 1111 分析说明结构化分析和面向对象分析的区别 答 分析建模的目标是创建各种表现形式 以描述软件信息 功能和行为的需 求 2 分 为实现这一目标 可采用结构化分析和面向对象分析方法 1 分 结构化分析把软件看作信息装换器 辅助软件工程师识别数据对象 对象间的 联系以及这些数据对象流经软件处理功能时转换的方式 2 分 面向对象分 析就是检查定义为一组用例的问题域 尽量提取定义问题的类 1 分 1212 请简要给出评价软件设计质量的标准 答 评价软件设计质量的标准如下 1 设计必须实现所有包含在分析模型中的明确需求 以及用户期望的所有隐含 需求 2 分 2 对于那些生成代码的人和那些进行代码测试以及随后维护软件的人而言 设 计必须是可读 可理解的指南 2 分 3 设计必须提供软件的全貌 从实现的角度水明数据域 功能域和行为域 2 分 1313 一个良好的设计类需要满足四个特点 请详细描述这四个特点 答 一个良好的设计类需要满足 1 完整性和充分性 1 分 2 原始性 2 分 3 高内聚性 2 分 4 低耦合性 1 分 6 1414 软件项目估算内容与步骤 1515 面向对象设计的准则是什么 有哪 5 个层次和 4 个部分 准则 模块化 抽象 信息隐蔽 高内聚 低耦合 可重用 1616 简述软件工程目标和面临的主要问题 目标 支付较低的开发成本 达到要求的软件功能 获取较好的软件性能 开 发的软件易于移植 需要较低的维护费用 能按时完成开发任务 几时交付使 用 开发的软件可靠性高 面临的主要问题是 软件费用 软件可靠性 软件维护 软件生产率 软件重用 1717 简述软件工程过程 软件工程过程是为获得软件产品 在软件工具支持下由软件工程师完成的一系 列软件工程活动 软件工程过程通常包含四种基本的过程活动 P Plan 软件规格说明 规定软件的功能及其运行的限制 D Do 软件开发 产生满足规格说明的软件 C Check 软件确认 确认软件能够完成客户提出的要求 A Action 软件演进 为满足客户的变更要求 软件必须在使用的过程中 演进 事实上 软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的 工作步骤 它应当是科学的 合理的 否则必将影响到软件产品的质量 1818 简述模块独立性的原则 模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能 而和软件 系统中其他的模块接口是简单的 模块独立性的概念是模块化 抽象 信息隐蔽和局部话概念的直接结果 由耦合和内聚 2 个标准度量 7 1919 简述结构化程序设计方法的基本要点 1 采用自顶向下 逐步求精的程序设计方法 在需求分析 概要设计中 都采 用了自顶向下 逐层细化的方法 2 使用三种基本控制结构构造程序 任何程序都可由顺序 选择 重复三种基 本控制结构构造 1 用顺序方式对过程分解 确定各部分的执行顺序 2 用选择方式对过程分解 确定某个部分的执行条件 3 用循环方式对过程分解 确定某个部分进行重复的开始和结束的条件 4 对处理过程仍然模糊的部分反复使用以上分解方法 最终可将所有细节确定 下来 3 主程序员组的组织形式 2020 简述软件生命周期开发方法的基本过程及每个阶段的任务 1 问题定义阶段 尽可能清楚地描述问题 搞清楚要解决的问题是什么 2 可行性研究阶段 主要是确定待解的问题是否有可行的解决办法 需要做 经济可行性分析 技术可行性分析 操作可行性分析和法律可行性分析 3 需求分析阶段 主要是确定目标系统必须具备的功能 通常用数据流图 数据字典和简要的算法表示系统的逻辑模型 4 总体设计阶段 从总体上解决问题 确定可实现的方案 并设计出软件的 层次结构图 5 详细设计 把解法具体化 确定如何具体地实现这个系统 针对每个模块 设计相应的算法 6 编码和单元测试阶段 把详细设计的结果翻译成选定的语言所写的程序 并对每个模块进行单元测试 7 测试阶段 系统地设计测试用例 尽可能多地发现软件中的错误 并调试 改正软件中的错误 8 软件维护阶段 主要目的是通过修改软件使所开发的软件能够持久地满足 用户的需要 2121 复印机的工作流程大致如下 未接到复印命令时处于闲置状态 一旦接到复印命令则进入复印状态 完成一 个复印命令规定的工作后又回到闲置状态 等待下一个复印命令 如果执行复 印命令时发现没纸 则进入缺纸状态 发出警告 等待装纸 装满纸后进入闲 置状态 准备接收复印命令 如果复印时发生卡纸故障 则进入卡纸状态 发 出警告 等待维修人员来排除故障 故障排除后回到闲置状态 试用状态转换 8 图描绘复印机的行为 从问题陈述可知 复印机的状态主要有闲置 复印 缺纸和卡纸 引起状态转 换的事件主要是复印命令 完成复印命令 发现缺纸 装满纸 发生卡纸故障 和排除了卡纸故障 2222 简述文档在软件工程中的作用 1 提高软件开发过程的能见度 2 实现对软件开发的工程管理 3 提高开发效率 4 作为开发人员在一定阶段的工作成果和结束标志 5 提供软件运行 维护和培训有关资料 6 记录开发过程中有关信息便于协调以后的软件开发使用和维护 7 便于用户了解软件功能 性能 2323 简述软件项目管理过程 2424 简述系统分析员应该具备的主要知识结构和基本素质 系统分析员应该既是信息系统专家 又是企业管理专家 同时还应该是优秀的 领导者 9 系统分析员应该具有的知识结构为 首先应该具有深入扎实的信息系统方面的 专业知识和实践经验 即他们必须具有计算机软硬件的知识和开发应用的实践 经验 以及信息处理 包括 IS 网络 通讯 数据库等方面的知识和实践经 验 其次 应该具有经济管理或企业管理方面较丰富的理论知识和实践经验 同时应该具有优秀领导者的素质 才能和领导艺术 在信息系统开发的实践中 不断丰富自己 提高自己 使自己的知识结构更趋于合理 2525 简述何谓软件开发方法 请列举四种主要方法 软件开发方法是一中使用定义好的技术集和符号表示组织软件生产的过程 结构化方法 jackson 方法 维也纳开发方法 面向对象开发方法 2626 简述单元测试的基本内容 测试构造软件系统的模块 对象和子系统 模块接口主要检查数据能否正确通过模块 属性及对应关系是否一致 局部数据结构说明不正确或不一致 初始化或缺省值错误 变量名未定义或 拼写错误 数据类型不相容 上溢下溢或地址错误等 重要的执行路径 重要模块要进行基本路径测试 仔细地选择测试路径是单 元测试的一项基本任务 错误处理 主要测试程序对错误处理的能力 应检查是否不能正确处理外 部输入错误或内部处理引起的错误 对发生的错误不能正确描 述的内容 难以理解 在错误处理之前 系统已经进行干预等 边界条件 程序最容易在边界上出错 如输入输出数据的等价类边界 选 择条件和循环条件的边界 复杂数据结构的边界等都应进行测 试 2727 什么是软件生存周期模型 请至少列举四种主要模型 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型 软件生存 周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则 确立开发过程所遵守的规定和限制 便于各种活动的协调 便于各种人员的有 效通信 有利于活动重用 有利于活动管理 10 常见的软件生存周期模型有瀑布模型 演化模型 螺旋模型 喷泉模型等 2828 衡量模块独立的两个标准是什么 它们各表示什么含义 网上 两个定性的度量标准 耦合与内聚性 耦合性 也称块间联系 指软件系统结构中各模块间相互联系紧密程度的一种度 量 模块之间联系越紧密 其耦合性就 越强 模块的独立性则越差 内聚性 也称块内联系 指模块的功能强度的度量 即一个模块内部各个元素彼 此结合的紧密程度的度量 模块内元素联系越紧密 内聚性越高 2929 简述白盒测试的思想 并列举两种典型的测试技术 白盒测试又称结构测试 它把测试对象看作一个透明的盒子 测试人员须了解 程序的内部结构和处理过程 以检查处理过程的细节为基础 对程序中尽可能 多的逻辑路径进行测试 检查内部控制结构和数据结构是否有错 实际的运行 状态和预期的状态是否一致 典型测试技术 逻辑驱动 基本路径测试等 3030 简述 CMM 软件能力成熟度模型 5 个等级的含义 第一级 基本集 软件工程是混乱无序的 对工程几乎没有定义 成功依靠的是 个人的才能和经验 管理方式属于反应式 第二级 重复级 建立了基本的项目管理来跟踪进度 费用和功能特征 制定了 必要的项目管理 能够利用以前类似的项目应用取得成功 第三级 确定级 已经将软件管理和过程文档化 标准化 同时综合成该组织的 标准软件过程 所有的软件开发都使用该标准软件 第四级 管理级 收集软件过程和产品质量的详细度量 对软件过程和产品质量 有定量的理解和控制 第五级 优化级 软件过程的量化反馈和新的思想和技术促进过程的不断改进 11 3131 简述软件维护的定义 在软件运行或维护阶段对软件产品所进行的修改 这些修改可能是改正软件中 的错误 也可能是增加新的功能以适应新的需求 但一般不包括软件系统结构 上的重大改变 3232 简述软件测试的定义 广义 软件产品生存周期内所有的检查评审和确认活动 狭义 对软件产品质量的检验和评价 一方面检查软件产品质量中存在的质量 问题同时对产品质量进行客观的评价 3333 UML 建模中主要包括哪九种图 并说明类图的定义及其中常见的关系有哪些 用例图 类图 对象图 状态图 顺序图 协作图 活动图 组件图 分布图 类图描述系统的的静态结构 表示系统中类 类与类之间的关系以及类的属性 和操作 常见关系 关联 分为聚合和组合 范化 依赖 实现 3434 什么是字据字典 其作用是什么 它有哪些条目 数据字典是用于定义数据流图中的各个成分的具体含义 它以一种准确的无二 义的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的 描述 有 4 类条目 数据流 数据存储 数据项和加工 3535 软件工程的两大范型分别是什么 它们有什么不同 分别是传统的结构化范型和面向对象范型 结构化范型要么面向行为要么面 向数据 但没有既面向数据又面向行为的 而面向对象范型把数据和行为看 12 成同等重要 即将对象视作一个融合了数据及在其上操作的行为的统一的软 件组件 面向对象相对于结构化技术 无论对象的内部细节如何变化 只要 对象提供的方法即接口保持不变 则整个软件产品的其他部分就不会受到影 响 不需要了解对象内部的变化 3636如何画分层数据流图 第一步 画子系统的输入输出 把整个系统视为一个大的加工 然后根据数据 系统从哪些外部实体接收数据流 以及系统发送数据流到那些外部实体 就可 以画出输入输出图 这张图称为顶层图 第二步 画子系统的内部 把顶层图的加工分解成若干个加工 并用数据流将 这些加工连接起来 使得顶层图的输入数据经过若干加工处理后 变成顶层图 的输出数据流 这张图称为 0 层图 从一个加工画出一张数据流图的过程就是 对加工的分解 3737面向对象程序设计有哪些优点 1 易维护采用面向对象思想设计的结构 可读性高 由于继承的存在 即使改 变需求 那么维护也只是在局部模块 所以维护起来是非常方便和较低成本的 2 质量高在设计时 可重用现有的 在以前的项目的领域中已被测试过的类使 系统满足业务需求并具有较高的质量 3 效率高在软件开发时 根据设计的需要对现实世界的事物进行抽象 产生类 使用这样的方法解决问题 接近于日常生活和自然的思考方式 势必提高软件 开发的效率和质量 4 易扩展由于继承 封装 多态的特性 自然设计出高内聚 低耦合的系统结 构 使得系统更灵活 更容易扩展 而且成本较低 3838 在软件测试中 应注意哪些原则 1 认真执行测试计划 2 尽早和不断地进行软件测试 评审 3 优选测试工具 技术和方法 4 精心设计测试用例 5 交叉进行软件检测 6 重点测试群集现象 7 全面检查并分析测试结果 13 8 妥善保管测试文档 3939 程序设计风格是指一个人编制程序时所表现出来的特点 习惯 逻辑思路 等 要形成良好的程序设计风格 应从源程序文档化 数据说明 语句构造 输 入输出和追求效率几个方面加以注意 4040面向对象分析与面向对象设计的关系 面向对象分析与面向对象设计的任务相同 面向对象分析的结果可以作为开 始面向对象设计的模型 面向对象的设计结果可以作为蓝图 利用面向对象 编程方法最终实现一个系统 4141成本 效益分析的目的是什么 可用哪些指标进行度量 成本 效益分析的目的是从经济角度论证开发一个特定的新系统开发是否划算 是决定是否投资开发新系统的依据 1 货币的时间价值 货币的价值本身随时间的增加而产生增值 2 投资回收期 累计的经济效益等于最初的投资所需的时间 3 纯收入 在整个生存周期内系统的累计经济效益 折合现在的钱 与投资 之差 4 投资回收率 投资的年利率 4242 软件设计分哪几个阶段 它们的主要任务是什么 软件设计可以分为概要设计和详细设计两个阶段 概要设计就是结构设计 其主要目标就是给出软件的模块结构 用软件结构图表示 详细设计的首要 任务就是设计模块的程序流程 算法和数据结构 次要任务就是设计数据库 常用方法还是结构化程序设计方法 14 4343 用户需求和系统需求各有什么特点 用户需求是从用户角度来描述系统功能和非功能需求 以便让不具备专业技术 方面知识的用户能看懂 用户需求是描述系统的外部行为 用自然语言 图表 和直观的图形来叙述 系统需求是比用户需求更详细的需求描述 是系统实现 的基本依据 因此 是一个完全的 一致的系统描述 是软件工程人员系统设 计的起点 系统需求描述可能包括许多不同的模型 如对象模型和数据流模型 4444 面向对象设计的准则 1 模块化 2 抽象 3 信息隐藏 4 弱耦合 5 强内聚 6 可重用 4545 需求分析过程主要有哪几个步骤 需求分析过程主要有沟通 导出需求 分析与精化 可行性研究 协商与沟 通 规格说明 需求验证 变更管理等步骤 4646软件设计分哪几个阶段 它们的主要任务是什么 总体设计 概要设计 软件结构设计 高层设计 仔细地分析需求规格说 明 研究开发产品的模块划分 详细设计 模块 过程设计 低层设计 为结构设计中的各个模块设计 过程细节 确定模块所需的算法和数据结构等 设计测试 测试和复审 确保设计的正确和优化 4747 什么是软件结构图 它有哪些主要元素 软件结构图是软件系统的模块层次结构 反映了整个系统的功能实现 即将 来程序的控制层次体系 主要元素有 15 4848面向对象方法的特点是什么 为什么要用面向对象方法开发软件 面向对象方法的特点是 方法的唯一性 即方法是对软件开发过程所有阶段进行综合考虑而得到的 从生存期的一个阶段到下一个阶段的高度连续性 即生存期后一阶段的成果 只是在前一阶段成果的补充和修改 把面向对象分析 OOA 面向对象设计 OOD 和面向对象程序设计 OOP 集成 到生存期的相应阶段 使用面向对象方法开发软件的好处是 开发方法的唯一性 开发阶段的高度连续性 表示方式的一致性 问题空间实体的自然表示 减轻了设计者的负担 在设计系统之初不必考虑 一个很完整的解决方案 建立稳定的系统结构 可促进复用性 易于维护 易于修改 可合理利用共 同性 减少复杂性 4949什么是编码风格 请根据自己的编程经验编写一个编程注意事项 是指一个人编制程序时所表现出来的特点 习惯和逻辑思路等 注意事项 源程序文档化 数据说明 语句构造 输入输出 追求效率等 1 源程序文档化 1 标识符应按意取名 2 程序应加注释 2 数据说明原则 1 数据说明顺序应规范 使数据的属性更易于查找 从而有利于测试 纠错与维护 例如按以下顺序 常量寿命 类型说明 全程量说明 局部量 说明 2 一个语句说明多个变量时 各变量名按字典序排列 3 对于复杂的数据结构 要加注释 说明在程序实现时的特点 3 语句构造原则 简单直接 不能为了追求效率而使代码复杂化 4 输入输出原则 1 输入操作步骤和输入格式尽量简单 2 应检查输入数据的合法性 有效性 报告必要的输入状态信息及错 误信息 3 输入一批数据时 使用数据或文件结束标志 而不要用计数来控制 4 交互式输入时 提供可用的选择和边界值 5 当程序设计语言有严格的格式要求时 应保持输入格式的一致性 16 6 输出数据表格化 图形化 5 追求效率原则 1 效率是一个性能要求 目标在需求分析给出 2 追求效率建立在不损害程序可读性或可靠性基础上 要先使程序正 确 再提高程序效率 先使程序清晰 再提高程序效率 5050 软件生命期各阶段的任务是什么 答 软件生命期分为 7 个阶段 1 问题定义 要解决的问题是什么 2 可行性研究 确定问题是否值得解 技术可行性 经济可行性 操作可 行性 3 需求分析 系统必须做什么 4 总体设计 系统如何实现 包括系统设计和结构设计 5 详细设计 具体实现设计的系统 6 实现 编码和测试 7 运行维护 保证软件正常运行 5151 非渐增式测试与渐增式测试有什么区别 非渐增式测试方法把单元测试和集成测试分成两个不同的阶段 前一阶段 完成模块的单元测试 后一阶段完成集成测试 而渐增式测试往往把单元测 试与集成测试和在一起 同时完成 非渐增式需要更多的工作量 因为每个模块都需要驱动模块和桩模块 而 渐增式利用已测试过的模块作为驱动模块或桩模块 因此工作量较少 渐增式可以较早的发现接口之间的错误 非渐增式最后组装是才发现 渐增式有利于排错 发生错误往往和最近加进来的模块有关 而非渐增式 发现接口错误推迟到最后 很难判断是哪一部分接口出错 渐增式比较彻底 已测试的模块和新的模块再测试 渐增式占用的时间较多 但非渐增式须更多的驱动模块 桩模块也占用一 些时间 非渐增式开始可并行测试所有模块 能充分利用人力 对测试大型软件很 有意义 17 5252面向对象程序设计有哪些优点 5353 模块间的耦合性有哪几种 耦合度由高到低 1 内容耦合 2 公共耦合 3 外部耦合 4 控制耦合 5 标记耦合 6 数据耦合 7 非直接耦合 5454 软件开发步骤包括哪些过程 需求分析 解决系统做什么的问题 概要设计 解决系统怎么做 详细设计 每个模块内部过程的描述具体化 设计软件详细规格说明书 编码设计 根据详细设计说明书 写出程序模块 系统测试 发现和排除错误 写出软件测试报告 5555 数据字典有哪几类元素构成 数据流 在一个数据流中数据以数据流为单位进行传输 数据元素 也称数据项 数据的最小单位 数据存储 数据保留或保存的地方 处理 一段程序 外部实体 系统的人机界面 数据流从外部实体流入 又从系统向外部实体 流出 5656 大型软件系统的设计思想是什么 一个大型的软件系统是变换型结构和事务型结构的混合结构 通常采用变幻 设计为主 事物设计为辅的方式进行软件结构设计 以达到高内聚低耦合 具 有独立性 便于修改的目的 5757 数据库设计一般分为哪几个阶段 形成哪三种模式 P101 数据库的设计分为四个阶段 需求分析 概念设计 逻辑设计 物理设计 18 形成概念模式 内模式 外模式三种模式 5858 什么是软件危机 其产生的原因是什么 P7 当软件开发技术跟不上硬件技术的进步 不能满足开发的要求时 导致软件 开发中遇到的问题找不到解决的办法 使问题积累起来 形成了尖锐的矛盾 从而导致了软件危机 原因 1 软件的规模越来越大 结构越来越复杂 2 软件开发管理困难且复 杂 5 软件开发费用不断增加 4 软件开发技术落后 5 生产方式落后 6 开发 工具落后 生产效率缓慢 5959 概要设计的原则 P72 概要设计的原则的基本思想是 模块化设计 自顶向下逐步求精 模块独立 性 信息隐蔽性 模块化就是将程序划分成若干模块 每个模块完成某个子功能 然后吧这些 模块集合起来组成一个整体 可以完成指定的功能来解决问题的要求 自顶向下逐步求精是先设计顶层结构 在逐层向下设计 模块独立性是指每个模块只完成系统要求的独立的子功能 并且与其他模块 的联系少且接口简单 独立性较强的模块应该是高内聚低耦合的模块 信息隐蔽是指在设计和确定模块时 使得一个模块内包含的信息 对于不需 要这些信息的其他模块来说是不能访问的 6060 阐述结构化设计的主要思想 P79 结构化设计方法是基于模块化 自顶向下逐步求精 结构化程序设计等程序 设计技术发展起来的 结构化设计可以非常方便的进行数据流框图到软件架构 的转换 在结构化设计中 模块结构图能够表示出一个软件系统的层次分解关 系 模块调用关系 模块之间数据流和控制信息流的传递关系 是结构化设计 的主要工具 模块结构图是有数据流图转换而得到的 在将数据流图转换成软 件结构之前 首先要进一步细化数据流图 然后对数据流图分类 确认是事务 型还是变换型 不同的数据流图采用不同的设计过程 6161 软件工程主要研究哪些领域 P16 1 软件工程方法学 在软件开发生存周期全过程使用的一套技术的集合 2 软件工具和软件支撑环境 软件工具是用来帮助开发 测试 分析维护其 他计算机程序及其文档资料的一类程序 19 3 软件管理是软件工程中的一项非常重要的工作 许多软件项目的开发失败 的主要原因就是管理不善 4 软件的规范与标准指软件开发过程中的作业标准化 简述容错技术的四种主要手段 并解释 结构冗余 包括静态冗余 动态冗余和混合冗余 信息冗余 为检测或纠正信息在运算或传输中的错误 须外加一部分信息 时间冗余 指重复执行指令或程序来消除瞬时错误带来的影响 冗余附加技术 指为实现上述冗余技术所需的资源和技术 6262 以 G J Myers 的观点 简述对软件测试的目的 软件测试是 1 为了发现错误而执行程序的过程 2 一个好的用例能 够发现至今尚未发现的错误的测试 3 一个成功的测试是发现至今尚未发现 的错误的测试 6363 就程序设计语言的工程特性而言 对程序编码有哪些要求 就程序设计语言的工程特性而言 对程序编码有如下要求 1 可移植性 2 开发工具的可利用性 3 软件的可重用性 4 可 维护性 6464 模块的内聚性包括哪些类型 模块的内聚性包括 1 偶然内聚 2 逻辑内聚 3 时间内聚 4 通信内聚 5 顺序内聚 6 功能内聚 65 可行性研究报告的主要内容有哪些 解 一个可行性研究报告的主要内容如下 1 引言 说明编写本文档的目的 项目的名称 背景 本文档用到 的专门术语和参考资料 2 可行性研究前提 说明开发项目的功能 性能和基本要求 达到的 目标 各种限制条件 可行性研究方法和决定可行性的主要因素 3 对现有系统的分析 说明现有系统的处理流程和数据流程 工作 负荷 各项费用支出 所需要各类专业技术人员的数量 所需要各种设备 现 有系统存在什么问题 4 所建议系统的技术可行性分析 所建议系统的简要说明 处理流 程和数据流程 与现有的系统比较的优越性 采用所建议系统对用户的影响 对各种设备 现有软件 开发环境 运行环境的影响 对经费支出的影响 对 技术可行性的评价 20 5 所建议系统的经济可行性分析 说明所建议系统的各种支出 各 种效益 收益投资比 投资回收周期 6 社会因素可行性分析 说明法律因素 对合同责任 侵犯专利权 侵犯版权等问题的分析 说明用户使用可行性 是否满足用户行政管理 工作 制度 人员素质的要求 7 其他可供选择方案 逐一说明其他可供选择的方案 并说明未被 推荐的理由 8 结论意见 说明项目是否能开发 还需要什么条件才能开发 对 项目目标有什么变动等 解析 做软件的可行性研究的目的就是用最小的代价在尽可能短的时 间内确定该软件项目是否能够开发 是否值得去开发 其中的问题能否解决 报告共分为八个基本内容 66 系统设计的内容是什么 解 系统设计阶段先从高层入手 然后细化 系统设计要决定整个结 构及风格 这种结构为后面设计阶段的更详细策略的设计提供了基础 1 系统分解 系统中主要的组成部分称为子系统 子系统既不是一 个对象也不是一个功能 而是类 关联 操作 时间和约束的集合 每次分解 的各子系统数目不能太多 最底层子系统称为模块 2 确定并发性 分析模型 现实世界及硬件中不少对象均是并发的 系统设计的一个重要目标就是确定哪些是必须同时动作的对象 哪些不是同时 动作的对象 后者可以放在一起 而综合成单个控制线或任务 3 处理器及任务分配 各并发子系统必须分配给单个硬件单元 要 么是一个一般的处理器 要么是一个具体的功能单元 必须完成下面的工作 估计性能要求和资源需求 选择实现子系统的硬软件 将软件子系统分配给各 处理器以满足性能要求和极小化处理器之间的通信 决定实现各子系统的各物 理单元的连接 4 数据存储管理 系统中的内部数据和外部数据的存储管理是一项 重要的任务 通常各数据存储可以将数据结构 文件 数据库组合在一起 不 同数据存储要在费用 访问时间 容量以及可靠性之间做折中考虑 5 全局资源的处理 必须确定全局资源 并且制定访问全局资源的 策略 全局资源包括 物理资源 如处理器 驱动器等 空间 如盘空间 工 作站屏等 逻辑名字 如对象标识符 类名 文件名等 如果资源是物理对象 则可以通过建立协议实现对并发系统的访问 以 达到自身控制 如果资源是逻辑实体 如对象标识符 那么在共享环境中有冲 突访问的可能 如独立的事务可能同时使用同一个对象标识符 则各个全局资 源都必须有一个保护对象 由保护对象来控制对该资源的访问 6 选择软件控制机制 分析模型中所有交互行为都表示为对象之间 的事件 系统设计必须从多种方法中选择某种方法来实现软件的控制 7 人机交互接口设计 设计中的大部分工作都与稳定的状态行为有 关 但必须考虑用户使用系统的交互接口 67 什么是软件危机 软件危机的表现是什么 其产生的原因是什么 解 软件发展第二阶段的末期 由于计算机硬件技术的进步 计算机 运行速度 容量 可靠性有显著的提高 生产成本显著下降 这为计算机的广 泛应用创造了条件 一些复杂的 大型的软件开发项目提出来了 但是 软件 21 开发技术的进步一直未能满足发展的需要 在软件开发中遇到的问题找不到解 决办法 使问题积累起来 形成了尖锐的矛盾 因而导致了软件危机 软件危机表现在以下四个方面 1 经费预算经常突破 完成时间一再拖延 由于缺乏软件开发的经 验和软件开发数据的积累 使得开发工作的计划很难制定 主观盲目制定计划 执行起来与实际情况有很大差距 使得开发经费一再突破 由于对工作量估计 不足 对开发难度估计不足 进度计划无法按时完成 开发时间一再拖延 2 开发的软件不能满足用户要求 开发初期对用户的要求了解不够 明确 未能得到明确的表达 开发工作开始后 软件人员和用户又未能及时交 换意见 使得一些问题不能及时解决 导致开发的软件不能满足用户的要求 因而导致开发失败 3 开发的软件可维护性差 开发过程中没有同意的 公认的规范 软件开发人员按各自的风格工作 各行其是 开发过程无完整 规范的文档 发现问题后进行杂乱无章的修改 程序结构不好 运行时发现错误也很难修改 导致维护性差 4 开发的软件可靠性差 由于在开发过程中 没有确保软件质量的 体系和措施 在软件测试时 又没有严格的 充分的 完全的测试 提交给用 户的软件质量差 在运行中暴露出大量的问题 造成软件危机的原因是 1 软件的规模越来越大 结构越来越复杂 2 软件开发管理困难 而复杂 3 软件开发费用不断增加 4 软件开发技术落后 5 生产方 式落后 6 开发工具落后 生产率提高缓慢 68 软件质量保证应做好哪几方面的工作 解 软件质量保证是软件工程管理的重要内容 软件质量保证应做好 以下几方面的工作 1 采用技术手段和工具 质量保证活动要贯彻开发过程始终 必须 采用技术手段和工具 尤其是使用软件开发环境来进行软件开发 2 组织正式技术评审 在软件开发的每一个阶段结束时 都要组织 正式的技术评审 国家标准要求单位必须采用审查 文档评审 设计评审 审 计和测试等具体手段来保证质量 3 加强软件测试 软件测试是质量保证的重要手段 因为测试可发 现软件中大多数潜在错误 4 推行软件工程规范 标准 用户可以自己制定软件工程规范 标准 但标准一旦确认就应贯彻执行 5 对软件的变更进行控制 软件的修改和变更常常会引起潜伏的错 误 因此必须严格控制软件的修改和变更 6 对软件质量进行度量 即对软件质量进行跟踪 及时记录和报告 软件质量情况 解析 软件的质量保证是向用户及社会提供满意的高质量的产品 确保 软件产品从诞生到消亡为止的所有阶段的质量的活动 是软件工程管理中的重 要内容 22 6969 软件复用 答 是指在两次或多次不同的软件开发过程中重复使用相同或相似的软件 元素 包括软件开发中的文档 设计过程 程序代码 测试用例等 7070 Case 技术 答 是一组工具和方法的集合 可以辅助软件生命周期各个阶段进行软件 开发 一个完整的 CASE 系统支持所有的软件系统开发工作 它可以驻留在多种 硬件平台上 7171 请说明软件文档的作用 软件开发项目生存期各阶段都包含哪些文档 软件文档的作用是 提高软件开发过程的能见度 提高开发效率 作 为开发人员阶段工作成果和结束标志 记录开发过程的有关信息便于使用 与维护 提供软件运行 维护和培训有关资料 便于用户了解软件功能 性能 软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如 下 可行性研究报告 项目开发计划 软件需求说明书 数据要求说明书 测试计划 概要设计说明书 详细设计说明书 用户手册 操作手册 测 试分析报告 开发进度月报 项目开发总结 程序维护手册 维护修改建 议 7272 什么是数据字典 其作用是什么 它有哪些条目 数据字典 简称 DD 是用来定义数据流图中的各个成分的具体含义的 它以一种准确的 无二义性的说明方式为系统的分析 设计及维护提供了 有关元素的一致的定义和详细的描述 他和数据流图共同构成了系统的逻 辑模型 是需求规格说明书的主要组成部分 数据字典是为分析人员查找 数据流图中有关名字的详细定义而服务的 因此也像普通字典一样 要把 所有条目按一定的次序排列起来 以便查阅 数据字典有以下四类条目 数据流 数据项 数据存储 基本加工 数据项是组成数据流和数据存储 的最小元素 源点 终点不在系统之内 故一般不在字典中说明 7373 采用黑盒技术设计测试用例有哪几种方法 这些方法各有什么特点 等价类划分 等价类划分是将输入数据域按有效的或无效的 也称 合理的或不合理的 划分成若干个等价类 测试每个等价类的代表值就等 23 于对该类其它值的测试 边界值分析 该方法是将测试边界情况作为重 点目标 选取正好等于 刚刚大于或刚刚小于边界值的情况 根据这些情 况选择测试用例 错误推测 错误推测法没有确定的步骤 凭检验进行 它的基本思想是列出程序中可能发生错误的情况 根据这些情况选择测试 用例 因果图 因果图能有效的检测输入条件的各种组合可能会引起的 错误 因果图的基本原理是通过画因果图 把用自然语言描述的功能说明 转换为判定表 最后为判定表的每一列设计一个测试用例 7474 何谓软件生存周期 其可以划分为几个时期 每个时期又可分为几个阶段 每个阶段的主要任务是什么 一个软件从定义到开发 使用和维护 直到最终被弃用 要经历一个 漫长的时期 通常把软件经历的这个漫长的时期称为生存周期 软件生存 期也可以分为三个时期 计划时期 开发时期和运行时期 软件生存周期 一般可分为以下几个阶段 1 问题定义 问题定义阶段必须回答的关键问题是 要解决的问题是什么 正确理解用户的真正需求 2 可行性研究 这个阶段要回答的关键问题是 对于上一个阶段所确定的 问题 有行得通的解决办法吗 可行性研究阶段应该导出系统的高层逻辑 模型 通常用数据流图表示 准确地估计系统的成本和效益 3 需求分析 需求分析阶段的任务 主要是确定目标系统必须具备的功能 得出经用户确认的系统逻辑模型 根据该系统逻辑模型 准确地回答 为了解 决这个问题 目标系统必须做什么 4 总体设计 也叫概要设计或初步设计 这个阶段必须回答的是 概括地 说 应该如何解决这个问题 总体设计的目标是将需求分析阶段定义的系统 模型转换成相应的软件结构 以规定软件的形态及各成分间的层次关系 界面 及接口要求 5 详细设计 详细设计阶段的任务是把解法具体化 也就是回答 应该怎 样具体地实现这个系统 详细设计亦即模块设计 它是在算法设计和结构设 计的基础上 针对每个模块的功能 接口和算法定义 设计模块内部的算法过 程及程序的逻辑结构 并编写模块设计说明 6 编码 这个阶段的任务 是根据详细设计的结果 选择一种适合的程序 设计语言 把详细设计的结果翻译成程序的源代码 7 测试 以便尽早发现程序中的错误和缺陷而进行的一个过程 有单元测 试 集成测试 确认测试和系统测试 4 种 8 运行与维护 通过各种必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西来宾市水库移民工作管理局招聘2人考前自测高频考点模拟试题及1套参考答案详解
- 2025年大庆油田有限责任公司春季高校毕业生招聘考前自测高频考点模拟试题及答案详解(历年真题)
- 2025昆明市晋宁区应急管理局招聘编外工作人员(1人)考前自测高频考点模拟试题带答案详解
- 2025国家文物局考古研究中心招聘专业技术人员11人模拟试卷及答案详解(名师系列)
- 2025福建三明市清流县金星园建设发展有限公司招聘消防驾驶员2人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025桂林银行校园招聘考前自测高频考点模拟试题(含答案详解)
- 2025年东方地球物理勘探有限责任公司招聘(25人)模拟试卷及答案详解1套
- 2025广东肇庆市鼎湖区就业困难人员(脱贫劳动力)公益性岗位招聘1人模拟试卷及答案详解(典优)
- 2025江苏张家港检验认证有限公司招聘1人考前自测高频考点模拟试题及完整答案详解
- 2025年泉州供电服务有限公司招聘64人模拟试卷附答案详解(典型题)
- 包装材质基础知识培训课件
- 2025至2030中国生产监控行业项目调研及市场前景预测评估报告
- 养老护理员学习汇报
- (新人教PEP版)英语五年级上册全册大单元教学设计
- 小儿急性阑尾炎护理查房
- 2025-2030中国锆铪行业市场发展趋势与前景展望战略研究报告
- 专业英语翻译教学设计
- 围棋入门教案
- 煤矿安全规程培训课件
- 中药硬膏热贴敷治疗
- 经济与社会 思维导图式复习课件高中政治统编版必修二经济与社会
评论
0/150
提交评论