IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 软件工程-第三章 软件需求分析-2 -> 正文阅读

[人工智能]软件工程-第三章 软件需求分析-2

人和人还真是不能比呢,人家一个小时看书几十页,而我就比较厉害了2个多小时看了20页左右。这后腿拖得,不得已定了早上6点30分起床闹钟打算补一下,然后闹钟白响了。(这边应该有捂脸表情)不多啰嗦了,进入主题。

3.3.4面向对象方法

面向对象的分析:是把实体联系图的概念与面向程序设计语言中的概念结合在一起形成一种分析方法。

结构化分析方法:就是使用数据流图、数据字典、结构化语言、判定树、判定表等工具来建立一种新的称为结构化说明书的目标文档。

SA方法是一种简单适用软件需求分析的方法,也是一种建模活动。特别适合于信息控制与数据处理系统(明天应该会学习到、来个微笑吧)。

3.4.1自顶向下逐层分解的分析策略

分解和抽象在自顶向下逐层分解中是两个相互有机联系的概念、上层是下层的抽象、下层是上层的分解,中间层是从抽象到具体的逐步过渡。

3.4.2 结构化分析描述工具

结构化分析方法描述方法可划分为:非形式化、半形式化和形式化3类

非形式化:用自然语言描述

半形式化:用数据流图或实体练习图

形式化:如描述系统性质是基于数字的技术、一种方法有坚实的数字基数就是形式化。

来看看啥叫1.数据流图:一种描述“分解”的结构化过程、建模工具

描述系统由哪几个部分组成,各部分之间的联系。

2.数据字典:是关于数据的信息的集合,用来定义数据流图中的数据加工、对数据流图中包含的所有的元素的定义的汇集。

3.描述加工逻辑的结构化语言、判定表和判定树、数据流图中的不能被再分解的每一个基本加工、处理逻辑的详细采用结构化语言判定表和判定树。

3.4.3数据流图

例图:销售统计分类的数据流图

是SA方法中用于表示系统逻辑模型的一种工具

? ? ? ?数据有4种基本图形

\rightarrow箭头表示数据流

\bigcirc圆或者椭圆表示变化数据的处理

\square方框表示数据的三原点或终点

=双杠或单杠表示数据储存(文件)

星号(\ast)表示数据之间的关系(同时存在)

加号(+)表示‘或’关系? ? ?\oplus号表示只能从中选一个(互斥的关系)

数据流图是软件开发人员用用户的问题中提取4种成分依次为:源点和终点、加工、数据储存以及数据流

1、源点和终点是系统之外的实体,可以是人物或其他软件

2、加工是其对数据进行处理的单元,它对数据流进行某些操作或变换。

3、数据流是数据在系统内的运动方向、数据流由一组成分固定的数据项组成。

4、数据储存是用来暂时存放数据的

数据流图的基本原则

1、数据流图中所有符号必须是前面所述的4种基本符号和附加符号

2、数据流图的主图(顶层)必须含有前面所述的4种符号

3、数据流图主图上数据流必须封闭在外部实体之间(外部实体可以是一个也可以是多个)

4、加工(变换数据处理)至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工结果。

5、任何一个数据流子必须与它们图上的一个加工相对应

6、图上每个元素都必须有名字。

画数据流图的步骤 先画主图

第一步:先找外部实体(可以是人、物或者其他软件)

第二步:找打外部实体的输入和输出数据流

第三步:在图的边上画出系统的外部实体

第四步:从外部实体的输出流(源点)出发按照系统的逻辑需要,逐步画出一系列变换数据的加工直到找到外部实体所需的输入流(终点)形成数据流的封闭。

第五步:按照上述原则进行检查和修改

注意事项

1、画数据流图时,知考虑数据的静态关系、不考虑其动态关系、也不考虑出错处理问题。

2、画数据流图时,知考虑常规状态、不考虑异常状态

3、画数据流图不是画程序流程图,二者有本质的区别

4、不能期望数据流图一次画成,而是要经过各项反复才能完成

5、描绘复杂系统的数据流图通常很大,一个比较好的方法就是分层的描绘这个系统

画数据流图的用途:基本目的是利用它作为交流信息的工具。

3.4.4数据字典

主要作用供人查阅,并应以一种准确的、无二义的说明方式为系统的分析、设计及维护提供有关元素的一致的定义和详细的描述。

数据字典的内容:为了分析人员查找数据流图中有关名字的详细定义而服务,定义不允许有任何的重复即一个名字 只有一个条目、一个条目只能对应一个名字。数据字典的内容应该有4类条目的定义组成:数据流、数据流分量(数据基本项)数据存储(文件)和加工(处理)

数据字典使用的符号:

=表示被定义或者等价于或由......组成

+表示“与”(和)用来连接两个数据元素

例:X=a+b表示X被定义为a和b的组成

[...|...]表示“或”对{}中列举的数据元素可任选其中一

例如:X=[a|d)表示X由a和d组成

{...}表示重复对{...}中内容可以重复使用

例:X={a}表示由零个或者N个a组成

m{...|...}n或者{...}_{}^{}\textrm{}_{}^{}\textrm{}?n

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?m表示{...}_{}^{}\textrm{}中内容至少出现m次,最多出现c次其中m。n为重复次数的上下限

(...)表示“可选”对(...)中的内容可选、可不选

数据字典的实现

可利用:计算机和手工建立

3.4.5加工逻辑的描述

加工逻辑也称为“小说明”是对据流图中每一个加工所做的说明,并不是描述具体加工过程,描述加工逻辑一般用架构化语言、判定表和判定树

1、结构化语言 :自然语言加上架构化形式

2、判定表:采用表格形式、使用含有复杂判断的加工逻辑、由4部分组成、如下列图

判定树:是判定表的图形表示,其使用场合判定表相同,一般情况下它比判定表更直观

上述3种描述加工逻辑的工具各有缺点,对于顺序执行和循环执行的动作,用结构化语言描述、对已经存在各个条件复杂组合的判定问题,用判定表和判定树描述,也可以结合使用

判定表例图

?

判定树例图

需求分析图形工具?

?3.5.1层次方柜图 :是由一系列的层次树形结构的矩形柜组成,用来描述数据的层次结构

例图

3.5.2维纳图:是表示信息层次体系的一种图形工具

1,{}大括号是用来区分信息层次

2、异或符号\oplus是指出一个信息类或者一个数据元素在一定条件下出现,符号上下方的名字代表数据只能出现一个

3、()圆括号指出这类数据重复出现的次数

例图

3.5.3? IPO(Input process output)

它的基本形式是画出3个方框,在左边的框中列出有关输入数据、在中间的方框内列出主要处理、在右边的方框内列出产生的输出数据

例图

?经过需求分析,软件开发人员基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本方法,将这些共同的理解进行整理,最后形成文档、软件需求说明书。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:17:23  更:2022-02-24 15:18:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:53:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码