软件工程导论总复习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 5.3、设计的启发规则
1、提高模块独立性 2、模块规模适中 – 3、深度、宽度、扇入、扇出适当 4、作用域在控制域内 5、降低接口的复杂程度 – 6、单出口单入口,避免内容耦合 – 7、模块功能可预测
• 5.4 描绘软件结构的图形工具
– 层次图和HIPO图
• 5.5 面向数据流的设计方法
– 变换流 – 事务流 – 变换分析和事务分析的步骤
– 状态 – 事件 – 符号
• 3.7 其他图形工具
– 层次方框图 – Warnier图 – IPO图
• 3.8 验证软件需求
– 方法、工具
练习题



什么是需求分析?需求分析阶段的基本任务是 什么? 答:所谓"需求分析",是指对要解决的问题进行 详细的分析,弄清楚问题的要求,包括需要输 入什么数据,要得到什么结果,最后应输出什 么。可以说,“需求分析”就是确定要计算机 “做什么”。 任务:确定软件项目的目标和范围。调查使用 者的要求,分析软件必须做什么,编写需求规 格说明书等它相关文档,并进行必要的需求审 查。除此之外,还包括需求变更控制,需求风 险控制,需求版本控制等对需求的管理工作


指出瀑布模型中下列任务的顺序:验收测 试,项目计划,单元测试,需求评审,成 本估计,概要设计,详细设计,系统测试, 设计评审,编码,需求规格说明书。 答:项目计划,成本估计,需求规格说明 书,需求评审,概要设计,详细设计,设 计评审,编码,单元测试,系统测试,验 收测试
第二章 可行性研究
• 2.1 任务
可行性研究是在(A)之前 • A、系统开发 B、测试 C、试运行 D、集成测试 可行性研究需要的时间长短取决于系统的 规模,一般来说,可行性研究的成本只是 预期总成本的(C)。 • A、1% B、20% C、8% D、50%
数据字典是用来定义()中的各个成份的 具体含义的。 • A、程序流程图B、功能结构图 C、系统 结构图D、数据流图 数据流程图是(A)方法中用于表示系统 逻辑模型的一种图形工具。 • A、SA B、SD C、SP D、SC
• 在SD方法中全面指导模块划分的最重要的 原则是 ?(模块独立性)
• • • • • • • • • • •
什么是概要设计?有哪些基本任务? 答:概要设计:根据用户的需求先确定软件系统的总体结构和总的 设计原则 基本的任务: 设想供选择的方案。 推荐最佳方案。 功能分解,确定软件结构。 设计软件结构。 制定测试计划。 数据设计。 书写文档。包括总体设计规格说明书。用户手册。测试计划。 设计审查和复审。
获得更大的经济效益。经济效益通常表现
为减少运行费用或(和)增加收入。
练习题
软件可行性研究实质上是要进行一次()需 求分析、设计过程。 • A、简化、压缩的 B、详细的 C、 彻底的 D、深入的 可行性研究的目的是() • A、分析开发系统的必要性 B、确定系统 建设的方案 • C、分析系统风险 D、确定 是否值得开发系统
第1章 概述
• 1.1 软件危机
– 产生的原因 – 消除的途径
• 1.2 软件工程
– 定义 – 基本原理:7条 – 软件工程方法学:定义、三要素、分类
第1章 概述
• 1.3 软件生命周期
– 3个时期、若干阶段
• 1.4 软件过程
– – – – – – – – 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 RUP 敏捷过程和极限编程 微软过程
第5章 总体设计
• 5.1 设计过程
– – – – – – – – – – 典型的总体设计过程包括下述9个步骤: 1. 设想供选择的方案 2. 选取合理的方案 3. 推荐最佳方案 4. 功能分解 5. 设计软件结构 6. 设计数据库 7. 制定测试计划 8. 书写文档 9. 审查和复审
• 5.2 设计原理p94
练习题
开发软件所需高成本和产品的低质量之间 有着尖锐的矛盾,这种现象称做()。 • A.软件工程 B.软件周期 C.软件危 机 D.软件产生 瀑布模型本质上是一种( )模型。 • A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 瀑布模型存在的问题是()。 • A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求
练习题
原型化方法是用户和设计者之间执行的一 种交互构成,适用于()系统。 • A.需求不确定性高的B.需求确定的 C.管理信息 D.实时
• •

什么是软件工程?软件工程的目标是什么? 答:软件工程是①将系统化的、规范的、 可度量的方法应用于软件的开发、运行和 维护过程,即将工程化应用于软件开发和 管理之中,②对①中所选方法的研究。 目标:经济的开发出高质量的软件并有效 维护它。
• 3.1 需求分析的任务p56 • 3.2 获取需求的方法
– – – – 访谈 面向数据流自顶向下求精 简易的应用规格说明技术 快速建立软件原型
• 3.3 分析建模与规格说明
– 分析建模:数据模型、功能模型和行为模型 – 软件需求规格说明:需求分析阶段得到的最主要的文 档
• 3.4 实体-联系图 • 3.5 数据规范化 • 3.6 状态转换图



什么是结构化分析方法?该方法使用什么描述 工具? 答:结构化的分析方法是面向数据流的方法, 因此,此方法研究的核心是数据的组成和数据 流向和对数据的加工处理。结构化分析方法用 抽象模型的概念,按照软件内部数据传递、变 换的关系,自顶向下逐层分解,直至找到满足 功能要求的所有可实现的软件元素为止 描述工具:1系统流程图 2 数据流程图 3数据字 典 4 IPO图 5层次方框图 6实体—关系图 7状 态—变迁图
• • •
• • • • • •
什么是数据字典?其作用是什么?它有哪些条目? 答:数据字典,主要用来描述数据流程图中的数据流、 数据存储、处理过程和和数据源点/终点。 作用:数据流程图描述了系统的逻辑结构,其中的四个 基本图形元素的含义无法在数据流程图中详细说明,因 此数据流程图需要与其他工具配合使用,数据字典就是 这样的工具之一。 包括的条目: 数据流词条 数据元素词条 数据存储词条 数据加工处理词条 数据源点及终点词条
• 请根据以下业务描述绘制数据流图。 • 楼宇服务系统可以运行在小区内部宽带网 上,向楼宇服务员、住户、楼长提供以下 功能: • (1)向住户提供个人信息注册功能、费用 查询、家政预约功能; • (2)向楼长提供意见提交功能; • (3)向楼宇服务员提供缴费管理、家政查 询、用户查询功能。
第3章 需求分析
– – – – 项目定义 可行性分析 软件计划 分类:经济可行性、技术可行性、社会可行性、法律 可行性、操作可行性

2.2可行性研究过程
1. 复查系统规模和目标 2. 研究目前正在使用的系统 3. 导出新系统的高层逻辑模型
第二章 可行性研究
4.进一步定义问题
5.导出和评价供选择的解法
6.推荐行动方针
• • • • • • • • • • •
结构化分析方法通过哪些步骤来实现? 答:1) 确定系统的功能要求 2) 确定系统的数据要求 3) 确定系统的操作要求和界面要求 4) 确定系统的性能要求 5) 确定系统的运行要求 6) 获得当前系统的物理模型 7) 抽象出当前系统的逻辑模型 8) 建立目标系统的逻辑模型。 9) 修正开发计划 10) 如果需要则开发系统原型
DFD中的每个加工至少有(A)。 • A、一个输入流或一个输出流 B、一个 输入流和一个输出流 • C、一个输入流 D、一个输出 流
(D)工具在软件详细设计过程中不采用。 • A、判定表 B、IPO图 C、PDL D、 DFD图
• • •
可行性研究报告的主要内容是什么? 答:可行性研究主要包括以下几个部分: (1)概述(2)技术可行性(3)项目 成熟程度(4)市场需求情况和风险分析 (5)投资估算及资金筹措(6)经济与社 会效益(7)综合实力和产业基础(8)项 目实施进度计划(9)其它尚需要说明的 必要的方面(10)结论
第二章 可行性研究
• 2.5 数据字典
• 数据词典与数据流图配合,能清楚地表达数据处
理的要求
• 词条描述 —— 对于在数据流图中每一个被命名的
图形元素,均加以定义,其内容有: 名字,别名
或编号,分类,描述,定义,位置,其它,等
第二章 可行性研究
• 2.6 成本/效益分析
• 开发一个软件系统是一种投资,期望将来
– 1、模块化 – 2、抽象 – 3、逐步求精 – 4、信息隐蔽和局部化 – 5、模块独立
• 5.2.6 模块独立性度量标准
• 1. 耦合
• 2. 内聚 • 内聚标志一个模块内各个元素彼此结合的 紧密程度,它是信息隐藏和局部化概念的 自然扩展。 • 设计时应该力求做到高内聚,通常中等程 度的内聚也是可以采用的,而且效果和高 内聚相差不多;但是,低内聚很坏,不要 使用。
• •
– – – – – – –
模块的内聚有哪几种?模块间的耦合有哪几种? 答:内聚分为七种类型:
巧合内聚——一个模块执行多个完全互不相关的动作,那么这个模块 就有巧合内聚 逻辑内聚——当一个模块执行一系列相关的动作时,称其有逻辑内聚。 时间性内聚——当一个模块内的多个任务是与时间有关时,这个模块 具有时间性内聚。 过程内聚——模块执行的若干动作之间有顺序关系。 通信内聚——模块执行的若干动作之间有顺序关系,并且所有动作是 在相同的数据上执行。 信息内聚——一个模块中执行一系列动作,每个动作都有自己的入口 点和处理代码,所有的动作都作用在相同的数据结构上,这样的模块 叫做信息内聚。 功能性内聚——一个模块中各个部分都是完成某一具体功能必不可少 的组成部分
• •
• • • • •
什么是数据流图?其作用是什么?其中的基本符号各表示 什么含义? 答:数据流图:简称DFD,就是采用图形方式来表达系 统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换 过程,是结构化系统分析方法的主要表达工具及用于表 示软件模型的一种图示方法。 数据流图的基本符号的意思: 1.矩形表示数据的外部实体; 2.圆角的矩形表示变换数据的处理逻辑; 3.少右面的边矩形表示数据的存储; 4.箭头表示数据流。
数据流图描绘系统逻辑模型,即对系统所完成的功能进
行描述。 数据字典精确定义数据流图中每个元素。
第二章 可行性研究
• 数据流图中的主要图形元素:
– 数据加工 (数据变换)
– 数据源点或终点 (外部实体)
– 数据流 – 数据存储文件
第二章 可行性研究
• 数据流图的层次结构:
– 在多层数据流图中,顶层流图仅包含一个加工, 它代表被开发系统。它的输入流是该系统的输 入数据,输出流是系统所输出数据 – 底层流图是指其加工不需再做分解的数据流图, 它处在最底层 – 中间层流图则表示对其上层父图的细化。它的 每一加工可能继续细化,形成子图。
• 耦合分为七类:
– 内容耦合——如果一个模块直接参考另一个模块的内 容,则这两个模块是内容耦合。 – 公共耦合——如果多个模块都访问同一个公共数据环 境,则称它们是公共耦合。 – 外部耦合——如果两个模块都访问同一个全局简单变 量而不是同一全局数据结构,而且,不是通过参数表 传递该全局变量的信息,则这两个模块属于外部耦合。 – 控制耦合——如果模块A向模块B传递一个控制信息, 则称这两个模块是控制耦合的 – 数据结构耦合——当一个模块调用另一个模块时传递 了整个数据结构,这两个模块之间具有数据结构耦合。 – 数据耦合——如果两个模块传递的是数据项,则这两 个模块是数据耦合。 – 非直接耦合——如果两个模块之间没有直接关系,它 们之间的联系完全通过主模块的控制和调用来实现的, 这就是非直接耦合。
7.草拟开发计划 8.书写文档提交审查
第二章 可行性研究
• 2.3 系统流程图
• 系统流程图是概括地描绘物理系统的传统
工具,即用图形符号以黑盒子形式描绘组
成系统的每个部件(程序、文档、数据库、 人工过程等)。
第二章w Diagram)是一种图形化技术,它描绘 信息流和数据从输入移动到输出的过程中所经受的变换。 • 数据流图和数据字典(Data Dictionary)共同构成了系统的 逻辑模型。
相关文档
最新文档