软件工程第3章结构化分析课件

上传人:阳*** 文档编号:100737882 上传时间:2022-06-03 格式:PPT 页数:50 大小:479KB
收藏 版权申诉 举报 下载
软件工程第3章结构化分析课件_第1页
第1页 / 共50页
软件工程第3章结构化分析课件_第2页
第2页 / 共50页
软件工程第3章结构化分析课件_第3页
第3页 / 共50页
资源描述:

《软件工程第3章结构化分析课件》由会员分享,可在线阅读,更多相关《软件工程第3章结构化分析课件(50页珍藏版)》请在装配图网上搜索。

1、软件工程第3章结构化分析软件工程第3章结构化分析 为了开发出真正满足用户需求的软件产品,首先为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。序只会给用户带来失望,给开发者带来烦恼。 传统的软件工程方法学采用结构化分析传统的软件工程方法学采用结构化分析(Structured Analysis

2、 ,SA)(Structured Analysis ,SA)技术完成需求分析工作技术完成需求分析工作。软件工程第3章结构化分析软件工程第3章结构化分析 需求分析是发现、求精、建模、规格说明和复审需求分析是发现、求精、建模、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题,也就是说,需求角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地分析的第一步是尽可能准确地了解用户当前的情况和了解用户当前的情况和需要解决的问题。需要解决的问题。 分析员对用户提出的初步要求应该反复求精多次分析员对用户

3、提出的初步要求应该反复求精多次细化,才能充分理解用户的需求,得出对目标系统的细化,才能充分理解用户的需求,得出对目标系统的完整、准确和具体的要求。完整、准确和具体的要求。 软件工程第3章结构化分析 为了更好地理解问题,人们常常采用建立模型的为了更好地理解问题,人们常常采用建立模型的方法。所谓模型,就是为了理解事物而对事物做出的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组模型由一组图形符号和组织这些符号的规则组成。织这些符号的规则组成。结结构化分析就是一种建立模型的活动,通常建

4、立数据模构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。型、功能模型和行为模型等三种模型。 除了用分析模型表示软件需求之外,还要写出准除了用分析模型表示软件需求之外,还要写出准确的软件需求规格说明。模型既是软件设计确的软件需求规格说明。模型既是软件设计的基础,的基础,也是编写软件规格说明的基础。也是编写软件规格说明的基础。软件工程第3章结构化分析 在分析软件需求和编写软件规格说明的过程中,在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不软件开发者和软件用户都起着关键的、必不可少的作可少的作用。用。 用户与开发者之间需要通信、沟通的

5、内容非常多,用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细工作,应该采用行之有效的通信技术,集中精力过细工作,而且对需求分析的结果而且对需求分析的结果( (分析模型和规格说明分析模型和规格说明) )必须严必须严格审查。格审查。软件工程第3章结构化分析 尽管目前存在许多不同的结构化分析方法,但是,尽管目前存在许多不同的结构化分析方法,但是,所有这些分析方法都遵守下述准则。所有这

6、些分析方法都遵守下述准则。 必须理解和表示问题的信息域,根据这条准则必须理解和表示问题的信息域,根据这条准则应该建立数据模型。应该建立数据模型。 必须定义软件应完成的功能,这条准则要求建必须定义软件应完成的功能,这条准则要求建立功能模型。立功能模型。 必须表示作为外部事件结果的软件行为,这条必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型。准则要求建立行为模型。 必须对描述信息、功能和行为的模型进行分解,必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。用层次的方式展示细节。 分析过程应该从要素信息移向实现细节。分析过程应该从要素信息移向实现细节。软件工程第3章结构化

7、分析 软件需求分析总是从两方或多方之间的通信开始。软件需求分析总是从两方或多方之间的通信开始。用户面临的问题需要用基于计算机的方案来解决;开用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。但是,正如前面已经这样就产生了相互通信的需求。但是,正如前面已经讲过的,从开始通信到真正相互理解的道路通常是充讲过的,从开始通信到真正相互理解的道路通常是充满坎坷的。良好的通信技术有助于加快理解的过程。满坎坷的。良好的通信技术有助于加快理解的过程。 3.2.1 3.2.1 访谈访谈 访谈访谈(

8、 (或称为会谈或称为会谈) )是最早开始运用的获取用户需是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。分析技术。软件工程第3章结构化分析 访谈有两种基本形式,分别是正式的和非正式的访谈有两种基本形式,分别是正式的和非正式的访谈。在正式的访谈中,系统分析员将提出一些事先访谈。在正式的访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多种类、雇用的销售人员数目以及信息反馈时间应该多快等。在非正式的访谈

9、中,将提出一些可以自由回答快等。在非正式的访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不例如,询问用户为什么对目前正在使用的系统感到不满意。满意。软件工程第3章结构化分析 当需要调查大量人员的意见时,向被调查的人员当需要调查大量人员的意见时,向被调查的人员分发调查表是一个十分有效的做法。分发调查表是一个十分有效的做法。 在对用户进行访谈的过程中使用情景分析技术往在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用往非常有效。所谓情景分析就是对

10、用户运用目标系统目标系统解决某个具体问题的方法和结果进行分析。解决某个具体问题的方法和结果进行分析。软件工程第3章结构化分析 3.2.2 简易的应用规格说明技术简易的应用规格说明技术 这种方法提倡用户与开发者密切合作,共同标识这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。今天,简易的应用规格说明技术已经成基本的需求。今天,简易的应用规格说明技术已经成为信息系统界使用的主流技术。为信息系统界使用的主流技术。 尽管存在许多不同的简易应用规格说明方法,但尽管存在许多不同的简易应用规格说明方法,但是它们

11、遵循的基本准则是相同的。是它们遵循的基本准则是相同的。 在中立地点举行由开发者和用户双方出席的会在中立地点举行由开发者和用户双方出席的会议。议。 制定准备会议和参加会议的规则。制定准备会议和参加会议的规则。软件工程第3章结构化分析 提出一个议事日程,这个日程应该足够正式以提出一个议事日程,这个日程应该足够正式以便能够涵盖所有要点,同时这个日程又应该足够非正便能够涵盖所有要点,同时这个日程又应该足够非正式,以便鼓励自由思维。式,以便鼓励自由思维。 由一个由一个“协调人协调人”来主持会议,他既可以是用来主持会议,他既可以是用户也可以是开发者还可以是从外面请来的人。户也可以是开发者还可以是从外面请来

12、的人。 使用一种使用一种“定义机制定义机制”( (例如,工作表、图表例如,工作表、图表等等) )。 目标是标识问题、提出解决方案要素、商讨不目标是标识问题、提出解决方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的同的方法以及在有利于实现目标的氛围中指定初步的需求。需求。软件工程第3章结构化分析 3.2.3 软件原型软件原型 构建原型的要点是,它应该实现用户看得见的功构建原型的要点是,它应该实现用户看得见的功能能( (例如屏幕显示或打印报表例如屏幕显示或打印报表) ),省略目标系统的,省略目标系统的“隐隐含含”功能功能( (例如修改文件例如修改文件) )。 快速原型应该具备的第一个

13、特性是快速原型应该具备的第一个特性是“快速快速”。快。快速原型的目的是尽快向用户提供一个可在计算机上运速原型的目的是尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系行的目标系统的模型,以便使用户和开发者在目标系统应该统应该“做什么做什么”这个问题上这个问题上尽可能快地达成共识。尽可能快地达成共识。软件工程第3章结构化分析 快速原型应该具备的第二个特性是快速原型应该具备的第二个特性是“容易修改容易修改”。如果原型的第一版不是用户所需要的,就必须根据用如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更户的意见迅速地修改它,构建

14、出原型的第二版,以更好地满足用户的需求。在实际开发软件产品时,好地满足用户的需求。在实际开发软件产品时,“修修改改试用试用反馈反馈”的过程可能重复多遍,如果修改耗的过程可能重复多遍,如果修改耗时过多,势必延误软件开发时间。时过多,势必延误软件开发时间。软件工程第3章结构化分析 3.3.1 3.3.1分析建模分析建模 结构化分析实质上是一种创建模型的活动。通过结构化分析实质上是一种创建模型的活动。通过需求分析而建立的模型必须达到下述的三个基本目标。需求分析而建立的模型必须达到下述的三个基本目标。 描述用户的需求。描述用户的需求。 为软件设计工作奠定基础。为软件设计工作奠定基础。 定义一组需求,一

15、旦开发出软件产品之后,就定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。可以用这组需求为标准来验收该产品。 为了达到上述这些目标,在结构化分析过程中导为了达到上述这些目标,在结构化分析过程中导出的分析模型的形式,如图出的分析模型的形式,如图3.1所示。所示。软件工程第3章结构化分析图3.1 分析模型的结构软件工程第3章结构化分析 3.3.2 3.3.2 软件需求规格说明软件需求规格说明 通过需求分析除了创建分析模型之外,还应该写通过需求分析除了创建分析模型之外,还应该写出软件需求规格说明,它是分析阶段的最终成果。下出软件需求规格说明,它是分析阶段的最终成果。下面给出的

16、简略大纲可以作为软件需求规格说明的框架。面给出的简略大纲可以作为软件需求规格说明的框架。 .引言引言 A .A .系统参考文献系统参考文献 B .B .整体描述整体描述 C .C .软件项目约束软件项目约束软件工程第3章结构化分析.信息描述信息描述 A .A .信息内容信息内容 B .B .信息流信息流 1 .1 .数据流数据流 2 .2 .控制流控制流.功能描述功能描述 A .A .功能分解功能分解 B .B .功能描述功能描述 1 .1 .处理说明处理说明 2 .2 .限制限制 3 .3 .性能需求性能需求 4 .4 .设计约束设计约束 5 .5 .支撑图支撑图软件工程第3章结构化分析 C

17、 . C .控制描述控制描述 1 .1 .控制规格说明控制规格说明 2 .2 .设计约束设计约束ZK)ZK).行为描述行为描述 A .A .系统状态系统状态 B .B .事件和动作事件和动作.确认标准确认标准 A .A .性能范围性能范围 B .B .测试种类测试种类 C .C .预期的软件响应预期的软件响应 D .D .特殊考虑特殊考虑.参考书目参考书目.附录附录软件工程第3章结构化分析 数据模型包含三种相互关联的信息:数据对象、数据模型包含三种相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间相互连接的关描述数据对象的属性及数据对象彼此间相互连接的关系。系。 3.4.13.4.1

18、数据对象数据对象 数据对象是对软件必须理解的复合信息的表示。数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属所谓复合信息是指具有一系列不同性质或属性的事物,性的事物,因此,仅有单个值的事物因此,仅有单个值的事物(例如宽度例如宽度)不是数据对象。不是数据对象。软件工程第3章结构化分析 3.4.2 3.4.2 属性属性 属性定义了数据对象的性质。属性定义了数据对象的性质。 应该根据对所要解决的问题的理解,来确定特定应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。数据对象的一组合适的属性。 3.4.3 3.4.3 关系关系 数据对象彼此之间相互连接

19、的方式称为关系,也数据对象彼此之间相互连接的方式称为关系,也称为联系。称为联系。 (1) 一对一联系一对一联系(1 1) (2) 一对多联系一对多联系(1 N) (3) 多对多联系多对多联系(M N) 联系也可能有属性。联系也可能有属性。软件工程第3章结构化分析 3.4.4 实体实体关系图的符号关系图的符号 通常,使用实体通常,使用实体关系图关系图(Entity(EntityRelationship Relationship Diagram)Diagram)来建立数据模型,从而可以满足来建立数据模型,从而可以满足3 31 1节中讲节中讲述的第一条分析准则。可以把实体述的第一条分析准则。可以把实

20、体关系图简称为关系图简称为ERER图,相应地,用图,相应地,用ERER图描绘的数据模型也可以称为图描绘的数据模型也可以称为ERER模模型。型。 ERER图中包含了实体图中包含了实体( (即数据对象即数据对象) )、关系和属性等、关系和属性等三种基本成分,通常用矩形框代表实体,用连接相关三种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实实体的菱形框表示关系,用椭圆形或圆角矩形表示实体体( (或关系或关系) )的属性,并用的属性,并用无向边把实体无向边把实体(或关系或关系)与其属与其属性连接起来。例如,图性连接起来。例如,图3.2是某学校教学管理的是某学校

21、教学管理的ER图。图。软件工程第3章结构化分析图3.2 某校教学管理 ER 图软件工程第3章结构化分析 当信息在软件中移动时,它将被一系列当信息在软件中移动时,它将被一系列“变换变换”所修改。数据流图所修改。数据流图(DFD)(DFD)是一种图形化技术是一种图形化技术,它描绘信,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。息流和数据从输入移动到输出的过程中所经受的变换。 3.5.1 3.5.1 数据流图符号数据流图符号 如图如图3.3(a)3.3(a)所示,数据流图有四种基本符号:正所示,数据流图有四种基本符号:正方形方形( (或立方体或立方体) )表示数据的源点或终点;圆角矩形表

22、示数据的源点或终点;圆角矩形( (或或圆形圆形) )代表变换数据的处理;开口矩形代表变换数据的处理;开口矩形( (或两条平行横或两条平行横线线) )代表数据存储;箭头表示数据流,即特定数据的流代表数据存储;箭头表示数据流,即特定数据的流动方向。注意,数据流与程序流程图中用箭头表示的动方向。注意,数据流与程序流程图中用箭头表示的控制流有本质控制流有本质不同,千万不要混淆。不同,千万不要混淆。软件工程第3章结构化分析图3.3 数据流图的符号软件工程第3章结构化分析 3.5.2 3.5.2 例子例子 下面通过一个简单例子具体说明怎样画数据流图。下面通过一个简单例子具体说明怎样画数据流图。 假设一家工

23、厂的采购部每天需要一张定货报表,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系统。当终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次某种零件的库

24、存数量少于库存量临界值时就应该再次定货。定货。 数据流图有四种成分:源点或终点、处理、数据数据流图有四种成分:源点或终点、处理、数据存储和数据流。因此,画出上述定货系统的存储和数据流。因此,画出上述定货系统的数据流图数据流图可采用以下步骤。可采用以下步骤。软件工程第3章结构化分析 从问题描述中提取数据流图的四种成分。从问题描述中提取数据流图的四种成分。 接下来考虑处理接下来考虑处理 最后,考虑数据流和数据存储最后,考虑数据流和数据存储 表表3.1总结了上面分析的结果,其中加星号标记的总结了上面分析的结果,其中加星号标记的是在问题描述中隐含的成分。是在问题描述中隐含的成分。软件工程第3章结构化分

25、析表 3.1 组成数据流图的元素可以从描述问题的信息中提取源点/终点处理采购员仓库管理员产生报表处理事务数据流数据存储定货报表零件编号零件名称定货数量目前价格主要供应者次要供应者事务零件编号*事务类型数量*定货信息(见定货报表)库存清单零件编号*库存量库存量临界值软件工程第3章结构化分析 一旦把数据流图的四种成分都分离出来以后,就一旦把数据流图的四种成分都分离出来以后,就可以着手画数据流图了。可以着手画数据流图了。任何系统的基本模型都由若任何系统的基本模型都由若干个数据源点干个数据源点/ /终点以及一个处理组成,这个处理就代终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。对

26、于上述表了系统对数据加工变换的基本功能。对于上述的定的定货系统可以画出如图货系统可以画出如图3.4所示的基本系统模型。所示的基本系统模型。 从基本系统模型这样非常高的抽象层次开始画数从基本系统模型这样非常高的抽象层次开始画数据流图是一个好办法。在这个高层次的数据流图上是据流图是一个好办法。在这个高层次的数据流图上是否列出了所有给定的数据源点否列出了所有给定的数据源点/ /终点是一目了然的,因终点是一目了然的,因此它是很有价值的通信工具此它是很有价值的通信工具。软件工程第3章结构化分析 下一步应下一步应该把基本系统模型细化,描绘系统的主该把基本系统模型细化,描绘系统的主要功能。要功能。 在图在图

27、3.5中给处理和数据存储都加了编号,这样做中给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。的目的是便于引用和追踪。 接下来应该对功能级数据流图中描绘的系统主要接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。功能进一步细化。 当对数据流图分层细化时必须保持信息连续性,当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理也就是说,当把一个处理分解为一系列处理时,分解时,分解前和分解后的输入前和分解后的输入/输出数据流必须相同。输出数据流必须相同。软件工程第3章结构化分析图3.4 定货系统的基本系统模型(突出表明了数据的源点和终点)软件工程第3章结构

28、化分析图3.5 定货系统的功能级数据流图软件工程第3章结构化分析图3.6 把处理事务的功能进一步分解后的数据流图软件工程第3章结构化分析 3.5.3 3.5.3 命名命名 数据流图中每个成分的命名是否恰当,直接影响数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性,因此,给这些成分起名字时应数据流图的可理解性,因此,给这些成分起名字时应该仔细推敲。下面讲述在命名时应注意的问题。该仔细推敲。下面讲述在命名时应注意的问题。 1 1为数据流为数据流( (或数据存储或数据存储) )命名命名 名字应代表整个数据流名字应代表整个数据流( (或数据存储或数据存储) )的内容,的内容,而不是仅仅反映

29、它的某些成分。而不是仅仅反映它的某些成分。 不要使用空洞的、缺乏具体含义的名字不要使用空洞的、缺乏具体含义的名字( (如如“数据数据”、“信息信息”、“输入输入”之类之类) )。 如果在为某个数据流如果在为某个数据流( (或数据存储或数据存储) )起名字时遇起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。成的,应该试试重新分解,看是否能克服这个困难。软件工程第3章结构化分析 2 2为处理命名为处理命名 通常先为数据流命名,然后再为与之相关联的通常先为数据流命名,然后再为与之相关联的处理命名。这样

30、命名比较容易,而且体现了人类习惯处理命名。这样命名比较容易,而且体现了人类习惯的的“由表及里由表及里”的思考过程。的思考过程。 名字应该反映整个处理的功能,而不是它的一名字应该反映整个处理的功能,而不是它的一部分功能。部分功能。 名字最好由一个具体的及物动词,加上一个具名字最好由一个具体的及物动词,加上一个具体的宾语组成。应该尽量避免使用体的宾语组成。应该尽量避免使用“加工加工”、“处理处理”等空洞笼统的动词作名字。等空洞笼统的动词作名字。 通常名字中仅包括一个动词,如果必须用两个通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解动词才能描述整个处理的功能,

31、则把这个处理再分解成两个处理可能更恰当些。成两个处理可能更恰当些。 如果在为某个处理命名时遇到困难,则很可能如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。是发现了分解不当的迹象,应考虑重新分解。软件工程第3章结构化分析 状态转换图状态转换图( (简称为状态图简称为状态图) )通过描绘系统的状态通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为及引起系统状态转换的事件,来表示系统的行为。 状态是任何可以被观察到的系统行为模式,一个状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。在状态图中用圆形框状态代表系统的一种行为模式。在状态图

32、中用圆形框或椭圆框表示状态,通常在框内标上状态名。状态规或椭圆框表示状态,通常在框内标上状态名。状态规定了系统对事件的响应方式。系统对事件的响应,既定了系统对事件的响应方式。系统对事件的响应,既可以是做一个可以是做一个( (或一系列或一系列) )动作,也可以是仅仅改变系动作,也可以是仅仅改变系统本身的状态。通常,在表示状态的框内用关键字统本身的状态。通常,在表示状态的框内用关键字do(do(后接冒号后接冒号) )标明进入该状态时系统的行为标明进入该状态时系统的行为( (即所做的即所做的动作动作) )。软件工程第3章结构化分析 事件是在某个特定时刻发生的事情,它是对引起事件是在某个特定时刻发生的

33、事情,它是对引起系统从一个状态转换到另一个状态的外界事系统从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统状态转换的控制信息。简而言之,事件就是引起系统状态转换的控制信息。 在状态图中,从一个状态到另一个状态的转换用在状态图中,从一个状态到另一个状态的转换用箭头线表示,箭头表明转换方向,箭头线上标上事件箭头线表示,箭头表明转换方向,箭头线上标上事件名。必要时可在事件名后面加一个方括号,括号内写名。必要时可在事件名后面加一个方括号,括号内写上状态转换的条件。也就是说,仅当方括号内所列出上状态转换的条件。也就是说,仅当方括号内所列出的条件为真时,该事件的发生才引起箭头所示的状

34、态的条件为真时,该事件的发生才引起箭头所示的状态转换。转换。 图图3.73.7给出了状态图中使用的主要符号。给出了状态图中使用的主要符号。软件工程第3章结构化分析图3.7 状态图中使用的主要符软件工程第3章结构化分析 为了具体说明怎样用状态图建立系统的行为模型,为了具体说明怎样用状态图建立系统的行为模型,下面举一个例子。图下面举一个例子。图3.83.8是人们非常熟悉的电话系统的是人们非常熟悉的电话系统的状态图。状态图。软件工程第3章结构化分析图3.8 电话系统的状态图软件工程第3章结构化分析 数据字典是为了描述在结构化分析过程中定义的数据字典是为了描述在结构化分析过程中定义的对象的内容,而使用

35、的一种半形式化的工具。下面是对象的内容,而使用的一种半形式化的工具。下面是对这个重要的建模工具的定义。对这个重要的建模工具的定义。 数据字典是所有与系统相关的数据元素的有组织数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的的列表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。简而言存储的成分甚至中间计算结果有共同的理解。简而言之,数据字典是描述数据的信息的集合,是对系统中之,数据字典是描述数据的信息的集合,是对系统中使用的所有数

36、据元素的定义的集合。使用的所有数据元素的定义的集合。软件工程第3章结构化分析 名字名字数据、控制项、数据存储或外部实体数据、控制项、数据存储或外部实体的主要名称。的主要名称。 别名别名第一项中对象的其他名字。第一项中对象的其他名字。 使用地点与方式使用地点与方式使用数据或控制项的处理使用数据或控制项的处理的列表,以及使用这些对象的方式的列表,以及使用这些对象的方式( (例如作为处理的输例如作为处理的输入,从处理输出,作为数据存储,作为外部实体入,从处理输出,作为数据存储,作为外部实体) )。 内容描述内容描述描述数据或控制项内容的符号。描述数据或控制项内容的符号。 补充信息补充信息关于数据类型

37、、预置值、限制等关于数据类型、预置值、限制等的其他信息。的其他信息。软件工程第3章结构化分析 虽然可以使用自然语言描述由数据元素组成数据虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁起见,建议采用下列的关系,但是为了更加清晰简洁起见,建议采用下列符号:符号: 意思是等价于意思是等价于( (或定义为或定义为) ); 意思是和意思是和( (即,连接两个分量即,连接两个分量) ); 意思是或意思是或( (即,从方括弧内列出的若干个分即,从方括弧内列出的若干个分量中选择一个量中选择一个) ),通常用,通常用“”号分开供选择的分量;号分开供选择的分量; 意思是重复意思是重复( (

38、即,重复花括弧内的分量即,重复花括弧内的分量) ); ( )意思是可选)意思是可选( (即,圆括弧里的分量可有可无即,圆括弧里的分量可有可无) )。软件工程第3章结构化分析 常常使用上限和下限进一步注释表示重复的花括常常使用上限和下限进一步注释表示重复的花括弧。一种注释方法是在开括弧的左边用上角标和下角弧。一种注释方法是在开括弧的左边用上角标和下角标分别表明重复的上限和下限;另一种注释方法是在标分别表明重复的上限和下限;另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的右侧标明重开括弧左侧标明重复的下限,在闭括弧的右侧标明重复的上限。例如复的上限。例如 5151A A和和1 1A A5 5

39、含义相同。含义相同。软件工程第3章结构化分析 传统的软件工程方法学使用结构化分析技术,完传统的软件工程方法学使用结构化分析技术,完成分析用户需求的工作。需求分析是发现、求精、建成分析用户需求的工作。需求分析是发现、求精、建模、规格说明和复审的过程。需求分析的第一步是了模、规格说明和复审的过程。需求分析的第一步是了解用户当前所处的情况,发现用户所面临的问题;接解用户当前所处的情况,发现用户所面临的问题;接下来应该通过与用户交流,对用户的基本需求反复细下来应该通过与用户交流,对用户的基本需求反复细化,以得出对目标系统的完整、准确和具体的需求。化,以得出对目标系统的完整、准确和具体的需求。软件工程第

40、3章结构化分析 为了详尽地了解并正确地理解用户的需求,必须为了详尽地了解并正确地理解用户的需求,必须使用适当的技术与用户通信和沟通。访谈是历史悠久使用适当的技术与用户通信和沟通。访谈是历史悠久的与用户通信的技术,至今仍被系统分析员广泛采用。的与用户通信的技术,至今仍被系统分析员广泛采用。为了促使用户与分析员密切合作共同分析需求,人们为了促使用户与分析员密切合作共同分析需求,人们研究出一种面向团队的需求收集法,称为研究出一种面向团队的需求收集法,称为“简易的应简易的应用规格说明技术用规格说明技术”,现在,这种技术已经成为信息系,现在,这种技术已经成为信息系统界使用的主流技术。实践表明,快速建立软

41、件原型统界使用的主流技术。实践表明,快速建立软件原型是最准确、最有效和最强大的需求分析技术。快速原是最准确、最有效和最强大的需求分析技术。快速原型应该具备的基本特性是型应该具备的基本特性是“快速快速”和和“容易修改容易修改”,因此,必须有适当的软件工具支持快速原型技术。通因此,必须有适当的软件工具支持快速原型技术。通常使用第四代技术、可重用的软件构件及形式化规格常使用第四代技术、可重用的软件构件及形式化规格说明与原型环境等工具,快速地构建和修改原型。说明与原型环境等工具,快速地构建和修改原型。软件工程第3章结构化分析 为了更好地理解问题,人们常常采用建立模型的为了更好地理解问题,人们常常采用建

42、立模型的方法,结构化分析实质上就是一种建模活动,通常建方法,结构化分析实质上就是一种建模活动,通常建立数据模型、功能模型和行为模型。在需求分析阶段立数据模型、功能模型和行为模型。在需求分析阶段建立起来的模型,在软件开发过程中有许多重要作用。建立起来的模型,在软件开发过程中有许多重要作用。 模型能帮助分析员更好地理解软件系统的信息、模型能帮助分析员更好地理解软件系统的信息、功能和行为,从而使得需求分析工作更容易完成,使功能和行为,从而使得需求分析工作更容易完成,使需求分析的结果更系统化。需求分析的结果更系统化。 模型是复审需求分析成果时的焦点,因此,也模型是复审需求分析成果时的焦点,因此,也成为

43、验证规格说明的完整性、一致性和准确性的重要成为验证规格说明的完整性、一致性和准确性的重要依据。依据。软件工程第3章结构化分析 模型是设计的基础,为设计者提供了软件的模型是设计的基础,为设计者提供了软件的实质性表示,通过设计工作将把这些表示转化成软件实质性表示,通过设计工作将把这些表示转化成软件实现。实现。 除了创建分析模型之外,在需求分析阶段还应该除了创建分析模型之外,在需求分析阶段还应该写出软件需求规格说明,经过认真评审并得到用户确写出软件需求规格说明,经过认真评审并得到用户确认之后,作为这个阶段的最终成果。认之后,作为这个阶段的最终成果。 通常,使用实体通常,使用实体关系图来建立数据模型,

44、读关系图来建立数据模型,读者应该掌握这种图形的基本符号,能够正确地使用这者应该掌握这种图形的基本符号,能够正确地使用这些符号建立软件系统的数据模型。些符号建立软件系统的数据模型。软件工程第3章结构化分析 数据流图是描绘信息流和数据从输入移动到输出数据流图是描绘信息流和数据从输入移动到输出的过程中所经受的变换的图形化技术。可以在任何抽的过程中所经受的变换的图形化技术。可以在任何抽象层次上使用数据流图来表示信息处理系统或软件。象层次上使用数据流图来表示信息处理系统或软件。它是分析员与用户之间通信、沟通的有效工具,也是它是分析员与用户之间通信、沟通的有效工具,也是进行软件设计的极好出发点。由于结构化

45、分析通常主进行软件设计的极好出发点。由于结构化分析通常主要关注目标系统应该完成的逻辑功能,而数据流图提要关注目标系统应该完成的逻辑功能,而数据流图提供了功能建模的基本机制,因此,数据流图是结构化供了功能建模的基本机制,因此,数据流图是结构化分析过程中使用的最主要的建模工具。读者应该熟练分析过程中使用的最主要的建模工具。读者应该熟练掌握数据流图的基本符号,并能正确地使用这些符号掌握数据流图的基本符号,并能正确地使用这些符号建立目标系统的功能模型。建立目标系统的功能模型。软件工程第3章结构化分析 状态转换图通过描绘系统的状态及引起系统状态状态转换图通过描绘系统的状态及引起系统状态转换的事件,表示系

46、统的行为,从而提供了行为建模转换的事件,表示系统的行为,从而提供了行为建模的机制。的机制。 数据字典描述在数据模型、功能模型和行为模型数据字典描述在数据模型、功能模型和行为模型中出现的数据对象和控制信息的特性,给出这些对象中出现的数据对象和控制信息的特性,给出这些对象的精确定义。因此,数据字典成为把三种分析模型粘的精确定义。因此,数据字典成为把三种分析模型粘合在一起的合在一起的“粘合剂粘合剂”,是分析模型的,是分析模型的“核心核心”。在。在开发大型软件系统的过程中,数据字典的规模和复杂开发大型软件系统的过程中,数据字典的规模和复杂程度都迅速增加,通常需要使用程度都迅速增加,通常需要使用CASECASE工具来创建和维工具来创建和维护数据字典。护数据字典。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!