1、任务

解决做什么 深入描述软件的功能和性能 ,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。

2、需求分析的过程

1.问题识别

软件的需求包括 功能,性能,环境,可靠性,安全保密,用户界面,资源使用,成本消耗,开发进度,预先估计以后系统可能达到的目标。

2.分析与综合

常用的需求分析方法:

面向数据流的结构化分析方法(SA) 面向数据结构的Jackson 方法(JSD);

结构化数据系统开发方法(DSSD) 面向对象的分析方法(OOA)等。

3.编制需求分析阶段的文档

软件需求说明书,数据要求说明书,初步的用户手册,修改、完善与确定软件开发实施计划。

4.需求分析评审

是否符合用户要求,系统需求分析阶段提高的文档材料是否齐全,文档中的所有描述是否完整、清晰、准确反映用户要求,与所有其他系统成分的重要接口是否都已经描述。

数据流与加工之间的关系:

3、用于写加工逻辑说明的工具:结构化英语、判断表、判断树。

1、结构化英语

结构化英语的词汇表由:英语命令动词、数据字典中定义的名字、有限的自定义词、逻辑关系词。它是一种介于自然语言和形式化语言之间的语言,语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。基本控制结构有三种:简单陈述句结构、重复结构、判定结构。
2、判定表

如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适。
优点:描述的加工的基本说明,特别适合多个逻辑条件的加工说明。
缺点:不能表示不确定的加工处理,也不能表示重复循环的加工处理。
3、判定树

判定树也是用来表达加工逻辑的一种工具,有时候它比判定表更直观。

4、原型法:

在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。

原型的分类:探索型、实验型、进化型。

原型使用的策略:废弃策略、追加策略

原型优点:不断改正对用户的需求,使用户能尽快了解样机;提供了一种开发软件的方法;容易确定系统的性能

5、最常用的动态分析方法:状态迁移图,时序图,Petri图。

状态迁移图:状态迁移图是描述系统的状态如何相应外部的信号进行推移的一种图形表示。圆圈表示可得到的系统状态,箭头表示从一种状态向另一种状态的迁移。

状态迁移图的优点:状态之间的关系能够直观地捕捉到;由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。

Petra网:Petri网简称PNG,它有两种结点:
位置:符号为圆圈,它用来表示系统的状态;
转移:符号为问号,它用来表示系统中的事件。
图中的有向线表示对转移的输入,或由转移的输出。
标记:或称令牌,是表明系统当前处于什么状态的标志。

软件工程--需求分析相关推荐

  1. 《大话软件工程—需求分析与软件设计》,给出了分析与设计过程中需要的理论、方法、工具和标准

    □ 做好一款软件从哪里开始呢?→ 客户需求的调研: □ 一款软件的价值高低由哪个环节决定呢?→ 软件的分析与设计: □ 软件顺利完成开发靠什么?→ 高效的项目管理: □ 软件开发的主要角色?→ 客户. ...

  2. 软件工程:需求分析的20条法则

    对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客.怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进.销.调.存的商品流通工作,这些都是商业企业需要信息管 ...

  3. 《构建之法》学习总结2——软件工程需求分析

    需求分析   理论与知识点: 软件需求的类型.利益相关者:获取用户需求的常用方法和步骤:竞争性需求分析的框架NABCD,四象限方法:项目计划于估计的技术. 一,软件需求 人们为了解决现实社会生活中的各 ...

  4. 软件工程需求分析—结对

    本次结对作业由余嘉纯2016024643038.李静璇2016034643016合作完成. 一.NABCD模型 1.你的创意解决了用户的什么需求?(N) 很多时候,人们总是很难控制住自己的时间,做一些 ...

  5. 对软件工程需求分析及创新项目等实际问题给提出建议或意见

    软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素. 通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细 ...

  6. 软件工程——需求分析(生存周期),需求规格说明书,数据流图

    目录 需求分析的地位 结束的标志是什么? 需求分析的过程有哪些? 数据流图 总结 在前面我们进行了项目的软件计划,完成了可行性研究报告,知道了要做什么的问题,而下一步,我们就需要进一步的了解项目具体要 ...

  7. 软件工程 之需求分析2

    软件工程需求分析2 软件工程需求分析 基本概念 需求分析阶段的任务 需求工程过程 需求分析的原则 1.能够表达和理解问题的信息域以建立数据模型 2.建立描述系统的功能和行为的模型 3.能够对问题进行分 ...

  8. 需求获取的三阶段:需求背景、需求调研、需求分析 (3)

    收集到了客户的需求后,下一步就到了对需求进行分析的阶段,在这个阶段就要理解需求.分析需求.最后确定系统需要实现的功能需求.这一阶段非常重要,因为前期收集到的需求表达形式各种各样,不一定都是用" ...

  9. 需求获取的三阶段:需求背景、需求调研、需求分析 (2)

    完成了客户背景的调研准备后,就进入到了与客户面对面进行需求调研的阶段,事前要搞清楚:调研什么.怎么调研.向谁调研.调研成果如何收集.如何记录,还有调研中采用什么样的流程.方法,还要搞清楚:调研到什么程 ...

最新文章

  1. linux 查看cpu_看看你的嵌入式设备CPU温度是多少,能烤肉吗?
  2. php 数组合并_PHP数组常用函数分类整理
  3. Varchar的最大长度
  4. zoj 3511 Cake Robbery(线段树)
  5. 流程图伪代码计算机语言,流程图与伪代码 PPT课件
  6. linux下git的使用
  7. xssProject在java web项目中应用
  8. pandas—pd.DataFrame.sample
  9. java多线程——CAS
  10. eclipse 中的注释 快捷键
  11. 大牛很通俗地介绍《信号与系统》
  12. 服务器监控之ping监控
  13. 苹果手机有4g信号但是微信未连接服务器,苹果5s有显示4g网络但无上微信 是不是那里设置了 今天才出现的...
  14. matlab DSP6678,TI CC6678数字信号处理器 (DSP) 的50种用法
  15. java考题_java考题 求助大神
  16. iCloud 照片无法同步的解决方法
  17. 机器学习入门三剑客之Matplotlib
  18. D3.js + Canvas 绘制组织结构图
  19. 腾讯云人脸验证使用方法
  20. 利用google maps API开发应用精选

热门文章

  1. OpenCV的轮廓查找和填充
  2. Ubuntu安装wps Linux版
  3. CVPR 2015 papers
  4. 中国在两年内赶超美国AI?李开复:不一定
  5. 微软Azure CDN现已普遍可用
  6. 懒到极致之怒撸一键打包发布系统
  7. 如何在Hadoop上运行TensorFlow【部署】
  8. 如何注册域名-买服务器-备案-建设网站
  9. 如何在64位的windows平台上安装需要c编译的python扩展库
  10. neo4j——图数据库初探 - JDream314的专栏 - 博客频道 - CSDN.NET