当前位置:首页 > 编程开发

一些系统分析的经验

webgou16年前 (2010-08-11)编程开发58
做需求分析,我觉得最重要的任务是简化业务流程、规则、逻辑;丰富用户体验; 0. 尽量将复杂的用户需求抽像成最简单的业务规则、数据库结构来实现。因为需求是不可能一下子就确定的,假设我们刚开始对核心需求的实现方式增加了一点点的复杂性,比如说多加了一个表,一个藕合字段,那么对于以后的扩展我们就有可能要去制定更加复杂的规则去适应,从而“被逼”消耗更多的工作,使用更加复杂的结构和业务规则。尤其当需求发生不断变化时,改变这种体系所要花费的代价也会随之几何级上升(因为一般是不可逆的),用户的可操作性也会随之越低,并增加了其使用上的难度,从而不得不对其进行培训。 1. 对于一个面向公共(大用户群、非公司内部系统)的系统,要充分进行“二八“划分;一个系统不可能满足所有人的需求;要关注最广大的80%的用户,因为另外 20%的需求很可能会使另外的80%的人产生困扰;一般人最容易记得7个字以内的句子,同样大部分软件只有20%的功能是经常使用到的,对于互联网公众平台来讲对另外不常用的80%需求的“重视”,只会分散开发人员的注意力,使用户体验、易用性、可操作性下降,并增加系统复杂性、维护和运营成本;因此要将主要精力放到那20%功能的开发上。 2. 对于核心产品,业务规则和逻辑的设计万不可草率,并且不要集中由“一类”人去做;要从全局的角度制定业务流程,最好一开始就将最终使用和开发者纳入业务流程、规则、逻辑设计队伍。并充分讨论精简后完成产品的整体构架设计,然后进入编码阶段。综合考量成本/效果的比例,舍弃对系统可能产生混乱的设计,并想办法最寻找简单的替代方案。而且尽可能一开始就确定数据库的主体框架,而非去制定每一步的细节。 3. 对于功能宠大、业务复杂的系统,我认为用户需求接受比在 5:3:2 左右是正常的, 相当于10条需求中有5条可以完全接受的,有3条需要将实现方式略加改变而达目的,但一般有1~2条无法实现是正常的,因为可能会对系统造成较大的复杂性或不利于扩展,而且很有可能跟现有系统的功能产生冲突。不利于系统结构最简化,增加系统运营成本的不可控风险。 4. 当公司的主打产品经历过数次功能扩展、升级后,而造成的构架复杂性、数据库负载、稳定性、可操作性和用户友好度下降达到一定程度时,就应该考虑将关联性不大的功能分离成相对独立的几个系统,只进行核心数据表进行共享,以此增强各个分系统的可重用和可靠性。从而避免只向一个大型系统输出复杂性,造成可靠性下降,以及维护、运营成本的上升。 来源:http://blog.csdn.net/Mac_cm/archive/2010/07/13/5732021.aspx

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=265

标签: 系统分析
分享给朋友:

“一些系统分析的经验” 的相关文章

如何查询mysql中执行效率低的sql语句

内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种....…

unity3d + PureMVC框架搭建

  0、流程:LoginView-SendNotification()---->LoginCommand--Execute()--->调用proxy中的函数操作模型数据--LoginProxy---->接收服务器返回-操作数据-返回通知视图控制器--LoginMediat…

Android录音失真具体解决方案

在6410+WM9714的Android平台上测试MIC IN录音功能,出现一个BUG。在该平台声音播放是完全正常的,但是录音后再播放刚录的声音,会有失真,同样的录音文件在电脑上播放也一样,说明是 Android录音失真的问题。后来通过打印9714的寄存器,发现录音频率是8000HZ,放音频率是4…

win32 api Event

win32 api Event…

xmlbean使用

过了几个月突然想到使用xmlbean,一到下午什么都记不起来,翻了老半天,看了下批命令才有点印像。之前打算深入研究一下xmlbean都吾有时间,现在把在公司用到的批命令记下来:1.inst2xsd -design ss -simple-content-types smart  f:\xml…

VPN(虚拟专用网络)

VPN(虚拟专用网络)…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。