开发人员角色分析:
开发人员Developers |
主要包含以下角色: n 软件架构师Software Architect n 设计员Designer n 用户界面设计员User-Interface Designer n 数据库设计员 Database Designer n 实施员Implementer n 集成员Integrator |
角色 |
|
定义 |
主导系统全局分析设计和实施、负责软件构架和关键技术决策的角色 |
职责 |
l 领导与协调整个项目中的技术活动(分析、设计和实施等) l 推动主要的技术决策,并最终表达为软件构架 l 确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图” l 确定设计元素的分组以及这些主要分组之间的接口 l 为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻 l 理解、评价并接收系统需求 l 评价和确认软件架构的实现 |
专业技能 |
l 技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,迅速抓住问题要害,并做出合理的关键决定的能力 l 具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考; l 对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等 l 具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策 l 拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任; l 以目标导向和主动的方式来不带任何感情色彩地关注项目结果,构架师应当是项目背后的技术推动力,而非构想者或梦想家(追求完美) l 精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等); l 具备系统设计员的所有技能,但涉及面更广、抽象级别更高; |
活动 |
确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素 |
工件 |
软件构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议 |
角色 |
|
定义 |
在项目需求、构架和开发流程限制之下负责系统局部的分析设计的角色 |
职责 |
l 理解、评价并接收系统需求细节 l 理解、评价并接收相关的软件架构 l 依据需求规格分析系统的内部行为,在分析层面识别与定义各系统组成元素的职责、操作 l 识别与定义各设计元素的职责、操作、属性及其相互关系 l 保证其设计符合软件构架,并足够详细到可以进入实施 |
专业技能 |
l 掌握需求工程概念和技巧,以准确无误地理解相关系统需求; l 熟悉软件架构模式、概念和技巧,以准确无误地理解相关系统构架; l 精通软件设计理论、实践和工具,包括面向对象的分析设计技术和统一建模语言等 l 掌握将用于实现系统的相关技术,例如组件开发(J2EE、EJB)、通讯机制、多线程与实时技术等; l 掌握将用于实现系统的程序设计语言(例如:Java、C++、C、HTML、CSS、XML、 JavaScript、汇编语言); l 对目标设计元素的相关问题有深入的了解 l 熟悉项目的设计指南,明了设计与实施的关系,包括在实施之前设计应当达到的详细程度 l 具备实施员的所有技能,但程度更深、抽象级别更高; l 通常兼任实施员的角色 |
活动 |
执行用例分析、设计用例实现、子系统设计、设计类、设计测试包与类库 |
工件 |
用例实现、分析类、设计子系统、设计包、设计类、测试类 |
角色 |
|
定义 |
遵照项目标准来开发、测试构件以集成为更大的子系统的角色 |
职责 |
l 理解、评价并接收相关的软件设计元素 l 在私有开发空间(workspace),遵照项目既定的标准(编程规范等)来开发、测试构件 l 为了测试构件,需要相应的驱动和桩,实施员还负责开发、测试这些测试用构件及相关子系统 l 将测试通过的实施元素(源码等)提交到集成空间,以交付给集成员来集成为更大的子系统 l 重设开发基线(rebase),以便在新的基础上继续实施活动 |
专业技能 |
l 熟悉软件设计模式、概念和技巧,以准确无误地理解相关设计; l 掌握软件编程理论、实践和工具,包括面向对象的编程技术和统一建模语言等 l 精通将用于实现系统的程序设计语言和编程技能(例如:Java、C++、C、HTML、CSS、XML、 JavaScript、汇编语言); l 精通开发测试(特别是单元测试)和自动化测试工具,熟悉测试驱动编程更佳 l 熟悉被实施构件的所有相关内容,包括其接口、结构与行为 l 熟悉项目的编程指南 |
活动 |
实现开发测试(脚本等)、执行开发测试、实现设计元素、实现测试设计元素、分析运行时刻行为、编写构建脚本、开发安装工件 |
工件 |
开发测试(脚本等)、实施元素(源码与描述文档等)、构建脚本(makefile)、安装包 |
角色 |
|
定义 |
负责计划并执行集成活动从而将实施元素集成为产品构造的角色 |
职责 |
l 计划在不同的子系统、系统级别下,进行构建和集成的顺序 l 在集成空间执行集成,解决编译与链接冲突,调试构建脚本等 l 建立工作基线 l 将集成测试通过的子系统、系统实施元素提交到更 l 上一级集成空间,以便集成为更大的系统 |
专业技能 |
l 熟悉将用于实现系统的程序设计语言(例如:Java、C++、C、HTML、CSS、XML、 JavaScript、汇编语言); l 精通自动化构建工具(例如make/ant) l 熟悉被集成子系统、系统的相关内容,包括其各组成部分间的依赖关系、与外部系统间的依赖关系,以及它们的开发和依赖关系如何随时间而演变的预期 l 具备优良的协调能力,以便与多个开发人员协作,来共同保证集成的成功 l 很多时候可以兼任测试员的角色 |
活动 |
创建集成空间、计划子系统集成构建、计划系统集成构建、执行子系统集成、执行系统集成、建立基线、提升基线级别 |
工件 |
集成构建计划、构建脚本(makefile)、构造(build) |
开发人员培训方案:
课 程 名 称 |
课程编号 |
备注 |
理论基础 |
|
|
面向对象的分析与设计(OOAD) |
SZB-CLS-201 |
|
统一建模语言(UML)和建模工具 |
SZB-CLS-801 |
|
统一软件过程RUP |
SZB-CLS-803 |
|
软件构架设计与构架模式 |
||
软件设计模式 |
||
单元测试与测试驱动编程 |
||
数据模型与O/R Mapping |
数据库设计员 |
|
用户界面与可用性设计 |
用户界面设计员 |
|
实战演练 |
||
UML/ROSE实践 |
SZB-CLS-802 |
|
UML/RUP项目实战:项目过程概述 |
||
UML/RUP项目实战:构架与详细设计 |
||
UML/RUP项目实战:分析与设计 |
||
UML/RUP项目实战:实施与单元测试 |
||
UML/RUP项目实战:软件模式 |
||
UML/RUP项目实战:自动化构建与持续集成 |
||
工具操作 |
||
Rational ClearCase基本操作 |
||
Rational RequisitePro与软件需求管理 |
SZB-CLS-605 |
|
Rational ClearQuest与缺陷跟踪 |
SZB-CLS-604 |
|
白盒测试工具 |
||
技术应用 |
||
优秀的开源产品与工具应用 |
||
代码调试与缺陷快速定位 |
||
J2EE(.Net)架构及程序设计 |
SZB-CLS-203 |
|
BEA WebLogic、BEA Tuxedo |
SZB-CLS-204 |
|
IBM WebSphere、 CICS |
SZB-CLS-205 |
|
Windows NT/2000/XP、Linux/Unix操作系统内幕 |
||
高级Windows、Linux/Unix GUI应用程序开发 |
||
C++高级开发技巧、 Java高级开发技巧、 C#高级开发技巧、 VB6和VB.NET高级开发技巧 |
||
组件开发、集成和测试: CORBA、 MS COM+、 Enterprise JavaBeans |
||
高级的网络应用程序开发、高级的数据库应用程序开发 |
||
IDE:IBM WebSphere Application Developer 、 Borland JBuilder、 MS Visual Studio.Net 、 Sun Forte Developer 、 Borland Delphi |
||
XML及应用程序开发 |
||
来源:https://www.cnblogs.com/xuxu1390/archive/2008/04/04/1137124.html