软件架构师是如何工作的

软件体系结构的第一节课,是要让我们了解如果要做一名软件架构师,我们应该做什么和怎么做。在课堂上,老师通过《梦想改造家》中王平仲对特殊房型的改造来让我们从一名建筑师去了解什么是软件架构师。

所谓软件架构师,是软件行业中一种新兴行业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划,是主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。

软件架构师其实相当于是软件项目管理的主管,他负责设计与构筑公司的系统架构,对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。软件架构师还要跟踪架构的使用情况,以保证软件开发符合制定好的系统架构。他还负责进一步改进系统架构,以符合公司发展的业务要求。软件架构师还得给设计人员和开发人员提供系统架构的培训。这些就是一名软件架构师的职责目标。

那么,作为一名软件架构师的具体的职责有哪些呢?软件架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且具有良好的组织管理能力。可以这样说,一个架构师工作的好坏,决定了整个软件开发项目的成败。其实,软件架构师的工作职责可以分为三点。首先最重要的是负责软件项目的测试,也就是根据详细设计书,编写测试单元的用例,然后根据软件测试用例,搭建软件测试环境,进行软件测试,最后整理软件交付件,参与软件的交付工作。我们都知道软件架构师,是对一个项目整体进行架构设计的,所以如何对自己所设计的架构的系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握,就需要软件架构师对软件项目进行测试以发现体系结构中的优缺点。然后软件架构师还要负责软件项目的实施。也就是负责编制使用说明书,还有负责针对发现的问题或用户的要求,进行沟通并确定问题解决办法。我们在上个学期的软件需求分析的课程中,就已经学习了,什么是用户需求,所以在软件项目实施的过程中,用户的体验很重要,所以作为一名软件架构师,需要发现客户在使用的过程的一些问题,并对自己的架构或者说是整个项目进行改进。最后软件架构师还应该负责软件系统技术支持。也就是说软件架构师还应该负责软件系统的运行监控,负责软件系统日常运行过程中的技术支持,并负责解答用户疑问,还要参与软件系统日常运行过程中的问题排除并收集用户反馈的软件问题及改进需求。其实这一点也就是对上述两点的一个总结。

在了解了软件架构师的工作职能之后,我们还应该明白作为一名软件架构师的工作流程。首先,作为软件架构师要给予商务支持,提供系统解决方案和架构咨询。然后在需求阶段,软件架构师需要和需求分析师一起,参与需求的沟通,协助完成技术/业务咨询和需求模型。(好的软件架构师同时也是业务专家),就如我们刚刚在上述分析软件架构师的职责的时候所描述的一样,软件架构师要负责软件项目的实施。在做了需求分析之后,就进入了架构阶段,软件架构师需要进行系统分析和设计,进行系统抽象,设计系统模型,进行技术原型,开发架构原型等,然后在进行了设计之后,他还需要指导设计人员完成详细设计。之后在开发阶段,软件架构师需要指导开发人员按设计实现,解决技术难题。在测试阶段,他还需要指导测试人员测试工作,特别是非功能需求的测试,这一点也就是上述所说的软件架构师需要负责软件系统技术支持。然后在发布的阶段,软件架构师需要指导部署人员按照部署架构进行部署,及时解答或反馈试运行期间的架构问题。

在这个学期软件体系结构今后的学习中,我们将更深入地了解所谓的软件的架构和软件架构师的知识和内容。而如何在程序员之路上不断前行,就需要我们在学习生活中不断地积累和进步,让知识来充实自己,就能在以后的自己的人生道路上越走越远。

时间: 2024-08-29 04:52:53

软件架构师是如何工作的的相关文章

阅读《架构漫谈》后,思考软件架构师应该如何工作

老师上课围绕<架构漫谈>前四篇图文并茂的讲解了何为架构,架构的基础,以及识别问题和架构切分这些作为架构师需要了解的最基本的知识.现在要讨论的是软件架构师应该如何工作,如何更好的,更快的,更有效率的工作. 要想做好一个工作就应该了解这个工作最基本的需求是什么,而作为一个软件架构师就必须应该清楚的知道自己的职责是什么.也就是说,软件架构师需要负责什么工作,要解决什么问题.以下内容,就<架构漫谈>为中心,一步步细谈软件架构师应该如何工作. <架构漫谈>第五篇介绍了什么是软件.

软件架构师如何工作(即架构漫谈读后感)

读完王概凯老师的架构漫谈,感觉自己对软件架构方面的知识了解了一点点.以前都只是听说软件架构师特别的厉害,高薪,但是具体说软件架构师是什么,具体是做什么的,自己并没有多大的一个观念.现在看王概凯老师的专栏,希望能让自己有一些收获. 看完该专栏的几篇文章之后,有以下收获: 1.什么是架构,为什么需要架构? 按文章中所说,架构是规划.设计和建造建筑物和其他物理结构的过程和产物.人们完成一项任务,因为每个人的能力不同,所擅长的方向不同,所以如果自己去完成一项任务一般要花费很长的时间,效率很低,但是人们对

《漫谈架构》读后感——软件架构师如何工作

看了漫谈架构,首先理解了什么是架构和为什么会产生架构.架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地.有目的地去识别问题,并进行分解.合并,解决这个问题的实践活动.架构实际上解决的是人的问题. 什么是软件架构?软件因为流量增大而分拆成不同的运行单元,在不同的机器上部署所形成的架构,属于软件架构.每个运行单元为了让不同角色的人,比如前端,业务,数据存储等能够并行工作,所分成的代码架构,也属于软件架构. 软件架构师是如何工作的?首先软件架构师要找到真正的问题,找到真正的问题,那么问

常用软件架构模式分类

软件架构师的本质工作就是站在不同的利益相关者角度(用户.开发者.测试.部署.运维等)来审视自己的架构,在我看来,软件架构模式分类亦如此,只是看问题的角度不同罢了.如下图,所有的软件架构模式都可以归类其中.

软件架构师工作内容总结

架构师的职责及工作描述 系统分析员属于Analyst角色组合,与其相比,架构师则是属于Developer 角色组里的一个角色,一个非常重要的角色. 负责在整个项目中对技术活动和工件进行领导和协调.构架设计师要确立每个构架视图的整体结构:视图的详细组织结构.元素的分组以及这些主要分组之间的接口.因此,与其他角色相比,构架设计师的见解重在广度,而不是深度. 架构师负责理解系统的业务需求,并创建合理.完善的系统体系架构.架构师也负责通过软件架构来决定主要的技术选择.这典型的包括识别和文档化系统的重要架

软件架构师如何工作-架构漫谈阅读笔记

在王概凯先生的9篇关于软件架构师的博客-<架构漫谈>中,我们可以看到文中谈到了架构的定义.含义,架构主要是要认识概念,如何做好架构之架构的切分,然后谈到了软件与架构之间的关系(什么是软件,软件架构是要解决什么问题,从架构的角度看如何写好代码,理清技术.业务和架构之间的关系了),下面依次写出我对9篇博客的理解与感悟,以及对软件架构师工作的理解. 一:什么是架构 在学习软件体系结构这门课之前,我们貌似只对软件开发以及简单的mis系统的开发有一丝丝的开发经验和感触,无架构之言.我们目前还无法像软件架

软件架构师如何工作

原文链接(转载请注明出处):软件架构师如何工作 前言 要想了解软件架构师如何工作,首先要搞清楚这么几个问题:什么是架构,怎样理解架构,如何做好架构,什么是软件,什么是软件架构师,软件架构师的工作是什么,怎么理清技术.业务和架构三者的关系.资深架构师王概凯在<架构漫谈>系列专栏中一一给出了这些问题的答案.本文也是本人阅读<架构漫谈>时所做的笔记与思考. 什么是架构 什么是架构,为什么会产生架构,作者由人类社会的演化,人类社会中分工的出现来引入问题的答案.把一个整体(完成人类生存的所有

《架构漫谈》读后感——软件架构师的工作

软件架构是软件开发中一个非常非常重要的过程.我们都知道在一个软件开发项目中,软件架构师是一个团队的核心,他负责整个软件开发的分工和沟通的安排,组织整个 团队进行分工合作,高效率的完成软件开发任务. 在之前的代码编写中,大多数是自己独立开发,编写代码和测试代码.从来没有加入过实际项目开发过程,也少有团队开发分工的经验,所以对这个软件架构的过程一点都 不了解.在小民哥的强烈推荐下,我十分"情愿"的打开了王概凯的架构漫谈系列博客,准备了解一下架构的内容. 架构漫谈分为九部分,每一部分都有不同

[架构漫谈]软件架构师如何工作

阅读了一下王概凯的<架构漫谈>,有一些感受与心得,仅仅发表一下自己的看法和理解. 1.什么是架构? 架构是一个有些抽象的词汇,但转到其他行业或许会更容易理解.如古代朝廷的政府体系三省六部制.或者公司的部门分工等等,由一个个部分有机组成整体的概念有点类似架构的概念.比如一个远古部落,有男有女.这时候人们需要衣服以及食物,于是人们开始分工,男人出去打猎获取食物,而女人负责制衣等等形成了鲜明的分工,对每个角色有针对性的进行切分并有联系,最后有机的合并成为一个整体概念,这就形成了最简单的体系或类比为架