首页 理论教育 用户需求模型

用户需求模型

时间:2022-05-01 理论教育 版权反馈
【摘要】:用户需求层的任务是捕获和分析用户需求,只有准确、全面的用户需求,才能够保证系统的成功建设,因此用户需求是信息系统的目的、功能与行为的驱动因素。建立用户需求模型的目的是对用户需求分析的要素及其相互关系进行抽象描述。其次,对用户所处的环境及其变化导致的用户需求的变化,在模型中用环境和时间要素来反映。

(一)用户需求模型的特点

1.是用户需求层解决目前需求分析中存在问题的理论和方法 用户需求层是需求驱动的自适应体系结构最重要的一层。用户需求层的任务是捕获和分析用户需求,只有准确、全面的用户需求,才能够保证系统的成功建设,因此用户需求是信息系统的目的、功能与行为的驱动因素。目前的需求分析理论也强调用户需求的重要性,但是一则对用户的界定范围窄,只局限于系统的使用者,因此不能将涉及的社会和组织管理等因素表达出来;二则对用户需求变化及引起变化的因素考虑得较少,这也是目前信息系统面临的主要挑战之一;三则对需求、功能和结构三者的关系没有进行精心的安排,只注重为满足用户的需求而实现功能,这将导致信息系统在结构上十分脆弱,缺乏应对环境变化的能力,难以适应组织面临的复杂多变的形势和改革、发展的需要。用户需求层的任务之一正是要从理论上解决这些问题,也就是建立用户需求模型。建立用户需求模型的目的是对用户需求分析的要素及其相互关系进行抽象描述。首先,模型不只从系统使用者的角度进行分析,这里的用户是作为社会行为者来看待的,因此用户需求涉及社会、组织管理和技术等多种因素。从社会行为者角度分析有助于获取利益相关者的目标,使得分析的结果更全面,更能够准确地反映业务领域的客观情况。其次,对用户所处的环境及其变化导致的用户需求的变化,在模型中用环境和时间要素来反映。模型通过对变化因素的表达,使得按模型分析得到的系统具有自适应变化的能力。最后,根据需求驱动的自适应体系结构理论,用户需求层主要负责识别需求,而通过领域服务层模型和业务流程层模型的分析来组织功能,并按照给定的框架来安排体系结构,这样不仅使得信息系统更加健壮,而且用户需求模型可以更加专注于业务领域的分析而不是功能的设计,这也是用户需求模型区别于其他需求模型的特点之一。

2.挖掘用户的潜在业务需求 传统的需求工程领域也有对用户需求进行分析和建模的过程,但是RDAA的用户需求模型和需求工程中的需求模型不是同一个概念,处于不同的层次。需求工程对用户需求建模主要是从系统的功能和数据角度来进行的,捕捉用户的功能性需求和非功能性需求,而这两种需求应该是用户实际的业务领域在系统领域的反映。对于如何对用户业务领域需求进行分析,需求工程并没有做明确的说明。而在实际的应用中,存在着这样的一种业务需求,通常用户不能够明确地表达出来,但是,却是用户为了实现其社会目标,要求系统必须完成的任务,这种需求就是潜在的用户业务需求。挖掘潜在的用户业务需求,需要把用户看作社会活动者,分析涉及的社会、组织管理和技术等多种因素。此外,还要考虑用户所处的环境以及与用户相关的社会因素。建立用户需求模型的意义,就是为了能够了解和刻画用户的潜在需求,并与显式需求一起描述需求全貌。

3.具有动态性和自适应性 用户需求模型通过时间要素,描述了将来可能发生的变化,体现了动态性。此外,将可能的变化模型描述出来,使得在系统设计阶段,特别是在分析领域服务和业务流程的过程中,能够充分考虑变化的因素,并给出备用的解决方案。可根据用户需求与环境的变化,能动态地识别、组织和调整系统功能,智能地满足用户需求,具有自适应性和自我完善、自我发展能力。

4.需求重用的保证 利用用户需求模型对系统进行需求分析,得到的结果就是用户需求模式。引入用户需求模式的主要目的是能够重用以前的需求分析结果,以至到新系统的建设。因此,作为用户需求模式的基础,用户需求模型是能够实现需求重用的保证。

(二)用户需求模型的理论基础

在第四篇中提到的对信息系统的二维分类方法十分清楚地说明了信息系统,特别是现代信息系统,如区域医疗、电子政务、电子商务等信息服务平台,是一类复杂系统。

对于复杂系统,可以通过建立模型对其进行分析。在科学和技术领域内,模型是关于现象的理论或抽象表达;在数理科学领域内,模型是一套定理的具体实现,在某种程度上和定义相对;在科学技术领域内,科学家和研究人员使用模型作为真实世界的物理代表来验证理论的正确性和可行性;在工程领域内,模型是用二维或三维的图表或物体,例如等比例缩小模型可以作为原物的替代或者是原型用来实验。人类认识世界和改造世界的过程首先是建立模型和分析模型,然后再根据分析的结论去指导人类的行动。尽管模型的定义没有统一,但是通常认为,如果把现实世界中的某些事物叫作一个现实原型,那么模型就是对这种现实原型的一种抽象或模拟。这种抽象或模拟不是简单的复制,而是强调原型的本质,扬弃原型中的次要因素。模型是以某种形式对相同或者不同形式的事物的表示,它从某个特定的视角出发,捕获事物的重要方面,而对其他某些方面进行简化或忽略。至于哪些方面是“重要”的,哪些可以简化和忽略,则取决于构建模型的目的。因此,模型既反映原型,又不等于原型,或者说它是原型的一种近似。建立模型是指通过对客观事物建立一种抽象的表示方法,用来表征事物并且获得对事物本身的理解,从而建立现实世界的模型。

现代信息系统是一个复杂的系统,它是由一系列的子系统(简单系统)组成。作为系统科学的一个分支,信息系统同样具有分形的特点。所谓分形(fractal)是指某种具有不规则、破碎形状的、同时部分又与整体具有某种方式下的相似性,其维数不必为整数维的几何体或演化着的形态。

分形理论认为凡复杂系统均具有层次结构,复杂多变的整体通常都由相对简单的自相似的底层元素组成。分形理论认为整体与部分之间存在“信息同构”,即整体与部分之间存在着相似的信息结构。对于信息系统来说,子系统与整体系统之间也存在着信息同构,因此,用来指导需求分析的用户需求模式既适用于子系统,也适用于复杂系统,利用同一个用户需求模型进行需求分析是能够确保结果的完备性的。在系统中,只要各层之间的映射与匹配机制完善,系统就具有较好的可重用性、可扩展性和适应变化与自我发展能力。

(三)用户需求建模

1.用户 对用户的需求进行建模,首先需要识别用户(user)。这里“用户”不只是作为系统使用者角度来分析的,而是作社会行为者(social actors)来看的,因此用户需求涉及社会、组织管理和技术等多种因素。从社会行为者角度分析有助于获取利益相关者的目标,使得分析的结果更全面,更能够准确地反映业务领域的客观情况。所谓利益相关者(stakeholder),在柯林斯大辞典中的解释是“在公司或组织的事务中拥有利益的人”。在软件工程领域中,对其的理解不尽相同,例如:“这样的人或组织,他们将受到系统的影响,或者对系统需求有直接或者间接的影响”“在项目中拥有风险或者利益的人”“受到活动的结果影响,或者以某种方式对该结果负有责任的个体或群体”等。随着所关注问题的不同,利益相关者的范围也不同。在RDAA框架中,用户需求模型关注的利益相关者是需要系统来实现自身目标的参与者。进一步细分,用户包括系统投资者(investor)、系统所有者(owner)、系统建设者(builder)和客户(customer)。因此:

U=[investors,owner,builders,customer]

Investors={investori|i=1,…,n}是系统投资者的集合;

Builders={builderj|j=1,…,n}是系统建设者的集合。

对于系统建设者来说,可进一步细分为系统设计者(designer)、编程人员(programmer)和维护人员(repairer),如果系统建设需要外包,还有承包商(subcontractor)。因此:

Builder=[designer,programmer,repairer,subcontractor]

对于客户来说,有两种类型:一种是外部客户(outer customer);另外一种是内部客户(inner customer)。例如,典型Web信息系统——新闻系统,外部客户是指利用系统获取新闻的人,而内部客户是指利用系统发布新闻的人。同样,对于电子政务来说,公众就是外部客户,利用系统进行办公的政务部门人员就是内部客户。这样区分客户的角色,是为了能够从不同的角度分析系统的目标,使得建成的系统能够满足各自的要求。因此:

Customer=[outer customers,inner customers]

Outer customers={outer customeri|i=1,…,n}是外部客户的集合;

Inner customers={inner customerj|j=1,…,n}是内部客户的集合。

需要说明的是,用户需求模型的用户是具有相同角色和目标的一类人的总体。

2.目标 目标的识别是系统分析的重要一步,目标是指用户要求系统所达到的目的。首先要分析用户建设系统的最终目的,也就是总体目标(overall objective)。随后,根据不同角色的用户,分别识别他们的业务目标(business objective)和信息技术目标(iT objective)。业务目标既有社会目标,也有组织目标和个人目标。这些目标是衡量系统是否能够满足用户需求的标准。因此:

O=[overall objective,business objectives,iT objectives]

Business objectives={business objectivei|i=1,…,n}是业务目标的集合;

IT objectives={i T objectivej|j=1,…,n}是信息技术目标的集合。

如果遇到目标冲突,在可以量化目标冲突损失的情况下,选择最优情况以保证损失最小化;如果目标不能量化,则需要在用户之间进行协商。

3.任务 是指为了实现目标,用户要求系统完成的工作。任务是领域服务层的驱动因素。系统的任务分为两个方面:一个是核心任务(core assignment),也就是为了实现目标完全依赖于任务的完成;另一个是辅助任务(aided assignment)。辅助任务虽然不直接影响目标的实现,但是它也是系统重要的组成部分,对其他任务的实现有重要的影响。例如,为了协调、控制任务之间的完成顺序等。因此:

A=[core assignments,aided assignments]

Core assignments={assignmenti|i=1,…,n}是核心任务的集合;

Aided assignments={aided Assignmentj|j=1,…,n}是非核心任务的集合。

需要说明的是,任务的完成需要流程、功能和数据的支持。但是在RDAA的用户需求层,不会对详细的流程、功能的构造和数据的组织进行规定,详细的流程会在业务流程层进行说明,功能的构造会在功能层进行说明,而数据的组织会在数据层说明。用户需求层的模型关心的是其本质,也就是满足用户的目标需要系统完成的工作。这样做的目的是使系统设计不过早的介入需求分析阶段,需求分析阶段集中精力挖掘用户全方面的需求,特别是对系统影响重大的隐性需求。

4.环境 环境的分析主要是对前面用户提出的目标的限定,也就是说,在特定的环境下,用户才会有的特定需要系统完成的目标。环境包括用户所处的社会环境(social environment)和技术环境(iT environment)。社会环境包括文化经济政治环境等。从广义上讲,社会环境是与自然环境相对应的,一方面是人类精神文明和物质文明发展的标志,另一方面又随着人类文明的演进而不断地丰富和发展,因此社会环境包括很多方面。但是在分析用户需求时,只分析对用户需要系统完成的目标有约束力的环境,也就是说需要识别这样的社会环境,在其影响下,用户才会提出这样的目标,一旦它发生变化,用户的目标也会发生变化。例如,在电子政务行政审批中,由于公众对于目前的审批速度不满意,所以才需要系统来提高审批速度,一旦用户对审批速度感到满意,那么这项目标也不会出现。技术环境主要是确定当前的技术现状而不是分析系统要采用的技术,系统要采用的技术不属于需求分析的范围。技术现状会对用户的目标产生影响,例如在电子政务领域,正是由于政府上网工程的推广,使得各大政府机构能够与公众联网,具备技术基础,才会有联合为民办事的目标。因此:

E=[i T environment,social environments]

Social environments={social environmenti|i=1,…,n}是社会环境的集合。

进一步,技术环境可以从如下几个方面来考虑:网络环境(network)、硬件环境(hardware)、软件环境(software)和用户认知程度(understand)。用户的对信息技术的认知程度也会影响其目标,如果信息技术非常先进,但是用户没有认知的话,其目标会因为认知的差异而受到影响。软件环境又可细分为操作系统(operation system,OS)、应用服务器(server)和数据库管理系统(database management system,DBMS)。因此:

IT environment=[network,hardware,software,understand]

Software=[OS,server,DBMS]

5.知识 在进行用户需求分析阶段,需要捕捉两部分的知识。一个是本体(ontology),另外一个是规范(norm)。本体是表征概念和概念之间的属性,特别是当系统处于互联网中,利用本体可以解决不同系统对相同概念理解的不一致问题。规范是系统遵循的行为准则,是系统社会性的体现,因此:

K=[ontology,norm]

进一步,用户需求层的规范有3种类型,分别是社会规范(social norm)、组织规范(organizational norm)和运作规范(operational norm)。其中社会层包括文化、宗教、伦理、道德、法律、法规和社会惯例等;组织层包括组织文化、组织目标、组织策略和一些规章制度;运作层包括具体的业务规则、行政或技术标准、操作规程或过程。因此:

Norm=[social norms,organizational norms,operational norms]

Social norms={social normi|i=1,…,n}是社会规范的集合;

Organizational norms={organizational normj|j=1,…,n}是组织规范的集合;

Operational norms={operational normk|k=1,…,n}是运作规范的集合。

6.关系 关系主要是分析以上要素之间的联系,这些关系在以上对各个要素的分析中也已经提到,归纳起来有两个:任务和目标之间的关系(R1),环境和目标之间的关系(R2)。因此:

R=[{R1},{R2}]

R 1⊆O×A;

R 2⊆O×E。

7.时间 利用需求工程的理论和方法建立需求模型时,很少考虑到变化的因素对系统的影响。而本文提出的用户需求模型,则利用时间这个要素来反映可能的变化。之所以将这些变化归于时间因素下,主要体现这些情况是将来(future)可能发生的,用以区别现在(current)的情况。因此,在时间元素下,实际上是一个嵌套的模型,对以上要素在将来情况的说明。

T=[Uf,Of,Af,Ef,Kf,Rf]

综上,RDAA的用户需求模型(M)是对系统最终用户和其他利益相关者在特定环境下为实现自身的目标,需要系统完成的任务所涉及的各要素及其相互关系的抽象描述。其表达形式为:

M=[U,O,A,E,K,R,T]

其中:U=[investors,owner,builders,customer];

O=[overall objective,business objectives,iT objectives];

A=[core assignments,aided assignments];

E=[iT environment,social environments];

K=[ontology,norm];

R=[{R1},{R2}];

T=[Uf,Of,Af,Ef,Kf,Rf]。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈