- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
技术人员的职业素养
《程序员规范》
一、程序员的基本任务
基本任务组成:“可执行代码” +“程序员任务书”+“程序员工作日志”。
编码:根据《程序员任务书》进行编码。例如,一个“界面”或一个“类”。
日志:每天下班前须填写《程序员工作日志》,所有记录用语必须简练明确。
测试:完成代码编写后须进行单元测试,《代码+文档》一并上交项目经理。
二、程序员的基本素质:
团队精神:我们的理念是“团队协作精神能做出大系统,个人只能做小程序。”
文档习惯:程序员至少有30%的时间在写书面文档,没有文档习惯会被淘汰。
规范习惯:没有规范化、标准化的代码编写和文档书写习惯,在团队内部成员之间的开发协作是绝对不可想象的。例如:至少我们整个团队内部在如下这些工作内容上达成一致,界面布局;界面色调;界面命名;界面上操作流程;代码的变量命名;代码内注释格式;甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定。
理解能力:程序员需要理解《程序员任务书》中模块的需求。很多程序员在写程序时往往只关注其功能需求,而忽视性能指标要求。例如:百万甚至千万数量级的访问情况下的稳定性、并访支撑能力、安全性、潜在的危险、恶意攻击的可能性等。一个成熟的程序员需要评估该模块在系统运营中所处的环境,这一切,程序员至少需要2到3年的项目研发和跟踪经验才有可能总结体会出来得。
测试习惯:一方面是正常测试,也就是看程序是否能在正常调用下完成基本功能;第二方面就是异常测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
学习能力:要善于学习,是因为软件技术更新很快,需要不断学习新的技术、新的技能。要善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样才能逐步提高,从程序员升级为软件设计师、系统分析员、项目经理。
《设计师规范》----设计师的基本素质
(1)需求理解能力(属于需求分析)
用户提出《需求描述》往往在文字上很不规范,考虑问题也只局限于非技术因素的操作功能要求。他们不懂得技术性能要求、将来功能扩充、与外系统连通的未来因素。
所以,我们的设计师要凭借自己丰富的经验和项目实际,从整体上把握用户的需求。
(2)整体框架能力(属于总体设计)
软件工程教科书上,总体设计只涉及软件整体可以划分成哪些模块、模块之间组成关系。设计师必须从更广的角度去设计,比如:产品定位、主体思路、公共规则、数据关系、接口约定等等。设计出一份功能完整、性能良好、结构清晰的《总体设计报告》。
这份报告必须考虑三方面的工作,一是,用户所有需求得到满足;二是,有利于项目的分工协作;三是,以便于程序员编码的按部就班。
(3)流程处理能力(属于总体设计)
流程处理能力非常非常重要!所谓流程处理分两类,一类是,软件系统的工作流程;二类是,项目实施的控制流程。
软件的工作流程,就是采用什么设计方法去分解整个软件系统,属于《总体设计报告》。
实施的控制流程,就是系统模块完成?团队资源如何调度?形成《项目实施计划书》。
(4)模块分解能力(属于详细设计)
作为系统分析员、设计师,所面对的问题很复杂,需要对“整体系统”进行分解,把一个个“系统部件”分解为若干可复用的“功能模块”和“调用函数”。
每个“模块”和“函数”有一个独立的设计文档-----《详细设计报告》。设计师也要考虑:接口约定、模块功能、重要算法、属性、公共规则、数据关系等等。
一个大型的、错综复杂的应用系统分解成一些相对独立的、具有高度复用性的、并能仅仅依靠几个参数完成数据联系的模块组合,是我们软件设计师和系统分析员的一项最重要工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。
(5)项目评估能力(属于实施进度)
评估项目整体工作量,评估各个模块工作量,评估项目所需的资源,评估项目可能遇到的困难,确定项目工期。
(6)组织管理能力(属于组织管理)
作为项目的设计者和项目的实施组织管理者,必须做到:一是,工作的量考核化,没有量化就很难做到合适的绩效考核;二是,对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有主程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。
《简明软件工程》----我喜欢快速原型法
场调研:切记!只有
文档评论(0)