1、信息系统项目相关信息(文档)
【信息系统相关信息(文档)定义】是指某种数据媒体和其中所记录的数据。
它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。
在软件工程中,文档常常用来表示对活动、需求、过程或结果,进行描述、定义、规定、报告或认证的任何书面或图示的信息(包括纸质文档和电子文档)。
【信息系统相关信息(文档)三大种类】
软件文档一般分为三类:开发文档、产品文档、管理文档。
【信息系统相关信息(文档)四大质量等级】
文档的质量可以分为四级:最低限度文档(1 级文档);内部文档(2级文档);工作文档(3级文档);正式文档(4级文档)
2、文档管理的规则和方法
管理信息系统文档的规范化管理主要体现在文档书写规范、图表编号规则、文档目录编写标准和文档管理制度等四个方面。
(1)文档书写规范。管理信息系统的文档资料涉及文本、图形和表格等多种类型,都应该遵循统一的书写规范,包括符号的使用、图标的含义、程序中注释行的使用、注明文档书写人及书写日期等。
例如,在程序的开始要用统一的格式包含程序名称、程序功能、调用和被调用的程序、程序设计人等。
(2)图表编号规则。在管理信息系统的开发过程中用到很多的图表,对这些图表进行有规则的编号,可以方便图表的查找。图表的编号一般采用分类结构。根据生命周期法的5个阶段;可以给出如图 14- 1 所示的分类编号规则。
(3)文档目录编写标准。管理信息系统的文档目录中应包含文档编号、文档名称、格式或载体、份数、每份页数或件数、存储地点、存档时间、保管人等。
①文档编号一般为分类结构,可以采用同图表编号类似的编号规则。
②文档名称要书写完整规范。
③格式或载体指的是原始单据或报表、磁盘文件、磁盘文件打印件、大型图表、重要文件原件、光盘存档等。
(4)文档管理制度。为了更好地进行信息系统文档的管理,应该建立相应的文档管理制度。文档的管理制度需根据组织实体的具体情况而定,主要包括建立文档的相关规范、文档借阅记录的登记制度、文档使用权限控制规则等。
①建立文档的相关规范是指文档书写规范、国表编号规则和文档目录编写标准等。
②文档的借阅应该进行详细的记录,并且需要考虑借阅人是否有使用权限。
③在文档中存在商业秘密或技术秘密的情况下,还应注意保密。
④特别要注意的是,项目干系人签字确认后的文档要与相关联的电子文档一一对应,这些电子文档还应设置为只读。
14.2 配置管理
配置管理是为了系统地控制配置变更,在系统的整个生命周期中维持配置的完整性和可跟踪性,而标识系统在不同时间点上配置的学科。
在 GB/T11457—2006 中,将"配置管理”正式定义为:"应用技术的和管理的指导和监控方法以标识和说明配置项的功能和物理特征,控制这些特征的变更,记录和报告变更处理和实现状态并验证与规定的需求的遵循性。"
尽管硬件配置管理和软件配置管理的实现有所不同,配置管理的概念可以应用于各种信息系统集成项目。
配置管理包括6个主要活动:制订配置管理计划、配置标识、配置控制、配置状态报告、配置审计、发布管理和交付。
1、配置管理的概念、目标和方针
【配置管理概念】主要包括配置项、配置项状态、配置项版本号、配置项版本管理、配置基线、配置库、配置库权限设置、配置控制委员会、配置管理员、配置管理系统十项。
(1)配置项:基线配置项、非基线配置项
【定义】GB/T11457 2006 对配置项的定义为:"为配置管理设计的硬件、软件或二者的集合,在配置管理过程中作为一个单个实体来对待。"
【可进行管理的配置项】外部交付的软件产品和数据、指定的内部软件工作产品和数据、指定的用于创建或支持软件产品的支持工具、供方/供应商提供的软件和客户提供的设备/软件。
【典型配置项内容】包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入配置管理。
在引入配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。
【需加以控制的配置项分类】在信息系统的开发流程中需加以控制的配置项可以分为基线配置项(所有的设计文档和源程序等)和非基线配置项(各类计划和报告等)两类。
【配置项的管理及基本原则】所有配置项的操作权限应由 CMO (配置管理员)严格管理,基本原则是:基线配置项向开发人员开放读取的权限;非基线配置项向 PM、CCB 及相关人员开放。
(2)配置项三种状态:草稿、正式和修改
①配置项刚建立时,其状态为“草稿”;
②配置项通过评审后,其状态变为“正式“;
③此后若更改配置项,则其状态变为“修改”;
④当配置项修改完毕并重新通过评审时,其状态又变为“正式" 。
(3)配置项版本号
配置项的版本号规则与配置项的状态相关。
①处于"草稿”状态的配置项的版本号格式为 0.YZ, YZ 的数字范围为 01~99。
②处于"正式“状态的配置项的版本号格式为X.Y ,X为主版本号,取值范围1~ 9。Y 为次版本号,取值范围为0~9。(配置项第一次成为"正式”文件时,版本号为 1.0 。)
③处于“修改”状态的配置项的版本号格式为 X.YZ 。
(4)配置项版本管理
【版本管理的目的】是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。
【配置项的版本管理作用】于多个配置管理活动之中,如配置标识、配置控制和配置审计、发布和交付等。
在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。对配置项的任何修改都将产生新的版本。
由于我们不能保证新版本一定比旧版本“好“,所以不能抛弃旧版本。
(5)配置基线(Configuration Baseline)
由一组配置项组成,这些配置项构成一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被任何人随意修改。对基线的变更必须遵循正式的变更控制程序。
一组拥有唯一标识号的需求、设计、源代码文卷以及相应的可执行代码、构造文卷和用户文档构成一条基线。
【基线的案例】产品的一个测试版本(可能包括需求分析说明书、概要设计说明书、详细设计说明书、已编译的可执行代码、测试大纲、测试用例、使用手册等)。
基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。
【基线的分类】交付给外部顾客的基线一般称为发行基线(Release),内部开发使用的基线一般称为构造基线 (Build)。
对于每一个基线,要定义下列内容:建立基线的事件、受控的配置项、建立和变更基线的程序、批准变更基线所需的权限。在项目实施过程中,每个基线都要纳入配置控制,对这些基线的更新只能采用正式的变更控制程序。
【建立基线的四大好处】
①基线为开发工作提供了一个定点和快照。
②新项目可以在基线提供的定点上建立。新项目作为一个单独分支,将与随后对原始项目(在主要分支上)所进行的变更进行隔离。
③当认为更新不稳定或不可信时,基线为团队提供一种取消变更的方法。
④可以利用基线重新建立基于某个特定发布版本的配置,以重现已报告的错误。
(6)配置库
配置库(Configuration Library)存放配置项并记录与配置项相关的所有信息,是配置管理的有力工具,利用库中的信息可回答许多配置管理的问题,例如:
①哪些客户已提取了某个特定的系统版本?
②运行一个给定的系统版本需要什么硬件和系统软件?
③一个系统到目前已生成了多少个版本,何时生成的?
④如果某一特定的构件变更了,会影响到系统的哪些版本?
⑤一个特定的版本曾提出过哪几个变更请求?
⑥一个特定的版本有多少已报告的错误?
使用配置库可以帮助配置管理员把信息系统开发过程的各种工作产品,包括半成品或阶段产品和最终产品管理得井井有条,使其不致管乱、管混、管丢。
配置库的建库模式有2种:按配置项类型建库、按任务建库。
配置库3种类型:开发库、受控库、产品库。
(7)配置库权限设置
配置库的权限设置主要是解决:库内存放的配置项什么人可以"看“、什么人可以“取”、什么人可以“改“、什么人可以”销毁”等问题。
配置管理员负责为每个项目成员分配对配置库的操作权限,如表 14-1 所示。
针对受控库,项目相关人员的操作权限通常设定如表 14-2 所示。
针对产品库,项目相关人员的操作权限通常设定如表 14—3 所示。
(8)配置控制委员会
配置控制委员会( Configuration Control Board,CCB),负责对配置变更做出评估、审批以及监督已批准变更的实施。
CCB建立在项目级,其成员可以包括项目经理、用户代表、产品经理、开发工程师、测试工程师、质量控制人员、配置管理员等。
CCB不必是常设机构,完全可以根据工作的需要组成,例如按变更内容和变更请求的不同,组成不同的CCB。小的项目CCB 可以只有一个人,甚至只是兼职人员。
通常,CCB不只是控制配置变更,而是负有更多的配置管理任务,例如:配置管理计划审批、基线设立审批、产品发布审批等。
(9)配置管理员
配置管理员( Configuration Management Officer, CMO ),负责在整个项目生命周期中进行配置管理活动,具体有:
① 编写配置管理计划。
② 建立和维护配置管理系统。
③ 建立和维护配置库。
④ 配置项识别。
⑤ 建立和管理基线。
⑥ 版本管理和配置控制。
⑦ 配置状态报告。
⑧ 配置审计。
⑨ 发布管理和交付。
⑩ 对项目成员进行配置管理培训。
(10)配置管理系统
配置管理系统是用来进行配置管理的软件系统,其目的是通过确定配置管理细则和提供规范的配置管理软件,加强信息系统开发过程的质量控制,增强信息系统开发过程的可控性,确保配置项(包括各种文档、数据和程序)的完备、清晰、一致和可追踪性,以及配置项状态的可控制性。
14.2 配置管理的目标和方针
1、确定配置管理目标
软件配置管理是在贯穿整个软件生命周期中建立和维护项目产品的完整性。
高级项目经理应确保以下四大配置管理目标得以实现。
①确保软件配置管理计划得以制订,并经过相关人员的评审和确认。
②应该识别出要控制的项目产品有哪些,并且制定相关控制策略,以确保这些项目产品被合适的人员获取。
③应制定控制策略,以确保项目产品在受控制范围内更改。
④应该采取适当的工具和方法,确保相关组别和个人能够及时了解到软件基线的状态和内容。
2、确定配置管理的方针
为了实现配置管理目标,高级项目经理应确定软件配置管理过程文件得以制订,项目组成员应严格按照配置管理过程文件规定的要求执行,履行配置管理的职责应被明确分配。
相关人员得到软件配置管理方面的培训。
管理层和具体项目主管应该明确他们在相关项目中所担负的软件配置管理方面的责任。
软件配置管理工作应该享有足够的资金支持,这需要在客户,管理层和具体项目主管之间协商。
软件配置管理应该实施于如下产品:对外交付的软件产品,以及那些被选定的在项目中使用的支持类工具等。
软件配置的整体性在整个项目生命周期中得到控制。
软件质量保证人员应该定期审核各类软件基准以及软件配置管理工作。
使软件基准的状态和内容能够及时通知给相关组别和个人。
3、日常配置管理活动
日常配置管理活动六大项:制订配置管理计划、配置标识、配置控制、配置状态报告、配置审计、发布管理和交付。
14.3 文档管理、配置管理工具(付费商业软件、开源软件)
项目文档一般作为配置管理的一部分,放在配置管理工具中进行管理,所以此处仅列出几种常见的配置管理工具。
常用的软件配置管理工具分为两大类:付费商业软件、开源软件。
(1)常用付费软件配置管理五大工具有:Rational ClearCase、Perforce、CACCC、Havest Merant PVCS、Microsoft VSS, CVS
(2)常用的开源免费的软件配置管理三大工具有:SVN、GIT、CVS
目前在国内IT领域使用最广泛的,当属开源免费软件SVN,在一些大型的企业也有使用 RationalClearCase 的案例,在一些互联网行业也有组织使用开源免费软件GIT,所以下面就仅对这三个工具进行介绍。
GIT和SVN的比较:
①在很多情况下, GIT 的速度远远比 SVN 快。
②SVN 是集中式管理,GIT是分布式管理,分布式和集中式最大的区别在于:在分布式下,本地有个代码仓库,开发者可以在本地提交;而集中式版本控制,只有在服务器才有一个代码仓库,只能在服务器进行统一管理。
③SVN使用分支比较笨拙,GIT可以轻松拥有无限个分支。
④SVN 必须联网才能正常工作,GIT支持本地版本控制工作。
⑤旧版本的 SVN 会在每一个目录置放一个.svn,GIT 只会在根目录拥有一个.git。
本文转载自:知乎
作者:夏日冰淇淋
原文链接:https://zhuanlan.zhihu.com/p/422314109