咖啡小驻
===========================================================
===========================================================

为了让我们的需求更完美,这一篇所要做的工作也是必不可少的。这一篇将要讨论到的内容包括:用例补充规约,系统原型,以及需求规格说明书


终于到了快结束的时候了,这将是用例分析系列的最后一篇,结果是得到需求规格说明书,以结束需求分析的过程。经过前面七篇的工作,我们从最初的业务用例获取入手,获得了业务用例模型,这是我们的业务范围;经过分析得到了业务场景,这是我们的业务蓝图;经过规划,得出用例实现视图,这是我们的系统范围;经过再次分析,得到了用例实现以及领域模型,包括用例规约,业务规则和业务数据,这是我们的概念模型。仅从需求所需的必要元素来说,我们基本上已经完成了需求分析的工作。诚如上一篇结尾所说,为了让我们的需求更完美,这一篇所要做的工作也是必不可少的。这一篇将要讨论到的内容包括:用例补充规约,系统原型,以及需求规格说明书

先说说用例补充规约。

之前我们得到的用例规约是功能性的,它们是针对Actor完成目标业务所需的功能性Feature的描述。然而我们所面对的系统除了功能性的Feature之外,总有一些是与业务功能无关的,这部分需求就是补充规约要涉及的内容。

什么样的需求与业务功能无关呢?一般来说,就是系统需求,例如可靠性,可用性,扩展性,易用性等等。用户提出,系统必须提供7*24小时的服务,它应该有一定随业务变化而适应的能力,系统的界面应当简单易学,具备基础计算机知识的人可以不经过培训就能使用它等等。这些需求与具体业务要求无关,哪怕一个不实现,系统也能Run起来。但是这些需求又是如此重要,它们是系统达到用户期望必不可少的。甚至在用户看来,某些补充规约要求比业务要求还重要,某个业务要求没做好,用户或许能宽容,如果你说系统不能提供7*24小时的服务,用户肯定是不能接受的。这些需求,就是要在补充用例规约里面说明的内容。

笔者自己有个习惯,在上一篇也有所提及,就是习惯于把全局规则也写到补充用例规约里面。比如,用户提出,所有系统使用者在系统中的任何操作,都要能够记录下来;如果数据被更改,不论是Modify,Add还是Delete,数据都要做一个备份;响应时间可能超过1分钟的功能,都要提供进度条等等...这些全局规则在实际情况中,一般都是由系统框架,或某个中间件来完成的,它们是系统架构的一部分。因此这些需求虽然也是功能性的,但笔者认为将它们作为补充需求,与可靠性之类的系统需求一起,由较高层次的设计师或者是架构师来处理它们更合适。

那么补充用例规约到底是一个用例写一份还是全部集中在到一起呢?RUP提供的模板是一个用例写一份,只要它们与该用例相关。笔者在实际工作中觉得集中在一份文档中似乎更合理。一是减轻很多的重复工作量,二是集中在一起更便于管理和验证。

至于补充规约的格式就没那么重要了,只要将用户提出的,或者用户未提出,但作为系统建设者知道系统要很好运行就必须去加入的那些特性,都一一写明白了,就OK了。当然,有时某个补充要求的确只与一个特定的用例有关,例如交纳借阅费,有一个可能的补充要求是保障安全性,包括数据安全,传输安全。其它用例则没有必要进入安全通道。这时,专门为交纳借阅费用例写一个补充规约也是合理并且推荐的方式。

再来说说系统原型。所谓系统原型根据目的不同,也分为好多种,本文无意深入探讨,大致说说,并只描述与需求过程相关的原型。例如,我们可能要使用一个全新的技术,为了验证其技术可行性,可能会开发一个小的原型,以掌握或证明我们能够使用这种技术,也证明这项技术能够支持后续的开发,这是一种验证性原型;我们有一个初步的想法,但不知往下能走多远,这个想法是否可行,也可以开发一个原型,这是一种探索型原型;我们要向别人说明某个产品,为了形象化,也可以开发一个原型,以显式的向别人展示以加深理解,这是一种辅助原型...目的不同,原型也有多种。另一种分类方法是将原型分为抛弃型的和渐进型的,所谓抛弃,就是用完了就扔了,渐进型的,则是将来会在它基础上逐步完善,乃至形成最终系统。

我们在做需求时所需的原型主要是辅助性的,将用例场景转化成可操作的原型,如果是做Web系统,则基本上就是静态html。第一,它能帮助系统分析员更好的与用户交流,同时让脑子湖涂的用户明白,哦,原来就是这样的啊......第二,这个原型能帮助用户深化需求,凭空想象用户很难提出具体而清晰的需求,当面对一个可以操作的界面时,往往文思泉涌。第三,这个原型能帮助系统分析员验证需求分析的结果,如果将用例场景的文字描述转化成界面以后难以操作,那就得回头修改用例场景了。

那么需求的系统原型是抛弃型的还是渐进型的呢?不一定。有的组织有快速页面生成工具,能很快的将需求转化成界面,这些界面简单,不能满足开发要求,需求结束后往往被抛弃;有的组织为了在需求过程中将用户Look and Feel的需求也一并收集,会精心开发界面原型,这些界面就成为将来的开发基础。的确大部分组织是将html开发完成后,由程序员填入动态代码而形成ASP,JSP等动态网页的。

系统原型什么时候需要呢?虽然本系列文章到最后才来讨论它,但笔者的建议是从一开始就要开始原型的制作。很多人抱怨需求难做,用户讲不清又说不明,今天说的跟明天不一样,抱怨用户根本不懂计算机。有此抱怨是正常的,需求从来就不是容易的,但如果以这为借口而做不出好的需求,那就只能说明你不 是一个合格的系统分析员了。用户如果都懂计算机,还要你做什么?还好意思拿着"高薪",号称"高新技术人才"么?把用户想说又说不出来,或者根本不想说的东西套出来,这就是系统分析员的职责。原型在这里将起到巨大的帮助作用,一个图形化的展示胜过千言万语,UML的诞生也是这个原因。在需求的初始阶段,界面原型或许还开发不出来,但是,用Word,Visio,Powpoint画几个简单的图示不困难吧?甚至在草稿纸上手工画画界面原型,也会对你跟用户的交流起到巨大的作用。

我们的所有准备工作都完成了,即将交出工作成果--需求规格说明书。有的读者会奇怪,之前我们做的工作不都是需求说明吗?怎么又来一个需求规格说明书?原因是这样,我们之前的工作的确都是需求说明,但是,这些需求说明是零散的,组织不好的。就拿笔者给大家提供的实例来说,读者在看的时候感觉如何?没有章节,没有提纲,也看不出作者的组织思路,要看明白一个需求,要点好几个图,展开好几层。对系统分析员来说不是什么问题,但对用户而言呢?你能指望他们满意这样的文档而让你验收通过吗?另一个原因是,现在系统建设一般都会按照国标来要求文档提供,例如GB9385-88,尤其请了监理的用户更是如此。因此,写一份符合国标格式要求的需求文档是非常有必要的。

不必担心需求规格说明书会给你带来多大的工作量,其实所有的元素已经具备,需要做的工作不过是将这些元素组织到一起而已。笔者提供一个简单的例子以说明如何将他们组织起来。但这个例子并不是说明这是一个标准格式,你应当根据组织规范,用户要求来组织这些元素。笔者想说明的只是一个组织文档的思路和哪些元素是必须的以供参考。点这里下载

最后需要说明的一点是,在这个例子里,分了用户需求和系统需求两个部分,这对应着业务用例和用例实现。用户需求不一定是系统需求,某些用户需求是不必实现到系统中的,例如本系列文章示例中的图递送过程,缺了它用户需求就不完整,但实际上这是一个人工过程,不需计算机的参与;同时用户需求也未必全部包含系统需求,例如用户需求中未提及事务处理,操作记录,但作为一个健壮的系统,这些需求又是必不可少的。

后记...

前后经过大半年,关于系统分析员用例分析的文章到这里就结束了。期间承蒙网友们的支持与鼓励,才走到今天。系统分析和UML是一个庞大的话题,短短的八篇文章仅能够揭起冰山一角。实践比理论学习能更快的成长。就笔者自己而言,若要论及理论知识,未必及得上科班出身的系统分析员们。只是实践多了,就有些经验积累下来,以至能与诸位分享。笔者相信,理论--实践--理论,永远是一条不二的成长途径。只要本系列文章对大家还有些帮助,就不枉这半年多的笔耕了。

笔者不寄望于能在这短短八篇文章里将所有知识和经验都讲到,也不保证有需要的读者一定能在这里找到答案。但笔者的Blog还在,也还没有从此收山的打算,只是这一系列文章到了该结束的时候了。若读者有疑问,有指教,都可以在我的BLog里留言,以武会友就是专门为大家准备的。笔者保证每条留言都会回复的。谢谢大家。

小小预告一下,用例分析系列结束了,接下来笔者将开始系统分析和设计的系列文章,就是通常所说的OOD过程,这是将需求转化为代码的中间重要阶段,所面对的读者是OO系统设计师。希望继续得到大家的支持与鼓励。敬请期待。

*********************************************************

作者coffeewoo 欢迎您访问文章原始出处 : http://coffeewoo.itpub.net ,阅读中有任何问题可以在BLOG上留言或发邮件到 coffeewoo@263.net,我将尽力为您解答。具有代表性的问题我会以 Q &A的形式收录到对应的文章之后。希望本系列文章对您有帮助。欢迎转载,敬请注明,谢谢 ^_^

coffeewoo 发表于:2006.09.10 20:24 ::分类: ( 系统分析、设计,UML及OO , ) ::阅读:(8167次) :: 评论 (53)
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

你好,我想问一下 做一个系统分析员
应该从什么地方入手 ,或者说具体要掌握哪些技能、知识
我以前是学编程的
刚看了些资料,系统分析、设计之类的
但是感觉找不到一个方向
究竟理解到什么程度 算是可以
还有 就是实践方面,如何做可以更好的理解那些理论
就象编程会很快看到效果那样?
谢谢!

kemmy 评论于: 2006.09.11 10:19
To kemmy [回复]

系统分析员最重要的我认为倒不是掌握什么技能,而是学会从宏观和全局的角度来审视系统。这与程序员是非常不同的,程序员要非常关注detail,并且要很强的逻辑思维能力。而系统分析员除了逻辑性之外,还要求有扩展思维能力,也就是大局观,还有洞察力,从客户蛛丝马迹的言谈中找出他真正的需求。这点很难从学习资料中获得的,要依靠长时间的实践和积累。
资料和技能只是工具,帮助你完成分析工作。我的建议是,不要放弃编程工作,当你的编程熟练到只用脑子想就能很容易勾划出整个程序逻辑,不需要逐行代码看,仅仅看接口交互就能了解程序运作时,你的思维就上升到比较高的程度了。多看看各类设计模式,以及练习编程,它能帮助你从更宏观的角度理解OO。你会发现,当你习惯于从更高的角度来看系统时,系统分析,设计的那些文档就变得easy了。在这个时间段,你需要经常回头审视之前做的系统,试着仅从结构上去描绘它们。多练习,一定会进步的。
我从codeing到设计花了四年,从设计到SA和Architecture花了两年。到现在,我已经很习惯于站在整体的角度看系统了,讨论需求时我的想法只会集中在客户的业务架构上,分析时想法只会集中在系统架构上。这也是长时间积累的结果,没有捷径的。

coffeewoo 评论于: 2006.09.11 11:15
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

非常感谢
您这个博客是我至今见过 的 对我帮助最大的博客
不仅因为您的学识,更因为您帮助他人的态度
一定要支持

kemmy 评论于: 2006.09.11 15:24
To kemmy [回复]

laughing you are welcome

coffeewoo 评论于: 2006.09.11 15:50
[回复]

smile您辛苦了,这么快就出了(8),周末没休息吧?
以后得常来看看

hehe 评论于: 2006.09.11 15:56
TO hehe [回复]

猜对了,的确没有休息

coffeewoo 评论于: 2006.09.11 16:26
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

把8篇都草草看了一下,后面慢慢研究^_^

多谢楼主啦

加油,继续,期待

又来称呼? 评论于: 2006.09.14 23:16
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

3楼的说的没错:您这个博客是我至今见过 的 对我帮助最大的博客
不仅因为您的学识,更因为您帮助他人的态度
一定要支持

强力支持!
还处于入门阶段,以后要常来骚扰楼主了

有容乃大 评论于: 2006.09.18 18:55
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

期待更多方面的文章出炉....楼主看起来很瘦啊,多锻炼身体呀

有容乃大 评论于: 2006.09.18 18:58
TO 有容乃大 [回复]

还不是因为挨踢多了,给折磨的结果crying.gif

coffeewoo 评论于: 2006.09.18 23:18
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

好文阿,严重支持你的blog !!

samson 评论于: 2006.10.13 17:31
建议出书 [回复]

我看完了8篇文章,谢谢楼主,也谢谢楼主对每个提问的认真回答。楼主的文章使我收获极大,正好应用到一个准备开始的项目中。以前我都是面向过程的思维,一直想用UML,但不得入门。期盼楼主继续写下去,也建议你出本书,因为市面上好像没有这样实用的UML书籍(我一定买 ^_^),另外能否在讲解过程中也穿插一些ROSE的使用小窍门呢,这样更有助于我这样的初学者。谢谢

Nicole 评论于: 2006.10.20 14:19
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

为什么范例文档都不能下载啊
这么好的文章,不能结合实例,效果会大打折扣啊

lifeng 评论于: 2006.10.20 18:01
re: Nicole [回复]

出书就算了吧,哈哈。我写这些东西是不参考标准的,想到什么写什么,纯是自己的经验。有些东西是违背标准定义的,不过我觉得这么做顺手就这么写了。反正是免费给大家看的,就算误导了大家我也不觉得内咎^_^,出书就不一样了,要花钱买的,就不能胡来了。可我就是不喜欢去查资料。
至于ROSE的使用我想就不写了吧,使用的东西用文字难以说明,再说,相信这点技巧难不住你的

coffeewoo 评论于: 2006.10.20 22:19
re: lifeng [回复]

不会的说,这里的所有资料都能下载的。或许服务器太忙?再到资源中心去试试看,发现有不能下载的,麻烦告诉我是哪个链接。

coffeewoo 评论于: 2006.10.20 22:21
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

非常感谢楼主的经验共享,我用了四个小时的时间,把八篇文章都看了一遍。我现在正在使用用例分析,进行需求分析。看了文章后,使我从整个分析流程上,有更加好的认识,也解决我脑里一些困惑。
我现在马上要开始系统分析和设计,真希望楼主能将发表文章时间提前。
谢谢楼主!

zhangrx 评论于: 2006.10.25 15:24
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

哈哈,coffeewoo快写,我也要看

rwyx 评论于: 2006.10.25 18:03
re: zhangrx [回复]

想是想提前来着,最近比较忙,没有整块时间,呵呵,当然也因为我比较懒tongue
争取快些吧

coffeewoo 评论于: 2006.10.25 18:04
re: rwyx [回复]

添乱!laughing

coffeewoo 评论于: 2006.10.25 18:06
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

感谢楼主经验的共享!!!!
Thank you very much!!!!!!

fifi 评论于: 2006.11.03 10:20
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

还没细看您写的文章,但是就冲这份精神,这份心,我就得先赞一个!谢谢!

firehero 评论于: 2006.11.04 20:25
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

楼主总结的很好,很有借鉴参考价值,特别对刚入门的人!!!

smon 评论于: 2006.11.08 19:12
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

仔细研究楼主的文章,受益菲浅。。。忍不住顶一下。。。

好累啊。。。该睡觉了

fisher 评论于: 2006.11.17 02:09
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

行文够酷,通读了楼主的系统分析员之路-用例分析系列文章,收获多多,谢谢!以后再来细读!
请问楼主:
1 系统分析与系统设计的边界你是如何把握的?
2 还有系分之路的其他系列文章吗?
期待!!smiletongue

qxtx_ztyj 评论于: 2006.11.26 03:57
re: qxtx_ztyj [回复]

很高兴你能喜欢。
关于系统分析与设计的边界我觉得其实没有那么绝对的分界线,什么一定是分析做的什么一定是设计做的,定义死了很难,也不现实。人的大脑本来就是扩散能力很强的,在做分析时一定会考虑到设计的问题的。
这个边界我觉得主要还是由视角不同来决定的。系统分析更高层,站的立场更宏观。基本是纯逻辑思考,实现问题仅作为参考而不是必要条件,分析的角度是系统级别的。而设计站的角度没那么高,它是针对具体问题领域的,针对系统分析中提出的一个个逻辑领域,必须考虑具体实现的语言,采用的框架之类的作为约束,而提出解决方案和实现方式。
关于系分的文章我想以后还会有一些,不过现在我要先完成系统设计部分的文章。以后的文章可能不会以系列形式出现了。欢迎常来

coffeewoo 评论于: 2006.11.27 12:52
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

楼主的文章绝妙的我都睡不着觉,这都两点四十了,还在兴奋中。我把你的这个系统文章都整理成WORD了,我发给你,你提供给大家下载,好打印,如何?

qcrsoft 评论于: 2006.12.18 02:44
re:qcrsoft [回复]

laughing那当然好啊,我自己都没有整理过的,呵呵,都是在线写的。万一哪天ITPUB的BLOG关掉了,我连老本儿都没了,呵呵。
整理完了发到我信箱吧,谢谢喽!

coffeewoo 评论于: 2006.12.18 10:40
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

好好,我整理整理明天就发给你,天空飘着你的大旗,要精心搞搞

qcrsoft 评论于: 2006.12.18 18:46
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

感谢smile

水煮小鱼 评论于: 2006.12.19 16:02
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

还有什么好说的
受益匪浅
看来以后得常来看看
呵呵

jgjzj 评论于: 2006.12.29 20:52
re: jgizj [回复]

看第一句话冷汗直流,以为你觉得偶的东东不值一提呢。laughing
当然欢迎常来看看,呵呵

coffeewoo 评论于: 2006.12.30 12:41
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

非常感谢楼主!

我在http://coffeewoo.itpub.net/resource/9169/11228 下载了示例,但用IE和Firefox打开时都看不到左边的内容,applet加载不了,不知道为什么?

在firefox打开java控制台提示下面的异常:
----------------------------------------------------

载入:找不到类 IncrementalTOC.class。
java.lang.ClassNotFoundException: IncrementalTOC.class
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: Claughingocuments and SettingsAdministrator??umlIncrementalTOCclass.class (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)

IncrementalTOC.class应该是browser.jar里的类吧?找不到是不是没有定义package的缘故?

醍醐灌顶 评论于: 2007.02.06 21:52
re: 醍醐灌顶 [回复]

应该是java虚拟机的问题,可能是未安装虚拟机,或者虚拟机不匹配。重新下一个试试http://www.java.com/en/download/

coffeewoo 评论于: 2007.02.07 09:33
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

你好,我看了你的博客,发现你的确这方面很有经验,我也正在向这个方面努力。现在正在做一个模拟项目,就是完全采用这种UML和面向对象方式来开发,使用rose工具从分析到设计到源代码框架,完全按照这种方式来做。在做的过程中发现还是有问题,理论上的理解都没有什么问题,实践中就不一样了。呵呵呵…………希望多多和你探讨探讨,我的msn是:desiree-chen@hotmail.com希望能够相互提高…………

系统架构师 评论于: 2007.03.04 22:05
不错,有空过来交流 [回复]

粗略看了一两篇,楼主的系统分析功力,尤其是用例、OOA、OOD的功力,令人佩服。
我搞过一年的专职SA,用例及OOA方面,还是有些疑问的地方,惭愧。有空过来细看,学习学习。
顶一下!

robinzhang 评论于: 2007.03.17 22:31
re:robinzhang [回复]

smile欢迎常来,并提出宝贵意见

coffeewoo 评论于: 2007.03.18 22:42
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

兄大才哉.
小弟我刚要开始一个WAP项目,一下就搜到了您的BLOG,幸甚,幸甚.
有一个疑问,调查用户的需求就象挤牙膏一般,用户有时甚至提出了相互矛盾的需求,问又问不清,怎么办?

神我人 评论于: 2007.03.23 10:55
re: 神我人 [回复]

呵呵,需求调研与技术无关,倒是很要些技巧。
对于不愿意多谈的客户,需求调研时最好不问他们Open的问题,提供选项给他们。最好他们就回答是,不是。当然这样做会花多些精力。
在需求开始前就应该想尽各种办法给客户灌输软件工程的思想,让他们,至少是领导知道他们的责任和义务。在需求收集过程中做到每次见面,每次谈话都有记录,并且这些记录要有确认过程。要么客户签字,要么通过邮件,信件之类的把记录发给客户,并声明没有异议视为同意。只有这样,客户才会感觉到他们对需求是负有责任的,才不会胡乱提。
至于需求相互矛盾,就需要找到拍板的人。把相互矛盾的需求列出来,让拍板人决定选哪一个。需求的矛盾经常的原因是客户内部关系冲突和利益冲突导致,所以经常不会很清楚的告诉需求人员为什么。这种事我们也无能为力,找个拍板人就行了。

coffeewoo 评论于: 2007.03.23 13:19
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

对于需求规格书中的内容,我有个疑惑想请您指点一下:我们以前的需求规格书中主要是一个个的需求点,具体描述方式为文字性叙述“系统支持...”,这和您发布的模板区别较大,哪一种更好?另,个人理解需求分析应是从业务需求分析导出系统需求,是否您所说的业务用例场景图和业务实体图就是系统需求?望不吝赐教,不胜感激!

果冻 评论于: 2007.04.09 22:52
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

如果我没理解错的话,系统支持...这种需求描述方式主要是讲系统特性(Feature)。这种方式在Rational的系列工具中是用Rational Request Pro这个工具来做的,但这个工具不是用来导出需求的,而是用来做需求跟踪的。
其实系统特性很类似用例,但缺少了actor的视角,不是从系统需求提出者导出的,有时候就很容易从系统设计者的角度去看问题,因为在分析的时候没有actor约束,就容易忽略最终用户的真正要求。
业务用例场景图和业务实体图都是业务需求。在RUP里,系统需求是用专门的系统用例来表达的

coffeewoo 评论于: 2007.04.09 23:19
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

那系统用例分析是否是属于设计阶段的事,而需求分析阶段只需要做业务需求的分析?因为您在这个系列中好像没有提到系统用例的分析,而且在需求规格书的文档里也没有系统用例的章节(有系统需求这一节,但您给的内容是用例场景和业务实体),我们以前给用户的需求规格书中都是以系统需求的描述为主的。所以,现在有点迷惑:我们在需求分析阶段到底应该经历哪些过程和导出哪些成果?概设呢?详设呢?真的很迷茫。
对了,我们用“系统支持”这样的描述的用途之一也是为了统计需求个数,包括实现的难易度,以便为最终的估算提供输入的。

果冻 评论于: 2007.04.10 13:59
re: 果冻 [回复]

这个系列中缺少的其实不是系统需求而是业务需求,这是我的一个失误,对于小项目习惯直接进入系统需求,也就是你看到的用例图什么的实际上等于系统需求。这不是规范的做法。不要学我。在书里我会用标准做法来讲。

系统用例是需求而不是分析设计。在RUP里业务用例和系统用例是有区别的,虽然它们讲的都是同样的事,但用例的粒度不一样,视角不一样。最大的不同是业务用例代表业务需求,就是与计算机无关的原始需求。系统用例代表原始需求在计算机参与情况下的需求实现形式。另外,业务用例代表了客户的需求范围,即客户的业务都是些什么;系统用例代表了系统范围,即计算机系统将实现些什么。这两者之间有交叠,但却是不同的范围。

coffeewoo 评论于: 2007.04.10 16:56
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

您的书什么时候出啊?我现在特别需要一个有实际指导意义的方法和过程来规范今后的项目。
另外,您在昨天的回复中说“业务用例场景图和业务实体图都是业务需求”和您今天的回复好像有点矛盾。我是不是可以这样再理解一下:您的这个用例分析系列是指RUP中的用户需求+系统需求;业务需求主要是用户的业务目标,属于最高层次的,有时可能仅仅三两句话。

果冻 评论于: 2007.04.10 22:09
re: 果冻 [回复]

你的理解基本是正确的。业务需求就是业务目标。例如说客户的业务目标是对比同期销售成本来调整销售战略,这就是业务用例的来源。在业务用例方面,需求要描述的内容是销售成本的构成,对比的方式,计算方法和客户希望的展示内容。但是不代表这个业务需求一定就是系统需求。
系统需求是指要建设的系统针对这个业务需求要做些什么。例如针对这个业务需求,系统需要一个数据采集用例来采集每年的销售成本,需要一个统计数据的用例来计算每年的销售成本数据,至于展示,可以用水晶报表,也可以用BI产品,或者用自己开发的页面。
你可以看到业务需求和系统需求是不一样的,虽然说的都是同一件事。有时候,系统需求会大于业务需求,因为要考虑产品化,有时候会小于业务需求,因为有些功能很难实现或者有替代方案。总之业务需求是业务范围,系统需求是系统范围。
另,我的书正式出版按计划应该是明年三月份,呵呵,时间好象有点长...

coffeewoo 评论于: 2007.04.11 09:33
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

正在向这方面发展,希望以后能多向您请教
我想现在先问一个问题:在业务建模过程中,确定了业务执行者和业务用例以后,我一般使用序列图的方式来描述业务用例,因为在描述业务的同时,还可以为业务实体分配责任.但是如何确定一个业务用例有多少个实现路径呢?谢谢

火柴 评论于: 2007.05.10 08:42
re: 火柴 [回复]

有多少个实现路径在业务用例上取决了你对需求的了解。比如寄信,就有平信、挂号、快递、特快专递,你还可以找专门的物流,甚至可以自己送过去...这与技术无关,而是对需求的掌握程度。但是究竟选择什么方式,需要你与客户沟通,共同决定。

coffeewoo 评论于: 2007.05.17 10:12
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

路过,看过,收益过!! 不顶不行!!!

不仅仅多楼主的知识佩服,更对楼主的精神和人品赞扬。
楼主给我们做了榜样,向楼主学习!!

附带:现在很多人都恃才自傲,不可否认他们的知识令人折服,但他们的人品却大打折扣。

狼道 评论于: 2007.06.29 10:31
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

楼主你好!
我是新手,问个简单的问题,也希望各位不要砸我!

你在上面文章中说:“在这个例子里,分了用户需求和系统需求两个部分,这对应着业务用例和用例实现。”用户关心的是系统功能(或者说业务用例),而不在乎(甚至不懂)系统用例,那么我们写什么样的需求说明书来给用户看?
1,把写业务用例和系统用例都写在一起?(这样的话反而把需求弄得很复杂,让用户看不懂)
2,还是给用户看业务用例说明书,而开发者自己单独用系统用例需求说明?

狼道 评论于: 2007.07.05 15:58
re: 狼道 [回复]

要写在一起的。原因是业务范围和系统范围合在一起才是完整的项目范围。在同一篇文档里,业务范围和系统范围可以分部分写,但作为项目合同附件的一个重要部分,两个范围都得在。
不同的读者可以读不同的部分。

coffeewoo 评论于: 2007.07.10 13:31
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

谢谢楼主的文章,写的相当好,保存了一份到本地,打算以后遇到问题的时候,仔细体会一下.
smilesmile

emma 评论于: 2007.07.17 14:57
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

感谢楼主。
看到楼主的“资源中心”里有一份Word的需求规约文档,但是下载后确打不开。
非常希望能参考其中内容,不知楼主可否重新共享此文档

LTMa 评论于: 2007.07.19 16:51
re: LTMa [回复]

你用firefox试试? 我这里可以下载的。
ITPUB总是莫名其妙的有问题。如果再下载不了告诉我,我另外找一个地方上传。

coffeewoo 评论于: 2007.07.30 00:48
re: OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书 [回复]

laughingtongue;支持支持!!!
我不是学这个的;也能看懂,楼主写的不错,哈哈哈。谢谢·

云飞 评论于: 2007.11.06 13:31

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...