软件工程课件5 面向数据流的分析方法_第1页
软件工程课件5 面向数据流的分析方法_第2页
软件工程课件5 面向数据流的分析方法_第3页
软件工程课件5 面向数据流的分析方法_第4页
软件工程课件5 面向数据流的分析方法_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

15面向数据流的分析方法

2§5.1结构化分析概述

结构化分析方法,是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。是面向数据流自顶向下逐步求精进行需求分析的方法,它是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,描绘出满足功能要求的软件模型。

3㈠、绘制数据流图的顶层图,画出软件系统的范围。

学生购买教材管理系统学生购买教材管理系统购书申请书4㈡、理解当前的现实系统的工作流程,建立当前系统的“具体模型”。

要理解当前系统是怎么做的,并将现实中的事物用数据流图等形式表达出来。如:

学生1.张秘书购书申请2.王会计购书证明3.李出纳购书发票4.赵保管领书单学生书学生购买教材的具体模型5㈢、从“具体模型”抽象出当前系统的“逻辑模型”。

⒈目的:去粗取精。即除去“具体模型”中的非本质的因素,获得反映系统本质的“逻辑模型”。

⒉方法:反复问这些问题:“这个加工是否必须这样做?”、“这个文件是否必须这样组织?”6学生购买教材的逻辑模型学生1.审查有效性购书单2.开发票有效3.开领书单购书单发票4.发书领书单学生书7㈣、分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。

分三步进行:

⑴决定“变化的范围”。对当前系统的数据流图,沿着底层逐个检查每一个基本加工与相应在目标系统中的功能是否一样,不一样就属于“变化的部分”。这样当前系统的数据流图就被分成不变部分与变化的部分。只须重新分解变化的部分。

⑵将“变化的部分”看成是一个加工,将其已确定的输入输出数据流画出。

⑶借助“分解”技术,由外向里对“变化的部分”进行分析创造新系统。

8计算机售书系统的逻辑模型学生1.审查并开发票购书单2.开领书单发票3.发书领书单学生书9㈤、为目标系统的逻辑模型作补充和优化

⒈确定目标系统的人—机界面

⒉说明至今尚未详细考虑的一些细节

⑴出错处理:说明在每种出错情况下系统如何处理。

⑵系统的启动和结束:说明这个系统如何开始工作并进入稳定状态;说明结束工作的方式。

⑶系统的输入输出格式

⑷性能方面的要求10改进了的计算机售书系统模型学生1.审查并开发票购书单2.开领书单发票领书单学生无效书单11㈥、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

12§5.2数据流图

1.定义:反映客观现实问题的工作过程。

2.数据流图有四个基本成分组成:

⑴数据流:

⑵加工:

⑶文件:或

⑷数据流的源点和终点:

13学生学生8收集1分类4查询3付款7复审2报名5注销6产生发票函电注销数据报名数据付款数据查询数据付款单报名单回答通知单事务发票不合理不合理帐目课程学生学生课程帐目课程143.⑴数据流:由一组固定成分的数据组成。如:数据流“报名数据”由“姓名”、“年龄”、“性别”、“单位名”、“课程名”等成分组成。

①作用

②流向15④注意:

a.数据流与控制流不同。

b.数据流与物流不同。

16操作员检查合理性卡片取下一张卡片合理卡片不合理记帐顾客提货单货物17⑵加工

①作用:反映对数据进行某种操作

②命名:采用用户习惯用的且反映加工含义的名字,并加上编号18⑶文件

①作用:暂时保存数据

②命名:适当选择,便于理解

③流向:加工与文件之间数据流向

⑷源点与终点:反映数据的来源与归宿194.由外向里画数据流图

20步骤:

⑴画系统的输入输出

培训中心管理系统函电通知单21⑵画系统内部

将系统的输入和输出数据流用一连串加工连接起来。一般可以从输入端逐步画到输出端,也可以从输出端追溯到输入端;加工应处于数据流的组成或值发生变化的地方。

⑶画加工的内部

①如果加工内部还有一些数据流,则可将这个加工用几个子加工代替,并在子加工之间画出这些数据流

②先为数据流命名再为加工命名22⑷忽略琐碎的枝节

⑸随时准备重画235.分层数据流图

对于一个系统,特别是一个较大的复杂系统,一次性分解到位一般是不容易的,为了控制复杂性,SA方法采用了“分层”的技术,逐层分解,有控制地逐步增加细节24§5.3数据词典

数据词典作用与一般词典作用一致,是用来定义数据流图中的各个成份的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关因素的一致的定义和详细的描述。25一、词典条目的各种类型

数据流、文件、数据项(数据流分量或数据元素)、加工,前三个条目构成了数据词典,加工类条目就是“小说明”。261.数据流条目

①作用:定义某个数据流

②组成:列出该数据流的各组成数据项

例:报名单=姓名+单位名+年龄+性别+课程名

有些数据流的组成很复杂,要采用“由顶向下逐步分解”的方式来说明即有的数据项意义不明确,那么就再定义其一下层数据项,直到数据项的意义明确为止。

例:课程=课程名+教员+教材+课程表

课程表={星期几+第几节+教室}27③在定义数据流时,通常借助一些简单的符号,如:

+表示“与”或“和”即连接两个分量。 顺序型:以确定次序连接两个或多个分量(组成数据流的三种基本类型之一)

=等价于或定义为

{}下限上限或下限{}上限表示将括号中的项重复若干次。重复型:把指定的分量重复零次或多次(组成数据流的三种基本类型之二)。

例:发票={货名+数量+单价+总价}51

[|] 表示“或”。即选择括号中的某一项 选择型:从两个或多个元素中选取一个(组成数据流的三种基本类型之三)

北京

例:在飞机订票系统中,城市名=[北京|武汉|广州]或城市名=武汉 广州

( )表示“可选”,即括号中的项可能没有 其实是{}10

282.文件条目

①作用:定义文件

②组成:列出文件记录的组成数据项以及文件的组织方式。

定期帐目=帐号+户名+地址+款额+存期

组织:按帐号递增次序排序即在属性“帐号”上建一个索引

293.数据项条目

①作用:定义某个数据项。大多数数据项较简单,不说自明,无需定义,有些数据项的特殊含义需定义。

②组成:该数据项的值类型、允许值、峰值等。

例:帐号=00000~99999或00000…99999

存期=[1|2|3]或[1…3]

30二、词典条目的实例

在这个数据词典条目中,还只记录了最基本的一些内容,如组成,取值范围,名称,别名,组织,注释等,除了这些内容之外在数据词典的条目中还可记录象数据的数量,简述,峰值,以及数据的种种限制条件等。31§5.4小说明

一、对加工进行描述

1.原则:尽量做到对每个加工详细描述,主要描述“做什么”,包括加工逻辑、激发条件、优先级别、执行频率、出错处理等。

322.加工逻辑:用户对加工的逻辑要求,体现在输入数据流与输出数据流之间的逻辑关系。如:“开发票”加工

加工逻辑:是输出数据流“发票”和输入数据流“订货单”、文件“价目”之间的逻辑关系。

333.描述加工逻辑的方法

自然语言,半自动化方式,形式化方式

⑴自然语言:用通常的语言来描述事件。易理解但精确度差,需较大篇幅的文字组织处理。

⑵半形式化方式:结构化语言、判定表、判定树

结构化(自然)语言。

⑶形式语言:严格精确,不易理解。34二、结构化语言

1.结构化英语

⑴语法:分成外层和内层两大层

①外层语法描述控制结构:顺序、分支、循环,这些控制结构将加工中的各个操作连接起来

35用结构化语言描述的控制结构选择结构如果〈条件〉〈策略〉if〈condition〉〈policy〉如果〈条件〉

则〈“则”策略〉

否则〈“否则”策略〉if〈condition〉then〈“then”policy〉else〈“else”policy〉按下列情况选择策略:情况1〈条件〉〈策略1〉

...情况n〈条件〉〈策略n〉switch:{case〈condition1〉〈case1policy〉

...

case〈conditionn〉〈casenpolicy〉}

循环结构对每〈条件〉〈策略〉while〈condition〉〈policy〉重复以下

〈策略〉直至〈条件〉do〈policy〉while〈condition〉36②内层语法没有什么限制。一般地,具有以下特点:

语态:只有祈使句一种。

词汇:名词是词典中的词。避免使用一些空洞的词、形容词、副词等。可用一些运算符、关系符等。

372.结构化汉语

语法:参考结构化英语的思想,用带有一定结构的汉语来描写加工逻辑。

383.结构化语言虽无确定语法公式,但分析员在书写时下面两条原则应牢记:

⑴尽可能精确、避免二义性

⑵尽可能简单,使用户易于理解

39三、判定表

有一些不易用语言表达清楚或需要很大篇幅才能用语言表达清楚的加工。

例如,“检查订购单”的加工逻辑是:“如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需发出通知单”。

叙述的不简洁,不易理解,如下表所示。40金额状态>500未过期>500已过期≤500未过期≤500已过期发出批准单√√√发出提货单√√√发出通知单√41表示则一目了然,这个表格称为判定表。

1.作用:为说明条件和操作间的相互关系提供了一种规范的方式。

2.组成

条件桩条件条目操作桩操作条目42由四部分组成,其间用双线条或粗线条分开。

⑴条件桩(条件类别):列出决定一组条件的对象。如:金额状态

⑵条件条目(条件组合):列出各种可能的条件组合。如:>500未过期,>500已过期等四项

⑶操作桩:列出所有的操作或对其的抽象。如:发出批准单,发出提货单、发出通知单三项

⑷操作条目(操作执行):列出在对应的条件组合下所选的操作。如:√43四、判定树

判定树本质上与判定表是一样的,只不过判定树是用图形方式描述加工逻辑,特点是结构清晰,易读易懂。检查订购单金额>500金额≤500已过期已过期未过期未过期发出批准单、提货单发出批准单、提货单发出批准单、提货单和通知单44

到目前为止,可用语言、表格、图形等多种形式描述加工逻辑,也可将它们结合使用。已经具备了构造一部词典的技术了,下面讨论一下实现一部词典的步骤。

45五、词典的实现

1.为每一个要定义的名字准备一张卡片

2.在卡片上写上这个名字及其类型(即数据流、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论