软件系统架构师大概工作过程

      软件架构师的工作过程,简单点来说,就是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策。并负责与各方保持沟通,确保系统准确的完成。接下来,我把架构师的工作过程分为六个步骤,并一一详细的来说明。

      首先,架构师要对需求进行整理分析。我认为架构师要从项目最开始的阶段就参与进来,架构师要先与客户进行交流,分析客户的需求和内心的意思,并深入挖掘需求,但同时不盲目接受客户需求,架构师能够清楚把握现有的研发团队能做什么,不能做什么,提前预知风险,降低项目失败的机率。简而言之就是要把握好需求。

      第二步,架构师对系统进行分解。在收集完信息后,架构师需要将用户需求转化为软件需求,同时要补充非业务需求,如健壮性,扩展性等等。如何区分和化解用户需求与软件需求,如何有效把握用户需求与软件需求的区别,是系统分解的核心。这可能是最考验架构师的地方,也是只有架构师参与的工作。

      第三步,架构师为系统选择合适的技术,如:SSH框架。架构师要根据对软件需求决定项目该使用何种架构,开发模型,及依赖选项。如使用多层架构还是分布式架构,是瀑布模型,还是RUP,是使用MySQL数据库还是SQLServer数据库,是否需要使用企业库,是否需要使用ORM。但是,架构师对项目的技术选型要提供多种不同的方案,并为每种不同方案提供详细说明文档,用来阐述每种方案的优势,劣势,可行性等内容。这些文档供项目经理或领导决策最终的技术选型。

      第四步,架构师要对系统进行设计。依据软件需求和技术选型,架构师需要和软件工程师一起将软件需求落实到软件详细设计说明书中。架构师负责将软件需求分解,重组织为子项目,子系统,组件和模块,以及它们之间的逻辑关系,从而形成不同的逻辑组成部分,最后还需要确定各个子系统及组件间的接口。这些都是作为进一步的团队分工的依据。同系统分解一样,系统设计是考验架构师能力的重要职责。

      第五步,架构师为团队每个人分配职责。在软件详细设计说明书完成后,为保证项目的顺利进行,架构师需要对整个团队进行技术培训,让团队中的每个人明白自己的职责范围,该做什么,不该做什么。在项目实施过程中,架构师需要参与到具体开发过程中,给与每个开发人员有效指导,以避免团队成员对系统设计的误解而造成项目的延误。我认为这点对于新手比较多的团队尤为重要。保证团队每个人都能各司其职,高效率的完成系统。

      最后,架构师要不断与各方保持沟通,这一点也是极其重要的。沟通是保证项目顺利开展的有效保障。架构师要从多方面跟踪项目进度,及时与项目经理或直属领导汇报项目进展,与技术开发人员沟通遇到的问题,如果是迭代开发,还需要与用户沟通需求变更。

      以上是一个项目开发过程中架构师的大概工作流程。软件系统的架构师,主要负责规划程序的运行模式,层次结构,调用关系,规划具体的实现技术类型,甚至配合整个团队做好软件开发中的项目管理。我认为架构师还需要更深入地参与到项目中。最后,我还想说的是,架构师还需要不断的学习,积极了解业界发展、相关新技术及趋势,及时与新技术保持同步,然后有能力的需要促进技术进步和创新。

原文地址:https://www.cnblogs.com/fan-xiaofan/p/6438060.html