?第四评价对成本步: 的影响 ?第五评价对质量步: 的影响 ?第六风险评价 步:
?第七变更决策 步:
七步法印证了我经常鼓吹的项目管理三部曲:细化、量化、图形化,七步法主要验证了细化和量化的必要性和好处。
第三讲
结构化分析方法
(DFD、 DD、 PESPEC)
结构化开发方法是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法包含三部分: ?结构化分析方法(SA法)- ?结构化设计方法(SD法) ?结构化程序设计方法(SP法)
SA法建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件模型为止。
■结构化分析方法是传统软件工程中公认的技术成熟和使用广泛的需求分析方法。它主
要借助于分层数据流图和数据字典等图形及半形式化的工具表达系统的需求。 —?结构化分析方法是面向数据流进行需求分析的方法,适合于数据处理类型软件的需表分析。
结构化分析方法
?结构化分析方法(Structured Analysis,简称SA法)是面向
数据流的需求分析方法,是70年代末办Pbwrcfoc Cons taint ine 及DeMarco筝乂提出和发展,并得到广泛的应用。它适合于分析 A:型的数椐处理系统,特别是企事业管理系统。 ?主要应用技术和工具: >数据流图(DFD); >数据字典(DD);
>加工说明(PESPEC); >实体关系图(E-R); >状态变迁图(STD)等
31
?
1、数据流图(DPD) 2、数据字典 3、加工说明 參 结构化语言 參 判定表 參 判断树
?主要应用技术和工具:
>数据流图(DFD); >数据字典(DD); >加工说明(PESPEC); >实体关系图(E-R); >状态变迁图(STD)等
SA法的基本思想
■结构化分析的基本思想:“分解”和u抽象”
■分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。
■抽象:即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容。 自顶向下逐甚分解
如图所示,顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细 节,而中间层是从抽象到具体的逐层过渡。
32
⑴建立当前系统的“物理模型”
?系统的“物理模型”就是现实环境的忠实写照,即将当前系统用DFD图描述出来。这样的表达与当前系统完全对应,因此用户容易理解。
⑵抽象出当前系统的逻辑模型;
?分析系统的“物理模型”,抽象出其本质的因素,排除次要因素,获得用DFD图描述的当前系统的“逻辑模型
⑶建立目标系统的逻辑模型;
?分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统“做什么”,建立目称系统的“逻辑模型”
⑷为了对目标系统作完整的描述,还需要考虑人机界面和其它一些问题。
33
数据流图DFD 2、数据流图
数据流图(Data Flow Diagram,简称DFD)是描述系统屮数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换成逻辑输出所需的加工处理。 ■ DFD描述系统選辑模型 ?信息在系统中的流动和处理 ■ DFD用途
?交流信息的工具
?结构化分析和设计的工具 (1)数据流图(DFD)图形符号
辅助的图形符号
34
DFD基本绘图符号说明
⑴数据流
?是数据在系统内传播的路径,由一组成固定的数据项组成。
?数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。
?除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名。
■⑵加工
?也称为数据处理,它对数据流进行某些操作或变换。每个加工也要存名字,通常是动词短语,简明地描述完成什么加I:。在分层的数据流图屮,加工还应有编号。
(3)数据存储
?指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
?流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。 ■⑷数据源点和终点
?是软件系统外部环境屮的实体(包括人员、组织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图屮。 注意事项
特别要注意的是:
?数据流图不是传统的流程图或框图,数据流也不是控制流。
?数据流图是从数据的角度来描述一个系统,而框图则是从对数据进行加工的工作人员的角度来描述系统。
?数据流图中的箭头是数据流,而框图中的箭头则是控制流,控制流表达的是程序执行的次序。
(2)数据流图的细化 ■分层理由
?下图是培训中心管理系统的数据流图,由于只有一层,因此分解的加工较多不易理解,而且如果其中某个加工较复杂,影响需求分析结果的可读性。
数据流图分层 分层理由
?如果系统规模较大,仅用一个DFD图难以描述,会使得系统变得复杂,且难以理解。为了降低系统的复杂性,采取“逐层分解”的技术,画分层的DFD图。
35