《软件工程第六章.ppt》由会员分享,可在线阅读,更多相关《软件工程第六章.ppt(27页珍藏版)》请在优知文库上搜索。
1、软软 件件 工工 程程第第6章章 面向数据的分析方法面向数据的分析方法 面向数据的需求分析方法的共同特点是:面向数据的需求分析方法的共同特点是: 1以信息对象及其操作为核心进行需求分析,以信息对象及其操作为核心进行需求分析,这一点与面向对象分析有相似之处。这一点与面向对象分析有相似之处。 2认为复合信息对象具有层次结构,并且可按认为复合信息对象具有层次结构,并且可按顺序、选择、重复三种结构分解为成员信息对象。顺序、选择、重复三种结构分解为成员信息对象。 3提供将层次信息结构映射为程序结构的机制,提供将层次信息结构映射为程序结构的机制,从而为软件设计奠定较好的基础。从而为软件设计奠定较好的基础。
2、 6.1 面向数据结构的系统开发方法面向数据结构的系统开发方法 6.2 Jackson系统开发方法系统开发方法第第6章章 面向数据的分析方法面向数据的分析方法6.1 面向数据结构的系统开发方法面向数据结构的系统开发方法DSSD也叫也叫Warnier-Orr方法。方法。1974年,法国人年,法国人J.D.Warnier提出了一种提出了一种LCP(Logical Construction of Programs,逻辑构造,逻辑构造程序)。他利用顺序、选择、重复三种结构表示信程序)。他利用顺序、选择、重复三种结构表示信息的层次分解,并指出可以从信息层次结构推导出息的层次分解,并指出可以从信息层次结构
3、推导出程序结构。程序结构。1981年年Ken Orr对对Warnier的工作进行了扩充,使其的工作进行了扩充,使其不仅包含了不仅包含了Warnier的信息层次结构,还引进了数据的信息层次结构,还引进了数据流和处理功能,从而发展成为一种需求分析方法。流和处理功能,从而发展成为一种需求分析方法。 本节首先介绍本节首先介绍Warnier图,然后以此为基础阐述图,然后以此为基础阐述DSSD方法,其主要内容包括:如何创建实体图、信方法,其主要内容包括:如何创建实体图、信息过程图及息过程图及Warnier Orr原型图。原型图。Warnier图图Warnier图又称为图又称为Warnier-Orr图,可以
4、表示数据结构和程图,可以表示数据结构和程序结构。考虑一个典型的报纸自动组版系统。报纸作为其序结构。考虑一个典型的报纸自动组版系统。报纸作为其中重要的信息对象,具有以下内容:中重要的信息对象,具有以下内容:1首版首版 1)标题新闻)标题新闻 2)国内新闻)国内新闻 3)本地新闻)本地新闻2商业金融版商业金融版 1)股市行情)股市行情 2)商业新闻)商业新闻 3)广告)广告3文化体育版文化体育版 1)文化、体育新闻)文化、体育新闻 2)散文)散文 3)新书评论)新书评论 该信息结构用该信息结构用Warnier图如图图如图6 1 1所示。所示。Warnier图图图图6 1 1 Warnier 图示例
5、图示例标题新闻标题新闻国内新闻国内新闻本地新闻本地新闻股市行情股市行情(0,1)商业新闻商业新闻广告广告(1,5)文化、体育新闻文化、体育新闻散文散文 新书评论新书评论文化体育版文化体育版首首 版版商业金融版商业金融版报报 纸纸Warnier图图花括号内的信息条目构成顺序关系;花括号内的信息条目构成顺序关系;花括号从左至右排列表示树型层次结构;花括号从左至右排列表示树型层次结构;符号符号“ ”表示不可兼具的选择关系;表示不可兼具的选择关系;“”表示表示“非非”。圆括号内的数字表示重复次数:圆括号内的数字表示重复次数: (1,n)表示重复结构,)表示重复结构, (1)或不标次数表示顺序结构,)或
6、不标次数表示顺序结构, (0,1)表示选择结构。)表示选择结构。 6.1.2 DSSD方法方法基于基于DSSD需求分析方法的主要步骤是:需求分析方法的主要步骤是: 1)标识与应用问题有关的实体。)标识与应用问题有关的实体。 2)创建一种类似于数据流图的信息)创建一种类似于数据流图的信息 过程图。过程图。 3)创建)创建Warnier Orr原型图。原型图。在详细介绍在详细介绍DSSD的具体步骤之前,首先用数据流的具体步骤之前,首先用数据流图描述一个图描述一个基于计算机的软件专卖店管理系统基于计算机的软件专卖店管理系统,见,见图图6 1 2。(该数据流图并非。(该数据流图并非DSSD的组成部分,
7、的组成部分,仅用于说明后面将要用到的应用问题实例。)仅用于说明后面将要用到的应用问题实例。)图图6 1 2 软件专卖店管理系统的数据流软件专卖店管理系统的数据流图图结算系统结算系统管理系统管理系统客户客户订单处理员接订单处理员接收并登录订单收并登录订单邮寄员提取、邮寄员提取、包装软件产品包装软件产品订单订单订单编号订单编号订单文件订单文件订单编号订单编号客户姓名、地址客户姓名、地址预定日期预定日期支票编号支票编号软件名称、编号软件名称、编号作者作者数量数量单价单价总价总价软件编号软件编号数量数量预定日期预定日期客户姓名、地址客户姓名、地址邮局邮局邮寄品邮寄品订单编号订单编号1标识实体图标识实体
8、图在在DSSD中,与应用问题有关的实体及它们之间的中,与应用问题有关的实体及它们之间的信息流用实体图表示。信息流用实体图表示。 具体地,分析人员可以通过对下述问题的回答来具体地,分析人员可以通过对下述问题的回答来生成实体图:生成实体图: 1)软件系统必须处理哪些信息项?)软件系统必须处理哪些信息项? 2)信息项的生产者和消费者分别是哪些实体?)信息项的生产者和消费者分别是哪些实体? 在上述应用问题中,有关的实体是:客户、订在上述应用问题中,有关的实体是:客户、订单处理员、邮寄员、银行、结算员、管理员和邮局,单处理员、邮寄员、银行、结算员、管理员和邮局,如图如图6 1 3(a)所示。)所示。 订
9、单处理员的实体图如图订单处理员的实体图如图6 1 3(b)所示。)所示。注:实体图中的结点表示实体、有向边表示实体之间的信息流。注:实体图中的结点表示实体、有向边表示实体之间的信息流。 (a)信息的生产者和消费者)信息的生产者和消费者 (b)实体图示例)实体图示例图图6 1 3客户客户邮寄员邮寄员订单订单处理员处理员银行银行结算员结算员管理员管理员邮局邮局软件名称、软件名称、编号编号地地 址址订单编号订单编号支票编号支票编号客户姓名客户姓名客户客户邮寄员邮寄员结算员结算员订订单单处处理理员员订单订单编号编号订单编号订单编号图图614 组合实体图示例组合实体图示例当所有实体的实体图都构造完成后,
10、将它们综合起当所有实体的实体图都构造完成后,将它们综合起来便形成整个目标软件系统的实体图。来便形成整个目标软件系统的实体图。客户客户邮寄邮寄员员软件产品库软件产品库结算员结算员管理员管理员银行银行订单信息订单信息= 客户姓名客户姓名+ 地址地址+ 软件名称与编码软件名称与编码+ 支票编号支票编号邮寄品邮寄品支支付付催催款款软件软件 产品产品月报表月报表收据收据存款存款订单编号订单编号订单编号订单编号订单信息订单信息订单编号订单编号订单订单处理员处理员2创建信息创建信息过程图过程图DSSD中的信息中的信息 过程图与数据流图的作用过程图与数据流图的作用类似,都是用来表示信息流及其处理功能类似,都是
11、用来表示信息流及其处理功能的。但是,信息的。但是,信息 过程图从每个实体的过程图从每个实体的输输出信息流出信息流开始,开始,逆向逆向寻找用于生成该输出寻找用于生成该输出信息的信息的输入信息流输入信息流及及相应的处理功能相应的处理功能。2创建信息创建信息过程图过程图图图6 1 5 信息信息 过程图示例过程图示例邮寄品邮寄品是由订单编号和软件产品经过邮寄品包是由订单编号和软件产品经过邮寄品包装过程生成的,订单编号又是由客户订购信息装过程生成的,订单编号又是由客户订购信息和订单编号过程生成的。和订单编号过程生成的。邮寄品邮寄品订单编号订单编号软件产品软件产品+邮寄品包装邮寄品包装订购信息订购信息+订
12、单编号过程订单编号过程3创建创建WarnierOrr原型图原型图DSSD方法要求分析人员在最后以表格形式给出主要的输出信方法要求分析人员在最后以表格形式给出主要的输出信息的组成元素(见图息的组成元素(见图6 1 6(a),然后将其精确地表示为),然后将其精确地表示为Warnier Orr图(见图图(见图6 1 6(b)邮寄品邮寄品客户姓名客户姓名地地 址址电电 话话总总 价价发件人姓名发件人姓名 地址地址 电话电话定单编号定单编号软件编号软件编号单单 价价数数 量量总总 价价(a)输出信息的表格表示)输出信息的表格表示 (b)WarnierOrr图图 图图616 姓名姓名 客户信息客户信息 地
13、址地址 电话电话 软件编号软件编号(1n)邮寄品邮寄品 单价单价(1n) 总价总价 姓名姓名 客户信息客户信息 地址地址 电话电话软件产品软件产品 信息信息6.2 Jackson系统开发方法系统开发方法1975年,英国人年,英国人M.A.Jackson提出了软件工程领域提出了软件工程领域中著名的中著名的Jackson方法,当时它只用于软件设计。方法,当时它只用于软件设计。1983年,年,Jackson又对它进行了多方面的扩充和完又对它进行了多方面的扩充和完善,最终发展成为一种需求分析方法。善,最终发展成为一种需求分析方法。其核心思想是:根据作用于数据的行为序列的结构其核心思想是:根据作用于数据
14、的行为序列的结构(顺序、选择、重复),建立目标软件系统的模型,(顺序、选择、重复),建立目标软件系统的模型,然后在软件设计阶段将模型转换为相应的程序结构。然后在软件设计阶段将模型转换为相应的程序结构。Jackson方法在需求分析阶段的主要步骤是:方法在需求分析阶段的主要步骤是: (1)标识实体与行为。)标识实体与行为。 (2)生成实体结构图。)生成实体结构图。 (3)创建软件系统模型。)创建软件系统模型。6.2.1 标识实体与行为标识实体与行为类似于面向对象分析中对象及其行为的识别,类似于面向对象分析中对象及其行为的识别,Jackson方法针对初步需求分析形成的用户方法针对初步需求分析形成的用
15、户需求描述进行语法分析:需求描述进行语法分析: 名词及名词短语名词及名词短语潜在的实体,潜在的实体, 相关的动词相关的动词构成实体的潜在行为。构成实体的潜在行为。分析人员根据应用问题的边界及自己的理解,分析人员根据应用问题的边界及自己的理解,决定对潜在实体和行为的取舍。决定对潜在实体和行为的取舍。 6.2.1 标识实体与行为标识实体与行为【例例6.1】某大学决定将分处两地的校园用直达交某大学决定将分处两地的校园用直达交通车连接起来。在每个校园设一个站,站内配置通车连接起来。在每个校园设一个站,站内配置一个按钮。学生通过按钮请求交通车搭载。交通一个按钮。学生通过按钮请求交通车搭载。交通车应尽快满
16、足学生的请求。空闲时,交通车停在车应尽快满足学生的请求。空闲时,交通车停在任意站等候。任意站等候。 分析人员可从分析人员可从“大学大学”、“校园校园”、“交通交通车车”、“车站车站”、“学生学生”、“按钮按钮”等名词中等名词中选取与应用问题相关的实体:选取与应用问题相关的实体:“交通车交通车”、“车车站站”、“按钮按钮”。与它们有关的行为是:。与它们有关的行为是:“到到站站”、“离站离站”、“按键按键”。“等候等候”和和“运行运行”可以作为可以作为“交通车交通车”的状态。的状态。6.2.2 生成实体结构图生成实体结构图在在Jackson方法中,实体结构是指实体在时间坐标系方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以中的行为序列。这种序列以顺序顺序、选择选择和和重复重复三种结三种结构进行复合。构进行复合。Jackson给出的实体结构图的表示机制给出的实体结构图的表示机制如图如图6 2 1所示。其中的子结点既可以是行为,也所示。其中的子结点既可以是行为,也可以是子实体。在后一种情况下,子实体应该继续分可以是子实体。在后一种情况下,子实体应该继续分解,不能作为实体结构图的叶结