- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章软件实现.doc
软件实现
11.1 目的
软件实现是指通过编程、调试、优化、内部测试和代码审查等活动,开发出符合用户需求、质量合格的可运行软件。
11.2 关键活动与流程
软件实现的流程如图11-1所示,关键活动是“编程”、“调试”、“优化”、“内部测试和代码审查”。
模块
图11-1 软件实现的流程
该流程的主要工作成果见表11-1。
表11-1 软件实现流程的主要工作成果
关键活动 主要工作成果 责任人 编程 代码、文档、目标软件
缺陷记录 软件开发人员 调试 优化 内部测试和代码审查
11.2.1 编程
11.2.1.1 构建环境
开发人员构建编程与测试环境,例如安装软件开发工具(包括可复用库)、配置管理工具、软件测试工具、软件测试工具和缺陷跟踪工具等等,如果是异地开发和测试,那么要构建Internet环境。
11.2.1.2 确定编程规范
如果机构已经存在适合于本项目的编程规范,那么所有开发人员都要学习该规范,达成共识后(允许裁减规范)按照规范编写应用程序。
如果机构尚未有适合于本项目的编程规范,那么项目经理组织开发人员制定编程规范。编程规范的主要用途是统一编程风格、提高代码质量,是给已经懂得编程的人用的,所以不要把编程规范写成入门教科书。Internet上有许多公开的C++、Java编程规范,人们根据企业的需求适当裁剪就可以了,不必彻头彻尾地自己撰写。
一般地,编程规范应当覆盖以下主题:
文件结构
排版
注释
表达式和语句
标识符命名规则
函数设计规则
类设计规则
内存管理
错误处理
……
11.2.1.3 分配任务
项目经理为所有开发人员分配编程任务,确定“何人在何时开发完成哪些模块”。项目经理应当充分了解开发人员们的技能优缺点,让他们扬长避短,而不是平均分配任务。
项目经理还要有意识地锻炼、提升组员们全局开发的能力,要保证至少有一人可以替换别人的工作,否则万一某人缺席(如离职、休假等),将导致工作被中断。
如果项目经理认为开发人员需要接受编程、测试、代码审查等方面的培训,那么尽早安排相应的培训。
11.2.1.4 及时写工作日记
开发人员要随时随地记录工作中遇到的问题,以及解决方案和灵感。不要等到项目结束后再靠回忆来写总结,将来可能想不起来了,岂非浪费了一笔“财富”?
开发人员应该每天写一份简短的工作日记,花几分钟就行了。很多程序员觉得他们的光荣任务就是开发软件,写工作日记很费时间很烦人,这是情绪作怪。如果大家还没有写工作日记的习惯,项目经理就强迫大家写,用不了几天就习惯了。
整个团队都写工作日记不仅对个人有好处,而且有利于项目的管理。如果这些工作日记保存在数据库里,那么管理者会对各人工作情况一目了然。
11.2.2 调试
大多数开发人员有这样的习惯,如果程序通过了编译和连接,他就认为程序基本上没有问题了,就交给别人测试,等到别人发现Bug后自己才去调试改错。这种方式延长了开发人员消除缺陷的时间。
编程调试的最佳实践是:当开发人员编写完成一个和几个相关程序之后,不必等别人测试,自己马上对代码进行单步跟踪调试。
现代的集成化开发环境都提供了很好的调试工具,开发人员可以在程序的任何地方设置断点,查看任何变量的地址和值。单步跟踪调试能够发现数据溢出、内存泄漏、野指针等仅靠黑盒测试难以察觉的Bug,无疑大大地提高了程序的质量和开发、测试效率。
单步跟踪调试不会让开发人员很劳累,它带来的好处是:
大大减少了后继的测试和改错代价;
让开发人员对自己的程序更有信心,不再为未知的Bug提心吊胆。
11.2.3 优化
软件的优化是指优化软件的各个质量属性,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好等等。
要做好优化工作,首先要让开发人员都有正确的认识:优化工作不是可有可无的事情,而是必须要做的事情。当优化工作成为一种责任时,开发人员才会不断改进软件中的数据结构、算法和程序,从而提高软件质量。
通常,性能优化是最主要的优化工作。性能是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。性能优化就好像从海绵里挤水一样,你不挤,水就不出来,你越挤海绵越干。有些程序员认为现在计算机不仅速度越来越高,而且内存越来越大,因此软件性能优化的必要性下降了。这种看法是不对的,殊不知随着机器的升级,软件系统也越来越庞大和复杂了,性能优化仍然大有必要。
优化工作的复杂之处是很多目标之间存在千丝万缕的关系,可谓数不清理还乱。当不能够使所有的目标都得到优化时,就需要“折中”,即协调各个质量属性,实现整体质量的最优。
11.2.4 内部测试和代码审查
一般地,软件实现阶段的测试都在开发小组内部开展,因为这样效率最高并且节约人力资源。
对于严格系统,开发人员编写完成
文档评论(0)