软件方法读书笔记01

前置问题: 利润 = 需求 - 设计。
    需求:从卖的视角、具体的实际问题来考虑,将产品当做项目来做一步一步来走。
    设计:从做的角度、抽象的问题模型来考虑,将项目当做产品来做尽力做出彩。
    综述:设计源于需求而又高于需求。
    
    需求规约(如何考虑):
    组织要解决什么问题                                     => 业务建模
    为了解决组织的问题,待开发的系统应该提供什么功能和性能 => 需求        以上2部分考虑如何提升销售的问题
    为了提供功能,系统内部应该有什么核心机制               => 分析
    为了提供性能,系统的核心机制如何用选定的技术实现       => 设计        以上2部门考虑如何降低成本的问题

    组织          <==>             组织               组织及组织之间是业务建模考虑点
    系统          <==>             系统               系统外部和系统之间是需求考虑点
      =>      系统的核心域          <=                系统内部的核心域是分析考虑点
      <=     系统内部&核心域外部    =>                系统核心域基础上的表示、存储、协议、消息等是设计考虑点

0-愿景:确定一个从系统角度出发的非功能描述的范围合理的具体的目标。
    关键点:系统角度、非功能性描述、范围切记太大、一定要具体的目标不要说宽泛的废话。
    愿景格式如下:
        系统:xxxx系统(从系统角度出发,别放大到整个组织)
 老大:xx部门总监(老大指会花钱买这个系统的人,或对购买起着关键作用的决定人)
 目标(度量指标):(勿拿组织目标当系统目标太宽泛)
 提高xxx人员的工作效率
 减少xxx人员的错误率
 提高xxx工作的准确性

1-组织建模(业务建模): 记住你开发的系统只是要替换掉组织中的人工成本,所以建模的对象是组织而不是系统。
    关键步骤:
    1.确定建模组织:(组织的选取需要站在主要利益方和渉利群众的角度考虑,勿草率选取公司这种大范围的组织。对于互联网项目,应该选取项目的目标人群做组织。)画一个圈,把大多数责任可能被(部分/全部)替换的系统(人肉系统/电脑系统...)包在里边。
    
    2.画出组织(业务)用例图和序列图:(从外部看,可以用业务用例图表示组织。从内部看,可以用业务序列图表示组织。)
      研究组织的目的:把系统的价值和组织的价值挂上钩,给组织一个购买系统的理由。
    
 1). 业务用例图:
     a.确定业务执行者:寻找组织的执行者(业务执行者),在组织之外和组织交互的人。(业务执行者是一个组织或人群,而非系统。)
       思考方式:摄像机对准组织边界,谁找组织办事、谁发邮件给组织...等等,谁就有可能是业务执行者。
     b.确定业务工人和业务实体:业务工人是位于组织内部(业务执行者在组织外部)的人肉系统,即组织内的工人,而业务实体就是组织内部的非人工的系统。
       业务工人和业务实体是组织的成本而非价值,所以其不在业务用例图中出现,而是放在“业务对象”的包里。识别业务执行者时不需要画业务工人和业务实体,在画业务序列图时候加上即可。
            c.业务用例和业务流程:把业务流程看作是业务用例的实现,将其组织在业务用例下面。组织里发生的一切都为了给业务执行者提供价值。
       识别业务用例:第一条路线,也是主要路线,方法是从业务执行者开始,思考业务执行和组织打交道的目的。思考的焦点是“执行者对组织的期望和组织对执行者的承诺”的平衡点。第二条路是通过观察组织的内部活动,一直问为什么,向外推到组织外部的某个业务执行者。
       主要执行者和次要执行者:执行者指向用例,这种执行者为主要执行者;用例指向执行者则为次要执行者。如:“出版社→推广书籍→外部译者”可以这样解读:为了给出版社提供推广书籍的服务,组织靠自己的力量不足以完成,需要找外部译者帮忙。
       注意:业务用例是组织为组织服务,在不同的场景中,两个组织的系统形成不同的交互。业务用例是组织的,而不是组织内某个系统的用例。
       

 2). 业务序列图:业务流程有三种描述方式:文本方式、业务活动图方式、业务序列图方式。文本方式生动感欠佳不推荐,业务活动图是主流方式,但推荐的是业务序列图。UML的交互概述图是采用活动图的形式将各个场景的序列图串起来,相当于结合了活动图和序列图的特点。

原文地址:https://www.cnblogs.com/jiaoaoshirenjinbu/p/13033674.html