当前位置: 首页 > 编程日记 > 正文

开发人员角色分析

开发人员角色分析:

 

开发人员Developers

主要包含以下角色:

n        软件架构师Software Architect

n        设计员Designer

n        用户界面设计员User-Interface Designer

n        数据库设计员 Database Designer

n        实施员Implementer

n        集成员Integrator

 

角色

软件架构师Software Architect

定义

主导系统全局分析设计和实施、负责软件构架和关键技术决策的角色

职责

l          领导与协调整个项目中的技术活动(分析、设计和实施等)

l          推动主要的技术决策,并最终表达为软件构架

l          确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”

l          确定设计元素的分组以及这些主要分组之间的接口

l          为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻

l          理解、评价并接收系统需求

l          评价和确认软件架构的实现

专业技能

l          技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,迅速抓住问题要害,并做出合理的关键决定的能力

l          具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考;

l          对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等

l          具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策

l          拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任;

l          以目标导向和主动的方式来不带任何感情色彩地关注项目结果,构架师应当是项目背后的技术推动力,而非构想者或梦想家(追求完美)

l          精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等);

l          具备系统设计员的所有技能,但涉及面更广、抽象级别更高;

活动

确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素

工件

软件构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议

 

角色

设计员Designer

定义

在项目需求、构架和开发流程限制之下负责系统局部的分析设计的角色

职责

l          理解、评价并接收系统需求细节

l          理解、评价并接收相关的软件架构

l          依据需求规格分析系统的内部行为,在分析层面识别与定义各系统组成元素的职责、操作

l          识别与定义各设计元素的职责、操作、属性及其相互关系

l          保证其设计符合软件构架,并足够详细到可以进入实施

专业技能

l          掌握需求工程概念和技巧,以准确无误地理解相关系统需求;

l          熟悉软件架构模式、概念和技巧,以准确无误地理解相关系统构架;

l          精通软件设计理论、实践和工具,包括面向对象的分析设计技术和统一建模语言等

l          掌握将用于实现系统的相关技术,例如组件开发(J2EE、EJB)、通讯机制、多线程与实时技术等;

l          掌握将用于实现系统的程序设计语言(例如:Java、C++、C、HTML、CSS、XML、 JavaScript、汇编语言);

l          对目标设计元素的相关问题有深入的了解

l          熟悉项目的设计指南,明了设计与实施的关系,包括在实施之前设计应当达到的详细程度

l          具备实施员的所有技能,但程度更深、抽象级别更高;

l          通常兼任实施员的角色

活动

执行用例分析、设计用例实现、子系统设计、设计类、设计测试包与类库

工件

用例实现、分析类、设计子系统、设计包、设计类、测试类

 

角色

实施员Implementer

定义

遵照项目标准来开发、测试构件以集成为更大的子系统的角色

职责

l          理解、评价并接收相关的软件设计元素

l          在私有开发空间(workspace),遵照项目既定的标准(编程规范等)来开发、测试构件

l          为了测试构件,需要相应的驱动和桩,实施员还负责开发、测试这些测试用构件及相关子系统

l          将测试通过的实施元素(源码等)提交到集成空间,以交付给集成员来集成为更大的子系统

l          重设开发基线(rebase),以便在新的基础上继续实施活动

专业技能

l          熟悉软件设计模式、概念和技巧,以准确无误地理解相关设计;

l          掌握软件编程理论、实践和工具,包括面向对象的编程技术和统一建模语言等

l          精通将用于实现系统的程序设计语言和编程技能(例如:Java、C++、C、HTML、CSS、XML、 JavaScript、汇编语言);

l          精通开发测试(特别是单元测试)和自动化测试工具,熟悉测试驱动编程更佳

l          熟悉被实施构件的所有相关内容,包括其接口、结构与行为

l          熟悉项目的编程指南

活动

实现开发测试(脚本等)、执行开发测试、实现设计元素、实现测试设计元素、分析运行时刻行为、编写构建脚本、开发安装工件

工件

开发测试(脚本等)、实施元素(源码与描述文档等)、构建脚本(makefile)、安装包

 

角色

集成员Integrator

定义

负责计划并执行集成活动从而将实施元素集成为产品构造的角色

职责

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 WebLogicBEA Tuxedo

SZB-CLS-204

IBM WebSphere CICS

SZB-CLS-205

Windows NT/2000/XPLinux/Unix操作系统内幕

高级WindowsLinux/Unix GUI应用程序开发

C++高级开发技巧、 Java高级开发技巧、 C#高级开发技巧、 VB6VB.NET高级开发技巧

组件开发、集成和测试: CORBA MS COM+ Enterprise JavaBeans

高级的网络应用程序开发、高级的数据库应用程序开发

IDEIBM 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

相关文章:

php empty()和isset()的区别

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。 顾名思义,empty…

jmap 内存情况

2019独角兽企业重金招聘Python工程师标准>>> -dump dump堆到文件,format指定输出格式,live指明是活着的对象,file指定文件名 [rootlocalhost ~]# jmap -dump:live,formatb,filedump.hprof 187784 Dumping heap to /home/yxgly/dump.hprof ... Heap dump …

(C++)1021 个位数统计

#include<cstdio> #include<cstring>const int M 1000;int main(){char str[M1];int count[10]{0};//全部初始化为0 scanf("%s",str);int len strlen(str);int i;for(i0;i<len;i){count[str[i]-0];}for(i0;i<10;i){if(count[i]>0){printf(&qu…

TOJ--3456--数学题

这题 做出来真的好爽啊... it is cool although it is easy 虽然 已经是大概1 2点的事了 我拖到现在才写是因为------lol 终于赢一把了 --- 先贴下题目&#xff1a; touch me 嗯 我一开始 用的是 3重for 我以为32767的数据量 是很小的.... 结果 TLE。。 OK 那么 我们只能换…

firewalled centos7

zone绑定网卡 firewall-cmd --zoneinternal --add-interfaceens192 --permanent firewall-cmd --permanent --zoneinternal --add-rich-rule"rule family"ipv4" source address"192.168.10.0/24" accept" [rootbyos000 system]# firewall-cmd -…

为Delphi程序添加事件和事件处理器

在Delphi中&#xff0c;事件实际上是专门化的属性&#xff0c;它是一个过程&#xff08;procedure&#xff09;的指针。要添加事件&#xff0c;首先应在所定义的类中说明一个用来指向事件过 程的指针&#xff0c;该指针的作用是当事件一旦发生&#xff0c;就通过这个指针执行所…

(C++)1031 查验身份证 3难点+3注意点

#include<cstdio> #include<cstring> //难点1&#xff1a;检查前17位是否全为数字 //解决之道1&#xff1a;本来就不是整型数字&#xff0c;是字符数字&#xff0c;判断是否在0和9之间即可 //难点2&#xff1a;遇到一个X后&#xff0c;如果不想处理sum了该怎么办 /…

Perl时间处理函数

官方网址&#xff1a;http://search.cpan.org/~stbey/Date-Calc-6.3/lib/Date/Calc.pod#___top use Date::Calc qw(Days_in_YearDays_in_MonthWeeks_in_Yearleap_yearcheck_datecheck_timecheck_business_dateDay_of_YearDate_to_DaysDay_of_WeekWeek_NumberWeek_of_YearMonda…

Linux环境搭建 | 手把手教你安装Linux虚拟机

2019独角兽企业重金招聘Python工程师标准>>> 前言 作为一名Linux工程师&#xff0c;不管是运维、应用、驱动方向&#xff0c;在工作中肯定会需要Linux环境。想要获得Linux环境&#xff0c;一个办法就是将电脑系统直接换成Linux系统&#xff0c;但我们平常用惯了Wind…

企业的覆灭,我监视你的Exchange邮件!

现在很多企业都搭建ExchangeServer平台&#xff0c;一个用户包括Domain admins都是不允许查阅其他用户的邮件信息的&#xff01;殊不知作为Domain Admins权限用户可以经过精心的设置&#xff0c;可以达到浏览到其他用户邮件信息&#xff01; 转载于:https://www.cnblogs.com/al…

(C++)1002 写出这个数

#include<cstdio> #include<cstring>const int M 100; //用字符数组装输入 //定义变量&#xff0c;输出字符数组的长度 //对字符数组遍历求和 //对结果逐位输出汉语拼音 void hanzi(int i){switch(i){case 0:printf("ling");break;case 1:printf("…

IO复用之epoll系列

epoll是什么&#xff1f; epoll是Linux内核为处理大批量文件描述符而作了改进的poll&#xff0c;是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候&#xff0c;它…

MVP Summit 2008 照片纪实(二)- 旧金山,Google总部和Stanford大学

坐在洛杉矶机场里&#xff0c;终于为这次MVP峰会的美国之行画上了句号。从旧金山到拉斯维加斯&#xff0c;从拉斯维加斯到大峡谷&#xff0c;最后从大峡谷返回洛杉矶&#xff0c;3天之中总共驾驶历程超过1600英里&#xff08;据说可以赶上出租车司机了&#xff09;。3天之中经历…

(C++)1025 PAT Ranking

#include<cstdio> #include<algorithm> #include<cstring>using namespace std;const int M 100*300;struct testee{//考生 char reg_num[14];//准考证号 int score;//分数 int final_rank;//最终排名 int loc_no;//考场号 int local_rank;//考场内排名 }te…

模态视图(转)

转载请注明出处&#xff0c;原文网址&#xff1a;http://blog.csdn.net/m_changgong/article/details/8127894 作者&#xff1a;张燕广 模态视图不是专门的某个类&#xff0c;而是通过视图控制器的presentViewController方法弹出的视图&#xff0c;我们称为模态视图。 模态视图…

MHA二种高可用架构切换演练

高可用架构一 proxysqlkeepalivedmysqlmha优势&#xff0c;最大程序的降低脑裂风险&#xff0c;可以读写分离&#xff08;需要开启相应的插件支持&#xff09; 一、proxysql 1、安装 tar -zxvf proxysql.tar.gz -C /usr/local/chmod -R 700 /usr/local/proxysqlcd /usr/local/p…

如何关闭事件跟踪程序

最近经常遇到一些独享服务器用户反应自己的服务器联系万网工程师重起后&#xff0c;重新登陆时遇到的界面不知道该如何操作问题。当您看到此界面时&#xff0c;只需要在“注释”下面的空白处随意输入字符即可激活“确定”按钮&#xff0c;点击“确定”后可以进入系统。 这个界…

(C++)1015 德才论

#include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int M 100000;struct Testee{char no[10];int de;int cai;int type;//第几类 }peo[M10];bool cmp(Testee a,Testee b){//比较顺序依次为总分&#xff0c;德分&#xf…

Vim命令相关

在shell中&#xff0c;记住一些常用的vim命令&#xff0c;会在操作时候事半功倍。 光标移动 h,j,k,l,h #表示往左&#xff0c;j表示往下&#xff0c;k表示往右&#xff0c;l表示往上 Ctrl f #上一页 Ctrl b #下一页 w, e, W, E #跳到单词的后面&#xff0c;小…

做科研的几点体会

刚刚开始做实验的时候&#xff0c;别人怎么说我就怎么做&#xff0c;每天在实验台旁干到深夜&#xff0c;以为这就是科研了。两个月过去&#xff0c;突然发现自己还在原地踏步。那种感觉&#xff0c;只能用”沮丧”来形 容。我开始置疑自己的行为和观念。感觉有种习惯的力量在束…

ICMP报文分析

一.概述&#xff1a;1. ICMP同意主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议&#xff0c;但ICMP不是高层协议&#xff0c;而是IP层的协议。通常ICMP报文被IP层或更高层协议&#xff08;TCP或UDP&#xff09;使用。一些ICMP报文把差错报文返回给用户进…

(C++)1029 旧键盘

#include<cstdio> #include<cstring>const int M 80;//值得注意的地方是“按照发现顺序 ” //采取的最佳策略是&#xff0c;对于字符串1中的每一个字符&#xff0c;看在字符串2中是否出现int hashmap(char c){int res 0;if(0<c&&c<9){res c-0;}e…

深入理解 python 元类

一、什么的元类 # 思考&#xff1a; # Python 中对象是由实例化类得来的&#xff0c;那么类又是怎么得到的呢&#xff1f; # 疑问&#xff1a; # python 中一切皆对象&#xff0c;那么类是否也是对象&#xff1f;如果是&#xff0c;那么它又是那个类实例化而来的呢&…

使用.NET REACTOR制作软件许可证

使用.NET REACTOR制作软件许可证 原文:使用.NET REACTOR制作软件许可证软件下载地址&#xff1a;http://www.eziriz.com/downloads.htm 做一个简单的许可证系统&#xff0c;下面是具体步骤&#xff1a;1&#xff0c; OPEN ASSEMBLY打开项目可执行文件(debug文件夹里面exe文件…

(C++)CSP 201712-2 游戏

#include<cstdio> #include<algorithm> using namespace std;const int M 1000;int k;bool obsl(int x){if(x%k0||x%10k){return true;//淘汰 }else return false; }int main(){int n;//孩子的个数 scanf("%d%d",&n,&k);int i1;//现在报的数 in…

在wpf中运行EXE文件

最简单的方法&#xff1a;System.Diagnostics.Process.Start("路径");网上的其他方法&#xff1a; Process p new System.Diagnostics.Process(); p.StartInfo.FileName "路径"; p.StartInfo.Arguments ""; …

C语言程序试题

一个无向连通图G点上的哈密尔顿&#xff08;Hamiltion&#xff09;回路是指从图G上的某个顶点出发&#xff0c;经过图上所有其他顶点一次且仅一次&#xff0c;最后回到该顶点的路劲。一种求解无向图上哈密尔顿回路算法的基础实现如下&#xff1a; 假设图G存在一个从顶点V0出发的…

利用OWC创建图表的完美解决方案

http://onlytiancai.cnblogs.com/archive/2005/08/24/221761.html 转载于:https://www.cnblogs.com/Athrun/archive/2008/05/19/1202909.html

(C++)1020 月饼 简单贪心

#include<cstdio> #include<algorithm> using namespace std;int types,weight;//月饼的种类数 struct Mooncake{double totalPrice;double price;double weight;double sell;//卖出了多少 };bool cmp(Mooncake a,Mooncake b){return a.price>b.price; }int ma…

枚举,给枚举赋值

/**************枚举*****************/// public enum Colors{// Red,Yellow,Blue,Black,White// }// public static void main(String[] args) {// Colors c Colors.Yellow;// System.out.println(c);//输出枚举// System.out.println(c.ordinal());//输出枚举对应的序号…