- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发分为了两大类,即项目开发及产品开发。
项目开发是公司根据某一客户的需求单独为某一客户订制的软件;
产品开发是公司针对某一市场需求而开发的软件产品(比如WINDOWS、OFFICE 等)。
这里把流程图用PS 重新绘制了一下:
程序员的基本技能包括了以下几个方面:
1、项目实践
• 软件工程理论
• 质量体系:ISO9001 和CMM 体系
• UML 基本理论
• 测试理论和测试工具使用
• 加密理论和加密方法
• 源代码控制工具使用
• 说明书编写
• 程序的安装和部署
2、专业技能
3、程序员基本素质
• 团队精神和协作能力(• 木桶理论、• 学习性组织)
• 文档习惯(• 注释、• 开发过程文档:良好的文档是正规研发流程中非常重要的环节,
作为代码程序员,30 %的工作时间写技术文档是很正常的,而作为高级程序员和系统分析
员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以
及模块的复用时就都会遇到极大的麻烦。)
• 规范化,标准化的代码编写习惯(作为一些外国知名软件公司的规矩,代码的变量命
名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的
编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。• 代码编写
规范• 界面设计规范)这里邵老师强调了标准未必要固定,但在一个项目组中间要有统一的
标准。
• 复用性,模块化思维能力(• 用户控件 • 组件技术)
• 测试习惯(• 单元测试 • 集成测试 • 系统测试 • 稳定性测试 • 软件研发作为一项
工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,
每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样
对整体系统建设的效率和可靠性就有了最大的保证。)
• 学习和总结的能力(• 学习:程序员是人才很容易被淘汰,很容易落伍的职业,因为
一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技
术,学习新的技能。• 总结:善于总结,也是学习能力的一种体现,每次完成一个研发任务,
完成一段代码,都应当有目的的跟踪该程序的应用状况
和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。)
4 、职业素质
• 交际能力
• 表达能力
• 职业素养
5、个人素质
• 信心和恒心
• 良好的个人品质
• 良好的个人习惯
• 关于质量控制和开发模板
• 项目组建设
高级程序员的基本素质:
1. 需求分析能力
对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,
他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢?
2. 项目设计方法和流程处理能力
程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,
比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的
整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。
3. 复用设计和模块化分解能力
一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如
微软的许多桌面软件,在很多操作模块 (如打开文件,保存文件等等)都是复用的同一套功
能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便挂接,这就是复用化
的模块设计明显的一个佐证。
4. 整体项目评估能力
作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源
配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评
估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要
大量的经验积累,换言之,这是一种不断总结的累计才能达到的境界
5. 团队组织管理能力
首先是工作的量化,没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代
码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
其次是对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有
主程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的
需求,选择合适的组队方式,并能将责权和成员的
文档评论(0)