软件开发流程.pdfVIP

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

文档评论(0)

A13865477551 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档