软件项目管理规范研究(精选12篇)
软件项目管理规范研究 篇1
1 引言
随着信息技术和网络通信的迅猛发展, 软件已经应用到了社会生活的各个领域, 逐渐成为人们社会经济活动和日常生活不可缺少的元素, 对于国民经济的发展起到举足轻重的作用, 成为信息时代必不可少的组成部分。随着软件应用领域的不断扩展延伸, 软件质量所引发的项目失败案例, 比比皆是, 根据现代软件工程对众多失败项目的调查, 发现管理是项目失败的主要原因。这个事实的重要性在于说明了“要保证项目不失败, 应当更加关注管理”[1]。企业对项目质量的量化管理和预测来提升软件的质量已经迫在眉睫。
综合上述这样的背景中, 我们可以得知, 能够拥有一套完整的基于CMMI4的实用管理制度及度量标准, 是许多公司渴望总结和整理的[2]。本系列论文就在这样的一个大的需求背景下, 提出一套基于CMMI4可量化的软件质量管理模型, 该模型主要包括了软件质量管理的相关制度模型及针对相关制度所进行度量模型, 但是由于本篇论文的篇幅问题, 所以本次的重点主要放在对软件质量管理过程规范上面[3]。为各大软件公司软件生产质量管理方面提供相关依据和相关管理模式, 使其可以结合自己公司的一个实际情况进行质量管理。
2 CMMI4对质量管理的要求
从对CMMI4的一个理解上来看, CMMI4的重点就是在解决项目的质量上面。在CMMI4中提出了用质量和过程性能目标对项目进行量化管理, 建立和维护项目质量及过程性能目标。
但是, 要想建立项目的质量及过程性能两个方面的量化目标, 如何制定量化的目标是关键, 要做到这一步, 必须要有完整而有效的度量体系, 所以要达到CMMI4对质量管理的要求除了要有一套行为规范进行项目过程管理的控制外, 还要有一套为之可行的度量体系。本文的重点放在研究项目过程管理的控制。
3 构建基于CMMI4可量化的软件质量管理模型行为规范
基于CMMI4的质量管理, 是量化地了解过去、量化地控制现在、量化地预测未来的管理方式。本文在结合过程性能基线和过程性能模型的原理, 提出了一种基于CMMI4的软件质量管理模型, 模型主要包括两个部分:一、建立基于CMMI4的质量管理模型行为规范详细方法和具体步骤;二、通过度量设计对其行为规范进行数据分析。接下来将详细阐述行为规范的内容。
3.1 总体概述
3.2 工作流程设定
(1) 制定品质保障计划
制定关于审查和改进过程的产品品质的计划。制定品质保障计划过程的流程整体如下:
在品质保障计划这个阶段中, QA工程师根据项目计划中的时间进度, 制定针对其具体过程和产品的品质保证计划。计划中需要根据项目的特征确定审查那些过程域和工作成果, 还需要计划审查的时间和人员。在项目的审查活动中按照不同的阶段, 重点检查项是不同的:项目策划和监控中重点的产品项包括:《项目计划》、《项目计划附件》、《项目估算表》、《项目计划变更控制报告》、《重大问题跟踪表》、《风险管理与跟踪表》、《项目周报》、《项目月报》、《项目里程碑报告》、《项目总结报告》、《项目遗留问题备忘录》;风险管理中重点的产品项包括:《风险来源一览表》、《风险管理与跟踪表》;需求开发中重点的产品项包括:《用户需求说明书》、《需求规格说明书》;需求管理中重点的产品项包括:《需求评审报告》、《需求跟踪报告》、《需求变更申请单》;技术解决重点产品项:《技术路线计划书》、《技术路线说明书》、《架构设计说明书》、《模块设计书》、《数据库设计说明书》、《技术评审报告》、代码检查、用户手册、帮助文档;决策分析与决定重点产品项:决策分析评估准则、决策分析记录表、决策分析管理表;同行评审所包含的重点产品项:《技术评审报告》、《管理评审报告》;测试所包含的重点产品项:《系统测试计划》、《系统测试计划》、《集成测试计划》、《集成测试用例》、《集成测试报告》、bugzilla管理、《测试报告》、《测试分析报告》、《客户验收报告》;配置管理所包含的重点产品项:《配置管理计划》、《发行一览表》;测量与分析所包含的重点产品项:《里程碑报告》、项目监控、《项目总结报告》。
(2) 实施品质保证活动
在实施品质保证活动这个环节中, 主要的目的是客观地审查项目组的“工作过程”和“工作成果”是否符合既定的规范, 并促进品质的改进。实施品质保证活动要严格按照《品质保证计划》进行, 整体流程如下:
在该流程中QA工程师根据品质保证计划制定《审查单》, 根据审查时间点填写审查结果。对于过程, QA工程师根据《审查表》, 与相关的项目成员交谈, 审查项目实际执行过程中产生的过程文档, 看是否符合项目定义的过程或计划。QA工程师在进行品质保证活动时, 如果发现不符合项, 应提出不符合项报告, 记录在《不符合项跟踪一览表》中, 便于管理和跟踪。《审查单》模板请根据自己公司的实际开发情况来定, 《不符合项跟踪一览表》模板, 请参见表3.2。
4 结束语
基于CMMI4的质量管理模型是一个依据历史数据制定量化目标, 在项目实施过程中监控项目各个阶段活动的过程性能, 分析目标达成概率的过程。在本论文中主要完成的工作:建立了基于CMMI4的质量管理模型行为规范详细方法和具体步骤。通过过程管理、过程控制支持实现质量的量化管理, 详细定义了各个子过程的执行内容和具体实现方法, 实现对过程质量的量化控制, 利于对日后所进行的软件度量打下良好的基础。
参考文献
[1]董雅萍.软件存在的问题耗费近600亿元[J].世界制造技术与装备市场, 2004 (2) :79
[2]Stephen H.Kan, 吴明辉等译。软件质量工程-度量和模型[M].北京:电子工业出版社, 2009
[3]United Kingdom Software Metrics Association.Quality Standards Defect Measurement Manual[J].UKSMA Metrics Practices Committee, 2006:26-2
软件项目管理规范研究 篇2
软件产品, 特别是行业解决方案软件产品不同于一般的商品, 用户购买软件 产品之后, 不能立即进行使用, 需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期 维护等一系列的工作, 我们将这一系列的工作称为软件项目实施。大量的软件公 司项目实施案例证明, 软件项目是否成功、用户的软件使用情况是否顺利、是否 提高了用户的工作效率和管理水平, 不仅取决于软件产品本身的质量, 软件项目 实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主 要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化 初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交 接阶段等八个阶段工作内容, 每个阶段下面有不同的工作事项, 各个阶段之间都 是承上启下关系, 上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面 将按照每个项目实施阶段分别介绍。
二、软件项目实施方案介绍(一项目启动阶段
此阶段处于整个项目实施工作的最前期, 由成立项目组、前期调研、编制总 体项目计划、启动会四个阶段组成。
此阶段主任务: 公司: 在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项 目计划》,召开项目启动会。
商务经理:
配合公司项目组, 将积累的项目和用户信息转交给项目组。将项目组正式介 绍给用户,配合项目组建立与用户的联系。
用户: 成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和 《项目实施协议》。
1、成立项目组: 部门经理接到实施申请后, 任命项目经理, 指定项目目标, 由部门经理及项 目经理一起指定项目组成员及成员任务,并报总经理签署 《项目任务书》。
2、前期调研: 项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累 了大量的信息, 项目组首先应收集商务和合同信息, 并与商务经理一起识别那些 个体和组织是项目的干系人, 确定他们的需求和期望, 如何满足和影响这些需求、期望以确保项目能够成功。
3、编制《项目总体计划》: 《项目总体计划》 是一个文件或文件的集合, 随着项目信息不断丰富和变化, 会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常 包括以下几方面内容:项目描述,项目目标、主要项目阶段、里程碑、可交付成 果。所计划的职责分配(包括用户的;沟通管理计划,确定项目干系人对信息 和沟通的需要:即什么人何时需要什么信息以及通过什么方式将信息提供给他们。质量管理计划, 确定适合于项目的质量标准和如何满足其要求。如果有必要, 可 以包括上述每一个计划, 详细程度根据每个具体项目的要求而定。未解决事宜和 未定的决策
4、启动会:
项目组与用户共同召开的宣布项目实施正式开始的会议。会程安排如下: 共同组建项目实施组织, 实施组织的权利和职责;双方签署 《项目实施协议》。项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容: 项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户 的;项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;项目实施中用户的参与和领导的支持的重要作用;阶段验收、技术交接和项目结束后如何对用户提供后续服务。(二需求调研确认阶段
此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系 统的需求, 包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等, 实施人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待 用户对 《需求调研分析手册》 上所提到的需求确认完毕后, 项目实施人员将以此 为依据进行软件功能的实现。如果用户又提出新的需求, 实施人员将分析需求的 难度及对整个系统的影响程度来确定是否给予实现。需求调研阶段具体包括如下 内容:
1、进行需求调研准备
2、编制《需求调研计划》
3、内部评审是否通过《需求调研计划》
项目组、部门经理、商务等人员根据合同要求和项目实际情况对 《需求调研 计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重 新修改。
4、用户是否签署《需求调研计划》
如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新 修改。
5、《需求调研计划》是否有变更
如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作。
6、编写及发出《需求调研通知》
项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户, 为顺利完成需求调研工作做准备
7、需求调研
项目组以《需求调研手册》为依据,从业务流程、单据使用、打印格式、报 表查询几个方面展开深入和全面的调研,并搜集用户的个性化需求。
8、需求调研分析根据调研的结果
项目组和公司其他技术部门将进一步进行分析, 确定合理、可行的需求, 将 分析结果形成《需求分析报告》草稿。
9、内部评审是否通过《需求分析报告》
项目组、部门经理、公司其他技术部门的人员对《需求分析报告》草稿进行 评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部 评审通过。
10、编写及发出《需求分析报告确认通知》
项目组编写《需求分析报告确认通知》,发给用户,确定进行需求确认的相 关事宜, 告之相关部门及人员安排好工作, 准时参与需求确认工作, 为顺利完成 需求确认工作做准备。
11、用户是否确认《需求分析报告》
如果用户确认,并签署了《需求分析报告》,则需求调研阶段工作结束,进 行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用 户最终确认并签署《需求分析报告》。双方签署了《需求分析报告》,需求调研 工作结束之后, 如果用户提出新的需求或是变更已有的需求, 则执行需求新增及 变更流程。
(三软件功能实现确认阶段
此阶段的主要工作是项目实施人员根据需求调研阶段确认的 《需求调研分析 手册》 中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程 中, 项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个 实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕 后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认, 用户根据 《软件功能确认表》 上的功能逐一确定软件功能是否达到要求, 对不满 足要求的功能, 项目实施人员将会记录下来并进行功能修改, 直到满足用于要求。
(四数据标准化初装阶段
此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工 作, 并对用户进行初装资料的软件操作培训, 以便用户能够及时的将标准资料录 入系统, 初装完成后, 项目实施人员会对资料初装的情况进行核查, 为以后具体 业务功能的开展做好基础。
(五系统培训阶段
系统培训阶段工作是整个项目实施工作中比较重要的工作, 用户对软件的操 作功能是否熟练将直接影响到后面的软件应用效果, 所以软件公司和用户双方要 对此
阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实 施之前对用户的相关人员进行系统和规范的产品培训是非常必要的, 达到让用户 了解软件产品,最终自己能够解决使用中的具体的问题。
此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:决策层:领导在实施中的作用与重要性、决策查询。
维护层:系统维护知识、操作方法。操作层:操作方法。具体的培训工作流程为:
1、调研培训信息: 在培训开始前 3天由用户实施负责人,将参加培训的部门和人员情况填入 《受训部门汇总表》、《受训人员情况一览表》。
2、编制培训计划: 结合调研结果, 与用户实施负责人商议具体培训内容、时间, 场地, 人员等。项目组编制《培训计划》。
3、签署培训计划: 用户签署《培训计划》,进一步确认培训安排。
4、发培训通知: 培训开始前 2天,按照签署的《培训计划》,将培训内容、时间,场地,人 员等信息通知用户实施负责人。
5、搭建培训环境:
公司项目组在培训开始前, 将培训环境搭建及检查妥当, 将培训提纲及培训 手册准备好。
6、组织培训: 公司项目组培训负责人与用户实施负责人组织相关人员参加培训, 按培训制 度严格考核。由用户将考勤情况填入《培训人员签到表》。
7、培训考核: 公司项目组培训负责人与用户实施负责人组织受训人员参加上机及理论考 试。
8、培训总结: 公司项目组培训负责人与用户实施负责人一起将出勤情况及考核情况做出 总结,填入《培训及考核统计表》,及时向相关负责人汇报。
(六系统安装测试及试运行阶段
此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试, 对软件系统进行容量、性能压力等测试测试及试运行的目的在于确保系统各项功 能均能正常使用,并且符合用户签署的《需求分析报告》中描述的需求,同时把 尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前 用户的有关人员能进一步提高操作水平, 掌握操作规范。此阶段的主要工作内容 为:
1、编制计划: 与用户实施负责人商议具体测试及试运行时间,地点,人员等安 排,项目 组编制《测试及试运行计划》。
2、签署计划: 用户签署《测试及试运行计划》,进一步确认测试及试运行安排。
3、发测试及试运行通知: 在测试及试运行开始前 2天,按照签署的《测试及试运行计划》,将时间, 地点,人员等信息通知用户实施负责人。
4、搭建环境及数据准备: 在试运行开始前搭建好软件环境、硬件环境、网络环境、调通线路;检查软 件、硬件、网络、线路等各个环节是否有问题;
5、组织测试及试运行: 用户相关各级领导给予全面配合, 组织相关人员进行测试及试运行。公司项 目组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如下情况:
数据 初装 用户签署初装计划及初装培训 计划
签署的 《初装计划及初装培 训计划》
初装检查及总结 数据初装完成 《数据初装总结表》 培训及考核
用户签署培训计划 签署的《培训计划》 培训总结 培训完成 《培训总结表》 测试及试运 行 用户签署测试及试运行计划 签署的《测试及试运行计 划》
测试及试运行总结 试运行完成 《测试及试运行总结》 验收 总体验收 验收完成 《总体验收报告》(八系统交接阶段
此阶段是项目实施的最后一个阶段, 主要工作是软件公司项目组向用户移交 软件项目,包括软件产品、项目实施过程中所生成的各种文档,并签署《售后服 务协议》,项目将进入售后服务阶段。软件公司项目组还需要让用户填写《用户
满意度调查表》 , 对软件公司项目实施人员的整个项目实施情况进行评价, 软件
公司将听取用户的意见,再今后的项目实施管理中进行加强和改进。
三、软件实施的成功之道
(一软件必须能满足和适应企业需求
这一点是整个项目能否成功实施的最关键的一环。很多企业都在这一方面吃 过亏, 在选型时见到的软件有很多功能模块, 在样板企业里数据也能跑起来, 但
当软件买回来了以后, 却发现了软件的很多功能与企业的现实差别很大, 所以根 本就用不起来。不同企业之间的管理流程和对数据的要求差别很大, 基本上两个
完全相同的企业是不存在的, 世界上绝对不会有一种 “ 万能软件 ” 能满足所有企业 的需求。企业在选型软件时,要充分考虑各种管理流程的特点、数据的来源、统
计报表不同功能模块的关系、企业员工的接受能力及与其它系统的接口等很多问
题, 所以企业选择的必须是软件提供商为企业订制开发出来的。如果软件提供商
不为企业做前期需求分析和订制开发, 只是把现成的软件卖给企业, 它的实施成 功率几乎为零,如果是这样的服务,企业还不如买一套盗版软件。所以我们可 以得出这样的结论,企业买软件提供商的不是它的软件,而是它的开发能力。
(二软件是否能进行二次开发
因为企业现有的流程不是一成不变的, 需不断完善与改进, 所以软件的功能 也需要能进行相应的修改, 而且企业在第一次做项目需求时, 有些问题可能忽略 掉了, 所以必须要求选型的软件有强大的二次开发能力。如果软件的结构过于僵 死或二次开发能力不强,它未来可能会变成一块 “ 鸡肋 ” ,让企业有种 “ 食之无味、弃之可惜 ” 的感觉。测试软件是否具有快速二次开发能力的方法也不难,就是企 业在选型时, 不仅要看软件提供商如何演示, 还要提出一些个性化需求, 看看对 方能否迅速开发出来。
(三软件和实施费用应相对便宜
企业第一次实施由于经验上的不足, 风险不是没有, 确实有许多优秀的企业 是通过第二次实施才获得了成功。因此企业在第一次选型软件时, 不要只注意软 件提供商的品牌和规模, 因为价格越高, 企业自身的风险就越高。我们建议企业 最好还是购买那些物美价廉的产品, 也就是当所选软件都能满足企业现实需求且 能进行二次开发时,企业最好选择价格便宜的那家,就好像一个人刚学会开车, 就要买一辆奔驰轿车, 无论这个人是否真正有钱都不是明智的选择。现在出现了平台化组构的软件产品, 它可以通过建模工具迅速按照客户的需求进行软件开发, 这样就大量地节约软件开发周期和成本,而且二次开发工作也变得十分的简单, 所以企业最好选择这样的产品。
(四软件操作要简单、易学
由于许多企业过去没有信息化建设的经验, 员工一下子由过去的手工工作转 为计算机工作肯定有一个适应过程, 如软件组构和操作过于复杂, 那么一定会加 大培训和实施的难度。
四、数据整合项目实施的成功之道 案例 1:麦德龙
到麦德龙购物的消费者都知道要带一张会员卡, 但对会员卡有什么作用几乎 都不知晓。其实,会员卡最大的收益者是麦德龙。当消费者用会员卡结账时,便 留下了详细的消费档案。据麦德龙中国公司总经理海力佛介绍, 公司的专门网络 每天都要对这些数据进行整合分析, 不仅分析商品热销、滞销情况, 还要分析目 标客户的购买力, 由此决定大类商品, 乃至细目商品的结构调整, 以及促销方式 的变化。
案例 2:中石化
中石化于 2000年初开始制定中国石化 ERP 总体规划,努力构架从上到下、集成一体化的中国石化 ERP 系统的推进策略。目前, 中石化集团已经完成近70%的 ERP 系统实施工作。2004年年底, 中海油宣布集团整体实施 SAP ERP 系统项 目正式启动。近期, 很早就提出信息化建设 “ 六统一 ” 的中石油集团也开始了 ERP 系统的招标工作。由此可以看出, 中国三大石油巨头已经对管理信息化有了更深 层的理
解和更为迫切的需求, 建立与完善各自管理信息化系统的工作正在轰轰烈 烈、有条不紊的进行中。
无论是案例中的麦德龙还是三大石油巨头, 亦或是其他一些公司, 他们其实 都在不约而同地做着同样一件事情, 那就是信息整合。众多企业之所以热衷于此 并非盲目追随潮流,而是缘于整合信息、消除 “ 信息孤岛 ” 的迫切需要。这种需要 的存在是出于信息传递系统对于现代公司获得生存发展的极大重要性。信息不充 分导致的信息经济学所关注的逆向选择、柠檬市场等问题, 在企业内部就会表现 为治理机制失调、管理混乱、决策空虚。曾有人把企业的信息流比喻为人的神经 系统,那么不难想象如果 “ 神经系统 ” 处于瘫痪,公司的生存发展将会何等艰难。既然市场有如此强烈的需求, 那么信息应用技术的提供者们自然不会视机会 如浮云, 必将开发相应的应用软件系统来迎合市场。一时间, 各种系统层出不穷, 技术手段也日渐纯青。一方面是企业的苦苦诉求, 一方面是信息技术供应商的殷 殷回应, 似乎信息整合已经万事俱备, 剩余的工作就是顺利地将信息整合工作付 与实施了。
然而, 也就是这个看似最简单的环节, 却同时给企业和项目实施团队带来了 诸多的烦恼。同时,也导致了信息整合的成功似乎近在眼前,却又远在天涯。据 国家经贸委经济信息中心和每周电脑报社对近800家企业所做的调查结果显示,近50%的企业称信息整合化效果不明显。
那么, 究竟在实施过程中出现了什么问题, 让信息整合一而再、再而三的止 步于最后关口? 在此, 依据我们以往信息整合实施的经验来看, 失败多因在经营分析、对标、数据整合三个环节存在问题甚至缺失导致,本文将从数据整合的角度展开分析, 列举在实施过程中经常遇到的三个数据实施的问题, 并提出我们对问题的分析与 解决问题的思路,希望关切这个领域的同仁们可以共同思考。
(一、企业内部管理粗放, 造成基础数据难以寻获, 从而导致实施在开始阶段就举步艰难。
1、问题陈述
对于任何一种版本的信息整合系统, 在项目实施的第一阶段(系统实现阶段 都要进行基础数据的录入工作。然而, 项目实施方也往往从这个阶段开始就要接 受挑战了。相信有过整合实施经历的读者对以下两个事例并不陌生, 因为它们在 项目实施中非常普遍。
例 1:在对生产型企业进行系统实施时, 必然要涉及到设备编码数据的录入。然而, 许多企业并没有对他们的设备进行统计编码, 那么项目实施方则很难进行 下一步的工作。
例 2:任何系统实施中都首先要对不同使用者设立不同的权限,这就需要企 业的人力资源部门向项目实施方提供完整的员工岗位分配表、岗位说明书与职责 说明书。而当项目实施方要求企业递送这些文件的时候, 人力资源部的回答往往 是 “ 我们没有这些东西,给你们一张员工工资表,将就用吧 ”。这样一来,系统权 限的设置必将混乱,也势必影响到系统应用的最终效果。
像上面这种例子在实施项目中还有很多很多。其实, 它们反映了同一个问题, 即准备录入的基础数据难以获寻的问题。搜寻不到基础数据, 实施的第一步工作 就无法得到开展,项目也从一开始就被笼罩上了失败的阴影。
2、问题分析
问题总是表面化的, 如同冰山一角, 其背后的产生原因才是深层次的。这一 问题其实是企业管理不细致的表现, 根源在于企业在发展过程中忽视了管理模式 的更新与细化,没有形成制度化、标准化的管理模式。
当企业规模小的时候, 管理和经营往往依靠领导人的个人能力。大部分日常 管理工作是对已经出现的问题进行解决。而当企业规模壮大以后, 管理层往往仍 然延续旧有的管理思想与习惯。我们不难想象用管理十几个人的方法和手段来管
理上百人、上千人的企业会出现怎样的后果。这种管理落后会表现在企业运营的 各个方面,而基础数据不完善就是其表现之一。
3、解决思路
①项目实施方通过事实陈述、案例分析等方式向企业高层表明企业目前存在 的问题及危害性。
②向企业高层推荐相关培训课程,建议企业聘请专业咨询公司。
(二、企业管理流程混乱和监督机制不完善,造成 基础数据不统一,从而导致实施止步不前
1、问题陈述
同样是在数据录入阶段, 实施团队除了面临基础数据不全的困难以外, 还往 往会碰到另一类的问题。这类问题出现在基础数据的获得渠道上。在信息整合实 施过程中, 项目组获得基础数据的途径只能是企业内部的各种报表。然而, 当这 些报表递送到实施团队手中时, 项目人员却经常会发现同一个数据在不同的报表 中显示的结果却不尽相同。不妨先看一看下面两个事例。
例 1:同样是 A 部门的销售额这一个数据,实施项目组却看到了三个 不同的结果:在 A 部门递交的业绩考核表中是销售额为 510万,在公 司纳税统计报表中销售额为 500万, 而在下一部门销售目标分析报表中 该数据显示的则是 490万。
例 2:同样是员工人数这个数据,在递交给劳动管理部门的报表中是 50人, 而在工资发放表中却是 60人。
我们可以想象, 当项目组面对以上所列述的这样的报表时, 只能是一脸茫然。系统实施的第一步也再一次的面临到挫折。而这些问题都可以总结为一类, 即基 础数据不统一。
2、问题分析
这一问题的产生主要有两个方面的原因。
其一, 是由于企业各种报表统计用途的不一致造成的。由于统计用途的不同, 最基层的原始数据往往在传达过程中被各职能部门或各管理层级进行人为的修 改。比如,在以上所提及的销售额不一致的情况中,可能就是因为 A 部门人员
在考虑到不同报表用途的情况下为了自身利益而相应改动原始数据所造成的。这 反映了企业的考核监督机制存在漏洞,内部审计虚空,为基层人员提供了 “ 胡作 非为 ” 的可行性。
其二, 是由于数据统计口径的不一致造成的。不同职能部门在统计同一数据 时的统计口径存在差异, 比如在以上所提及的员工人数不一致的情况中, 可能就 是因为递送工资发放表的财务部门将包含临时员工在内的所有领取公司报酬的 全部人员进行了统计, 而递送劳动管理部门报表的人力部门则只统计了合同员工。这种情况的存在主要是因为企业报表管理体系的不完善, 没有对不同报表的口径 进行统一和明确说明, 报表体系混乱。而报表体系的混乱则反映了公司内部管理 流程的混乱。
3、解决思路
①实施项目组尽量从企业最基层的业务一线获得企业的基础数据, 避免基础 数据在上传过程中出现人为操作。
②实施项目组可以建议企业方聘请专业咨询公司, 让其为企业在项目实施之 前梳理经营管理流程,完善监督考核机制。
(三、最根本的原因是,企业高层对项目认识不足 与企业内部上下层存在利益博弈,造成项目实施方难 以获得企业各方的配合,导致实施进展缓慢
1、问题陈述
实施信息整合系统需要实施项目组对企业有较为全面的了解。这种了解需要 建立在与企业高层以及中下层员工之间良好的沟通之上。而且项目的实施过程中, 数据的获得等工作也只能在企业员工密切配合的前提下才能得以顺利完成。而做 过该类项目的朋友一定碰到过这样的情况: 例 1:项目组希望约见企业的高层领导进一步了解企业情况,却总是因为领 导忙、没有时间的理由被拒绝。
例 2:项目组需要职能部门提供各种数据资料, 面对的却是员工的一片漠然, 迟迟得不到所需要的资料。
这种情况在信息整合实施项目中的普遍存在, 导致了项目组的工作难于开展, 项目实施举步维艰。
2、问题分析
我们可以将这个问题的分析分解为两个层面:第一个层面, 是企业高层为什 么不配合;第二个层面,是企业中下层员工为什么不配合。
对于企业高层而言, 他们是希望项目能够得到顺利实施的。既然如此, 他们 又为什么不配合项目组的工作呢?其实, 这主要缘于企业高层对项目实施认识的 偏差。对于很多企业高层而言,他们的观点是“我花钱请你们来,所有的事情都 是你们的,我只要坐收成果就好了”。
而对于企业中下层员工而言,他们不配合就主要是因为利益博弈的结果了。由于信息整合项目的最大初衷就是为了给管理高层提供管理与决策的信息支持, 因此项目的最终受益者往往是公司的高层管理者。而中下层员工很难在信息整合 中获得利益, 并且因为整合项目的实施, 许多中下层员工的工作量反而有所增加, 或者利益受到损害。比如, 财务部门以往可能只递送 3张财务大表, 而因为信息 整合项目实施的需要, 他们可能要递送更多的附表。这些附表数据在录入系统后 会更有力的支持高层决策。但对于财务部门的员工而言, 这只是增加了他们的日 常工作量,并无其他任何意义。再比如,系统实现后,销售利润等分析数据全部 由系统根据一线数
据源自动生成, 职能部门或各级管理层失去了人为操作数据的 可能性,可能就会对其利益造成损害。因此,企业上下层级之间的利益博弈,导 致了不同人员对待项目态度的迥异,也导致了基层人员对项目的抵抗心理。
3、解决思路
① 项目组通过开展三个方面的工作获得企业高层领导的配合。
A.项目实施方利用企业高层对项目结果的强烈需求,在项目实施计划确 定阶段, 就向企业高层清楚地表达企业的合作对项目实施的重要意义。并且,可以建议他们参加相关培训。
B.项目实施方在合同中明确要求企业高层组建内部项目组配合项目的实 施,并对内部项目组给与充分的授权。
C.根据项目的具体内容,由实施项目组与企业内部项目组制定绩效考核 标准,提交企业高层报批。以此保障实施项目组能够得到各职能部门 与各级管理层的积极支持。
软件项目管理规范研究 篇3
【关键词】软件开发;进度控制
软件的项目管理一般是指技术单位在时间、人力资源、财力的约束下,能够有一个明确的目标(产品质量、资金、完成进度)的规范下有效的操控任务进程。
一个项目管理需要树立全局观念,来立足整体对项目的全程进行监督和操控,也同样适用于软件的项目管理。但是软件的项目具有一定的特殊性,所以说其相应的项目管理也与一般的管理有所不同,软件的项目管理是确保项目能够在资金、人力等各个因素的制约下确保工作的顺利完成。
1.进度控制的必要性
进度控制就是将一些项目计划与实际操作情况进行综合比较,分析其存在的差异,并根据项目要求进行适当的调整,使项目最终按照既定轨道运行。人们常说的“计划没有变化快”,一些人觉得计划不重要,但計划在实际情况变化的前提下究竟有没有用?是值得我们深层次思考的问题。
理论上讲,我们在做任何事之前都要对其运行过程和产生的后果进行一些计划和控制,可以说计划和控制是两个方面。因为有了计划而没有控制,人们虽然知道自己所处的环境和行为,但却意识不到自己存在的问题和需要改进的方面。而有了控制没有计划,人们又不知该如何控制,没有一个明确的概念。所以说,计划和控制是不可分割的,只有一个正确的、科学的计划才能确保控制工作的全面、有效的实施。
2.软件项目管理中的进度计划编制
2.1 进度编制方法的选择
进度编制的方法是根据计划的变化而变化的,其中关键日期的制表费用较低,需要的时间也比较短。而甘特图则需要的时间和资金较高。与此同时,CPM还要将每一阶段的活动日程进行分析,一旦活动的日程较多,超出了CMP的阈值,就需要计算机来计算出工期和路线,所以RT法是进度编制方法中难度最大、耗费时间最长的一种。所以项目组选择哪一种进度编制方法,要从项目的规模、紧急程度来进行全面的分析。
2.2 进度编制工具的选择
进度编制的方法确定之后,就要对编制的工具进行选择了。编制工具要具备输入、核算工期、资源的成本预算、材料价格、计算人员资金需求等一系列因素进行分配,并最终形成成本预算的功能。在项目实施时,相关技术人员可以对每个资源或整个成本的预算进行比较,用户对任务的开始和结束的时间、工期的估算、和各个任务的顺序进行实时的监督和控制,在资源的使用方面,编制工具还可根据任务信息的日程进行适当的调整,按照任务的要求对资金、人力、物力进行一系列的调整和配置。
2.3 进度计划的制定
进度计划的制定也可称为项目范围的制定。对项目过程中的一系列活动、责任和组织结构进行定义。WBS是范围定义组织架构。WBS(Work Breakdown Structure)可以将项目产生的各项任务按照树状图的走势一样一级一级向下层的管理单位分配任务,所以这也进一步的对进度的计划制定提供的坚实基础,并为其划分出了工作范围。
3.软件项目管理中的进度计划实施
项目的实施计划需要得到技术人员和用户的一致认可。当项目得到认可并公布后,相关的人员就可按照原定计划进行实施。在实施的过程中,技术人员应在不断的实践中发现问题和解决问题,在这里我们提倡采用走动式的管理方式,项目组应该根据不同人员的不同技术类型才实施相应的跟进措施。
(1)针对自身能力较弱,没有较强的完成愿望的人员要采取命令式的跟进方法。因为这些人员普遍技术能力不强,但对工作又不主动,不能按时完成上级交给的任务要求,就必须要采取强制性的态度。
(2)针对一些有较强工作热情但完成的能力比较低的人员要采取说明的管理方式。因为这些人员很可能是新人,加入到一个新的环境或工种中,由于之前没有设计,欠缺一定的技术经验,但其自身的工作热情又较高,具有完成任务的决心和信心,针对这类人我们就要有足够的耐心来逐渐引导,并为其提供相关的理论经验,命令下达时要详尽,不能有所遗漏,一旦完成相应任务时还要给予相应的支持和鼓励,提高其自信心。
(3)针对一些能力较强但任务完成的愿望较低的人员要采取说明式的跟进方式。因为这些人员普遍都是技术组中的老员工,具有一定的技术和惊讶。完全有能力来完成上级交给的各项任务。但由于其自身的原因,往往存在工作热情不高,完成任务的愿望不够主动。所以就需要我们随时了解其想法,多进行沟通和交流,给予其一定的空间和时间,让其自由发挥,不应过分约束。
(4)针对一些能力较高而完成任务的意愿也较高的人员应采用授权式的跟进方式,项目的管理人员要适当给予其一定的决策权和管理权,在一些重要的环节上给予监督。
4.软件项目管理中的进度计划的控制
软件项目的进度控制最终实现的目标就是软件需求。在需求不明确的情况下,软件工作的开展是不能够进行的,所以软件项目的管理第一个要求就是有可靠的需求。
软件的进度控制不但要取得相关人员的高度认同,还要具有明确性和可操作性,进度控制按常态可大致分为以下几点:计划(PLAN)、执行(DO)、审查(CHECK)和行动(ACTION),简称PDCA。
相关技术人员应对进度控制中出现的各项差异进行正确的调整,一旦出现偏差时,要及时对其产生的后果进行预计,及时调整计划方案,尽可能的降低其执行风险,正确分析项目中出现偏差,最好利用网络中的总时差和自由时差来进行正确的判断和规划。
参考文献
[1]窦燕.影响计算机软件项目管理关键因素的探讨[J].燕山大学学报,2011(04):369-372.
[2]曹小琳.工程项目进度控制目标的经济性分析[J].重庆建筑大学学报,2013(02):102-105.
关于建立软件发布规范的研究 篇4
每个软件都需要经历提出需求、编写代码、测试和最终交付用户等几个阶段,在软件开发和应用维护过程中这种历程要不断反复,直到软件生命周期结束。因此,软件的开发、应用过程,实际上是不断更新的过程,不断发布新版本(或发布软件包)的过程。大型的、专业的商业软件,往往对软件升级(补丁包)的发布控制较严,有庞大、专业的测试团队,在发布前必须经历严格的测试。一般单位内部应用的软件,虽难以有专业研发、测试机构支撑,但也需要对发布进行控制,以保证系统稳定。这里涉及到一个关键的问题:如何建立科学、规范、实用的软件发布机制?
科学的软件发布规范,将有助于形成需求、开发、测试、应用的良性循环,否则,对较大型软件来说,各参与者之间容易造成相互等待、工作混乱的局面,软件难以稳定,甚至可能造成不可预料的严重后果。
1 软件发布的分类
1.1 根据发布的时机,可分为定时发布和不定时发布
发布时机是由开发进度、产品功能与质量、版本管理状态、用户接受程度等多方面因素决定的。例如代码修改不是很频繁,修改量很小,而且不影响软件主体功能,可以采取不定时发布。当代码修改测试完成后,由发布人员手工进行软件发布,这样可以在代码修改测试完成后第一时间发布到正式生产环境中。
如果代码修改比较频繁,且系统使用时段是预知的,可以采用定时发布。定时发布既可以由发布人员手工进行,也可以由定时发布工具来完成。定时发布的好处是涉及软件修改和维护的所有参与者对系统发布的时间是预知的,参与者可以据此对自己的工作进行统筹安排,且对于需要通过修改代码来修正用户提出的问题,运维人员可以准确地告知用户问题将于何时得以解决,用户不至于陷入无限期等待。
因此,在软件稳定成熟阶段,一般采用不定时发布的方式,在开发、测试阶段一般采用定时发布的方式,在推广应用阶段往往两者兼有。
1.2 根据发布的执行者,可分为统一发布和逐点发布
软件系统的架构模式往往决定了它的发布方式。大部分的B/S结构的软件系统(如网站和电子商务等),一般采用统一发布,因为这类系统的数据库服务和应用服务集中在一个地点,只需要在同一地点的一系列设备上进行发布即可。而很多C/S结构的软件系统(如公司内部的管理系统),一般采用逐点发布,因为这种软件系统每一套都是相互独立的,当需要发布的时候,必须要求每套系统的用户(一般为该系统的运维人员)参与,将统一的升级文件各自自行发布到位。
1.3 根据发布管理,可分为直接发布和按流程发布
有的软件系统功能单一,开发维护量小,一两个人即可完成,此时可以直接进行发布。但对于软件系统功能模块复杂,架构层次多,且涉及的参与者较多,就必须制定发布规范,以使软件的修改、测试和发布都是按流程、可控的,使系统平稳、高质量地运行。
1.4 根据紧急程度,可分为常规发布和紧急发布
常规发布是指按照发布规范的流程进行操作。但有时候系统出现突发问题,而且在该问题不予解决的情况下,将影响用户正常业务的开展,此时给予我们解决问题的时间极其有限,这就需要紧急发布。紧急发布通常经简化审批流程审批后,在最短时间内完成。
2 建立软件发布规范必须重视的几个问题
无论采取哪种发布方式,都需要明确的规范管理,以保证软件质量。科学的发布规范,要能及时解决一系列的问题:
2.1 版本管理问题
在多人参与开发大系统时,一般需通过版本控制系统对代码集中管理。这对控制代码版本和追溯代码历史是非常有效的,但同时带来版本交叉的问题。一般软件在修改后,会先发布一个测试版,测试确认通过后再发布正式版。那么如何做到测试版和正式版之间代码文件互不干扰,并且两个版本之间能够互相切换呢?版本控制软件提供了主干和分支的功能来协调这一问题,但该项功能使用繁琐,特别是对源代码有精细的权限控制时,实现起来相当困难,需要发布人员对修改的代码文件逐个进行操作。
如果软件修改频繁并且文件数量很大,可能需要一个发布小组来完成发布工作,这将耗费很大的人力成本,增加发布规范实施的难度。
2.2 发布流程问题
开发人员没有经过发布申请就将代码提交到代码库,甚至有的没经过测试直接发布到生产环境,由用户充当测试人员角色。像这种疏于管理甚至是没有管理的软件发布行为,将严重影响软件产品的质量,软件的开发运维成本将会逐渐增大。对于庞大的软件系统或需要相互对接的多个系统来说,此时无论每个参与者多么努力,多么认真,水平多高,这种混乱无序的状态会使整个项目陷入困境。
2.3 发布权限问题
发布规范不仅要制定详细的发布流程,还要明确每个环节参与者的权限。例如大部分系统是要使用数据库的,这就涉及到数据库代码脚本(如存储过程和函数等)的发布。往往数据库管理员或维护人员和发布人员并不是同一个人,如何做到发布人员既能够发布数据库脚本代码,又避免数据库操作权限分配混乱、保证数据安全是必须要考虑解决的。
当然我们可以通过合理分配数据库权限使发布人员只有执行脚本代码的权限,但是有的数据库没有该项权限控制,特别是低端数据库。
2.4 发布时机问题
有的系统会依照用户的日常作息时间运行;有的系统是全天候运行的,甚至使用频率没有高峰低谷之分;而有的系统在特定时间段内是可停止运行的。针对不同的情况,发布规范中必须对发布时间有明确的要求,并对其他相关环节做出规定。例如可以规定在发布到测试环境以后的测试期间,禁止向代码文件库提交未经审批的代码文件,以避免在统一从测试环境向正式环境发布时有未经测试的程序发布到正式环境中。这就要求软件开发维护人员必须根据发布规范提交代码,这多少对开发和维护的效率有一定的影响。
3 如何建立软件发布规范
在多年设计、开发、维护软件的过程中,笔者尝试了很多种系统发布的方法,积累了一些切实可行的发布经验。
3.1 软件发布规范的目标
(1) 使发布工作透明
通过将发布过程流程化,使每一个参与者都非常清楚本环节的产入产出,发布的代码受谁的影响,将影响谁。当遇到问题时,能清晰、明确地定位,找到相应环节的人员进行沟通和解决,减少沟通的成本。
(2) 使发布工作可预见
发布流程一旦启动,流程中的所有人员便被触动。各环节的参与者能够在早期预算出可能涉及到自己的时间、内容以及工作量,主动提前做好准备,避免人力、时间等资源上的冲突。即使发现冲突,也能提前应对,减少损失。
(3) 使发布工作可控
一个软件尤其是大系统的软件,在初期试应用阶段,涉及到的应用环节多,参与修改维护的人员也多,若不加以控制,会使系统时常处于升级状态中,对应用者而言,感觉系统不稳定,不是这里出问题就是那里出问题。必须要对发布的申请予以审核、把关,只发布经审核同意的代码,结合定时发布的模式(如明确每周三发布),可避免随意发布行为的发生。同时,也要兼顾确实需要紧急发布的情况。
(4) 增强发布行为的自律性
要通过发布规范的实施,促进开发人员增强责任心,对代码编写精益求精,力求高质量。因此要能对发布工作进行评估,评估可从软件开发的质量和遵守发布规范的自觉性两方面着手,定期公布开发、维护的情况。
最终使得软件发布规范、科学,尽可能保证系统运行稳定。
3.2 软件发布规范的具体做法
(1) 确定版本控制系统
例如,使用CVS版本控制系统来实现对代码文件的版本控制,并对代码文件的更新和提交权限进行了详细的分配。这不仅使代码修改可以被追踪,也使软件源文件的安全性得到保障,同时为发布时对代码文件的审核奠定了基础。
(2) 确定发布时间
为保证测试充分到位,分别明确在测试环境和正式环境的发布时间,并且要使两次发布的时间间隔合理,既能测试到位,又能及时发布到正式环境中,投入应用。例如,可规定测试环境的发布时间为周一晚上6:00(考虑到测试环境,可能也要用于模拟操作培训,可将时间定在晚上6:00开始发布),发布到正式环境的时间为周四晚上6:00。这期间,若开发人员测试不通过,则需及时从发布代码库中撤下提交的代码。
(3) 挑选发布人员
发布规范执行的成效如何,关键还要看负责发布工作的人员素质,这非常重要。要挑选责任心强、工作认真仔细、任劳任怨的人员承担。发布人员不仅负责启动发布工作(在非自动发布的情况下),更为重要的是在发布前,要仔细甄别哪些代码是未经审批擅自提交的,哪些是重复提交的,记录、整理发布情况(包括修改人员、原开发人员、提交时间、主要解决的问题等),并定期公布发布规范执行情况。帮助项目管理人员,定期分析、比对各开发人员的工作质量和开发能力。
(4) 开发自动发布工具
编写自动发布工具,使得发布人员不必拥有数据库的操作权限,就能通过该工具将要发布的数据库的脚本代码发布到数据库上,不仅能提高发布工作的效率,也能提高准确性。
笔者实现的定时发布系统的核心脚本如下:
① 设置系统定时器定时执行发布过程
#每周一17:15执行发布
15 17 ** 1 /tfd/tfdapp/build.sh dc >/tfd/tfdapp/builddc.log ;
② 发布过程build.sh脚本的部分代码
③ 自动发布数据库脚本的核心代码
图1为执行自动发布工具的部分日志。
(5) 版本号的确定与关联
软件的版本号通常由三部分组成:主版本号.子版本号.修正版本号。例如1.201.333。笔者经研究,在开发系统时确定版本号的更新规则如下:
① 系统初版时,版本号为1.0.0。
② 修正版本号:当系统进行了局部修改或修复Bug时,主版本号和子版本号不变,修正版本号加1。
③ 子版本号:当模块功能发生了增加或变化时,主版本号不变,子版本号加1,修正版本号复位为0。
子版本号较少变动,例如在系统改动涉及的模块累计超过5个、某个模块增加或修改的功能菜单超过10个,或上一次变动子版本号至今已累计超过一年,修改子版本号。
一种简便升级子版本号的方法是:当修正版本号到一定数量(如300)时,子版本号加1。
④ 主版本号:通常情况下,主版本号不变。当功能模块有较大的变动,比如增加一个以上功能模块或者整体架构发生变化时,主版本号加1。
在自动发布工具中实现上述版本号定版规则,并与软件系统的主界面及相关页面关联,即可实现软件版本号的自动更新和管理。
3.3 软件发布规范的流程图
发布规范执行的流程如图2所示,其中详细地描述了软件发布每个步骤的参与者、参与内容和物理产出。
4 软件发布规范产生的效益
在笔者参与的两个大型软件系统(电力安全生产管理系统、地税征管系统)开发、测试、维护过程中,规范的管理制度加上自动的软件发布工具,发挥了重要的作用,完全实现了预期的目标。
以地税征管系统为例,在100多人历时13个月的开发过程中,开发前期经常出现源代码文件提交混乱、问题无法跟踪、系统发布随意的情况,致使系统极不稳定,影响开发进度。在制定并严格遵守软件发布规范之后,因随意发布导致系统故障的现象明显减少,原来的每月约30多次,减少到2次以内。开发后期以及运行维护过程中,基本杜绝了这种现象。
同时,原本需要两个人在下班后手工完成比对、发布工作,现借助高效的发布工具,可以无人值守地自动进行,并且发布所需的时间减少至原来的一半。不仅解放了人力,还节省了宝贵的时间,提高了效率。
5 制定软件发布规范的注意事项
5.1 流程要精简高效
软件发布流程的环节不是越多越好,也不是越少越好。对于小规模、复杂度不高的软件,太多的发布流程环节会使发布工作效率下降。对于大规模、结构复杂的软件,过于简单的发布流程会使软件质量和平稳运行难以得到保障。
5.2 要兼顾轻重缓急
在软件发布规范中要针对发布请求进行优先级分类:紧急、重要、不紧急、不重要。我们可以将系统异常、BUG、功能需求按照此优先级进行分类,使软件发布有秩序、有重点地进行,开发人员和发布人员也能更好统筹安排自己的工作。
5.3 要控制发布频率
过于频繁发布会使版本混乱,也会让测试人员疲于奔命。紧急且重要的事务,可以进入紧急发布流程,但紧急发布流程不能常用,否则会助长用户和业务人员随意提出修改的要求,而且会使开发人员难以重视和把关代码的质量。
5.4 要开发支撑软件
根据实际情况制定发布规范后,可以开发软件以对发布规范的全流程进行管理。这将不仅省去了发布流程中纸质或电子文档的传递,还使发布工作变得轻松,因为需要升级的代码和文件都将由该软件自动完成,发布人员只需做好检查和监控工作即可。
6 结 语
无论一个软件项目的规模如何,都应该制定相应的软件发布规范,这是保证软件稳定的关键性因素。同时,需要注意的是,任何一个规范都需要严格执行才能体现其价值。
参考文献
[1]Brian A White.软件配置管理策略与Rational ClearCase[M].北京:人民邮电出版社,2003.
[2]Dave Thomas,Andy Hunt.版本控制之道—使用CVS[M].北京:电子工业出版社,2005.
[3]Michael E Bays.软件发布方法[M].北京:清华大学出版社,2002.
软件项目管理规范研究 篇5
第一条 为提高某某供电公司计算机应用软件的开发与测试验收管理水平,符合国网公司“SG186”软件系统的质量体系,特制定本规范。
第二条 本规范适用于公司内部开发的应用软件,也适用于采购定制开发的应用软件,提供定制开发应用软件的开发商必须遵循本规范执行。
第三条 本规范的应用软件研制开发过程采用生命周期法,分为五个阶段进行:
1. 分析阶段 2. 设计阶段 3. 编码调试阶段
4. 工程实施(部署)、测试验收阶段 5. 培训、试运行阶段
第四条 每个阶段都有确定的任务,并产生相应的文档。后一阶段应在前一阶段提供文档的基础上,继续开展工作。每一阶段结束时,必须对产生的文档,进行仔细复审,发现错误,及时纠正。由于理解能力的限制,以及需求情况、环境条件的变化,反复进行修改,是不可避免的,应不厌其烦地,直至修改完善,保证正常运行使用。力戒凑合。
第五条 应用软件研制开发过程中会出现七个角色:组织机构的设置可根据
第 1页 , 共 9 页 开发平台、开发人员、项目规模等因素有所变化,开发人员也可以随着项目的连续性和项目的进展赋予不同的职责。
1. 项目经理:在一个或多个应用领域内使用整合了道德、法律和经济问题的工程方法来设计合适的解决方案。懂得确定客户需求并将其转换成软件需求的过程。履行项目经理的职责,善于处理技术和管理方面的事务。懂得并使用有用的项目管理工具。调谐互相冲突的目标,在成本、时间、知识、现有系统以及组织的限制下找出可接受的折衷办法。在一个典型的软件开发环境中谈判、有效地工作、在必要时进行领导,并与有关负责人(包含外方)进行良好沟通。从最初创建建议书一直到项目签收结束都应用国际标准。2. 系统分析员:协助项目经理工作。系统分析员是用户和开发者之间的桥梁,负责与用户一起进行需求分析,并对软件需求进行规格化说明。
3. 系统设计员:系统设计员负责设计软件的开发策略,配置软件开发环境,进行数据结构设计和业务系统设计。
4. 程序设计员:负责程序的编写、调试,以实现系统设计员做出的软件设计。
5. 系统测试员:负责程序和业务系统两方面的测试。
6. 文档管理员:负责管理整个系统开发过程中产生的各种文档。7. 用户:应用软件的接受和使用者。
第六条 分析阶段
第 2页 , 共 9 页 1. 分析阶段任务:在项目经理的带领下进行业务需求调研。系统分析员与用户一起充分讨论业务需求、安全保密等要求;对有关业务活动,进行详细分析,切实弄清在满足业务需求的条件下,软件系统应该做什么,并进行可行性论证。
2. 本阶段的文档是《业务需求说明书》、《技术方案设计书》、《草图设计》、《项目开发计划》和《项目约定书》。
3. 《业务需求说明书》由项目经理和系统分析员编写。a)阐述业务范围和内容。
b)分析现行系统的业务概况,系统的不足和用户对新系统的要求。
4. 《技术方案设计书》由项目经理和系统分析员编写。a)由开发组负责制定最优技术设计方案
b)业务流程图:对原系统的描述,为数据流程图提供依据 c)数据流程图:系统说明书中的主要文件,按自顶向下的原则分层进行,先把整个系统当作一个功能,画出最粗略的流程图,然后逐步向下分解,直到所需要的详尽程度。d)数据字典:对数据流程图中的细节,进行描述说明。e)新系统的逻辑模型;提出为达到系统目标,对原系统应作那些修改,系统的人机界面,出错处理,系统的启动和结束,系统输入输出格式,系统性能等。
5. 《草图设计》由项目经理和系统分析员编写。简化和图示化技术方案设计书,让用户直接了解思路。
第 3页 , 共 9 页 6. 《项目开发计划》由项目经理根据项目任务、人员配置和进度制定。
7. 《业务需求说明书》、《技术方案设计书》、《草图设计》和《项目开发计划》在业务部门确认这四个文档满足他们的要求后,提交软件开发部门领导审批,然后由项目经理与业务部门签订《项目约定书》,作为业务部门和软件开发部门之间密切合作的最终文件。(外购软件参照执行)8. 在《项目约定书》中必须包括:
a)开发和实施过程中的人生、信息、设备的安全条款。b)提供明确数量的技术培训和服务(质量)的承诺。
第七条 设计阶段
1. 设计阶段的任务:在设计阶段中,项目经理和系统分析员应根据《技术方案设计书》提出的逻辑模型,精心设计系统实施方案,编写《业务流程总体设计书》尽可能提高系统的安全性、可靠性、可变性、容错性、工作质量和工作效率。2. 本阶段工作是“业务流程总体设计”、“业务流程详细设计”、《项目开发管理规范书》和《任务分配文档》。3. “业务流程总体设计”由项目经理和系统分析员完成 a)“业务流程总体设计”是项目经理和系统分析员根据《业务需求说明书》和《技术方案设计书》的要求,运用结构化程序设计思想,将软件自上而下逐层分解成多个软件模块,直
第 4页 , 共 9 页 到分解成每一个模块只具有单一的功能,能用一个或几个程序实现的树形结构为止。总体设计还要定义各模块的数据传递关系,设计软件的编码方案、文件存储策略、输入输出格式,以及硬件和系统软件配置,最后编制《概要设计说明书》。b)业务流程总体设计的内容主要包括:
(1)代码设计(2)文件设计(3)输入设计(4)输出设计
(5)系统软硬件配置设计(6)设计说明书
4. “业务流程详细设计”由项目经理和系统分析员完成 a)“业务流程详细设计”是对“业务流程总体设计”中划分的每个模块再进行详细定义和说明。它包括定义每一模块的详细功能、输入数据、使用文件及使用方式,确定输出内容及格式,模块实现的详细算法,每一模块的程序构成等,其中包括对数据库关系和流程的设计。“业务流程详细设计”是软件功能、结构实现方法的最详细说明,是程序设计的依据。“业务流程详细设计”的最终成果是编制《详细设计说明书》。
5. 《项目开发管理规范书》:由项目经理和系统分析员编写。对开发人员在变量、代码、编码、数据文件格式、注释等方面
第 5页 , 共 9 页 作出约定的技术性规范书。
6. 《任务分配文档》由项目经理编写,根据《概要设计说明书》、《详细设计说明书》和《项目开发计划》分配人员和任务。
第八条 编写、调试阶段
1. 主要任务是由程序人员在系统分析员的带领下,根据《任务分配文档》分配的各自的模块说明书写出程序《开发文档》,并以此编写逻辑正确、易于阅读和理解的程序。
a)《开发文档》应该包括:程序框图、源程序清单、程序说明书、逻辑正确的程序模块。
2. 高级程序员将程序员开发的模块按《概要设计说明书》、《详细设计说明书》集成系统。
3. 在本阶段中,模块级测试可以由程序员自己或相互测试,也可以由测试员参与模块级测试。
4. 在本阶段中,对开发服务器上集成后的系统进行测试,可以由高级程序员到测试员共同参与进行测试,测试结果由程序员对代码进行消缺,同时编写《集成测试说明书》。5. 在经过系统集成测试后,可以向用户展示系统,项目经理和系统分析员要听取用户的意见,如果用户对业务有所变更,项目经理和系统分析员对此进行分析,对于确实需要变更的业务,由项目经理及时提出《问题说明报告》,让用户和领导审批,审批通过后,系统分析员立即编写《业务变更文档》,第 6页 , 共 9 页 同步记录开发过程中用户提出的业务需求变更的情况,以便及时让组员了解。
6. 在向用户展示系统通过后,系统进入现场安装部署阶段。
第九条 工程实施(部署)、测试验收阶段
1. 在现场部署阶段,首先准备运行服务器。同时,由系统分析员根据《业务需求说明书》、《概要设计说明书》、《详细设计说明书》,编写《项目测试方案与报告》的初稿,《项目测试方案与报告》包括测试案例,以验证系统的功能与性能。2. 成立由项目经理、系统分析员、程序员、测试员和用户在内的测试小组进行现场码测试。
a)现场码测试过程是按照《项目测试方案与报告》的初稿的测试案例,逐条进行。现场代码测试是一个反复的过程,如果没有通过测试,要进行消缺,再全面测试,直到测试通过为止。
b)现场代码测试完成后的系统要移植到最终运行环境(部署),将实际数据采集及导入。
3. 成立由项目经理、系统分析员、测试员和用户在内的测试小组进行现场验收测试。
a)对实际运行系统进行现场验收测试。测试过程是按照《项目测试方案与报告》的初稿的测试案例,逐条进行。b)现场验收测试完成后,测试小组要对被测试系统是否达到
第 7页 , 共 9 页 《项目测试方案与报告》的要求,提出意见,完善《项目测试方案与报告》报告,提交领导审批。
4. 在进行系统测试的同时,系统分析员、程序员积极编写《项目开发文档》汇总整个项目的使用的技术、思路、过程。5. 在工程实施(部署)、测试验收阶段,系统分析员和高级程序员还要积极编写《用户使用手册》,在系统代码测试完成后,向用户进行培训。
6. 现场验收测试通过的系统交用户试运行一段时间(一般要求3~6个月),以进一步发现问题,予以修改、完善。经用户试运行,满意认可后,由用户提出《用户报告》,项目经理则编写《项目验收报告》。
第十条 验收、运行维护阶段
1. 软件验收组应由用户、开发人员和专家三方组成。验收组要对《项目验收报告》、《项目测试方案与报告》、《用户报告》等资料是否完整进行认真审查并作出评价;
2. 在软件系统通过验收,并交付用户正式使用后,用户应对软件系统的资产进行分类统计,编制资产清单,标注资产的重要性,并对资产清单定期维护和更新;
3. 要对软件系统的日常维护工作作出安排。可以委托软件开发人员日常维护。要建立软件系统的《日常维护档案》资料归
第 8页 , 共 9 页 档,作为今后日常维护的依据。在可能的条件下,也可对业务人员作进一步培训,逐步做到由业务部门自行维护。
**供电公司
2009年2月
软件项目管理规范研究 篇6
[关键词] Microsoft Excel 工作表 股票 新建Web查询 导入外部数据
一、Microsoft Excel 2003简介及问题提出
Microsoft Excel 2003是Microsoft Office 2003中的一个组件,它是一个高效、实用的电子表格软件,具有强大的数据处理与数据分析能力,为广大用户进行数据处理提供了一个很好的工具,也为广大的用户所熟悉。对不少老股民来说,炒股多年,自己的股票账户的赢亏恐怕都是一本糊涂账。其实利用大家都比较熟悉的电子表格处理软件,就可以有效地管理自己的股票账户,让自己多年炒股的数据一目了然。如何在电子表格处理软件Excel中有效管理自己的股票账户呢?
二、在Microsoft Excel 2003中管理股票账户
基本思路:启动Microsoft Excel 2003后,在其中新建一个工作簿,并在其中建立相应的工作表,用于存放相应的数据。
1.第一个工作表:交易费率表。股票交易过程中要交一些费用,这些费用的费率存放在此工作表中。此数据来源于:注:对于不同的证券公司,可能有一些差异,请咨询相应的证券公司后做相应的修改。此工作表的建立很简单,只要输入相应的数据,并做一些格式的调整就可以了。结果如图1所示。
2.第二个工作表:实时排名数据表。在看股票行情时,可能比较关心的是股票中涨跌幅的排行,成交量的排行,成交额的排行等数据,这些数据也可以存放在一个工作表中。
此工作表的建立方法如下:
第一步:工作表改名。改为:实时排名数据;
第二步:在工作表中记下数据来源的网址,以便以后使用;
第三步:导入排名数据。①选中工作表中存放导入数据的起始单元格;②执行“数据”→“导入外部数据” →“新建Web查询……”,打开如下图2所示的对话框:③在图2中的对话框中,把数据的地址“http://quotes.stock.163.com/index.html”复制到此对话框中的“地址栏”的后面的下拉列表框中,单击“转到”按钮,网页的数据出现在此对话框中,单击要导入的数据前面的黑色箭头,此时黑色箭头变成绿色的对勾,表示选中了要导入的数据。如下图3所示;④在图3所示的对话框中,单击“选项”,出现如图4所示的对话框,在其中选择“格式”中的“完全HTML格式”,单击“确定”按钮。⑤单击图3所示对话框中的“导入”按钮。此时图3所示的对话框中的选中的数据(沪市A股涨幅排名和深市A股涨幅排名)就导入到了Excel工作表中。重复上述①~⑤,可以导入其他的排名数据。结果大致如下图5所示。⑥导入的数据的刷新。要想使得导入的数据与实时行情同步,得设置导入数据的刷新频率。方法如下:在图表5所示的窗口中的数据上右击鼠标,从快捷菜单中选择“数据区域属性……”,打开“数据区域属性”对话框,从中选择“刷新频率”及“打开工作簿时,自动刷新”(如图6所示),单击“确定”按钮。至此,实时排名数据表就建立完成。
3.第三个工作表:我的股票实时行情。此工作表用来存放自己所关注的股票的实时行情。此工作表的建立步骤如下:
第一步:工作表改名。改为:我的股票实时行情;
第二步:在工作表中记下数据来源的网址(http://stock.business.sohu.com/p/fl.php),以便以后使用;
第三步:导入股票实时行情数据。①选中工作表中存放导入数据的起始单元格;②在某个股票网站设置自己的自选股。此处是在网页http://stock.business.sohu.com/p/fl.php中设置的;③在Excel窗口中,执行“数据”→“导入外部数据” →“新建Web查询……”,打开如下图2所示的对话框;④在图2中的对话框中,把数据的地址“http://stock.business.sohu.com/p/fl.php”复制到此对话框中的“地址栏”的后面的下拉列表框中,单击“转到”按钮,网页的数据出现在此对话框中,单击要导入的数据前面的黑色箭头,此时黑色箭头变成绿色的对勾,表示选中了要导入的数据。如下图7所示;⑤在图7所的对话框中,单击“选项”,出现如图表4所示的对话框,在其中选择“格式”中的“完全HTML格式”,单击“确定”按钮。单击图表7所示对话框中的“导入”按钮。此时图表7所示对话框中的选中的数据,即自已所关注的股票行情数据就导入到了Excel工作表中。结果大致如下图8所示。⑥导入的数据的刷新。要想使得导入的数据与实时行情同步,得设置导入数据的刷新频率。方法如下:在图8所示的窗口中的数据上右击,从快捷菜单中选择“数据区域属性……”,在“数据区域属性”对话框中选择“刷新频率”及“打开工作簿时,自动刷新” (如图6所示),单击“确定”按钮。至此,我的股票实时行情表建立完毕。
注意:如果关注的股票发生变化,需进入网页http://stock.business.sohu.com/p/fl.php中重新定制自己的股票。等到刷新的时候,重新定制的股票信息就会反映到相应的工作表中来。
4.第四个工作表:买卖股票记录。每进行一笔股票交易,包括买和卖,都要在此表中进行登记。每一笔交易的数据在此表中登记一次,占一行。从这个表的数据,可以知道自己曾经买过哪些股票,是什么价位进行买卖的。此表的建立方法比较简单。在前三个表的同一个工作簿中,插入一个新工作表,并把它命名为:买卖股票记录;在工作表的第一行分别输入:股票代码、股票名称、股票类别、数量(手)(注意:买入时记为正值,卖出时记为负值)、日期、成交价、总价、佣金、过户费、印花税、合计金额;在“总价”下面的单元格(此处为G2)中输入公式: =D2*100*F2;在“佣金”下面的单元格(此处为H2)中输入公式:=IF(G2*交易费率表!D6/100>5,买卖股票记录!G2*交易费率表!D6/100,5);在“过户费”下面的单元格(此处为I2)中输入公式:=IF(C2=3,1,0);在“印花税”下面的单元格(此处为J2)中输入公式:=IF(C2=1,G2*交易费率表!F6/100,IF(C2=2,0,IF(C2=3,买卖股票记录!G2*交易费率表!F8/100,0)));在“合计金额”下面的单元格(此处为K2)中输入公式:=—G2—H2—I2—J2。此表建立完毕。
例如:在2007年4月10日买入了股票600485,十手,成交价为:16.15元。应该在此表的登记如下信息:
股票代码:600485;股票名称:中创信测;股票类别:3(注:此值从第一个工作表中查得);数量(手):+10(注:此处为正,因为是买入股票,如果是卖出,则为负);其它数据自动生成(注:因为前面已输入了公式,如果想让以后登记的信息也自动生成总价、佣金、过户费、印花税,合计金额的数据,可利用这些已输入公式的单元格的填充柄进行填充。) 登记完毕后结果如图9所示。
5.第五个工作表:账户上现有股票。此表记录账户上现有股票信息,包括:股票代码、股票名称、持有数量(手),共三列数据。此表中的数据可在进行股票买卖时及时登记,也可通过第四个工作表获得,方法是:把第四个表中的数据按“股票代码”排序,然后以“股票代码”为分类字段,把“数量(手)”进行求和汇总,即可得到账户上面有股票的信息。
6.第六个工作表:资金流水。此表记录买卖股票、在股票账户上存入资金、从股票账户上取出资金的情况。每存入一笔资金、取出一笔资金、进行一笔股票交易,都要在此表中进行登记。此表包括三列:日期、资金量(元)、備注。其中“资金量(元)”一列中的数据有正值和负值,存入及卖出股票为正,取出及买入股票为负;“备注”一列中填写“存入”、“取出”、“买入股票”,“卖出股票”。此表中的资金量进行求和运算,就可得出现在股票账户上的资金余额。
7.第七个工作表:每年收益统计表。此表用于记录每年在股票市场的收益情况。每年的数据记录一次,占一行。此表包括两列:年份、收益。其中“收益”列的数据,正的为赢利,负的为亏损;此列的数据可由第四个工作“买卖股票记录”中的“合计金额”列的数据求和得到。
三、几点说明
1.同一个工作簿中包含了上述的七个工作表,即所有的数据存放在一个文件中。
2.无论你走到哪里,只要在电脑中有这个文件,你所关注的所有股票行情即时可以查看到,你的股票账户一目了然。
3.在工作表中适当的地方添加相应的批注,便于以后使用。
4.此文件应常做备份,以备损坏或意外丢失时让自己的心血付之东流,同时还要注意此文件数据的安全性。
四、小结
通过上面的介绍,建立一个工作簿,即一个Excel文件,其中包含多个工作表,每个表中分别存放相应的数据。即可把自己的股票账户随时带着走,广大股民朋友不妨试一试,让自己在股市中的收益及买卖股票的各种数据不再是一本糊涂账。
参考文献:
[1]《Office 2003 使用详解与技巧》.机械工业出版社,舒易资讯编著
[2]《Excel 2002入门与进阶》.珠海出版社,中国ITF培训工程编委会 编
软件项目管理教学研究 篇7
该门课程主要的目的是使学生掌握软件项目管理的基本理论、方法、技术,并能应用具体方法和技术去指导实践。但是在教学的过程中存在着这样一些问题:1)软件项目管理涉及的知识点多,内容抽象,不容易记忆,学生不感兴趣;2)在校学生没有做项目的实际经验,对课程中的很多工程概念不理解,感觉学习难度大;3)授课老师尽管做过一些项目,但都是很小型的,项目管理知识几乎用不上,没有项目经验,几乎都是看照搬书本,授课过程中几乎都是填鸭式的,很死板,无法有效地进行理论联系实际的训练,学生感到很枯燥。针对上述问题,在借鉴前人研究的基础上,结合自己的教学实际情况,从“软件项目管理”的教学内容等方面进行了较为深入的探讨与研究,提出了理论部分采用案例驱动式的课堂教学,实践部分采用项目实践教学的方式进行教学,实践证明,能在一定程度上克服以往理论与实践脱机的现象。
1 案例驱动式教学
案例驱动教学模式源自哈佛商学院的“案例式教学”。案例是由一个或几个问题组成的内容完整、情节具体详细、具有一定代表性的典型事例,代表着某一类事物或现象的本质属性[1]。所谓案例教学,就是在教师的指导下,根据教学目的和要求,组织学生通过对案例的调查、阅读、思考、分析、讨论和交流等活动,教给他们分析问题和解决问题的方式或方法,进而提高他们分析问题和解决问题的能力,加深他们对基本概念和基本原理的理解[2]。
“软件项目管理”课程讲授的是针对软件项目的具体特点,用项目管理理论与方法来对软件项目进行管理,其本质还是属于管理类课程。管理类课程如果采用传统的教书模式讲解,其内容就会显得很空洞,学生会很难理解和掌握。因此在理论教学的过程中,我们采用案例驱动的教学方法。在备课的时候就事先选择好一个能贯穿该课程所有教学内容且能够体现软件项目管理全过程的大案例,然后总结出项目生命周期的五个阶段所涉及到的定义、方法、工具、技术、输出物,授课的时候就以这个案例为线,先讲案例,再以案例为线,找出相关的知识点,力求讲解时能把涉及的相关知识点全面、深刻、生动,这样学生就能将每节课上讲授内容的前后以线的方式联系起来,达到融会贯通。经过几年的教学实践表明,采用一个完整的案例比采用多个零散的案例效果好多了。同时,采用这种方式授课具有一定的趣味性,能增强学生对知识的理解,学生很同容易接受。下面以一个具体的实例说明我具体的做法:
项目可行性研究是项目管理启动阶段必须做的一个事情,其可行性研究包括经济可行性、技术可行性、社会因素可行性研究,可行性研究以后需要给出可行性研究报告。在授课的时候我就直接讲仓储管理信息系统研究报告,在报告里就涉及到具体的经济、技术、社会可行性方面的研究内容,例如经济可行性研究里就涉及支出、收益、收益投资比、投资回收期方面的分析;技术可行性研究里就涉及到现有技术、可选择的技术方面的分析;社会可行性研究里就涉及到法律可行性、操作可行性研究方面的分析,把这个具体实例讲完以后总结出写可行性研究报告需要写的内容为那些,可行性研究需要研究些什么东西,每一部分的研究的东西是什么。通过分析案例把相关的知识点串起来,这样学生学习的时候就很容易了,学完了实例,可行性研究报告会写了,可行性研究要研究些什么也很清楚了,很多同学认为这样学习起来很容易,教学效果好。
2 项目实践教学
项目实践教学法是指通过实施一个完整的项目工作而进行的教学活动,采取小组讨论、协作学习的方式,学生学习过程属于一个探究过程[3]。
我校在安排“软件项目管理”课时的时候是这样安排的,理论与实践各占一半,可见软件项目管理实践环节很重要。“软件项目管理”课程实践教学主要是找一个已经做过或者正在做的项目为例,在这个例子的基础上进行相关的管理,不涉及的软件开发工作。因学生不会用软件项目管理工具,所以在正式做管理工作之前,得先把微软的MS Project软件(当然MS Project可以用在各类项目的管理中)给学生教会,因为这个软件对于使用过Office的学生来讲很简单,学生比较容易掌握。一般十学时左右就能够教会,然后根据软件企业的项目管理模式,把学生分成多组,每五到六人一组,每小组指定一个项目经理,按照项目管理的思想,项目经理再具体的明确小组成员的角色和任务,指定每小组选择一个具体的软件开发项目,依据项目生命周期管理过程,从项目的启动开始入手,对选定的项目编写可行性研究报告、项目章程,质量保证说明书等,然后到计划阶段,开始编写项目计划书,项目计划书中必须包含范围计划、进度计划、成本计划、里程碑计划及跟踪、需求分析、系统设计任务、人力资源计划和沟通计划等,其中项目计划书中的图、表使用MS Project和其它画图工具绘制,并把范围计划、进度、成本、人力资源计划录入到MS Project工具中,以便后续管理,项目计划书并上交,然后以小组为单位进行答辩,项目经理汇报小组总体项目计划编制情况,成员参与答辩,答辩通过并把涉及到的相关管理表格填好,就可以进入实施阶段,没有通过,继续修改直到通过。计划阶段的完成以后接着进入实施控制阶段(因MS Project主要是项目计划的工具,不太适合软件开发整个过程的管控,我们只能在MS Project里做一些基本的比较基准,方便作前后对比,以对软件的实施做一些简单的监控),在此阶段把涉及的项目跟踪表、变更申请表、变更控制表、成本偏差、进度偏差等等这些表格做好以便管理和控制,然后再以小组为单位进行答辩,最后是收尾阶段,收尾主要的实践工作是把产品的验收、设备的验收单的填写、项目的经验总结报告及项目的最终移交报告的填写,填写完了演示汇报项目的整个管理过程,小组为单位进行最后的答辩,至此项目生命周期的整个管理过程完成了,通过这样的实践,学生是掌握了项目管理过程中所用的工具、方法,也掌握了软件项目管理从启动到收尾所涉及的管理表格的填写及管理的时候需要考虑的诸多因素。
3 课程考核
吸收CDIO的理念,软件项目管理这门课程的考核方式也是基于四个方面,包括平时上课情况、作业、项目实践、期末考试等方面,以期望能从不同的侧面来衡量学生的专业知识、团队合作能力、沟通能力等。
1)上课情况,占总成绩的10%,课堂听课、互动、发言等情况。
2)作业,占总成绩的20%,一共部署十作业,包括可行性研究、项目章程、范围计划、进度计划、网络遍历、赶工、网络图、成本计划、风险计划、项目执行控制等题目。
3)项目实践,占总成绩的35%,包括团队的合作成绩、提交管理表格的情况、以及MS Office掌握的情况、团队中个人的表现和答辩情况。
4)期末考试,占总成绩35%,考核学生对项目管理知识整体的理解。
4 总结
“软件项目管理”课程软件工程专业的一门必修课,课程内容多、知识量大(涉及到项目管理的九大知识领域),而且实践性又很强的这样一门课程,就怎么样提高本课程的教学效果问题,本文从理论教学和实践教学两方面进行了探讨与研究,其中理论教学引入了案例驱动式教学方法,实践教学部分引入项目实践教学方法,并将这两种方法应用于实际教学中,通过实践表明能达到了教学目标,但是实践部分的效果不是太好,很多同学觉得尽管项目管理的知识学到了,但是具体的实际项目经验没有,总感觉很空洞,以后的教学中看看能不能引入基于Jazz平台的Rational Team Concert,在教学过程中带领学生在Rational Team Concert平台下进行项目开发,让学生真实感受软件项目管理,真正做到理论与实践相结合,更好地掌握该门学科。
参考文献
[1]雷东升,李挥剑.《C语言程序设计》课程案例式教学模式的探讨[J].北京交通管理干部学院学报,2006,16(4):38-40.
[2]张新平.案例教学的内涵[J].云南教育,2002(32):6.
软件项目管理项目教学过程研究 篇8
随着软件产业及信息服务外包产业在全球范围内的迅速兴起与发展, 如何培养高素质软件工程人才, 实现高校软件工程专业人才培养与社会需求无缝对接, 已经成为目前各高校软件工程专业人才培养体系所亟待解决的重大问题。“软件项目管理”课程作为各高校计算机软件工程专业的一门重要的专业必修课程, 对于奠定培养软件工程专业技术与管理复合型人才的理论基础起着重要的作用。然而, 软件项目管理课程知识点繁多, 概念、运算枯燥难懂, 学生学习兴趣不足, 难于找到成就感;此外, 由于学生没有工作经验, 对于课堂中学到的理论不知如何在项目中运用。基于以上的问题, 笔者根据多年的企业工作经验, 经过多轮教学的磨合, 总结出一套项目教学的方法。通过教师扮演软件项目的甲方, 学生分组扮演软件项目开发的乙方, 共同完成软件项目的开发管理工作。在项目中, 融入理论讲解, 理论指导实践, 融会贯通。让学生对课程内容产生兴趣, 主动自发的学习课程知识。
2 项目教学过程
课程在介绍项目管理的理论知识的同时, 通过一个《信息管理系统》贯穿始终, 让学生对每个理论知识有个直观的认识, 知道这些理论知识在项目中是如何实际运用的。然后通过8个子项目的实验, 让学生分组合作, 在组中模拟项目中的项目经理, 需求分析人员, 设计编码测试人员, 质量管理人员, 配置管理人员等角色。并在老师指导下, 独立完成项目《图书借阅系统》从启动到结束的全部管理控制过程。8个子项目的内容, 具体如下:
接下来对每个子项目的过程设计如下:
2.1 项目启动。
项目提出:教师模拟项目甲方, 基于学校的信息数字化和现代化的管理需求, 提出《图书借阅管理系统》的项目需求, 给出项目招标书, 希望能在半年的时间内, 由乙方完成该系统的开发工作。由学生自由成组, 模拟乙方, 分析项目后, 写出项目建议书, 参与竞标, 中标后, 即可启动项目。项目知识准备:项目基本概念、项目初始过程、项目授权、生存周期模型。任务实施:a.乙方分析项目b.竞标竞演c.项目立项
2.2 进度管理。
项目提出:项目启动, 项目范围确定后, 接下来我们想想, 我们多长时间能做完这个项目呢?怎么估算和实际情况更接近呢?项目进展过程中, 如果时间上或延迟, 或提前了, 那我们如何把控我们的项目呢?项目知识准备:a.进度管理图示b.进度估算方法c.进度编排方法。任务实施:a.估算项目进度b.关键路径法进行项目进度编制c.会用ms project绘制工程表, 实施进度管理。
2.3 成本管理。
项目提出:我们的项目的报价是怎么产生的?我们项目有哪些成本, 利润又是多少?我们给客户报多少钱, 才不会赔钱?在项目中, 如果钱比预计的花的多, 怎么办?项目知识准备:成本估算方法、成本预算方法、成本控制方法。任务实施:a.成本估算b.成本预算c.成本管理。
2.4 质量和风险管理。
项目提出:项目做完, 进度没有延迟, 花销没有超支, 但客户仍然可能不满意, 为什么呢?因为项目的质量没有达到客户满意的标准。项目中可能存在哪些风险导致项目失败呢?项目知识准备:a.制定质量标准b.进行质量保证工作c.进行质量控制工作d.识别风险e.评估风险f.规划风险g.控制风险。任务实施:a.完成质量计划, 会对质量进行控制b.完成风险计划, 并能对项目中的风险进行应对。
2.5 人力资源和沟通管理。
项目提出:项目中最大的资源是什么资源?是人。每个人都是一个个体, 想让一群人, 高效, 目标一致的做好一个项目, 是个很困难的事。那我们会做哪些工作去建设好一个团队呢?人和人之间需要沟通, 怎么沟通才更有效呢?项目知识准备:a.项目组织结构b.责任分配矩阵c.人员管理计划d.团队管理e.沟通方式f.项目沟通计划。任务实施:a.人力资源管理b.沟通管理。
2.6 配置管理。
项目提出:项目中产生很多代码和文档, 放哪好?代码和文档会多次修改, 有时候想找以前的版本怎么办?多人合作共同开发一个功能, 能不能各自开发各自的, 然后自动整合?其他开发人员未经允许修改了你的代码怎么办?项目知识准备:a.配置管理过程b.配置管理工具VSS的使用方法。任务实施:用VSS进行项目配置管理。
2.7 合同与集成管理。
项目提出:项目最初我们签订了项目合同, 在我们做项目的过程中, 有没有可能去修改合同呢?要修改的话, 如何操作呢?前面我们学习了项目的范围管理、进度管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、配置管理, 合同管理, 这些管理之间必然有着这样那样的联系, 管理不好, 可能会互相牵制, 互相矛盾。那如何让这些管理相辅相成呢?项目知识准备:a.合同管理b.集成管理。任务实施:a.将《图书借阅系统》的一部分功能外包, 作为合同的甲方写一份合同。b.整理之前的所有项目计划, 形成集成计划, 注意各个计划之间的协调性。
2.8 项目结束。
项目提出:项目最后, 编筐编篓都在收口, 收口阶段要做哪些事呢?项目知识准备:a.合同结束b.项目结束。任务实施:a.乙方整理所有项目成果物, 甲方验收乙方的成果, 验收通过, 宣布合同终止。b.项目提交后, 写项目总结。
3 项目验收与评价
老师 (甲方) 和项目经理共同验收子项目, 评价包括甲方评价, 项目经理评价以及组内成员互评。最终通过答辩的方式, 教师根据学生在组内担当的角色, 以真实项目中的问题提问, 让学生根据所学知识做出案例的分析。
结束语
笔者结合多年的企业工作经验, 将实际的项目开发管理过程贯穿到课堂当中, 通过软件项目开发过程中涉及的管理问题, 一步步引导学生学习软件项目管理知识, 并把理论知识根据自身担当角色, 应用到项目中去。笔者已申报了校级项目教学示范课, 并取得了初步成果, 笔者会在实践中不断完善项目教学过程。
参考文献
[1]李蓉, 叶俊民, 杨艳.基于案例任务驱动的软件项目管理课程实践[J].计算机教育, 2014, 7.
[2]韩万江, 姜立新.软件项目管理案例教程[M].2版.北京:机械工业出版社, 2011.
[3]夏辉, 范书国.基于项目导向和实践考核体系的软件项目管理课程教学模式的研究[J].沈阳师范大学学报·自然科学版, 2014, 1.
[4]刘海, 周元哲.面向专业能力培养的软件项目管理教学研究[J].计算机教育, 2013, 9.
软件项目人力资源管理研究 篇9
1 软件项目人力资源管理的含义
软件项目人力资源管理就是根据软件项目的目标、项目进展情况和外部环境的变化,采用科学的方法,对项目团队成员的思想、心理和行为进行有效的管理,充分发挥其主观能动性,实现项目的目标。具体来说,软件项目人力资源管理就是根据实施项目的要求,任命项目经理,组建项目团队,分配相应的角色,明确团队中各成员的汇报关系,建设高效的项目团队,并对项目团队进行绩效考评的过程,其目的是确保项目团队成员的能力得到最有效使用,进而高效、高质量地实现项目目标。软件项目人力资源管理的重点集中在以下2个方面:一方面是针对个人的,例如工作委派、培训、考核、激励、指导等;另一方面是针对团队的,例如团队建设、冲突处理、沟通协调等。
2 软件项目人力资源管理的特征
软件项目要求在有限的资源条件下,在尽可能短的时间期限内,为客户提供技术创新性强、个性化程度高的软件产品或服务。因此,软件项目体现出许多有别于一般项目的特殊性。软件项目是知识密集型项目,技术性很强,需要大量高强度的脑力劳动。项目劳动十分细致、复杂且容易出错,项目团队成员的结构、责任心、能力和团队精神对软件项目的成功与否及质量高低有着决定性的影响。软件项目人力资源管理的特征如下。
2.1 人力资源规划涉及确定并分派项目角色、职责及制订人员配备管理计划
高层管理者和项目经理必须明白什么类型的人才是保证项目成功实施的关键及他们需要具备的技能。例如,一个项目中需要一些优秀的Java开发人员,人力资源计划就需要反映出这个需求。在已经明确项目所需要的重要技能和何种类型的人员的基础上,项目经理和团队成员应该为项目创建一个项目组织结构图。
2.2 项目团队组建的目的是招募项目工作所需的人力资源
在明确项目人力资源需求后,高层管理人员一般将组建权交给项目经理。项目团队成员可从组织内部和外部招募那些有强烈影响力和沟通技巧好的项目经理,满足项目所需的人力资源。人员招募常用的手段就是谈判,大多数项目的人员分派都需要经过谈判。例如,项目经理需要与职能经理谈判,以保证项目在规定期限内获得足以胜任的工作人员,而从内部的其他部门调人参与项目是一件很复杂的事情,一般要征求多方面的意见,这就要求负责组建项目团队的人一定要耐心地进行解释、说服和动员,争取他人的支持。需要注意的是,项目团队组建是一个动态的过程。所谓动态是随着项目的发展,对人员的需求是动态变化的。项目经理必须监控到这种变化。除了人员招募外,团队成员的保留也是项目团队组建中极其重要的问题。作为一个软件项目的负责人,要努力减少组员的流动性,就要分析技术人员或小组领导人流失的原因。例如,项目的高压环境导致员工心理负担过重等。
3 软件项目人力资源管理的策略
3.1 人才招聘
3.1.1 性格特质与工作分析
性格特质反映个人的职业兴趣,性格特质与工作性质的和谐度越高,其对工作越满意,成就也越高。信息人员具有与一般企业员工不同的工作特性与性格特质,了解这些特质,对于人员的招聘、培训、激励、生涯规划及降低离职率等管理工作,均有显著的帮助。工作分析是将工作内容、员工需求和工作目标作系统性的分析,以期通过招聘、选才、培训与评估的过程,使组织的人力资源量才使用。除了信息专业技能外,软件人员应具备组织、管理、沟通等技能。
3.1.2 人员招聘与选用
招聘的目的在于寻找并吸引合格的应征者,让他们了解工作的特点与福利等,如起薪、调薪频率、奖金分红、股票选择权、福利制度等。完善的事业发展计划能使员工在个人与专业上得到成长,这是吸引应征者的重要因素之一。公司声誉也是吸引应征者的重要因素,例如标榜人性化管理、作风开放的公司较能吸引应征者的兴趣,而拥有良好声誉公司的工作经验将有助于员工抓住未来的求职机会。选用人才则是从众多的应征者中选出有能力和有意愿的适当人选,利用面谈、测验、简历、推荐信等方式选出企业最需要的人才。传统的选才方式强调应征者的知识、技术、能力等,但忽略了员工是否能与组织的文化融合的问题。近年来,企业逐渐偏好性格特质能与其组织文化融合的人,所考虑的是组织的整体性,而非只是工作技能上的最合适人选。面试可以有效地评估应征者在多方面的表现,特别是人际沟通技巧及专业技术能力,面试是最常用的招聘选才方法。与面试者直接面对面交流具有客观性,也可以判断应征者的外在行为表现,是衡量应征者能力和性格特质的有效方法。询问的技术关系到面试效果,要事先做好规划。面试者应细心地倾听,在面试期间应完成预期项目与时间控制,不要表露个人观点或偏好,以免失去客观意见。
3.2 人员管理
3.2.1 激励
激励即激发工作潜能、鼓舞工作士气,是一种人性化的管理,也是领导的有效法则。激励的策略必须符合员工的期待和满足员工的需要与偏好,且能反映员工努力作出的贡献,同时经得起员工之间的比较,让员工觉得合理、公平,这样才能提高员工的工作意愿与士气。
(1)高成长需求的员工较之低成长需求的员工,更希望工作富有激发性与挑战性。设计良好的工作内容,不仅可以提升员工的工作效率,还能让员工拥有高度的工作满足感。
(2)薪资关系着人员的满意度,但并不是决定工作满意度的最重要的因素。好的薪资制度有助于留住优秀的员工,引导一般员工往正确的方向努力,提高员工的工作绩效。薪资包含固定底薪、半固定薪资(如职务工资)和绩效奖金。员工绩效必须能以具体的数字表示。同工同酬,但要考虑工作质量。薪资由职务决定,而非个人条件决定。薪资结构不合理时,应主动调整。特殊的工作条件可用特殊补贴的方式解决。
3.2.2 教育培训
为了提高员工胜任工作的能力,朝着组织的目标发展,教育培训是人力资源管理最有效的投资之一。教育培训是为了确保员工具备开展业务的能力,提供员工工作上所需的各项基本技能及知识。其目的是为了企业未来的发展,为员工提供学习知识与技能的机会。同时教育培训还可以帮助员工提高工作意愿、激发工作潜能、提升士气与对工作的满意度,并降低离职率。组织通过成员的学习而成为学习型组织,从而能在变革中维持或提升市场竞争力。教育培训有如下4个阶段:①需求评估,包括组织分析、工作分析、个人分析。②发展计划,包括整合信息技术与企业概念、考虑个人成长需求、配合组织的目标。③计划执行。④绩效评估。
3.3 团队管理
3.3.1 团队组成
团队成员的技术水准、经验及个人性格是否均衡,将影响团队的效率。许多软件工程师主要是由于工作内容而产生工作动机,因此软件开发成员通常对如何解决技术上的问题都有各自的看法。团队如果能由个人特质互补的成员组成,则该团队的工作效率会比纯以技术能力选择成员的团队更好。
3.3.2 团队组织
团队的组织方式应让每个人都有受到重视的感觉,并且对自己在团体中的角色感到满意。小型的工作团队通常是以非正式的方式组成,领导人必须和成员一样投入软件开发的工作,而可以有效控制软件生产的人员则可能成为技术领导人。在非正式的团队中,团队的工作是由成员一起讨论决定,工作任务则根据成员的能力和经验进行分配。
3.3.3 团队沟通
良好的沟通是软件开发团队中不可或缺的。成员应互相交流工作的状况、已经决定的设计或必要的修改。良好的沟通可以强化团队的向心力,成员之间可以了解彼此的动机和优、缺点。
3.3.4 团队向心力
在具有向心力的团队中,每位成员会将团队的共同意识看得比个人意见还重要。在一个和谐的团队中,成员会对该团队效忠。他们认同团队的目标及其他成员的目标,也将整个团队视为一个整体,保护它免受外界的干扰。这些观念可以让团队更加坚固,可以更好地处理问题和非预期的情况。具有向心力的团队具有以下几个优点。①可开发出团队的质量标准:因为这个标准是经过大家一致同意的,所以相比强制给团队的一些外部标准,成员会更愿意遵守。②成员紧密地一同工作:团队中的成员彼此互相学习,可以将因疏忽造成的问题减到最少。③成员知道彼此的工作内容:假如有某位成员离职,其工作依旧能够有人接手进行。④实践无私的程序设计方式:程序可以被视为团队的资产,而非个人资产。
摘要:在完成软件项目目标所需的各种资源中,最重要的是人力资源。项目团队中的人员有不同于其他人员的需求特征,成员以团队精神为前提,更加关注自尊和自主的需求。文章阐述了软件项目人力资源管理的含义,分析了软件项目人力资源管理的特征,提出了软件项目人力资源管理的策略。
关键词:项目管理,人力资源,团队管理
参考文献
[1]王强.IT软件项目管理[M].北京:清华大学出版社,2004.
[2]丘磐.科技项目管理之人力资源管理[J].中国科技论坛,2004(3).
[3]张少仲.软件开发管理的实践[M].北京:清华大学出版社,2005.
软件开发项目进度管理研究 篇10
软件开发项目进度,是指完成整个软件开发项目所需活动的过程和时间周期。软件开发项目进度管理是为了确保项目按时完成而对其各项活动及阶段进行的管理。软件开发项目进度管理包括4个步骤,其中软件开发项目进度计划编制和进度控制是实际工作重点,但编制项目进度计划前,应先分解项目,明确该项目包含的活动,并对项目活动进行排序[1]。下文中“软件开发项目”简称为“项目”。
1 项目工作分解
一个项目提出后,根据项目目标确定项目的研究范围后,应对项目进行分解,将可交付成果和复杂的项目逐步分解成较小的、便于管理的组成部分,并创建工作分解结构图,为项目进度计划打下基础[2]。
1.1 项目工作分解的作用
项目分解的作用主要体现在两个方面:
(1)便于进行综合性方案设计。工作分解就是在项目目标的指导下,在任务范围中从粗到细、从简到繁,逐步分析,直到可执行的最小独立单元,这样能够较好地保持项目的系统性和完整性,策划者据此可以通盘考虑实现项目目标应完成的工作,能够清晰地分辨任务实现的重点和步骤、完成周期、成本费用,并评估风险,同时,也有利于发现潜在的不明确内容,为项目总体设计提供可靠依据。
(2)便于分配任务和明确责任。项目工作分解把项目划分成多个独立性较强的任务单元,明确区分各任务的目标、范围和界限,对每个工作任务提出具体要求,便于在执行项目时,落实责任者或完成单位。既可以作为委托工作或下达任务的依据,也便于观察、了解和控制整个项目过程。
1.2 项目工作分解结构的依据、原则和方法
项目工作分解结构的主要依据是前期取得的项目主要资料和其它相关项目的借鉴性文件,包括项目需求文件、任务(合同)范围说明、本项目的其它资料、其它项目的相关资料等。
工作分解结构的原则是:在各层次上保持项目内容的完整性,不能遗漏任务必要的组成部分;每个项目单元只能从属于某一个上层单元,不能同时交叉从属于两个上层单元;相同层次的项目单元应有相同的性质,各项目单元应有明确的任务界限,保持各项目单元的独立性;项目分解的原则应事先确定,同一层次上分解出的项目单元,其分解的原则应该是一致的。
工作分解的方法有自上而下和自下而上等方法。自上而下法是先明确项目最终产品,然后确定中间可交付成果,再对主要可交付成果细分,直至每一个工作只包含一个可交付成果;自下而上法是首先明确项目的所有可交付成果,然后将可交付成果进行逻辑分组,接着将每组汇总成一个母元素,成为上一层次的元素,再将高一层次的元素进行分组、汇总,以此类推,最终汇成一个母元素。
1.3 项目工作分解结构一般步骤
工作分解首先应识别项目的主要要素,项目的主要要素就是项目的主要交付物,然后对识别出的主要要素作进一步细化,分解出更详细的有形的、可检验的产品或服务,在此基础上,选择自上而下或自下而上的方法编制工作分解结构图(也可以使用单位标准模板或以前项目的模板),编制完工作分解结构图后,应编制详细的结构图说明,说明的内容包括各要素的界定、说明、估算经费、时间、预安排的责任部门、人员等。
1.4 项目工作分解结构输出
项目工作分解的输出结果包括项目结构图和相关说明。项目分解结构图(WBS)是通过分解技术,将项目任务按照其内在性质和结构逐层细化而形成的示意图。它涵盖为完成项目交付物需进行的所有项目工作,为项目责任分配和任务协调提供依据。项目结构说明包括各层要素的详细描述、工作说明、负责组织、进度日期、成本预算等。
2 项目活动确认及排序
完成项目工作分解后,应对所确定的可交付成果的具体活动进行分析确认和排序,为编制项目计划打基础。
2.1 项目活动确认
依据项目工作分解结构的成果、其它关于项目范围的说明性文件、项目约束条件、项目的假设前提、管理计划和单位的历史信息等[3]确认项目活动。对于一些小项目,可通过大家集体研究讨论,集思广益的方法,形成可行的活动清单并估算所需时间,对于较大、较复杂的项目,则需要由相应领域专家研讨或使用一定的工具和方法来确认项目活动,这些方法包括:进一步使用活动分解技术、采用已有模板法、领域专家判断法等。项目活动确认后,形成的结果包括:涵盖项目所有必要活动的项目活动清单、描述项目过程中基本关键点的项目里程碑图等,此外,还应适时更新项目工作分解结构图和项目总体管理计划。
2.2 项目活动排序
确认了项目活动,要识别各项活动的相互关系,项目活动之间的关系也称为项目活动之间的先后信赖关系,包括人们无法改变的硬逻辑关系和需由各种因素综合确定的软逻辑关系,在项目活动排序时,要根据项目活动清单、项目里程碑和一些约束条件,先识别并安排硬逻辑关系,再安排软逻辑关系,同时要考虑项目假设条件和外部条件的影响。项目排序图的编制方法可以采用节点图法或箭线图法。项目排序的最终结果,是描述项目各项活动相互关系的项目网络图及其活动说明,项目网络图应包括项目的主要活动和情况,并明确各活动之间的逻辑关系或依赖关系,在网络图的说明中,应描述活动排序的基本方法,对于特殊的排序应进行说明。
2.3 项目时间估算
项目时间估算是指根据项目范围、资源及相关信息,对项目已标识的各活动持续时间所进行的估计。大多数项目活动时间的长短,取决于人力、物力、财力及资源的多少,同时还受人的能力、物资质量和设备效率的影响。对项目活动时间进行估算时,即要考虑各活动所消耗的实际工作时间,也要考虑活动的延迟时间。因此,一般由熟悉项目活动或有经验的人员或团队,采用专家判断法、类比估算法或模拟估算法完成。
3 项目进度计划编制
编制项目进度计划,是综合分析项目活动排序、持续时间、资源需求和进度约束,确定每一个项目活动及整个项目起始和完成日期,建立一个相对科学可行的项目进度计划的过程。编制项目进度计划是一个迭代过程,需要运用科学的计划方法,将时间、经费、人员、设备及各种资源作统筹安排,还要与其它相关项目协调一致。
3.1 编制依据
编制项目进度计划的依据包括:项目活动排序后得到的项目网络图、项目活动估算得到的时间值、现有的和能取得的资源、项目时限和重要里程碑、项目约束条件以及其它风险和假设前提。
3.2 编制方法
根据不同项目的具体情况采用不同的方法,本文重点介绍编制项目进度计划的3种方法。
(1)甘特图法。甘特图又称横道图或条形图,它是通过赋予时间以含义的横道图形式,列出项目活动工期及其相应的开始和结束时间,以反映项目进度信息的一种可视化计划方法。甘特图左侧列出项目活动和工期,顶部列出时间,横道长短代表活动持续时间长短。甘特图的优点是简单、明了、直观、易于绘制,缺点是不能系统地将项目各项活动之间的逻辑关系表示出来,也不能进行定量分析和计算,更不能指出影响项目的关键所在。
(2)关键路线法。关键路线法也是通过横道图以日历形式列出项目活动、工期、相应的开始结束时间来进行规划。它与甘特图的不同之处在于,它运用特定的、有顺序的网络逻辑方法来预测总体项目历时,是一种数字分析技术。关键路线法的重要功能是确定项目的关键工作和关键路线,关键路线的确定是将项目网络图中每一条路径上的所有项目活动的历时分别相加,最长的那条路径就是关键路线。
(3)计划评审技术。计划评审技术是指当项目或项目某些活动历时估算存在不确定性时,运用加权平均历时估算法,来估算项目历时的网络分析技术。这种技术适用于不可预知因素较多,或从未做过的新项目或复杂项目。计划评审技术网络图的画法与一般网络图画法相同,不同之处在于对项目活动时间的估计和分析[4]。
3.3 编制结果
编制项目进度计划的主要成果用表格或图表形式呈现,项目各项活动都标明了各种日期参数的项目进度计划文档。此外,还应包括进度管理计划,用以明确项目进度计划发生变化时的处理原则。
4 项目进度控制
项目进度控制是进度管理的重要内容和过程,是前期一系列进度计划工作的延伸,是进度管理中与实施并行的实践性关键阶段。
4.1 进度控制依据
项目进度计划是经过论证和批准的,在技术和资源上具有可行性,所以是项目进度控制的主要依据。通过项目跟踪监测和沟通形成的有关项目进度的绩效报告、根据项目进展情况提出的变更请求、编制进度计划时形成的进度管理计划,也都是进行项目进度控制的依据。
4.2 进度控制主要工作
控制项目进度的主要工作是:依据作为项目进度基准的项目进度计划,通过跟踪监测和沟通,采用一定的工具和方法进行分析比较,确定项目进度是否发生了变化,如果发生了变化,找出变化的原因,对影响变化的因素进行控制或制定项目进度的补充计划,从而确保进度变化朝着有利于项目目标实现的方向发展[5]。控制项目进度还可以借助项目管理软件来实现。
4.3 进度控制结果
进度控制的结果有两种,第一种是项目所有进展均按计划顺利进行的理想情况;第二种是发生一些偏差,并制定一系列纠偏措施,之后更新项目进度计划。两种情况均应记录项目控制的经验或教训[6]。
参考文献
[1]关保昌,沈建明.现代国防项目管理[M].北京:军事科学出版社,2011.
[2]祝振铎,董雄报.信息系统项目工作分解结构(WBS)研究[J].硅谷,2011(15):78-78.
[3]方德坚,张杨华.也谈软件项目进度管理[J].赤峰学院学报:自然科学版,2011(5):15-16.
[4]王芙蓉.软件项目进度计划与风险控制研究[D].大连:大连海事大学,2009.
[5]徐飞汀.软件项目进度计划管理研究[D].北京:北京邮电大学,2010.
软件项目管理规范研究 篇11
本文主要阐述了用AutoCAD软件进行规范性绘图的相关过程,介绍了快速绘图的15种相关的细节或操作方法,为学习者提供有益的帮助或启发。
关键词:AutoCAD规范绘图快速绘图技巧
由美国Autdesk公司研制开发的计算机绘图软件AutoCAD,由于它功能强大、内容很多和实用,因此得到工程界的广泛应用。它的版本不断更新,到目前为止已有AutoCAD2011,从AutoCAD2000到AutoCAD2011对于一般的用户来讲,一些常用的命令功能是相同的,对于初学者来讲,最感兴趣的,我想是如何规范顺利地绘图和如何熟练应用一些技巧来快速绘图。本文结合自己在培训学生参加CAD制图竞赛过程中的积累,利用CAD软件就规范绘图与快速绘图技巧浅谈个人的体会、经验,与使用者共同探讨,为提高绘图者的绘图动手能力起到应有的作用。
一、关于规范绘图
利用CAD软件绘图时,通常在模型空间进行,它相当于一张无穷大的图纸,在这张“图纸”上绘图,本人认为应从以下四个方面进行规范。
1.设置图层。
图样中的图是由不同的线型、颜色组成的,国标对线型规定了粗实线、细实线、细点画线等,用铅笔进行绘图时,需要经常用小刀削铅芯,使所画线能粗、细分明,而CAD中设置多个图层的目的就相当于在绘图前准备了不同粗细、不同颜色和不同线型等的画笔。
规范地设置图层,我认为应进行如下设置:
1)在层名中不要使用默认的层名,
如图层1、图层2等,而应输入你能识别图线的名称,如粗实线、虚线,如图
1所示,从而明确当前图层的线型。图1
2)新建图层时,应在“图层特性管理器”中同时设置名称、颜色、线型和线宽。设置线宽时,不同线型图线的粗、细之比为2:1,一般画图时,可将粗线线宽设置为0.6,则细线线宽为0.3。
3)在“对象特性”工具栏中对颜色、线型和线宽通常设置为随层(Bylayer),如图2所示,否则不利于图线的修改、调用。
当在屏幕中所画虚线或细点画线显示为连续线时,应调整线型比例,操作过程:单击菜单栏“格式”,在下拉式菜单中单击“线型”,弹出“线型管理器”对话框,打开“隐藏细节(D)”,在“全局比例因子(G)”中输入适当的数字即可。
2.调用图层。
在绘图过程中注意图线的变化,必须养成“看图线一调用图层一画图线”的画图习惯,根据不同的线型,及时调换不同的图层并设置为当前层。只知道画线,不知道线型变化,最后将要花一定的时间来修改线型,如果在图2中所设置的不是随层,修改将更加困难。
建议一般不要使用系统默认的零层。
3.设置绘图区域。
平时绘图时,根据你所选用的图纸,绘图区域是现成的,但在CAD模型空间中,它所提供的“图纸”是无穷大的,怎样在画图时使CAD中的图形大小与实际图纸幅面相匹配呢?这就需要根据实际图纸幅面的尺寸在模型空间中设置一个区域,使绘图者明确在这一区域中画图,就相当于用相应幅面的图纸画图,使所画图相对于实际图纸幅面不是太小或太大,太大就无法在相应幅面的图纸上按比例1:1打印完整。具体设置区域可利用矩形命令和输入相对直角坐标(@x,y)绘制一个矩形线框。
4.尺寸按比例1:1绘图。
图形的大小可根据比例进行缩放,但所标注的尺寸都是设计尺寸。在按图中尺寸画图时,如果结合不同比例绘图,则每条线的长短都要进行计算,有时还会算错,而使用比例1:1按图中尺寸绘图就显得方便多了。由于CAD系统中专门设置了缩放图形大小的命令,因此将所有图形先按比例1:1绘制就成为可能,然后利用缩放命令按题中的比例整体缩放图形,这样作图就比较规范。当按比例1:1绘图时,如果在所设置的绘图区域中放不下,则可先在区域外画好,缩小后再用移动命令将图形移到区域内,用移动命令可方便地调整各图形的相对位置。
二、关于快速绘图技巧
提高绘图速度对于每一位绘图者来讲都是感兴趣的,尤其是对于竞赛者来讲更为重要和迫切,除了正交、捕捉等自动绘图功能和上面介绍的按比例1:1绘图技巧外,结合本人在实际操作中的经验,将有关技巧介绍如下。
1.具有较强的读图能力。
要提高绘图速度,首先必须减少看图的时间。如果在看图时花了大量时间或找不到所画线段的尺寸,则绘图速度自然慢,因此,必须认真学好《机械制图》,我想读图速度是最大的技巧。
2.结合CAD软件特点,优化绘图思路,超常规进行绘图。
在看懂图形、熟悉绘图及修改命令的基础上,要进一步分析图形的特点,形成最佳的绘图思路。如果图形具有对称性,则可先画一半,然后利用对称命令完成另一半;如果几个相同结构是均匀分布的,则可先画出一个结构,然后利用阵列命令进行复制;对某一命令进行设置后,对相同结构统一操作,产生一定的绘图节奏,在倒角、倒圆、修剪和标注尺寸等命令中,尤其要注意这一操作方法。如图3所示的四个尺寸相同的倒角,设置倒角尺寸、修剪方式后,可连续四次启动倒角命令进行倒角。
3.左右手配合操作。
左、右手配合操作时,绘图速度自然比单手操作
快,这在平时练习中一定要养成这种操作习惯。通常
用右手进行鼠标操作,左手进行键盘操作。建议回车时不要用鼠标右键,应该用左手在键盘上直接回车,这样可减少一次操作时间。
4.充分利用键盘回车键(Enter)功能
回车键的主要功能是结束命令和重新启动前一命令。启动前一命令时,用鼠标操作和按回车键请读者操作一下,你会体会到按回车键启动命令要快。另外,启动修剪命令后,直接回车,单击需修剪的对象即可完成修剪,大大提高操作速度。
5.利用鼠标中间键,实现实时平移命令
当需要将图形整体在屏幕中移动时,通常肩动实时平移命令。如果鼠标有中间键,则按下中间键,光标立即变成手形,同时移动鼠标,即可将图形整体移动。
6.利用窗口缩放命令或转动鼠标中间键在视觉上放大图形
在画图过程中,当图形显示太小时,为了准确、清晰地画图,通常要用实时缩放命令来放大图形,由于它放大过程是逐渐进行的,因此在速度上较慢,而利用窗口缩放命令,则能在瞬间将绘图的局部放大到位。转动鼠标中间键即能缩放图形,与实时缩放命令相比,少一个启动命令的操作步骤。
7.灵活使用夹点操作
利用夹点操作可实现拉伸、平移、旋转、缩放(比例)和镜像五种功能,当光标选中夹点后,通过左手按回车键可快速实现相应命令的功能,比用光标移动单击图标命令快捷。拉伸直线的长、短能一
步到位,不需要其它命令的配合,从而节省绘图时间。
8.对象捕捉与对象追踪命令的联合使用
对象追踪命令能通过对象上的某一点产生一条辅助线,有利于我们绘图。同时打开对象捕捉和对象追踪命令能精确地找到对象上的一点,并能通过该点产生一条在极轴设置中设定角度的辅助线,沿着辅助线确定下一点,此时这点与对象上一点之间无线段,可节省修剪线段的时间。如果将正交命令打开,则可方便地实现视图之间的“长对正、高平齐”。
9.巧用图层相关功能
图层工具栏中有开/关、冻结/解冻、锁定/解锁、能改变选定对象的层名及内容等功能。要将某层从屏幕上消失,可选中“关”,使灯泡暗。如要在圆形中域剖面线时,可将中心线图层关闭,此时只要在圆形中单击一次,即可完成整个圆形中的剖面线,否则要分别单击四次。在CAD中画图时,如果需要利用对称线偏移得到多条平行线,而平行线为粗实线时,则将对称线画成粗实线,图形画好后,选中对称线,在图层工具栏中将粗实线(对称线)改为中心线(细点画线),此时对称线的线型都成为细点画线。
10.画直线利用正交或极轴命令减少坐标键盘的输入次数
在启动直线命令后,画一条直线通常要输入两个端点的坐标,但在图样中通常给你的是线段的长度尺寸和相应的角度,要把有关尺寸转换为(相对或绝对)直角坐标或极坐标,有时会出错,而且一个坐标要在键盘上敲击几次。能否减少敲击键盘的次数呢?有。
如果要画水平或垂直的线段,可按如下步骤操作:
1)打开正交命令:
2)启动直线命令,利用点的输入方法确定第一点;
3)将光标移动到线段的前进方向上:
4)通过键盘输入线段的长度尺寸数值;
5)回车,即可将线段画出。
如果要画某一角度的线段,可按如下步骤操作:
1)打开极轴命令,光标移到状态栏“极轴”上右击,在快捷菜单中单击“设置”,弹出“草图设置”对话框,在“增量角(1)”中输入某一角度值,单击“确定”:
2)启动直线命令,利用点的输入方,法确定第一点:
3)当光标移动到某一角度时,会出现一条辅助虚线,沿着虚线将光标移动到线段的前进方向上;
4)通过键盘输入线段的长度尺寸数值:
5)回车,即可将有一定角度的线段画出。
11.倾斜结构的画法
图形中如果有倾斜结构,则最好先按水平或垂直位置画图,在这种位置画图,打开正交命令后,画水平或垂直直线比较顺手,等图形画好后,再利用旋转命令将图形旋转指定的角度。
12.螺纹剖视图的画法
螺纹图中有牙顶、牙底两条线,通常在这两条线画好后,我们再画剖面线,但在CAD画图时,最好应先画剖面线,后画牙底线。
13.斜度和锥度的画法
斜度是用直角三角形的对边与邻边的比值来表示的,通常将比值化为1:n,把邻边长(n)和对边长(1)分别当成X、Y坐标,则启动直线命令后,光标移到适当位置,单击鼠标左键,然后键入相对直角坐标(@n,1),回车,即产生1:n的斜度线。
锥度是用正圆锥的底直径与锥高的比值来表示的,通常将比值化为1:n,把锥高(n)和底半径(0,5)分别当成x、Y坐标,则启动直线命令后,光标移到适当位置,单击鼠标左键,然后键入相对直角坐标(@n,0.5)或(@2 n,1),回车,即产生1:n的锥度线。
14.利用快速引线命令标注形位公差
用快速引线命令标注形位公差时,通常分两步进行:第一步对要求进行设置,启动快速引线命令后,键入s,回车,弹出“引线设置”对话框,在“引线和箭头”选项中将点数设置为2或3,在“注释”选项中选中“公差”,单击“确定”;第二步重新启动快速引线命令,移动光标在2或3个不同位置时,单击鼠标左键2或3次,弹出“形位公差”对话框,按图样中具体形位公差要求设置对话框,单击“确定”,即完成形位公差的标注。
15.利用圆外切正六边形绘制表面粗糙度符号
以标注尺寸数字的高度为半径,用正多边形命令中的“外切于圆(c)”选项绘制正六边形,用直线、捕捉、删除命令绘制粗糙度符号,用缩放命令将粗糙度符号放1.4倍,
过程如图4所示。
软件开发项目管理信息系统研究 篇12
1 软件开发项目管理信息系统的发展现状
1.1 国外软件开发项目管理信息系统的研究现状
在国外,依托计算机应用的项目管理在上个世纪就已经出现,随着网络计划技术的不断发展以及网络分析程序的不断完善,分析软件所具备的应用功能也在不断拓展,软件开发企业为了实现软件开发项目管理信息化,越来越关注和重视开发项目管理信息系统的研究和设计。从功能层次角度来看,项目管理软件的不断发展,逐渐分离出三个功能层次,第一层次是基本功能,主要是模拟基础工作流程,实现资源共享,便于项目管理人员操作,基层功能开发在上个世纪80年代就已经完成 ;第二层次体现为两大特点,在基本功能基础上产生分析功能,并通过建立数学模型生成预测功能,再有就是借助网络应用技术,实现了在局域网上的多项目管理,打破了地域的限制,即实现了使用功能和通讯功能 ;第三层次是项目管理功能,旨在提高管理系统的兼容性,实现在线管理。随着各种技术的不断发展,软件开发的日益深入,软件开发项目管理的重要性逐渐显现出来,其在资源管理、进度控制、质量监督、项目跟踪等方面都发挥着积极的作用。
1.2 国内软件开发项目管理信息系统的应用现状
自上个世纪70年代起,国内开始关注项目管理软件的开发和研究,但一直处于初级水平,直到90年代,国内研发主体开始转变为软件企业,项目管理软件研发的专业化进程开始加快,由原来的自主研发、自己使用的小生产方式过渡到社会化大生产,软件产品的功能才得以拓展,随着集成技术的广泛应用以及运行环境的改变,也实现了资源共享。然而近年来国内软件开发企业过于依赖国外技术,项目管理软件的开发和研究出现了滞缓现象,除了技术因素制约外,市场因素也在一定程度上限制了国内项目管理软件的发展。就软件行业发展状况来看,国内软件产业虽然保持着持续增长的势头,但是软件市场并不乐观,市场繁荣的背后隐藏着巨大的危机,真正拥有自主知识产权的软件产品很少,而且主流软件产品也缺乏市场竞争力。
概括而言,现阶段国内软件开发项目管理存在的问题主要体现为以下几点 :其一,不重视项目管理,在实际工作中,管理人员主要依赖于个人的知识技能,缺乏相关理论的指导,管理工作存在很大的盲目性和随意性 ;其二,项目计划有待完善,管理人员对企业的阶段性计划和总体计划的作用缺乏认识,开发目标并不明确 ;其三,不重视项目沟通,信息的利用率不高,缺乏有效的沟通,项目组织结构混乱,项目管理阻碍重重 ;其四,变更管理有待规范,软件开发项目的质量和进度与需求变更联系密切,由于缺乏有效的软件管理机制,变更管理不规范,使得软件开发项目的质量和进度受到了很大程度的影响 ;其五,不重视风险防范,管理人员不具备分析风险的能力,风险防范意识淡薄,缺少应对风险的策略。总而言之,国内软件开发企业主要将精力放到了技术层面上,并没有建立起完善的软件开发项目管理信息系统,现阶段国内软件开发企业的当务之急就是要将软件开发项目和项目管理信息系统融合起来,加强项目管理,提高市场竞争力。
2 软件开发项目管理信息系统的总体设计方案
2.1 系统功能结构设计
项目管理依托于必要的理论知识以及技术和工具,涉及到九个知识领域和五个实施阶段,九个知识领域主要包括项目综合管理、范围管理、质量管理、进度管理、成本管理、沟通管理、人力资源管理、采购管理和风险管理,将这些领域的工作内容应用到软件项目管理中,可以分为五个实施阶段,通过对整个阶段流程运作的管理来实现项目管理预期,基于项目生命周期理论的五个实施阶段,主要分为项目启动阶段、计划阶段、执行阶段、控制阶段和结束阶段,项目开发过程也可以划分为五个实施阶段,实现流程化管理。
对九个知识领域和五个实施阶段进行需求分析,确定软件开发项目管理信息系统的总体功能结构,可以将系统细化为十一个子系统,即综合管理系统,根据项目计划,确定组织程序,实施统一管理,实现项目目标 ;计划管理系统,主要负责各种项目计划的编制、审批、查询等 ;需求管理系统,主要包括变更控制和需求跟踪两部分内容 ;费用管理系统,主要负责项目费用的规划、估算、预算和控制 ;质量管理系统,主要负责项目质量的规划、保证、控制和持续改进 ;人员管理系统,主要包括项目成员沟通管理和个人信息管理两部分内容 ;配置管理系统,主要提供产品入库、变更和配置报告方面管理的功能 ;进度管理系统,主要负责项目执行过程的跟踪、协调和控制 ;风险管理系统,主要负责风险计划制定、风险分析和风险控制的任务 ;售后服务系统,主要提供技术支持、管理规范、在线服务、客户沟通等功能 ;后台管理系统,主要提供数据导入导出、数据表维护、用户数据管理、操作日志管理等功能。
2.2 基于 B/S 结构的设计思想
随着计算机网络技术的不断发展,基于Web的网络管理模式得到了广泛的应用,任何一种Web浏览器都能够在网络节点上实现快速配置和控制,与传统工具相比优势明显,它具备可维护性、升级能力强、开发周期短、远程访问方便等特点,能够兼容多种开发语言,可以直接对数据库进行访问或直接建构客户端界面。传统基于C/S的网络构建模式虽然在在文件服务器模式性能上已经有了很大的改善,但是还存在着一定的局限性,如开发成本高、开放性和跨平台性差、资源冗余度大、生命周期短、安装和维护升级比较困难等,为了改进基于C/S结构的软件开发项目管理信息系统存在的缺点,B/S结构应用而生,并得到了广泛应用,现已成为C/S结构的代换技术。传统的C/S网络结构模式是二层结构,新发展起来的B/S模式是三层结构,即在表示层和功能层基础上又增加了数据层,不仅简化了客户机的工作,还能够在服务器上完成对数据库和应用程序的直接访问,克服了传统C/S模式的局限性,具备开发成本低、开放性和跨平台性强、生命周期长、安装和维护升级比较容易等优点,已经成为现阶段网络开发的主流技术,基于B/S结构的软件开发项目管理信息系统的应用前景十分广阔。
2.3 系统总体技术设计
软件开发项目管理信息系统的总体设计方案包括开发技术支持、数据库设计、安全性设计和运行环境设计四方面内容 :其一,开发技术支持,管理系统的开发技术应采用目前的主流技术,即B/S网络结构模式主要由浏览器、Web服务器和数据库服务器组成,该系统无需安装客户端软件,只要将服务器连接到网络上,就能够实现操作,克服了传统开发应用程序的限制,为软件开发项目提供了更具模块化的设计方式 ;其二,数据库设计,数据库信息建模以及范式分解直接关系到数据库系统的运行效能,因此在设计中应力求逻辑关系简单,简化数据库表的连接操作程序,从而增强系统的整体运行性能,数据库设计的关键在于保证数据库的完整性,主要包括三类数据库表的设计,即基本信息数据表、系统信息数据表和工作表,要保证其在实体、值域、引用以及用户定义等四个方面的完整性 ;其三,安全性设计,基于B/S结构的软件开发项目管理信息系统,具有开放性特点,为了保证系统的安全性,有必要对用户进行分层分级管理,设置加密、权限访问等功能,增强系统的安全性 ;其五,运行环境设计,选择先进的客户端和软硬件,性能良好的应用程序和数据库服务器,如硬件环境可选用小型机配置,创建良好的系统运行环境。
3 管理信息系统各子系统功能的实现
软件开发项目管理信息系统可以细化为十一个子系统,在此以需求管理子系统为例,需求管理的核心是需求分析,这是整个软件开发过程的基础,根据需求工程设计的领域,可以将需求管理子系统分解为获取、分析、规范、验证、变更五个环节,在此基础上设计相应的功能模块。鉴于数据结构设计是系统实现的基础,需求管理子系统的设计思想就是要将功能模块转化为数据结构,然后在通过计算机语言将这些功能实现,需求管理子系统数据结构设计主要包括基本信息表、项目需求表、需求状态表、分析报告表、变更表等内容。对于需求单据的状态变化,主要通过枚举定义来控制,要想获取需求,首先要填写需求单据,需求单据设计包括编码、名称、状态、内容、审核意见等流程,需求单据设计完成后,在此基础上对填写的数据单据进行需求分析和需求规范,然后执行,然后进入验证阶段,得出分析报告表,进行需求变更管理。
4 结论
【软件项目管理规范研究】推荐阅读:
标准软件项目计划书规范08-25
软件项目管理研究09-12
软件项目风险研究05-25
软件工程考核知识点-第2章-软件可行性研究与项目开发计划07-29
软件项目06-14
软件项目的项目管理12-11
中小软件项目07-14
发展软件项目管理07-08
软件项目管理活动07-26