软件工程 您所在的位置:网站首页 状态转换图例题软件工程 软件工程

软件工程

2024-03-14 23:40| 来源: 网络整理| 查看: 265

软件工程-第三章-需求分析 3. 需求分析3.1 需求分析的任务3.2 与用户沟通获取需求的方法3.3 分析建模与规格说明3.3.1 分析建模3.3.2 软件需求规格说明 3.4 实体-联系图3.4.1 数据对象3.4.2 属性3.4.3 联系3.4.4 实体-联系图的符号 3.5 数据规范化3.6 状态转换图3.7 其他图形工具3.7.1 层次方框图3.7.2 Wainier 图3.7.3 IPO 图 习题

3. 需求分析 3.1 需求分析的任务 确定对系统的综合要求 功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求 分析系统的数据要求导出系统的逻辑模型修正系统开发计划 3.2 与用户沟通获取需求的方法 访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型 3.3 分析建模与规格说明 3.3.1 分析建模

模型:就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 需求分析过程应该建立的三种模型:数据模型、功能模型和行为模型。

实体-联系图:描绘数据对象、数据对象的属性及数据对象之间的关系,用于建立数据模型。数据流图:描绘当数据在软件系统中流动和被处理的逻辑过程,是建立功能模型的基础。状态转换图:描绘了系统的状态及引起状态转换的事件,是建立行为模型的基础。 3.3.2 软件需求规格说明

通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。

3.4 实体-联系图

数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。

3.4.1 数据对象

可以由一组属性来定义的实体都可以被认为是数据对象。

数据对象彼此间是有关联的。

数据对象与面向对象范型中的“类”或“对象”的显著区别:数据对象值封装了数据而没有对施加于数据上的操作的引用。

3.4.2 属性

属性定义了数据对象的性质。

3.4.3 联系 一对一联系一对多联系多对多联系 3.4.4 实体-联系图的符号

使用实体-联系图来建立数据模型。可以把实体-联系图简称为 ER 图,相应地可把用 ER 图描绘的数据模型称为 ER 模型。

ER 图中包含了实体(即数据对象)、关系和属性3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。

3.5 数据规范化

通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。

实体-联系图:描绘数据对象、数据对象的属性及数据对象之间的关系,用于建立数据模型。

第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。第二范式:满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值) 3.6 状态转换图

描绘了系统的状态及引起状态转换的事件,是建立行为模型的基础。

在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。 中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分是可选的。 在这里插入图片描述

3.7 其他图形工具 3.7.1 层次方框图

层次方框图用树形结构的一系列多层次的矩形框描绘数据的层级结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。

3.7.2 Wainier 图

在这里插入图片描述

图中花括号用来区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息;异或符号(⊕)表明一类信息或一个数据元素在一定条件下才出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个;在一个名字下面(或右边)的圆括号中的数字指明了这个名字代表的信息类(或元素)在这个数据结构中重复出现的次数。

3.7.3 IPO 图

在这里插入图片描述

习题 为什么要进行需求分析?通常对软件系统有哪些需求?

需求分析是一个发现、求精、建模、规格说明和复审的过程,我们进行需求分析是为了发现系统中可能存在的问题,以及确定系统必须完成的工作,为了更好的满足用户的真正需求。我们所做的一切都是为了能够真正的满足用户需求。

需求分析通常对软件系统有一下需求:

1.功能需求,即指定系统必须提供的服务;

2.性能需求,即指定系统必须满足的定时约束或者容量约束;

3.可靠性和可用性需求,即定量地指定系统的可靠性以及量化用户可以使用系统的程度;

4.出错处理需求,即说明系统对环境错误应该怎样响应;

5.接口需求,即描述应用系统与它的环境通信的格式;

6.约束,即设计约束或实现约束在设计或实现应用系统时应遵守的限制条件;

7.逆向需求,即说明软件系统不应该做什么;

8.将来可能提出的要求,即明确的列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求;

怎样与用户有效地沟通以获取用户的真实需求? 访谈面向数据流自顶向下求精简易的应用规格说明书快速建立软件原型


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有