软件工程系列-软件开发的需求分析
2016-06-15 22:04
363 查看
软件工程系列- 软件开发的需求分析
软件开发过程中需求分析是获得用户的真实需求的一个重要阶段,这一阶段,软件开发人员通过和用户的沟通,从中获取软件怎样完成它的工作的详细信息,了解目标软件系统的完整、准确、清晰、具体的要求。软件需求分析中的与客户沟通获取需求的方法
访谈
向被调查人分发调查表
情景分析技术
软件需求分析中的工具
层次方框图
Warnier图
数据流图(功能模型)
实体联系图
状态转换图
数据字典
主要的处理算法
IPO图
简易的应用规格说明技术
快速建立软件模型
简易的应用规格说明技术
优点: 用户和开发者不分彼此,齐心协力,密切合作;即使讨论并求精,有能导出的规格说明的具体步骤。
快速建立软件模型
快速建立软件模型方法就是快速建立起来一个旨在演示目标系统主要功能的可运行的程序。
优点: 能够准确,有效的分析出用户的需求。 缺点:必须要有适当的软件工具支持快速原型系统的建立
工具和方法:
第四代技术
可重用的软件构件
形式化规格说明和原型环境
实体-联系图(数据模型)
实体联系图就是用现实生活的对象,对象属性,对象之间的联系,建立起对非开发人员友好的数据模型。
数据模型的3个基本要素:
数据对象
数据对象的属性
数据对象之间的关系(一对一,一对多,多对多)
优点;
便于参与的非技术人员的理解
反应了用户的现实数据环境,与软件系统的具体实现方法隔离
状态转换图(行为模型):
状态转换图就是通过分析系统的状态及引起系统状态转换的事件,建立起行为模型,来描述系统的行为。
状态转换图的三要素:
初态(实心圆)
中间状态(圆角矩形)
终态(同心圆,内圆为实心圆)
层次方框图
层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际元素(不能再分割的元素)。
优点:
层级结构,逐步精细化数据元素,容易让人理解
缺点:
只能对数据结构进行罗列,无法描绘出系统的逻辑信息
Warnier图
Warnier图和层次方框图一样采用树形结构描绘,但Warnier图在层次方框图的基础上添加了对信息的逻辑控制。
优点:
层级结构,容易让人理解
能够简单的表明数据之间的逻辑关系
缺点:
只能简单的绘制数据和数据之间1对1的逻辑关系,对于复杂的逻辑关系无能为力。
IPO图
IPO图,是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理、和输出数据之间的关系。
优点:
基础符号少而简单,容易绘制
能够简略的描述系统的主要算法
根据模型对方法进行分类:
实体-联系图、层次方框图、Warnier图 用来建立数据模型
数据流图用来建立功能模型
状态转换图用来建立行为模型
数据字典用来描述在数据模型、行为模型、功能模型中出现的数据对象和控制信息的特性。
用户需求分析的软件工具:
RSL(需求陈述语言),用来验证需求的一致性,完整性和现实性。
PSL/PSA(问题陈述语言/问题陈述分析程序)
相关文章推荐
- leetcode-java-225. Implement Stack using Queues
- iOS10个实用小技巧(总有你不知道的和你会用到的)
- 搭建PXE环境批量部署Redhat6(win方式)
- 作业九 ——报告及总结
- 作业九 ——报告及总结
- Java虚拟机
- Jimoshi_整合三大框架(一)--创建整合maven项目(SSH项目)、简单的测试示例(登录)、加载数据库模拟数据
- python自动化运维学习之psutil模块
- PCB板在调试时出现的问题总结以及设计出现的小Bug
- 用Qt编写的windows平台关机程序(附源代码)
- Flume安装
- mfc 两层树形控件的初始化
- Django学习笔记:为Model添加Action
- 从C到C++
- ASIHTTPRequest的使用——同步或异步请求
- IOs消息推送
- 机器学习之概率论与数理统计基础知识-(1)马尔可夫和贝叶斯
- html显示上标和下标的标签
- 从0开始阿里云裸机安装java开发环境 Linux + Nginx+ MySQL+ Tomcat(lnmt)
- 老家见闻--一个程序员的成长史(8)