北京大学软件开发方法学教案

上传人:简****9 文档编号:108082945 上传时间:2019-10-22 格式:PDF 页数:33 大小:330.36KB
返回 下载 相关 举报
北京大学软件开发方法学教案_第1页
第1页 / 共33页
北京大学软件开发方法学教案_第2页
第2页 / 共33页
北京大学软件开发方法学教案_第3页
第3页 / 共33页
北京大学软件开发方法学教案_第4页
第4页 / 共33页
北京大学软件开发方法学教案_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《北京大学软件开发方法学教案》由会员分享,可在线阅读,更多相关《北京大学软件开发方法学教案(33页珍藏版)》请在金锄头文库上搜索。

1、四 软件开发方法学四 软件开发方法学 概念概念:软件方法学软件方法学 -指导软件开发的原理指导软件开发的原理/原则、过程和规程的体系原则、过程和规程的体系. 是以软件方法为研究对象的学科。主要涉及指导软 件设计的原理和原则,以及基于这些原理、原则的 方法和技术。 狭义的软件方法学也指某种特定的软件设计指导原 则和方法体系。 是以软件方法为研究对象的学科。主要涉及指导软 件设计的原理和原则,以及基于这些原理、原则的 方法和技术。 狭义的软件方法学也指某种特定的软件设计指导原 则和方法体系。 掌握并能正确运用开发方法掌握并能正确运用开发方法,具有事半功倍的作用具有事半功倍的作用. From:计算机

2、科学技术百科全书计算机科学技术百科全书(第二版第二版) 软件开发 本质 软件开发 本质 软 件 生 存 周 期 过 程 软 件 生 存 周 期 过 程 定义定义 软 件 生 存 周 期 模 型 软 件 生 存 周 期 模 型 软 件 工 程 生 存 周 期 过 程 软 件 工 程 生 存 周 期 过 程 支 持 过 程 方 向 支 持 过 程 方 向 (活 动 与 定 序 活 动 与 定 序) 的 建 立 的 建 立 形 成 形 成 软件开发方法学软件开发方法学 ?结构化方法 ?面向对象方法 ?面向数据结构 方法 ?维也纳开发方 法( ?结构化方法 ?面向对象方法 ?面向数据结构 方法 ?维也

3、纳开发方 法(VDM) 给 出 实 现 开 发 过 程 的 途 径 给 出 实 现 开 发 过 程 的 途 径 支持支持/管理技术与方法管理技术与方法 作用于作用于 (一一) 结构化方法结构化方法 -一种特定的软件开发方法学一种特定的软件开发方法学 1 结构化分析方法结构化分析方法 1)何谓分析何谓分析 分析的三要素分析的三要素: ? 需要使用哪些信息? 需要使用哪些信息 ? 如何系统化的使用信息? 如何系统化的使用信息 ? 估算算法? 估算算法 一般地说一般地说,分析是系统化地使用信息分析是系统化地使用信息,给出一个问题的估算给出一个问题的估算. 何谓结构化分析何谓结构化分析 就软件需求分析

4、而言就软件需求分析而言,即为即为:系统化地使用问题域术语系统化地使用问题域术语,给 出该问题的模型 给 出该问题的模型,即即: 需求需求-一个抽象一个抽象 该系统的概念 模型或称系统 的需求规约 该系统的概念 模型或称系统 的需求规约 问题域问题域 -客观事物系统客观事物系统 形形 分析分析(映射映射) 可见,需求分析作为一种活动,其目标为: 在一个确定的抽象层(即需求层)上为客观事物系统施 加了一个结构 可见,需求分析作为一种活动,其目标为: 在一个确定的抽象层(即需求层)上为客观事物系统施 加了一个结构, 形成待开发软件系统(产品)的概念模型, 即需求规约( 规格说明书),作为开发人员和客

5、户间技术 契约的基础,并作为而后开发活动的一个基本输入 形成待开发软件系统(产品)的概念模型, 即需求规约( 规格说明书),作为开发人员和客户间技术 契约的基础,并作为而后开发活动的一个基本输入 2)实现软件需求分析的目标对方法学的需求实现软件需求分析的目标对方法学的需求 (1) 提供一组术语(符号)提供一组术语(符号),指导抽象中需要关注的主要方,指导抽象中需要关注的主要方 面,并用于表达分析中所使用的信息.面,并用于表达分析中所使用的信息. 这些术语形成一个特定的抽象层,即需求层.这些术语形成一个特定的抽象层,即需求层. 这组术语应体现软件设计的某些这组术语应体现软件设计的某些“原理原理/

6、原则原则”! (2) 依据这些术语所形成的“空间”,(2) 依据这些术语所形成的“空间”,给出表达模型的工具给出表达模型的工具. . (3) (3) 给出过程指导给出过程指导, 以支持系统化地使用相关信息建造系统 型. , 以支持系统化地使用相关信息建造系统 型. 3) 需求层的确定需求层的确定 一个抽象层是由一组确定的术语定义的,为支持需求分析 中有关要使用的那些信息的表达,给出了以下五个术语 符号 一个抽象层是由一组确定的术语定义的,为支持需求分析 中有关要使用的那些信息的表达,给出了以下五个术语 符号: ?数据流: ?加工: ?数据存储: ?数据源: ?数据潭: ?数据流: ?加工: ?

7、数据存储: ?数据源: ?数据潭: 其中: ? 数据流、数据存储-支持数据抽 象,加工-支持过程/功能的抽象, 用于表达系统内涵 ? 数据源、数据潭支持系统边界 抽象,用于表达系统外延 其中: ? 数据流、数据存储-支持数据抽 象,加工-支持过程/功能的抽象, 用于表达系统内涵 ? 数据源、数据潭支持系统边界 抽象,用于表达系统外延. ? 是完备的。? 是完备的。 4) 模型表达工具模型表达工具 这些术语形成一个特定的术语空间这些术语形成一个特定的术语空间,即即: ? 它们之间是? 它们之间是”正交正交”的的. ? 每一个术语所要表达的信息,形成了该术语的? 每一个术语所要表达的信息,形成了该

8、术语的”值域值域”, 并且是一个偏序集 , 并且是一个偏序集; 例如例如,假定在一个学籍管理系统中假定在一个学籍管理系统中,数据流数据流-“学生各科成 绩 学生各科成 绩”:数学数学85分分,软件工程软件工程90分分,操作系统操作系统86分分,编译编译83分等分等,构 成了该数据流的 构 成了该数据流的“值域值域”. ? 这些术语确定了所建系统的形态? 这些术语确定了所建系统的形态. 如果是一个三维空间如果是一个三维空间,那些所建系统的形态只能是那些所建系统的形态只能是: ?或是一条直线?或是一条直线;或是一条曲线或是一条曲线; ?或是一个平面?或是一个平面,或是一个曲面或是一个曲面; ? 或

9、是一个立方体? 或是一个立方体,或是一个多形体或是一个多形体. 现在,是由五个术语所确定的一个五维空间,因此该方法 只能采用数据流图来表达各种 现在,是由五个术语所确定的一个五维空间,因此该方法 只能采用数据流图来表达各种“形态形态”的系统的系统. 数据流图又称为数据流图又称为DFD图,是一种描述数据变换的图形工具 ,它包含的元素可以是数据流、数据存储、加工、数据源 和数据潭等。例如, 图,是一种描述数据变换的图形工具 ,它包含的元素可以是数据流、数据存储、加工、数据源 和数据潭等。例如, 旅行社旅行社 订票单订票单 预 机 预 机 准 机 准 机 记 费用 航班 机票 记帐文件 航班目录 记

10、 费用 航班 机票 记帐文件 航班目录 帐单帐单 旅行社旅行社 5)过程指导5)过程指导 1建立系统的功能模型1建立系统的功能模型 -使用的工具为数据流图DFD-使用的工具为数据流图DFD 首先:建立系统环境图(顶层数据流图),确定系统边界首先:建立系统环境图(顶层数据流图),确定系统边界 继之:自顶向下,逐步求精,建立系统的层次数据流图继之:自顶向下,逐步求精,建立系统的层次数据流图 2 建立数据字典2 建立数据字典 -使用的工具为结构符-使用的工具为结构符 定义数据流定义数据存储定义数据流定义数据存储 定义数据项定义数据项 3 给出加工小说明:3 给出加工小说明:集中描述一个加工“做什么”

11、,即加 工逻辑,也包括其它一些与加工有关的信息,如执行条件、 先级、执行频率、出错处理等。 集中描述一个加工“做什么”,即加 工逻辑,也包括其它一些与加工有关的信息,如执行条件、 先级、执行频率、出错处理等。 -使用的工具可以为判定表判定树-使用的工具可以为判定表判定树 问题:建立一个简化的商业自动化系统,其中:问题:建立一个简化的商业自动化系统,其中: 营业员通过该系统记录每日销售的商品(营业员通过该系统记录每日销售的商品(商品名,商品 编号,单价,数量,销售时间);); 收款员通过该系统记录收到的现金数额以及购物余额;收款员通过该系统记录收到的现金数额以及购物余额; 商店经理每日统计销售额

12、,并在必要时查看某种商品的商店经理每日统计销售额,并在必要时查看某种商品的 销售情况(商品名,商品编码,金额)销售情况(商品名,商品编码,金额) 结构化分析方法应用实例结构化分析方法应用实例 简化的商业自动化系简化的商业自动化系 营业员 收款员 经 理 销售的商 现金 现金余 销售情 日销售 查询要 销售的商 现金 现金余 销售情 日销售 查询要 1建立系统的功能模型 首先:建立系统环境图,确定系统边界 -顶层DFD 1建立系统的功能模型 首先:建立系统环境图,确定系统边界 -顶层DFD 其中:1 数据流为:销售的商品,日销售额等其中:1 数据流为:销售的商品,日销售额等 3个输入流,3个输出

13、流3个输入流,3个输出流 数据源为:营业员,经理,收款员数据源为:营业员,经理,收款员 数据潭为:经理,收款员数据潭为:经理,收款员 2 加工名为:要建立的系统名字2 加工名为:要建立的系统名字 录入、修改或 删除商品信息 录入、修改 现金额, 并计算余额 查询商品销售情况 计算日销售额 31 2 继之:自顶向下,逐层分解继之:自顶向下,逐层分解 A、按人或部门的功能要求,将加工“打碎”, 形成: A、按人或部门的功能要求,将加工“打碎”, 形成: 注:需给每一加工编号;注:需给每一加工编号; B、”分派”数据流,形成:B、”分派”数据流,形成: 录入、修改或 删除商品信息 2 录入、修改 现

14、金额, 并计算余额 查询商品销售情况 计算日销售额 销售的商销售的商 现金 现金余 现金 现金余 查询要查询要 销售情 日销售 销售情 日销售 31 其中:要根据特定的加工要求进行分派;其中:要根据特定的加工要求进行分派; 保持与顶层数据流的一致;保持与顶层数据流的一致; 可以不引入数据源和数据潭。可以不引入数据源和数据潭。 录入、修改或 删除商品信息 录入、修改 现金额, 并计算余额 查询商品销售情况 计算日销售额 销售的商品销售的商品 现金额 现金余额 现金额 现金余额 查询要求查询要求 销售情况 日销售额 销售情况 日销售额 销售文件销售文件 1 2 3 C、引入文件,使之形成一个有机整

15、体系统:C、引入文件,使之形成一个有机整体系统: 注:到一个文件,既有输入流,又有输出流,则可简化为 ,并可不给出标识。 至此,体现精化,形成0层数据流图。 注:到一个文件,既有输入流,又有输出流,则可简化为 ,并可不给出标识。 至此,体现精化,形成0层数据流图。 查询商品销售情况 计算日销售额 查询要求查询要求 销售情况 日销售额 销售情况 日销售额 销售文件销售文件 3 继续A、B、C:自顶向下,逐层分解。例如:加工3继续A、B、C:自顶向下,逐层分解。例如:加工3 可分解为:可分解为: 判定要求 查询要求查询要求 3.1 统计销售情况 3.2 计算日销售额 销售文件销售文件 查询要求查询

16、要求2 查询要求查询要求1 销售情况 日销售额 销售情况 日销售额 加工3: *其中为什么要引入*其中为什么要引入 加工“判定要求”?加工“判定要求”? 2建立数据字典2建立数据字典 定义数据流定义数据存储定义数据项定义数据流定义数据存储定义数据项 引入:结构符| 引入:结构符| 用于定义数据结构用于定义数据结构 AAA BCB0C0B* (a)顺序结构)顺序结构(b)选择结构)选择结构 (c)重复结构)重复结构 引入:一些逻辑操作符用于定义数据结构引入:一些逻辑操作符用于定义数据结构 操作符含义描述 = + | ()() mn 等价于(定义为)等价于(定义为) 与(顺序结构)与(顺序结构) 重复(循环结构)重复(循环结构) 或(选择结构)或(选择结构) 任选任选 界域界域 数据字典数据字典: ?、数据流?、数据流: 销售的商品=商品名+商品编号+单价+数量+销售时间 现金额 = 余额 =日销售额=非负实数 查询要求=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

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