1、功能树

作为需求分析的手段,功能树是一种框架性工具,有助于需求分析人员一层一层地选择确定系统必须具有的各项功能与特性。作为需求分析的结果,功能树是一种功能表达结构,将“功能大类”、“功能组”和“功能项”的隶属于支持关系以“树”的形式呈现出来。

1.1、与功能模块区别

  • 功能树是一种功能分解结构,功能模块则是对系统进行结构分解的结果示意图。
  • 功能树刻画的是问题领域,功能模块刻画的是解决方案。
  • 功能树属于需求分析层面,功能模块属于设计层面。
  • 功能树是架构师从上游得到的,功能模块则是架构师亲自设计出来的。

2、粗粒度功能模块

从功能组到功能模块是粗粒度功能模块划分的常见手段。

2.1、获得功能树

总体而言有三种途经:1)拿到文档;2)进行沟通;3)分析产品。

功能树除了树状结构之外,还可能是列表结构、表格结构或者功能框图结构等。

2.2、评审功能树

  • 一是面向使用,体现使用价值。
  • 二是覆盖全面,没有范围遗漏。

2.3、粗粒度模块划分

一方面,业务上紧密相关的一组功能在实现上常会涉及相同的函数、类、数据结构等。因此将这组功能映射到一个功能模块,有利于设计的高聚合、松耦合,还有利于程序小组之间的分工。

另一方面,一些公共服务(例如报错处理、Log日志、安全验证)会用于同时支持多组功能的实现,它们不单独属于任何“功能模块”,应当进行独立的模块化,将这些公共服务分别放入相应的通用模块或通用机制中。

模块划分-1 功能划分相关推荐

  1. 数据库的垂直划分和水平划分

    数据库的水平划分和垂直划分很早以前就接触了,只是没有实践,没有什么体会,只有最近两年才有接触,今天也和大家聊聊. 垂直划分 按照功能划分,把数据分别放到不同的数据库和服务器. 当一个网站开始刚刚创建时 ...

  2. ORAN架构和功能划分

    具有O-DU和O-RU的eNB或gNB的架构如下图所示.LLS-C和LLS-U分别提供LLS接口上的C平面和U平面. 在这个架构中,O-DU和O-RU定义如下: Lower Layer Split C ...

  3. bim软件功能划分可以分为几类?用于revit的出图插件

    bim软件功能划分可以分为几类?如果bim软件按功能划分的话我觉得可以划分为三个类型,当然这都是我自身的理解,并不代表整个行业就是这样认为,欢迎大家一起交流,下面我就来说说我所觉得的bim软件功能的三 ...

  4. 【二代示波器教程】第3章 示波器设计—功能划分和准备工作

    第3章       示波器设计-功能划分和准备工作 本章节主要为大家讲解示波器的系统框架设计. 3.1 功能划分 3.2 任务优先级安排 3.3 按分类封装各种变量 3.4 选择编译器最高等级优化 3 ...

  5. 用计算机实现智能解题,浙江省信息技术学考复习模块2——计算机功能、智能处理、字处理...

    信息技术复习模块2 (计算机功能.智能处理.字处理) 一.知识梳理 (一)计算机的基本功能与特征: (1)计算机的基本功能:计算机只是一堆由集成电路构成的高速电子开关,只会按照程序的规定执行指令.计算 ...

  6. 快消品行业ERP系统仓储模块应该包括哪些功能?

    一.摘要 因为同事离职,他负责开发的仓储模块由于: 耦合性强,与生产.销售等模块耦合太紧密: 模块内部复用性差,一些公用功能(主要是规则检测):物料账期检测,仓库可操作时间控制,先进先出控制等没有独立 ...

  7. SAP总账模块的基本功能

    总账模块(General Ledger,GL)是"总分类账会计模块"的中文简称,它是财务会计(FI)模块的一个子模块,它是一切会计事务处理的核心模块. 它的基本功能有会计科目设置. ...

  8. python程序设计实验报告实验程序流程序列化_Python使用pickle模块实现序列化功能示例...

    本文实例讲述了Python使用pickle模块实现序列化功能.分享给大家供大家参考,具体如下: Python内置的pickle模块能够将Python对象序列成字节流,也可以把字节流反序列成对象. im ...

  9. boost::describe模块实现连载功能的测试程序

    boost::describe模块实现连载功能的测试程序 实现功能 C++实现代码 实现功能 boost::describe模块实现连载功能的测试程序 C++实现代码 #define _CRT_SEC ...

  10. boost::describe模块实现打印功能的测试程序

    boost::describe模块实现打印功能的测试程序 实现功能 C++实现代码 实现功能 boost::describe模块实现打印功能的测试程序 C++实现代码 #include <boo ...

最新文章

  1. PHP的学习--PHP的引用
  2. 数据库里any 和 all 的区别
  3. cmd变量,参数,for循环,
  4. 【v2.x OGE-example 第一节】 绘制实体
  5. 编程题A+B Format的总结(第二次作业一)
  6. block学习(一)
  7. Python字符串的encode与decode研究心得乱码问题解决方法
  8. js setTimeout 使用方法
  9. 阿里云联合顶级卫星影像公司发布数字地球引擎
  10. 默写标准答案0917
  11. Python Turtle画分形树理解递归
  12. linux下的chromedriver驱动器配置实例(含代码)
  13. js获取字符串出现最多的字符和次数
  14. 合并两个有序数组的三种方法
  15. 安利4款良心的时间轴软件,建议收藏!
  16. 物联网智能空气环境监测系统解决方案
  17. 物联网传感技术——压电式传感器
  18. PMP49个过程组知识领域ITTO汇总 -- 项目采购管理
  19. 基于MATLAB视频的人体姿态检测
  20. 博图SCL编程——多种情况下的开关阀控制

热门文章

  1. 教你自己搭建一个ip池(绝对超好用!!!!)
  2. FBreader多端同步心得补充
  3. 密码学、信息安全、信息隐藏(论文)
  4. windos系统如何获得超级管理员权限
  5. 查询计算机ip地址的方法,计算机的ip地址查询的几种简单方法介绍
  6. 广和通L610_ADP对腾讯云通信笔记——02(STM32F411控制L610)
  7. 刀具磨损类论文观后总结
  8. 十分详细的React入门实例
  9. Unity Shader学习-单张纹理
  10. Dell PowerEdge RAID控制器存在一个潜在问题