第三章软件工程基础
软件工程第三章
条目格式如下: 数据流名: 组成: 流量:
3.5 需求分析方法 SIT 来源: 去向: · 文件条目。 文件条目主要说明文件由哪些数据项组成,存储方式和
存取频率等。 条目格式如下: 文件名: 组成: 存储方式: 存储频率:
3.5 需求分析方法 SIT · 数据项条目。 数据项名: 类型: 长度: 取值范围: · 加工条目。 加工条目主要说明加工的输入数据、输出数据及其加工
3.2 需求分析任务 SIT
二、分析系统的数据要求 分析系统的数据要求通常采用建立概念模型的方法。
三、导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模
型,通常用数据流图、数据字典和主要的处理算法描述这个 逻辑模型。 四、修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解, 可以比较准确地估计系统的成本和进度,修正以前制定的开 发计划。 五、开发原型系统
3.3.2用户需求
用户需求是从用户角度来描述系统功能和非功能需求, 以便让不具备专业技术方面知识的用户能看懂。这样的需求 描述只描述系统的外部行为,要尽量避免对系统设计特性的 描述。
3.3 软件需求分析类型 SIT
3.3.3系统需求
系统需求是比用户需求更详细的需求描述,是系统实现 的基本依据,因此,是一个完全的和一致的系统描述,是软 件工程人员系统设计的起点。
需求描述的结构化是围绕三个主要内容进行的,一是系 统操作对象,二是系统运行的功能,三是系统处理的事件。
3.6 软件需求工程管理 SIT 软件需求管理指的是一个为系统的需求进行启发、组织、
建档的系统方法,一个建立和维护客户和项目团队之间关于 变更系统需求所达成的一致性的过程。
需求模型是指将软件需求的捕获与开发、管理作为一个 工程,以软件需求的捕获与开发、管理为研究对象,抽象化 的工程参考模型,用以指导软件需求的各项实践活动。
计算机二级
(5)评审直到确认完全符合用户对软件的需求
第二节 结构化分析方法
二、结构化分析方法 2、结构化分析的常用工具 (1)数据流程图(DFD—Data Flow Diagram) 数据流程图是描述数据处理过程的工具,是需求理解的 逻辑模型的图形表示。 数据流程图中的主要图形元素与说明如下:
第二节 结构化分析方法
第五节 程序的调试
程序调试由两部分构成: (1)根据错误的迹象确定程序中错误的确切性质、原 因和位置。 (2)对程序进行修改,排除这个错误。
第五节 程序的调试
1、程序调试的基本步骤 (1)错误定位 (2)修改设计和代码,以排除错误 (3)进行回归调试,防止引进新错误
第五节 程序的调试
2、程序调试方法 (1)强行排错法 (2)回溯法 (3)原因排除法
第一节 软件工程基本概念
二、软件危机与软件工程 软件危机是泛指在计算机软件的开发和维护过程中所遇 到的一系列严重问题。 软件工程的核心思想是把软件产品看作一个工程产品来 处理。以期达到工程项目的三个基本要素:进度、经费 和质量目标。
第一节 软件工程基本概念
三、软件生命周期 将软件产品从提出、实现、使用维护到停止使用退役的 过程称为软件生命周期。
第四节 软件测试
三、软件测试技术与方法 2、白盒测试方法与测试用例设计 白盒测试也称结构测试或逻辑驱动测试。它是根据软件 产品的内部工作过程,检查内部成分,以确认每种内部 操作符合设计规格要求。 白盒测试把测试对象看成一个打开的盒子,允许测试人 员利用程序内部的逻辑结构及有关信息来设计或选择测 试用例,对程序所有的逻辑路径进行测试。
第四节 软件测试
三、软件测试技术与方法 3、黑盒测试方法与测试用例设计 黑盒测试也称功能测试或数据驱动测试。 黑盒测试是对软件已经实现的功能是否满足需求进行测 试和验证。黑盒测试完全不考虑程序内部的逻辑结构和 内部特征,只依据程序的需求和功能规格说明,检查程 序的功能是否符合它的功能说明。
自考软件工程第3章知识点总结
2
第3章 软件需求分析
需求分析在软件开发中所处的地位愈加突出,从而也愈加 困难,它的难点主要体现在以下几个方面:
(1) 问题的复杂性。 (2) 交流障碍。 (3) 不完备性和不一致性。 (4) 需求易变性。
软件需求分析与说明的方法的基本原则:
(1) 必须能够表达和理解问题的数据域和功能域。 (2) 可以把一个复杂问题按功能进行分解并可逐层细化。 (3) 建模。
结构化分析(Structured Analysis,简称SA),是面向数 据流进行需求分析的方法。根据软件内部数据传递、变换的关 系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
3.2.1自项向下逐层分解的分析策略
面对一个复杂的问题,采取分解的策略,把一个复杂的问
题划分成若干小问题,然后再分别解决。分解可分层进行,在
(3) 环境需求。 (4) 用户界面需求。
4
第3章 软件需求分析
2. 分析与综合, 导出软件的逻辑模型 分析人员对获取的需求,进行一致性的分析检查,在 分析、 综合中逐步细分软件功能,划分成各个子功能。 3. 编写文档 编写文档的步骤如下: (1) 编写“需求说明书。 (2) 编写初步用户使用手册。 (3) 编写确认测试计划。 (4) 修改完善项目开发计划。
3. 数据项条目 数据项条目是不可再分解的最小数据单位, 其定义格 式及举例如下: 数据项名称: 货物编号 别名: G-No, G-num, Goods-No 简述: 本公司的所有货物的编号 类型: 字符串 长度: 10
取值范围及含义: 第1位: 进口/国产
第2~4位: 类别 第5~7位: 规格
第8~10位: 品名编号
1. 数据流条目
数据流条目给出了DFD中数据流的定义,通常列出该数 据流的各组成数据项。
第三章 计算机软件(详细知识点总结)
第三章计算机软件一、计算机系统基本组成:硬件和软件(一)计算机软件:能指挥计算机完成特定任务的、以电子格式存储的程序、数据和相关文档。
(二)软件的功能都在硬件的支撑下实现,用硬件实现的功能可能由软件来部分实现。
二、软件(一)定义(ISO):包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。
(二)组成:程序+(与程序相关的)数据和文档。
1.文档:程序开发、维护和使用所涉及的资料,如设计报告、维护手册和用户使用指南等2.程序是软件的主体,单独的数据和文档一般不认为是软件。
(三)特性:1.依附性:通常必须使用物理载体进行存储,依附于一定的硬件和软件环境运行2.不可见性:以二进位表示、无形的产品3.脆弱性:容易受到病毒入侵4.易复制性5.无磨损性(四)软件版权:1.定义:软件的作者享有拷贝、发布、修改等权利,用户购买软件只有使用权2.软件盗版:未获得版权所有者许可就复制和散发商品软件的行为3.相关法律法规:知识产权保护法、著作权法、专利法、计算机软件保护条例……(五)软件分类:1.按应用角度分:系统软件和应用软件1)系统软件:A.定义:管理系统资源、提供常用基本操作的软件B.特点:交互性(与计算机硬件系统)、通用性C.组成:a)基本输入/输出系统(BIOS)——最接近计算机硬件的系统软件b)操作系统i.DOS、Windows 95、Windows 98、WindowsMe、Windows NT 4.0、Windows 2000、WindowsXP、Windows 2003、Windows Vista、Windows 7ii.Unix:BSD、SRV4、SCO UNIX、AIX、Solaris、HP-UXiii.Linux:Red Hat、SuSE等c)程序设计语言处理系统(编译器):FORTRAN、BASIC、Visual Basic、Java、C、C++、LISP、PROLOG、MATLAB、ALGOL、PASCAL等d)数据库管理系统(DBMS):FoxPro、Microsoft Access、VFP、SQL Server、Oracle、DB2、SYBASE等e)实用程序:磁盘清理程序、磁盘碎片整理程序、杀毒软件、防火墙等2) 应用软件:A. 定义:为用户完成某项特定任务的软件B. 按应用软件的开发方式和适用范围,可分为:通用应用软件、定制应用软件a) 通用应用软件: b) 定制应用软件: i. 定义:按照不同领域用户的特定应用要求而专门设计开发的软件 ii. 举例:超市销售管理和市场预测系统、工厂的集成制造系统、大学教务管理系统、医院门诊挂号系统、酒店客房管理系统、民航售票系统3) 系统软件和应用软件的关系:应用软件以系统软件为基础(如:Powerpoint 以windows 为基础;Powerpoint 调用windows 的功能)2. 按软件权益如何处置分为:商品软件、共享软件、自由软件1) 软件许可证(License):允许用户购买一份软件而同时安装在约定的若干台计算机上使用 2) 自由软件A. 代表:TCP/IP 、LinuxB. 允许用户随便拷贝、修改其源代码和销售(六) 软件发展的历史:1. 第一阶段:个体工作方式2. 第二阶段:合作方式1) 标志:软件危机2) 软件危机产生原因:软件复杂程度提高、研制周期变长、正确性难以保证、可靠性问题突出(并非硬件软件不协调发展)3. 第三阶段:软件工程(用工程化的方法组织软件的开发)三、操作系统(一) 地位:计算机运行配置必不可少的底层系统软件 (二) 作用:1. 管理分配系统中的各种软硬件资源2. 为用户提供友善的人机界面1) 命令行界面2) 图形用户界面:采用图标(icon )来形象地表示系统中的文件、程序和设备等对象3. 为应用程序的开发和运行提供一个高效率的平台(开发和运行应用程序与运行的操作系统密切相关) 1) 裸机:只有硬件、没有软件的计算机。
软件工程复习题
第三章软件工程基础习题部分一、选择题(1) 软件工程的出现是由于______。
A)程序设计方法学的影响B)软件产业化的需要C)软件危机的出现D)计算机的发展(2) 下列描述中正确的是______。
A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(3) 下列描述中正确的是______。
A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合(4) 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______。
A)软件投机B)软件危机C)软件工程D)软件产生(5) 软件开发的结构化生命周期方法将软件生命周期划分成______。
A. 定义、开发、运行维护B. 设计阶段、编程阶段、测试阶段C. 总体设计、详细设计、编程调试D. 需求分析、功能定义、系统设计(6) 需求分析阶段的任务是确定______。
A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统功能(9) 需求分析中,开发人员要从用户那里了解______。
A)软件做什么B)用户使用界面C)输入的信息D)软件的规模(10) 软件生命周期中所花费用最多的阶段是______。
A)详细设计B)软件编码C)软件测试D)软件维护(11) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。
A. 阶段性报告B. 需求评审C. 总结D. 都不正确(12) 下面不属于软件工程的3个要素的是______。
A. 工具B. 过程C. 方法D. 环境(13) 下面不属于软件设计原则的是______。
A. 抽象B. 模块化C. 自底向上D. 信息隐蔽(16) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。
全国计算机等级考试二级公共基础知识要点汇总[规整]
全国计算机等级考试二级公共基础知识要点汇总第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
软件工程基础
软件工程基础软件工程是指应用工程原理、方法和工具来开发和维护高质量的软件系统。
作为计算机科学的重要分支,软件工程为我们理解和应用软件开发的基础提供了框架和指导。
本文将介绍软件工程的基本概念、原则和方法,以及其在软件开发过程中的重要性。
一、软件工程概述软件工程是一门系统性的学科,旨在通过应用科学和工程原理,将计算机科学理论和方法应用于软件的开发和维护中。
与传统的工程领域不同,软件工程面临着特殊的挑战和复杂性,包括软件产品的不可见性、复杂性和易变性等。
软件工程的核心目标是提高软件的质量和效率,使其满足用户的需求并具备可维护性。
为了实现这一目标,软件工程引入了许多原则和方法,如需求分析、系统设计、编码和测试等。
这些方法和原则为软件开发过程提供了指导和规范,有助于提高开发团队的协作效率和开发质量。
二、软件工程原则软件工程根据实践总结出了许多重要的原则,在软件开发中起到了指导作用。
下面列举了其中几个重要的原则:1. 模块化:软件应该通过模块化的方式进行设计和开发。
模块化可以提高代码的复用性和可维护性,同时也降低了开发的复杂性。
2. 可重用性:软件应该促进可重用性。
通过开发可重用的组件和模块,可以提高软件开发的效率,并减少重复劳动。
3. 适应性:软件应该具备适应性,即能够满足用户的需求,并能够随着需求的变化进行调整和扩展。
4. 可测试性:软件应该具备可测试性,即能够进行有效的测试和验证。
通过测试,可以发现和修复潜在的问题,提高软件的质量。
5. 可维护性:软件应该具备可维护性,即能够方便地进行修改和维护。
良好的软件结构和文档可以降低维护成本,并延长软件的使用寿命。
三、软件开发方法软件工程提供了多种开发方法和过程,以帮助开发团队有效地管理和组织开发任务。
下面介绍几种常见的软件开发方法:1. 瀑布模型:瀑布模型是一种线性的开发过程模型,依次进行需求分析、系统设计、编码和测试。
每个阶段完成后,才能进入下一个阶段。
瀑布模型适用于需求变化较少的项目,但在需求变化频繁的项目中效果较差。
第3章 软件工程基础(习题答案).doc
第3章习题答案3」什么是软件危机?为什么会岀现软件危机?解答:软件危机是指落后的软件生产方式无法满足开发复杂软件的需求,从而导致软件开发与维护过稈屮出现一系列严重的问题,主要表现在:(1)软件开发费用和进度估计不准。
(2)软件的正确性和可靠性难以保证。
(3)文档不全,导致软件维护难度加大。
总Z,可将软件危机归结为:成木、质量和生产率等问题。
到了20世纪50年代末和60年代初,随着计算机应用的普及,软件的规模和复杂度提高了,“家庭作功”式的方法已经无法适应软件的开发。
软件开发的周期变长、费用上涨,导致软件的生产效率下降、目标软件的正确性难于保证,即出现了“软件危机”。
3.2软件T程的概念是什么?软件T程的忖标和原则是什么?解答:软件工程是指导计算机软件开发和维护的一门学科。
软件工程从管理和技术两个方面,研究如何更好地开发和维护计算机软件,内容主要包括:软件开发技术和软件工程管理。
软件工程的日标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
软件工稈的原则,在软件开发各阶段,应遵循一些基木原则,包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
3.3什么是软件的生命周期?瀑布模型把软件生命周期划分成几个时期、几个阶段?每一个阶段的任务是什么?每个阶段产生的文档是什么?解答:软件从提出、开发、使用到退役的整个过稈称为软件生命周期,软件生命周期可划分为3个时期,共8个阶段,毎个阶段应完成的基本任务和产生的文档如下表所示。
时期阶段任务文档定义期(计划期)问题的定义理解用户要求,明确工作目标计划任务书可行性研究可行性方案分析需求分析软件系统的目标及应完成的任务需求规格说明书开发期概要设计(总体设计)(系统设计)系统逻辑设让,明确软件模块结构,及各模块间的调用关系软件概要设计说明书数据库/数据结构设计说明书集成测试计划详细设计系统的模块设计,对各模块进行功能说明,实现细节描述软件详细设计说明书编码编写程序代码程序、数据、详细注释测试和调试单元测试、集成测试测试大纲、方案,测试用例,测试结果维护期使用和维护运行和维护运行、修改记录3.4什么是结构化方法?结构化分析、结构化设计、结构化程序设计分别用在软件生命周期的哪一个阶段?解答:结构化开发方法是现有软件开发方法屮最成熟、应用最广泛的方法。
03第3章软件工程基本概念
二级公共基础知识第三章软件工程基本概念
重点:需求分析、概要设计、详细设计、软件测试和软件调试的作用、方法等
一、 软件工程基本概念
1. 软件是计算机系统中与硬件相互依存的重要部分,包括程序、数据及相关的 文档 。
其中,程序 是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。
2. 下列叙述中,正确的是(D)。
A.软件就是程序清单 B.软件就是存放在计算机中的文件 C.软件应包括程序清单及运行结果 D.软件包括程序和文档
3. 软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)
4. 软件工程的出现是由于(软件危机的出现)
5. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(软件危机)
软件工程概念的出现源自软件危机。
所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
总之,可以将软件危机归结为成本、质量、生产率等问题。
6. 开发大型软件时,产生困难的根本原因是(大型系统的复杂性)。
7. 软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了软件工程学 的原理来设计软件这就是软件工程诞生的基础。
8. 下列不属于软件工程的3个要素的是(D)A.工具 B.过程 C.方法 D.环境。
第三章 软件工程 需求分析-基础部分
3.1.4 需求分析的过程
分析与综合 从信息流和信息结构出发,逐步细化所有的软件功能, 从信息流和信息结构出发,逐步细化所有的软件功能,找 出系统各元素之间的关联,接口特性和设计上的约束, 出系统各元素之间的关联,接口特性和设计上的约束,分 析它们是否满足功能要求,是否合理. 析它们是否满足功能要求,是否合理.剔除其不合理的部 增加其需要部分.最终综合成系统的解决方案, 分,增加其需要部分.最终综合成系统的解决方案,给出 目标系统的详细逻辑模型. 目标系统的详细逻辑模型. 常用的分析方法 面向数据流的结构化分析方法 面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开发方法 面向数据结构的结构化数据系统开发方法 (DSSD) 面向对象的分析方法 面向对象的分析方法 (OOA) 等
16
3.2.1 需求获取技术
需求调查对象 对组织的高层管理者, 对组织的高层管理者,进行组织管理目标或经营方针等 组织战略问题的调查 对中层的管理者, 对中层的管理者,进行全部业务流的调查 对业务工作人员, 对业务工作人员,进行详细业务信息的调查 市场调查 了解市场对待开发软件有什么样的要求; 了解市场对待开发软件有什么样的要求;了解市场上有 无与待开发软件类似的系统 考察现场 了解用户实际的操作环境,操作过程和操作要求. 了解用户实际的操作环境,操作过程和操作要求.对照用 户提交的问题陈述,对用户需求可以有更全面, 户提交的问题陈述,对用户需求可以有更全面,更细致的 认识. 认识. 观察用户工作流程 用户和开发人员共同组成联合小组
具体化 表 达 需 求
3
目标系统
物理模型
实例化
逻辑模型
软件工程第三章需求工程
软件工程第三章需求工程在软件工程中,需求工程是至关重要的一环。
它就像是一座建筑的蓝图,为后续的设计、开发、测试等工作指明了方向。
如果需求工程做得不好,就好比在没有清晰规划的情况下盲目施工,结果必然是混乱和低效的。
需求工程主要包括需求获取、需求分析、需求规格说明和需求验证这几个关键步骤。
需求获取是需求工程的起点。
这可不是一件简单的事情,它需要与各种利益相关者进行有效的沟通和交流。
这些利益相关者可能包括客户、用户、业务经理、技术专家等等。
他们对于软件系统的期望和需求各不相同,因此获取到全面、准确的需求信息是一个挑战。
在与利益相关者交流时,我们需要运用各种技巧。
比如,倾听是非常重要的。
要让他们能够畅所欲言,表达出自己的真实想法和需求。
同时,提问也是必不可少的。
通过有针对性的问题,可以引导他们深入思考,挖掘出一些潜在的需求。
此外,观察他们的工作流程和操作习惯,也能为获取需求提供有价值的线索。
需求分析是对获取到的需求进行深入理解和梳理的过程。
这就像是把一堆杂乱无章的拼图碎片整理成一幅完整的画面。
我们需要识别出需求中的关键元素,理解它们之间的关系,并且找出可能存在的冲突和不一致。
为了进行有效的需求分析,我们常常会使用一些工具和技术。
比如,用例图可以帮助我们清晰地描述系统的功能和用户与系统之间的交互。
数据流图则能够展示数据在系统中的流动和处理过程。
状态转换图可以用于描述系统中对象的状态变化。
通过这些工具,我们能够更直观地理解需求,发现潜在的问题。
需求规格说明是将分析后的需求以一种清晰、准确、无歧义的方式记录下来。
它就像是一份合同,明确了软件系统应该具备的功能和性能。
需求规格说明通常包括功能需求、非功能需求、约束条件等内容。
功能需求描述了系统应该完成的具体任务和操作。
非功能需求则关注系统的性能、可靠性、可维护性、安全性等方面的要求。
约束条件可能包括技术限制、预算限制、时间限制等。
在编写需求规格说明时,语言要简洁明了,避免使用模糊不清的词汇和语句。
软件工程第三章
3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
2、数据流图 (1)、数据流图的组成 “ 四大组成部分:外部实体(也就是数据的源点或终 点)、处理、数据流和数据存储
3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
2、数据流图 (2)、数据流图的符号 “ a、基本符号 b、附加符号: * ——表示数据流之间是“与”的关系。 + ——表示数据流之间是“或”的关系。 ⊕ ——表示只能从中选一个(互斥关系)。
数据流图实例:××培训中心管理系统
“
3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
数据流图实例:××培训中心管理系统
“
3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
3、数据字典 数据字典是关于数据的信息的集合,也就是对数据 “ 流图中包含的所有元素的定义的集合。当数据流图 和对数据流图中每个元素的精确定义(数据字典)放 在一起时,才能共同构成系统的规格说明
1、Jackson系统开发方法 前期(20 世纪70 年代): “ 主要研究以处理数据为主的结构化程序设计,称 JSP(Jackson Structured Programming)方法 后期(20世纪80 年代): 集中研究软件系统的开发,称JSD(Jackson System Development)方法
3.2.4、Jackson系统开发方法 Warnier方法 3.2.4、Jackson系统开发方法、Warnier方法 系统开发方法、
1、Jackson系统开发方法 基本思想是从数据结构出发建立对应的程序结构, “ 适合于设计企事业事务管理类的数据处理系统。
3.2.4、Jackson系统开发方法 Warnier方法 3.2.4、Jackson系统开发方法、Warnier方法 系统开发方法、
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、软件生命周期
软件生命周期:软件产品从提出、实现、 使用维护到停止使用退役的过程。
软件生命周期三个阶段: ➢软件定义 ➢软件开发 ➢运行维护
软件生命周期的主要活动阶段 如下图:
可行性研究 初步项目计划
需求分析
定义 阶段
概要设计 详细设计
实现
开发 阶段
测试
使用 维护 退役
维护 阶段
4、软件工程的目标和与原则
(1)软件工程目标:在给定成本、进度的前提下,开发出 具有有效性、可靠性、可理解性、可维护性、可重用性、 可适应性、可移植性、可追踪性和可互操作性且满足用 户需求的产品。
软件工程是应用于计算机软件的定义、开发和维 护的一整套方法、工具、文档、实践标准和工序。
软件工程的主要思想是将工程化原则运用到软件开 发过程,它包括3个要素:方法、工具和过程。
软件工程过程包含4种基本活动: (1)P(Plan)——软件规格说明。规定软件的 功能及其运行时的限制。
(2)D(Do)——软件开发。产生满足规格说明的 软件。
数据字典的作用是对数据流图中出现的被命名的图 形元素的确切解释。
数据字典是结构化分析方法的核心。
➢ 判定树:从问题定义的文字描述中分清哪些是判 定的条件,哪些是判定的结论,根据描述材料中 的连接词找出判定条件之间的从属关系、并列关 系、选择关系,根据它们构造判定树。
➢ 判定表:与判定树相似,当数据流图中的加工要 依赖于多个逻辑条件的取值,即完成该加工的一 组动作是由于某一组条件取值的组合而引发的, 使用判定表描述比较适宜。
软件设计主要内容包括: 软件结构设计、数据设计、接口设计、过程设计。
(按技术观点划分)
软件设计分两步完成,即概要设计和详细设计。 (按工程管理角度划分)
3.3 结构化设计方法
1、软件设计的基础 软件设计的基本原理包括:抽象、模块化、信息
隐蔽和模块独立化。
模块的耦合性和内聚性是衡量软件的模块独立性 的两个定性指标。
结构化分析方法是结构化程序设计理论在软件需求
分析阶段的应用。
结构化分析方法的实质:着眼于数据流,自顶向下, 逐层分解,建立系统的处理流程,以数据流图和 数据字典为主要工具,建立系统的逻辑模型。
结构化分析的常用工具: (1)数据流图; (2)数据字典; (3)判定树; (4)判定表。
2 结构化分析方法
完善,促进软件开发的高速度和高质量。软件开发工具 的发展是从单项工具的开发逐步向集成工具发展的,软 件开发工具为软件工程方法提供了自动的或半自动的软 件支撑环境。 (2)软件开发环境 软件开发环境(或称软件工程环境)是全面支持软件开发 全过程的软件工具的集合。 计算机辅助软件工程(CASE,Computer Aided Software Engineering)将各种软件工具、开发机器和 一个存放开发过程信息的中心数据库组合起来,形成软 件工程环境。它将极大降低软件开发的技术难度并保证 软件开发的质量。
内聚性:是一个模块内部各个元素间彼此结合的 紧密程度的度量。
耦合性:是模块间互相连接的紧密程度的度量。 一个设计良好的软件系统应具有高内聚、低耦合
的特征。
2、总体设计(概要设计)和详细设计
(1)总体设计(概要设计) 软件概要设计的基本任务是: 1)设计软件系统结构; 2)数据结构及数据库设计; 3)编写概要设计文档; 4)概要设计文档评审。
全国计算机等级考试
公共基础知识
第3章 软件工程基础
3.1 软件工程基本概念
1、软件的相关概念 计算机软件是包括程序、数据及相关文档的完
整集合。 软件的特点包括: ➢ 软件是一种逻辑实体; ➢ 软件的生产与硬件不同,它没有明显的制作
过程; ➢ 软件在运行、使用期间不存在磨损、老化问
题;
➢ 软件的开发、运行对计算机系统具有依赖性,受 计算机系统的限制贵; ➢ 软件开发涉及诸多的社会因素。 软件分类: 软件按功能分为应用软件、系统软件、支撑软件
(或工具软件)。
2、软件危机与软件工程
所谓软件危机是泛指在计算机软件的开发和维护 过程中所遇到的一系列严重问题。软件危机可以 归结为成本、质量、生产率等问题。
软件工程源自软件危机。
常用的软件结构设计工具是结构图,也称程序结 构图。
➢ 数据流图:描述数据处理过程的工具,是需求理 解的逻辑模型的图形表示,它直接支持系统功能 建模。
下图是数据流图的基本图形元素:
加工
数据流
存储文件
源、潭
数据流图
下图是一个数据流图的示例:
➢ 数据字典: 对所有与系统相关的数据元素的一个有组织的列 表,以及精确的、严格的定义,使得用户和系统 分析员对于输入、输出、存储成分和中间计算结 果有共同的理解。
3、软件需求规格说明书
• 软件需求规格说明书是需求分析阶段的最后成 果,是软件开发中的重要文档之一。
• 软件需求规格说明书的特点: (1)正确性; (2)无歧义性; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
3.3 结构化设计方法
1、软件设计的基础
需求分析主要解决“做什么”的问题,而软件设 计主要解决“怎么做”的问题。
(2)软件工程需要达到的基本目标应是:付出较低的开发 成本;达到要求的软件功能;取得较好的软件性能;开 发的软件易于移植;需要较低的维护费用;能按时完成 开发,及时交付使用。
(3)软件工程原则:抽象、信息隐蔽、模块化、局部化、 确定性、一致性、完备性和可验证性。
5、软件开发工具与软件开发环境
(1)软件开发工具 软件开发工具的完善和发展将促使软件开发方法的进步和
3.2 结构化分析方法
结构化方法的核心和基础是结构化程序设计理论。
1、需求分析
需求分析方法有: (1)结构化需求分析方法; (2)面向对象的分析方法。
需求分析的任务就是导出目标系统的逻辑模型,解 决“做什么”的问题。
需求分析一般分为需求获取、需求分析、编写需求 规格说明书和需求评审四个步骤进行。
2 结构化分析方法