软件工程—软件需求分析
来源:互联网 发布:淘宝账号登陆不了 编辑:程序博客网 时间:2024/05/17 08:04
软件需求包括:功能、性能、环境、可靠性、安全保密、用户界面、资源使用、成本消耗、开发进度、预先估计以后系统可能达到的目标。
我们知道作为一个软件设计师起码知道自己软件有什么需求,要达到什么样的目标和功能,具体就是明确自己软件是“做什么”这一概念。
软件需求分析任务:
1.借目前系统逻辑模型导出目标系统的逻辑模型
2.解决目标系统“做什么”的问题
3.了解软件的功能性能
4.确定约束和接口
5.定义软件的其他有效性需求
软件需求分析的原则:
确定功能和表达功能信息
层次化的方式对问题进行分解和不断细化
1.规格说明原则:
现实中分离功能,描述做什么,而不是怎样实现
要求使用面向处理的规格说明语言(系统定义语言)
2.分析指导性原则:
开始建立分析模型前,理解问题。
开发原型使得用户理解,将如何实现人机交互
记录每个需求的起源以及原因
使用多个需求视图
给需求赋予优先级
努力删除含糊性,要明确,不要模棱两可。
软件需求分析的过程:
1.问题识别:问题识别的另一项工作建立分析所需要的通信途径,保证能顺利对问题进行分析。
对现有系统的识别
确定目标系统
提出实现目标系统条件
2.分析与综合:
信息流到信息结构,细化软件功能,找出系统各元素之间的联系,接口特性和设计上的约束。分析他们是否满足功能需求,是否合理。
3.编制需求分析阶段的文档
软件需求说明书
数据要求说明书
初步的用户手册
修改完善与确定软件开发实施计划
4.需求分析评审:
定义目标是否与用户的要求一致
系统分析阶段提供的文档资料是否齐全
文档中所描述的是否完整清晰准确反映用户要求
与所有其他系统成分的重要接口是否都已经描述
需求规格说明书:
引言(编写目的、项目背景、定义、参考资料)
任务概述(目标、运行环境、条件与限制)
数据的描述(静态 数据、动态数据、数据库的介绍、数据词典、数据的采集)
功能需求(功能划分、功能描述)
性能需求(数据的精确度、时间的特性、适应性)
运行需求(用户界面,硬件接口、软件接口、故障处理)
其他需求
需求分析的方法:
功能分析的方法
结构化分析的方法
信息建模法
面向对象分析方法
需求分析方法的共性:
1.支持数据域分析的机制
2.功能表示的方法
3.接口的定义
4.问题分解的机制以及对抽象的支持
5.逻辑视图和物理视图
6 .系统抽象模型
结构分析方法主要是面向数据流的分析的方法,它是一种建模活动。适合分析大型数据处理系统。
数据流图:数据流图是描述数据处理过程的工具。
数据流图的含义:
1.数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输的传输变换过程。数据流图是结构化系统分近的主要工具,它表示了系绕内部信息的流向,并表示了系统的逻辑处理的能
2.数据流图的特性:抽象性、概括性、层次性
3.数据流图的用途
系统分析员用这种工其可以自顶向下分析系统信息流程可在图上画出需要计算机处理的部分。根据数据存贮,进一步作数据芬褥,向数据库设计过渡,根据数据流向,定出存取方式对应,一个处理过程,用相应的语言、判 定 表等工具表达处理方法。
4.数据流图的优缺点
1总体概念强,每一层都明确强调“干什么”,给出开么需要什么”,
2.可回反映出数据的流向和处理过程。
3.由于自顶向下分析,容易及早发现系统各部分的逻辑错误,也容易修正。
4.容易与计算机处理相对照
5.不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到。
6如果没有计算机系统帮助的话,人工绘制太麻烦 ,工作量较大。
数据字典的定义
数据学典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义和说明,是对数据流程图的补充工具。数据流图和数据学典共同构成系统的逻辑模型。
数据学典由下列六类元素的定义组成:数据流、数据项、数据结构、数据存储、处理逻辑、外部实体。
面向对象的分析方法:
是现代软件过程中进行软件分析的主要方法,对软件分析中所存在的问题域的理解、对需求变更的主要管理等问题提供了有效的支持。
用例是面向对象分析的需求的有效方法,为需求提供一个简单方便的软件建模工具。
软件需求是软件工程中关键的问题,没有需求就没有软件。
- 软件工程—软件需求分析
- 软件工程---软件需求分析
- 软件工程---软件需求分析
- 软件工程之软件需求分析
- 软件工程3-软件需求分析
- 软件工程—需求分析
- 软件工程—需求分析
- 软件工程—需求分析
- 软件工程——第三章 软件需求分析
- 软件工程基础_软件需求分析
- 软件工程三:软件需求分析概要图
- 软件工程(三)软件需求分析
- 软件工程精要概述3-软件需求分析
- 软件工程总结三:软件的需求分析
- 软件工程-第三章-软件需求分析
- 软件工程系列-软件开发的需求分析
- 软件工程——需求分析
- 软件工程——需求分析
- leetcode:Add Two Numbers
- 3400 数据结构实验之排序三:bucket sort
- ubuntu16.04配置php5.6
- Java基础知识02-流程控制结构
- 扫雷
- 软件工程—软件需求分析
- 3401 数据结构实验之排序四:寻找大富翁
- 分类属性设置-可视化
- quartz之Hello
- redis设置密码和redis主从复制
- java中Volatile变量
- 使用babel深入理解es7的decorator
- 南邮CTF逆向题第二道ReadAsm2解题思路
- Spring事务传播机制-REQUIRES_NEW