精华内容
下载资源
问答
  • 几位同行私下聊了下,我也意识到前文把“部门”和...早年流行的“事业组织架构即如此,各事业其实是相对独立的产品或产品群体系。难么“团队”做何解释?如果把“部门”看作纵向结构的话,那么“团队”就是横
  • ORACLE EBS-组织架构介绍

    千次阅读 2016-10-10 07:55:48
    (一)业务组(BG) (二)法律实体(LE) ...在企业管理实践的过程中,“组织”(Organization)一词是个经常需用到的概念,一般与“人员”与“职能”这两个要素密切相关,反映某种行政管理关系,例如“财务、销



    (一)业务组(BG)

    (二)法律实体(LE)

    (三)业务实体(OU)

    (四)库存组织(INV)

    (五)公司成本中心(Cost Center)

    (六)HR组织

    (七)多组织接入控制

     

    在企业管理实践的过程中,“组织”(Organization)一词是个经常需用到的概念,一般与“人员”与“职能”这两个要素密切相关,反映某种行政管理关系,例如“财务部、销售部、采购部、生产部、仓储部”等等。企业内部行政组织(部门)的划分是企业基于“职能驱动”业务管理模式进行运作的基础。目前,国内适用于小企业使用的大多数低端管理软件并不考虑系统中的“组织”设置问题,其系统应用模块的划分,例如采购模块、仓管模块、销售模块等等,实际上就已经基本反映了企业运作的“组织职能”划分问题。

    但是,对于业务复杂、规模较大的企业(如所谓“集团企业”),管理软件使用与实施的系统“组织设置”问题将是一个首要的重要问题。一个常见的、也是错误的系统实现方式就是将企业的“行政组织设置”直接映射到系统中,以“行政组织”代替“业务组织”。这种系统实现方式虽有理解、掌握比较容易的优势,但却完全违背了大企业运作必须基于“流程驱动”业务模式的基本管理原则。国内有所谓高端管理软件在系统实施过程中,常常出现有几十个财务、采购组织,几百个销售组织,乃至上千个库存组织的“盛况”,导致系统几乎没法使用的困境,其症结正在于此。

    与企业的“行政组织”设置与人员规模密切相关且复杂多变不同,软件系统的“组织设置”必须以业务流程运作为核心,要求尽可能简单并保持相对稳定,在公司(人员)规模扩大的过程中具有延续性与继承性。作为ERP鼻祖的SAP将系统组织简单地分为“集团(Client)、公司代码(Company Code)、采购组织(Purchase Org)、销售组织(Sale Org)、工厂(Plant)”等类别。ORACLE的组织设置本质上与之基本相似,但作为后来者作了进一步抽象与简化,系统组织划分为“业务组(Business Group)、法律实体(Legal Entity)、业务实体(Operating Unit)、库存组织(Inventory Org)”等。

    如果说SAP的组织模型字面上多少还带有一点“行政组织”痕迹的话(这可能是某些声称学SAP的国内产品误入歧途的原因),ORACLE系统的组织模型字面上已经几乎看不出与“行政组织”还有什么关系,其中的“Inventory Org”现今中文翻译成“库存组织”,容易令人望文生义和企业的“仓库管理部门(Warehouse)”混淆,但Inventory的本义实际应该是“存货”,称之为“存货组织”或许更好一些。如下图22所示ORACLE系统有关核心业务的多组织模型:

     

     

    上图中的“财务、销售、采购”并非系统的“组织实体”,它仅表示业务实体(OU)具有的相关业务处理功能。“子库”是特殊的系统组织实体,没有上下文环境可进入,主要表示库存组织之下的某种业务功能。

     

    (一)业务组(BG

      “业务组”的概念可以与企业的“集团”概念参看,但不同的是一个企业在系统中可以设置多个“业务组(集团)”。通常对于一个企业来说,系统中有一个“业务组”就够了,这表示企业就是一个“集团公司”。而对于某些业务“多元化”的特大型公司(如跨国公司),则可能需要在系统中设置多个“业务组”,表示企业由多个“集团公司”组成。

    业务组设置是系统组织设置的第一步,是最高层级的组织形态,但它主要是与人力资源信息的分隔有关,即“人员信息”的设置在一个BG范围内是由各业务模块共享的(如果需要)。一旦系统设置的用户名(User)被与“人员”(Employee)关联,无论使用什么“责任”进入系统,都会定位至一个确定的BG中,任何责任在任意时刻只能关联一个BGEBS安装好后,系统里面已经预置了一个名为“Setup Business Group”的“初始业务组”。如图23所示系统预置的“Setup Business Group”:

     

     

    当以系统预置超级用户SYSADMIN进入后,应首先设置一个具有在HRMINV下创建组织功能的“责任”名,随后给此责任的“HRUser Type”配置文件设定值为“HR User”,则该责任就有了创建新BG的能力。通常需要一次性将企业所需要的BG全部建立,一般另创建一个与企业名称一致如“某某集团”的新BG就可以了,也可以(不推荐)直接使用系统预设的“Setup Business Group”而不创建新BG

    系统每新建一个BG,就会自动在配置文件“HR:安全性配置文件”的LOV中自动添加一个与新建BG同名的可选值(初始时只有“Setup Business Group”一个值)。在某一个BG下(初始为Setup Business Group)新建的任何责任,系统都将该责任的配置文件“HR:安全性配置文件”值默认为当前BG。要在进入系统时能切换到新的BG,必须先修改该责任的“HR:安全性配置文件”设定值。

    如果将配置文件“HR:交叉业务组”的值设为“是”,则在不同BG下,新建的组织名称应当(虽然可以)不同,否则查看时可能会引起混淆。在同一个BG下的所有新建组织,名称不允许相同。

     

    (二)法律实体(LE

      法律实体(LELegal Entity)对应于真实世界中的按国家法律法规要求注册的“法人公司”。在R11中,LE在组织FORM定义时,对于每个LE必须为其“法人主体会计科目”关联一个“帐套SOB”。每个LE对应一个SOB,这与真实世界的法规要求是吻合的。如下图24所示:

     

     

    要注意的是,在R11中定义的LE时,并未作与“会计科目弹性域结构”的“公司段”值关联,用户必须对于其是与公司段值中的哪个值对应心中有数。而在R12中,LE的组织定义虽在FORM中仍然保留,但LE的“法人主体会计科目”的FORM设置被废弃(故FORM中定义了也无用),改为在定义“分类帐”时的“会计科目设置管理器”WEB中定义并分配法人实体LE。一个分类帐设置(主辅分类帐)可以添加多个LE,但每个LE只能具有一个分类帐设置。如下图25所示:

     

     

    R12中,还必须为法人实体分配会计科目弹性域结构的公司段即平衡段值。每个LE可以分配多个“平衡段”值,公司段值集中每个段值一旦被分配给某LE,则其它LE就不能再被分配。在R11R12中创建一个LE后,应当及时到会计科目弹性域结构中添加需要对应的公司段值LOV(一个或多个),并重新进行弹性域的编译,否则系统可能会弹出错误报警信息。R12中一个LE对应多个公司平衡段值,代表有多个分公司,LE是它们的合并。主辅分类帐可拥有相同或不同的公司段值集,表示从不同的维度(如按地区、按产品等)去划分公司以方便考核。如图26所示为LE添加平衡段值:

     

     

    无论是R11还是R12,法律实体LE的设置都对具体的业务处理影响不大,其与系统用户或责任不关联,不直接影响系统上下文的切换,故有人甚至认为EBSLE设置作用不大。这对于系统的内部运作来讲情况确实近似如此,但对于需要通过系统产生供外部使用的具有法律意义的文书(如采购订单、财务报表等等),严格区分法律实体LE还是必须的。R12显然更多地考虑了外部使用的这种法律要求(即所谓“法规遵从性”或“合规性”),并在相关业务应用模块中有所体现。

     

    (三)业务实体(OU

    业务实体(OUOperating Unit)是EBS系统组织设置的重点也是难点之一。它与法人主体LE本身没有必然的关系,与会计科目弹性域结构中的“公司段”也没有直接关系。从企业实际业务管理需要的角度去看,业务实体OU可以看作是在系统中按照业务的相似性,把多个不同公司(包括LE)的业务处理过程及数据划分成相对独立的“管理单元”。在每个管理单元内部,各公司的业务运作共享相关数据并执行统一的业务策略。

    例如,有一个业务多元化的企业既生产医院使用的X光机也生产普通电视机,并且其下属在全国各地有多家生产X光机或电视机的分公司、子公司。由于这两种产品所使用的物料、供应商以及针对的客户群差异很大,企业为方便管理,可以将“业务运营”划分为两个相对独立的“业务管理群组”,对应到EBS系统中就是两个业务实体OU

    从企业日常业务运作管理的角度来看,对于单纯的电视机业务,全国范围内就设一个公司负责计划、生产、采购、销售等运营管理最为简便,但企业从非运营管理角度例如“税收优惠、地方政策”等等因素考虑,有时不得不在全国各地乃至世界各地注册若干所谓“公司”,以便向当地政府纳税并接受其财务会计方面的监管。

    EBS在一个业务实体OU下,例如“电视机管理群组”,包含了全国各地所有负责生产或销售电视机的分公司、子公司(LE)的日常业务运作,在业务运作的组织层面忽略了作为法人实体的公司信息,但在反映业务运营最终结果的财务阶段(GL),仍能够方便地按照各地的法规要求提供财务数据与结果。而对于负责具体业务的系统用户来说,日常工作几乎不用关心或考虑“公司”的设置问题。

    EBSLE的数量可以根据需要任意增加,但对于OU的数量基于管理方便性则要求尽可能精简。EBS产品早期在实施过程中,存在一个公司(LE)对应一个OU的做法或一个OU只能属于一个LE的说法,这种做法或说法并不恰当。某些国内产品的设计由于未能有效区分“法律实体(公司)”与“业务实体(运营)”两者在系统中既相连接又有本质区别的特殊关系,只好采取一个法人公司对应一个系统业务实体的“笨办法”,企业规模小倒还能对付,一旦规模变大,注册公司增多,所谓的“系统多组织架构”就变得根本不具可用性。

    ORACLE EBS业务实体OU的这一系统特性极大地方便了企业运作的日常管理,具有高度的灵活性与可扩展性。如下图27R11OU定义界面:

     

     

    图中的“业务实体信息”中,必须而且只能为之设定一个“帐套”,即一个OU只能属于一个帐套(反之,一个帐套可以分配给多个OU)。要注意的是,上述业务实体信息中的法人实体设定,并不代表OU只能属于一个LE,它只是表示在“业务实体”中进行业务操作需要法人实体信息时提供默认值(在R12中明确了是“默认值”这一点)。R12中的业务实体定义同R11基本相同,只是将帐套改为“主要分类帐”。

    EBS中,一个OU可以同时指定给多个LE,上面“电视机管理群组”的例子已经说明了这一点;一个LE也可以有多个OU,这相当于一个注册的法人实体公司下,有多个需要独立运营的“事业部”(如X光机和电视机)。OULE是“多对多”的关系,但有一个限制性的前提条件,即OULE必须属于同一个SOBLedger。由于LEOU的设置在系统中可以独立进行,因此如果双方的SOBLedger不同,则不能建立连接关系。

    如果说法人实体LE与真实世界的企业行政管理组织架构还有点关系的话,业务实体OU则是与行政管理几乎无关,企业内部的行政组织变化对OU的设置没有直接影响。在EBS中有关采购管理、销售订单履行、应收应付管理等业务模块的功能均是建立在OU基础之上的。用户在执行上述相关模块的业务处理时,总是必须进入确定的OU(上下文环境)才可以进行,EBS的所谓“多组织”功能(MOAC)也是针对多OU而言的,与真实世界中的“多公司”(LE)没有直接关系。

    实际上,SAP的“采购组织、销售组织”设置也是与真实世界的行政组织“采购部、销售部”无关的,ORACLE抛弃了“采购组织、销售组织”的概念,OU实际上就起到了类似的组织分隔作用。ORACLE的某些相关文档中,如果因描述需要而提及所谓“采购组织、销售组织”等概念,有时实际指的就是业务实体OU(或OU下的库存INV组织)。

     

    (四)库存组织(INV

      ORACLE EBS的库存组织(INV)是系统组织设置的最基础、也是最重要的工作之一。库存组织的内涵远不是真实世界的“仓库部门”那么简单,它除了是有关“物料接收与发出”等业务功能的基础之外,更重要的是,它还是EBS系统有关计划(MPS/MRP)、在制品管理(WIP)、物料清单(BOM)等模块业务功能的操作与管理平台。如下图28所示:

     

     

    EBS中的库存组织INV的作用与功能可以与SAP中的工厂Plant参看。一个库存组织INV只能属于一个确定的帐套SOB、一个确定的法人实体LE、一个确定的业务实体OU,具有唯一性的关系(注意:R11的设置界面未考虑SOB/LE/OU的关联限定,容易产生错误;R12作了改进,在选定Ledger之后,可用的LE/OU就被限定)。反之,一个“帐套/法人实体/业务实体”组合则可以有多个库存组织INV。此外,一个OU下的多个INV可以对应属于该OU的不同LE,这相当于将分属于两个法人公司的生产两种产品的四个工厂,按相同产品两两组合抽取出来,分属于两个不同OU进行日常业务管理。

    EBS中还有两个组织概念“MRP组织、WIP组织”,它们实际是必须构建于库存组织之上的组织概念,表示该库存组织还可以进行MRPWIP的功能。系统之所以如此处理,主要是为了控制某些INV不能做MRPWIP而已,因为基于物料接收或发出需要所设定的INV数量可能比较多。

    对于绝大多数基于库存组织INV的业务功能(个别除外),系统用户在做业务操作时,均必须首先进行INV的选择切换,以便进入确定的INV上下文环境。库存组织的作用是如此基础,以至于EBS的相关文档在提及组织(Org)概念时,如果未作特别说明,默认就是指INV组织。

     

    (五)公司成本中心(Cost Center

     EBS的所谓“成本中心组织”并没有业务处理的功能,它的设置主要是考虑与“会计科目弹性域结构”中的“公司段值”与“成本中心段值”的对应关系问题。如下图29所示:

     

     

    在系统中创建“公司成本中心组织”后,可以运行一个“并发检查程序”,以校验“会计科目弹性域结构”中的段值是否与所有的“公司成本中心”组织的设置保持一致。

    当在“会计科目弹性域结构”中的“成本中心段”值集中添加LOV值并重新编译后,可以运行系统的“自动组织”并发程序功能,由系统自动创建“公司成本中心”组织。

    应当注意的是,一个公司成本中心组织及其成本中心段值,不可能属于不同法人实体LE及其公司段值,这与真实世界中的管理要求是一致的。库存组织INV与会计科目弹性域中的“成本中心”段(部门)则具有“一对一或多对一”的关系,即一个“成本中心”段值可以有多个库存组织INV,但一个库存组织INV只能属于一个确定的成本中心。

     

    (六)HR组织

      系统的HR组织设置是与HRM模块的相关业务处理功能相关,与核心业务/财务处理功能关系不大,主要是需要注意其是否和“成本中心”关联,需要时可以输入“成本中心”代码,其LOV就是“会计科目弹性域”结构中成本中心段的值集。如下图30所示:

     

     

     

    (七)多组织接入控制

    在图30EBS组织设置界面中,所谓的组织“类型”(Type)划分仅是基于组织自身的统计分析工作需要而定义的一个“维度”,例如“公司总部、产品线”等等,并不影响系统的业务处理功能。真正起作用的是设置界面中的“组织分类”(Classification),系统预置的组织分类LOV除了上述“业务组、法律实体、业务实体、库存组织”等之外,还有诸如“资产组织、运营公司、雇主”等等选项。在EBS系统中各应用模块所具有的业务处理功能通常需构建在一个确定的“组织分类”之上,“组织”是相关业务处理功能的平台,企业是否需要作相关组织分类设置、如何设置,取决于企业所需要使用到的应用模块功能。

    例如所谓“资产组织”的设置,它是在企业需使用到资产管理模块FA时才涉及到。“资产组织”实际上是所谓“资产账簿”的代名词,它只是表示有关资产信息的一个数据维度,作用主要在于分隔数据范围,用户进入系统作业务处理时,并不需要作上下文业务环境的切换。对于这类并不涉及“上下文”环境切换的所谓“组织”,ORACLR系统的设计主要是为了借用“组织”所具有的“层次结构”(Hierarchy)概念来达到“多组织接入”权限的控制功能。

    需指出的是,这里的组织“层次结构”与真实世界企业的行政管理组织层次结构没有直接关系(尽管可能有所参考),它只是企业根据某种需要(如权限管理控制、数据统计汇报等)而人为设定的一个“层次结构”,例如将系统中已经设置的任意数量的“业务实体”或“库存组织”等等组织Name,人为地设定一个具有上下级关系、自顶向下的金字塔形多层结构。如下图31所示:

     

     

    上图中开始定义时,一旦选定(最)顶端组织Name,则就只能为之分配下属组织Name,如要给下属组织分配更下一级的组织,则需点击“向下”按钮,将当前该下属组织上升到“顶端组织”位置。点击“向上”按钮,则将当前“顶端组织”下降到下属组织位置。企业可以根据实际需要设定若干个具有不同内部结构的“组织层次结构”Name,以供定义系统所谓“安全性配置文件”时调用。如下图32所示:

     

     

    上图所定义“安全性配置文件”是系统用以控制包括“组织安全性”等在内的各种安全性控制的基础,它具体规定了系统安全性控制的范围与实现方式,所有定义的“安全性配置文件”Name构成系统多组织接入控制参数“MO:安全性配置文件”的LOV。如下图33所示:

     

     

    EBS 通过“MO:业务实体”、“MO:安全性配置文件”、“MO:默认业务实体”这三个系统配置文件的共同作用,实现所谓“多组织接入”控制功能MOAC。但上述三个配置文件在R11R12中的作用有比较大的差别。

    对于“MO:业务实体”, R11中必须设定,而且起决定性控制作用,其LOV由系统基于创建的OU name自动创建,用户登录时系统自动定位于指定OU。而在R12中,一旦设定“MO:安全性配置文件”,则此配置文件失效而不起作用。

    对于“MO:安全性配置文件”, R11中虽有,但实际不起OU接入的控制作用,只针对FA等模块的得某些应用如数据统计等起作用。因此,一般认为R11并不具有完善的多组织接入控制功能。在R12中,该参数如果不设定,则必须设定“MO:业务实体”参数;一旦该参数被设定,则就起决定作用,系统主要依赖其实现MOAC

    对于“MO:默认业务实体”, R11中虽有但实际不起作用。在R12中,随“MO:安全配置文件”起作用后才起作用,其LOV是所有已定义OU,但如果设定值不在“MO:安全配置文件”所选择的“组织层次架构”的范围内,则仍不起作用(即在与OU相关诸如POOM等的FORM界面,OU字段的默认值仍然为空)。这似乎是ORACLE 系统设计方面的一个难题,即“MO:默认业务实体”的LOV值集无法与“MO:安全性配置文件”中“组织层次架构”中的OU值范围保持一致。

    ORACLE强调其“多组织接入MOAC”功能主要是针对业务实体OU而言,其另外一层含义是,所有构建于库存组织INV上的应用功能,实际是与上述配置文件无关的。库存组织的可接入性是在“组织访问”控制功能中,专门设定“库存组织”与“责任”的关联性,如下图34所示:

     

     

    按照ORACLE的说法,如果系统在初始的时候,不定义库存组织的“组织访问”控制,则所有“责任”可访问所有INV,一旦限制或分配其中一个,则其余均必须逐个进行分配以建立“库存组织”与“责任”的链接关系。

    总之,EBS系统通过“弹性域段值安全性”、“帐套/分类帐安全性”、“多组织接入安全性(MOAC)”、“库存组织访问控制”等多维度、多方面的组合系统设置,提供了灵活、方便的用户权限管理功能,厘清并掌握它们的复杂关系是系统实施的一项重要基础性工作。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    阅读(12156)| 评论(0)
    展开全文
  • 客户、用户、开发组织管理者 视角 系统的功能元素,以及它们接口、职责、交互 主要元素 系统、子系统、功能模块、接口 用途 开发组织划分、成本\进度的评估 逻辑视图案例 过程视图(Process View) 相关方 性能...

    本周主要是介绍编写架构设计文档需要掌握的知识。通过4+1架构视图画出能介绍系统的完整视图,大部分视图可以通过UML来绘制。

    4+1架构视图

    逻辑视图(Logical View)

    • 相关方
      客户、用户、开发组织管理者
    • 视角
      系统的功能元素,以及它们接口、职责、交互
    • 主要元素
      系统、子系统、功能模块、接口
    • 用途
      开发组织划分、成本\进度的评估
    • 逻辑视图案例
      在这里插入图片描述

    过程视图(Process View)

    • 相关方
      性能优化、开发相关人员
    • 视角
      系统运行时线程、进程的情况
    • 主要元素
      系统进程、线程以及处理队列等
    • 过程视图案例
      在这里插入图片描述

    物理视图(Physical View)

    • 相关方
      系统集成商、系统运维人员
    • 视角
      系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置
    • 主要元素
      物理节点以及节点的通信
    • 物理视图案例
      在这里插入图片描述

    开发视图(Development View)

    • 相关方
      开发相关人员、测试人员
    • 视角
      系统如何开发实现
    • 主要元素
      描述系统的层、分区、包、框架、系统通用服务、业务通用服务、类和接口、系统平台和相关基础框架
    • 用途
      指导开发组织设计和开发实现

    场景视图(Scenarios)

    • 相关方
      用户、设计和开发人员
    • 视角
      概括了架构上最重要的场景(最典型或最有风险)及其非功能性需求,通过这些场景的实现,阐明架构的广度或众多架构元素运行的方式
      在这里插入图片描述

    UML

    通用模型元素

    在这里插入图片描述

    常见元素关系

    在这里插入图片描述

    • 继承
      一个类(称为子类)继承另外的一个类(称为父类)的功能,并可以在子类中增加自己的新属性和功能。
      在这里插入图片描述
    • 实现
      Class类实现interface接口的功能,实现是类与接口之间最常见的关系。
      在这里插入图片描述
    • 依赖
      依赖就是一个类A使用到了另一个类B来实现某些功能,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。
      在这里插入图片描述
    • 关联
      关联体现的是两个类之间语义级别的一种强依赖关系,这种关系比依赖关系更强,一般是长期性的。
      在这里插入图片描述
    • 聚合
      关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期。例如下图的班主任与学生的关系。
      在这里插入图片描述
    • 组合
      关联关系的一种特例,体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的。例如下图的人与心脏的关系。
      在这里插入图片描述

    静态图

    通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。常见的静态图有用例图、对象图、类图、组件图、包图、部署图

    用例图(Use Case Diagrams)

    用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。来自百度百科
    在这里插入图片描述

    类图(Class Diagrams)

    类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。来自百度百科

    在这里插入图片描述

    组件图(Component Diagrams)

    组件图表示组件是如何互相组织以构建更大的组件或是软件系统的。来自百度百科
    在这里插入图片描述

    部署图(Deployment Diagrams)

    部署图是用来显示系统中软件和硬件的物理架构。来自百度百科
    在这里插入图片描述

    动态图

    序列图(Sequence Diagrams)

    描述对象间的动态合作关系以及合作过程中的行为次序,常用来描述一个用例的行为
    在这里插入图片描述

    活动图(Activity Diagrams)

    描述操作实现中完成的工作以及用例实例或对象中的活动,活动图是状态图的一个变种
    在这里插入图片描述

    状态图(State Diagrams)

    描述对象,子系统。系统的生命周期
    在这里插入图片描述

    展开全文
  • 架构评审方法和思路总结

    千次阅读 2016-11-14 10:18:07
    2015年延续2014年的架构成本优化思路,运营管理部在15年组织各大BG开展了大量的架构评审和成本优化工作。作为规划组的一员,在全年21个规划产品的评审中我主要参与了其中11个。在前期和业务产品,开发及运维的交流...

    2015年延续2014年的架构和成本优化思路,运营管理部在15年组织各大BG开展了大量的架构评审和成本优化工作。作为规划组的一员,在全年21个规划产品的评审中我主要参与了其中11个。在前期和业务产品,开发及运维的交流和准备材料过程中,发现虽然已经经过了一年的评审,沟通和交流,但大家对为什么要做架构评审,怎样做架构评审,其中的思路和流程都还存在一定的不了解的地方,所以这里自己先抛砖引玉,跟大家聊聊讨该如何做架构评审。

    先来说说设备

    设备是支撑公司业务运营的最基本实体,随着公司业务的不断发展壮大,公司的设备总数也于去年突破了50w台大关。评审一个业务的架构,首先得从其设备使用的合理性上来看。

    总的设备架构评审思路可以简单归纳如下4步:

    1. 设备需求驱动形态 -- 确认设备需求动因和相关指标;
    2. 关键路径的技术架构 -- 确认架构是否合理;
    3. 需求资源推算模型 -- 资源预算和指标关联是否合理,架构分布是否合理。
    4. 资源优化计划 -- 后续是否可以释放部分资源,降低成本。

    第一点比较好理解,设备的需求动因,我们需要描述清楚涉及设备的关键业务指标以及业务指标的变化情况,通常这些指标在做年度预算的时候能够定义清楚。如果当时没有清晰的定义,我们这里可以根据业务的实际资源需求情况来定义清楚关键指标。后面3点是一个架构评审的关键所在,我们这里重点展开来讲。

    我们谈一个产品的架构,最开始当然先要从一张总架构图开始讲起。比如下面这个手Q的消息交互架构图。

    一个清晰的架构图至少需要具备如下要素:

    1. 描述总体架构关键模块构成和各模块对应的设备数目;
    2. 业务请求交互图,描述业务关键路径上的模块交互流程,需包含请求量/包量及对应的设备数;
    3. 描述设备需求中关键路径的构成情况和模块之间的交互逻辑。

    定义出关键路径和关键业务模块后,这些模块需求和架构是否合理,我们需要把这里面的内容给评委展开来重点解释。

    针对每一个关键模块,我们首先需要:

    1. 描述在总体系统架构中该一级模块的主要核心功能;
    2. 描述该核心模块的处理业务逻辑分布,如重要业务逻辑的资源占比情况。

    比如下面手Q SSO模块的描述

    定义出核心关键模块之后,我们需要进一步解释其资源使用的合理性。这里我们主要针对最常见的处理类和存储类两类模块来说明,其他比如吞吐量类,缓存类的模块可以依此类推。

    针对处理类模块,我们通常需要说明:

    1. 给出核心模块的资源模型,如单机每秒建立连接数,每秒包处理能力;
    2. 描述核心模块的当前瓶颈所在;
    3. 描述核心模块的设备类型;
    4. 描述核心模块的最大支撑能力,如单机峰值Qps;
    5. 根据预估的业务指标结合模块单机处理能力来评估所需的设备数。

    而对于存储类的模块,我们通常需要说明:

    1. 给出核心存储单元的资源模型,如每个存储单元所占用的字节数,每个存储单元包括哪些字段信息,主要字段的访问频次,每份数据存储份数等,并根据单份的模型结合业务后续预估的指标来估算总体的存储量;
    2. 描述核心存储单元的当前瓶颈所在。

    同时,针对架构分布上,由于公司IDC资源的地理分布不平衡性,某些特定的地理区域由于历史和储备的原因,IDC资源会较为紧缺,所以我们在架构评审的过程中也要对业务模块的物理分布情况来评估其合理性,比如如下两点:

    1. 描述总体现有架构模块的物理分布情况和容量模型,包括架构是否有Set化,其Set分布,数据的异地存储份数说明,以及容灾方式;
    2. 描述新增预算资源的分布模型以及是否可以异地化部署的评估。

    在Review过架构和模块的现状后,业务自己通常也会发现一些自己架构上的问题,这些可能是历史原因的遗留问题,也可能是技术进步发展了有一些更优的解决方案,所以我们在架构评审的最后可以针对这些问题来提出进一步的 优化,给自己定一个更优的目标,追求技术上更进一步。主要逻辑可以分为下面几步:

    1. 描述可能的柔性策略、优化手段和方法(包括技术上和运营上的);
    2. 描述优化后的系统架构图和模型;
    3. 描述优化后的目标和成果

    而在优化手段上,我们也可以结合公司其他业务常用的优化手段,梳理总结出一套可能的优化方法,供大家参考。

    1. 资源的最大化整合和复用:比如运用虚拟化,docker等技术,来讲设备的利用率发挥到最大优势,充分压榨单机的处理负载,提高单机的处理能力。
    2. 新技术和新处理框架:比如采用新的处理框架,从http协议改为直接tcp处理,从原来的同步qzhttp改为异步rpc处理,以及充分利用GPU并行能力和FPGA可编程硬件相比软件处理的高效性来提高编码和压缩的效率等等,来提升单机的效率。
    3. 新协议和新格式的利用:这块在存储类服务中最场景,比如用压缩效率更高的webp来替代传统的JPEG,然后又采用更高的H.265编码格式的BGP图片来替代webp,这些新格式的出现对于日益增长的海量数据又是一个重要的优化手段。
    4. 存量和长尾业务的规整:腾讯公司到现在也经历了18年的春夏秋冬,各种业务浮浮沉沉保守估计也有上千了,对于这种存量和长尾型的业务,我们如何对其进行适当缩容和最小化运营,甚至是推动其退隐下线,也是一个必要的优化手段。
    5. 提升资源管理和流转效率:比如资源直供模式,闲置设备,闲置时段的离线计算使用,比如如何有效的利用存储类设备的CPU资源来进行计算,这些也都是架构评审优化中值得考虑的问题。

    好了,前面关于设备上的架构评审流程和方式讲了这么多,相信如果大家都按这么思路来理解架构评审,再加上自己对业务和技术的充分理解,跟boss过的架构评审将不再是个问题,更多的是对大家技术的展现了。

    设备先讲到这里,有机会我们继续来解析如何做带宽的架构评审。See you again!

    展开全文
  • 2.组织架构--工作效率是决定因素。 测试部门有两种架构,一在研发内部,二和研发部分开。小公司一般都把测试部门放在研发部门下面,便于开展工作和节约管理成本;大公司都把测试部门独立出来,建立更专业和更高效...

    2.组织架构--工作效率是决定因素。

    测试部门有两种架构,一在研发部内部,二和研发部分开。小公司一般都把测试部门放在研发部门下面,便于开展工作和节约管理成本;大公司都把测试部门独立出来,建立更专业和更高效的测试团队,更有效的发现问题。

    如果开发团队在两百人以上,强烈建议把测试团队和开发团队分开。优缺点如下:

    优点:

    1. 测试,研发,产品形成开发过程中三权分立闭环,能良好形成自驱效果。三者都是开发过程中不可或缺的部分。产品出设计方案和功能需求,开发按照需求进行实现,测试检验需求和实现成果的合理性和完善性。

    2. 相互扶持,相互制衡,相互监督能更快提升产品质量。

    3. 测试独立,能充分暴露问题。而不是在开发部门,还要顾及开发部门lead的喜好,有问题不能报,有问题先内部消化,这样会导致延误重大问题的决策时间。

    4. 能更快形成良好的开发流程,提升开发过程中的质量控制。如设置每个阶段的准入准出标准,不达标这个项目节点不能通过。避免研发内部粉饰问题。

    5. 责权清晰,分工明确。测试和研发在一个部门,测试通常是背锅的,有问题肯定是测试问题,研发毛问题没有;在开发任务紧张的时候,测试可以干开发的部分工作;开发挤占测试时间,测试时间不足是可以通过加班来补的,这是开发内部问题。但却是整个公司和项目大的风险问题。

    6. 对于软件开发公司来说,占公司人员最多的部门就是研发部,如果测试在研发内部,又缺少很好的研发管理和监督流程,必将造成研发部门效率低下,甚至客大欺主的现象。

    缺点:

    1. 测试和开发团队会存在日常工作中bug问题的扯皮推诿

    2. 测试和开发团队配合程度不如在一个团队中那样紧密

    总结:站在公司角度来讲,研发和测试分开还是合并,关键取决于公司规模和工作效率的高低。组织架构不是一成不变的,是随着公司规模或产品的成熟度而进行调整的,调整到工作效率最大化才是最好的组织架构。

    展开全文
  • 物业管理部门20XX年工作计划 按照20XX年物业公司组织架构的设置及聘任文件,我负责济南西片区物业管理部工作,这个管理部有政务大厦、工商局、人事局、新华社、省委党校、铁路局、省纪委等七个物业项目组成,总管理...
  • 该存储库将基础设施作为司法根帐户的代码以及两个支持帐户:组织安全和组织日志。 AWS组织 此处定义的所有帐户都是MOJ的,使我们能够将用于组织审核,治理,安全性和成本优化。 服务 服务 基础架构即代码 集中管理...
  • 十五、物流成本管理流程 十六、物流成本控制流程 十七、物流成本计划程序图 第八章 行政人事管理 一、行政人事经理岗位职责 二、行政人事主管岗位职责 三、办公用品申请表 四、部门年度人员招聘计划表 五、季度...
  •  本书是经典名著《oracle 10g数据库管理艺术》一书的姊妹篇,通过示例全面而又详细地讲述了oracle 11g的新特性,讲述了更改管理、数据库自动化、性能管理、故障诊断、存储管理、安全管理、性能管理、应用开发、数据...
  • 1、多法人、多工厂、多利润中心经营的组织架构。 2、工厂、经营实体间的采购协同,包括分散采购和集中采购的两种模式:分散送货、分别结算;分散送货、集中结算。 3、工厂、经营实体间的销售协同,展示的协同模式是...
  • 2.16.1纠纷预防与处理组织架构 223 2.16.2与工程周边单位和居民的纠纷预防和处理机制 224 2.16.3项目内部劳资纠纷的预防和处理机制 227 2.17白蚁防治措施 228 三、配合方案 230 3.1监管配合方案 230 3.1.1监管配合...
  • 快递企业需要满足客户单点/多点发全国(C2C 网络型/B2C 仓配型)的需求,这需要很高 的网络覆盖度。截止 2019 年底,全国约 3.9 万个...因此,加盟制的组织成本 显著低于直营制,表现为更低的费用率。根据科斯的观点
  • U9 介绍

    2013-02-05 09:58:21
    用友U9作为全球第一款完全基于SOA架构的世界级企业管理软件,用友U9面向快速发展与成长的中大型制造企业复杂应用,以“实时企业、全球商务”为核心理念,完全适应多组织供应链协同、多工厂制造协同、产业链协同、...
  • 写在前面: 文章为作者原创 如需转载,请注明出处 1 技术中台与终搜介绍 1.1 技术中台与终搜介绍 ...当组织架构太深了,前台后台隔得太远,沟通成本太高时,通过中台可以一定程度上来解决这个问题。 为什么使用中.
  • 1、 多法人、多工厂、多利润中心经营的组织架构。 2、 工厂、经营实体间的采购协同,包括分散采购和集中采购的两种模式:分散送货、分别结算;分散送货、集中结算。 3、 工厂、经营实体间的销售协同,展示的协同模式...
  • web基础研发体系指的是,web研发中一线工程师所直接操作的技术、工具,以及所属组织架构的总和。在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算、云存储等方式将底层核心技术封装成基础设施...
  • ERP标准模板

    2014-03-19 11:06:14
     原则上,在实施生产计划模块时,重点应该从生产汇报方面,利用SAP系统工单方式,实现同物料管理成本核算的集成,从而实现更加全面和准确的生产汇报、支撑更为精细的生产成本核算。  原则上,SAP系统工单的...
  • eas供应链dep案例集

    2017-11-18 22:32:39
    单据操作控制修改 EASSCMA1P0070 仓库仓管员可跨组织选择 目前客户在选择仓管员时只能选择当前组织或平级组织,不能选择上级组织的职员,这样造成管理上的非常不便,因为在很多情况下仓管员并不是一定是当前组织的。...
  • asp.net知识库

    2015-06-18 08:45:45
    Asp.net 利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息 用于 Visual Studio .Net 的 IBM DB2 开发外接程序 第2章 并发操作的一致性问题 (2) Using sqlite with .NET Visual Studio 2005 中的新 DataSet ...
  • 8.2.2 无线资源管理架构 388 8.3 移动性管理 388 8.3.1 跟踪区 388 8.3.2 空闲状态下LTE接入系统内的移动性管理 391 8.3.3 连接状态下LTE接入系统内的移动性管理 395 8.3.4 3GPP无线接入系统之间的移动性管理 402 ...
  • 在保护个人隐私和自主权的同时,管理这些数据资源以促进患者护理和健康研究将具有挑战性,因为PGHD是数字化个人健康数据中监管最少的领域(美国卫生与公共服务,2018年)。 当患者自己使用技术公司提供的“应用...
  • plone 4.2.1

    2012-10-07 22:46:44
    python是一个脚本语言,它可以完成其他语言所能完成的大部分工作,但它易学,维护成本低,开发效率比其他语言快几倍,语法结构较好,和其他语言有很好的兼容性。 2. 在国外Python的应用领域很多集中在计算机科学...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    组织管理 工程项目管理方法 技术措施 软件开发技术与方法 软件工具 软件工程概念 软件工程的概念 应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门...
  • 本项目出发点旨在抛砖引玉,有任何不同意见和反馈,请提交 Issue 讨论,或发送邮件至 sean@geekbang.org,编辑会及时跟进或组织讨论,并持续更新内容版本。请理解并支持,感谢!:) 目前技能图谱已有如下领域,点击...
  • 搜一次 php 最新版本

    2010-09-18 19:27:16
    在程序源码方面,我们用最优异的架构技术,永久免费开源,只要稍微懂得一点ASP技术,您就可以搭建属于自己的特色网站,我们提倡并欢迎所有源码爱好者在没有商业利益的行为下对程序进行优化、升级。 专业的开发团队...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

成本管理部组织架构