功能模块划分和技术点

从前面的几篇文章,我们已经知道了一个需求经过怎么样的产品跟技术之间的沟通或者PK之后,才能确定下来。当我们有了完整的需求之后,再接下来的一步就是做功能分析和技术选型,以及架构设计。

但是,很重要的一点是,需要再次提醒一下。一定要问清楚后期产品上的计划,因为这影响到技术的选型,以及架构的设计。

好了,让我们开始来抽取实体和划分模块。

实体及关系

文章:

  • id
  • 标题
  • 作者
  • 分类(多对一)
  • 标签(多对多)
  • 摘要
  • 正文
  • 状态
  • 发布时间

分类:

  • id
  • 名称
  • 状态
  • 作者
  • 创建时间
  • 是否置顶导航

标签:

  • id
  • 名称
  • 状态
  • 作者
  • 创建时间

友链:

  • id
  • 网站名称
  • 链接
  • 作者
  • 状态
  • 创建时间
  • 权重

评论:

  • id
  • 文章(多对一)
  • 用户名
  • 邮箱
  • 网站地址
  • 内容
  • 创建时间
  • 作者

侧栏:

  • id
  • 标题
  • 类型(最新文章/最热文章/最近评论/内容)
  • 内容
  • 创建时间
  • 作者

到此,实体及关系就梳理清楚了,可以看到文章是所有实体的中心。我们可以通过在线的ER图工具,把结构画出来。

在线ER图工具:https://editor.ponyorm.com/user/pony/PhotoSharing

模块划分

上面我们已经建立好实体了,接着就需要多功能进行模块划分,划分的好处是让系统结构更加清晰,模块和模块之前相互解耦。同时对于多人协作的项目来说,可以独立分配一个模块进行开发。

首先网站功能整体来说,分为用户端和管理后台。这算是一个大的分类。

用户端的功能又可以分为:内容模块,评论模块,侧栏模块,功能模块。内容模块是指首页,分类列表页,标签列表页,友链页;评论模块是指用户添加评论,展示评论的部分;侧栏模块是指博客侧边栏展示的内容;功能页是指sitemap页面,rss页面。

管理后台可以纵向和横向分割,横向的话就是按照模型层,业务层,操作页面。纵向的话就是指比如文章的模型、业务层,操作页面(展示层)作为一个部分,另外的模型,业务,展示划分为另一部分。

我们通过思维导图来看下最终的结果。

博客需求分析思维导图 密码: GTDL

总结

到此为止,我们通过对需求的评审和整理,最终得到了明确要开发的功能。然后对功能进行了实体抽取以及模块划分。后面我们需要做的就是,在已经清楚知道要开发什么功能之后,如何进行技术选型。一个好的技术选型不仅能够提高开发效率,也能降低维护成本。

下节课我们将会选几个常见的Python Web开发框架进行分析对比。

results matching ""

    No results matching ""