系统架构设计师-软件工程-需求工程

这是我参与更文挑战的第26天,活动详情查看: 更文挑战
image.png

考察重点

需求工程一节主要考察需求获取,需求分析,UML4+1视图,UML图,UML关系,本节这几个都比较重要,其中最重要的是UML图。

概述

软件需求是指用户对系统在功能,行为,性能,设计约束等方面的期望。
需求开发是主线,是目标,需求管理是支持,是保障。

image.png

需求获取

获取方法

想要获取软件需求方法有以下几种:收集资料,联合讨论会,用户访谈,书面调查,现场观摩,参加业务实践,阅读历史文档,抽样调查

需求分类

image.png

功能需求:是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。
非功能需求:是指产品必须具备的属性或品质,如性能、响应时间、可靠性、容错性、扩展性等。
设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明,例如必须采用国有自主知识版权的数据库系统,必须在UNIX操作系统之下运行等。

从不同层面划分

业务需求(Business Requirement):是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。
用户需求(User Requirement):是指描述用户使用产品必须要完成什么任务,怎么完成的需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度出发的需求。
系统需求(System Requirement):是从系统的角度来说明软件的需求,它包括用特性说明的功能需求、质量属性、非功能需求及设计约束。

需求分析-数据流图(DFD)

采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法

image.png

元素 说明
外部实体 指系统以外又与系统有交互关系的人或事物
数据处理 也称为数据加工,表示接收一定的数据输入,对其进行处理,并产生输出。处理的对象为:数据结构或数据内容。
数据流 指处理功能输入或输出的数据,箭头表示数据流向。
数据存储 可以表示暂时存储或者持久存储的数据,可以代表文件,数据库等系统元素。

DFD画法

DFD的绘制是-一个自顶向下、由外到里的过程,通常按照以下几个步骤进行。

  • 画系统的输入和输出:就是在图的边缘标出系统的输入、输出数据流。这一步其实是决定研究的内容和系统的范围。在画的时候,可以先将尽可能多的输入、输出画出来,然后再删除多余的,增加遗漏的。
  • 画数据流图的内部:将系统的输入、输出用一系列的处理连接起来,可以从输入数据流画向输出数据流,也可以从中间画出去。
  • 为每一个数据流命名:命名的好坏与数据流图的可理解性密切相关,应避免使用空洞的名字。
  • 为加工命名:注意应该使用动宾短语。不考虑初始化和终点,暂不考虑出错路径等细节,不画控制流和控制信息。

需求分析-ER图

元素 说明 图形
实体 数据对象 长方形
属性 数据对象所具有的属性,主键要加下划线来表示 椭圆形
关系 数据对象之间的关系 菱形

image.png

派生属性:非永久性存于数据库的属性,比如用户的掘金值就是,随着用户文章的点赞数和浏览数变化而变化。

多值属性:文章可以有多个标签存在,用双线椭圆表示。

可选属性:并不是所有的属性都必须有值,有些属性的可以没有值,这就是可选属性,在椭圆的文字后用(0)来表示

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享