如何进行系统的架构设计
如何进行系统的架构设计
方法/步骤一个软件项目在需求确定后,就可以开始系统的架构设计了。架构设计不同于编写代码,需要遵循严格的语法和编程规范。它没有规范可遵循,存在即合理,适合系统开发和运行的架构就是最合理的系统架构。
系统的架构设计是在业务需求已经清晰的前提下进行的,假定在系统需求分析阶段已经确定了系统的功能和业务范围,也明确了系统运营需求。在上述需求还没有确定的情况下,不适宜开展系统的架构设计,需要回到需求分析阶段完善上述需求后再开展系统的架构设计。
系统架构就是一些模型图,模型图是人们用来理解系统和沟通的工具。这些模型图需要提供给系统相关干系人来理解系统,系统相关干系人有项目经理、产品经理、开发人员、系统运营维护人员、客户、项目投资人等。这些干系人有不同的知识背景,对同一架构模型图也会有不同的认知和理解:如果把开发架构模型图给产品经理或客户看,他们定然看不懂也不能理解;同样的道理,如果只把逻辑架构图给开发人员看,就不能正确地指导开发人员构建开发环境。
因此架构设计师在进行系统架构设计时,需要从系统的不同维度进行设计,以满足系统相关干系人理解系统架构的需求。架构设计模型主要有逻辑架构、开发架构、数据架构、物理架构和运行架构五种模型图。一般来说需要设计的系统架构模型有逻辑架构、开发架构和物理架构三种架构模型图。数据架构模型一般放在数据库中进行设计,运行架构和物理架构基本相近,只是在物理架构中加了数据的流向,因此一些系统设计使用物理架构代替了运行架构。
设计逻辑架构模型
逻辑架构模型主要是确定系统的功能范围和系统划分。在设计逻辑架构模型时,可以抓住两个关键点:一个关键点是对系统进行逻辑划分,将一个大系统划分为多个子系统;另外一个关键点是明确各子系统之间的协作和调用关系。
绘制逻辑架构的模型图有系统流程图和系统结构图:系统流程图描述了系统各子系统、相关文件和数据之间的关系,记录了整个系统的体系结构;系统结构图也称为层次图,它以层次方式描述了系统从顶层到最底层的功能分解。
下图分别是人脉系统的系统流程图和系统结构图。
上面的人脉系统流程图和人脉系统结构图就是依据人脉系统需求规格说明书给出的功能和业务范围绘制的。
设计开发架构模型
开发架构模型图是给开发人员看的,开发架构模型指导开发人员如何来架构系统的开发环境。开发环境包括系统开发框架的选型、开发工具和编程语言、模块划分等内容。下图是人脉系统开发架构模型图。
开发架构模型图给出了技术体系是B/S结构,开发框架选择SSM,开发语言是JavaEE。系统采用三层结构,分别是表示层、WEB应用层和数据层。表现层是JSP页面,在浏览器中运行,表现层是MVC的View。WEB应用层的控制层是MVC的Controller,业务逻辑层是MVC的Service,实体层是MVC的POJO。数据层由MyBaits数据库开发框架组成。
设计物理架构模型
物理架构模型是给系统部署人员和运营维护人员看的,主要给出系统的部署环境模型,包括网络环境、硬件环境和软件环境。下图是系统部署网络环境模型图。
从上面网络环境模型图中可以看出,系统部署只需要一台主机,要求支持HTTP协议和远程桌面协议。系统可以考虑部署到阿里云或腾讯云。
系统的架构设计主要涉及到三种模型图,分别是逻辑架构模型、开发架构模型和物理架构模型。逻辑架构模型一般采用系统流程图和系统结构图建模;开发架构模型没有标准的模型图,可以使用PPT或Visio绘图工具进行绘制;物理架构模型主要是由网路环境、硬件和软件环境组成。
顶层设计架构是运用系统方法,从全局角度对某项任务或项目的各方面、各层次、各要素统筹规划,以集中有效资源,高效快捷实现目标。
特征:
1、顶层决定性,核心理念与目标都源自顶层,因此顶层决定底层;
2、整体关联性,设计对象内部要素之间围绕核心理念和顶层目标所形成的关联、匹配与有机衔接;
3、实际可操作性,基本要求是表述简洁明确,设计成果具备实践可行性。
基础模型:
地基(底层逻辑至下而上) —— 水泥钢筋结合(思维组合方法) —— 建一栋楼是目标(至上而下的设计就是顶层设计架构)
———— 每天想点事儿 ~ ~ ~
临近年底,你经过了诊断与判断,拟要调整或设计组织架构。在设计时,请记得要满足一以下五个要素。
①第一个要素-职能结构。
财务部门算不算一个职能?人力资源算不算一个职能?销售部门算不算一个职能?技术部门算不算一个职能?都叫职能。
②第二个要素-职权。
简单的理解就是我这个部门存在,我的职责是什么,我的分工是什么,我跟别的部门之间的边界协同在哪里,这个叫职权结构。
目前很多公司,部门最大的问题是没有职权的结构,我这个部门存在到底有什么价值,我的客户是谁,我的岗位职责是什么,我跟别的部门之间的关联是什么,边界是什么。职权结构用一句话概括叫做独立互赖。作为部门独立存在,我应该做自己的事,我应该有自己的职能,但是我跟别的部门是相互依存的,我还要划清楚跟别的部门的边界,哪些事我需要协同你,哪些事是我管,哪些事是你管。
独立是管好自己,互赖是相互依存和协同,这个叫做职权结构。
③第三个要素-层级。 到底公司管理职责分几层。主管、经理、总监、VP、总裁分几层,这个叫层次。
④第四个要素-结构。 几个平行部门比较合理?这个叫做横向结构。
⑤第五个要素-业务流程。 在设计绩效的时候也一样,我们这些所有组织架构的流程的设计元素必须跑在业务流程里面。
组织架构每个公司都不一样,该怎么画呢?万变不离其宗的就是你的业务流。你的架构从第1个部门流到第2个部门……,比如说你的业务流一共流过13个部门,13个部门就是你的职能结构,它一共有13个职能。13个部门里面,这些部门里面分别要做什么,边界在哪里,协同在哪里。这13个部门业务流流过的时候,我到底应该有几级部门?部门结构就是我们平行的13个部门。
综上,组织架构的设计五要素最核心的就是要在业务流当中存在。因此我们在设计架构里其实有两个诀窍: 第一个诀窍,业务流。第二个,尽可能的把最重要的部门放在最前面。
目前很多老板都认为管组织比业务要复杂得多,确实如此,因为它是一个通盘考虑的问题。虽然如此,组织架构的设计仍是
我是晏子出刀,希望今天的内容,能让你有所启发。
导语:那么如何设计科学合理的组织结构?组织结构的本质是为了实现公司战略目标服务的,根据公司战略目标进行合理设计,保障组织的有效分工与协作。下面我们来看看要怎么做吧。
当企业发展到一定规模时,由于各个业务单元不断发展和迅速扩张,人员不断增多,公司组织的管理问题也就慢慢显现出来,同时会阻碍着公司的进一步的发展,甚至会影响公司战略目标的实现。因为,组织结构的本质是为了实现公司战略目标服务的,根据公司战略目标进行合理设计,保障组织的有效分工与协作。那么如何设计科学合理的组织结构?已经成为很多HR朋友的困扰。接下来,我们一起来探讨组织结构如何合理设计。
一、组织结构设计的四大原则
在设计组织架构过程中,有效地积聚新的组织资源、部门与部门之间的关系、人员与任务间的关系、使员工明确自己权力和应承担的责任,保证组织良性运作,须遵循以下几个重要原则。
1、目标导向原则
组织结构设计是为了满足特定时期企业资源的有效配置,根据业务侧重点不同、企业掌握的资源、发展时期、人员素质不同,对组织结构的要求都有所不同。所以,组织结构设计首先要结合现状企业面临的各种环境,明确目标,把战略目标实现作为组织职能分工的考虑重要原则。
2、管理幅度原则
我们知道,公司有大小之分,业务有不同类别,组织结构的设计既需要考虑企业规模的大小,也需要考虑业务的共享性和业务协调效率问题,组织结构设计最重要的原则之一就是根据工作内容、工作量的安排设计管理幅度。
3、客户导向原则
结合传统的组织结构可以了解到,缺乏组织内部的关系协调性,由于组织结构各调管理路线畅通性不够,导致组织内部管理效率低下,因此在设计时需要多方面考虑到上、下、左、右的各部门的关系协调性,尽量保证满足各个客户关系的节点。
4、核心价值原则
为了保证组织资源的高效整合和提高执行力/战斗力 ,确保部门与部门之间的.关系、人员与任务间的关系良性畅通,笔者认为,在设计组织结构时需要以公司的核心价值链为导向,以终为始,可持续满足企业各个业务单元的高效运作,保证组织目标的达成,建议以核心价值链为导向的组织结构设计原则。
二、组织结构设计六个步骤
在设计组织结构过程中,我们必须创建柔性灵活的组织,把握动态地反映外在环境变化的要求,并在组织成长过程中,有效地积聚新的组织资源,同时协调好组织中部门与部门之间的关系,人与事的关系高效畅通,HR伙伴们如何设计企业的组织结构呢,以下步骤可以参考借鉴:
第一步:根据公司的战略和业务特点,对公司的组织结构和组织管理进行全面诊断,评估公司的核心业务链,根据公司行业、业务等确定组织的管理模式
第二步:结合公司实际情况分析各关键环节工作量,并确定各个职能部门,根据各业务流程,确定部门职责,设计管理幅度、管理层次及其责任、权力等
第三步:拟定各部门组织职能后,形成文件明确各个部门职责,对各岗位进行工作岗位分析,明确界定各岗位职责、工作任务,设计各个岗位的任职资格,描述工作环境,形成规范的岗位说明书
第四步:根据各个岗位的业务不同,结合岗位说明书和任职资格要求编写各个岗位的作业SOP,形成各个岗位的作业指导手册
第五步:根据各个部门及业务链条的关系,各个部门与部门之间的衔接关系,各岗位的权、责、利的关系绘制公司组织结构图
第六步:组织结构图经过审核通过以后,颁布实施,在运行过程中要根据组织结构图的运行情况进行必要的微调。