- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章节 软件项目管理
第12章 软件项目管理 软件项目的管理是软件开发过程中很重要的一项工作。好的管理方法是一个软件项目成功的前提,而使用好软件管理工具能让软件项目开发事半功倍。开源软件项目的开放特性导致开发一个软件项目的人员可能分散在不同的地理位置,如Linux内核开发人员分布在全球数十个国家。开源软件项目开发中的交流与合作难度比任何一种商业软件都要高,因此需要管理软件项目的软件帮助开发人员完成协作和交流的问题。本章介绍在开源软件项目常用的管理技术,主要内容如下: 软件版本的概念 如何控制软件版本 开发文档管理 Bug缺陷跟踪系统 12.1 源代码管理 源代码是一个软件最重要的部分,软件的二进制程序都是从源代码编译生成的。学过计算机编程的读者在学习过程中都编辑过一些源代码,可以完成一些简单的功能,但是在学习编程过程中可能很少会体会到对源代码的管理问题。对于一个软件来说,无论从源代码的数量还是软件的功能,都远比一个小程序复杂。软件开发式多人合作的过程,对软件开发过程管理就很必要了。 12.1.1 什么是软件的版本 软件开发过程中通常会把完成某个功能的代码打包,用数字和字母的组合为软件的源代码或者二进制文件命名,表示完成一个阶段的工作,这种软件阶段性的名字称作软件版本。软件的版本不是随意命名的,有一定规律,不同的软件开发组织都有自己的软件命名方法。本节介绍几种常见的名规则。 1.GNU软件版本命名规则 2.常见的软件版本命名含义 12.1.2 版本控制的概念 随着软件开发过程中不断的修改错误和发布新的功能,软件的版本随之增多。此外,发布给用户的版本与开发的版本往往不是一致的,12.1节讲到的多是发布给用户的版本,在开发过程中很可能会有许多的“中间版本”。 版本控制的目的就是解决软件开发过程中的版本问题。在开发过程中常会遇到同一文件多人修改,或者多人修改代码后同时提交的问题。 版本控制的一个重要功能是记录每个版本信息,在发生错误时能回退到某个指定的版本。试想一下,如果每个人都在修改自己的文件,当提交的时候发现问题,这个时候如果不能回退到之前某个可用的版本,工作可能就前功尽弃。软件版本控制还需要提供代码比对功能,帮助用户比较不同版本之间的差异。 12.2 版本控制系统Subversion 在开源软件领域,有许多的版本控制软件。早期的版本控制软件有大名鼎鼎的CVS,现在应用最广泛的软件版本控制软件是Subversion版本管理系统。此外,Linux内核开发团队使用了自己开发的GIT版本管理系统,也是一个不错的选择。 Subversion最大的特点是使用简单。Subversion继承了CVS仓库的概念,但是做了很多的改进,支持Unicode编码,并且提供了许多功能。本节介绍Subversion的安装配置和使用方法。 12.2.1 在Linux系统使用Subversion服务端 本节介绍在Ubuntu Linux 8.04版本上安装Subversion。Ubuntu Linux使用apt管理软件包,安装Subversion的过程非常简单。安装配置过程如下: 12.2.2 在Windows系统使用TortoiseSVN客户端 Windows提供相良好的图形界面,嵌入式开发中,通常把客户端工具安装在Windows系统,如编辑工具、代码管理工具等;而把编译环境等放在一个Linux系统。这样充分利用了两个系统的优势。 在Windows系统下有许多开源的Subversion客户端。TortoiseSVN是目前使用最广泛的Subversion客户端,该客户端界面简洁、功能丰富,并且比较稳定。软件安装配置过程如下: 12.3 开发文档管理——常见的开发文档 随着技术的进步,小作坊式的软件开发年代已经过去。目前的软件开发能力在不断提升,用户对软件的功能和性能要求也越来越高,软件开发质量受到关注。在软件开发过程中,各种数据和代码的管理需要经过统筹安排和管理,出现了各种软件开发文档,用于控制软件开发过程。 软件开发文档是与开发阶段对应的。一般来说,每个阶段至少产生一种文档。软件开发文档描述了在软件开发各阶段中不同的任务。不同组织和公司有不同的开发文档和规范,使用不同的开发模型产生的文档内容也不相同。 软件开发文档指导不同阶段相关人员的工作,不同阶段的人员也产生某个阶段的最终文档。如需求设计文档指导项目经理做软件的框架设计,产生概要设计文档;程序员使用概要设计文档了解软件某部分的功能,然后做具体的细化设计详细设计文档。按照软件开发的阶段,通常会生成以下钢治牡担 12.3.1 可行性研究报告 软件项目的可行性研究报告需要列举出需要的技术、人员、资金、时间周期以及法律等方面的因素,最终目的是论证一个软件项目是否可以开发。可行性研究报告通常由软件团队的高层,或者是软
您可能关注的文档
- 现代测井系统研究方法及开发技术(第3章节).ppt
- 第01章节 C++ 概述.ppt
- 第01章节 Java概述.ppt
- 第01章节 概述.ppt
- 第01章节 网络规划及系统分析.doc
- 章节草形体研究.pdf
- 第01章节 绪论(C++).ppt
- 第 8 章节 光纤通信网络.ppt
- 第01章节-计算机网络概论.ppt
- 章节鱼增殖礁的试验研究.pdf
- 文件的压缩与解压缩课件 2024-2025学年人教版初中信息技术七年级上册.pptx
- 第三单元第九课三编辑与修饰表格课件 2024-2025学年人教版初中信息技术七年级上册.pptx
- 《网络道德规范》课后作业 2024-2025学年人教版初中信息技术七年级上册.docx
- 第1单元第2课《获取图片》课件2024-2025学年人教版puv+k 信息技术七年级上册.pptx
- 简单的数据处理课件 2024-2025学年人教版初中信息技术七年级上册.pptx
- 【地理】地球运动的地理意义—太阳直射点的回归运动课件-2024-2025学年高中人教版(2019)选择性必修1.pptx
- 第一单元第1课编辑加工文字课件 2024-2025学年人教版初中信息技术七年级上册.pptx
- 【地理】地球的自转和公转(课件)-2024-2025学年高二(人教版2019选择性必修1).pptx
- 第15课 信息交流课件 2024-2025学年人教版初中信息技术七年级上册.pptx
- 确定演示文稿课件 2024-2025学年人教版初中信息技术七年级上册.pptx
文档评论(0)