Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89459
  • 博文数量: 21
  • 博客积分: 1990
  • 博客等级: 上尉
  • 技术积分: 452
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-25 17:16
文章分类
文章存档

2010年(2)

2009年(19)

我的朋友

分类: IT业界

2009-10-19 01:47:36

技术人员的全面介入,可以简单的看作以“需求分析初稿完成”为界,需求完成以后,派生出几个设计:交互设计、编码设计、数据库设计、测试设计,各自设计完成并执行以后,再部署发布。

具体的说一下,交互设计这块,主要是做软件和用户交互的工作,分工有从最直接的视觉设计师到使用感受上的用户体验师(交互设计师)再到偏代码实现的前端工程师。

编码设计,比较偏概要设计的有软件架构师(比如整个系统的表结构设计),具体到coding的层面就是最常见的开发工程师,他们也会有分工,比如偏应用、偏底层数据库、专做搜索引擎,等等。

数据库设计,对于大用户量的应用特别重要,而阿里的用户数实在是比较多,所以相应的人员——DBA,数据库管理员,在业界也确实是比较强的。

测试设计,就比较单纯了,相应的人员就是测试工程师,再细分一点就有功能、性能等等,一般来说性能测试会写一些自动执行的脚本,感觉更高科技一点。

上述各项工作完成之后,就要把各方面准备好的产出物拼在一起部署发布,那么就牵涉到硬件方面的管理,这就是SA,系统管理员。对于BS应用,感觉部署方面的工作比传统CS软件简单一些。

对于软件项目的整个过程,需要在流程/规范上做控制以防止低级失误的发生,比如有时候需求人员会觉得某个功能的改动很小,就直接叫开发人员改而跳过测试人员,这样违反流程的行为对于复杂的系统是极其危险的。所以产生了SQA,也就是软件质量控制人员,这块和测试不一样。

对于多次不断发布的产品、多分支开发的产品,配置管理员(SCM)就显得非常重要了,有他们的控制,就不会发生“某个bug在新代码发布之后重新出现”这样的低级失误,或者分支切来切去乱成一团的情况。像简单的用SVN、CVS来管理文档、代码的更新、软件版本的变更、日构建/发布的控制,就是SCM的雏形。

阅读(387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~