zoukankan      html  css  js  c++  java
  • 根据产品原型结合主流程抽取类,属性以及关系

    最近又开始做项目,一直对软件构建流程中的需求分析与设计没有很明确的节奏,这次想根据我们团队的开发节奏边做边整理,希望固化这些东西不用每次都思考,
    不能说是最优,但起码能够给一些没有固定打法的同学一些建议。

    找出主流程对应的页面

    相信会有很多人在拿到原型之后会不知所措,不知道怎么看原型,不知道怎么抽取核心业务,不知道根据核心业务怎么抽取类,
    前面的一篇博客可以给你一些思路:根据产品原型如何抽取主流程
    以前一直没有找到主流程的意义,现在终于知道,它的确可以指导我们看原型而且不会偏离主业务。
    这第一步就是:我们根据主流程的流向和节点可以找出对应的页面。

    在页面上找名词

    根据主流程找到页面之后,从左到右从前到后一个名词都不放过,
    把你所有认为可以作为备选的全部列出来。

    根据你列举的所有名词,做以下操作

    走到这一步你会发现,你的名词列表会很多,别着急做一下操作可以帮助你简化你的名词列表。

    确定每个名词的含义

    在做项目中我们难免会做超出我们认知范围内的领域知识,找产品和客户搞清楚这些名词的含义这一点很重要,
    因为一旦这个名词作为类之后,可以帮助我们确定这个类的职责。

    去重名词

    如果两个名词在概念上比较相似,但是表面词语不太一样的可以将这两个词归为一类,
    删除多余的名词。

    对名词分组

    有一些名词都是可以分到一个组中去的,比如:程序员,人事,cto,都是公司的员工,
    所以可以分到员工组中。

    验证你的名词列表是否符合业务

    根据流程图,找到对应的页面,一个一个页面去验证:
    流程里的所有名词是不是都有对应的类(或者类里的属性),
    如果没有的话,就说明不符合,如果都覆盖了,就说明满足。
    注意:
    一个系统不会有太多的名词,名词越精简越有利于你理解系统。

    建立类图

    你可以根据你的名词列表建立对应的类图,这个时候不用体现属性。
    给每一个类确定一个职责,因为只有明确这个类的职责定义清楚,你才可以确定哪些属性应该放到哪个对象上。

    确定类关系

    一个系统中的类不可能独立存在而和其他的类没有任何关系,那这个类可以考虑删掉了,
    我们需要梳理清楚某个类都和其他的类有什么关系。
    确定类的关系,可以参考另外一篇博客:我对uml类图关系的理解

    填充类属性

    根据类的职责结合原型中的信息,将属于这个类的属性放到这个类上。
    注意:
    在类图上添加属性的时候,只存放属于自己的属性,所依赖的对象可以通过关系去体现。
    比如:学校和学生是一个单独的类,学生里要有一个学校的属性那这个属性要不要在类图上体现,
    建议是通过关联关系或者依赖关系的图形表示。

  • 相关阅读:
    [转]了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult
    [转]XPath 语法
    [转]XSL 语言
    [转]项目经理面试指南
    [转]《精通css》笔记1:css选择器与优先级
    [转]jQuery 简介
    [转]Android 70道面试题
    [书目20130316].NET应用架构设计:原则、模式与实践
    [转]XPath语法 在C#中使用XPath示例
    [转]Android面试3
  • 原文地址:https://www.cnblogs.com/wangsen/p/5129612.html
Copyright © 2011-2022 走看看