在面向对象的软件开发过程中,需求分析应该是分析员最早面临的工作。主要内容是分析用户需求,形成对需求的准确认识和规范化描述。在从事软件分析工作经历中,我认为需求分析中的一个重点是对于系统参与者(Actor)的发现、挖掘,想谈一下自己的理解。

参与者是在系统之外(透过系统边界)与系统进行交互的任何事物。研究参与者的根本动机是为了搞清楚系统对它的外部世界所表现的行为,即被开发的系统应该对它的外部世界发挥什么作用才能满足用户需求。它不仅包括与系统进行交互的各类人员,还包括了与系统进行交互的任何其它事物。因为只有全面地考察系统与边界以外的各种事物的交互情况才能全面地了解系统对外部世界所发挥的作用。

如何发现参与者?发现参与者的基本思路是,从用户的角度,考虑这个系统建立之后将在应用领域发挥什么作用。主要是考虑系统外部将有哪些事物与它进行某种交互。例如:使用系统所提供的某项功能,按它的要求进行某些操作,向它输入或从它获得某些数据,输入操作命令以控制系统的运行,或者在系统的监控下进行某些工作等。所有的交互都可以概括为与系统进行数据信息或控制信息的交换。凡是与系统进行这种信息交换的外部事物都应该被看成是参与者。常见的参与者有人员、设备与外系统。一下分别从这三方面简要讨论。

人员,几乎任何一个系统的问题域都包含各种各样的人员。为发现参与者应改考虑的焦点问题是,现实世界中的人是否与系统直接进行交互。首先从接受系统服务的人员中发现参与者。找出那些人员是系统的直接使用者,这些人员就是参与者。其次,从为系统直接提供服务的各类人员中发现参与者。这些人员包括为系统的日常运行而工作,并且直接与系统交互的各类人员。但是范围只限于那些通过与系统直接对话而为系统工作的人。

设备,与系统相联,想系统提供外界信息或者在系统控制下运行的设备是另一类可被系统看作参与者的事物。但对某些设备而言,需要认真辨别是否应该把它们看成是参与者。首先应该明确排除两种:1、不与系统直接相连的设备;2、计算机系统附带的设备,如键盘、鼠标、显示器等。因为它们与主机软硬件之间的联系是早已在系统软件中被解决的问题,不需要由应用系统的分析员来考虑。明显的应看成系统参与者的设备是那些对内与计算机系统相连,对外不必经过与人员的交互而直接发挥某种作用的设备。

外系统,与当前系统相联的外系统是系统边界之外的另一种参与者。所谓“外系统”包括:当前系统的子系统、上级系统以及没有上下级关系但与本系统交换信息的任何其它系统。可以作为参与者的外系统必须具备两个条件:1、与本系统相连,并进行信息交互。2、它的开发不是自己这个分析员小组的当前责任。外系统与本系统的交互反映了本系统应该对外系统提供什么功能和信息,或者本系统应该以什么行为方式去利用外系统的功能和信息。在这一点上,外系统和人员、设备这两种参与者没有根本的不同,所以应该把外系统也看成一种参与者。尽管一个外系统可能是很复杂的,但是我们只须关心在它与本系统的接触点上将进行何种信息交换,从而发现这种交换将对本系统提出的何种要求。其实,人的大脑也是一个复杂的“外系统”,但是对于人员这种参与者,也只关心他与系统的交互,而并不关心人的大脑内部的复杂功能。

浅谈软件需求分析中的参与者相关推荐

  1. 浅谈软件性能测试中关键指标的监控与分析(转)

    浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在 ...

  2. 浅谈软件开发过程中的项目管理

    摘要:大量软件开发实例表明,如果不能在软件开发中加强项目管理,随着国内软件行业的不断发展与壮大,国内的软件开发企业将面临严峻的挑战性与风险性.因此,为了确保软件开发的效率与质量,必须认识到强化项目管理 ...

  3. 浅谈软件开发中的假设条件

    翻开第一篇聊假设条件的博客,发现已经快2年了.那篇主要涉及了点架构方面假设条件的东西,不是很全,今天开一篇聊一下软件开发中的假设条件.如果把假设条件限定在架构方面,稍显冷门.但如果将其扩展到整个软件开 ...

  4. 浅谈软件编程中的8大数据结构

    文章目录 前言 一.为什么要研究数据结构 二.数据结构的分类 1.数组(Array) 2.链表(Linked List) 3.队列(Queue) 4.栈(Stack) 5.散列表(Hash) 6.树( ...

  5. 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识

    浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...

  6. 浅谈单片机程序设计中的“分层思想”!

    浅谈单片机程序设计中的"分层思想",并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用.看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种 ...

  7. 计算机审计的概念的论文,论文:浅谈计算机审计中的数据分析

    浅谈计算机审计中的数据分析 [摘要]数据分析在计算机审计中占有重要地位.审计人员通过数据分析,可以更好地实现收集证据.把握总体.突出重点.精确延伸等目标.数据分析从类型上可以分为查询型.验证型和挖掘型 ...

  8. 让数据站住脚-浅谈用户研究中的信度与效度

    让数据站住脚-浅谈用户研究中的信度与效度 在用户研究工作中,如何让自己的数据和结论更有说服力,是很重要的问题.最近将自己积累的用研信度和效度的笔记整理一下,罗列在文中,希望对大家有所帮助. 一.调查的 ...

  9. java学习方法-浅谈软件开发的神速进步

    中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为"不败". 1浅谈软件开发的神速进步 1.1什么才是软件开发的葵花 ...

  10. 浅谈智能交通中的电子地图

    浅谈智能交通中的电子地图 20世纪80年代以来,随着经济的发展和人口的增长,车和人的矛盾变得越来越尖锐,交通拥挤和阻塞现象日益严重,交通污染与交通事故等日益困扰着交通事业的发展.路网通过能力已不能满足 ...

最新文章

  1. Dinic二分图匹配 || Luogu P3386
  2. Python之两个列表一起打乱
  3. Linux 命令(记录)
  4. JDK和JRE的区别-zz
  5. Java集合LinkedList
  6. 基于TCP的一对回射客户/服务器程序及其运行过程分析( 下 )
  7. 2017年内容安全十大事件盘点
  8. 云原生数据湖分析DLA 2020年年度总结
  9. linux查看文件和文件夹大小
  10. 计算机配件推荐系统论文摘要,个性化推荐系统设计
  11. adobe FMS(flash media server)错误解决小结
  12. java.lang.Void类
  13. python 自动补全函数括号_三分钟,让你弄清楚Python中函数的括号使用
  14. css文字不换行显示、超出显示点点点等实用性小记
  15. 让插入PPT的音乐跨幻灯片后同时播放
  16. word不能粘贴文字问题
  17. python实现蒙太奇马赛克效果
  18. 李奎元:说说那些征信模型(Z计分模型、巴萨利模型和A值模型)
  19. 2014 WOT全球软件技术峰会第一天(上午)
  20. 日志审计系统及ELK日志系统

热门文章

  1. 类似中国知网但是搜索英文文献的权威网站有哪些?
  2. bootmgr快速修复win7_这可能是史上最简单的一键安装虚拟机win7系统了
  3. dell最新计算机如何U盘引导,戴尔台式电脑如何bios设置U盘启动教程
  4. 时间同步软件和相关网站
  5. 【网站搭建】阿里云搭建个人网站详细流程
  6. 办公室电脑怎么设置共享文件夹?
  7. uboot distro_bootcmd 理解
  8. mysql 索引失效的7种情况
  9. exchange2007的smtp端口更改
  10. 对三极管特性曲线的理解