软件项目管理教学分析

2024-10-30

软件项目管理教学分析(共12篇)

软件项目管理教学分析 篇1

统计学是研究如何收集数据、分析数据并进行推断的学科。统计学的应用必然要涉及数据的收集、整理、存贮, 以及各种统计方法的实现, 这些都要借助于统计软件的帮助才能更有效地完成。在众多的统计软件中, SAS以运行稳定、功能强大而著称。《统计分析软件》课程是笔者所在院校公共 (卫生) 事业管理四年制本科生的专业选修课程之一, 是必修的专业基础课程《军队卫生管理统计学》的辅助课程。其内容以统计软件SAS9.1.3为平台, 结合已学习的统计理论方法, 讲授数据集的建立、统计描述过程和基本统计分析过程。通过课程的学习, 巩固学生对《军队卫生管理统计学》中理论方法的理解, 提高学生在医学研究中运用统计学知识的能力, 加强对统计学知识的应用。

一、课程要求及课程安排

(一) 课程要求。

课程的总要求为:通过课程学习, 巩固和加深学生对所学理论知识的理解, 使学生能够运用SAS统计软件进行合理统计分析, 培养学生科研工作的统计学思路, 为以后的科研工作设计、数据的统计学处理打下基础, 使学生养成良好严谨的科研作风。分类要求包括三个方面:

1. 知识与技能。

要求学生能够正确安装和使用SAS软件, 熟悉软件的操作界面;能够建立SAS数据集、进行资料的整理;能够利用SAS针对不同类型的资料进行统计分析;能够正确识别SAS软件的输出结果, 并根据研究目的进行合理的解释, 做出结论。

2. 过程与方法。

按照科研活动的一般过程, 从数据收集、整理、分析到结论的给出, 将课程总体分为两个部分:基础部分和高级部分。基础部分包括:软件的安装、数据集的建立、运算符号和函数、统计描述方法;高级部分包括针对不同资料的统计分析方法介绍以及统计结论的给出。

3. 情感态度与价值观。

要求学生体会到统计软件的掌握对提高科研质量和效率的重要价值, 能自觉、认真地学习统计软件的操作, 积极参加软件实习。另外还要求学生养成科学研究中的统计思想, 良好正确严谨的科研作风。

(二) 课程安排。

根据课程要求, 我们安排了如下内容:

1. SAS系统概述。

包括系统的启动、退出, 系统的主窗口、子窗口、菜单栏和工具栏, SAS语句的基本结构、书写规则、运行及注释, 程序的修改与调试, 结构化语句 (条件语句、循环语句等) 的简介, SAS语句的保存及建立临时或永久数据集的几种方法。

2. SAS数据管理入门。

包括数据集的基本格式、数据集的建立、数据的导入和导出、数据文件的编辑与整理 (运算符和函数、数据集拷贝、变量增加和筛选、变量名称与类型的更改、数据集的记录筛选、纵向合并和横向合并等) 。

3. SAS过程步骤。

包括数据集操作 (PRINT、FORMAT、SORT和TRANSPOSE) 、数据的统计描述 (MEANS、SUMMA-RY、UNIVARITE、GCHART和GPLOT过程) 、参数性检验 (用MEANS、TTEST过程做t检验;ANOVA、GLM过程做方差分析、协方差分析等) 、非参数性检验 (RANK和NPARl WAY等过程) 、相关、回归 (CORR、REG过程) 、Logistic回归分析 (LOGISTIC过程) 和生存分析 (LIFETEST和PHREG过程) 。[1,2,3]

二、课程进度安排与教学保障

(一) 课程进度安排。

《统计分析软件》教学中应注重培养学生利用医学统计学方法解决实际问题的能力。授课以上机实验为主, 理论讲授为辅。在回顾医学统计学理论方法的基础上, 结合医学研究可能遇到的实际问题, 以医学实例为背景介绍常用统计学软件的使用, 提高医学生解决实际问题的能力和效率, 加强医学研究的科学性。本课程安排30学时 (见表1) , 软件演示与上机操作相结合, 突出应用, 通过具体的实例练习, 掌握常用基本统计分析方法SAS软件的处理过程和结果解释。

(二) 教学方式与教学保障。

建议在学生学完《计算机基础》后学习本课程, 并且采用理论课与上机实验交替进行的模式。本教研室为SAS9.1.3的合法用户, 保证了学生上课的软件需求, 利用教研室开发的统计教学网站 (http://stat.smmu.edu.cn/) 对学生进行答疑、讨论和辅导。课程选用的教材为人民卫生出版社出版贺佳、陆健主编的《SAS9.1统计软件应用教程 (第2版) 》。教材中每种统计方法的介绍都以医学科研中的实例为例, 提出需要解决的问题, 然后按照程序、程序说明、结果和结果说明四个部分进行描述, 重点突出对统计学教材上所设计的统计量的解释, 帮助学生正确选取有价值的信息, 推导出正确的结论。[1]

三、课程考核评价

(一) 授课质量评价。

采用教-学互评方式, 课程进行中, 采用专家督导、同行评课等方式对授课教员进行抽样评估, 填写“软件教学教员授课质量评价表”;结束前, 随机抽取部分学员对所有任课教员和课程的整体实施情况进行评估, 填写“软件教学授课满意度调查表”。

(二) 学生学业成绩测评。

采取综合性考评方式:出勤到课10%、课堂练习20%、期末考试70%。期末考核方式采取开卷机考方式, 时间2小时, 主要考查学员区分资料类型, 利用统计软件处理实际问题的能力。

四、对策建议

SAS软件教学有利于提高教学效率和效果, 培养学生动手能力和解决实际问题的能力。但要取得良好的教学效果, 需要注意几个问题:一是在学生掌握理论知识的基础上再进行软件教学。教学的重点在于教会学生正确认识资料类型, 自主选择软件过程, 并且能对所得到的结果进行解释。没有理论知识, 软件教学只会空洞片面, 学生也会知其然不知其所以然。二是激发学生的学习积极性和主动性。软件实验课, 学生面对电脑注意力容易分散, 为保证实验课的顺利进行, 教师需向学生介绍SAS软件实验课的重要性、必要性和难度, 使学生在上机实习前有足够的思想准备, 激发学生的学习自主性和积极性。三是保证学生的上机操作时间。学生需要亲身实践, 才能学会利用SAS软件解决问题, 由于有关SAS软件使用方法的教材和参考书较少, SAS软件本身又是英文版, 因此需要教师在课堂上留出充分的时间让学生自己练习, 并能够随时给学生提供帮助。四是提高教师自身的素质。SAS软件应用于医学统计学的实验课教学要求教师既要有较高的学术水平, 又要有较强的实践经验和较高的教学组织能力。这就要求教师要全面、系统地掌握医学统计学的概念、方法、原理, 熟悉SAS软件的特点、操作方法和技巧。因此, 引入SAS软件作为医学统计学的实验课教学, 需要教师不断加强学习, 更新知识, 改变传统的教学思想和教学方法。[4]

参考文献

[1].贺佳, 陆健.SAS9.1统计软件应用教程 (第2版) [M].北京:人民卫生出版社, 2010

[2].薛富波, 张文彤, 田晓燕.SAS8.2统计应用教程, 兵器工业出版社[M].北京:北京希望电子出版社, 2004

[3].张玉华, 潘燕, 李桥.医学研究生SAS统计分析软件教学的探索与实践[J].中国卫生统计, 2006, 23 (5) :466~467

[4].岳朝龙.SAS系统辅助教学的实践与体会[J].统计教育, 2000, 1:44~45

软件项目管理教学分析 篇2

软件项目和基建项目管理的比较分析

项目是项目管理的对象,从某种意义上说,正是项目决定着项目管理的.各个方面.不同行业的项目管理的内容是不同的,但是他们也有相通之处.本文从项目和项目管理的角度,通过分析基建项目和软件项目管理的不同,使软件项目这个新兴产业在立足自身行业的基础上,能够借鉴基建项目管理,少走弯路.

作 者:李红玉 刘书家 Li Hongyu Liu Shujia  作者单位:北京工商大学计算机学院,北京,100037 刊 名:项目管理技术  ISTIC英文刊名:PROJECT MANAGEMENT TECHNOLOGY 年,卷(期):2004 “”(2) 分类号:F0 关键词:软件   基建   项目   项目管理  

软件项目管理教学分析 篇3

[关键词]软件项目;设计管理;流程

[中图分类号]TP31 [文献标识码]A [文章编号]1672-5158(2013)06-0076-01

1 何为流程及在软件项目管理中的作用

1.1 软件开发的目的

在进行软件项目开发活动中,要实现很多目标,比如关于项目的范围、成本、时间以及质量等,项目协调也是要完成的目标。项目协调可以满足项目参与者和利益相关者的要求,伴随软件规模和它所涉及领域的扩展,软件项目管理变得越来越复杂,大大的增加了管理难度,造成这结果的主要因素是不能管理其过程如果管理项目在无纪律混乱的情况下,那么项目组织就很难总结出好的管理方法和工具,就更不用说从中获益了。管理严谨的好处不仅能够就检查和改进在阶段内出现的偏差,还可以及时的终止项目。甚至还可以避免人才的来去带来的负面影响。如果想要有效的对过程进行控制,就不得不对项目管理流程更加明确。

1.2 软件项目的构成

一系列活动有机构成流程。而个人与团体构成基本活动,基本活动的构成不需要来自其他活动的转换。流程的每个活动间都有着自己的独有的流向,在流程过程中包含着明显的开始与结束,所以这是一个非静止的概念。从结构方面可以看出,流程由四个基本因素构成:活动及活动的逻辑关系、承担着、实现办法。流程管理所包含的不但有管理技术,还有现代管理的理想,以前的职能管理凭借的是控制、塔式组织。但随着时间的推移其已经不能适应市场竞争和当今企业的发展需要,以分工理论为主的管理理论已经使用了几百年,目前又返回到系统和整合上面。

1.3 软件项目生命周期的一系列的开发过程是各种各样的流程活动

软件项目是由各种各样活动流程活动组成的,具体包括如下,软件项目的计划编制、系统分析、概要设计、详细设计、程序编码、测试与维护等活动过程都属于流程活动:制定软件项目管理流程,当我们在制度项目管理流程过程中,要着重考虑一下几点:(1)流程的制定可以将项目逐步引至成功,(2)流程的制定可以适应软件的开发,(3)流程的制定对项目开发可以起到指导作用,(4)流程制定是使用流程图表示的,可以让每个参与者都能够清楚的明白管理过程与开发过程之间的关系,(5)流程过程中的参评要有明确的定义、标准和方法。

2 软件项目管理大体过程设计

2.1 软件项目管理的构成

软件项目管理过程大体可以分为以下几部分:项目构思、项目立项、签订合同和执行合同。可以使用P1、P2、P3、P4、P5代替。同时也可以划分为五个里程碑,分别是:完成立项、签订合同、定义功用、产品开发、投入市场,可以用TM1、Tm2、Tm3、TM4、TM5代替。

2.2 软件项目管理的流程分析

项目管理的大体流程分析,项目搜寻是项目开始的前提,其阶段主要任务包括收集市场信息、客户需求、以及潜在的需求。项目立项阶段就是可行性的研究阶段,就是讨论成本与效益的可行性。项目售前阶段是项目立项与签订项目合同的这段时间,主要任务包括以下几个方面:做好与客户介绍交了的计划、对产品的销售对象要有一个比较全面的了解以及客户对项目感兴趣的原因和对产品的要求。合同生成阶段要做的是对项目方案的比较与相关的政策法规的认识,以及对合同的评估以及签订合同。合同执行阶段是项目管理流程的重要环节,主要包括软件的开发、测试、验收、系统的维护等过程。

3 软件项目失败的原因和软件项目管理方法的探究

3.1 软件项目失败的原因

我们可以从目前国内外的软件行业企业可以看出,“软件危机”的影响仍持续着软件行业。软件项目的实施情况也总是很难令人满意。经过研究发现,软件项目之所以会失败的原因主要有以下两方面:一是应用项目发展难以控制;二是项目管理者对项目管理工作的认识掌握还不成熟。实践证明,缺乏有效的项目管理是致使软件项目失控的直接原因。

3.2 制定项目的任务

软件项目计划的主要作用是用来协调其他计划的,协调的目的是为了指导控制和执行可操作文件。它这是对客户需要的理解表现,是开展项目活动的开始,也是开展其他工作的依据,项目计划由全局计划和下属计划构成。在下属计划制定时,项目经理必须遵循的原则是:谁负责那一部分工作,那部分的计划就有谁来制定,项目经理只需审批就行。

3.3 开发过程的制定

软件开发之所以存在较大风险,最主要原因是软件过程能力低,这是因为管理软件过程十分困难,为此就非常有必要在软件过程的控制和管理方面加强。不同的软件项目有着不同的过程,虽然项目计划与执行是互相交叉的,其主要部分是相似的,但是不同的项目的每个过程它所包含的具体活动是差之毫厘谬以千里,而且由于不同的制定者所使用的开发技术和技术路线的不同,所导致的侧重点就不可能相同了。项目经理在计划制定前就必须根据开发软件的实际情况,建立一个稳定性好、可控的软件开发模型。

3.4 加强过程控制

软件项目的开发和实施总是处于动态之中,这种动态是持久的、永恒无止境的,世上不存在静止的软件项目。需求、技术、系统结构、代码都会发生变化,就算是连环计都会发生变化,项目经理在做好了计划和准备后,最重要的任务就转换到过程的控制上来了。过程管理和变更控制是过程控制的主要部分。配置管理是一个软件项目能否顺利执行的前提。在软件开发过程中比如会出现很多的附加产品,比如代码、一系列文档、数据等等,这些产品是有用的。而且随着软件项目的改变这些产品都会发生变法生产出不同的版本,试想一下,如果配置管理失效,项目工作人员势必会深陷配置项的“泥潭”。很明显我们应该加强项目过程的任何部分细节。

4 结束语

在本文设计的软件项目管理总体流程及相关技术,目前已经十分成熟了,在软件项目的研发和管理中已经大量的采用了。流程管理在软件项目管理中的使用,降低了软件项目管理的复杂性,增加了软件项目的成功率。事实也证明,根据企业和项目的实际情况,制定软件项目的实施步骤,确定产品的用处,指明各阶段的开始条件和终止条件,进行有效的流程控制与管理,这样将会极大的提高了软件开发的效率和降低项目的失败率。

参考文献

[1]罗铁清,王如龙,软件项目管理的研究及在项目开发中的应用,项目管理技术2005,3:66-70

[2]刘宽宏,殷人尾,基于GMMI的过程和产品质量保证模型,计算机工程,2004,30(15):75-77

[5](美)凯西,施瓦尔贝,IT项目管理,王金玉,时郴译,北京:机械工业出版社,2002

软件项目管理分析 篇4

国外软件行业发展较早, 尤其美国和印度, 他们在软件项目管理上也相对成熟。在软件产品项目的分析开发实施过程中有着明确详细的管理规定和流程。在我国IT行业起步较晚, 但发展迅速。2010年6月工业和信息化部部长李毅在第十四届“中国国际软件博览会”上透露, 我国软件服务近10年实现快速增长, 年均增长超过36%。虽然近年来我国软件行业发展迅猛, 但是项目管理在本行业的应用还很不成熟, 一般的、常规的管理方式已很难适应, 这是软件开发项目管理中面临的最大挑战。同时由于软件行业的竞争加剧、客户时效性的要求以及一些小公司作坊式的经营模式, 使得软件管理往往被忽略或者不被重视。

项目的管理包括:范围管理、团队管理、成本管理、质量管理、风险管理、综合管理、沟通管理、进度管理和采购管理。影响项目成败的因素也很多, 失败因素主要有:要求不完全, 要求和规格的变化, 参与不足, 计划不足, 资源不足, 不再需要该项目, 不合实际的期待, 缺少IT管理, 高层支持不够, 技术文盲等。成功因素:使用者参与, 较小的里程碑, 管理层的支持, 有能力的员工, 清晰的要求说明, 所有权, 良好的计划, 明确的眼光和目标, 切合实际的期待值, 勤奋专注的员工。

以上因素都应该在项目管理过程中考虑到。然而实际上很多项目管理人员并没有掌握项目管理的知识, 完全依靠个人现有知识技能进行项目管理, 随意性和盲目性比较大。公司应该安排对员工进行软件项目管理的培训, 并切实应用到实际的软件开发过程中去。同时作为公司领导层, 首先应该高度重视软件项目管理, 并切实按照软件项目管理的要求来做事, 有问题不能一拍脑袋就做出决定。这样会对软件项目带来很大风险。

(1) 对项目管理的认识不足。一些项目经理认为按照项目管理来做项目计划, 纯粹是浪费时间和精力, 是走过场, 计划赶不上变化, 甚至项目完成后再对项目计划书进行完善。这就造成了计划与控制管理脱节, 无法有效的对进度进行控制管理。甚至由于计划不足, 在开发过程中发现某个任务无法按时完成, 导致项目延期或质量下降。其实制定计划的过程就是一个对项目逐渐了解掌握的过程, 通过认真的制定计划, 项目管理人员可以理清哪些要素是明确的重要的, 哪些是需要逐渐明确的次要的。通过项目计划的不断完善, 以达到在进度、资源和范围之间寻求一种平衡。

(2) 不合实际的期待。往往很多时候, 客户对他要求的软件系统有很高的期待, 但实际交付的时候很难达到他们的期望。其实这就暴露了软件公司在项目管理上的薄弱以及对客户沟通的不足。这就要求我们在项目展开之前就应该做好项目设计、规划、风险评估并于客户沟通提高他们对软件的认知水平。甚至有时候, 项目人员本身没有按照项目管理过程对其进行实际分析而凭想象构筑出很高的期待, 结果导致项目进行中困难重重。

(3) 沟通不畅。在项目中一些重要信息没有进行及时有效的沟通, 造成各做各事、重复劳动, 甚至造成不必要的损失。例如在制定计划、意见反馈、技术问题等方面沟通不畅, 往往造成制定的计划不符合项目成员的实际情况, 相关人员没有及时按照反馈意见做事, 重复劳动等问题。

(4) 应对风险的策略不成熟。项目人员没有充分分析项目开发过程中可能遇到的风险, 对付风险的策略比较简单。对风险管理的重要性认识不足, 不能提前预知规避风险, 造成遇到风险时捉襟见肘甚至导致项目延期或失败。

除此之外我们还需要把握软件项目管理的7大原则:

(1) 平衡原则。

在我们讨论项目为什么失败时可以列出很多原因, 如管理问题、技术问题、人员问题等等, 但实际上人们经常没有认识到最根本的问题, 那就是:需求、资源、工期、质量之间的平衡关系问题。

(2) 高效原则。

现在市场竞争越来越激烈, “产品早上市一天, 就早挣一天钱”, 软件开发越来越追求效率。基于高效的原则, 软件项目就需要考虑:选择精英成员;目标明确, 范围清楚;及时、充分的沟通;重要一点, 激励员工调动其积极性。

(3) 分解原则。

“化繁为简, 各个击破”。我们可以考虑将大项目划分成几个小项目, 将长周期项目分阶段完成。

(4) 实时控制原则。

实时控制能够让项目经理及时发现问题、解决问题。

(5) 分类管理原则。

根据项目的特点制定不同的管理方针政策。

(6) 简单有效原则。

项目经理应当对开发人员进行简单有效的管理。

(7) 规模控制原则。

这些原则包涵了项目组规模的控制和对大项目长期项目划分小项目不同阶段的规模控制。如果项目组规模太大就会导致沟通效率下降, 管理复杂度提高等问题。它是与高效原则、分解原则相辅相成的。

项目管理水平的提高不是一蹴而就的事情, 软件公司应该充分认识到项目管理的重要性, 它在提高专业化水平, 帮助公司规避风险, 改进公司长期生产效率等方面发挥的巨大作用, 自觉主动的进行项目的规范化管理。

摘要:软件行业不同于传统的制造业的生产过程。通常传统制造业在产品规格、工艺规程、材料规格标准化的前提下进行大批量连续制造。而软件的整个过程都是设计过程 (没有制造过程) 。单就设计本身来说, 它需要从业人员在当前技术前提下有创造性的思维, 这种管理更多的是进行指导性的管理。由于软件项目管理的这种特性, 所以在很多软件项目管理过程中很大程度上是依靠个人现有的知识技能, 管理工作的随意性和盲目性比较大。

关于项目管理软件竞品分析报告 篇5

案例1:中科普达科研项目管理软件

系统介绍

中科普达科研项目管理系统以科研项目集中监管为目的,以科研项目过程管理为核心,以项目资源管理为重点,采用软件系统为工具全面实现科研项目信息整合,达到全面管理的目的。项目资源包括项目分类、项目进度、项目参与人员与专家,项目内容,项目预算和费用,项目文档等信息。系统模块包括项目申报、项目立项、合同管理、计划进度、项目里程碑、科研成果、项目评估、项目经费和各种统计分析等,以达到方便、高效地管理和控制科研活动,满足科研行业管理与决策的需要,为科研行业管理者对科研项目成果的正确评估提供依据。

中科普达科研项目管理系统适用于国家部委科研院所、高校及企事业单位的科学研究管理机构。科研行业是一个复杂且特殊的行业,为了满足不同的科研项目管理的需要,我们在已有的功能模块基础上,采取针对客户需求分别定制开发和配置的交付方案,使得客户需求满足率达到90%以上。由于采用SOA架构和WEB2.0技术,客户的特殊需求可以在很短的时间内通过管理平台配置实现,大大缩短项目周期,提高项目的成功率和降低项目成本,减少项目风险 总体架构

应用价值

o 科研数据集中、业务规范统一,为科研信息资源整合和全面监管提供依据。

o 集成项目申报业务、项目立项业务、人员专家资料库、经费管理业务、项目实施管理和成果管理,实现项目资源上的人、财、物的全面管理和项目滚动管理的全程跟踪。o 提供动态的实施控制和资料管理,领导可以随时监管项目实施进度和成果。

o 支持多年数据集中管理,动态分析,对比分析和挖掘分析。

o 引领科研监管方式变革,协助领导和监管单位由“被动式处理”向“主动式管理”转变,实现对科研项目的多级联动式管理,保障科研项目的成功和成果转换以及资料保管。

o 保障科研项目信息安全、完整性,通过使用系统,申报资料、项目信息以数据形式保存至服务器;领导和用户可以随时进行信息查询调阅,大大提高了工作效率和保证科研信息完整性。

系统特点

系统管理平台提供的可视化配置工具,通过自定义工具来自由配置表单、流程、菜单、权限等,来满足不同科研院所的个性化业务需求。同时还能和与其他系统衔接,使整套科研系统真正能达到数据管理与流程管理的完全整合。

1、适合多种数据库,适应性广

2、整合CA和个人身份认证体系,系统安全性高

3、多种权限控制方式,全面满足不同的权限控制需求

4、提供后台管理平台,灵活度高

5、科研项目管理与预算费用管理相结合,管理角度全面

6、图形化定义审批流程,满足不同审批需求

7、申报书等文档自定义导出WORD、EXCEL格式

8、提供多角度领导查询功能,与门户和信息发布系统相结合9、提供全方位接口,扩展性强

10、提供数据自动备份功能,保障数据安全

案例2:CISS跨网通—项目管理系统

系统简介

项目管理系统,旨在依据一定的规范对项目进行全方位即时查询、监控及管理。该系统包括:项目信息及资料录入、进度录入/追踪、问题点录入、参与项目者的日报及工时录入与汇总、项目资料查询等几大部分。

·通过网络,实现项目管理电子化,操作简便,一目了然,大幅度提高工作效率。

·规范开发过程,全程自动跟踪,智能化的即时提醒(支持手机短信和E-mail提醒),随时监控项目进度。

·实现无纸化作业,对于相关文档及资料进行电子化归档,自动化管理,易于查询。

·提供项目工时管理:工时录入、项目工时汇总功能,便于成本核算。

·强大、高效的查询功能,将项目资讯有机整合,查询快速、方便,为项目执行人员及各级主管及时、准确的提供所需资讯,随时掌控项目进度。

系统图

功能特色

立项申请与审批

输入项目名称、背景、预计起始与结束时间、负责人、参与者、验收人等信息进行立项。·企业可根据自己的制度,规定立项过程是否需要审批及设定审批人。

·立项的同时可建立该项目的专属交流区,这样参与项目的人员就可以享用跨网交流的便利,做即时的沟通。

项目详情的查询

围绕进度的查询,可按进度正常、延期或尚未开始进行查询。·围绕参与者的查询,可方便查找某参与者所参与的项目。

·围绕工时的查询,如:按任务、按人员、按项目新工时等查询方式。

制定项目计划

项目负责人有权限编写项目计划,即分配任务、完成标准说明、时程安排,当多人执行一个任务时,可设定进度计算权值。可根据实际项目执行情况调整计划。

执行情况的自动跟踪 系统将根据项目计划及执行者所填写的进度,计算每个任务的进度,并进行即时提醒,负责人可针对任务的重要性设定当该任务延期时的短信、E-mail及页面提醒机制,从而做到对进度的实时跟踪。

日报与工时管理

执行者可将日报和工时填写于所执行的任务上,便于主管对项目执行具体情况的掌控、置评及了解所投入的工时,方便于成本核算。

谈工程资料管理软件解决方案分析 篇6

【关键词】资料管理平台 施工资料软件 方案规划

【中图分类号】F252.23 【文献标识码】A 【文章编号】1672-5158(2013)04-0435-01

1、前言

山东送变电为了适应电力建设发展趋势,规范工程档案资料的管理,加速工程档案资料管理工作的制度化、规范化、标准化、程序化建设,提高企业工程资料管理水平,迫切需要通过信息化手段,建立统一的工程资料管理平台,实现对公司所有项目的工程资料进行管理,增强公司对所有项目的可视性和可控性,实现工程资料实时管理。施工资料管理是项目管理、质量管理的重要组成部分,是完善施工管理和确保工程质量的一项基础工作,是工程创优、夺旗工作的重要依据。近几年随着电力建设的不断加快以及工程创优夺旗工作的深入开展,山东送变电工程资料管理水平有了一定的提高,由于项目管理水平、档案意识及业务人员方面存在的差异,造成工程资料管理工作发展的不平衡,一定程度上制约了公司的发展和经济效益的提高。山东送变电管理层提出研发一套施工企业综合项目管理信息化平台。整个信息化平台目标是建立在统一平台上的一个有机联动的项目管理,首期开发模块主要为施工资料的编制及管理。根据整个信息化业务平台资料管理模块的需求划分为三个层面,分别为公司总部及分公司层面的决策及管控需求、项目部层面的核心业务操作需求、竣工资料电子档案组卷需求。

2、项目的规划

2.1 项目的调研与开发

在对这一项目进行调研与开发时,充分遵循了“统一规划、一步实现”的原则,并在此基础之上开展施工资料管理信息系统的建设工作。项目的调研与开发主要分为两个阶段,第一阶段:施工资料管理信息系统的初期运行,在这一阶段之中,主要完成软件的培训、初始化、试运行、反馈以及整改等工作;第二阶段:施工资料管理信息系统的正常运行,在这一阶段,主要完成软件应用性能的反馈、改进意见、业务功能的拓展以及软件的完善等工作。

2.2 项目方案的设计

首先,对方案框架的设计以及数据的存储模式进行了有效的确定,主要包含了如下三个方面的内容:①以net框架对方案进行一定程度的设计,并对C/S三层架构模式进行有效的使用,以此来满足集中分布式管理的需要;②数据库的选择,在项目方案的设计中,主要选取SQLSERVER作为其数据库;③在设计时,对单机版用户的需要进行了充分考虑,设计以独立的工程文件形式进行有效的数据交互。

设计方案的特点主要表现在如下几个方面:①这一方案能够充分满足无网状态下单机用户的需求,能够对其工程资料数据的操作以及存储工作进行有效的满足;②而对于网络版用户而言,他们可以运用这一系统,直接对服务器数据进行一定程度上的应用操作,从而对数据的共享进行有效的实现;③系统方案有效实现了单机用户的工程资料数据的与服务器数据的双向交互,也就是说,对于单机用户而言,他们可以将服务器应用模板与工程数据下载到自己的电脑之上,同时也可以将单机用户的工程资料数据上传于服务器之上;④这一设计方案对工程资料数据版本的统一性问题进行了有效的实现;⑤服务器安装数据库结构,存储工程资料数据,存储工程资料的标准模板以及标准模版的版本,客户端统一安装客户端程序,通过联网与脱机设置来进行网络版应用与单机版应用的区别,客户端程序的更新统一在服务器端实现,减少IT人员的工作维护量。

3、项目的建设方案

3.1 项目业务的特点

对于电力企业项目施工资料而言,它具有专业性强、资料种类多、业务量大的特点,目前状况下,行业应用的资料管理软件大多是针对某一具体行业而进行定制开发的。这样的资料管理软件只能适应某一套具体的资料表格,一旦资料标准发生一定程度的变化,软件便难以适应其发展。同时,软件需要做出一定程度上的调整,而这样一来,就会导致历史工程的施工资料信息需要通过历史版本的软件来查询,新旧工程资料标准的变化割裂了工程历史数据的查询与分析,给用户带来了诸多的不变和工程资料数据的对比分析的损失。除此之外,因为施工企业的工作环境存在着一定的特殊性,因此在不同标准的工程资料数据交互过程之中往往会出现一定程度的错误。

3.2 业务功能的实现

业务功能的实现主要表现在如下几个方面:①系统建立了一套系统化的且具有完整性的施工资料标准版本管理,并在此基础之上实现了对于施工资料版本下每张表格的版本管理;②系统通过对EXCEL、WORD等常用编辑方式的嵌入,能够对表格数据的饿编制以及保存记性有效的实现;③系统建立了一套针对性较强且行之有效的纠错与统计计算公式;④在这一系统之中,网络版用户以及单机版用户数据可以进行有效的双向交互处理;⑤系统在全面分析用户资料数据后,将作最大程度的归并分析,因电力施工企业的特点,工程属性、电压等级的不同,涉及的表格相互有交叉,系统将按工程的特点进行资料数据的归并与划分,最大程度上满足用户编制施工资料的清晰l生与简化性。

4、结束语

软件项目过程分析 篇7

1 技术架构

技术架构可重可轻,它将直接涉及到安装运行环境,从而影响到软硬件成本,同时对项目组成员要求不同,从而影响项目进度,由于主流.Net和J2EE架构中,J2EE灵活性高,以下以J2EE平台进行架构考虑。

如果系统同时在线用户数目不大,操作方式不复杂(不会涉及远程调用,服务器集群,异步消息处理),项目规模不大(数据库结构表数目在100个以下),就一定不要使用EJB,也就是不要把Application Server引入。如情况相反,则往往需要应用系统分层实现策略。分层是实现一个健壮的复杂的现代软件系统的前提,一般的系统都必须考虑数据持续层、业务实现层、请求控制层和显示层。理清这个层次结构有助于设计阶段制定架构的实现,从而保证整个系统的结构清晰。以下是可供参考的策略。

1.1 数据持续层

当前数据库大都是关系型数据库,在面向对象设计语言下,使用O/R Mapping工具好像是很自然,如果架构中使用了Application Server,大家自然的选择是EntityBean,其容器事务管理方面确实很大优势。另外一个比较好的持续层方案是JDO和Hibernate工具,他们都支持通过POJO(Plain Old Java Object)进行O/R Mapping。他们实际上只是一组Java Class的工具类,不需Application Server支持。O/R Mapping技术在项目规模比较大的情况下,可以大大减少一个对象增删改的SQL语句数量,加快开发速度和质量,但对于小型项目却未必需要考虑,完全可以使用一个SQL执行工具完成访问数据库工作,Apache下开源项目Common里有个DbUtils就是一个好选择,所有SQL语句可以写在一个文本配置文件里,便于修改。

1.2 业务实现层

在使用Application Server时,毫无疑问使用Session Bean处理业务,同时为每个Session Bean提供一个Business Delegate是一个不错的设计,为客户端隐藏调用细节。在轻量级情况,就用普通Java Class就可以了,业务层的设计主要在于相似业务的重用,一般做法把一些可重用方法提取到基类,例如得到数据连接,执行查询SQL和没返回的SQL,关闭数据连接,可以为各种类型的数据库操作在基类提供方法,而具体业务子类只要使用这个基类方法即可。

1.3 控制层

控制层负责接受请求,校验访问权限,调用业务对象,保存结果,分发视图,如果在大项目里,建议使用Apache下的Struts框架,当要注意合理使用,有必要进行合适的扩展。但不管是否使用Struts作为控制层框架,基于MVC的实现必须有如图1这样的思路。

Business是业务实现,Action负责提取请求中数据以适应Business的接口,读取结果以合适的结构返回给客户,运用Command模式进行设计,SecurityManager负责访问控制,同时对Action池进行管理,提高性能。而控制器Controller就只要按需要从池里面取适当的Action执行其Run方法,然后Forward到某个视图,一个Jsp页面,View再把结果显示给用户。

1.4 显示层

显示层的任务是显示数据,不关心数据的取得过程,视图关心如何显示,一个布局页面,这个页面Include具体特定视图是一种好的设计。特定视图显示风格需要统一,可以提供封装特定形式的显示代码,如表格,文字环绕风格等,提供如分页等公共功能组件。

以上架构将在后续设计实现阶段不断细化,直至完成一个架构基线。

2 开发过程规范

开发过程规范或模型,例如,瀑布开发模型,快速开发模型,迭代开发模型,甚至是极限编程。项目的开发过程规范的衡量标准有一个有利于,即是否有利于项目进展,任何软件过程制品都要经过这个标准检验。如果不是有利于项目进度,如果不能帮助推动项目进度,一概不做。基于迭代的开发模型是许多现代开发模型的核心,其适应性很强,是值得推荐贯彻的过程思想。由于软件一步到位基本是不可能的,为了应付各种变化,只能步步为营,做多少算多少,知道多少需求就实现多少,同时最快地反馈给最终用户,所以上面提到选择一个灵活的架构和优秀的设计是非常重要的。以下是一个基于迭代开发思想(XP和RUP等快速开发模型都基于这样思想)的实用的软件过程建议。

2.1 项目需求

客户提供部分或者调研部分,可以详细整理,理出条条框框最重要,需求分析过程是针对特别的需求进行分析,对于一些普通的增删操作,不用做大量文档,需求分析结果要求出文档有:Key Abstract或者说叫Domain Model类图,罗列所有可能的对象和关系,由此一般可以映射到数据库设计。面向对象软件开发是以对象驱动的,所以Key Abstract类图是非常重要的。接下来的其他制品,如数据库设计,页面设计,都将依赖于他。在需求分析阶段,页面设计工作应该同步进行,页面设计结果可以作为原型(Mock Up反馈给软件客户。

2.2 项目设计

设计阶段进一步细化我们的核心类图,和数据库设计,给出复杂业务的相关流程图和文字描述。在这个阶段,架构设计必须已经提前完成,架构设计一般是取一个简单但能涉及到系统各个部位技术的业务。一般数据库系统,用户登陆管理是一个好的选择,因为用户登陆涉及数据库操作,会话管理,权限管理,从页面到数据持续都会涉及到。然后详细设计和实现这样一个业务,这个设计和实现就被当成是其他业务设计和实现的样板,是为架构基线。架构基线一般都是第一次迭代时完成的,架构基线里将会产生很多通用类库,很多抽象基础类,以提供其他业务实现使用,所以架构基线历时会比较长,而且必须经过严格测试。可以说当架构基线完成后,其他业务将可以在此基础上大大加快速度。

2.3 项目实现

实现阶段主要规范的是代码风格,文件,类,方法命名约定,同时保证没有脱离给定的架构实现。同时单元测试代码应该随着实现的完成而产生,比如在Main函数里写针对该类的方法测试代码是好的选择。

以上是迭代过程模型的一次迭代过程,一般控制一次在两周左右完成,架构基线迭代周期可以长一些,而且也不要刻意追求每次迭代的过程阶段完整性。

3 质量保证规范

质量保证规范有很多借鉴的标准,如ISO CMM,但在现实中往往只要借鉴一部分就可以了,质量保证的核心内容是配置管理和Review评审。配置管理中首先选择一个合适的版本控制服务器,CVS绝对值的推荐。然后是代码的管理,规划好目录结构是很重要的,这个工作常常被忽略,目录结构树能让人马上找到自己想要的,所有与项目有关的资料都该在这个目录下,这个目录除了源代码外还应该包括:文档,运行测试环境。特别提一下源代码目录的规范,一般是按模块分文件夹,再在子文件里按架构的层次分,比如web、Controller、model、ado、EJB等,文件夹不要用大写。

编写一个编译脚本非常重要,虽然开发工具都带编译调试功能,但编译脚本可以方便实现自动化编译,而且不依赖于开发工具。例如C的Make,java可以用ANT,不需要很多时间学习,却可以大大提高项目配置管理的质量。基于编译脚本就可以要求小组成员每天上班checkout代码,然后运行脚本,每天下班必须Commit修改的代码然后update得到最新代码再编译,项目build工程师可以在一定时间运行脚本,发布一个milestone的版本,同时给CVS打上tag,提交给测试人员。这些就是所谓Nightly Build过程,Milestone Release。Milestone版本可以直接提交给客户,让其提供最直接的反馈,以实现项目在可控可见的范围内进行。甚至可以在合同里跟客户约定milestone,跟客户的费用支付直接挂钩,这样可以大大降低风险,也可以让客户完全有信心,保证项目不会偏离客户需求。这就是持续集成,XP极限编程的精髓所在。

软件质量保证的核心应该就是Review,包括代码Review,文档Review。每个制品(文档或者代码实现)产生后,必须经过第二者或者第三者的评审,评审主要是文档是否表达足够清晰,是否符合小组习惯格式。代码实现主要是看代码实现是否符合技术架构的框架,是否重用了公共方法,代码句法是否是符合规范,注释和可读性是否符合要求。Review保证了技术框架不会因为功能越来越多而变得越来越乱,越来越偏离其既定规范,而且代码评审也常常能够发现一些很隐蔽的Bug。

4 小结

本文总结了一个J2EE项目开发过程,汇集了一个项目中会涉及到的各方面的知识,希望可以为一些新组建的项目组提供参考。项目中遇到的情形往往各有各不同,而采取的应对方法也可以不尽相同,保持项目管理的灵活机动始终是重要的。既要坚持一个稳定的项目开发制度,又不能教条地遵守种种规则。

参考文献

[1]覃征.软件项目管理[M].北京:清华大学出版社,2004.

[2]Jalote P.Software project management in practice.北京:清华大学出版社,2005.

[3]张青.软件项目工程管理[M].成都:电子科技大学出版社,2006.

[4]郭宁,周晓华.软件项目管理[M].清华大学出版社,2007.

软件项目管理教学分析 篇8

1 中小软件企业软件过程管理概述

1.1 中小软件企业特点分析

在我国软件产业中, 中小软件企业占据着较大的比例, 其主要特点是熟悉行业需求, 能够对优势业务领域加以有效把握, 执行力高, 管理快捷清晰, 组织结构简洁, 响应速度快等。但是中小软件企业也存在一定的劣势, 其具有较高的维护成本, 总收入中软件销售收入占据的比例低, 经验到制度的转化程度不高, 依赖性强, 制度约束力不高, 人员流动性高以及人力资源不足等。

1.2 软件过程概念

软件过程主要指的是软件开发人员在对软件以及相关的产品进行开发与维护时, 其形成的方法、实践、行为以及变化过程。一般在对软件过程进行管理时, 必须要确保软件产品的质量, 加强其开发与维护过程的质量, 将方法, 工具以及人员进行有机结合, 从而确保软件产品的质量, 提高管理的水平。

2 中下软件企业软件过程管理的改进方法

2.1 加强质量保证与配置管理

一个软件项目的配置项包括该项目的所有相关资料, 如安装程序、工具、代码以及文档等, 配置管理良好是保证软件一致性的重要前提。因此对配置管理进行合理计划, 并对配置管理软件进行恰当选择, 统一管理软件版本, 制定基线配置项变更控制流程, 能够确保软件开发与管理过程的合理性, 提高软件过程管理以及软件产品的质量。在改进软件过程时, 中小软件企业可以从以下几个方面进行考虑:一是在对软件进行测试时, 侧重于控制和检查软件产品的质量, 并且在保证质量的同时, 严格检查和控制软件过程。二是质量保证由专人进行, 从项目计划以及阶段成果等方面进行检测, 对质量问题进行跟踪和记录, 从而有效提高软件产品的质量, 确保产品质量的维护性以及延续性。

2.2 选择重点, 优先突破

在对软件过程进行改进时, 必须要对其重点领域进行选择, 循序渐进。由于软件过程改进是对现有的软件开发与管理过程进行改善, 这对于企业管理人员以及开发人员而言, 具有较大的难度。因此在软件过程改进过程中, 企业可以有针对性地选择改进重点, 逐渐突破, 从而确保软件改进过程的合理性以及科学性。此外, 从软件开发过程而言, 软件企业不同, 使得软件项目开发的过程也不尽相同, 在软件开发过程中, 其编码、设计以及需求等阶段受企业开发人员的综合能力、知识经验以及企业自身的技术水平的影响, 因此必须要对软件过程的相关部分进行重点选择, 有效突破。

2.3 加强自评估

中小软件企业为了保证软件过程的完整性以及规范性, 往往会对软件过程进行盲目改进, 无法对自身软件过程的阶段和水平进行全面清晰的分析, 导致实施的效果低下。因此, 中小软件企业在对自身的软件过程进行改进时, 必须要加强自评估, 有效采用某磐软件度量方法, 利用定量和定性相结合的方式, 提高软件过程状态的评价。此外, 中小软件企业可以在组织内部对岗位的人员进行不同选择, 确保全体人员能够参与到软件的评估过程中, 从而保证软件过程的合理性和准确性。

2.4 重视个体软件过程改进

开发人员作为软件企业中的主体, 其工作计划的恰当性、缺陷率、时间利用率和编码质量的高低等都会影响组织软件过程和软件质量。因此为了提高开发人员的工作效率, 确保软件过程的管理质量, 必须要重视个体软件过程的改进工作。一般个体软件过程具有完整的规程、表格以及方法, 其能够对软件开发人员的工作方式进行改进、管理和控制, 对开发人员计划、管理和度量自身的工作具有指导作用。个体软件过程改进能够对时间利用的情况进行记录, 从而有效掌握时间利用率以及工作的效率;同时能够利用管理缺陷, 有效控制软件缺陷, 并提高相关人员的工作能力。

2.5 合理利用辅助工具

一般而言, 软件过程管理及其改进在很大程度上属于管理的过程, 需要遵守一定的规则, 充分合理利辅助工具, 能够有效提高软件过程管理的水平和质量。就目前而言, 软件企业常用的软件类别包括缺陷管理工具、软件测试工具、配置管理工具以及项目管理工具等, 这些工具具有完善和强大的功能。因此企业能够从自身的实际情况出发, 对这些软件工具进行合理选择与利用, 从而提高软件过程管理的水平, 增强企业的综合竞争实力, 实现企业的可持续发展。

3 结束语

一般来说, 软件过程改进是一个循序渐进的过程, 中小软件企业必须要不断积累和丰富自身的经验, 对软件过程管理进行持续改进。同时, 中小软件企业在对软件过程进行管理和改进时, 必须要加强质量保证与配置管理, 选择重点, 优先突破, 加强自评估, 重视个体软件过程改进, 合理利用辅助工具, 从而提高软件过程管理的水平, 实现自身的可持续发展。

参考文献

[1]楚书来, 于文新.小规模软件企业软件过程管理与改进策略研究[J].黑龙江科技信息, 2012, 02:199-200.

[2]田丽从, 李铁牛, 彭宏.中小型企业软件过程改进方法研究[J].计算机应用与软件, 2011, 04:208-211.

[3]李楠.我国中小软件企业实施CMM改进软件过程的研究[J].中国城市经济, 2011, 26:129-130.

软件项目管理教学分析 篇9

依照ISO9126信息技术标准中定义:1) 软件:与计算机系统的操作有关的程序、规程、规则及任何与之有关的文档。2) 软件产品:指定支付给用户的软件实体。3) 软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。4) 软件质量特性:用以描述和评价软件产品质量的一组属性。一个软件质量可被细分成多级子特性。通过功能性、可靠性、易用性、效率、维护性、可移植性这六个特性可以判断一个软件产品是否为高质量产品。

软件质量管理, 是确定软件产品的质量目标, 制定实现这些目标的计划, 以及为了满足顾客和最终用户的需要和希望而监控和调整软件计划、软件工作产品、活动与质量目标的过程。

二、软件项目监督与软件开发周期概述

软件工程生命周期分为立项、启动、需求分析、设计、编码、测试、上线、验收、运行和维护10个阶段。

软件开发的周期分为启动、需求分析、设计、编码、测试、上线六个阶段。

目前, 对大部分企业来说, 项目立项、项目验收由信息化项目主管机构组织实施。运行和维护由系统运管部门监督实施。软件项目监督是指企业设立的对软件开发过程进行监督的项目管理人员。其职责就是对过程管理、质量管理、变更管理及文档管理过程进行监督与评价、沟通与协调, 协助用户建设一个高质量的、具有可持续生命力的软件系统。

三、过程管理

过程管理的重点是各个阶段的评审。项目监督负责组织各阶段评审工作和文档归档工作, 监督各方对评审结果签字确认。过程管理流程图如图1所示。

各阶段评审内容如表1所示。

四、质量管理

4.1需求管理。据统计, 如果在需求分析阶段发生的需求变更对项目带来的额外工作量是5的话, 那么在系统设计和编码阶段发生的需求变更对工作量增加分别是20和100, 由此可见, 需求管理是质量管理最重要的环节, 需求做好了, 项目就成功了一半。需求常见问题是需求不确定、过多或变更频繁。主要原因:一是用户方和承建方之间信息的不对称, 挖掘实际需求比较困难;二是用户方和承建方在需求调研阶段调研分析的不够全面、不够深入。对用户方来说, 一是可能表述的较模糊;二是随着项目的推进对原来模糊的需求有了新的认识提出需求变更或提出新的需求。对于承建方来说主要是因为不熟悉用户方业务照成的理解的偏差。

项目监督在需求阶段的职责就是: (1) 组织行业专家对用户业务需求进行梳理, 和不同层面、不同部门的用户充分沟通, 尽可能在需求分析阶段通过多种手段消除“需求的不确定性”; (2) 对于过多的需求, 要帮助用户方和承建方分清轻重缓急, 设定优先级; (3) 组织用户方和承建方梳理、分析需求, 有效解决需求的变更频繁问题, 对于不可避免的需求变更需进行需求变更论证并做好相关文档的版本更新管理。

4.2评审管理。评审的目的就是及时发现缺陷、提高软件开发质量、减少软件开发的时间和费用。软件开发的每个阶段在其实施结束后, 都要组织技术评审或专家确认, 通过确认后方可进行软件开发下一个阶段的实施工作;数据库逻辑结构设计应经信息标准专家评审通过, 才能组织实施;如果评审未通过, 需提交整改方案。

4.3沟通管理。根据项目进展情况组织相关人员及有关专家召开项目周例会、月度例会, 检查项目是否发生偏差, 进度是否滞后, 是否存在问题, 讨论并制定解决方案, 布置下一步工作并编写会议纪要, 进行会议通报, 作为下一步工作的指导。

五、变更管理

所有变更都必须遵循变更控制流程进行控制并提交《软件开发项目变更申请书》, 所有变更都需由项目监督组织用户和有关专家审核通过方可实施。变更后, 受到影响的活动和相关的文档都要进行相应的变更, 以保持一致性。

六、文档管理

在系统上线阶段至少需提交以下7种技术文档:《软件需求说明书》 (附:计划要点表、需求评审表) ;《系统设计说明书》 (附:系统设计评审表) ;《数据库设计说明书》 (附:数据库逻辑结构字典) ;《测试设计说明书》;《用户手册》;《项目测试总结报告》 (附:缺陷记录和跟踪表、测试结果确认表) ;《项目开发总结报告》。

软件开发过程中所产生的技术资料、产品均应以电子和纸质形式存在, 项目验收后, 由项目建设单位或信息化工作管理部门负责项目文档的归档。

结束语

“三分技术、七分管理”, 在信息系统建设中建立合理的监督机制比人才、技术更为重要的因素。软件项目监督的实施在提高软件项目的开发质量方面起到了积极的作用。今后还需加大软件项目监督力度, 使项目监督参与到整个软件工程生命周期中。另外, 加强项目监督人员项目管理理论知识的培训对于提高软件项目开发质量是很有必要的。

参考文献

[1]苏秦, 何进, 张涑.软件过程质量管理[M].北京:科学出版社, 2008.

[2]朱少民.软件质量保证和管理.北京:清华大学出版社, 2007.

[3]李金海.项目质量管理[M].天津:南开大学出版社, 2006:29-30, 59-85, 153-158.

软件项目管理教学分析 篇10

随着武器装备的信息化程度不断提高, 软件的“核心地位”和“中枢神经”作用也日益突出。统计数据显示, 现代武器装备90%以上的功能通过软件实现, 军用软件正呈现出多样化、复杂化和智能化等特点, 在提升信息能力方面扮演着越来越重要的角色, 其质量直接影响着军事指挥和武器装备作战效能的发挥。为确保军事装备能够最大限度地发挥其作战效能, 提高军用软件质量管理水平已经成为一项十分紧迫的任务。

软件测试是提高软件产品质量的有效手段, 从20世纪70年代就在软件行业得到广泛应用。目前, 软件测试已发展成为一个独立的专业学科。根据有关数据, 通过使用正确的软件测试方法, 软件产品的缺陷数至少降低80%。在微软等大型软件公司, 软件测试人员与程序员的比例为1:1, 甚至达到2:1。

为了规范军用软件测试工作, 1995年总装备部就发布了《GJB 2423军用软件测试与评估通用要求》军用标准, 2004年又更新为《GJB 141军用软件测试指南》, 明确了军用软件测试的内容、方法、程序和要求, 有效的保证了军用软件的质量。但随着军用软件开发规模不断扩大、应用范围不断增加, 对软件质量管理提出了新的挑战, 对软件测试工作提出了新的要求。

2 军用软件测试存在的主要问题

目前, 随着军用软件种类、功能和复杂性的增加, 软件测试在各开发单位越来越受到重视, 对确保军用软件质量、提高软件可靠性起到了积极的促进作用。但由于大部分开发单位的软件测试起步较晚, 测试技术落后, 专业测试人员匮乏, 测试管理不完善, 与军用软件质量管理的要求还有较大差距, 存在许多亟待解决的问题。

(1) 对软件测试的认识不充分, 简单的将软件测试等同于验收测试。软件测试是一个贯穿于整个软件开发过程的系统工程, 测试工作应在需求分析和系统设计阶段就开始展开。但部分开发单位的软件测试工作是在编码完成之后和软件产品交付运行之前进行, 主要针对成型软件产品开展验收测试, 无法及时发现软件单元和组件内部的错误, 并且发现错误返回修改的代价也相当高昂。有关数据表明, 如果在验收阶段才发现内部错误, 其修改代价是单元测试阶段发现错误的300到400倍, 并且许多错误还会因修改代价过高而被有意忽略, 从而带来更大的隐患。

(2) 软件测试管理的水平不高、随意性大, 专业管理人员紧缺。有关数据显示, 软件测试成本已占到软件开发总成本的40%以上, 并且应在软件开发的初期就进行测试设计, 剪裁测试标准, 制定测试计划, 规范测试流程, 明确测试重点, 分配测试资源。因此, 高水平的测试管理人员是决定测试工作效果的关键因素。由于目前各单位普遍缺乏专业测试管理人员, 测试工作普遍缺乏系统分析和整体设计, 测试人员往往根据自己的理解和经验来决定取消或增加测试的步骤, 并且测试管理人员也不能明确当前测试进行的状态, 给测试工作带来了极大的随意性和不确定性。

(3) 测试技术和测试手段单一, 缺少自动化测试工具。先进的测试技术和自动化的测试工具能够有效提高测试的质量和效率, 这也是确保软件质量的重要条件。受经费投入的限制, 绝大部分单位主要采用人工测试的方法, 测试效率低、覆盖率有限, 无法充分发现软件中存在的问题和错误。缺乏自动化的测试数据管理工具, 对测试过程中发现的软件缺陷缺少数据库管理手段, 不能对发现问题及时进行统计、分析和处理, 导致新旧问题混杂, 问题修改后也无法及时进行验证, 软件质量无法保证。

3 对策与分析

军用软件测试是一项跨部门、覆盖多学科、涉及多技术领域的复杂系统工程。要有效解决存在的困难和问题, 就必须根据软件项目的自身特点, 运用系统工程方法, 建立综合解决方案。

3.1 推进软件测试队伍专业化建设

要根据软件测试的专业特点, 建立以专业人员为骨干的软件测试队伍, 负责从需求分析到交付用户的全寿命周期测试组织与管理工作。要随着软件生命周期各阶段的转换, 及时调整软件测试人员组成。在需求分析阶段, 测试人员应由项目管理者、系统分析员和软件测试管理者参加, 负责对软件的需求进行审查, 确保需求的正确性;在系统设计阶段, 测试人员应由项目管理者、系统分析员、系统设计员和测试管理者参加, 对软件的体系结构、功能结构和数据结构等进行审查, 确保设计的正确性;编码阶段则由测试管理人员、程序员和测试人员组成;最后的验收阶段则全部由测试人员组成。

3.2 加强专业测试手段应用

测试手段包括测试工具和测试方法两部分, 采用先进的软件测试手段是提高军用软件测试工作质量和效益的根本途径。在测试工作中, 要根据不同的系统架构采用相应的测试工具。例如对于B/S结构应选择对客户端并发操作、网络性能和服务器端数据库压力进行测试的工具, C/S结构应选择对分布式事务的处理逻辑、系统输入边界条件等进行测试的工具。同时, 还要根据不同系统要求采用相应的测试方法。例如, 对于安全和抗毁性较高的作战软件就要加强对系统的恢复性测试、安全性测试和强度测试;对于实时性、界面友好型要求较高的仿真训练软件就要加强网络通信测试和UI界面测试。软件测试要贯穿问题定义与规划、需求分析、软件设计、程序编码、运行维护等软件生命周期全过程。通过利用专业测试工具对软件生命周期的各阶段所形成的体系结构模型、功能结构模型、业务流程模型和数据流程模型等以形式化的方法和工具进行模型检测, 尽早地发现需求和设计中的错误, 不仅可有效提高软件质量, 还可大大减少软件开发成本。

3.3 大力建设专业软件测评中心

在软件测试过程中, 测试人员自身素质和测试工具质量将直接影响软件产品质量。受单位规模和经费所限, 绝大部分军用软件研制单位无法建立专业的测试人员队伍, 也无力承担昂贵的专业测试软件。软件测评中心作为从事软件测评工作的第三方专业机构, 具有专业化程度高、工作效率高、过程管理水平高的显著优势, 可以建设高质量的测评管理体系、专业化的测评人员队伍和高水平的软硬件测试环境, 不仅可以承担各类测试任务, 还可指导协助各软件开发项目组开展测试工作。因此, 各单位可以从自身情况出发, 建设本单位的软件测评中心或专业软件测评中心开展合作, 提高软件测试工作的专业化、正规化水平, 有效评价软件产品的质量情况, 满足军用软件产品质量管理的要求。

4 结束语

在军用软件质量管理工作中, 软件测试是软件质量保证必不可少的重要手段。随着军用软件质量管理要求的不断提高, 软件测试工作也要不断改进工作方法, 提高工作标准, 才能满足未来军用软件开发的需求。

参考文献

[1]尹平, 许聚常, 张慧颖, 软件测试与软件质量评价[M], 北京:国防工业出版社, 2008.

[2]刘易斯, 维拉皮莱.软件测试与持续质量改进[M].陈绍英译.北京:人民邮电出版社, 2008.

[3]单锦辉, 姜瑛, 孙萍.软件测试研究进展[J].北京大学学报 (自然科学版) , 2005, 41 (1) :134-145.

[4]Myers G J.软件测试的艺术[M].王峰, 陈杰译.北京:机械工业出版社, 2006 (01) .

[5]Harrold M J, Testing:a roadmap[M].ICSE-Future of SETrack, 2000:61-72.

软件项目管理教学分析 篇11

关键词:计算机软件;工程管理;思考;实践

前言:现阶段,从整体层面上来说,对计算机软件工程管理的重视度不足,仍然存在较多的问题,思想观念陈旧、发展时间较短是产生这种问题的主要原因。同时,软件产品比较特殊,管理内容较多,如何进行有效的工程管理已经成为工程人员面临的主要问题。

一、软件工程概述

软件工程涉及计算机、管理学、数学等多想学科内容,在传统工程的基础上,着重改善质量、减小成本投入、优化算法,主要包含模型构建、计算、规范设计和编制、成本评估、权衡评判、成本管理等内容。软件工程管理可全程监控、持续评估,全面掌握具体情况,进而科学评估软件绩效。一方面,通过软件工程管理,可得到综合性的动态信息,有助于软件开发。另一方面,软件工程管理影响预算使用情况、开发进展、工作效率以及成品质量[1]。

二、计算机软件工程管理内容

计算机软件开发具有一定的周期性,自动化水平不高,在实际开发过程中,人是主要活动主体,对研发人员的管理是工程管理的主要内容。软件工程建设模式选定、标准以及语言选择等内容。

(一)人员管理

人员是工程管理中的活动主体,主要从事项目设计、实施和反馈等工作,要求工作人员具备较高的专业水平和协作精神。结合工作人员的个人能力以及品质,合理安排工作,实现工作人员价值最大化。另外,还应构建科学的激励体制,增强员工的认同感。

(二)组织机构管理

组织机构的设置情况直接决定着管理工作的落实情况,对于管理体制缺少合理性的团队而言,组织机构仅仅是管理人员的集合体,职责划分不明确,职能行使存在较多问题。软件工程具有较高的专业性,这对管理人员的技术水平提出了较高的要求。另外,软件的合理使用和收益获取是软件开发的根本目标,应赋予组织机构一定的营销宣传职能[2]。

(三)用户管理

用户作为软件工程的主要服务对象,他们是评判软件合理性以及管理工作有效性的主要尺度。软件工程属于一种新兴领域,近年来,取得了可喜的发展成绩。市场化加剧了行业内部竞争,逐渐形成了退出体制,为有效应对该挑战,应掌握市场需求,以市场为发展方向,开发出更加实用的软件系统,这要求软件开发企业应有效落实用户管理工作,在庞大的用户群体中深入挖掘信息,广泛搜集,及时反馈,适当改进。

三、计算机软件工程管理以及开发方法

(一)工程管理方法

1.构建完整的管理体系

在科学技术蓬勃发展的今天,软件工程作为新型学科,尚未形成完成的规范体系,而规范体系是工程管理活动的主要依据,因此,应构建完整的管理体系。在软件开发环节,注重人员管理,充分利用开发人员的才能,有效调动工作积极性,加强创新,实现协调发展。同时,还应注重管理培训,特别要加强专业知识的学习,有效结合工作实践。另外,还应编制合理的制度规范,保证有据可依,奖惩分明,确保工程管理的正常开展。

2.增强团队管理

团队是工程管理正常开展的基础保障,增强团队管理,有助于工程目标的实现[3]。首先,应加强工作人员内部的交流、合作,形成沟通意识,有效合作;其次,针对不同岗位,合理分工,依据具体的工程情况,科学分配,确保职责和任务清晰,全面落实每一个工作人员的职责,保证工程管理的正常开展;最后,最大限度地调动工作积极性,使其将全部精力均投入到软件开发和管理中,增强团队凝聚力,统一协调。

3.注重风险和进度管理

首先,结合实际开发情况,构建健全的风险管理体制,牢固树立风险意识,认真学习与风险管理相关的知识,准确辨别风险,并实施量化分析,采取有效的风险防控方法,递交合理的风险报告;其次,定期防控和辨识风险。在计算机软件工程中,全程贯穿风险管理,以便及时应对各种风险,尽量降低风险损失。规避、缓解是较为常用的风险处理手段;最后,做好进度管理,提升工程效率,有效管控开发成本。参照工程开发的实际情况,编制合理、可行的进度表,动态监测项目进展,切实保证软件开发工程的稳步开展。

4.完善工程管理方案

构建软件工程管理平台,它不仅能严格控制项目成本、开发进度等内容,还能优化人力资源分配,以免因人员变动引发项目开发延延迟或者暂停的现象,在软件研发公司和需求者之间实现双赢。

(二)开发方法

在软件工程开发中主要包含SASA法、面向对象开发法等,在实际开发过程中最为常用的就是面向对象开发法,它也是计算机领域中的研究重点,它在九十年代占据着主导地位。面向对象的定义以及应用范围完全超出了设计和开发,范围更加广阔,例如数据可系统、CAD等,此种开发方法拉近了和现实生活之间的距离,满足人类正常的逻辑思维,便于维护,主要被应用在繁琐、大规模的系统中,程序合理。此种方法还可下分为OMT、COAD等,其中OMT属于一种现代开发方法,依照现实世界中的具体对象建模,并以此为基础,通过分析模式,实施语言设计,全面理解需求,进而开发出便于维护的软件系统,此种方法切实保障了所开发软件的可行性和高效性;COAD借鉴以往开发经验,并有效融合面向对象的概念,针对结构、属性等提出了针对性的认定原则。

四、计算机软件工程管理实践

(一)软件分解

大型软件是工程管理中的主要对象,在大型软件中主要由若干系统协同开发构成。为此,应合理分解软件,将其划分成若干子系统,进而为工程管理工作的开展提供一定的便利。不同的开发团队负责不同的子系统开发工作,分别进行。

(二)软件规模基准化

将软件分解成不同的子系统后,为构建联合的管理基准,通过功能点分析法来预估软件规模,只要输入不同子系统的功能,便可输出相应的功能点数。

(三)设立群组成员权重

软件工程管理需要较多的人员,各个成员分别发挥不同的作用,由此可知,软件工程管理制值也存在一定的差别,应科学计算管理成员的权重,一般将工作经验、学历和角色作为主要的权重评判指标,参照评判指标,科学计算权重值[4]。

(四)成本管理

首先,全面搜集成本信息,严格监控。待计算出软件成本估计值后,可以此为依据,管控成本。因此,待软件活动启动时,应在实际执行过程中全面搜集所有子系统中隐藏的成本信息,严格监控,在此之后,管理者便能围绕软件系统的成本绩效进行有效管控,进而系统把控成本动态。其次,评判成本绩效,通常差异分析法是最为常用的一种方法。通过差异分析法科学预估成本和时程差异,进而有效掌控相应绩效。

(五)实施创新活动

在软件工程管理工作中,参照运行现状和决策方案,采取有效的整改动作是最后一个环节,例如,待出现成本超出预算的现象时,可调整执行情况不良的子系统,也可以重新分配,同时,还应面向团队成员及时与状态、决策相关的信息。若状态满足预期,则应实施全面监控,直至完成开发工作。

结语:目前,在社会生产、生活中随处可见计算机软件,它可显著提升管理效率,并能提高工作质量,为人类生产、生活带来了较大的便利,我们应继续探索,不断改进,增加软件的操作性和可行性,使其更好地服务于社会生活。

参考文献:

[1]王必恒,陶勇.基于计算机软件工程管理的思考及实践分析[J].科技创新与应用,2012,(22):46-46.

[2]王必恒,陶勇.基于计算机软件工程管理的思考及实践分析[J].科技创新与应用,2012,(31):46.

[3]曹高成.关于如何创新和完善计算机软件工程管理的探讨[J].电脑迷,2014,(5):20-20.

论软件项目成本控制分析 篇12

1. 项目成本控制的概念

项目成本控制指在项目成本形成过程中, 对生产经营所消耗的人力资源、物质资源和费用开支进行指导、监督、调节和限制, 及时纠正将要发生和已经发生的偏差, 把各项费用控制在计划成本的范围之内, 保证成本目标的实现。

2. 项目成本控制遵循的原则

项目成本控制原则是企业成本管理的基础和核心, 在软件项目管理过程中, 需要紧紧围绕成本控制的核心原则展开, 切实按照控制原则来采取各项措施, 以保证在整个项目周期中这些原则能得到切实的贯彻执行。项目成本控制原则具体如下:

2.1 成本最低化。

项目管理的最基础的目标就是要实现成本最低化, 从而实现利润最大化。在项目执行过程中, 每一环节都必须做好成本计划, 在计划中考虑一切有可能降低成本的环节和实施方法, 并在具体执行中将成本定期检查列为常态, 通过检查及时发现微小偏差, 对偏差进行全面分析从而找出偏差的真正原因, 进一步找到解决措施, 杜绝成本偏差扩大化, 带来不可估量的损失。

2.2 全面成本控制。

全面成本控制类似于企业内的全面质量管理, 成本控制是全企业、全员和全过程的管理, 包括各部门、各单位的责任分担和项目团队经济核算等, 应防止成本控制看上去人人无责, 实际上人人不管的现象。成本控制工作要随着项目施工进展的各个阶段连续进行, 应使施工项目成本自始至终置于有效的控制之下。

2.3 责、权、利相结合。

在项目实施过程中, 成本控制并不是项目经理一个人的责任, 需要整个团队所有成员都参与进来, 均担负起成本控制的责任并享受到相关权利, 项目经理仅起到引导、管理的作用, 这势必可引起整个团队成员的积极性, 更好地实现成本控制的目标。另外, 项目经理可通过记录各成员在每个单元、过程中成本控制的业绩, 来实行定期考核, 奖惩有度, 使责、权、利更好地结合在一起。

3. 项目成本控制中容易出现问题的部分

在软件项目执行过程中, 每一个环节都会牵涉到费用, 这必然就会关系到项目的成本, 但笔者根据多年项目实施经验来分析, 需注意以下几个环节

3.1 人力成本。

一般情况下, 纯软件项目的总成本中, 人力成本要占据项目总体费用的60%左右, 由此可见, 一旦人力成本控制失效, 必然会给项目的实施带来厄运。而人力成本一方面取决于开发人员的水平、当地物价行情、公司的薪酬体系等因素, 另一方面也取决于项目进展情况。对第一个方面来说是属于固定的、可预测的, 在项目之初已经测算到项目总费用中的;但对第二个方面确是关键中的关键, 项目进展快了, 相对项目时间提前, 必然可以节省人力成本, 如果项目延迟, 必然就导致人力成本大幅度增加。如果考虑加班等因素, 那么人力成本的将具有1-2倍的放大效应。因此, 人力成本一旦失控, 必然导致项目的失败或者亏损。

3.2 业务费用。

项目在执行过程中, 业务费用属于动态成本, 根据项目的不同业务费用占据的比例也大不相同, 这些费用是受人为控制的。一般情况下, 项目管理体制越严格、相关人员越有节俭意识, 那么该费用所占的比例会越低, 而一旦项目管理体制存在问题或者相关人员缺乏意识, 那么该费用也可以间接导致项目的失败或者亏损。

3.3 安全事故。

软件项目一般情况下不会出现人员伤亡事故, 但对于行业用户来说, 都有严格的管理制度, 其中相关的技术和数据都有保密要求, 如果发生违反用户管理制度的情况对软件企业来说就相当于发生了安全事故。轻者影响该项目的绩效考核, 影响该项目的支付;重者取消合同, 影响企业以后承接该用户项目的资质, 因此, 安全事故所引起的风险成本非常大, 需要重点关注。

3.4 质量控制。

在软件项目开发过程中, 如果由于团队自身原因, 导致对项目的需求理解不清、设计不合理, 这就造成软件返工、修复的情况很多, 必然会增加工期, 严重的话影响到企业的信誉。因此, 质量控制是否能实现降低成本的目的, 至关重要, 直接影响到最终的项目成本控制。

4. 软件项目成本管理对策建议

项目管理起源于工程项目, 经过多年发展, 目前已经延伸到各行各业, 特别是在软件项目中应用的更为普遍。软件项目由于对技术人员的素质要求较高, 个人的单位产能具有波动性, 故很难精确度量。首先要加强项目前期的成本预测和成本控制。成本预测就是对影响成本的各种因素在采取相应降低成本措施做出充分准备。另也需要加强成本事中控制。杜绝事故隐患, 防止安全事故重复发生。

其次, 需加强质量管理及成本事后的控制。软件的质量关键体现在前期, 要严格按照相关质量管理体系要求, 做好设计评审的各环节, 力争做到一次性项目交付, 降低质量成本。但在项目完成以后, 要尽快协同甲方进行项目验收, 实现货款回笼, 降低财务成本;同时要做好项目发生的实际成本, 分析目标责任成本的执行情况, 做好基础数据的储备工作;另外, 结合分析项目盈亏, 严格按照承包措施执行, 降低由于人员积极性不够造成未来各种相关成本超支的可能性。

5. 结论

上一篇:本能速度和反应速度下一篇:树状网络