首页 > 其他分享 >系统分析的一些经验

系统分析的一些经验

时间:2023-04-30 11:33:00浏览次数:45  
标签:需求 经验 复杂性 系统 用户 系统分析 20% 规则 一些

做需求分析,我觉得最重要的任务是简化业务流程、规则、逻辑;丰富用户体验;


   0. 尽量将复杂的用户需求抽像成最简单的业务规则、数据库结构来实现。因为需求是不可能一下子就确定的,假设我们刚开始对核心需求的实现方式增加了一点点的复杂性,比如说多加了一个表,一个藕合字段,那么对于以后的扩展我们就有可能要去制定更加复杂的规则去适应,从而“被逼”消耗更多的工作,使用更加复杂的结构和业务规则。尤其当需求发生不断变化时,改变这种体系所要花费的代价也会随之几何级上升(因为一般是不可逆的),用户的可操作性也会随之越低,并增加了其使用上的难度,从而不得不对其进行培训。


   1. 对于一个面向公共(大用户群、非公司内部系统)的系统,要充分进行“二八“划分;一个系统不可能满足所有人的需求;要关注最广大的80%的用户,因为另外20%的需求很可能会使另外的80%的人产生困扰;一般人最容易记得7个字以内的句子,同样大部分软件只有20%的功能是经常使用到的,对于互联网公众平台来讲对另外不常用的80%需求的“重视”,只会分散开发人员的注意力,使用户体验、易用性、可操作性下降,并增加系统复杂性、维护和运营成本;因此要将主要精力放到那20%功能的开发上。


   2. 对于核心产品,业务规则和逻辑的设计万不可草率,并且不要集中由“一类”人去做;要从全局的角度制定业务流程,最好一开始就将最终使用和开发者纳入业务流程、规则、逻辑设计队伍。并充分讨论精简后完成产品的整体构架设计,然后进入编码阶段。综合考量成本/效果的比例,舍弃对系统可能产生混乱的设计,并想办法最寻找简单的替代方案。而且尽可能一开始就确定数据库的主体框架,而非去制定每一步的细节。


   3. 对于功能宠大、业务复杂的系统,我认为用户需求接受比在 5:3:2 左右是正常的, 相当于10条需求中有5条可以完全接受的,有3条需要将实现方式略加改变而达目的,但一般有1~2条无法实现是正常的,因为可能会对系统造成较大的复杂性或不利于扩展,而且很有可能跟现有系统的功能产生冲突。不利于系统结构最简化,增加系统运营成本的不可控风险。


   4. 当公司的主打产品经历过数次功能扩展、升级后,而造成的构架复杂性、数据库负载、稳定性、可操作性和用户友好度下降达到一定程度时,就应该考虑将关联性不大的功能分离成相对独立的几个系统,只进行核心数据表进行共享,以此增强各个分系统的可重用和可靠性。从而避免只向一个大型系统输出复杂性,造成可靠性下降,以及维护、运营成本的上升。


标签:需求,经验,复杂性,系统,用户,系统分析,20%,规则,一些
From: https://blog.51cto.com/u_548275/6237830

相关文章

  • 手记系列之四 ----- 关于使用MySql的经验
    前言本篇文章主要介绍的关于本人在使用MySql记录笔记的一些使用方法和经验,温馨提示,本文有点长,约1.5w字,几十张图片,建议收藏查看。一、MySql安装下载地址:https://dev.mysql.com/downloads/在安装MySql之前,查看是否以及安装过MySql,如果已经安装,但是不符合要求的话就卸载。如......
  • docker一些常用命令
    dockerversion:查看Docker版本信息。该命令可以查看当前安装的Docker版本信息,包括Docker引擎、客户端、API等版本。dockerinfo:查看Docker的详细信息。该命令可以查看Docker的详细信息,包括容器、镜像、网络等。dockersearch:搜索DockerHub上的镜像。该命令可以在DockerHub上搜......
  • PHP连接MYSQL的一些操作
    PHP5以及版本使用允许以下方式连接MYSQL:MYSQLiextensionPDO(PHPDataObjects)1.连接MYSQL//MYSQLi-面向对象<?php$servername="localhost";$username="username";$password="password";//创建连接$conn=newmysqli($sername,$username,$p......
  • 面试经验4-27
    一、解释一下为什么发生tcp的粘包现象,以及怎么解决?tcp为了节约资源采用的是流式传输。接收端一下接收了多个包,粘在了一起。多个包首尾相接,无法区分是哪个包。原因:发送方等发送缓冲区满才发送,接收缓冲区等满了才接受,多个包合成一个发送。解决方法:不允许发送缓冲区满才发,提高优先......
  • 使用findIndex查找并做一些操作
    1.查找指定数据并删除letfindIndex=arrItemsApprover.findIndex(item=>item.zusrid===oObject.zusrid);if(findIndex!==-1){ arrItemsApprover.splice(findIndex,1);}2.查找指定数据并添加属性arrData.forEach(item=>{if(selectApproveUserData.findIndex(i=>item......
  • 1.3 关于双指针的一些总结
    这篇内容主要是针对双指针的一些总结,方法比较巧妙,主要核心原理就是:有一个快指针fast、一个慢指针slow,slow指针主要作用就是存储真正的数组(也就是处理之后的结果),fast是辅助寻找元素,然后往slow里面放。典型例题:描述:给你一个数组nums 和一个值val,你需要原地移除所有数值等于......
  • 调试经验2
    1.多级上电需要注意,后级电源要晚于上级电源上电,否则可能会出现休眠尚未电掉完,立即启动,输入电高于输出电导致输出没有供上的问题2.32位系统运算,超过32位的运算结果会溢出,需要使用U64强制转换运算成员和结果,这样32位系统会自动适配3.多次握手机制。多次握手重启优化:握手每次发不......
  • Spring Boot经验
    Spring、SpringBoot经验本文记录作者在实际使用Spring或则SpringBoot过程中遇到比较好的案例或则经验,以供开发学习使用1.校验篇生产过程中前后端都会进行数据格式的校验,后端校验一般采用JSR303的校验模式1.1使用引入依赖<dependency><groupId>javax.validation<......
  • 做BI财务数据分析,国产BI软件经验更足
    不管是为了提高销售额,还是为了提高库存周转、疏通现金流,都离不开数据分析,特别是BI大数据分析可视化。因此这几年来BI软件在各行各业的接受度迅速提升,特别是在财务数据分析方面,国产BI软件更是经验、技术到位。要说做中国企业的BI财务数据分析,国产BI软件的经验比谁都足。1、国产BI软......
  • windows【7】:匿名共享访问的一些关键点
    服务器端:必须启用(enable)guest账号guest账号必须不能设置密码——密码留空ntfs文件系统上给相应的文件、文件夹分配guest(或guests组)相应权限share共享上也分配相应的权限 ......