如何对电子商务系统进行需求分析.docx
《如何对电子商务系统进行需求分析.docx》由会员分享,可在线阅读,更多相关《如何对电子商务系统进行需求分析.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何对电子商务系统进行需求分析一、需求分析 在具体的研究需求分析之前,我们先了解一下软件工程这个 概念。软件工程分为三个层次,过程层、方法层、工具层。在最基础的过程层,最重要的就是一组被称为关键过程区域(KPAs)的框架(KPA的概念在讨论CMM的书中有详细的概念说明)。关键过程区域构成了软件工程的管理控制的基础, 并且确立了上下文各区域的关系,其中规定了技术方法的采 用、工程产品的,模型、文档、数据、报告、表格等,等的 产生、里程碑的建立、质量的保证及变化的适当管理。方法 层主要是过程在技术上的实现。它解决的问题是如何做。软 件工程方法涵盖了一系列的任务:需求分析、设计、编程、 测试、维护。
2、同时他还包括了一组基本原那么,控制了每一个 的关键过程区域。工具层就很好理解了,他对过程层和方法 层提供了自动和半自动的支持。这些辅助工具就称为CASE。可以看到需求分析的位置,但是事实上需求分析是跨越了软 件工程的三个层次的。这一点是和其他的过程是一样的。当 然我们这里比拟重点强调的是在软件工程的方法层,同时也 涉及到一些过程层的思想,至于工具层那么不再我们的讨论之 列,但是会提到一些很适合在需求分析时应用的工具,诸如 Word、Excel Visio等。方法需求分析都包括了哪些方法 呢?这里列举出在需求分析一书中推荐的一些方法。1)绘制系统关联图,这是一个简单的模型,用于定义系统 与系统外
3、部实体之间的边界和接口。同时也定义了通过接口 的信息流和物流。一个用例可能包括完成某项任务的许多逻辑相关任务和交互 顺序。因此,一个用例是相关的用法说明的集合,并且一个 说明(scenario)是用例的实例。这种关系就像是类和对象 的关系。在用例中,一个说明被视为事件的普通过程 (normalcourse),也叫作主过程,基本过程,普通流,或 “满意之路(happypath)。在描述普通过程时列出执行者和 系统之间相互交互或对话的顺序。当这种交互结束时,执行 者也到达了预期的目的。在用例中的其它说明可以描述为可选过程 (alternativecoruse) o可选过程也可促进成功地完成任务,
4、但它们代表了任务的细节或用于完成任务的途径的变化部 分。在交互序列中,普通过程可以在一些决策点上分解成可 选过程,然后再重新汇成一个普通过程。角色类和角色实 例。软件产品最终是给一些用户来使用的,而用户之间的差 异是非常大的。造成差异的原因包括了对计算机的认知程度 的不同,使用习惯的不同,在软件目标组织中所处的地位不 同,地理位置不同,业务熟练程度不同。不同的用户都有自己一系列的功能需求和非功能需求。对电脑熟练程度不同 的人可能就会有不同的要求,熟练程度低的用户可能希望有 一个友好的界面,熟练程度高的用户可能更希望有快捷键或 宏的操作以提高工作效率。考虑到用户的差异性,将用户分 类并研求。抓住
5、用户代表的需求就大致把握住了用户类的需 求。当然,需求分析还是需要在用户中做大规模的调查的, 只是要把重点放在用户代表上。一定要和用户直接沟通!你玩过传递信息的游戏吗?也许 你有。一群人排着队,一句句从上到下传到后面。最后,这 句话被判得面目全非。因此,需要确保工程团队能够直接接 触用户。对于和用户直接沟通这一点,针对具体企业的通用 应用系统当然不是问题,但是如果是开发行业软件,和用户直接沟通几乎是不可能的。在这种情况下,一般有几种解决 方案: 做大规模的市场调查,针对你的目标市场做市场调查,并根 据统计学的理论建立你的数学模型。这局部的工作效果最 好,其性质有些象一些游戏公司会发布一些Dem
6、o版的游戏。 是对于一般的企业来说,这项工作费时费力,高昂的本钱往 往使大家知难而退。我的意见是,方法是非常好的,但是可 以软件技术并不熟悉;第二种是开发过同类软件的软件专 家,这种人在开发同类软件过程中已经积累了大量的工程经 验,并且具有软件开发的知识。这种方式是获取需求的最好 的方式。分析比照同类软件,微软在开发Office、 VisualStudio的时候,也是参照了 Lotus和Borland的成熟产品。这种方式的特点在于本钱很低,比拟适合和其他的方 式配合使用。但是,要注意自己有没有触犯专利法。有的时 候,虽然已经将用户分类并选出了用户代表。但是需求的来 源众多,往往会发生需求之间自
7、相矛盾的事情。需求从四面 八方收集来后,人们难以解决冲突,澄清模糊之处以及协调 不一致之处。某些人还要对不可防止要发生的范围问题单独 作出决定。在工程的早期阶段,你必须决定谁是需求问题的 决策者。如果不清楚谁有权并且有责任来作出决策,或者授 权的个人不愿意或不能作出决策,那么决策者的角色将自然 而然地落在开发者身上。这是一个非常糟糕的选择,因为开 发者通常没有足够多的信息和观点来作出业务上的决策。在软件工程中,谁将对需求作出决策的问题并没有统一的正 确答案。分析员有时听从呼声高的或来自最高层人物的最大 的需求。即便使用用户代表这一手段,必须解决来自不同用 户类的相冲突的需求。通常,应尽可能由处
8、于公司底层的人 作出决策,因为他们与题密切相关,并能得到关于这些问题 的广泛信息。如果不同的用户阶层有不一致的需求,更重要的是决定满 足哪一类用户的需求。了解可能使用该产品的客户类型以及 他们的使用与该产品的业务目标之间的关系,将有助于您决 定哪个用户类别拥有最大的份额。当开发者想象中的产品与客户需求冲突时,通常应该由客户 作出决策。然而,不要陷到“客户总是对的”的陷阱中去, 对他们百依百顺。现实中,客户并不总是对的。客户总是持 有自己的观点,开发者必须理解并尊重这一观点。人员有一 系列的交互,在系统内部也往往存在着复杂的交互。因此, 在系统建模时,除了描述系统与外界的交互,同时还要描述 系统
9、内部的交互。传统的MIS系统中,系统与外界的交互较 多。典型的,如ATM取款机:存在着大量的用户与ATM, ATM 与其它系统的交互。而电信领域的系统,与外界的交互较 少。例如,系统的输入可能仅仅是从交换机上采集信息,然 后由系统进行处理。系统的复杂逻辑包含在系统内部处理的 流程上,而非与外部系统的交互。建模主要任务是表达系统 内部的交互。用例图适于表达交互,之所以上面使用了电信系统,是因为 用例最早来自于Ericsson的交换机系统。当时,还是Ericsson雇员的Jacobson初步建立了用例图的概念,并于 1994年提出了 OOSE方法,其最大特点是面向用例(Use-Case),并在用例
10、的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,比拟适合支持商业工程和 需求分析。随着用例的开展,用例被大量的用于对功能进行 描述。每个用例代表了系统与外部ACTOR的交互。可以采取 顺序图来表达用例的具体操作程序。ACTOR用于确定系统的边 界。ACTOR、用例可以从不同的层次来描述信息。采用该原那么的原 因有:L需求在工程开始时并不明确,但往往会随着工程的进展 而逐渐细化。2.人的认知往往具有层次的特性。从粗到细、从一般到特 殊。采用不同的层次来描述,适于认知的过程。使用用例开 发系统的一般过程。在开发过程的初始阶段,可以根据具体 的工程特点,制订开发各个视图之间的关联原
11、那么,指导规 范。在开发的过程中,视图的组织原那么应不断进行维护、更 新。识别ACTOR来识别系统与外界交互的实体。ACTOR具有特定领 域的特征,例如:交换机(采集系统)、97信息系统等。在 系统层次的ACTOR确定了系统的边界。识别用例。同ACTOR一样,用例具有不同层次。对较为概括 的USECASE,需要细化。注:系统开发需要一定的规那么来确 定,如何来分解用例;可能基于原有系统的经验,或是参考 现有资料。当用例细化到可以被理解的层次。需要基于用例进行下一步 的开发。如前面提到的,用例主要用来描述交互。因此,存 在交互的实体和交互的细节。交互的实体采用类图来描述; 而交互的细节,采用顺序
12、图来描述。当系统复杂到一定层次时,类图和顺序图可能不能足以描述 其复杂程度。在该情况下,需要使用状态图来辅助阐述。状 态图和顺序图之间使用事件联结在一起。它们之间的一致性 问题,目前UML和ROSE没有提供解决方案。相对折衷的方法 是使用事件的命名规范强制一致性。可以说,之前说的所有的东西都是为了能够导出用例在需求 中的作用。用例是从用户的角度看待系统,而不是基于程序 员的角度。这样的话,用例驱动的系统能够真正做到以用户为中心,用户的任何需求都能够在系统开发链中完整的体 现。用户和程序员间通过用例沟通,防止了牛头马嘴的尴尬 局面。从前,系统开发者总是用于开发的流程。当系统的开 发过程都是基于用
13、例的,用用例获取需求,用用例设计,用 用例编码,用用例测试的时候。这个开发过程就是用例驱动 的。用例和用例文档软件需求一书中提到了几种方法来 确定用例: 首先明确执行者和他们的角色,然后确定业务过程,在这一 过程中每一个参与者都在为确定用例而努力。确定系统所能 反映的外部事件,然后把这些事件与参与的执行者和特定的 用例联系起来。能需求,这些功能需求可以使用户完成其任 务,也可以把它们描述成非功能需求,这些非功能需求描述 了系统的限制和用户对质量的期望。虽然最初的屏幕构思有 助于描述你对需求的理解,但是你必须细化用户界面设计。 建立用例文档。在每一次的需求获取之后,都会生成很多未 整理的需求,你
14、必须将它们组织成用例文档。使用诸如模板 的技术能够提高你的速度和需求的复用性。一个用例文档可 以使用表格来组织,主要的要素包括了用例标识号、用例名 称、父用例标志号、创立者、创立时间、审核者、修订记 录、角色、说、先决条件、请求结果、优先级、普通过程、 可选过程、例外、非功能需求、假设、注释和问题。虽然列 举出了这么多的属性,但是实际中使用的属性这要看你的团 体而定,看工程的大小而定。把大量的时间花在用例的描述 上是没有意义的。用户需要的是一个软件系统,并不是一大 堆的用例说明。2)创立用户接口原型,当开发人员或用户不能确定需求时,开发一个用户接口原型一一个可能的局部实现一这样使得许 多概念和
15、可能发生的事更为直观明了。用户通过评价原型将 使工程参与者能更好地相互理解所要解决的问题。注意要找 出需求文档与原型之间所有的冲突之处。3)分析需求的可行性,分析在允许的本钱和性能要求下实 现每项需求的可行性,识别与实现每项需求相关的风险,包 括与其他需求的冲突、对外部因素的依赖和技术障碍。4)确定需求的优先级别,应用分析方法确定使用实例、产品特性或个别需求的优先级别。根据优先级确定产品版本中 将包含哪些特性或需求类型。当需求被允许变更时,在特定 的版本中添加每个变更,并在该版本计划中进行所需的变 更。5)建立需求模型。需求的图形化分析模型是对软件需求规 格说明的极好补充。他们可以提供不同的信
16、息和关系来帮助 发现不正确的、不一致的、缺失的和多余的需求。这些模型 包括数据流图、实体关系图、状态转换图、对话图、对象类 和交互图。6)创立数据字典,数据字典是对系统用到的所有数据项和结 构的定义,以确保开发人员使用统一的数据定义。在需求阶 段,数据字典至少应定义客户数据项以确保客户与开发小组 是使用一致的定义和术语。分析和设计工具通常包括数据字 典组件。7)使用质量功能调配,(QFD)是一种高级系统技术,它将 产品特性、属性与对客户的重要性联系起来。该技术提供了 一种分析方法以明确那些是客户最为关注的特性。QFD将需求 分为三类:期望需求,即客户或许并未提及,但如假设缺少会 让他们感到不满
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 电子商务 系统 进行 需求 分析
限制150内