第三章软件工程基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化分析方法是结构化程序设计理论在软件需求
分析阶段的应用。
结构化分析方法的实质:着眼于数据流,自顶向下, 逐层分解,建立系统的处理流程,以数据流图和 数据字典为主要工具,建立系统的逻辑模型。
结构化分析的常用工具: (1)数据流图; (2)数据字典; (3)判定树; (4)判定表。
2 结构化分析方法
3、软件需求规格说明书
• 软件需求规格说明书是需求分析阶段的最后成 果,是软件开发中的重要文档之一。
• 软件需求规格说明书的特点: (1)正确性; (2)无歧义性; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
3.3 结构化设计方法
1、软件设计的基础
需求分析主要解决“做什么”的问题,而软件设 计主要解决“怎么做”的问题。
全国计算机等级考试
公共基础知识
第3章 软件工程基础
3.1 软件工程基本概念
1、软件的相关概念 计算机软件是包括程序、数据及相关文档的完
整集合。 软件的特点包括: ➢ 软件是一种逻辑实体; ➢ 软件的生产与硬件不同,它没有明显的制作
过程; ➢ 软件在运行、使用期间不存在磨损、老化问
题;
➢ 软件的开发、运行对计算机系统具有依赖性,受 计算机系统的限制,这导致了软件移植的问题;
数据字典的作用是对数据流图中出现的被命名的图 形元素的确切解释。
数据字典是结构化分析方法的核心。
➢ 判定树:从问题定义的文字描述中分清哪些是判 定的条件,哪些是判定的结论,根据描述材料中 的连接词找出判定条件之间的从属关系、并列关 系、选择关系,根据它们构造判定树。
➢ 判定表:与判定树相似,当数据流图中的加工要 依赖于多个逻辑条件的取值,即完成该加工的一 组动作是由于某一组条件取值的组合而引发的, 使用判定表描述比较适宜。
软件设计主要内容包括: 软件结构设计、数据设计、接口设计、过程设计。
(按技术观点划分)
软件设计分两步完成,即概要设计和详细设计。 (按工程管理角度划分)
3.3 结构化设计方法
1、软件设计的基础 软件设计的基本原理包括:抽象、模块化、信息
隐蔽和模块独立化。
模块的耦合性和内聚性是衡量软件的模块独立性 的两个定性指标。
软件工程是应用于计算机软件的定义、开发和维 护的一整套方法、工具、文档、实践标准和工序。
软件工程的主要思想是将工程化原则运用到软件开 发过程,它包括3个要素:方法、工具和过程。
软件工程过程包含4种基本活动: (1)P(Plan)——软件规格说明。规定软件的 功能及其运行时的限制。
(2)D(Do)——软件开发。产生满足规格说明的 软件。
(2)软件工程需要达到的基本目标应是:付出较低的开发 成本;达到要求的软件功能;取得较好的软件性能;开 发的软件易于移植;需要较低的维护费用;能按时完成 开发,及时交付使用。
(3)软件工程原则:抽象、信息隐蔽、模块化、局部化、 确定性、一致性、完备性和可验证性。
5、软件开发工具与软件开发环境
(1)软件开发工具 软件开发工具的完善和发展将促使软件开发方法的进步和
3.2 结构化分析方法
结构化方法的核心和基础是结构化程序设计理论。
1、需求分析
需求分析方法有: (1)结构化需求分析方法; (2)面向对象的分析方法。
需求分析的任务就是导出目标系统的逻辑模型,解 决“做什么”的问题。
需求分析一般分为需求获取、需求分析、编写需求 规格说明书和需求评审四个步骤进行。
2 结构化分析方法
➢ 数据流图:描述数据处理过程的工具,是需求理 解的逻辑模型的图形表示,它直接支持系统功能 建模。
下图是数据流图的基本图形元素:
加工
数据流
存储文件
源、潭
数据流图
下图是一个数据流图的示例:
➢ 数据字典: 对所有与系统相关的数据元素的一个有组织的列 表,以及精确的、严格的定义,使得用户和系统 分析员对于输入、输出、存储成分和中间计算结 果有共同的理解。
常用的软件结构设计工具是结构图,也称程序结 构图。
软件生命周期的主要活动阶段 如下图:
可行性研究 初步项目计划
需求分析
定义 阶段
概要设计 详细设计
实现
开发 阶段
测试
使用 维护 退役
维护 阶段
4、软件工程的目标和与原则
(1)软件工程目标:在给定成本、进度的前提下,开发出 具有有效性、可靠性、可理解性、可维护性、可重用性、 可适应性、可移植性、可追踪性和可互操作性且满足用 户需求的产品。
➢ 软件复杂性高,成本昂贵; ➢ 软件开发涉及诸多的社会因素。 软件分类: 软件按功能分为应用软件、系统软件、支撑软件
(或工具软件)。
2、软件危机与软件工程
所谓软件危机是泛指在计算机软件的开发和维护 过程中所遇到的一系列严重问题。软件危机可以 归结为成本、质量、生产率等问题。
软件工程源自软件危机。
(3)C(Check)——软件确认。确认软件能够满 足用户提出的要求。 (4)A(Action)——软件演进。为满足客户的 变更要求,软件必须在使用的过程中演进。
3、软件生命周期
软件生命周期:软件产品从提出、实现、 使用维护到停止使用退役的过程。
软件生命周期三个阶段: ➢软件定义 ➢软件开发 ➢运行维护
内聚性:是一个模块内部各个元素间彼此结合的 紧密程度的度量。
耦合性:是模块间互相连接的紧密程度的度量。 一个设计良好的软件系统应具有高内聚、低耦合
的特征。
ห้องสมุดไป่ตู้
2、总体设计(概要设计)和详细设计
(1)总体设计(概要设计) 软件概要设计的基本任务是: 1)设计软件系统结构; 2)数据结构及数据库设计; 3)编写概要设计文档; 4)概要设计文档评审。
完善,促进软件开发的高速度和高质量。软件开发工具 的发展是从单项工具的开发逐步向集成工具发展的,软 件开发工具为软件工程方法提供了自动的或半自动的软 件支撑环境。 (2)软件开发环境 软件开发环境(或称软件工程环境)是全面支持软件开发 全过程的软件工具的集合。 计算机辅助软件工程(CASE,Computer Aided Software Engineering)将各种软件工具、开发机器和 一个存放开发过程信息的中心数据库组合起来,形成软 件工程环境。它将极大降低软件开发的技术难度并保证 软件开发的质量。
相关文档
最新文档