您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 【软件工程】面向数据流的需求分析方法
面向数据流的需求分析方法面向数据流的需求分析方法软件工程导论之用工程化的方法来开发软件用工程化的方法来开发软件2010-12-182序言序言�需求分析的任务�建模是实现需求分析任务的一种好的方法–有助于全面、系统地了解和分析用户的需求–有助于发现需求描述中不一致、错误和模糊性–确保软件SRS一致化、全面化、准确化�如何建立用户需求的模型?2010-12-183主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具2010-12-184基本原理和思想基本原理和思想�提出一种建模方法时需考虑的问题–用户需求的本质是什么?(原理)–表示机制以刻画和描述用户的需求?(语言)–建模的过程和步骤?(方法)2010-12-185面向数据流需求分析方法的产生面向数据流需求分析方法的产生�结构化软件开发方法–70年代EdwardYourdon,TomDeMarco等人提出–基本思想:“自顶向下,逐步求精”,“抽象和分解”�结构化软件开发方法–结构化需求分析+结构化软件设计+结构化程序设计�面向数据流分析方法(DFD)是结构化软件开发方法一员2010-12-186基本原理基本原理�用户需求:功能和行为,性能,设计约束�从信息处理的角度上看,应用系统的功能本质上对各种数据的加工和处理–如何表示各种数据的加工和处理?–怎样进行需求分析?2010-12-187主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具2010-12-188模型表示工具模型表示工具((((((((语言语言))))))))�数据流图�数据字典�小说明2010-12-189数据流图数据流图�数据流图是一种描述数据以及对数据进行加工转换的图形工具�一个数据流图主要由以下四个部分组成:�数据流�数据处理�外部实体�数据存储外部实体名称数据存储名称转换名称数据流名称2010-12-1810订票员订票员预定机票准备机票记帐订票单航班目录航班号航班费用帐单机票记帐数据库帐目数据流图例子数据流图例子2010-12-1811数据字典数据字典订票员订票员预定机票准备机票记帐订票单航班目录航班号航班费用帐单机票记帐数据库帐目2010-12-1812数据字典数据字典�面向数据流分析需要引进数据字典�数据字典以一种准确、简洁的方式对数据流图中数据流、外部实体、数据存储作说明�数据字典中的每个数据条目有以下内容:–名字(别名)–数据类型–使用该数据条目的简要说明–数据条目的解释性说明–其他补充说明:取值范围、缺省值、设计约束等–以它作为输入流或输出流的转换的列表2010-12-1813数据字典例子数据字典例子�订票单–名字:订票单–数据类型:航班日期+目的地+出发地+航班号–作为输出流的转换列表:–作为输入流的转换列表:预定机票–使用说明:必须给出各个数据项–解释性说明:无–缺省值:出发地=填写本地–……2010-12-1814小说明小说明订票员订票员预定机票准备机票记帐订票单航班目录航班号航班费用帐单机票记帐数据库帐目2010-12-1815小说明小说明�小说明准确、详细对数据流图中的各个转换的功能、性能和设计约束等作进一步的解释和说明;�需求分析人员通常用结构化的自然语言、判定树和判定表来书写小说明�小说明应该尽可能的简洁、清晰、易于理解2010-12-1816小说明例子小说明例子�记帐(1)将本次业务记录到中心数据库中(2)产生帐单(3)打印账单订票员订票员预定机票准备机票记帐订票单航班目录航班号航班费用帐单机票记帐数据库帐目2010-12-1817主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具2010-12-1818面向数据流的建模过程面向数据流的建模过程�DFD是系统中各处理子功能以及它们之间数据流动的图形表示--刻划系统功能和行为�DFD为描述和建模的工具和手段�如何利用DFD进行需求分析,描述用户需求?2010-12-1819面向数据流的分析方法面向数据流的分析方法�面向数据流分析方法运用了抽象和分解的技术.提供一些经验知识和规则以指导需求分析2010-12-1820步骤步骤1:1:1:1:1:1:1:1:建立顶级建立顶级DFD(1/2)DFD(1/2)DFD(1/2)DFD(1/2)DFD(1/2)DFD(1/2)DFD(1/2)DFD(1/2)�根据问题域与外部环境之间的相互关系定义问题域的边界,即问题域与外界环境之间的输入输出关系--得到最高抽象层次�顶级数据流图仅仅描述待开发的软件系统与外部环境之间的关系,因此在此DFD中,待开发的软件系统被抽象描述为一个转换2010-12-1821步骤步骤1:1:1:1:1:1:1:1:建立顶级建立顶级DFD(2/2)DFD(2/2)DFD(2/2)DFD(2/2)DFD(2/2)DFD(2/2)DFD(2/2)DFD(2/2)读者书库管理员读者管理员图书馆系统借阅图书命令读者管理命令书库管理命令2010-12-1822步骤步骤2:2:2:2:2:2:2:2:自顶向下,功能分解自顶向下,功能分解�自顶向下、逐步求精对顶级数据流图进行精化,生成下一级数据流图�对用户的需求描述进行语法分析–名词或名词短语构成潜在数据流、数据存储和外部实体–动词构成潜在的处理功能2010-12-1823案例分析案例分析::::::::顶级顶级(0)DFD(0)DFD(0)DFD(0)DFD(0)DFD(0)DFD(0)DFD(0)DFD读者书库管理员读者管理员图书馆系统借阅图书命令读者管理命令书库管理命令2010-12-1824案例分析案例分析::::::::精化生成一级精化生成一级(0.1)DFD(0.1)DFD(0.1)DFD(0.1)DFD(0.1)DFD(0.1)DFD(0.1)DFD(0.1)DFD图书借阅借阅图书命令读者管理命令书库管理命令书库管理读者管理读者信息库图书信息库图书信息读者信息2010-12-1825案例分析案例分析::::::::精化生成二级精化生成二级(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD(0.1.1)DFD读者管理命令命令分析增加读者删除读者更改读者信息读者基本信息读者标识读者标识读者信息读者信息图书借阅借阅图书命令读者管理命令书库管理命令书库管理读者管理读者信息库图书信息库图书信息读者信息2010-12-1826案例分析案例分析::::::::精化生成三级精化生成三级(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD(0.1.1.1)DFD判断读者是否存在读者信息库读者基本信息读者基本信息自动生成读者标识读者信息读者管理命令命令分析增加读者删除读者更改读者信息读者基本信息读者标识读者标识读者信息读者信息2010-12-1827步骤步骤2:2:2:2:2:2:2:2:自顶向下,功能分解自顶向下,功能分解((((((((续续))))))))�在分解、精化过程中,把生成的数据流、数据存储、外部实体在数据字典中加以定义,对底层转换在小说明中作出描述�什么是底层转换?–是一个转换–没有被进一步精化和分解2010-12-1828案例分析案例分析::::::::三级三级DFDDFDDFDDFDDFDDFDDFDDFD判断读者是否存在读者信息库读者基本信息读者基本信息自动生成读者标识读者信息2010-12-1829数据字典数据字典�读者基本信息–名字和别名:读者基本信息–数据类型:名字+读者类别+出生日期+系别+照片–限制:必须提供所有的信息–相关的转换列表:……�读者类别–名字和别名:读者类别–数据类型:教师|本科生|硕士研究生|博士研究生–限制:无–相关的转换列表:……2010-12-1830案例分析案例分析::::::::三级三级DFDDFDDFDDFDDFDDFDDFDDFD判断读者是否存在读者信息库读者基本信息读者基本信息自动生成读者标识读者信息2010-12-1831小说明小说明�判断读者是否存在–判断读者信息的合法性和有效性–查询读者信息库,判断该读者是否已经注册2010-12-1832需求分析原则需求分析原则�正确使用数据流图中的各个图形要素;如一个转换既有输入,又有输出�每个数据流、数据存储、外部实体在数据字典中均有定义,数据流图中最底层的转换必须在小说明中说明�父图和子图之间必须保持平衡,即父图中某一转换的输入、输出数据流和分解这个转换的子图的输入、输出数据流必须完全一致�精化过程适可而止2010-12-1833主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具2010-12-1834支持面向数据流分析的支持面向数据流分析的CASECASECASECASECASECASECASECASE工具工具�建模(数据流图,数据字典,小说明)�模型的存储,显示和检索�模型之间,数据条目之间的一致性检查�……2010-12-1835本讲小结本讲小结1.基本原理和思想2.建模语言(数据流、数据字典、小说明)3.建模方法(规则和经验)2010-12-1836思考题思考题�你认为面向数据流的需求分析方法能否自然,清晰,有效地获取和刻划用户需求?为什么?�面向数据流的需求分析方法是如何体现抽象、问题分解、建模等需求分析技术的?2010-12-1837Q&AQ&AQ&AQ&AQ&AQ&AQ&AQ&AAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringAnIntroductiontoSoftwareEngineeringPractice,Practice,andPracticePractice,Practice,andPracticePractice,Practice,andPracticePractice,Practice,andPractice
本文标题:【软件工程】面向数据流的需求分析方法
链接地址:https://www.777doc.com/doc-166818 .html