同等学力计算机学科软件工程精华复习提要

上传人:M****1 文档编号:564088594 上传时间:2022-10-05 格式:DOCX 页数:10 大小:115.73KB
返回 下载 相关 举报
同等学力计算机学科软件工程精华复习提要_第1页
第1页 / 共10页
同等学力计算机学科软件工程精华复习提要_第2页
第2页 / 共10页
同等学力计算机学科软件工程精华复习提要_第3页
第3页 / 共10页
同等学力计算机学科软件工程精华复习提要_第4页
第4页 / 共10页
同等学力计算机学科软件工程精华复习提要_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《同等学力计算机学科软件工程精华复习提要》由会员分享,可在线阅读,更多相关《同等学力计算机学科软件工程精华复习提要(10页珍藏版)》请在金锄头文库上搜索。

1、一. 软件工程概念与软件工程的基本要素1.1 软件:计算机系统中的程序及其文档。(百科全书) 软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的集合。1.2 软件工程: 应用计算机科学、数学及管理科学等原理开发软件的工程。 (百科全书)1.3 软件工程目标: 生产具有正确性、可用性以及开销合宜的产品。1.4软件工程框架(涵盖了软件工程的三要素及相互关系):软件工程的目标、软件工程原则和软件工程活动。原则: 选取适宜开发范型;采用合适的设计方法;提供高质量的工程支持;重视开发过程的管理;目标: 可用性、正确性和合算性;活动:需求/设计/实现/确认/支持;1.5 软件工程学的基

2、本原则:抽象;信息隐蔽;模块化;局部化;一致性;可验证性。二. 软 件 过 程2.1 软件过程:软件过程是软件生存期中的一系列相关软件工程活动的集合。2.2 过程是活动的集合。活动是任务的一个集合。 任务是将一个输入转换为一个输出的操作。2.3 软件过程分类(及划分):* 基本过程:与软件生产直接相关的过程。获取过程,供应过程,开发过程,运行过程,维护过程。* 组织过程:与软件生产组织有关的过程。管理过程,基础设施过程,改进过程,培训过程。* 支持过程:有关各方按其目标所从事的一系列支持活动。文档过程,配置管理过程,质量保证过程,验 证过程,确认过程,联合评审过程,审核过程,问题解决过程。2.

3、4 统一软件开发过程( USDP -Unif ied Sof tware Develo pmen t Proc ess )* USDP 涉及的重要因素:开发人员、项目、过程和工具。* USDP 核心思想: 用况驱动; 体系结构为中心; 迭代、增量的开发。* USDP 核心工作流: 1. 捕获需求 2. 分析 3 . 设计 4. 实现 5. 测试* USDP 的四个阶段: (1) 初始阶段; (2) 精化阶段;(3) 构造阶段;(4) 移交阶段。三. 软件开发范型、典型软件开发模型3.1 软件开发模型:是软件开发全部过程、活动和任务的结构框架。3.2 瀑布模型内容及特点:瀑布模型将软件生存周期的

4、各项活动规定为依固定顺序连接的若干阶段工作,是一 种线性模型。各阶段活动:提出系统需求、提出软件需求、需求分析、设计、编码、测试和运行。每个阶 段具有以下特征:从上一阶段接受本阶段工作的对象作为输入,对上述输入实施本阶段的活动,给出本阶 段的工作成果作为输出传入下一阶段,对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工 作,否则返回前一阶段甚至更前阶段。瀑布模型突出的缺点是该模型缺乏灵活性。3.3演化模型内容及特点:演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开 发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代过 程均

5、由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软 件开发活动的盲目性。3.4 螺旋模型内容及特点:它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软 件开发模型。沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客 户评估。3.5 喷泉模型内容及特点:它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开 发过程。3.6 增量模型内容:在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据 这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。3.7 软

6、件生存期(模型):软件的提出、实现、使用到停止使用的过程。四. 系统规约、软件设计技术4.1 需求分析阶段的目标及阶段划分:需求分析的基本任务是准确地定义未来系统的,目确标定为了满足用户的需要 系统必须做什么,需求分析分为两个阶段:需求获取阶段和需求规约阶段。4.2 需求分类:分为功能性需求和非功能性需求,前者定义了系统做什么,后者定了系统作工时的特性。4.3 结构化方法:结构化方法是一种系统化开发软件的方法,该方法基于模块化的思想,采用“自顶向下,逐步求精”的技术 对系统进行划分,分解和抽象是它的两个基本手段。4.4结构化分析模及内容 数据流图(DFD)是一种描述系统数据变换为系统实施功能建

7、模的图形工具,吉构化分析 方法最普遍采用的表示手段,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整 性,以上三者构成了结构化分析的模型。4.5 需求分析的任务: 借助当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”问题。4.6 需求分析的原则:1. 必须能够表达和理解问题的数据域和功能域; 2. 按自顶向下、逐层分解方式问 题分解和细化; 3. 给出系统的逻辑模型、物理模型;4.7 需求获取内容: 1. 物理环境; 2. 功能; 3. 界面; 4. 用户(人)因素 5. 资源; 6. 安全性;4.8 获取技术: 1 . 交流 通过访谈、会议等反

8、复沟通 ;2. 观察、提炼用户工作流程 ;4. 9原型化优点: 1. 增进软件开发人员和用户对系统需求的理解,使模糊、 不确定的需求明确化; 2. 提供 有力的学习手段; 3. 易于确定系统的功能性能; 4. 原型的最终版本,有的可以直接生成产品;4.10 动态分析: 为直观反映系统的动作,从特定观点出发描述系统的行为。*常见动态分析方法:状态迁移图;Petri网;时序图;4.11需求规格说明书(SRS)质量控制标准:高一低1. 正确性;2. 无歧义性;3. 完全性;4. 可验证性;5. 一致性;6. 可理解性;7. 可修改性;8. 可追踪性;4.12 软件设计的重要性和地位1. 开发阶段占软

9、件开发总成本 75%以上;2. 软件设计是开发阶段最重要的步骤,是将需求准确地转化为最终软件产品唯一途径。软件设计作出的 决策,最终影响软件实现的成败;4.13 软件设计的任务(目标): 软件设计是一个把软件需求变成软件表示的过程 。即给出软件的解决方案。4.14 软件设计过程* 工程管理:概要设计; 详细设计;* 技术观点: 数据设计;系统结构设计 ; 过程设计; 界面设计;4.15 软件设计准则: 抽象与逐步求精; 模块化与信息隐蔽; 模块的独立性 耦合、内聚。* 抽象: 解决问题时集中考虑与问题有关的方面,而忽略和问题无关的方面 。(抽出事物的本 质特性而暂不考虑细节)* 逐步求精 :

10、自顶向下设计的策略 。对某个功能的宏观描述,用细化方式不断分解,形成过程 的细节 ,直到算法实现为止。* 模块化 :将软件划分为可独立命名和可编址的部分 ,每个部分称为模块 。* 信息隐蔽 : 指每个模块的实现细节对其他模块是隐蔽的 。 (模块中所包含的信息不允许不需要 这些信息的其他模块使用)* 模块的独立性 : 每个模块只涉及软件要求的具体子功能,与其他模块接口简单 。* 模块独立性度量准则: 耦合与内聚 。4.16 耦合性(耦合度): 各模块间相互关联的程度 。4.17 耦合类型与关系低耦合性 高非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合 强模块独立性弱1. 非直接耦合:

11、两模块间没有直接关系, 其联系完全通过主模块的控制和调用实现。2. 数据耦合:两模块间通过数据参数交换信息, 称为数据耦合。3. 标记耦合:两模块间通过数据结构交换信息,称为标记耦合。4. 控制耦合:模块间传递的信息中有控制信息(开关、标记等)这些控制信息明显地控制选择另一模块的功能,称为控制耦合。5. 外部耦合:一组模块都访问同一全局简单变量(而不是同一全局数据结构), 且不通过参数表传递该全局变量的信息,称为外部耦合。6. 公共耦合:若一组模块都访问同一公共数据环境, 则它们之间的耦合称公共耦合。7. 内容耦合:两模块a、b间有下列情况之一,则称为内容耦合。 a 访问 b 的内部数据; a

12、 不通过正常入口而转至 b 的内部; 两个模块有一部分程序代码重叠 ; 一个模块有多个入口;4.18 内聚性(内聚度): 一个模块内部各成分彼此结合的紧密程度 。4.19 内聚类型与关系高一内聚性低功能内聚顺序内聚通讯内聚过程内聚时间内聚逻辑内聚巧合内聚 强模块独立性弱1. 巧合内聚(偶然内聚):模块内各部间没有联系或联系很松散, 则称这种模块为巧合内聚。2. 逻辑内聚:一个模块完成的多任务逻辑上相关(几个相关能组合), 则称为逻辑内聚。3. 时间内聚:一个模块包含的多任务必须在同一时间段完成,称为时间内聚。4. 过程内聚:一个模块内的多功能彼此相关, 且必须按特定的次序执行,为过程内聚。5.

13、 通信内聚:一个模块内多功能部分都使用了相同的输入数据, 或产生了相同的输出数据, (都对数据结的同一区域操作), 称通信内聚。6. 信息内聚:一个模块的多个功能成分与同一功能相关,多功能都在同一数据结构上操作, 且这些处理是顺执行, 称顺序内聚。7. 功能内聚:一个模块中各部分都是完成某一功能必不可少的组成部分(或该模块中所有部分都是为了完成一项具体功能而协同工作)紧密联系, 不可分割, 则称功能内聚。4.20 概要设计的任务: 1. 制定规范; 2. 系统结构总体设计; 3. 算法设计;4. 数据结构设计; 5. 编写概要设计文档; 6. 文档评审;4.21 SC(MSD)术语:* 深度:

14、控制级别的数量的表示 。*上级模块、从属模块:上、下两层模块a和b,且有a调用b,a是上级模块,b是从属模块。* 宽度:整体控制跨度的表示 。* 扇入:调用一个给定模块的模块个数 。 扇出:一个模块直接调用的其他模块数 。* 水平划分:每个主要程序功能定义了分离的模块结构分支 。*垂直划分:自顶向下的划分。4.22 DFD类型:变换型 事务性 混合型4.23 SC设计步骤:stepl :分析、确认DFD的类型; step2 :说明数据流的边界; step3 :把DFD映射为程序结构; step4 :对产生的结构进行细化和求精4.24 过程设计:模块内部实现过程的细化。 *过程 :对处理的精确说

15、明。4.25设计方法:面向数据流结构化设计(SD);面向数据结构结构化设计(SD );面向对象设计;4.26 SD设计工具:图形:程序流程图/ N-S/ PAD;表格:判定表;语言:PDL;4.27面向数据结构的SA、SD方法:JSD和DSSD方法特点:1. 与结构化分析、设计一样是覆盖需求分析、设计的方法和技术 ;2. 是面向数据结构的结构化方法 ;3. 适合与设计企事业管理一类数据处理系统 ;4. 以信息对象及操作为核心进行分析、设计 ; 主要支持工具 :JSD - Jackson 图DSSD - Warnier_Orr 图(Warnier 图)4.28面向对象方法的特点:1与人类习惯的思维方法一致;2.唯一性;3.连续性; 4. 一致性;5.可维护性、可扩充性;4.29 面向对象基本概念:* 对象: 对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组属性和它可执行的一组操作组成。对象的特征:自治性,封闭性,通信性。* 属性: 每一对象的属性是一些有着确定值的、用于描述对象状态信息的数据。一般只能通过执行对象的操作来改变。“软件工程”内容提要 2007 - 05 *操作(方法或服务)描述了对象执行的功能。为了完成某一任务,一个对象所

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号