本篇介绍[数据知识]DAMA数据管理知识体系—数据开发篇的学习心得,供大家学习和参考。
[核心要点]
简介
数据开发是指分析、设计、实施、部署及维护数据解决方案,使企业数据资源价值最大化。系统开发生命周期包括数据开发,数据开发专注于数据需求的定义、数据解决方案组件的设计和实施。
概念和活动
- 系统开发生命周期。包括相关规范和实施活动如下:
- 计划:范围、业务论证;
- 需求分析;
- 解决方案设计;
- 详细设计;
- 组件开发;
- 测试:单元测试、整合测试、系统测试、性能测试;
- 准备:文档、培训;
- 部署:试运行、上线。
开发方法:瀑布法、螺旋、迭代,并以增量方式逐步交付完整的解决方案。有效的信息系统开发项目应保证数据、流程和技术。
- 数据建模方式。重点强调UML统一建模语言,通过定义几种不同类型的模型和图形,构建面向对象的软件建模,图形化表达,是这一建模的风格特点。
- 数据建模、分析和解决方案设计。这个部分重点讨论7个问题:什么是数据建模?什么是数据模型?概念数据模型、逻辑数据模型、物理数据模型的阶段工作是什么?什么是模型?数据建模的方法公式是什么?数据建模的目的是什么?数据建模因范围和焦点不同的区别?
- 分析信息需求。需求分析包括业务需求的引导、组织、记录、评审、完善、批准和变更控制。
- 开发和维护概念数据模型。业务重点相关的主题域内的可视的、高阶的视角。创建概念数据模型从主题域模型的主题域开始,确定主题域包含的对象,及对象之间的关联关系。什么是实体?什么是关系?
- 开发和维护逻辑数据模型。数据需求和控制数据治理的业务规则的详细描述,涉及两种关键技术:范式化(1NF/2NF/3NF/BCHF/4NF/5NF/6NF/)和抽象化(属性/域/键)。
- 开发和维护物理数据模型。考虑数据库产品系统(DB2/MySql/Oracle/Sybase...)能力下对数据的技术约束、应用、性能、建模标准的优化和详细的数据需求、业务规则的实施工作。
- 详细的数据设计
- 设计物理数据库。包括视图、函数、触发器和存储过程、性能调优、设计文档等;
- 信息产品设计。数据展示、报表、仪表盘等;
- 数据访问服务设计。数据访问对象设计、消息代理、ETL等;
- 设计数据整合服务。整合服务、数据集更新、数据分析服务等。
- 数据模型和设计质量管理
- 开发数据模型和设计标准。实现业务需求、符合数据架构、确保数据质量的相关原则;
- 数据模型和数据库质量设计的评审。评审概念、逻辑、物理数据模型设计,确保业务数据需求的实现和验证;
- 管理数据模型的版本及整合。设计需求变更控制,需要确保随时间推移的版本信息的管理。
- 数据项目实施
- 实施开发和测试数据库变更。DBA负责推进、监督变更,确保数据库不会与逻辑模型失去同步。
- 创建和维护测试数据。DBA协助开发人员在开发环境下测试数据。
- 迁移和转换数据。确保数据转换、清洗,迁移到新的数据库环境中。
- 构建并测试信息产品。DBA协调软件开发人员进行信息产品的开发和测试。
- 构建并测试数据访问服务。DBA对数据访问服务开发负责,符合数据需求及数据访问的业务规则。
- 构建并测试数据整合服务。负责ETL、程序、技术、整合、迁移及数据结构转换。
- 验证信息需求。要响应业务新的需求,不断调整和变更,利用迭代/敏捷方法开发业务需求。
- 准备部署数据。做好业务培训及说明文档,对信息系统进行详尽的说明。
综述
- 指导原则。9个原则,重点涉及系统开发生命周期、数据建模、数据模型、数据管理员DBA等。
- 过程总结。19个活动,对相关交付物、认责角色、批准角色、贡献角色进行说明。
- 组织和文化问题。讨论了数据需求和数据开发的生命周期管控问题。
[观点解读]
通过对以上内容的学习,"数据小兵"对于要点补充解读如下:书中对于数据开发的介绍是从信息系统生命周期的角度进行阐述的,重点对分析、设计、实施、部署及数据解决方案进行了介绍。这里"数据小兵"结合自身经验对于数据开发部分推荐大家重点参考 软考:柳纯录《信息系统项目管理》和 [美] 普雷斯曼《软件工程》内容,书中虽然对系统生命周期及涉及数据需求部分进行了概要的阐述,但没有对于信息系统项目、软件工程整体的内容进行介绍,会让读者感觉到数据开发篇幅相对孤立且内容繁多的感觉,"数据小兵"认为DAMA是为了更好区分数据与IT之间的关系,进而将数据开发部分的内容着重体现数据建模的内容,这是可以理解的。这里建议想对系统开发生命周期及软件工程有深入了解的"数据师"们,应结合相关软件工程实践进行深入学习,才能更好的理解数据开发部分。
概念和活动
书中对于系统开发生命周期、数据建模方式、数据建模、分析和解决方案设计、详细的数据设计、数据模型和设计质量管理、数据项目实施进行了详细的介绍。"数据小兵"认为重点涉及数据需求、数据建模、数据项目实施三部分内容:
数据需求部分,数据小兵推荐大家阅读下御数坊:马占有《数据治理需关注业务多一点点》和 芭芭拉·A·卡克诺德《七步掌握业务分析》、《业务分析知识体系指南》BABOK,数据需求重点在于对业务的深入洞察和理解,如何获取业务的需求需要"数据师"们结合自身的特质和经验开展相关的业务分析实践,由于不同领域、行业、企业、职能对于业务需求的异同,相关术语和数据的理解也是不同的,想大家要从解决问题的角度进行分析,有利于达成共识和数据需求的理解。
数据建模部分,重点涉及概念、逻辑、物理模型。书中对于这部分的介绍是从数据库的建模的相关理解、原则、数据库原理、数据库典型产品入手进行介绍,"数据小兵"认为书中介绍了不少内容,但是未能给读者以体系化的理解,在大学课程中这部分应当为"数据库原理"课程体系,设计的相关范式、设计原理颇多,这里推荐给大家 克罗克 / 奥厄尔《数据库原理》进行深入解读,本人在这里重点强调数据模型内容,这部分对于DAMA数据治理为核心是非常重要的,相关数据库的详细设计部分主要有DBA承担,不同的数据库产品数据库管理也不同,本人早年MCDBA对于SQL SERVER有一些理解,但对于当前的NOSQL以及Hadoop等分布式环境下的数据库存储就需要不断更新啦,这里也提及下技术进步对于从事数据开发的"数据师"来说也是不小的挑战。
数据项目实施部分,书中以系统开发生命周期角度提出数据项目实施中涉及的质量控制、变更控制和不同阶段的创建、转换、测试、评审等。"数据小兵"认为这部分重点仍是从管理视角对数据模型和数据开发提出相关的范围、质量、风险、变更控制,目的就是保证其数据开发的成果符合业务数据需求,对于DBA的职责也是进行了相关的阐述。大家可以结合上面我推荐的书籍进行延伸。
综述
书中对于数据开发的9个指导原则进行了介绍,重点保证数据开发应遵从系统开发生命周期,强调数据模型的递进、遵从关系,结合开发过程提出19个活动,进行详尽的介绍,最后介绍不同组织下数据需求和开发中的管控问题。
[经验体会]
通过本章的学习,"数据小兵"结合自身工作经验,谈一谈理解:
由于"数据开发"通常伴随与信息系统开发的全生命周期中,所以在构建数据开发时往往会确实对"数据架构"部分的遵从和企业整体数据模型的构建,很多企业一直以来对于数据开发的理解都是隐含在业务系统的开发中。这里"数据小兵"重点强调,本章中对于数据开发的设计部分,应纳入整体的"数据架构"开发中,所形成的概念模型和逻辑模型部分,应支撑企业的整体数据模型视图,之后的物理数据模型和数据项目的具体实施。
还有就是,软件工程学科作为IT支撑核心学科,已经具备很多坚实的理论和实践基础。但是,对于数据治理角度下的"数据开发"如何能够有清晰的界定进行阐述,也是值得思考的问题。"数据小兵"认为,业务、数据、IT三者很难清晰界定,哪些是你的?哪些是我的?与其很难去剥离清楚,不如以研究"企业"的整体视角进行解读,更为全面和清晰,目标都是为了构建起企业的综合竞争能力,获得持久的发展。所以,建议大家在多从企业角度考虑业务、数据、IT,这样能够更好的学习本章内容,而不再纠结于具体的细节。
以上,观点为"数据小兵"的学习心得体会,不代表官方观点,欢迎小伙伴们提出宝贵的建议,"数据小兵"将非常感激!
打造"数据思维、数据知识、数据实践"的学习和分享环境,期待大家的参与!我们共同学习和进步!
数据小兵 http://www.fuduo.wang
网友评论