软件开发质量管理研究

2024-06-25

软件开发质量管理研究(精选十篇)

软件开发质量管理研究 篇1

软件质量指的是用户在软件的使用中对于软件性能、功能的综合评价, 与其他产品的质量类似, 它是软件的一种内在特性。目前对于软件质量的评估体系一般是基于质量管理体系ISO9001、项目管理知识体系PMBOK以及CMMI。

2 软件质量的标准

对于软件开发过程质量的项目管理标准一般可以分为三个方面:正确性、可靠性、安全性。这是主要的标准, 此外其他的标准还包括:可维护性, 可测试性、软件效率以及风险等。

其中, 软件的正确性是指用户在使用软件的时候能够完成用户设定的目标。一般来说, 我们从软件的整体性、可跟踪性以及一致性这三个方面综合考虑来完成对软件正确性的评估。软件的可靠性指的是在程序运行中能否达到我们要求的精度, 对其评估一般基于简洁与否、准确如何、容错性能如何等几个方面的统筹考虑。软件的安全性主要是指其在程序的保护及控制方面上的性能。至于软件的可维护性、可读性、效率及风险等性能则决定了软件后续维护的工作量, 也是评价软件质量的重要因素。

3 对于软件开发过程质量项目管理的具体措施

整体来说, 我们可以通过下图对于软件工程质量项目管理的手段有所了解。

3.1软件质量分析工具

在软件开发过程质量项目管理中用于分析软件质量的工具有:因果图、帕累托图、控制图。其中, 因果图能够使我们清晰的认识到软件开发中相关因素的关系, 帮助我们找出问题出现的根源。

3.2充分了解需求, 做好质量计划

软件开发是以实用为目的的, 这就需要我们加强沟通, 对用户的需求有全面、充分的了解, 在这个过程中, 我们应该保证项目需求说明书的完整性与规范性。

另外“质量出自计划, 而非出自检查”在软件质量开发中依旧适用, 在项目实施时, 精准的计划能够在我们质量的控制上起到事半功倍的效果, 对于质量计划的实现, 我们需要配合对软顾客需求的了解, 然后确定产品的具体参数及技术要点, 并找出最合适的方法。我们一般使用用流程图、因果分析图等方法对计划进行分析, 然后确定关键因素, 制订合理的标准。

3.3加强代码的检查

代码质量一般来说决定着软件的质量, 而开发过程中由于不同的环境、成员的因素这就很容易给代码带来很多不易被察觉的隐患, 为后续的维护工作带来很大的麻烦, 也为用户造成了困扰。

由于软件代码量一般较大, 所以我们可以采用代码走查的方式对代码进行检查, 这需要开发人员按周期对代码进行讲解、沟通, 通过这一方法, 不仅可以改善代码的质量, 也可以提高开发人员的技术水平。

3.4软件质量的测试

软件的测试一般是指通过人工或者自动的手段对运行的软件进行测试, 其目的是为了发现程序中的错误。总体而言, 软件的测试可以说是对于软件质量最好的保证措施, 它能够发现软件中的缺陷, 提前做出应对措施, 减少企业的成本, 提升用户的体验。目前, 软件的测试较为成熟, 已经具有存在完整的理论与体系。我们在软件的测试中, 应注意以下几点:

(1) 在软件测试中, 测试计划非常重要。我们在工作中, 应根据开发的具体阶段采取相应的测试计划。

(2) 在软件测试的执行中, 有人工测试和自动测试两种。一般来说, 我们普遍选用自动测试的方式, 这种方式可以避免代码回归的现象, 并且准确率较高。对于测试范围来说, 我们的目标是“一切测试自动化”。举例来说, 在处理大型分层应用时, 对于数据库层、业务逻辑层等都可以使用自动测试。

(3) 采用“测试优于实践”的理念, 可以先编写测试, 在进行编码, 这样可以节省编码的时间, 也为总体测试成本的降低起到很好的效果。

(4) 了解测试的种类, 软件测试可以分为单元测试、集成测试以及接受测试三种。

4 结语

做好软件开发过程质量的项目管理工作对于软件的应用有着不可忽视的作用, 但这一工作涉及的范围较广、周期较长, 这就需要我们在工作中, 严格按照标准进行软件质量的评估、测试, 尽最大可能做到防患于未然, 这样才能减少开发成本, 提升企业的竞争力, 为我们的生命、财产安全起到有效地保障作用。

摘要:本文从软件质量的内涵、软件质量的标准、软件质量的保证措施等几个方面对软件开发过程质量的项目管理进行了分析和探讨, 旨在对于我们软件开发质量的提升起到一定的指导作用。

软件开发项目进度管理研究论文 篇2

软件开发项目具有需求不确定性、时间期限严格等特点,由此决定了软件开发项目进度管理非常必要,但同时也存在着一定的难度。重点对软件开发项目进度管理进行分析研究,明确软件开发项目进度管理的4个主要步骤:根据项目目标和现有资源,进行项目工作分解;在项目工作分解结构图的基础上,确认项目活动,用科学的方法估算活动时间并排序;编制项目进度计划和进度管理计划;在项目实施过程中,对项目进度进行跟踪和监控并定期评估,必要时需根据实际情况按一定规则,变更项目进度计划。

0引言

软件开发项目进度,是指完成整个软件开发项目所需活动的过程和时间周期。软件开发项目进度管理是为了确保项目按时完成而对其各项活动及阶段进行的管理。软件开发项目进度管理包括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进度控制结果

软件开发中的知识管理研究 篇3

[关键词] 知识 知识管理 软件开发

一、引言

在知识经济时代,市场的竞争日趋激烈,如何获得并保持竞争优势逐渐成为管理学的研究热点。组织所具有的有价值的、稀有的、不可模仿的、难以代替的资源是保持竞争优势的源泉。随着研究的进一步深化,知识在组织竞争优势中地位越来越显著,从知识的角度来研究组织竞争优势逐渐成为一个重要的理论方向。

软件产业是一个知识密集性的产业,软件开发人员都属于知识工作者,并突出具有技术人员个性化特征。如何有效地整合个性化资源,高效地满足个性化需求,这是软件企业必须面对的一个难题。知识管理作为提高企业核心竞争力的有力手段,可充分实现企业知识资源的整合、发展、共享和增值。特别是软件企业实施知识管理,可以将分散的个性化的知识整合成有机的组织知识体系,通过组织知识体系的有效运用和持续提升去解决个性化难题,从而能有效地增强企业的核心竞争力。

二、知识管理的内涵及分类

所谓知识是一种有价值的智能结晶,可以通过信息、经验心得、抽象的观念、标准作业程序、系统化的文件、具体的技术等方式呈现。知识呈现的形式虽然有很多种,但在本质上都必须具备创造附加价值的效果,否则就不能被称为知识。因此引进、学习、扩散、创新知识,一直都是人类社会发展的特征,也是驱动社会进步的最主要力量。知识管理是研究人类获取、传播、共享、利用和创新知识的活动规律,管理有关知识的各种连续过程,以促进经济和社会发展的理论与实践。

一般而言,知识可分为两类,一类是显性知识(explicit knowledge),另一类是隐性知识(tacit knowledSe)。显性知识一般是指可以文件化、标准化、系统化的知识,因此显性的知识可以从知识库中直接提取和进行独立的学习。广泛适用性、能够被重复使用以及与人分离是显性知识的特点,因此使用显性知识,不需与创作者接触,就可以产生知识转移的学习效果。由此可见,显性知识无论在扩散速度与学习效率,均相对较高。当然如何将知识经由整理、归纳、分类、储存等手段而达到显性的程度,并且能够十分便利的一再使用,必将是未来企业在知识管理活动中的重点工作。

而隐性知识一般是指比较复杂,无法用文字描述的经验式知识,不容易文件化与标准化的独特性知识,以及必须经由人际互动才能产生共识的组织知识。隐性知识是指建立在个人经验基础上并涉及各种无形因素如个人信念、观念、直觉、洞察力和价值观等的知识,是一类难以表达、描述、交流和共享的知识。它又可分为两个方面,一是技术方面的隐性知识,包括那些非正式的、难以表达的技能、技巧和诀窍;另一类是认识层的隐性知识,包括心智模式、信念、洞察力和价值观等,反映人们对现实的看法及对未来的展望,是世界观的知识。隐性知识产生的成本较高,可重复使用的机会较低,通常应用于附加价值较高的作业活动上。隐性知识管理重点就是如何将隐性知识的创造过程加以效率化,可运用的策略手段包括:形成一致性的企业文化与共识、开放性的组织气氛、运用多媒体网络来增加人际沟通的效率、项目型的团队管理、良好的教育训练与学习机制、更完善的周边配套等。

所以,知识管理的主要任务包括显性知识的规范化描述与共享、隐性知识的显性化以及提供隐性知识创造过程的效率。

三、知识管理在软件开发中的作用

在知识经济时代,软件创新是企业获得核心竞争力的源泉,软件开发则是创新的具体表现,因此对软件开发的全过程实现有效的管理是提高软件开发绩效、实现企业战略目标的有力保证。知识管理正是有效地适应当前时代发展的手段,对软件开发起了重要的作用。由于不同的软件类型所体现的个性化,知识管理所起的作用也不尽相同,但是综合而论主要体现在以下几方面:

1.对外部信息的获取、对内部经验知识的整合及存贮,形成有价值的知识库,为软件开发提供技术支持,从而有利于正确选定开发对象、确定开发策略、提高开发效率、缩短开发周期,保证开发目标的实现,进而尽快收回投资获得较大利润。

2.软件开发人员之间交流、互动、共享知识,可以避免重复性开发工作,且促进技术信息的扩散和传播,凝聚集体智慧,使软件设计更全面、性能更完善。

3.知识管理中实行的扁平形组织结构,促进了职能部门间的紧密联系,使开发、营销、生产部门积极参与软件开发中的每一个关键性决策并提供反馈意见,保证软件开发的方向与企业战略一致、与顾客不断变化的需求一致、与企业自身的技术开发、生产能力相适应。

4.在软件开发过程中,成功的经验和失败的教训都可以有效地整理、贮存,为后续的软件改进和新软件开发提供宝贵的资料。

5.知识管理中强调人的管理及培训,人作为知识的载体,其素质的提高为软件开发提供了智力保障。

四、软件开发过程中如何实施知识管理

从软件发展的趋势看,软件企业竞争的焦点越来越集中在概念设计和需求分析这两个阶段。如何在这两个阶段实现软件企业、用户之间无障碍的知识交流与共享,就成为软件开发的关键问题之一。此外,在系统设计、编程等阶段,如何有效利用已有知识来提高软件开发的效率和质量,在整个软件开发过程中如何将隐性知识显性化,如何有效地管理软件开发中所生成的文档等问题,都是需要考虑的。

1.软件复用。它是指重复使用“为了复用目的而设计的软件”的过程,而可复用软件则是指为了复用目的而设计的软件。使用软件复用技术,开发人员将无需为每一个软件都重新设计框架、编写代码。他们在接受新的软件开发任务时,首先查询已有的软件部件,然后将已有的软件部件集成在一起实现新的软件的功能。软件复用不仅是指对源代码的复用,而从需求分析开始,到设计、编码与测试,包括测试案例和测试脚本,都可以成为复用的对象。使用软件复用技术具有提高软件生产率,从而降低成本、减少系统的维护代价、提高系统间的互操作性、软件的灵活性和标准化程度等优点。检验一个软件项目是否有效地利用了知识管理,最直接的方法之一就是看它是否重复利用了已经成熟的程序或软件部件,因此,复用技术是软件开发中应用知识管理的重要方法。

2.隐性知识显性化。软件开发的本质是将开发的各个环节、各种不确定问题显性化,由不可控变为可控。如软件开发过程中精神活动的“不可见性”大大增加了过程管理的难度。因此,软件开发管理的指导思想就是千方百计地使这些过程变为“可见的”,成为事后可以检查的记录。

3.知识的交流与共享。在软件开发的各个阶段,知识的交流与共享无处不在。在概念设计与需求分析阶段,软件提供方和用户很难完全描述清楚新软件的需求,一些工作在用户看来是习以为常的活动,而软件提供方却不知道这些活动。因此需要软件提供方与用户方进行多次交流,以明确把握需求,为项目开发的成功和后期工作打下比较好的基础。而在系统设计、维护等后续阶段,则强调软件开发团队成员之间的知识交流与共享,这是软件开发成功的前提条件之一。

4.文档管理。软件文档的编制在软件开发工作中占有突出地位和相当的工作量。软件文档指的是一些记录的数据和数据媒体,它和计算机程序共同构成了能完成特定功能的计算机软件。从知识管理的角度看,文档在软件开发的知识管理中承担着重要的角色,它是知识交流与共享的基础,没有办法对无任何说明文档的程序进行知识管理,即使它包含最完美的算法,但它所包含的知识是无法共享和重复使用的,因为别人很难看懂,也无法理解。

5.营造和谐的项目团队氛围。软件开发各个实施阶段,需要各方人员的交流与合作。然而,在项目团队中为了维护自身利益而采取保守的做法是司空见惯的,团队成员不愿意交流和共享自己独有的知识。虽然在软件开发项目中的团队成员一般都具有较高的专业技术水平,但对团队而言,和谐的项目团队氛围对出色完成工作更为重要。要确保团队的这种氛围,就要求软件开发团队必须充分认可和尊重成员的专业特长、知识和技能,确保足够的信息沟通,建立集体创新意识,培养合作共进的和谐气氛。这样,团队成员才能发挥最大的独创性。

参考文献:

[1]彼德·德鲁克等著:知识管理.中国人民大学出版社,1999

[2]许晓明龙炼:论企业的知识管理战略[J].复旦学报,2001,(3)

[3]夏敬华等著:知识管理.机械工业出版社,2003

[4]刘湘丽:知识管理的发展及其理论[J].首都经贸大学学报,2002,(3)

[5]Dehua Ju,Knowledge Management in Software EngineeMng.Prnc.ofIn.teroational Symposium on Future Soft'ware Tec hnology,2002.

[6]Tom DeMarco,Peopleware:Productive Projects and Teams.2nd Ed.Ad.dison Wesley.1999

软件开发质量管理研究 篇4

关键词:软件测试,缺陷管理

1. 引言

软件企业对软件质量的重视程度越来越高, 软件测试在软件研发中的地位越来越重要。软件测试可以发现软件中存在的缺陷, 通过改正这些缺陷以提高软件的可靠性。

软件缺陷会存在于软件产品的整个生命周期中, 测试是发现缺陷的主要手段, 也是它的主要目的。测试活动和开发活动一样, 是项目质量保证不可或缺的重要部分。因此, 对于测试活动的主要产物:缺陷, 我们需要建立一个完善的缺陷管理流程, 来对缺陷进行报告、查询、分类、跟踪、处理和验证等。软件测试的主要目的在于发现软件存在的缺陷, 为了不影响测试效果, 需要及时正确的处理测试中发现的错误, 保证软件符合需求设计的目标。在实际的软件测试过程中, 建立一套完备的软件缺陷跟踪管理系统是十分必要的, 建立这样一个系统, 我们首先需要清楚每个不同bug的严重性以及它们的优先级分类, 其次是每个bug需要经过的测试管理流程。

2. 软件中缺陷出现的原因

2.1 设计修改

在软件开发过程中用户需求的改变导致设计方案的更改, 每次改动都为缺陷的出现提供了一次机会。在软件的后期修改维护中由于客户要求、时间限制等原因未审核修改的设计方案或未对缺陷做准确的分析, 程序员在修改过程中可能出现只修改问题所在的地方, 而没有对问题进行发散思维, 而导致新问题的出现。

2.2 测试遗漏

在软件测试过程中测试用例设计的好坏、测试人员水平的高低, 测试工具使用的熟练程度, 以及对所测试软件的理解深度都影响着测试设计的完善程度。而测试用例设计的不全面, 或测试方案的不周密, 以及测试人员执行时产生的偏差都可能导致缺陷不能及时发现。

2.3 缺陷的概率特性

部分缺陷的出现具有概率性和偶然性, 需要在反常的数量, 频率, 或者资源的方式下执行才能表现出来。

2.4 缺陷的潜伏性及阶段性

部分缺陷的触发条件不容易满足而呈潜伏状态。在嵌入式系统中多进程多任务中的问题、系统容错性的问题、内存的问题所表现出的潜伏性更加复杂多变, 而导致发现缺陷需要很长的周期或特定的测试环境。

2.5 缺陷的周期性和隐蔽性

由于一些缺陷的存在导致软件中部分代码未被执行, 而存在于未被执行的代码中的缺陷呈现隐蔽状态。通过周期性的缺陷的修复及再测试才会发现这些隐蔽的缺陷。

3. 缺陷管理流程

一般的缺陷管理流程如图1所示。测试人员提交新的Bug入库, 错误状态为New。高级测试人员验证错误, 如果确认是错误, 分配给相应的开发人员, 设置状态为Open。如果不是错误, 则拒绝, 设置为Declined状态。开发人员查询状态为Open的Bug, 如果不是错误, 则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug, 要留下文字说明及保持Bug为Open状态。对于不能解决和延期解决的Bug, 不能由开发人员自己决定, 一般要通过某种会议 (评审会) 通过才能认可。测试人员查询状态为Fixed的Bug, 然后验证Bug是否已解决, 如解决置Bug的状态为Closed, 如没有解决置状态为Reopen。

软件缺陷流程管理的要点是为了保证错误的准确性, 需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误, 书写的测试步骤是否准确, 可以重复。每次对错误的处理都要保留处理信息, 包括处理姓名, 时间, 处理方法, 处理意见, Bug状态。拒绝或延期错误不能由程序员单方面决定, 应该由项目经理, 测试经理和设计经理共同决定。错误修复后必须由报告错误的测试人员验证后, 确认已经修复, 才能关闭错误。加强测试人员与程序员的交流, 对于某些不能重复的错误, 可以请测试人员补充详细的测试步骤和方法, 以及必要的测试用例。

4. 使用测试工具建立缺陷管理系统

一个缺陷跟踪系统, 需要实现几部分的功能:

1) 缺陷的上报, 当问题被发现后, 可以通过系统进行提交、保留, 方便跟踪。

2) 缺陷录入系统后, 项目经理应该可以通过缺陷跟踪系统进行浏览, 定期获得最新的缺陷问题报告。

3) 项目经理将缺陷问题报告通过缺陷跟踪系统转交给程序员, 程序员可以通过缺陷跟踪系统知道自己负责的修正的缺陷问题报告。

4) 缺陷问题的修正处理, 当程序员修复问题后, 可以通过跟踪系统, 通知项目经理问题已修复。

5) 对于无法根据缺陷报告重现的问题, 也可以通过跟踪系统, 向项目经理及测试人员要求更多更详细的信息, 并将缺陷问题返回至项目经理重新处理。

6) 问题暂缓及申诉过程处理, 对于缺陷报告提到的问题, 如在当前版本无法实现或者缺陷与需求有冲突的时候, 可以将问题置为“暂缓处理”或“提出申诉”。

7) 对于优先等级较低的缺陷问题, 可能不能被及时处理掉, 但必须可以被查询。

8) 缺陷跟踪系统可以提供跟踪项目的状态报告。

下面以使用软件测试工具TestDirector为例, 分四个步骤来说明如何建立一个缺陷管理系统。

4.1 设计缺陷管理流程

通过使用测试工具, 在SDLC中未被发现的所有和项目有关的差异及问题都将汇报到管理工具中。TestDirector针对不同的差异, 清晰的定义了NEW、OPEN、CLOSED等级别。当工具中开放了一个新的缺陷问题, 我们就要陆续开始登录缺陷报告、定义缺陷安全等级、描述缺陷、指派相关人员展开最初的调查、将差异转交给相关的测试主管等工作。

召开缺陷解决会议能确保所有缺陷都能涉及并得到有效解决。这种定期会议由来自开发、项目管理、产品管理、和项目相关的业务团队代表及测试主管共同参加, 就缺陷问题展开讨论。测试主管在会议期间对测试工具进行信息更新, 会议的中心议题是对缺陷报告进行审核。有了测试工具提升的完备的报告, 我们就可以依据其严重程度和状态情况, 选择处理的优先权。

缺陷解决会议后, 缺陷将被分配给合适的小组主管, 以便着手解决。这些小组包括:开发小组、环境支持小组, 或是业务团队。通过管理工具对任务进行合理分配, 能更为高效地解决缺陷问题。

被修复缺陷如果在环境缺陷中没有代码变更, 将马上展开重复测试, 并立即关闭。需要代码变更的缺陷修复会涵盖在一个版本打包中, 从而展开重复测试, 接着将根据测试结果或者关闭缺陷, 或者将缺陷重新开放。

4.2 定义缺陷状态

每个缺陷都有一个状态显示, 会在整个测试周期中得到随时地更新。每次当缺陷状态有了更新, 评论信息就会加入到缺陷的R&D评论栏中。测试工具中的缺陷状态一般会有以下几种:New、Open、Fixed、Ready for Retest、On Hold、Closed、Reopen等。

4.3 用户操作的状态修改

通过对测试工具所允许的状态变更操作, 可以为实现便捷的学习曲线和巩固一种优化的工作流程提供帮助。状态变更包括:根据适合的变更控制流程所进行的任何系统变更。在进行修复操作之后, 未通过测试或某个测试部分根据需要展开重复测试。在流程中的任何时段, 项目经理、系统分析人员、开发人员和测试工作人员可以使用测试工具来恢复保存在存储器中的所有缺陷状态等。

4.3 用户操作的状态修改

通过对测试工具所允许的状态变更操作, 可以为实现便捷的学习曲线和巩固一种优化的工作流程提供帮助。状态变更包括:根据适合的变更控制流程所进行的任何系统变更。在进行修复操作之后, 未通过测试或某个测试部分根据需要展开重复测试。在流程中的任何时段, 项目经理、系统分析人员、开发人员和测试工作人员可以使用测试工具来恢复保存在存储器中的所有缺陷状态等。

5. 结束语

对于如何建立和使用缺陷跟踪系统, 应该进一步反思, 毕竟缺陷跟踪系统只与缺陷有关, 与行政无关, 但实际情况往往不是如此, 缺陷跟踪系统成为了衡量项目参与者工作量的指标, 为参与的项目人员造成压力。因此如何建立缺陷跟踪系统还需要在实际中进行进一步完善与讨论。

参考文献

[1]郑翠芳, 吴志杰, 基于软件开发过程的软件缺陷管理研究.微计算机信息[J].2007.03

研究开发管理制度 篇5

研究开发管理制度

XXXXXXX有限公司 研究开发管理制度

第一章总则

第一条:为了贯彻落实《国家高新技术产业发展项目管理暂行办法》,有效进行 “技术创新”工作,实施公司“科技兴企”的重要决策,提高XXXXXXXXXXXX(以下简称“XXXXXX”)研发项目管理水平,缩短产品研发周期,提高产品设计质量,降低产品研发成本,促进XXXXXX产品研发管理的规范化、科学化和法制化,提高公司的核心竞争力,根据公司具体情况,特制定本管理制度。第二条:适用范围:XXXXXX所有产品研发项目管理(从项目可行性研宄阶段开始到产品上市发布为止的期间),重点论述对产品研发阶段和相关人员的管理工作。

第三条:本制度中技术研发中心是指研发中心各技术平台;可研项目经理对应产品科研小组工作,产品经理对应产品核心小组工作,技术经理对应产品研发小组工作。

第四条:研发项目的管理,除应遵循本规范外,还应符合国家法律、行政法规及有关规定。

1.公开制度。在执行有关技术保密规定的原则下,由XXXXXX相关部门负责人(即技术研发中心)对项目立项、项目实施、阶段性成果和验收鉴定结果等通过一定程序公开发布。

2.报告制度。项目承担小组、项目责任人应定期报告项目执行情况,并根据要求按期如实填报有关报表。

/ 10

LOGO公司

研究开发管理制度

3.监督检查与审计评价制度。项目承担小组和项目责任人在项目实施过程中,应严格履行项目合同书,在项目合同书规定的范围内,享有充分的自主权。同时,项目承担小组和项目责任人有义务主动接受技术研发管理委员会的监督检查、绩效审计等跟踪管理。

第二章 研发中心的职责

第五条:研发中心的职责

1.参与制定和执行XXXXXX技术发展战略和技术创新、技术改造、技术引进、技术开发规划和计划。

2.XXXXXX的研发中心负责公司产品的研发工作,新产品的研宄,技术管理,以及技术发展的总体把握。管理XXXXXX产品整体技术的发展轨迹,以及产品的研发进度,同时对研发的成本进行控制。形成有竞争力的新产品、新技术、新工艺、新材料;负责新技术的引进、消化、吸收和再创新工作,形成具有XXXXXX自主知识产权的主导产品和核心技术。

3.管理权限:受总经理委托,行使对公司技术引进、新产品开发研宄、新技术推广应用、技术指导与监督等全过程听管理权限,并承担执行公司规章制度、管理规程及工作指令的义务。管理职能:负责对公司产品实行技术指导、规范工艺流程、制定技术标准、抓好技术管理、实施技术监督和协调的专职管理部门,对所承担的工作负责。

4.参与XXXXXX有关技术创新、技术引进、技术开发等重大项目的调研和技术论证工作;组织制定XXXXXX重大科技开发和技术攻关项目的实施计划。

/ 10

LOGO公司

研究开发管理制度

5.协助组织召开公司级技术方案评审会和重大技术问题讨论会。

6.有限地组织和运用社会技术资源及国内外己有的科技成果,进行综合集成和二次开发。

7.负责组织科技成果上报鉴定工作,促进科技成果的推广应用。

8.收集分析与XXXXXX有关的行业和市场信息,研究行业产品技术的发展动态,为XXXXXX的产品开发,技术发展决策提供咨询意见和建议。

9.创造良好的研发条件、工作条件和学术氛围,建立有效的人才激励机制,使XXXX现有的技术人员留得住、用得好,组织好在职科技人员的培训、“充电”和知识优化,为公司培养高素质的技术和管理人才。

10.公司对研发人员采取在公司控制下的“双向选择”的选择,设有技术委员会,工程研究中心,项目负责人。

第三章 研发的立项程序

第六条研发的立项程序

1、根据XXXXXX长期发展规化,调查国内外市场和重要用户的技术现状和改进要求,为满足市场需求研发的不同于公司现已生产的产品和在公司已批量生产的某种产品基础上,在每一季度初发布提出研究方向和重点任务。

2、相关部门根据《产品研究重点》结合XXXXXX生产经营需要,再通过市场评估、设备评估、生产力评估、产品检验能力评估、产品的技术发展方向和动向、市场动态及发展产品具备的技术优势,向研发中心提出《研发立项申请表》和项目开发可行性分析报告。

3、研发中心根据XXXXXX当年生产情况组织专家对申报项目进行评议和筛选,3 / 10

LOGO公司

研究开发管理制度

根据其重要性和创新性分为甲、乙、丙三类:

甲类:在XXXXXX原始创新、集成创新和引进消化吸收再创新的项目,其实施技术难度大,开发创新(新材料、新工艺、新设备、新技术)内容较多的项目,总体技术水平达到部分国际领先水平以上。

乙类: 在引进消化吸收的基础上进行自主创新,总体技术水平达到国内先进水平。

丙类:为XXXXXX改进创新项目,创新技术在公司内部具有良好的推广价值,在技术上有一定创新和技术难度,总体技术水平达到领先水平。

4、项目产品经专家评议和筛选后,研发中心编制XXXXXX科技研宄开发计划书并呈报主管领导审批后开发。

5、根据调查分析市场和主要竞争对手产品的质量、价格、市场、使用情况和用户改进要求。

6、XXXXXX员工对提高产品质量和性能、降低产品制造成本的建议,提出建议上报公司企质办,经评审通过后,转到产品研发中心门按本制度规定的程序进行开发。

7、为充分发挥聘请专家的作用,公司将聘请专家参与计划编制、立项评议、项目管理等有关咨询工作。所聘专家必须具备下列基本条件:(1)、从事相关领域或专业工作满5年;(2)、具有良好的职业道德、能做到独立、客观、公正廉明、实事求是;(3)、熟悉相关领域和专业的最新发展动态。

8、项目承担单位必须具备必要的科研实施条件,有健全的科研管理制度、财务管理制度和会计核算制度。

9、项目承担单位必须明确指定项目组长,中途不得随意变更。研发中心还应组

/ 10

LOGO公司

研究开发管理制度

成一个结构精干的项目小组负责项目的开发。

第四章研发的管理体系

第七条计划管理:

1、研发中心实行部门经理负责制,技术开发课题实行项目经理负责制。

2、企业技术创新项目的选择、立项、计划、实施、监督、验收、评价等工作严格按规定的程序进行。

3、重点课题和经费预算等重大问题的决策、中长期发展规划、创新计划及工作目标、考核办法以及技术开发课题的选择论证等工作由技术委员会负责。

4、企业研发经费主要由公司投入,公司应根据有关规定和实际情况在计划中按销售收入的一定比例列入技术开发经费,并保证及时、足额到位。财务部应为研发部设专门账户,委派专职会计予以监督管理。

5、研发中心要建立开放的运行模式,广泛收集整理国内外先进的科技成果,筛选适用技术以便推广应用,应注重人才交流,充分利用社会科技资源,提高研发中心得研发能力和水平。

6、研发中心应成为公司技术开发、创新体系的核心和主题,并在公司生产、营销、财务、企管等部门的配合下,推动技术开发和创新体系规范运行不断进步。

7、计划的编报和审批。编报计划的依据是经批准的项目计划书或实施方案。总项目的计划,由研发中心于上的12月份编制,报告董事会审查后下达。需跨的项目,与申报新立项目一起报送。

8、计划的实施和检查。研发中心和各相关部门,按批准的计划组织实

/ 10

LOGO公司

研究开发管理制度

施,并经常进行监督、管理,帮助解决存在的问题。每半年由技术副总经理(总工程师)负责组织有关部门对提交上来的《产品研发项目建议表》进行评审,对评审通过的项目上报总经理批准。

9、计划的调整,应报原批准部门审批。第八条经费管理:

1、按项目按进度拨款:公司要按项目进度计划及时将研发款项拨付到位,确保研制工作的资金流保持通畅。

2、对每个产品项目实行产品研发经费承包制,经费项目包括:调研费、差旅费、对外技术合作费、外委试验费、产品鉴定费、专利申请费、加班费和公司规定的完成项目奖励等。产品试验经费由技术副总经理(总工程师)审查,报总经理批准。

3、产品研发经费按单项预算拨给,单列帐户,实行专款专用,由研发中心门掌握,财务部门监督,不准挪作它用。

4、为鼓励和激发产品研发人员的研发热情,项目完成后,公司规定的项目奖励必须全额发放到项目小组,每个成员的得奖比例由产品研发中心门负责人和项目负责人确定,发放方式按集团公司规定执行。

5、产品研发成果按销售量提成的奖励和其它奖励按产品研发中心门同公司签定的承包协议执行。第九条物资管理:

对于每一项目所需要的物资,要列入企业物资供应计划,并保证科技研发项目所需物资的充足。用于项目研发的物资,任何部门和个人不得截留或挪用。第十条成立小组:

/ 10

LOGO公司

研究开发管理制度

每一个立项的项目都要成立项目小组,并设定一名组长,由主要领导担任,相关部门人员参加。

第五章研发项目的专利申请

第十一条:研发项目的专利申请

1、在注重知识产权的时代,专利申请的成功便意味着对未来市场的拓展和合法垄断,可以延缓同行的进入时机,并能以仿制嫌疑诉讼同行一些企业。公司必须重视专利申请工作,专利申请工作由专利工作组负责。

2、为避免和应对同行有可能以仿制嫌疑诉讼我公司,项目小组的所有相关保密资料必须存档保存(文本、光盘、软盘等)。此项工作由产品研发中心门负责人负责。

3、产品研发中心,对每项技术研发必须要提出申报专利申请,并提供相关资料和文件。

4、由总经理办公室、专利工作组负责专利申请的报批工作。

第六章研发项目的实施

第十二条研发项目的实施

1、新产品开发和产品改进都必须要有技术副总经理(总工程师)审核批准的《产品研发项目任务书》。由检测部门进行检测,产品检测并经过会签(有关部门)、审核(技术部门负责人)、批准[技术副总经理(总工程师)]后才能进行样试。

2、产品应采用国家标准,在充分满足使用需要的基础上,做到标准化、系列化和通用化。

/ 10

LOGO公司

研究开发管理制度

3、每一项新产品和改进产品都必须经过样品试制和小批试制后方可成批生产,样试和小批试制的产品必须经过严格的检测,具有完整的试制和检测报告。样试,批试均由技术副总经理(总工程师)主持召集有关单位进行鉴定。个别产品变化很小的新品,经检测部门审核、技术副总经理(总工程师)签字,可以不进行批试,在样品试制后直接办理成批投产的手续。

4、新产品移交生产线由公司技术副总经理(总工程师)主持各有关部门参加的鉴定会,多方听取意见,对新产品从技术、经济上作出评价,确认项目产品没有问题后,提出是否可以正式移交生产及移交时间的意见,报总经理批准。

5、批准移交生产线的新产品,必须有产品技术标准、工艺规程、产品流程图以及其他有关的技术资料。

第七章研发项目的检査

第十三条研发项目的检查

1、科研项目立项后,立项小组确认项目承担人和参加人,对项目的执行情况和经费使用情况进行跟踪检查;

2、项目跟踪检查内容:

(1)项目进展情况,项目是否按项目计划中预订的计划进行;

(2)项目负责人和项目组成员是否按规定领导和参加研究工作,是否变更项目负责人或项目参加人;

(3)已有的工作成果和阶段性研究成果是否按制度执行(4)经费使用是否符合项目经费管理办法和其他规定)(5)有无不符合项目管理办法的行为和情况。

/ 10

LOGO公司

研究开发管理制度

3、项目主要负责人应保存项目资料特别是原始资料,记载从项目申请、立项、研宄到结项全过程的重要情况,收藏有关文字、配方和经费开支等材料。项目负责人每年年终应填写有关的项目检查表,提交项目研究进度和经费使用情况的书面报告,定期向总经理办公室汇报。

4、在项目执行情况的同时,项目小组要经常检查落实科技计划实施情况,加强项目管理,建立项目档案。在切实做好日常管理工作的同时,尽可能为研究工作提供必要的咨询和条件。对于项目负责人提交的项目检查表进行审核,并签署审核意见。

第八章研发项目的变更与解除

第十四条研发项目的变更与解除

项目在执行过程中,遇到下列情况之一,项目小组可以提出变更或解除项目申请:

1、项目小组所需资金长期不落实的;

2、经认证,项目所选技术路线、方案已无实用价值,或依托的研发项目发生较大变化致项目无法进行的;参加研宄开发的项目小组人员发生较大变化,致项目无法进展的。

第九章研发科技成果鉴定、评审和结题

第十五条研发科技成果鉴定、评审和结题

1、项目研究应在完成后对其成果进行鉴定和验收。根据项目申请书内项目完成时间的协议,项目负责人在规定时间内把项目最终成果上报总经理办公室。项目的最终成果应是项目申请书所要达到的成果形式。

/ 10

LOGO公司

研究开发管理制度

2、科技开发项目按计划、合同完成后,由项目小组向研发中心提出申请鉴定或评审验收申请。符合鉴定或审评条件的,由研发中心组织相关专家进行鉴定或审评。

3、合同完成后,承担单位及时联系有关结题验收事宜,填写结题申请,与研究技术文件一并上报,并由研发中心组织人员对项目进行验收,验收合格后同意项目结题。

第十章研发工作的考核、奖励及激励

第十六条:研发委员会每季度对研发的工作缋效进行评估。

第十七条:每年一月底前,研发中心应对上一工作进行总结,并结合XXXX针目标制定技术开发和创新工作计划。

第十八条:研发人员的考核按《研发人员绩效考核办法》实行。

第十九条:建立发明创新奖励制度,研发中心从XXXX投入的开发经费中设立奖励基金。每年根据项目的技术水平、经济效益、投资大小予以奖励。

第二十条:积极提高科技人员的综合素质,组织研发人员参加各种学习、培训、考察、调研、技术交流活动,使其加强创新意识,更新知识结构,同时注重对研发人员进行思想品德教育,充分发挥其创新积极性。

第十一章附则

第二十一条本章程解释权归XXXX研发中心。

第二十二条本章程自XXXX年XXXX月XXXX日起开始生效。

软件开发质量管理研究 篇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

配置管理 (Configuration Management) 是指用于控制系统一系列变化的学科, 通过一系列技术、方法和手段来维护产品的历史, 鉴别和定位产品独有的版本, 并在产品的开发和发布阶段控制变化, 通过有序管理和减少重复性工作, 保证产品生产质量和效率。

2 软件配置管理过程

软件配置管理除了负责控制变更之外, 还要负责表示单个的软件配置项和软件各种版本, 审查软件配置以保证开发得以正常进行, 以及报告所有加在配置上的变更等任务。在软件配置管理过程中, 需要考虑以下一些问题。

(1) 采用什么方式来表示和管理已经存在的构件、对象、程序、文档的各种版本; (2) 在软件交付用户之前和之后如何控制变更; (3) 谁有权批准和对变更安排优先级; (4) 如何保证变更得以正确的实施; (5) 利用什么办法来估计变更可能引起的其他问题;这些问题可归结到软件配置管理过程的五项活动中, 即配置标识、版本管理、变更控制、配置审核和配置状态记录。

3 软件开发过程中的配置管理的案例分析

手机基带处理系列芯片是一个面向下一代嵌入式无线通信终端集成软硬件的通用开发平台。手机基带处理芯片系列项目包含软件开发过程和硬件实现过程, 软件部分开发过程是芯片开发的主要环节, 包括芯片的总体设计、详细设计、模块验证、系统级验证、后仿真、实验室测试程序准备、生产测试程序准备等环节的开发工作;硬件实现过程是将经过充分验证后的设计代码以芯片的形式实现, 同时为实验室测试及生产测试准备相应的硬件平台等工作。本文主要介绍项目的软件部分开发全过程中实现配置管理。手机基带处理芯片系列的软件部分开发全过程主要可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从我们实施配置管理的角度来看, 后两个阶段所涉及的活动是一致, 所以就把它们合二为一, 成为“项目的开发和维护”阶段。

3.1 项目计划阶段

在项目设计开发任务书下达后, 由项目负责人按指定计划模版填写项目开发计划, 该计划必须明确开发总体进度安排, 以及项目各里程碑点的完成时间, 并分解各阶段详细任务。项目计划是指导产品/项目策划特定的开发过程, 保证产品/项目开发按计划有序地进行, 它是项目研发工作的基石出。

在有了总体研发计划之后, 软件配置管理的活动就可以展开了。在项目计划阶段, 配置管理的主要活动是制定配置管理计划, 如果不在项目开始之初制定软件配置管理计划, 那么软件配置管理的许多关键活动就无法及时有效的进行, 而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。

3.2 项目开发维护阶段

这一阶段是项目研发的主要阶段, 软件开发过程包括设计, 软件实现, 测试, 产品发布等阶段。而软件配置管理的实施活动是一致的, 贯穿于整个项目开发维护活动。配置管理活动主要分为三个层面: (1) 由配置人员完成的管理和维护工作; (2) 由系统集成员和开发人员具体执行软件配置管理策略; (3) 变更流程。

这三个层面是彼此之间既独立又互相联系的有机的整体。

(1) 系统设计。系统设计可分为概要设计、详细设计和数据库设计等部分。针对需求分析报告进行系统设计, 配置时应说明系统设计的版本与需求分析报告版本的对应关系。设计书评审通过后, 建立设计基线。

(2) 软件实现。依据开发计划执行编程、单元测试、代码审查、联调等。编码按功能模块分子项目, 即每个模块计作一个配置项。代码基线分别在单元测试结束后建立Alpha版, Alpha测试后建立Beta版, 在集成测试时建立M e r g e后版。

(3) 测试。对最终软件系统进行全面的测试, 确保最终软件系统满足产品需求并且遵循系统设计。各测试阶段应提供测试计划、测试用例、测试结果和测试分析报告, 项目启动后应提供项目测试计划书, 项目验收结束后应提交项目测试总结报告等。配置时应说明测试的版本与编码版本的对应关系。各阶段测试 (如单元测试、集成测试) 完成后建立测试基线。

(4) 产品发布。这一阶段主要是保证产品发布和产品开发工作成果移交的准确性和及时性;规范公司产品发布活动。在交付前配置审核完成后建立产品基线, 产品基线包含程序以及有关文档配置项。

4 结语

软件配置管理, 作为软件开发中一个重要支持过程, 其地位日益突出, 并且己经逐渐受到各软件企业的高度重视。。在软件开发团队中, 正确地采用、实施软件配置管理系统, 必将提高生产力, 增强对整个项目的控制, 改善软件产品的质量, 从容面对快速面市和产品质量的双重压力。只有做好了软件配置管理, 我们才能避免在软件开发中使项目管理、风险管理、质量管理、过程管理成为空中楼阁, 我们才能脚踏实地走向软件开发规范化管理的高峰。

摘要:软件配置管理贯穿于整个软件产品开发生命周期, 为软件研发提供了一整套管理办法和开发活动规则。本文对配置管理所涉及的主要内容和技术进行了分析, 以手机基带处理芯片的软件部分开发全过程采用软件配置管理进行控制为例, 提出了贯穿软件开发过程的配置管理实施方法。

关键词:软件开发,配置,管理

参考文献

[1]徐晓春, 李高健.软件配置管理[M].清华大学出版社, 2002.

[2]黄军, 刘晓梅, 熊勇.软件配置管理及其工具应用[M].人民邮电出版社, 2002.

[3]David E.Bellagio Tom J.Milligan.软件配置管理策略与IBM RationalClearCase[M].人民邮电出版社, 2006.

软件开发质量管理研究 篇8

信息化的发展突飞猛进, 逐步的渗透在各行各业中, 人们也慢慢认识到软件质量的重要性。只有拥有让顾客满意的软件工具才能在激烈的市场竞争中占据优势地位并且开拓更大的事业规模。但是近几年软件的发展却不尽如人意, 出现了许多低劣的软件产品, 导致市场秩序十分混乱, 也迫使研究人员开始关注软件的质量和软件质量的评估方法。要研究软件质量控制和定量评估, 那么搞清楚软件质量的含义至为关键。它不是我们在生活中我们常常向周围朋友推荐某个有意思的软件时所说的, 某某软件特别好用, 拥有定位功能, 还能智能识别等等, 这些软件的评价仅仅可以作为个人使用的体验而距离软件质量的科学定量评价还很远。国际社会上的权威机构国际标准化组织对将软件质量下过科学的定义, 认为软件质量是反映的软件产品满足规定需求和潜在需求能力的特征和特性的总和。在我看来, 软件质量是指一个内涵外延都很大的概念, 它反映了软件的方方面面,

是客观与主观的统一, 不仅是软件客观上所提供的消费者的需求。还包含主观上消费者使用后的用户体验。每个人的爱好不一样、需求不一致, 所以对于某一个软件所提供的功能期望值和体验效果也不一样。在正确的理解软件质量的概念后再考虑改善软件的相关质量属性才会更有效的提高软件的整体质量, 如此方能事半功倍。

在研究中, 为实现定量评估, 研究人员引入了数学函数度量, 函数输入和输出均为一个数值。输入不同的代表着软件质量的变量, 得出的结论就可以反映出给定属性对软件质量影响的程度。通过函数关系, 帮助人们更容易理解软件的特性和以此来描述。当需要评估一个新软件质量时, 软件度量的引入必可或缺。当把所有影响软件的质量要素的数值全部输入函数中去, 就能得出所有对软件质量的影响因素和其影响大小, 在此基础上综合分析所有数据, 那么软件的定量的质量评估也很容易做到了。所以, 度量计算和度量分析的基础都是数据收集, 它也是最困难的过程, 作为完整的度量过程的第一步, 在理想情况下, 数据收集是在项目中进行, 但遗憾的是, 现实在不同因素的干扰下很少能做到这样, 为了得到最有效最精准的数据, 人们只能在项目中不断的一次又一次的做调研, 直至完成数据收集。

2 软件质量的度量和建立软件质量评估体系

软件的质量控制应该在在整个软件生存周期中而不仅仅是已经开发好的软件。那么如何实现在软件产品完成之前进行质量评估, 在将度量的数学函数引入之前, 是没有办法通过定量的方式来评价软件的内部各个属性, 而依靠的是消费者使用后的主观评价。这样对于软件产品的质量评价就存在着很大的主观性并且无法再消费者使用之前有效的对其进行评测。软件度量的出现彻底扭转了这一劣势, 通过用数学函数定量的分析在软件开发过程中对软件就进行质量控制, 提高了软件产品的质量。在软件研究人员的系统研究中, 发现要进行科学软件质量度量分析, 必须要建立软件质量评估体系。首先, 建立软件质量需求规格说明, 每个软件的开发都是顺应当下社会发展和人民一定需求而产生的, 因此, 每个软件都有自身所需要满足的特定目的。这就要求软件的研发人员必须在软件的开发前完成质量需求规格, 软件的开发研制就有了方向, 并且着还是未来软件评估的质量的基础。第二步骤是准备度量, 在准备评测度量时, 特别需要注意的是当遇到一些无法直接测量软件质量需求时, 就可以先确定相关的度量元。例如一些相关的软件质量特性和子特性的描述软件就会无法直接度量。同时要具体问题具体分析, 不同的软件的应用环境所确定软件的度量元是不同的, 建立软件开发中各个阶段的度量元、度量特性的发硬模型, 由此确定合理的评估准则。第三步骤就是最终实现软件质量的度量。在前文中提过, 数据收集在软件质量度量的过程中十分重要, 没有一份准确的数据则后面的度量分析、评价都无法开展。因此在数据收集过程中, 首先要确定收集的数据条件, 再了解数据的存放方法。由于全面实施度量的风险较大, 因此在大范围的实施度量前先进行小范围的数据收集和度量计算, 之前必须确认数据样本具有随机性和保证最小样本数等原则, 然后再检查所收数据量的一致与否、检查样本。其次, 分析质量度量结果。分析质量报告最重要的是对度量元的分析, 分析当前的度量中可以用来预测软件质量的属性值。根据预测的数值决定是否要还要对软件某一特性进行进一步的度量分析。最后是确认阶段, 对比预测值和最后实际中的度量值, 判断预测的度量值是否准确地测定了它们的相关质量要素。

3 软件质量定量综合评估

在对收集的数据仔细分析的基础上, 就可以对软件质量的程度给出评价了。至于评价的方法多种多样, 如常见的达标法, 达标, 顾名思义就是符合标准的意思, 当软件符合要求的指标则为合格;不符就是不合格, 除了达标法、还有评级法、评分法即使评分法、评级法将模糊的标准改为评定指标的具体数值, 有所进步, 但是这些方法的特点依旧没有摆脱简单容易操作但是很难保障结果科学性和公正性缺点。所以摆在我们面前的难题就是评估一些很难定量化的质量特性, 由于每个人对于软件的质量的各种属性看法褒贬不一, 很难直接量化, 所以要建立一种可以对模糊属性进行量化和定量评价的软件质量评价体系。本文所要提到的就是模糊综合评估模型。在这种模型下只有对各要素权重进行赋予一定的代表值才能实现有效的软件质量评估。赋值方法是通过从定性数据信息得到定量数值, 变定性为定量, 那么怎样实现权重的分配方案, 本文选择的是运用层次分配权重分析方法。它能判断不完全和不确定属性的可能性大小, 一旦这些非数值型特性的被输入就会被转化为比例标度和绝对标度, 进而就可求出质量属性的权重。

4 软件质量全面管理

上文主要是分析了所有软件质量度量的相关的方法和技术, 但方法和技术都是获取数据的手段, 这些数据是未来工作人员分析、研究、评估软件质量的基础。在拥有的数据的基础上, 如果我们想要实实在在的提高软件的质量就只有从影响质量的几大因素着手。据研究结果称, 影响质量的因素是过程、技术和人。在这些因素中, 最容易实现的途径就是从过程入手, 技术的提高和人的管理都只有在有效的过程管理下, 才可能发挥其最大成果。所以, 鉴于管理过程对人和技术的巨大影响作用, 要有效的控制软件质量就必须制定软件质量全面管理的体系。

制定和实施全面的质量管理, 在设定好的软件质量目标的基础上进行设计制作, 并且还要有详细的关于流程的规定, 此外, 尽可能的排除质量环节中可能存在的缺陷隐患。软件质量管理能力提高必然会提高软件的质量, 也容易赢得用户的满意度。全面质量管理是一套系统的控制、提高质量的管理技术和科学技术。作为一种管理的技术, 他不是新生产物, 产生于上世纪50年代发展到今天已经相当的成熟。在刚刚兴起之时, 软件质量管理由于互联网通讯技术还没有实现普及, 因此, 直到70年代开始才逐渐的被人们重视和研究的, 在发展的过程中, 全面管理走过了从测试成品质量, 其后引入了度量函数概念变成对产品生成过程的质量控制的发展历程。为实现在软件业上开展全面质量管理, 确定了全面管理的基本的规则和实施指南。当前国际上较为流行的主要的二个成果是:CMM模型和S09000系列标准。但是虽然这两个模型是国际上为大家公认的, 但是并不是指它没有缺点, 完美无缺的。笔者认为至少这两个软件都存在以下几个缺陷:有些人持着抛开商业目标光谈质量的观点, 这种观点显然存在着问题, 管理的重要性不必赘述, 但是目标的重要性却被很多人都忽略掉了, 管理的最终也是要实现目标, 一心追求全面高质量的管理而完全不管不顾商业目标是没有任何现实意义的, 未来发展也会受阻, 因此在笔者看来, 一套实用主义的“全面软件质量管理”模型才是真正能够令其发挥作用的。众所周知, 缺陷的对立面是质量, 越高质量软件意味着越少的软件缺陷, 所以作为工作人员就要尽量的减少缺陷进而提高质量, 而减少缺陷的最有效的方法就是将高质量贯彻在于开发过程之中, 通过质量控制监视软件内部质量过程, 尽可能减少质量环节中可能存在的缺陷隐患。

参考文献

[1]李华旺.航天嵌入式现代工业小卫星软件容错设计及测试系统[D].中国科学院 (博士论文) , 2001.

[2]刘孟仁等译.卡耐基梅隆大学软件工程研究所编著, 能力成熟度模型 (CMM) 软件过程改进指南[M].北京:电子工业出版社, 2001.

[3]石柱.何新贵.基于模糊技术的软件质量评价及可靠性评估[D], 北京航空航天大学博士, 2000.

[4]石柱.何新贵.模糊软件质量综合评价[J].系统工程与电子技术, 2002, 24. (12) :121-122.

软件质量管理研究的发展 篇9

软件作为信息产业和现代服务业的核心,是我国调整产业结构、转变经济增长方式、走新型工业化道路的基础性和战略性要素,是信息时代国家能力竞争的焦点。随着软件产品的规模越来越大、功能越来越复杂和完备、应用范围越来越广泛,软件产品的质量问题就显得越来越突出。20世纪80年代末,出现了面向对象的软件开发。20世纪90年代,随着网络的兴起,分布式计算迅速发展,B/S、C/S架构广泛流行[1]。这些都在一定程度上提高了软件质量的管理水平,但总的说来,软件质量问题并没有很好地解决。

表1质量管理理论发展的五个阶段

2 质量管理的发展

质量管理指一个组织以质量为中心,全员参与为基础,为追求顾客满意和组织所有受益者满意,而建立和形成的一整套质量方针、目标和体系[2]。质量管理理论始于上世纪初期,其理论的发展大概经历了五个发展阶段,如表1所示。

软件产品作为信息技术的核心,其质量管理的重要程度己经到了不容忽视的地步。它是一种特殊的逻辑产品,软件的“制造”过程基本等同于“设计”过程,显然不能生搬硬套硬件产品质量管理方法来管理软件产品的质量。从早期的成品测试、度量发展到对产品形成过程的质量控制和保证,人们为解决软件危机做了多方面的努力。

ANSI/IEEE STD729将软件质量定义为:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括:软件产品质量满足用户要求的程度;软件各种属性的组合程度;用户对软件产品的综合反映程度;软件在使用过程中满足用户要求的程度。GB T6583-ISO 8402(1994)定义软件质量为:反映实体满足明确和隐含需要的能力和特性总和。还有其他的观点认为软件质量是“所有描述计算机软件优秀程度的特性的组合”[3]。也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。

3 软件质量管理标准和方法

软件质量管理在上世纪70年代软件危机之后引起重视,软件开发过程中的质量保障一直是困扰人们的难题,为此各种建立专门针对软件产品的质量管理方法。目前国际上对于软件质量管理的研究最主要的二个流派是:ISO标准和CMMI模型。

3.1 ISO9000

ISO9000是一组质量保证管理系统的标准和指南,由国际标准化组织(ISO)建立并为欧盟所接受。国际标准化组织于1987年3月正式公布了ISO9000-ISO9004五个标准,与ISO8402:1986一起统称为“ISO9000系列标准”,还有后来发展起来的几个系列标准也被应用到软件的质量管理过程中。ISO9000系列的主要用途是为企业建立质量体系,并提供质量保证的模式。自发布以来,己经陆续发布了十几个相关的标准和指南,形成了质量管理和质量保证标准体系[4,5]。

在ISO9000系列中,ISO9001是一个符合软件开发与维护的标准。它对企业的质量管理体系给出了一个宏观的框架。ISO9001包含20个要素,描述了软件企业质量管理和控制的各个环节,给出了一般质量系统的需求。此外,由于ISO 9001标准适用于所有的工程行业,为了在软件过程的使用中帮助解释该标准,而专门开发了一个ISO指南的子集,即ISO 9000-3。ISO9000-3为软件企业导入ISO9001提出了一个指南。

2000版的ISO9000标准受到全面质量管理思想的影响,确定了过程模式,以组织内明确定义的过程来进行质量保证和评价,ISO9000突出了把持续改进的过程作为提高质量管理体系水平的重要手段的要求[6],这也增强了质量管理体系与其他管理体系的兼容性。

3.2 CMM/CMMI

CMM(Capability Maturity Model)是能力成熟度模型的缩写,CMM是国际公认的对软件公司进行成熟度等级认证的重要标准。该模型由美国卡内基-梅隆大学的软件工程研究所(简称SEI)受美国国防部委托,于1991年研究制定,初始的主要目的是为了评价美国国防部的软件合同承包组织的能力,后因为在软件企业应用CMM模型实施过程改进取得较大的成功,所以在全世界范围内被广泛使用。

CMM的基本思想是,因为问题是由管理软件过程的方法引起的,所以新软件技术的运用不会自动提高生产率和利润率。CMM有助于组织建立一个有规律的、成熟的软件过程。改进的过程将会生产出质量更好的软件,使更多的软件项目免受时间和费用的超支之苦。

CMM共分五级。在每一级中,定义了达到该级过程管理水平所应解决的关键问题和关键过程。每一较低级别是达到较高级别的基础。其中五级是最高级,即优化级,达到该级的软件公司过程可自发地不断改进,防止同类问题二次出现;四级称为已管理级,达到该级的软件公司已实现过程的定量化;三级为已定义级,即过程实现标准化;二级为可重复级,达到该级的软件公司过程已制度化,有纪律,可重复;一级为初始级,过程无序,进度、预算、功能和质量等方面不可预测。

CMMI(Capability Maturity Model Integration)软件能力成熟度模型集成模型是SEI于2000年发布的CMM的新版本。CMMI不但包括了软件开发过程改进,还包含系统集成、软硬件采购等方面的过程改进内容。CMMI纠正了CMM存在的一些缺点,使其更加适用企业的过程改进实施。CMMI适用SCAMPI评估方法。需要注意的是,SEI没有废除CMM模型,只是停止了CMM评估方法:CBA-IPI。现在如要进行CMM评估,需使用SCAMPI方法。但CMMI模型最终代替CMM模型的趋势不可避免。

CMM与ISO9000的主要区别是:CMM是专门针对软件产品开发和服务的,而ISO9000涉及的范围则相当宽;CMM强调软件开发过程的成熟度,即过程的不断改进和提高。而ISO9000则强调可接收的质量体系的最低标准。一般而言,通过ISO 9001认可的企业可达到CMM2级或略高的程度,通过CMM3级的企业只要稍做补充,就可较容易的通过ISO 9001的认证。粗略的说,ISO 9001近似于“CMM”2.5级。ISO 9001约有80%的文件可以用于CMM2级评估。

3.3其他标准

国际上还有其它应用广泛的软件质量管理技术标准,如表2所示。

4 软件质量管理工具

国内外开发的软件过程工具有很多,其中最著名的就是Rational系列产品。Rational软件是IBM软件集团旗下之第五大软件品牌,通过提高企业的软件开发能力,可以帮助各组织机构创造商业价值。财富100强中有98家企业依靠Rational工具更快地构建出了更好的软件。Rational平台从根本上改善了各组织机构的软件构建方法。它鼓励团队采用迭代式开发模式,以降低项目风险;专注于构架,开发出更有弹性的系统,以迅速适应不断变化的业务需求。有效地管理变更,并保护关键战略资产。最终结果是:更为娴熟的软件开发团队和反应灵敏、有弹性、更为专注的业务。

Rational软件工具为开发人员和开发团队提供了整个开发生命周期的支持。单独使用时,Rational软件的每种工具在其各自市场领域中都处于领先地位。结合使用时,它们更是提供了无与伦比的自动化和易用性。Rational软件工具可以在Windows、Unix、Linux和大型机平台上使用,并且可以支持绝大多数语言、IDE和操作环境,其中包括:Java、Eclipse、C/C++/C#、Visual Basic.NET、Microsoft.NET、COM/+、CORBA、100多个针对实时和嵌入式系统开发人员的开发环境,以及最新的Internet/Web服务标准。

5 国内软件质量管理现状

在国内由于软件业起步较晚,很多软件开发的质量管理还不能达到国际上的水平,但近年来发展很快,在软件开发中加强质量控制的重要性也逐渐被重视,很多的软件质量保证技术的通用性国际标准也开始被逐渐重视起来,国家根据ISO系列标准也制定的一系列的国标,可以很好的规范软件质量管理。而像国内一些大的软件开发商都在利用CMM标准来规范自身的软件质量管理。一些软件开发机构已经达到了CMM5的标准。利用质量管理的过程中的理论体系到实际的软件开发中已经成为软件开发者的必然选择。截至2007年3月在中国通过CMM/CMMI第五级认证的企业基本信息见表3。

6 结束语

国务院[2008]18号文件明确鼓励大力发展软件产业,并要求软件企业加强质量管理,以整体提升我国软件产业的国际竞争力。然而,一些传统流行的国外软件工程工具,如Rational系列产品,不但每授权用户高达数千美元,对用户水平又有较高的要求,而我国大多数软件企业的管理、技术和经济水平都还处在非常初级的阶段,因此仅靠这些工具难以实质改善我国软件产业质量管理不尽人意的状况。迫切需要适合中国软件企业管理模式、文化背景、应用水平和价格要求的“软件质量管理平台”。

摘要:软件质量以及软件质量管理日益成为人们关注的焦点。文章在前人研究的基础上,对目前国际上流行的软件质量管理的理论和方法进行研究,重点讨论了当前较为通用的两种软件质量管理的标准—ISO9000标准和CMM(能力成熟度模型),并分析二者的相关性和差异性。总结了国内软件质量管理的现状,以及进行软件过程改进所面临的问题。

关键词:软件质量,质量管理,ISO9000,CMM

参考文献

[1]杨芙清.软件工程技术发展思索[J].软件学报,2005,16(1).

[2]Kitchenham,B.A,Dyba,T,Jorgensen,M.Evidence-based software engi-neering.Proceedings[C].26th In-ternational Conference on ICSE,2004:273-281.

[3]林征.基于软件过程的质量管理[J].电脑知识与技术,2007,2(8):472-472.

[4]ISO/IEC9126-1.2:Information Technology-Software Product Quality-Part1:Quality Model[S].ISO/IEC JTC1/SC7/WG6,1998.

[5]ISO/IEC TR15504-2:Information technology-Software Process Assessment-Part2:A Reference Model for Processes and Process Ca-pability[S],Canada,1998.

[6]李怀璋,王青.基于ISO9000和CMM的软件质量管理系统的研究[J].软件学报,2001,3:25-27,

[7]Top-level Standard Map ISO12207,ISO15504(Jan1998TR)[Z].Software CMMI Vol.1,Vol.2Draft C231998,2.

[8]彭文忠.通信业TL9000质量管理体系的审核和实施[M],北京:中国标准出版社,1998,2.

软件开发质量管理研究 篇10

随着经济全球化的浪潮与计算机技术的发展,企业之间的竞争愈演愈烈,虽然我国的银行在很大程度上还具有垄断性质,但是近几年,随着政府对金融业务的放开,一些私有的银行与融资机构已经对国有银行的业务与利润产生了很大影响。我国银行业的市场化程度正在逐年提高,客户的满意度与客户忠诚度对银行的盈利已经非常重要。

2 客户关系管理的理论基础

客户关系管理(C ustome r Relationship Management,CRM)是一个不断加强与顾客交流,不断了解顾客需求,并不断对产品及服务进行改进和提高以满足顾客的需求的连续的过程。其内涵是企业利用信息技(I T)术和互联网技术实现对客户的整合营销,是以客户为核心的企业营销的技术实现和管理实现。客户关系管理注重的是与客户的交流,企业的经营是以客户为中心,而不是传统的以产品或以市场为中心。

通过客户关系管理可以有关的使员工全面了解客户关系,根据客户需求进行交易,记录获得的客户信息,在内部做到客户信息共享;对市场计划进行整体规划和评估;对各种业务流程进行跟踪;通过大量积累的动态资料,对市场进行全面分析。和现有的管理模式及业务部日常工作紧密结合,建立可视的流程化管理,固化管理制度,减少随意性和形式化,使管理具有可操作性与可实施性。

3 基于CRM的银行软件开发

3.1 运用CRM改进银行软件开发的必要性

运用客户关系管理的理论对银行软件的开发流程进行改进,其必要性主要体现在软件开发过程当中的需求分析阶段,具体表现在以下几个方面:

(1)需求分析的合理性不能明确判定。

由于我国的银行系统大部分都没有对软件开发实施投资收益分摊与运行成本分摊,这就导致银行的业务部门在需求分析分析阶段时比较随意地提出有关的需求,因此对系统的要求和依赖性都比较强。开发部门也因此需要面对不同业务部门和不同分行的需求分析,在需求分析管理与需求分析合理性判定上没有足够的控制权,也缺乏一个可以监督各个部门、各个分行需求的管理机构进行统一管理、控制需求分析。

(2)需求分析表述模糊、不能文档化。

银行的工作人员一般都不具备软件开发的基本知识,因此这些银行的工作人员在向软件开发人员提出市场与客户的需求时,通常只能够提出一个初步设想,而没有经过完整、系统地思考,更没有对需求的可行性进行论证。所以这些需求分析通常没有进行文档化处理,并且其语言描述也不是非常清晰。

(3)需求分析变更频繁。

在银行的运营管理当中,即使工作人员的业务非常熟练,但是在实际的银行软件开发过程中,银行的工作人员也很难考虑到所有需求变更的问题,以使需求分析涵盖客户全部需求。而且,需求分析的变更还经常会引发部门之间的矛盾。

3.2 基于CRM的银行软件开发流程

基于客户关系管理的银行软件开发,就是在银行软件的开发过程中融入客户关系管理的理念。基于客户关系管理的银行软件开发流程见图1所示。

根据流程图的描述,银行的用户与银行的数据库组成的信息反馈系统就是一套可以投入使用的CRM系统,因为CRM本身不仅是一种管理理念,而且也是一套成熟的管理系统。银行可以运用这套CRM系统广泛收集金融客户的需求并将这些需求存储到数据库中。

在完成信息收集工作之后,银行的有关部门可以将存储在银行数据库中的客户需求通过通信链路传输给软件开发部门的服务器,而在软件开发部门的服务器中可以预先设置数据挖掘功能,对银行所传输的需求进行分类整理,具体的分类整理工作包括以下几个方面:

(1)分析客户,对客户自动分类,列出核心客户名单,评价其信用等级,对属于不同类型的客户提供差异化的服务内容。

(2)按地区、行业等分别给出对比图表,统计流失客户名单及其所占份额,分析原因,通过分析客户的变化情况,结合各客户当年的贡献量、信用等级,对银行业务给出定量预测。

(3)建立Call Center,用户可通过电话访问客户服务中心的数据库,按照客户服务中心的语音,获取各种信息咨询和信息服务。

银行的业务人员完成以上工作之后则需要将数据通过通信链路传输到软件开发人员的工作站,而软件开发人员就可以进行初期需求分析。初期的需求分析完成之后,这些信息还要再次反馈给客户,客户可以不断修正自身的需求,并将变更之后的需求告知银行。经过多次修正之后,软件开发人员就可以完成全部的需求分析工作,而在此期间,软件开发人员可以根据已经基本确定的需求先进行初步的软件开发工作以节省项目的时间。

4 结语

基于客户关系管理的银行软件开发,其实质就是在软件开发的需求分析阶段运用以客户为中心的客户管理理念与方法,广泛收集客户的需求信息,从而使所开发的银行软件真正成为面向客户的应用系统。而要切实贯彻客户关系管理的思想,则需要银行的管理者特别是高层管理者转变经营意识,认清当前竞争激烈的市场环境。同时也要求软件开发人员在为银行系统开发应用软件的时候能够更多地面向银行的终端客户,以银行终端客户的需求作为所开发的应用软件的直接需求,从而实现合作共赢。

摘要:本文首先对客户关系管理进行了讨论,界定了客户关系管理的概念;分析了客户关系管理的内涵并确定了客户关系管理的功能,然后将客户关系管理的理论与软件工程的理论相结合,详细论述了基于客户关系管理理论的银行软件开发流程,并对客户关系管理思想的贯彻实施提出了建议措施。

关键词:客户关系管理,软件开发,银行

参考文献

[1]百度百科.客户关系管理[Z].http:// baike.baidu.com/view/10090.htm. 2010.

[2]丁乃鹏,段敏.客户关系管理发展综述[J].经济经纬.2005,(2).

[3]方明.CRM理论与中国企业的实践[J].价值工程,2003,(1).

[4]张杰.CMM在银行软件研发中的应用[J].中国金融电脑,2003,(3).

上一篇:以貌取人下一篇:奶牛酮病