第二部分 软件需求分析与建模结构化分析建模.ppt
《第二部分 软件需求分析与建模结构化分析建模.ppt》由会员分享,可在线阅读,更多相关《第二部分 软件需求分析与建模结构化分析建模.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软件工程软件工程方法与实践方法与实践(机械工业出版社)(机械工业出版社)高等院校计算机课程案例教程系列高等院校计算机课程案例教程系列窦万峰窦万峰编著编著1.1.现代软件工程现代软件工程(国家示范性软件学院系列教材国家示范性软件学院系列教材)张家浩张家浩/东南大学东南大学 机械工业出版社机械工业出版社 2009.12009.12.2.软件工程软件工程 理论与实践理论与实践 许家珆许家珆 曾翎曾翎 彭德中彭德中 编著编著 高等教育出版社高等教育出版社 2004.72004.73.3.软件工程软件工程-实践者的研究方法实践者的研究方法 (美)(美)Roger S.PressmanRoger S.P
2、ressman著著 郑人杰等译郑人杰等译 机械工业出机械工业出版社版社 2008.62008.6 4.4.Software Engineering,6th EditionSoftware Engineering,6th EditionSoftware Engineering,6th EditionSoftware Engineering,6th Edition Sommerville.I.(Sommerville.I.(影印版影印版)机械工业出版社机械工业出版社 2003.42003.4主要参考书:主要参考书:主要参考书:主要参考书:总总目目录录第第1 1章章 软件工程学概述软件工程学概述(2
3、 2学时)学时)第第2 2章章 软件过程软件过程(2 2学时)学时)第第3 3章章 软件过程模型软件过程模型(4 4学时)学时)第第4 4章章 案例研究案例研究(2 2学时)学时)第第5 5章章 软件需求分析过程软件需求分析过程(4 4学时)学时)第第6 6章章 结构化分析建模结构化分析建模(4 4学时)学时)第第7 7章章 面向对象分析面向对象分析(6 6学时)学时)第第8 8章章 软件设计软件设计(4 4学时)学时)第第9 9章章 结构化设计方法结构化设计方法(4 4学时)学时)总总目目录录第第1010章章 面向对象设计面向对象设计(4 4学时)学时)第第1111章章 软件实现软件实现(2
4、 2学时)学时)第第1212章章 软件测试软件测试(4 4学时)学时)第第1313章章 软件维护软件维护(2 2学时)学时)第第1414章章 软件项目管理软件项目管理(2 2学时)学时)第第1515章章 软件项目估算软件项目估算(1 1学时)学时)第第1616章章 软件项目计划与管理软件项目计划与管理(1 1学时)学时)第第6章章 结构化分析建模结构化分析建模6.1 分析模型概述分析模型概述 6.2 结构化需求分析结构化需求分析 6.3 面向数据的建模方法面向数据的建模方法 6.4 面向数据流的建模面向数据流的建模 6.5 案例分析案例分析6.6 实验要求及习题实验要求及习题需求分析的任务就是
5、准确地指出“软件目标产品必须做什么?”需求分析的一个重要过程就是需求建模的过程,是为最终用户所看到的系统建立一个概念模型。结构化分析方法是一种传统的系统建模技术分析模型分析模型分析模型的目的是为计算机系统提供必须的信息、功能和行为域的说明模型是对系统某个方面的抽象,抛弃了具体细节,对系统中最突出的特征作简化,可以演化6.1 6.1 分析模型概述分析模型概述学生在学校教材科购买教材的系统的例子学生在学校教材科购买教材的系统的例子一、通过对现实环境的研究,获得系统具体模型。购书购书发票发票购书单购书单书书购书购书证明证明赵赵秘秘书书购书购书申请申请钱钱会会计计孙孙出出纳纳李李保保管管学学生生学学生
6、生学生在学校教材科购买教材的系统的例子学生在学校教材科购买教材的系统的例子二、去掉具体模型的非本质因素,抽取出当前系统的逻辑模型发票领书单书有效单有效性购书单开票开领书单发书学生学生学生在学校教材科购买教材的系统的例子学生在学校教材科购买教材的系统的例子四、对目标系统进行完善和补充,写出完整的需求说明。五、对需求说明进行复审,直到确认文档齐全并符合用户的全部需求为止。发票领书单审查并开发票购书单开领书单无效书单学生学生分析模型元素:基于场景的元素:用例图基于过程的活动序列的元素:活动图基于类的元素:类图行为元素:状态图面向信息流的元素:DFD(数据流程图)、IPO基于数据的元素:ERD6.1
7、6.1 分析模型概述分析模型概述分析模式分析模式分析模式:在软件开发领域,在特定的应用领域内某些事物在所有的项目中重复发生。分析模式可以使用标准的模板来表现,模板采用模式名、目的、动机、外因和环境、解决方案、结论、设计、已知应用和相关模式的格式描述分析模式信息。例如,ERP(EnterpriseResourcePlan)软件就是一个高层分析模式,形成一套开发ERP软件的分析模式。结构化分析模式分为:数据流分析模式、数据分析模式分析模型的目标与原则分析模型的目标与原则分析模型必须实现三个主要目标:描述客户需要什么;为软件设计奠定基础;定义在软件完成后可以被确认的一组需求。分析模型的所有元素都可以
8、直接映射到设计模型创建分析模型时应遵循的原则:模型应关注在问题或业务域内可见的需求,抽象的级别相对高;分析模型的每个元素都应能增加对软件需求的整体理解,并提供对信息域、功能和系统行为的深入理解;基于基础机构和其他非功能的模型应推延到设计阶段再考虑;最小化整个系统内的关联;确认分析模型为所有共利益者都带来价值;尽可能保持模型简洁6.2结构化需求分析结构化需求分析用户需求一般用自然语言描述系统需求必须用较专业的方式来描述:建模模型是软件设计的基础,也是创建规约的基础需求分析原则:必须表示和理解问题的信息域;必须定义软件将完成的功能;必须表示软件的行为(作为外部事件的结果);必须划分描述信息、功能和
9、行为的模型,从而使得可以以层次的方式揭示细节;分析过程应该从要素信息移向细节实现。当前系统当前系统模型化模型化目标系统目标系统物理模型物理模型具体化具体化物理模型物理模型抽象化抽象化逻辑模型逻辑模型实例化实例化逻辑模型逻辑模型做什么做什么导导出出理理解解需需求求表表达达需需求求结构化需求分析步骤结构化需求分析步骤在需求工程中,分析员创建系统模型,使用精化的软件分解模型,建造软件处理的数据、功能和行为模型,为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型,以及通过需求规格说明文档为开发者和客户提供软件质量评估的依据等。结构化分析方法结构化分析方法结构化分析(SA,Structure
10、dAnalysis)方法是20世纪70年代,由E.Yourdon等人倡导的一种适用于大型数据处理系统的、面向数据流的需求分析方法。结构化需求分析方法指导性原则:在开始建立分析模型之前先理解问题。开发模型,使用户能够了解将如何进行人机交互(使用原型技术)。记录每个需求的起源和原因,保证需求的可追踪性和可回溯性。使用多个需求分析视图,建立数据、功能和行为模型。给需求赋予优先级,优先开发重要的功能,提高开发生产效率。删除含糊性,通过复审发现问题。结构化分析模型结构化分析模型系统模型从以下不同的角度表述系统:系统模型从以下不同的角度表述系统:从外部来看,它是对系统分析上下文或系统环境建模;从外部来看,
11、它是对系统分析上下文或系统环境建模;从行为上看,它是对系统行为建模;从行为上看,它是对系统行为建模;从结构上看,它是对系统的体系结构和系统处理的数从结构上看,它是对系统的体系结构和系统处理的数据结构建模。据结构建模。结构化的需求分析模型有:结构化的需求分析模型有:系统行为模型:系统行为模型:数据流模型,用来描述系统中的数据处理过程数据流模型,用来描述系统中的数据处理过程状态转换模型,用来描述系统如何对事件做出响应状态转换模型,用来描述系统如何对事件做出响应实体实体关系模型:关系模型:关心的是寻找系统中的数据及其之关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。间的关系,却不关
12、心系统中包含的功能。结构化分析模型结构结构化分析模型结构数据字典实体-关系图数据流图加工规约数据对象描述状态转换图控制规约数据字典(数据字典(DD):):包含了软件包含了软件使用或生产的所有数据对象描使用或生产的所有数据对象描述的中心库。述的中心库。数据流图(数据流图(DFD):):一是指明一是指明数据在系统中移动时如何被变数据在系统中移动时如何被变换,二是描述对数据流进行变换,二是描述对数据流进行变换的功能和子功能。换的功能和子功能。实体实体关系图(关系图(E-RD):):描述描述数据对象间的关系,用来进行数据对象间的关系,用来进行数据建模活动的记号。数据建模活动的记号。状态转换图(状态转换
13、图(STD):):指明作指明作为外部事件的结果,系统将如为外部事件的结果,系统将如何动作。何动作。在实体在实体关系图中每个数据对关系图中每个数据对象的属性可以使用数据对象来象的属性可以使用数据对象来描述。描述。在数据流图中出现的每个加工在数据流图中出现的每个加工/处理的功能描述包含在工规约处理的功能描述包含在工规约中。中。软件控制方面的附加信息包含软件控制方面的附加信息包含在控制规约中。在控制规约中。6.3面向数据的建模方法面向数据的建模方法分析建模通常开始于数据建模系统建模的一个重要方面就是要定义系统处理的逻辑结构最广泛采用的数据建模技术是实体-关系模型(ERD),是指以实体、关系、属性三个
14、基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。6.3面向数据的建模方法面向数据的建模方法实体关系模型可用ERD(Entity-RelationshipsDiagram实体关系图)来表示:实体:是指客观存在,并能相互区别的事物。只封装了数据,用矩形或圆角矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。关联:描述了实体之间的联系,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)就是指存在的三种关系(一对一,一对多,多对多)。比如老师给学生授课存在授课关系,学生选课存在选课关系。实体属性:定义实体
15、的性能,用矩形或表,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。基数:实体X出现的次数与实体Y的多少次出现相关实例分析:出卷系统实例分析:出卷系统N包含题目出卷要求依据抽取试题试卷11111试卷由一组题目组成,而题目来自试卷库中被挑选的题目。试卷根据出卷要求选择项目。这些实体的属性给出如下:试题:编号、科目、题干、题干图、答案、答案图、题型、知识点、难度、抽取时间试卷:编号、科目、出卷人、年级、性质、总分、难度、题目*出卷要求、总分、总难度、总题型、总知识点题目:编号、题干、题干图、答案、答案图、题型、知识点、难度实例分析:图书馆系统实例分析:图书馆系统1借书记录
16、预约记录借/还/续借1M1NM包含预约借书者图书书目实例分析:图书馆系统实例分析:图书馆系统实体:图书、借书者、管理员、借书目录、预约记录、书目属性给出如下:借书者:借书者编号、姓名、性别、借书数、最大借书数、罚金金额、有限期图书:图书号、书目号书目:书目号、书名、作者、出版社、丛书名、收藏数、在馆数、预约数借书记录:图书号、借书者编号、借出日期、应还日期、续借次数预约记录:书目号、借书者编号、预约日期实例分析:实例分析:POS机系统机系统1NM111包含付款描述销售支付商品描述商品实体实体有销售、支付、商有销售、支付、商品、商品描述品、商品描述关联:关联:销售包含一组商品;销售包含一组商品;
17、每个商品都有相应的每个商品都有相应的描述信息;描述信息;每个支付对应一个销每个支付对应一个销售。售。实体的属性:实体的属性:销售:编号、总价、销售:编号、总价、1商品商品*,日期,日期支付:编号、支付客户、找零、销售编号支付:编号、支付客户、找零、销售编号商品:编号、数量商品:编号、数量商品描述:名称、产地、厂家、单价商品描述:名称、产地、厂家、单价6.4面向数据流的建模面向数据流的建模面向数据流的建模是结构化需求分析方法之一采用自顶向下逐层分解,描绘满足用户要求的软件模型表示:数据流图:描述系统处理过程数据字典:模型中的数据信息集合状态转换图:描述系统对内部或外部事件响应的行为模型数据流图(
18、DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它。它是分析员与用户之间极好的通信工具,也是今后进行软件设计的很好的出发点。数据流图数据流图符号数据流图符号数据源点或终点数据变换或数据加工数据存储数据流:或或或基本符号基本符号数据流与数据加工之间的关系数据流与数据加工之间的关系处理并不一定是一个程序处理并不一定是一个程序。一个处理框可以代。一个处理框可以代表一系列程序、单个程序或者程序的一个模块;甚表一系列程
19、序、单个程序或者程序的一个模块;甚至可以代表人工处理过程。至可以代表人工处理过程。一个数据存储也并不等同于一个文件,它可以一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记表示一个文件、文件的一部分、数据库的元素或记录的一部分等。录的一部分等。数据存储和数据流都是数据数据存储和数据流都是数据,仅仅所处的状态,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。处于运动中的数据。通常在数据流图中忽略出错处理,也不包括诸通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理。如打开
20、或关闭文件之类的内务处理。数据流图的层次结构数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。检查和修改数据流图的原则检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺
21、一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流顾顾客客出出版版社社验证验证订单订单汇总汇总订单订单订单订单出版社出版社订单订单图书目录文件图书目录文件顾客档案顾客档案待处理订单文件待处理订单文件正确正确订单订单一批一批订单订单出版社档案文件出版社档案文件订货存根文件订货
22、存根文件画图步骤画图步骤 :1 1、确定外部实体及输入、输出数据流。、确定外部实体及输入、输出数据流。2 2、确定分解顶层的加工。、确定分解顶层的加工。3 3、确定使用的文件。、确定使用的文件。4 4、用数据流将各部分连接起来,形成数据封闭。、用数据流将各部分连接起来,形成数据封闭。注意:标注各加工框及数据流名称。注意:标注各加工框及数据流名称。例例1 1:图书预定系统(:图书预定系统(0 0层层DFDDFD图)图)画分层画分层DFDDFD图的方法图的方法 “先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体”通常可将这种分层的通常可将这种分层的DFDDFD图图,分为
23、顶层、中间层、底层分为顶层、中间层、底层 具体步骤:具体步骤:1.1.先确定系统范围,画出顶层的先确定系统范围,画出顶层的DFDDFD图。图。2.2.逐层分解顶层逐层分解顶层DFDDFD图,获得若干中间层图,获得若干中间层DFDDFD图。图。3.3.画出底层的画出底层的DFDDFD图。图。顶顶层层图图说说明明了了系系统统的的边边界界,即即系系统统的的输输入入和和输输出出数数据据流流,顶顶层层图图只只有有一一张张。底底层层图图由由一一些些不不能能再再分分解解的的加加工工组组成成,这这些些加加工工都都已已足足够够简简单单,称称为为基基本本加加工工。在在顶顶层层和和底底层层之之间间的的是是中中间间层
24、层。中中间间层层的的数数据据流流图图描描述述了了某某个个加工的分解,而它的组成部分又要进一步分解。加工的分解,而它的组成部分又要进一步分解。画各层画各层DFDDFD图时,图时,“由外向内由外向内”。X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1顶顶层层中中 间间 层层底底 层层先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体.0图图1图画分层画分层DFD图图2图图加工分解的原则加工分解的原则自然性:自然性:概念上合理、清晰;概念上合理、清晰;均均匀匀性性:理理想想的的分分解解是是将将一一个
25、个问问题题分分解解成成大大小小均均匀匀的的几几个部分;个部分;分分解解度度:一一般般每每一一个个加加工工每每次次分分解解最最多多不不要要超超过过个个子子加工加工,分解应分解到基本加工为止。分解应分解到基本加工为止。数据守恒与数据封闭原则数据守恒与数据封闭原则 所所谓谓数数据据守守恒恒是是指指加加工工的的输输入入输输出出数数据据流流是是否否匹匹配配,即即每每一一个个加加工工既既有有输输入入数数据据流流又又有有输输出出数数据据流流。或或者者说说一一个加工至少有一个输入数据流,一个输出数据流。个加工至少有一个输入数据流,一个输出数据流。数据封闭是对整个系统而言。数据封闭是对整个系统而言。合理使用文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二部分 软件需求分析与建模结构化分析建模 第二 部分 软件 需求 分析 建模 结构 化分
限制150内