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

一些系统分析的经验

webgou16年前 (2010-08-11)编程开发87
做需求分析,我觉得最重要的任务是简化业务流程、规则、逻辑;丰富用户体验; 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

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

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

【翻译】异常和异常处理(windows平台)

 翻译的不好,莫怪。原文地址: http://crashrpt.sourceforge.net/docs/html/exception_handling.html#getting_exception_context...…

从 Unity 原工程迁移到微信小游戏试玩广告:一次三国 5V5/BOSS 试玩的实战记录

最近尝试把一个原本 Unity 开发的三国题材联网小游戏,拆出一版适合广告投放的微信小游戏试玩版本。目标不是完整复刻原游戏,而是在较小包体、较短体验链路里保留核心卖点:武将、Spine 动画、战斗反馈、BOSS 压迫感和结算转化。…

VC2005使用SQLite,适用于WIN32以及WINCE

VC2005使用SQLite,适用于WIN32以及WINCE …

增加标题栏按钮

增加标题栏按钮: 1.创建GUID,用GUDI工具创建. 2.增加一个键值,键名为刚创建好的GUID HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Extensions/{GUID} 3.增加图标,名称 ButtonText - 按钮…

透明位图显示

想到透明位图,找了找资料,有几种实现,并理解了下,掩码机制(其实就是数据的逻辑操作)。 …

Vs2010下载(英文版)

Vs2010下载(英文版)…

发表评论

访客

看不清,换一张

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