架构设计总计
从接受这个项目到现在项目已经进入全面开发阶段了。今天抽空把需求分析和架构设计简单总结一下:
从这段时间的工作阶段来看,可以分成:需求开发阶段,包括需求获取、需求分析、需求编档、需求评审;领域建模阶段,领域建模、模型设计和求精;架构设计阶段,分解系统,确定架构驱动因素,做出设计决策
从这段时间的工作成果来看,在每个阶段都有对应的文档。
一、这个项目分需求开发阶段
1、 《需求获取计划书》:客户人员安排;我们人员、资料、设备等资源安排;需求获取设想过程;需求获取计划;需求获取可能风险;客户业务活动;客户业务数据;客户组织结构;客户活动和数据分布
2、 和客户相关人员讨论和确认需求计划书,并按照需求计划书执行需求获取
3、 《项目范围文档》制定这个项目的范围
Ø 以收购、采伐、销售业务为中心,包括造林、管护的基本信息,这些基本信息用于支撑采伐销售业务信息处理。
Ø 能够准确统计林班小班因子的面积、蓄积、树种、树龄等信息
Ø 能够计算出每个林班的采伐收益(单次采伐和累计采伐)
Ø 采伐生产及销售管理
4、 《项目术语文档》名词解释
林班 |
区域单位名称 |
标准地 |
标准样区 |
活立木蓄积 |
长在地上的树木蓄积 |
出材率 |
材积/蓄积 |
5、 《包图》或者《顶层用例图》:给出企业用例,企业环境图(类似DoDAF的OV1)
6、 《用户用例图》:给出用户使用系统完成的业务(类似DoDAF的OV5)
7、 给出活动图(类似DoDAF的OV5)
8、 给出部门、活动节点图(类似DoDAF的OV2)
9、 根据8的信息流,规划信息属性(类似DoDAF的OV3)
林班固定信息 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
省 |
地区 |
县市 |
乡镇 |
村名 |
小地名 |
林班编号 |
土壤 |
土层厚度 |
A+B层厚度 |
降雨量 |
海拔 |
坡度 |
立地质量等级 |
交通 |
收购合同 |
|
杉初始蓄积 |
松初始蓄积 |
杂初始蓄积 |
竹初始蓄积 |
坡向 |
坡位 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
林班立木信息 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
优势树种 |
树种组成 |
起源 |
育闭度 |
龄组 |
每亩株数 |
林班编号 |
平均胸径 |
平均树高 |
亩林分蓄积 |
小班林分蓄积 |
经营类型 |
是否纠纷 |
|
|
杉标地蓄积 |
松标地蓄积 |
杂标地蓄积 |
竹标地蓄积 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10、 建立数据模型(类似DoDAF的OV7)
11、 业务规则模型(类似DoDAF的OV6)(没有内容)
二、领域建模
1、 把领域模型分成四个层:基础数据、业务数据、业务逻辑、业务目标
2、 确定每个领域模型对象之间的使用关系
3、 画出模型
4、 设计领域模型:关注层和层之间的接口;关注每个层内部结构;(设计后的模型略)
5、
三、架构设计
1、确定系统架构设计的质量属性:安全和复用。时间半年左右。(类似DoDAF的SV7)
2、模块化分图:确定系统大的模块。根据顶层业务流程图和质量属性,然后做适当分解和合并,得到下面模块
3、确定模块、包间关系和数据交换:模块、包间关系包括:使用、分层、继承关系;确定模块功能;(类似DoDAF的SV2)
4、确定用例、功能 两者的可塑性矩正(以顶层用例为例,两外要在原来用例基础上加上系统质量属性安全和复用特性,同时分离出了工作流、业务逻辑层计算蓄积、业务逻辑层计算收益)(类似DoDAF的SV5)
用例和属性 |
功能 |
顶层用例中所有和数据库进行持久化和检索 |
保存、检索 |
成本 |
计算蓄积、计算收益 |
安全属性 |
加解密、权限 |
所有单据的处理流程 |
流程处理 |
5、根据上一步骤对顶层的功能进行描述,同时给出信息流(类似DoDAF的SV4)
加密:对用户想数据库中提交的数据进行加密,输入参数是对象,返回值是对象,但是属性值被加密了。如果是对象集合,处理方式类似
6、给出系统接口图,并对接口进行描述(类似DoDAF的SV1)
7、给出系统(模块)信息交换矩阵:详细说明系统(模块)之间数据交换
应用层向蓄积计算层提交自然增长计算公式、和林班具体信息,蓄积计算层返回计算结果给应用层
8、确定系统实现技术和使用框架
9、给出部署图
10、给出模块任务分配表
11、给出模块实现文件列表
四、模块内部架构设计重复上述架构设计。