首页 > 其他分享 >第6章 需求分析方法

第6章 需求分析方法

时间:2022-10-29 22:24:38浏览次数:54  
标签:需求 系统 实体 分析方法 建模 数据流 数据 描述

一、需求分析模型
二、结构化分析
1、结构化需求分析建模:实体关系图
3、结构化需求分析建模:数据流图
4、 结构化需求分析建模:状态转换图
三、面向对象分析
1、面向对象需求分析建模:用例图
2、面向对象需求分析建模:类图
3、面向对象需求分析建模:动态模型
4、面向对象需求分析建模:CRC Card

需求分析模型

需求分析的任务

  1. 建立分析模型,达成开发者和用户对需求信息的共同理解。

  2. 依据共同的理解,发挥创造性,创建软件系统解决方案。

为什么要建模?

  1. 失败的成本太高,必须有详尽的计划。
  2. 任务量庞大,且复杂,需多方合作完成。
    每一方只负责完成总任务的一部分。
  3. 各方必须积极沟通与配合。

建模的目的

  • 描述用户想要什么软件系统;
  • 建立软件设计的基础;
  • 提供一组可用的需求。

需求分析模型分类

  1. 结构化方法
  2. 面向对象方法

结构化方法

  1. 数据流图
    Data Flow Diagram,简称DFD
    从数据传递和加工的角度,描述了系统从输入到输出的功能处理过程。运用功能分解的方法,用层次结构简化处理复杂的问题。
  2. 实体关系图
    Entity Relationship Diagram,
    简称ERD
    描述系统中的数据对象及其关系,定义了系统中使用、处理和产生的所有数据。

面向对象方法

  1. 用例图
    Use-Case Diagram
    描述用户与系统的交互。从交互的角度说明了系统的边界和功能的范围。

  2. 类图Class Diagram
    描述应用领域中重要的概念以及概念之间的关系。它捕获了系统的静态结构。

  3. 交互图(顺序图)Interaction (sequence) Diagram
    描述系统中一次交互的行为过程,说明了在交互中的对象协作关系。

  4. 状态图State Diagram
    描述系统、用例或者对象在其整个生命期内的状态变化和行为过程。

结构化分析模型

image

实体关系图

image

实体关系图( Entity Relationship Diagram,ERD)
用于描述数据的定义、结构和关系特性。

注意:

  • 数据对象独立于处理过程;
  • 仅关注数据域;
  • 在用户抽象级别建立模型;
  • 描述数据对象之间是如何进行关联的

基本元素

实体对象

需要在系统中收集和存储的现实世界中事物的类别的描述。
每个实体对象能够被唯一的标识。
每个实体对象在系统扮演必要的角色。
每个实体对象可以被一组它自己的数据项属性描述。
典型对象:
外部实体(人、打印机、传感器)
事物(报告、信号、显示)
事件或发生(中断、警报)
角色(经理、工程师、销售员)
组织或单位(分公司、团队)
地方(制造车间)
业务方式(员工记录)

属性

可以对实体进行描述的特征(各方面)。
标识符(键)可以唯一确定和标识实体的每个实例的属性或属性集。

关系

存在于一个或多个实体之间的自然业务联系。
表示软件系统必须存储的联系,该联系不能由计算或者推导得到。
实体的数量级:
最大基数(在某关系中,实体对象的最大个数)
最小基数(在某关系中,实体对象的最小个数)

实体的数量级:

一对一(1:1)关联

一对多(1:m)关联

多对多(n:m)关联

image

在ER图中用圆圈表示所关联的实例是可选的,隐含表示“0”,没有出现圆圈就意味着是必须的。出现在连线上的短竖线可以看成是“1”
2)ERD的标注
方法1:

image

方法2:
image

ERD的建立

①分析数据对象(实体),和属性。

②分析实体间的关系,和数量级。

③建立ERD。

ERD示例

银行储蓄系统:
储户填写的存款单或取款单由业务员键入系统;
如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户;
如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户
image

山里外卖订餐系统,
每周由餐厅经理发布菜单。菜单以套餐为主。包括凉菜、热菜、主食和例汤,价格为套餐价格。
顾客使用系统可以查看菜单和订餐。订餐时要选择套餐,并生成订单。支付方式为在线支付。订单要记录送餐地址和签收人电话。
顾客订单支付后,若开始备餐(厨师会设置订单为备餐状态)。备餐完成后,设置为待取状态。取餐后修改订单状态为已完成。
顾客可以方便的查看订单状态。在消费完成后,顾客可以对菜品发表评价。
另外顾客可以修改订单或取消订单。但订单状态设置为备餐后,订单不可修改或取消。

image

数据流图(Data Flow Diagram, DFD)

数据流图将系统看做过程(process)的集合,

过程接收数据输入,转换数据,输出结果。
image

外部实体:处于系统之外,与系统存在数据交互的人、组织、设备或者其他软件系统。

过程:又称为处理,加工,表示施加于数据的动作或行为。 在建模时考虑将人工处理任务也作为系统行为的一部分描述为过程。

数据流:表示数据的运动,是系统与环境或者系统内部过程之间的通信形式。

数据存储:是软件系统内部收集、保存数据的集合。说明:如果流入/出存储区的数据流包含与存储区相同的信息,则可以不为数据流专门指定名称。如果流入/出存储区的数据流包含存储区信息中的子集,必须为数据流指定名称。

使用数据流图,描述在网络教学平台提交作业的处理过程。
image

基本元素

外部实体(external entity)

数据信息的产生者或者使用者。
数据必须从某处来,并且到某处去。

image

过程(process)

数据的转换,从输入转换为输出。
为了完成系统功能,数据必须进行某些处理。
image

数据流(data flow)

数据流流经系统,以输入数据开始,然后被转换为输出数据。
image

数据存储(data store)

数据通常被存储下来,以备后续使用。
image

DFD实例

建立ATM取款的DFD
过程描述如下:
用户输入取款金额,ATM机检查输入是否有效,若有效则检查账户余额是否足够,如果足够,完成取款,并打印凭条;如果不足,则提示用户“账户余额不足”。

外部实体:用户
过 程:检查取款额、检查余额、处理取款、打印凭条。
数据存储:账户、取款信息。
image

分层结构

image

语法规则

  1. DFD中的 对象 需要有唯一的标识(名称)。

  2. 过程是对数据的处理,必须有输入,也有输出;且输出与输入数据流存在差异。

  3. 数据流必须和过程产生关联,要么是过程的数据输入,要么是过程的数据输出。且数据流要有箭头(表示方向)。

  4. DFD图通过分层图表示更多的细节。通常要从上下文图(0层图)开始画。

  5. 在0层图中总是要画出外部实体。

  6. DFD不描述处理的逻辑细节。

标签:需求,系统,实体,分析方法,建模,数据流,数据,描述
From: https://www.cnblogs.com/kingwz/p/16840047.html

相关文章

  • 软件需求基础
    需求相关概念软件系统与外部环境定义[IEEE][IEEE610.12-1990]用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其......
  • 软件工程第6章课后答案 面向对象需求分析
    **一、单项选择题**1.实体关系图侧重于对软件系统的()建模。功能行为质量数据[参考答案]数据2.下面关于数据流图建模规则的描述正确的是()。环境图建模的目标是分析......
  • 华为云CDN,是怎样满足各行业全场景加速需求
    华为云CDN,是怎样满足各行业全场景加速需求​在疫情防控居家常态化背景下,无论是常年居家的自由职业,还是为响应号召居家办公的各行业工作者们对于网络的要求越来越高。面对这......
  • 人的需求
    人的需求大三的时候看马斯洛需求理论的是时候写的笔记一、人的需求生理需求、安全需求、社交需求、尊重需求、和自我实现需求五类,依次由较低层次到较高层次排列;1.生理上的需......
  • WebUI自动化测试框架搭建(一)-总体需求
    @目录1实现目的2功能需求3其他要求4适用人员5学习周期6学习建议7内容直达8反馈联系1实现目的基于BS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;便......
  • 如何进行需求分析?
    这篇文章是软件工程系列知识总结的第四篇,前面的几篇文章聊了软件工程的基础理论和项目管理相关的知识。这篇文章,我会将软件工程中关于需求分析相关的知识进行总结梳理,并......
  • 今日何切需求分析报告
    墨刀原型链接:https://modao.cc/app/PEy08GYGrk736vGZzYCshe#今日何切-分享项目简介:本项目属于微信小程序中的小游戏,用于日本麻将爱好者通过个人何切训练来提升自己的日......
  • 通过代码封装--set() get()方法实现需求
    /*通过代码封装,实现一下需求:\编写一个类Book,代表教材1.具有属性:名称(title)、页数(pageNum)2.其中的页数不能少于200页,否则输出错误信息,并赋予默认值200......
  • 华为云CDN加速服务保障企业网络高速度需求
    随着互联网的发展,企业对网站的加速需求越来越高,加速业务越来越依赖于CDN服务商。这也带动了CDN技术不断提高,市场空间不断拓展。许多公司都想进入CDN行业想分一杯羹,这也导致C......
  • 三层架构和案例需求分析设置
    三层架构设计:界面层(表示层)∶用户看的得界面。用户可以通过界面上的组件和服务器进行交互业务逻辑层:处理业务逻辑的。数据访问层:操作教......