• OOA/OOD阶段步骤及主要产品


    一. 需求阶段

    1.      需求阶段使用use-case图描述需求

    顶层use-case:粗粒度地描述系统,给出系统的概况

    细分use-case:将顶层use-case细化

    Use_case图的方法是:从参与者开始寻找用例,用use-case diagram来表示参与者与用例之间的关系。

    Use-case描述的方法是:就是use-case规约,用详尽的文字来描述用例的执行流程(包括主业务流程及所有分支流程及异常流程)。

    Active diagram:可选,类似业务流程图,业务比较复杂时,用流程图来描述业务。

    注:use-case图和use-case描述,是整个系统设计的主要产品,今后的分析和设计,都将围绕这两个产品进行。以前看过的好多资料,都没有讲到这一点,use-case的作用非常大,将贯穿分析到设计到编码的全过程。

    二.分析阶段

    分析阶段的主要工作,是围绕use-case图,及use-case规约,从中寻找参与系统的各种对象。

    1. 用sequence diagram来描述use-case的执行过程(包括主流程及备选流程):

    方法:a.从参与者开始,寻找参与系统流程的对象

           b.依照参与者à边界类à控制类à生命周期类à实体对象 的次序,区分各对象的职责,将参与系统的各种对象,依次添加到sequence中。

           c.从后向前验证序列,检查每个对象是否拥有它提供服务所必需的信息。如果没有,需要重新考虑对象的职责划分,确保每个对象有相应的方法或通过调用能够找到必需的信息。

    注:分析阶段,不应涉及到具体技术。关注的重点还是系统做什么,而不是怎么做。

    思考:1.现有项目,往往技术是已经确定的,这种情况下,分析应该关注什么内容?

    2. 生命周期类,是开发中工作量较大的部分,也有很多可选的frmework来支持,常用的有自己实现DAO、hibernate等技术路线。

    3. 分析阶段,已经确定了系统中的package。有一点要注意,package一定要根据业务来进行划分,而不是在系统建立时,就根据客户的意见来强行划分包。根据包之间最小依赖关系,来划分包,并注意一定要避免包之间的相互依赖。

    三.从技术的角度考虑系统技术方法及软件构架

    主 要工作是为边界类、实体类、控制类选择候选技术。但往往项目已经是确定了技术路线的,比如我们公司项目已经规定使用J2EE技术。但即便如此,也有很多地 方需要考虑。比如是使用JMS通信,还是自己实现Observer。是使用EJB,还是不使用。个人认为,使用EJB一定要慎重。

    这部分工作需要系统设计经验比较丰富的人来做,因为技术路线一时选错,对系统后期带来的不良影响是十分大的。

    根据可扩展性、可维护性、可靠性、可伸缩性的综合考虑,来确定系统的构架。

    四.设计阶段

    设计阶段,同样围绕use-case图及use-case描述来进行,和分析阶段的不同,是加入了选定的具体技术,同时使用面向对象的理论及设计模式等,对系统进行设计。

    使用UML的建模工具,在设计阶段产生的产品,主要有两大作用:一是便于交流,也便于修改。二是便于进度安排和工作分配。

    五.实现阶段

    实现阶段是针对设计阶段的产品,编码来进行系统的实现。

  • 相关阅读:
    商品房买卖合同备案
    收房注意事项!--经典!
    商河水木清华业主告媒体书
    商河水木清华全体业主告开发商书
    商河县水木清华全体业主给县委县府的一封信
    大家不要在水木清华买房子了,我的都一年了,还没交房!
    呼吁所有商河水木清华业主拒绝不合理的交房流程
    说说无耻的商河水木清华开发商2013"交房
    拒绝无效的“交房”写给所有商河水木清华业主
    iframe 里的高度适应的问题
  • 原文地址:https://www.cnblogs.com/coffee_jiahui/p/3786602.html
Copyright © 2020-2023  润新知