软件工程专业_百度百科
软件工程专业
软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。
软件工程专业简介
软件工程专业是一门研究用工程化方法构建和维护有效的、实用的
软件工程知识体系全景图
和高质量的的。它涉及到程序设计语言,,软件开发工具,,标准,等方面。在现代社会中,软件应用于多个方面。典型的软件比如有,,,,,,,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。[2]
相关学者、组织机构都分别给出了:
Boehm:运用现代科学技术知识来设计并构造及为、和这些程序所必需的相关文件资料。
IEEE:软件工程是开发、、和软件的系统方法。
Fritz Bauer:建立并使用完善的化原则,以较经济的手段获得能在实际上有效运行的可靠软件的一系列方法。[3]
软件工程专业发展过程
软件工程专业概念提出
1960年代末期,程序在复杂度、规模和应用领域等方面的增长引人注目,这导致上千亿资金花费在软件开发上,许多人的工作和生活依赖于软件开发的成果。软件产品帮助人们获得更高的工作和生产效率,同时也给人们提供一个更加安全、灵活和宽松的工作与生活环境。尽管有很多成功之处,许多软件产品在成本、工期、质量等方面存在严重问题。主要原因是:
软件产品是复杂的,具有复杂性、不可见性和易变性,难以处理。个人或小组开发小型软件非常有效的编程技术和过程,在开发大型、复杂系统时难以发挥同样的作用。
1968年在德国举行的NATO软件工程会议上,为应对“”的挑战,提出了“软件工程”的术语。这个时期有代表性的软件工程定义是“为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则和方法”。
1972年IEEE学会的计算机协会第一次出版了《软件工程学报》。此后,“软件工程”这个语被广泛用于工业、政府和学术界,众多的出版物、团体和组织、专业会议在它们的名称里使用“软件工程”这个术语,很多大学的计算机科学系先后设立软件工程课程。[4]
软件工程专业学科雏形
软件工程早期的发展是理清软件工程过程的各种活动,提出软件生命周期的概念和软件开发的瀑布模型,制定软件生命周期中主要活动的质量标准。
1991年,和/的计算教程CC1991专题组将“软件工程”列为计算学科的九个知识领域之一。
1980年代末到1990年代初,计算机硬件普遍采用大规模集成电路。在单主机计算模式下,基于瀑布模型的软件开发过程和结构式过程语言编程范型占主导地位。软件工程得到巨大的发展。以阶段论看待软件生命周期,给规范和规程的制定、工具研制、、工程核算、组织质量过程带来极大方便,基于瀑布模型的软件工程的研究在软件需求分析、、、、软件过程改进等多个子领域得到深化和扩展,形成了软件工程学科的雏形。[5-6]
软件工程专业学科确立
1970年代末期,美国制定研究生教育计划时采纳了IEEE/CS提出的、制定软件工程教程的建议,为软件工程教育打下了基础。
1980年代末和1990年代初,软件工程教育得到卡内基-梅隆大学软件工程研究所(SEI)的培育和支持。他们调查软件工程教育的现状;出版软件工程推荐教程;在卡内基-梅隆大学建立软件工程硕士教育计划;组织和推动软件工程教育者研讨会。
1993年,IEEE-CS和ACM为把软件工程建设成为一个专业,建立了IEEE-CS/ACM联合指导委员会。随后,该指导委员会被软件工程协调委员会(SWECC)替代。SWECC给出了“软件工程职业道德规范”、“本科软件工程教育计划评价标准”和“软件工程知识体”(SWEBOK)。SWEBOK全面描述了软件工程实践所需的知识,为开发本科软件工程教育计划打下了基础。
2004年8月,全世界五百多位来自大学、科研机构和企业界的专家、教授经过多年的努力,推出了软件工程知识体、软件工程教育知识体()两个文件的最终版本,标志着软件工程学科在世界范围正式确立,并在本科教育层次上迅速发展。、计算机科学、计算机工程、、信息技术并列成为计算学科下的独立学科。[7]
软件工程专业教育发展
中国的软件工程基础技术研究始于1980年代初。当时,软件开发方法学成为研究热点。1980年在北京召开了中国首届软件工程研讨会,之后,许多高等学校和科研单位陆续开展了软件开发方法学、CASE工具和环境、面向对象技术等软件工程基础技术的研究。“软件工程核心支撑环境”,“软件工程技术、工具和环境的研究与开发()”等课题列入国家重点科技攻关项目,其科研成果代表了中国软件工程技术研究的水平。与此同时,部分高校面向研究生开设了软件工程课程,开始引进和编写软件工程教材。1984年和1985年,国家科委选择重点高校招收了两批(200人)软件工程硕士,为软件工程教育积累了经验。此后,高等院校开始为本科开设软件工程课程。部分高校从1988年开始试办软件工程专业(后来在学科调整时又归并到计算机科学与技术学科)。
1990年代,软件和软件构件技术成为研究热点,方法和技术成为的主流技术,软件过程研究及软件的过程改善受到广泛重视。随着软件工程技术的发展,高校又增设了面向对象技术,支持面向对象技术的Smalltalk语言、软件过程管理、、软件过程度量等课程,软件工程领域的教学内容不断丰富,教学时数不断增加,改革不断深入。
为适应中国经济结构战略性调整,实现软件产业和软件人才培养的跨越式发展,2000年发布了18号文件《国务院关于印发鼓励软件产业和集成电路产业发展的若干政策的通知》,2001年经教育部和国家计委批准,全国成立了35所示范性软件学院。各高校软件学院和计算机学院(系)为培养高层次、实用型、复合型、具有国际竞争力的人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软件工程实践和软件工程管理能力。这有效地促进了中国软件工程学科的发展,中国软件工程教育开始走向成熟。[8]
软件工程专业组成结构
ACM和IEEE-CS发布的SWEBOK定义了软件工程学科
需求驱动的软件开发过程
的内涵,它由10个知识域构成。[10]
(1)软件需求
描述解决现实世界某个问题的软件产品,及对软件产品的约束。软件需求涉及需求抽取、需求分析、建立需求说明和确认,涉及建模、软件开发的技术、经济、时间可行性分析。软件需求直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。[11]
(2)软件设计
设计是软件工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软件设计由软件体系结构设计、软件详细设计两种活动组成。它涉及软件、、、以及系统或构件的其它特征,还涉及软件设计质量分析和评估、软件设计的符号、软件设计策略和方法等。[12]
(3)软件构造
通过、、测试、调试、确认这些活动,生成可用的、有意义的软件。软件构造除要求符合设计功能外,还要求控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软件配置管理、工具和方法、软件质量密切相关。[13]
(4)软件测试
测试是软件生存周期的重要部分,涉及测试的标准、测试技术、测试度量和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质量。软件测试应该围绕整个开发和维护过程。测试在需求阶段就应该开始,测试计划和规程必须系统,并随着开发的进展不断求精。正确的软件工程质量观是预防,避免缺陷和问题比改正好。代码生成前的主要测试手段是静态技术(检查),代码生成后采用动态技术(执行代码)。测试的重点是动态技术,从程序无限的执行域中选择一个有限的测试用例集,动态地验证程序是否达到预期行为。[14]
(5)软件维护
软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新的环境。软件维护是软件进化的继续。软件维护要支持系统快速地、便捷地满足新的需求。基于服务的软件维护越来越受到重视。软件维护是软件生存周期的组成部分。然而,历史上维护从未受到重视。情况有了改变,软件组织力图使软件运营时间更长,软件维护成为令人关注的焦点。
(6)软件配置管理
为了系统的控制配置变更,维护整个系统中配置的一致性和可追踪性,必须按时间管理软件的不同配置,包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。
(7)软件工程管理
运用管理活动,如计划、、度量、、控制和,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设施管理;项目管理;度量和控制计划三个层次。度量是软件管理决策的基础。近年来软件度量的标准、测度、方法、规范发展较快。
(8)软件工程过程
管理软件工程过程的目的是,实现一个新的或者更好的过程。软件工程过程关注软件过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度量。软件工程过程分为,①围绕软件生存周期过程的技术和管理活动,即需求获取、软件开发、维护和退役的各种活动。②对软件生存周期的定义、实现、评估、度量、管理、变更和改进。[15]
(9)软件工程工具和方法
软件开发工具是以计算机为基础的,用于辅助软件生存周期过程。通常
一个QMS的过程方法的实施
,工具是为特定的软件工程方法设计的,以减少手工操作的负担、使软件工程更加系统化。软件工具的种类很多,从支持个人到整个生存周期。软件工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软件质量工具等。
软件工程方法支持软件工程活动,使软件开发更加系统,并能获得成功。软件开发方法不断发展。当前,软件工程方法分为:①启发式方法,包括结构化方法、面向数据方法、面向对象方法和特定域方法;②基于数学的形式化方法;③用软件工程多种途径实现的原型方法,原型方法帮助确定软件需求、软件体系结构,用户界面等。
(10)软件质量
软件质量贯穿整个软件生存周期,涉及软件质量需求、软件质
软件项目管理结构
量度量、软件属性检测、软件质量管理技术和过程等。
SWEBOK还把软件工程相关学科列为知识域,它们是软件工程发展不可或缺的部分。相关学科知识域包括计算机工程、计算机科学、数学、管理学、、质量管理、系统工程学和软件人类工程学八个领域。[18]
软件工程专业学科地位
软件工程学科是计算学科的分支,计算学科中理论、、设计等三个学科形态,绑定、大问题的复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、按时
软件工程内容概括
间排序、重用、安全性、折衷与决策等十二个基本概念,数学方法、系统科学方法在软件工程学科中占有重要地位。此外,软件工程还十分重视管理过程,以提高软件产品的质量、降低开发成本、保证工程按时完成。系统性、性、可度量性也是软件工程非常关注的。
软件工程学科的理论基础是数学、计算机科学。软件工程的研究和实践涉及人力、技术、资金、进度的综合管理,是开展最优化生产活动的过程;软件工程必须划分系统的边界,给出系统的解决方案。因此,软件工程的相关学科有计算机科学与技术、数学、计算机工程、管理学、系统工程和人类工程学等。[19]
软件工程专业主干课程
主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理
该专业除了学习公共基础课外,还将系统学习离散数学、、算法分析、、现代操作系统、与实现技术、、软件工程、、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。
软件工程专业培养方案
软件工程专业培养要求
本专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。
软件工程项目管理流程
掌握和计算机科学与技术相关的基本理论知识,具有一般计算机相关工程的分析设计和解决实际问题的能力。了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力。能够运用学习知识和外文阅读能力查阅外文资料。养成积极参加体育锻炼和健康的文化活动的良好习惯,达到国家规定的大学生体育合格标准,身心健康。
软件工程专业就业岗位
Java方向:J***A初级程序员、J***A计算程序员 、 J***A工程师 、J2EE系统工程师等。
.Net方向: .Net程序员网站开发工程师 .Net工程师等。
其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和 维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师。[20]
软件工程专业发展前景
本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机***与维护、网页制作、和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。
除考取国内外名牌大学研究生外,主要毕业去向是公司?信息咨询公司?以及金融等其它独资、合资企业。
中国的软件行业规模不是很大,有些在软件制作上,也只是采用了
关键设计原则
一些软件工程的思想,距离大规模的比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。所以软件工程的研究和应用,以及中国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程来推动。软件工程的前途是光明的。
软件服务外包属于智力人才密集型现代服务业。大量著名外包企业落户宁波。主要就业去向包括软件外包与服务企业、信息产品与服务企业,担任程序员、软件测试员、项目经理等工作岗位。
软件工程专业开设院校
西安电子科技大学 软件学院
国防科技大学软件学院
同济大学 软件学院
武汉大学软件学院
山东大学软件学院引
.3G梦工场[引用日期]
.捕捉对象网[引用日期]
.中国高速网[引用日期]
.江西发展网[引用日期]
.公共计算机基础网[引用日期]
.21CN教育网.[引用日期]
.华东理工贸易学院网[引用日期]
.中国教育网[引用日期]
.uml网[引用日期]
.中国学位网[引用日期]
.51cto网[引用日期]
.育龙网[引用日期]
.iteye博客(原创)[引用日期]
.java博客(原创)[引用日期]
.java软件技术[引用日期]
.uml网[引用日期]
.东南大学官网[引用日期]
.哈尔滨理工大学网[引用日期]
.考研教育网[引用日期]
.北大青鸟网[引用日期]
.umL网[引用日期]
.中国教育在线网[引用日期]
.中国教育在线网[引用日期]
.中华硕博网[引用日期]
中国电子学会(Chinese Instit...
提供资源类型:内容【图文】软件主设计是什么东西_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
软件主设计是什么东西
上传于||文档简介
&&讲述软件项目管理角色变迁相关内容
大小:167.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢软件配置管理_百度百科
软件配置管理
(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。管理应用于整个。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置管理简介
管理(Software Configuration Management),又称软件形态管理、或软件建构管理,简称软件形管(SCM)。界定软件的组成项目,对每个项目的变更进行管控(),并维护不同项目之间的版本关
联,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合。
软件配置管理,贯穿于整个,它为软件研发提供了一套管理办法和活动原则。软件配置管理无论是对于管理人员还是研发人员都有着重要的意义。软件配置管理可以提炼为三个方面的内容:
VersionControl-版本控制
ChangeControl-变更控制
ProcessSupport-过程支持[1]
关键活动包括:配置项、工作空间管理、版本控制、变更控制、状态报告、配置审计等。
软件配置管理发展历史
配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CM During the Development & Acquisition Phases”。
而软件配置管理概念的提出则在20世纪60年代末70年代初。当时福利亚大学圣巴巴拉分校的Leon Presser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“Change and Configuration Control”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。
Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。
随着的发展,软件配置管理越来越成熟,从最初的仅仅实现,发展到21世纪初提供管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;有将近二十年历史的;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky Firefly。
在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。但是通过专家们的介绍,可以感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。
软件配置管理基本目标
软件配置管理是在贯穿整个中建立和维护项目产品的完整性。它的基本目标包括:
目标 1: 软件配置管理的各项工作是有计划进行的。目标 2: 被选择的项目产品得到识别,控制并且可以被相关人员获取。目标 3: 已识别出的项目产品的更改得到控制。目标 4: 使相关组别和个人及时了解软件基准的状态和内容。
软件配置管理管理方针
为了达到上述目标, 如下的方针应该得到贯彻执行:
技术部门经理和具体项目主管应该使用和遵循XSSC的中所描述的软件配置管理的工作过程。施行软件配置管理的职责应被明确分配。相关人员得到软件配置管理方面的培训。技术部门经理和具体项目主管应该明确他们在相关项目中所担负的软件配置管理方面的责任。软件配置管理工作应该享有足够的资金支持,这需要在客户,技术部门经理和具体项目主管之间协商。软件配置管理应该实施于如下产品:对外交付的软件产品,以及那些被选定的在项目中使用的支持类工具等。软件配置的整体性在整个中得到控制。人员应该定期审核各类软件基准以及软件配置管理工作。使软件基准的状态和内容能够及时通知给相关组别和个人。
软件配置管理工具软件
常用的软件配置管理工具主要分为三个级别:
l Rational ClearCase,Perforce,CA CCC/Havest l Merant PVCS l Microsoft VSS,CVS
常用的开源免费的软件配置管理工具有:SVN[2]
软件配置管理相关职责
对于任何一个管理流程来说,保证该流程正常运转的前提条件就是要有明确的角色、职责和权限的定义。特别是在引入了软件配置管理的工具之后,比较理想的状态就是:组织内的所有人员按照不同的角色的要求、根据系统赋予的权限来执行相应的动作。因此,在本文所介绍的这个软件配置管理过程中主要涉及下列的角色和分工:
项目经理(Project Manager,PM):
项目经理是整个软件研发活动的负责人,他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。其具体职责为以下几项:
制定和修改项目的组织结构和配置管理策略;
批准、发布配置管理计划;
决定项目起始和开发里程碑;
接受并审阅配置控制委员会的报告。
配置控制委员会(Configuration Control Board,CCB):
负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。其具体职责为以下几项:定制开发子系统;
定制访问控制;
制定常用策略;
建立、更改基线的设置,审核变更申请;
根据配置管理员的报告决定相应的对策。
(Configuration Management Officer,CMO):
根据配置管理计划执行各项管理任务,定期向CCB提交报告,并列席CCB的例会。其具体职责为以下几项:
软件配置管理工具的日常管理与维护;
提交配置管理计划;
各的管理与维护;
执行和变更控制方案;
完成配置审计并提交报告;
对开发人员进行相关的培训;
识别软件开发过程中存在的问题并拟就解决方案。
系统集成员(System Integration Officer,SIO):
系统集成员负责生成和管理项目的内部和外部发布版本,其具体职责为以下几项:
集成修改;
构建系统;
完成对版本的日常维护;
建立外部发布版本。
开发人员(Developer,DEV):
开发人员的职责就是根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。
软件配置管理过程描述
一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为“项目开发和维护”阶段。
软件配置管理计划阶段
一个项目设立之初PM首先需要制定整个项??研发计划之后,软件配置管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。
在软件配置管理计划的制定过程中,它的主要流程应该是这样的:
CCB根据项目的开发计划确定各个里程碑和开发策略;
CMO根据CCB的规划,制定详细的配置管理计划,交CCB审核;
CCB通过配置管理计划后交项目经理批准,发布实施。
软件配置管理开发维护阶段
这一阶段是项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:
⑴主要由CMO完成的管理和维护工作;
⑵由SIO和DEV具体执行软件配置管理策略;
⑶变更流程。这三个层面是彼此之间既独立又互相联系的有机的整体。
在这个软件配置管理过程中,它的核心流程应该是这样的:
⑴CCB设定研发活动的初始基线;
⑵CMO根据软件配置管理规划设立配置库和,为执行软件配置管理计划做好准备;
⑶开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项目的研发工作;
⑷SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;
⑸CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的进行。
这个流程就是如此循环往复,直到项目的结束。当然,在上述的核心过程之外,还涉及其他一些相关的活动和操作流程,下面按不同的角色分工予以列出:
各开发人员按照项目经理发布的开发策略或模型进行工作;
SIO负责将各分项目的工作成果归并至集成分支,供测试或发布;
SIO可向CCB提出设立基线的要求,经批准后由CMO执行;
CMO定期向项目经理和CCB提交,并在CCB例会中报告项目在中可能存在的问题和改进方案;
在基线生效后,一切对基线和基线之前的开发成果的变更必须经CCB的批准;
CCB定期举行例会,根据成员所掌握的情况、CMO的报告和开发人员的请求,对配置管理计划作出修改,并向项目经理负责。
综上所述,配置管理的工作流程如图1所示:
软件配置管理
软件配置管理相关优势
国内已经逐渐认识到配置管理的重要性,都希望通过实施配置管理来提高软件开发管理的水平,增强企业自身的竞争力,应对市场的压力。
软件配置管理主要功能
针对市场的这些需求,Hansky公司在中国市场推出了业界技术领先的软件配置管理解决方案,产品包括配置管理工具Firefly和变更管理工具Butterfly。Firefly是Hansky公司推出的软件配置管理系统,它可以轻松管理、维护整个企业的软件、代码和文档。Firefly是一个高性能、运行速度极快的软件配置管理系统,支持不同的开发、运行平台,因此它能在整个企业中的不同团队、不同项目中都得以广泛的应用。Firefly能够对团队开发提供有力的支持,开发团队一旦拥有了Firefly,就可以非常准确的定义:软件将在什么时间发布;当前发布版本中有哪些功能,由哪些组件构成;当前版本中加入了针对哪些Bug的修改;软件的某个修改是谁认可的;如何建立新的发布版本;等等…
Butterfly是Hansky公司提供的新一代的软件变更请求管理软件。它以软件产品为中心,有效的协调软件项目中各职位人员的工作,能够使软件项目在较短时间内高质量完成。
Butterfly的主要功能如下:
提供对开发过程中的缺陷、建议和任务的追踪管理;
规划开发过程,完善编写,提高率,最大限度保护企业知识财富;
提供丰富的报表功能,以直观图形统计开发人员的工作进度和编码质量,客观评价员工表现;
优化业务流程,科学的使用户工作起来有条不紊,大大提高工作效率,同时用户可以根据实际情况简单、快捷地定制自己的业务流程;
掌握工作进度,在软件开发的各个阶段进行都可以进行强大的过程控制;
开发人员可以明确地了解他被分配的开发任务,并根据优先级依次完成;
提供友好的人机界面,支持工作分配的电子邮件自动通知,方便各种类型的工作人员使用,增加沟通和交流;
对软件的错误进行系统管理,从根本上提高软件产品竞争力,提高产品质量;
加速开发进程,规范软件产品开发的各个阶段,避免浪费不必要的时间。
软件配置管理具体优点
Hansky公司的配置管理解决方案给公司带来的益处将是显而易见的:管理者能够轻松控制产品的进度、质量;开发人员将有更多的时间进行创造性的工作;测试人员将依照一个标准的流程高效完成日常工作;产品发布人员能够确保交到用户手中的产品的质量。具体而言,用户可以在资金、管理水平和保护知识财富等方面得到切实收益。
节约用户资金
⑴ Hansky配置管理系统的总体实施成本低
对硬件系统性能的要求低,可以跨平台使用,节约了用户的投资;
***简单,易于维护,无需专职的系统管理员;
功能简洁、实用,易于学习和掌握,可以有效缩短配置管理系统投入实际使用的周期;
良好的扩展性和灵活的License管理方式,以及组件式的解决方案,使得配置管理系统既支持小组模式的用户,也能够支持大规模团队的协同开发工作,并且能够方便地进行扩展,用户可以根据实际需要,灵活的配置,大大降低了降低初期投入的资金;
具有前瞻性,保护用户的投资。Hansky公司的软件配置管理产品采用最新的技术(如纯TCP/、J2EE技术、MS .NET的等)和全新的(如、B/S应用结构等),确保系统在较长的时间内不会落后于同类产品或不需要技术上的更新;
自带存储库/恢复功能,节约用户在备份方面的支出。
⑵ 缩短用户的产品开发周期
利用Hansky的Firefly系统对开发资源进行和跟踪,可以建立公司级的代码知识库,保存开发过程中的所有,这样大大提高了代码的复用率,还便于同时维护多个版本和进行新版本的开发,最大限度地共享代码。利用Butterfly组建开发团体之间的问题跟踪及消息通讯机制,通过与的结合大大增强了开发团体之间的沟通能力,通过丰富的报表功能可对发现的问题进行整理、以报表方式分类报出,作为开发的指导。通过使用Hansky的配置管理套件可以提高开发效率和产品质量,避免了代码覆盖、沟通不够、开发无序的混乱局面,大大缩短了产品的开发周期。
⑶ 降低产品的部署费用
使用Hansky的软件配置管理解决方案后,用户可以在Hansky技术专家的帮助下建立规范的配置管理流程,所有的软件产品将得到统一有效的管理。借助Firefly和Butterfly,可以通过访问服务器直接获取所需的最新版本,查找公司的知识库,提交变更请求,收集用户的反馈意见。开发人员无需到现场即可再现用户环境,集中解决问题,发布补丁。这样可以同时响应多个地点的项目,防止开发人员分配到各个项目点、力量分散、人员不够的弊端,同时节约大量的旅差费用。
提高管理的水平
⑴ 改进用户的开发工作模式
使用Hansky的配置管理解决方案,可以有效地改进用户的软件开发模式和过程,提高企业软件能力成熟度的级别。
借助Firefly和Butterfly,用户可以:
有效的管理,各个成员的具有独立的工作空间,并能记录其变更集和整个生命周期中的完整变更历史; 简便建立分支,支持分支之间的比较与合并,归并,管理基线; 支持并行开发模式,提高开发效率; 支持异地开发,Firefly通过自动或手动同步不同开发地点的的存储库,为的开发团队提供很好的支持; 集成变更请求管理与项目生存周期中的变更记录与追踪,优化测试流程; 完善的发布管理,可以方便的回溯任意版本,为不同的用户定制应用程序的版本,促进系统的快速部署,提供发布版本内容的审计能力; 支持变更集和原子,确保变更的一致性; 支持离线的,帮助用户记录项目证明周期内的完整历史; 内置Defect、RFE、Task(问题、建议、任务)工作流,符合正规软件公司的。科学的工作流系统可以使公司人员工作起来得心应手,有条不紊,从而大大提高工作效率。
⑵ 加强项目管理能力
通过浏览器,项目负责人可以方便地查看项目进展情况以及员工工作情况; 利用Web界面即可实现代码复查和项目状态复查; 丰富的图表、报告功能,可以自动生成变更统计报告、配置,支持过程管理与进度分析,能够帮助管理者进行决策。
⑶ 量化工作量考核
传统的开发管理中,工作量一直是难以估量的指标。靠开发人员自己把握,随意性过大;靠管理人员把握,主观性又太强。采用Firefly和Butterfly管理后,系统能够客观的记录员工的工作内容和质量,可以作为工作量的衡量指标。
⑷ 规范测试流程
Butterfly和Firefly集成后,可以有效地跟踪和处理软件的变更,完整地记录测试人员的工作内容,测试有了实实在在的工作,测试人员根据修改描述细节对每一天的工作做具体的测试。对测试人员也具有相应的可考核性,这样环环相扣,有效地增强了对测试的管理。
⑸ 加强协调与沟通,增加团队竞争力
使用Firefly保存公司的所有知识财富、利用Butterfly的FAQ、检索以及Email自动通知功能,有效地加强了项目成员之间的沟通,做到有问题及时发现、及时修改、及时通知,却又不会额外增加很多的工作量,大大提高了开发团队的协同工作效率。
保护企业的知识财富
从整个企业的发展战略来说,如何在技术日新月异、人员流动频繁的情况下,该公司的知识库及经验库,把个人的知识及经验转变为公司的知识和经验,这对于提高工作效率、缩短以及提高公司的竞争力都具有至关重要的作用。采用科学的配置管理思想,辅之以先进的配置管理工具,可以帮助用户在内部建立完善的。
⑴ 代码对象库
是软件开发人员脑力劳动的结晶,也是软件公司的宝贵财富,长期开发过程中形成的各种代码对象就像一个个零件一样,是快速生成系统的组成部分。然而长期以来的一个事实是:一旦某个开发人员离开工作岗位,其原来所编写的代码便基本成为垃圾,无人过问;或者由于文档不全,无从考究。究其原因,就是没有专门对每个开发人员的代码、组件和文档进行科学的管理,将其应用范围扩大到公司一级,进行规范化,加以说明和普及。Firefly为代码管理提供了一个平台和仓库,有利于建立公司级的代码对象库,增进代码复用,提高开发重用率和。
⑵ 业务及经验库
通过Firefly和Butterfly,可自动生成完整的开发日志及问题集合,用文字记录开发的整个过程,不会因某人的流动而消失,有利于公司积累业务经验,无论对或版本升级,都具有重要的指导作用。此外,利用Butterfly内建的FAQ模块,可以建立检索方便的经验库,传播和共享集体的智慧。
⑶ 安全性和可靠性
由于配置管理系统了企业的重要知识财富,因此对其安全性和可靠性有极高的要求。Firefly可以对所有存储的文件进行,使用MD5作为文件的校验和,并提供备份和恢复工具,确保了数据的可靠性。同时Firefly支持用户和访问控制,支持用户组,便于权限设置。可以针对分支、目录,甚至单个文件设置,采用类似Windows NTFS的权限管理方式,既灵活又安全。这些措施使得企业的知识财富得到了安全可靠的存储和保护。
另外,由于Hansky的产品采用了设计,其存储库完全不依赖于网络文件体统,无需共享存储目录,能够有效防止病毒攻击所导致的存储库瘫痪或损坏,同时杜绝网络非法访问。
.开源中国.[引用日期]