架构管理的必要性
很多的系统建设项目在项目建设的过程中会发生变更,诚如项目管理知识培训所说项目唯一不变的是变化。而这种项目变更又有大小之分,比较小的变更究其原因可能是提升用户体验或功能优化的想法对项目整体的里程碑进度影响不大,但是如果出现一些涉及到项目架构的变更就会对项目整体的进度产生极大的影响,而且这种变更是组织应该极力避免的。想要避免这些变更组织就需要进行统一的架构管理。
另一方面组织的科技建设是一个整体,如果没有一个总体的架构管理。每个系统在建设的过程中都有自己独特的架构设计,那么就无法对系统进行统一管理。系统后期的维护成本会非常高昂,依赖于特有的资源和供应商,基本等同于重建。科技实施组织统一的架构管理对组织的科技建设成本来说是非常必要的,规范统一的架构管理可以帮助组织节约大量的科技成本,减少预算支出。
第三方面组织科技建设是一个不断的成熟的过程,随着实现规范统一的架构管理,组织会积累大量的资产。组织成员和项目建设的学习成本会大大降低,生产效率得到有效提升。从这一点来说进行架构管理无论是对组织的成长还是对个人的成长都是非常必要的。
架构管理的时机和相关的负责人
架构管理要选择合适的时机插入到整个软件建设的生命周期之中,因为如果过早介入业务需求没有完善,设计出的软件架构不够完整。太晚介入软件已经完成了具体功能的设计,架构管理设计起不到统领和指导的效果。所以开展软件的架构管理需要组织根据自己科技项目的实际情况结合业界的先进理论经验选择一个合适的时机。
目前业界架构管理开展的时机一般是选择在项目团队组建完成以后,在具体的需求收集完成之前。一般每个项目团队必须配备的人员包括三种:项目经理、架构师(技术负责人)、需求分析师。架构师就是进行架构设计和管理的主要负责人。
根据项目管理的阶段划分,进行架构设计应该是安排在项目启动阶段结束之前,所以如果条件允许项目经理和架构师应该是第一批进入项目进行工作的人员,根据组织统一的要求与用户共同制定系统的架构,并得到组织专家评审认可。架构评审会议对项目架构管理是非常必要的,如果能在项目启动阶段结束架构设计,那么在启动会的材料中进行介绍,明确需求设计的干系人能够有效的加快项目进度,提高项目效率。
架构管理的主要内容
架构管理设计的主要内容包括:业务架构、应用架构、技术架构、部署架构和数据架构。
业务架构
业务结构是对《业务需求说明书》进行分析后的结果,业务架构设计以使用对象为中心梳理业务的流程,实现整个系统的流程符合实际的工作实践,能够将以前在线下完成的工作实现线上化和信息化。同时要实现整个系统的流程设计符合先进的理论实践,实现PDCA的闭环管理。这一点是非常值得每个组织注意的事项,因为系统不仅仅是实现现阶段的工作线上化,更要考虑将来系统的进一步扩展。在实践中发现很多的组织过分的强调系统业务架构设计与目前实际工作的完全一致,而导致系统业务架构设计存在很多可以优化的过程和节点,系统在上线使用以后并没有达到效率提升的效果。
应用架构
应用架构是指系统实现以后的表现形式,应用架构可以将整个的系统设计分成几个层面来进行:
表现层(presentation):用户界面,负责视觉和用户互动
业务层(business):实现业务逻辑
持久层(persistence):提供数据,SQL语句就放在这一层
数据库(database):保存数据
同时应用架构又是承接业务需求和规格需求及具体的系统设计的必须产物,需求分析师能够根据系统的应用架构设计与相关的干系人进行具体业务需求的收集,编写《需求规格说明书》进而设计出系统页面的原型供需求评审使用。
技术架构
从技术层面描述,主要是分层模型,例如持久层、数据层、逻辑层、应用层、表现层等,然后每层使用什么技术框架,例如Spring、hibernate、ioc、MVC、成熟的类库、中间件、WebService等,分别说明,要求这些技术能够将整个系统的主要实现概括。
技术架构
1.解决沟通障碍
2.达成共识
3.减少歧义
场景视图
逻辑视图
物理视图
开发视图