框架选型决策分析案例(个人笔记)
来源:互联网 发布:腾讯数据实验室 编辑:程序博客网 时间:2024/05/18 16:37
1.概述
1.1. 决策目的
选择功能满足需求,开发文档齐全,适合本项目特点的Java持久层框架。
1.2. 参考资料
无
2. 评价方法
采用Delphi方法进行评价,评价步骤如下:
1. 明确决策问题,选择成员(项目组成员、相关领域专家等)形成评价小组,
2. 评价小组讨论确定评价项与评价准则,并制订评价表;
3. 每个小组成员不记名对可选方案进行投票或者打分。
4. 主持人整理结果开会讨论后,重复进行[Step3]直到选择的方案集中为一种或符合评价准则的方案。
5. 依据评价准则选择投票集中的方案或分数满足评价准则的方案为决策方案
3. 评价准则
序号
评价指标
指标分值
评分
1
开发工作量
30
2
开发规范性
30
3
安全性
20
4
开发难度
10
5
运行效率
10
4.参与人员与权责分配
角色
职责
人员
项目经理
负责决策分析报告的组织编写
pm
评审人员
参与对于技术方案的评审
a1、a2
打分人员
参与最后的决策分析打分
pm、kf1、kf2、kf3、UI
QA
参与技术方案的评审,检查工作产品
qa
5. 可选解决方案
5.1. 方案一
Hibernate框架
优点:
1. 表结构对于前端开发人员是不可见的,安全性高。
2. 涉到业务逻辑部分的数据库操作必须在数据库层由存储过程实现,规范性好。
3. 前端开发人员不必考虑数据库表,节省时间。
4. 中数据间移植性好。
5. 公司JAVA项目已使用此框架,可以参考借鉴。
缺点:
1. 对于数据量非常大的应用,无法去优化sql语句。
2. 不容易掌握。
3. 产生大量的多余class,运行效率较低。
5.2. 方案二
iBATIS框架
优点:
1. 可由开发人员自己来写sql语句,灵活性好。
2. 容易掌握。
3. 可以进行细粒度的优化,运行效率高。
4. 可维护性好。
缺点:
1. 半自动化,开发工作量大。
2. 数据库间移值性差。
3. 缺省的 cache 支持不好。
6. 可选解决方案的评价结果
方案
评价指标
指标分值
PM
KF1
KF2
KF3
UI
分数
方案一Hibernate
开发工作量
30
29
28
30
29
29
92
开发规范性
30
30
30
28
27
28
安全性
20
19
18
19
19
19
开发难度
10
7
8
6
8
9
运行效率
10
8
7
9
8
8
方案二
iBATIS
开发工作量
30
26
28
22
23
25
85
开发规范性
30
26
25
27
26
28
安全性
20
18
15
17
15
16
开发难度
10
9
9
8
9
9
运行效率
10
9
10
9
8
8
序号
项目
方案一
方案二
1
评价结果
规范性和安全性较好,整体开发工作量小,已经有较完整的帮助文档。对开发人员要求高,目前配备人员还需要加强培训。
运行效率较高,开发人员容易掌握,帮助资料好找。整体开发工作量较大。
2
最终得分
92
85
考虑到系统主要是在内部网络布署应用,用户数量少,带宽和服务器性能要求方面条件较好,用户对数据规范性、安全性、工期要求方面的要求比较高,决定采取Hibernate框架进行开发。
7. 结论
采取Hibernate框架结合JDBC的方式开发。
8. 审批
审批意见
同意使用方案一
签名
a1
参考:http://blog.csdn.net/juliefish/article/details/12856989
- 框架选型决策分析案例(个人笔记)
- 框架选型决策分析案例(个人笔记)
- 高可用环境硬件选型案例分析
- 现有产品选型和决策依据(抛砖引玉)
- 独家 | 大数据提升政府决策力的实践与案例分析(附PPT和视频)
- 框架选型
- 框架选型
- SpringMVC学习笔记(含案例分析)
- FragmentManager分析(个人笔记)
- 个人投资理财的经典案例分析
- 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
- 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
- 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
- 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
- 框架学习系列二(数据库选型)
- stripes framework(框架)入门教程(附案例分析)
- 管理就是决策(金观涛)学习笔记
- 案例解析|从数据规划、业务分析到管理决策的数据治理方案
- Linux下C/C++代码调用PHP代码
- Fragment基本使用(二)
- HEVC代码追踪(十四):解码之xDecodeSlice
- Mac电脑密码忘记怎么办?
- 南充银行项目总结
- 框架选型决策分析案例(个人笔记)
- JSON 基础 + PHP 处理 JSON + Python 处理 JSON
- IndexOfAny()
- 理解cudaMalloc()的参数
- sql 存储过程 游标执行循环数据
- Oracle不删除用户,导入数据
- 成为Java GC专家(5)—Java性能调优原则
- Android的framework层音量控制原理分析--hot(key)处理
- 微信公众平台开发笔记