Fork me on GitHub

UML(3)

面向对象系统分析与设计(3)

晦涩的概念

  • 做系统分析的目的:理解既有系统的功能、更好地满足未来的需求。
  • 做分析的几个阶段:收集相关信息;确定需求;为需求制定优先级;需求间的取舍;审核。
  • 做分析的技巧:从调查中发现本质;分析员应当了解业务细节和日常操作的流程;分析员要表现得像业务员一样尽可能地了解业务;分析员对问题要有独特的视角;从需求出发为业务过程建模。
  • 新系统需要具备什么特性?
    • 功能性需求(需要展示出必备的功能、需要建立在业务的基础上、需要有分析建模的记录文档);
    • 非功能性需求(技术性的环境、可用性、可靠性、安全性需求)。
  • 系统分析所涉及的人员有三类:用户(消费者)、商家、技术人员。
    • 意思是,这三类人是某个业务的直接使用者(比如每天都在使用这个业务)。
    • 用户 user:横向延伸:可以按照部门、机构划分;纵向延伸:可以按照收银员(负责每日的业务操作)、中层管理者(负责提炼出必要信息)、高管(负责策略问题)等身份划分。
    • 技术人员 techniques 可以分为三类:
      • Business Process Automation(BPA)。工作内容:维持系统日常运行([理解]类似运维人员,轻微的技术变动)
      • Business Process Improvement(BPI)。工作内容:改进系统([理解]类似开发人员,技术小改)
      • Business Process Reengineering(BPR)。工作内容:为系统进行规模性的改造([理解]类似于架构师,技术大改)
    • 对技术人员的要求:
      • 会收集资料;
      • 理解既有业务;
      • 找到业务的缺陷点;
      • 提出改进的设想;
      • 改代码;

技术人员之 BPA

  • 目标:让用户(user)有更好的使用体验
  • 工作内容:
    1. 理解既有系统。(对既有系统:收集信息、过程建模、数据建模)。
    2. 找到业务的缺陷点。
      • 分析问题:直接问 user 哪里有问题;尽量做简捷地、增量性的改动;尽量寻找一些小改动(但能够给系统带来巨大的提升)
      • 问题溯源:对于问题的来源,要大胆假设、小心论证。
    3. 提出改进的设想。
      • 少量信息收集
      • 按照设想改进当前系统

技术人员之 BPI

  • 目标:保证系统的效率
  • 工作内容:
    1. 理解既有系统(同 BPA,不赘述)
    2. 找到业务的缺陷点。
      • 对业务时长的管控:分析业务中每一个子过程的时长和总时长(如果两者有巨大的差异,可能说明进度拆分得过于细碎),解决办法:
        • 将进度整合起来,用更少的人、负责更多的工作;
        • 并行化,让某些步骤能够同步发生。
      • 具体行为的开销:计算每个步骤的开销(考虑直接开销和间接开销);找到开销最大的地方并采取措施尽量改善它。
      • 标准化:从其他优秀的企业借鉴(学习如何处理类似业务的经验);
    3. 提出改进的设想。
      • 收集一定量的信息(moderate)
      • 按照设想改进当前系统

技术人员之 BPR

  • 目标:对于业务进行大幅度改进
  • 工作内容:
    1. 理解既有系统
      • 对业务整体建模
    2. 找到业务的缺陷点
      • 当前使用效果分析(以用户的视角、并考虑系统能为用户提供什么功能)
      • 技术分析。列出重要的技术(分析员和管理员的工作)、并确定技术是如何发挥效用的。
      • 业务精简。测试:如果强行去除某些业务会不会有不好的影响
    3. 提出改进的设想
      • 收集大量信息
      • 按照设想改进当前系统

以多个维度比较 BPA/BPI/BPR

BPA BPI BPR
商业价值
项目开销
分析的范围 较窄
风险 中低 中低

收集信息的技术

  • 以前的套路是:为既有系统建模,然后从模型中获得需求。
  • 现在的办法是:为新系统确定有条理性的需求,然后平衡已有功能和新需求的关系。
  • 收集技术有:
    1. 问卷调查;
      • 你做的是什么?(潜台词:业务是怎样的流程)
      • 下一步做什么?(潜台词:这些操作有什么表现)
      • [理解]把核心问题,以口语化的形式向 user 咨询。(阿辉注:这种内容也能当课件?手动黑人问号脸。后面还有着正装、不要迟到,说谢谢。。。太傻了,略略略)
      • tips:避免带有引导性的问题
    2. 对用户进行调研;
      • 分成开放性问题和固定答案性问题两种。
    3. 研究旧系统的文档资料;(来自专业组织、出版商等)
    4. 观察实际的业务过程;
    5. 借鉴商家/同行的解决办法;
    6. 构建模板类型;(注重简约、可操作性、敏捷)
      • 模板的优点:易修改、开发者体验好、对 user 体验好
      • 模板的缺点:扩展较难,有些时候使用模板会让事情变得更糟
  • 提问问题的逻辑关系:
    1. 金字塔型:以单个、具体问题入手,询问对某一大类问题的看法。特殊-普通。
    2. 漏斗形:从普遍性问题入手,询问对某一具体细节问题的看法。普通-特殊。
    3. 纺锤型:特殊-普通-特殊。

信息系统

  • 分类:
    1. Transaction processing systems TPS,交易系统。
    2. Management information systems MIS,信息管理系统。评价:中级。
    3. Decision support / knowledge-based systems DSS/KBS,知识系统/决策支持系统。评价:中级。
    4. Enterprise applications,企业级应用
    5. Communication support systems,沟通系统
    6. Office support systems,办公系统

剩下的都是低级系统。
最高级是可执行性的信息系统和 DSS 集团系统(上文未列出)

-------------The End-------------