sunlingsz 2015-04-14
以下为本人整理的程序员能力划分_[技术方面]
13年整理.
高级开发
1.a 定义总体设计路线(参考现有系统,然后根据现有业务需求,确定最合适的软件设计线路,如:系统应该b/s模式,系统需要结构分层,需要有对外接口等),
定义总体技术架构(以图表的形式勾画出新系统的体系结构图,应包括与外部应用系统的连接,硬件设备的连接,网络系统的连接等。),
定义总体功能架构(用图表的形式列出那些与应用程序自动进行数据处理的过程相对应、需要通过用户交互来完成的处理过程。
对于每种角色描述,应指出这种角色能够胜任哪些任务,有多少用户可能具备这种角色,以及(在可能情况下)这种角色能够在工作流批准或状态改变中充当哪些处理过程。
可以用图表的形式列出本应用系统有哪些程序模块,每个模块的功能是什么),
定义系统特点(如可扩展,通用,分布式等),
定义系统使用者(如普通用户,登录用户,访客,部门级用户,系统管理员,子系统人员等)
定义数据库命名规范,
定义编程规范总则,
定义数据结构(以图表的形式列出本应用系统的数据结构并予以说明,),
定义接口设计(内部接口,外部接口,与其他网络系统的接口),
定义系统性能及安全设计(详细描述对于新系统的性能、安全性以及其他非功能性等方面是如何考虑设计的,如系统响应速度,数据处理速度、网络传输速度、数据加密、权限设计等方面。)
1.b 定义技术策略(从技术角度详细说明如何来实现新应用系统,采取哪些新技术,如何确保技术实现),
定义安全策略(从实现的角度来说明如何实现安全设计,采取哪些安全策略来确保新系统能满足安全要求,如数据加密,CA认证、防火墙等)
定义数据存储备份策略(应用系统如何实现数据存储备份,应采取哪些策略,应遵循哪些存储规则和规范)
定义系统整合策略(说明本应用系统如何与其他系统进行整合,如何整合,采取哪些技术策略,整合后的系统如何确保性能最优,如何优化。)
1.c 定义运行环境(以图表的形式列出新系统运行的服务器平台环境,如操作系统、以及诸如tomcat、mysql之类的必要应用程序。同时,描述所有需要相关数据结构及身份验证协议支持的特定需求。
以图表的形式列出客户端环境需求与限制的相关细节,如CPU、操作系统、内存、存储容量、硬件、应用软件等。
以图表的形式列出服务器与客户端以及远程访问所需要的网络环境,如硬件环境(路由器、网关、防火墙等),网络带宽、传输速度、网络协议等),
定义硬件环境(略),
定义软件环境(如开发环境jdk版本,缓存服务版本,数据库版本等),
定义开发工具
1.d 用户界面demo设计,
复杂功能编码,
系统结构优化,
工具类编写与优化,
系统重用构建整理,
代码审查
中级开发者
2.a 分解系统模块功能(分析现有功能模块,细化当前功能结构,定义具体编码流程),
细化当前模块数据库设计(完善数据库,如字段添加与修改),
系统编码,
代码审查
初级编码者
3.a 根据具体业务流程编码
单元测试