
软件设计师的主要工作职责和能力要求
工作职责工作职责是在软件项目的开发过程中将客户需求转换为标准化的开发计划和文本,制定项目的总体结构,并指导整个开发团队完成此计划. 负责整个系统分析,设计和实施的人员,负责软件体系结构和关键技术决策.
需要全面的技能,熟练程度,洞察力和丰富的经验. 在缺乏完整信息的情况下,许多问题是相互交织,模糊和矛盾的,软件架构师可以快速掌握问题的关键点,并能够做出合理的关键决策,具有战略性和前瞻性思考能力,善于把握全局,并能够在更高的抽象层次上进行思考. 主要包括以下内容:
⒈在项目开发中涉及的所有问题领域的经验,包括对项目需求的透彻了解,进行软件工程活动(例如分析和设计等)
⒉具有领导才能,可以促进团队之间的技术工作并在项目压力下做出坚定的关键决定;
⒊具有出色的沟通能力,用来说服,鼓励和引导活动,并赢得项目成员的信任;

⒋专注于项目以目标导向和积极主动的态度毫无动摇,建筑师应该是项目背后的技术动力,而不是构想者或梦想家(追求完美);
⒌精通架构设计的理论,实践和工具,并掌握多种参考架构,主要的可重用架构机制和模式(例如J2EE架构等);
⒍具备系统设计人员的所有技能,但涉及的范围更广,抽象水平更高;确定用例或需求优先级的活动,进行架构分析,创建架构的概念验证原型,评估架构的概念验证原型的可行性,组织系统实现模型软件架构师,描述系统分布结构描述运行时体系结构,确定设计机制,确定设计元素,合并现有设计元素,体系结构文档,参考体系结构,分析模型,设计模型,实现模型,部署模型,架构师概念证明原型,接口,事件,信号和协议,等
资格认证在国外,软件架构师的培训和认证有一个严格的过程,明确规定了教育目标,认证要求和学习课程. 接下来,介绍这三个组织的软件架构师认证状态.
UC已加入UC Irvine的软件架构师认证计划[27]. 为了获得软件架构师的C级认证,学生必须完成11门必修课程和至少4门选修课程. 这些课程包括:
·必修课: 软件系统建模和分析入门(2个单元),系统分析基础知识(3个单元),用户需求的分析和文档(3个单元),软件体系结构项目(3个单元).

·选修课: 信息系统项目管理(2个单元),系统性能建模(2.5个单元),管理业务改进项目(2.5个单元).
UC Irvine的软件架构师认证要求学生具有建模业务系统,确定用户需求,评估业务流程,掌握项目管理技术的能力,并能够设计出完整的,最佳适应性和可扩展性的体系结构. 认证计划以一门实践课程结束,在该课程中,学员将从头开始设计大型软件解决方案体系结构.
CMUSEI在软件架构师方面的认证[42]包括三个职位,即软件架构师,ATAM评估员和ATAM首席评估员. 这些认证要求两年制课程. 其中,软件架构师需要学习的课程是软件体系结构: 原理和实践,软件体系结构文档软件架构师,软件体系结构设计和分析以及软件产品线.
iCMGiCMG的软件架构师认证强调7个级别的课程学习,如图2所示[30]. 在此认证系统中,高三级由其合作伙伴完成,而iCMG仅负责低四级的知识体系.
目前,软件架构师的认证在中国基本上是空白. 没有培训机构,也没有专门的认证指南和权威的教育认证机构. 作为软件的首席设计师,软件架构师的水平和能力直接决定了软件系统的整体性能. 根据教育部2004年9月8日关于人才短缺的报告,2005年国内软件体系结构和系统分析人才缺口超过60,000,目前他们迫切需要软件开发中的高级技术人才. 人事部和信息产业部[2003] 39号文件决定在全国计算机技术和软件技术资格(水平)考试中建立系统架构师级别认证考试,以解决软件架构师认证问题问题. 但是,由于种种原因,考试没有按计划进行,因此推迟了. 实际上,这些措施目前仅起过渡作用. 只有建立完整的软件架构师教育培训计划和权威的教育认证机构才是亟待解决的问题.
Microsoft“软件架构师” Microsoft“ Software Architect”是Microsoft认证的最高级别,其目标读者是具有10年以上IT管理经验的CIO级人员. 全世界只有大约40个人拥有此认证.

架构师的职责主要如下:
1. 确认要求
在项目开发过程中,架构师在需求规范完成后进行干预,并且需求规范必须得到架构师的批准. 架构师需要与分析人员反复沟通,以确保他们完全准确地了解用户需求.
2. 系统分解
根据用户需求,架构师将系统整体分解为较小的子系统和组件,以形成不同的逻辑层或服务. 随后,架构师将确定每个层的界面以及层之间的关系. 架构师不仅必须对整个系统进行分层并垂直分解,而且还要将同一逻辑层划分为多个块并进行水平分解.
软件架构师的技能基本上体现在这方面,这是一个相对复杂的任务.

3. 技术选择
架构师通过对系统的一系列分解,最终形成了软件的整体结构. 技术的选择主要取决于软件体系结构.
Web服务器可以在Windows或Linux上运行吗?使用MSSql,Oracle还是MySQL?您是否需要轻量级框架,例如MVC或spring?前端采用富客户端还是瘦客户端方法?在这一阶段需要提出和评估类似的工作.
建筑师对产品和技术的选择仅限于评估,没有决策权. 最终的决策权属于项目经理. 架构师提出的技术计划为项目经理提供了重要的参考信息. 项目经理将权衡项目预算,人力资源和时间表的实际情况,并最终确认.
4. 制定技术规范
架构师是项目开发过程中的技术权威. 他需要协调所有开发人员,与开发人员保持沟通,并始终确保开发人员根据其架构意图实现各种功能.
建筑师不仅需要与开发人员保持联系,而且还需要与项目经理,需求分析员甚至最终用户保持联系. 因此,对于建筑师来说,不仅有技术要求,而且还有人际沟通要求.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-289391-1.html