Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111493
  • 博文数量: 20
  • 博客积分: 334
  • 博客等级: 一等列兵
  • 技术积分: 223
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-08 10:02
文章分类

全部博文(20)

文章存档

2013年(6)

2012年(2)

2011年(12)

我的朋友

分类: IT业界

2011-09-14 15:48:31

摘自 系统架构设计师教程

根据全国计算机技术与软件专业技术资格(水平)考试的安排,其中作为高级工程师级别的职位有项目管理师、系统分析师和系统架构师(这里的系统架构主要是指软件系统的架构)。考试大纲对这三个职位的要求和职责定义如下。

(1)项目管理师:掌握信息系统项目管理的知识体系,具备管理大型、复杂信息系统项目和多项目的经验和能力;能根据需求组织制定可行的项目管理计划;能够组织项目实施,对项目的人员、资金、设备、进度和质量等进行管理,并能根据实际情况及时做出调整,系统地监督项目实施过程的绩效,保证项目在一定的约束条件下到达既定的项目目标;能分析和评估项目管理计划和成果;能在项目管理进展的早期发现问题,并有预防问题的措施;能协调项目所涉及的相关人员。即项目管理师的主要职责是负责整个项目的实施和控制,协调各种资源(包括组织内部资源和客户资源)。

(2)系统分析师:熟悉应用领域的业务,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划,协调项目开发与运行所涉及的各类人员;能指导制订企业的战略数据规划,组织开发项目;能评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档;能对开发过程进行质量控制与进度控制;能具体指导项目开发。即系统分析师的主要职责是获取并分析用户的需求,形成规范化的文档,指导整个项目的开发,需要与客户不断的交流,熟悉应用领域的业务。

(3)系统架构师:能够根据用户需求,结合用户应用领域的实际情况,设计正确、合理的软件构架,维护系统构件及其接口,并确保系统构架具有良好的性能;能够对项目进行系统构架级的描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;具有扎实的理论功底、广博的知识面,能够与系统分析师、项目管理师相互协作、配合工作。即系统架构师的职责更加强调整体的、宏观的系统设计,重点在架构级别上。重点要对架构进行描述、分析和评估。

图1-1的上图反映了传统的系统开发:通过对用户的需求分析,组织必要的资源和设施,选择设计合适的架构,然后由项目经理统筹安排组织实施(包括人、财和物),这是一个反复互动,逐步契合的过程。

由上面所述可以看出,在传统的系统开发中,系统开发进度及统筹的管理主要由项目经理来完成,需求分析及技术实现主要由系统分析员或设计员来完成。由于项目经理、系统分析员或者程序员从各自职位角度出发产生冲突的制约,不可能很好地给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术,或者说最终难以确认和评估技术对需求实现产生的影响。所以我们把系统架构设计师定位在图1-1的下图中两个椭圆相交的部分,他负责整个系统的战略策划和技术实现。图1-1的上图说明架构设计先行和系统架构师、系统分析师、项目管理师三者的相互关系与作用。

1.系统构架师与项目经理的关系及区别

软件项目经理是指对项目控制/管理,关注项目本身的进度、质量、分配、调动、协调,管理好人、财、物等资源的负责人。对于软件项目经理来讲,职责包括项目计划、进度跟踪/监控、质量保证、配置/发布/版本/变更管理、人员绩效评估等方面。优秀的项目经理需要的素质,并不仅在于会使用几种软件或是了解若干抽象的方法论原则,更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力,甚至还应具备某种个性魅力或领袖气质(charisma)。一般来讲,技术人员重技术而倾向于忽视"人"的因素,而这正是项目经理管理活动的一个主要方面。项目经理还必须能够应付开发过程中大量的偶发事件和杂务。

在一个项目中,推动项目技术发展的是系统构架师。在技术方面,项目经理(项目管理师)配合系统构架师并提供各个方面的支持,其主要职责是与内外部沟通和管理资源(包括人),系统构架师则要负责提出系统的总体构架,并给出开发指导。

2.系统构架师与系统分析师的关系及区别

系统分析师(system analyst)是在系统开发中进行业务需求分析、系统需求分析、可行性分析、业务建模和指导项目开发的人。其工作特点是与行业专家、用户沟通,及时与项目经理(项目管理师)、软件架构师协商,分析项目具备的特点、成本、风险等,考虑实现的模型。系统分析师所面临的往往是有许多不确定性的事件,需要对这些不确定的事件进行分析、总结,使之得出一个相对可靠的确定性结论或实施方案模型。一般意义上讲,系统分析师的水平将影响系统开发的质量,甚至成败。在一个完善的系统开发队伍中,一般应有项目管理师、软件架构师、系统分析师、软件设计师、测试工程师、数据库工程师、程序员和质量保证人员等不同的职位,还需要有业务专家和其他辅助人员。对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。

系统分析师对业务系统进行分析、建模,他的任务、目标是明确的。系统架构师协同系统分析师的工作,建议系统分析师按什么标准,什么工具,什么模式,什么技术去思考系统。同时,系统架构师应该对系统分析师所提出的问题,碰到的难题及时地提出解决的方法。

阅读(1039) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:MVC And MVP , 三层架构

给主人留下些什么吧!~~