行业资讯

xingyezixun

行业资讯xingyezixun

联系我们CONTACT US

电 话:+86-755-83867315
传 真:+86-755-83867927
E-mail:sales@runesd.com
地 址:深圳市福田区深南大道6007号安徽大厦创展中心1821室
行业资讯您现在所在的位置 : 网站首页 - 行业资讯 - 行业资讯
职业认证:事实或虚构
----By Steve McConnell, Construx Software and Leonard L. Tripp, The Boeing Company--- 
   本文原文发表在 IEEE软件杂志1999年第11/12月期 
    
    对许多程序员来说,软件开发是一件又辛苦又乏味的写作过程。随着我们的逐渐成熟, 该是去学习其它专业学科的时候了,即把工程引入软件工程。贵宾编辑审视了为建立我们的职业,已经做过些什么,还需要做些什么。 
    
   今天软件开发最通常的方法是写写改改的程序设计方法。在这种方法里,开发团队开始对构建什么有个总体想法,他们可能有形式说明,但或许没有。他们使用任何一种适合他们的非正规设计、编码、调试和测试的方法。程序员编写一小段代码, 再运行看看是否工作, 如果不行,他们就改写直到它工作。这种边写边改的远远落后于现代的软件开发技术, 它化费更多,又费时,还产生比其它方法质量低的软件;它的主要优点是只需要少量的技术和管理培训。一些领先组织已经知道并使用有效的软件开发实践有数十年了,但是在软件界平庸实践和最佳实践之间的差距还是十分巨大。 
    
   如果说软件开发胜任力谱上的一端是被编编改改开发方式所占领的话,那另一端就是软件工程– 按IEEE标准610.12的定义, 这就是“对软件的开发、运行和维护应用系统、规范、可定量的方法”。 
    
   近来,软件工程界看到了有关建立、支持、传播实践软件开发者行为高级标准一些鼓舞人心的发展, 这期专刊特别关注那些支持一个真正软件工程职业的近期发展。 
    
   Elements of a Profession职业要素 
   1996年Gary Ford 和Norman E. Gibbs发表了一篇名为成熟的软件工程职业的报告。他们研究了几个健全构成的职业,包括医学、法律、工程和财会。他们观察到其它领域的职业不管它们的特定学科是什么, 都遵循相当类似的专业发展道路。 
    
   成熟的职业包括下列几个要素: 
    
   Initial professional education初始职业教育 
   Accreditation水平鉴定 
   Skills development技能发展 
   Certification认证 
   Licensing执照制度 
   Professional development职业发展 
   Professional societies专业学会 
   Code of ethics道德规范 
   初始职业教育 
   专业人员一般通过完成他们所选领域的大学教育程序,如医学、工程或法律, 开始他们的职业生涯。 
    
   软件教育的占优形式是计算机科学的本科学位。最近,在定义软件工程本科程序方面取得了进展。软件工程这个术语经常被误解,一种方法是去阐明软件工程和计算机科学的区别。在本期中重印了“软件工程程序不是计算机科学程序”一文, David L. Parnas描述了两者之间的差别,对我们所理解的软件工程提出了最清楚的解释。 
    
   水平鉴定 
   大学程序的水平鉴定,由监督体系确定是否每个程序提供适当的教育。这保证只要专业人员从鉴定过的程序毕业,他们将具备开始他们职业生涯所需有效的知识。 
    
   随着软件工程程序的扩展,水平鉴定变得更加重要。自从Rochester技术大学1996年在美国启动第一个大学软件工程程序,许多大学开出了类似的程序, 包括Auburn大学、密尔沃基工程学校、蒙默思郡大学和蒙大纳工学院。在加拿大肯考迪娅大学,McMaster大学,Memorial 大学,和渥汰华大学提供学士学位的课程,其它几个北美大学也在积极地考虑加进这些程序, 英国至少有13个大学和澳大利亚的6个以上大学提供本科软件工程程序。 
    
   这些程序的水平鉴定还没有到位。Gerald Engel在“软件工程学位课程的水平鉴定程序标准”一文中, 介绍了鉴定标准将会像什么样子, Engel介绍的工作将会显著地影响第一批进入产业的软件工程大学生的教育和技能。 
    
   技能发展 
   对大多数职业,单靠教育是不能充分地开发完全的专业能力。初生的职业人员需要在准备对他们领域里要完成的工作承担主要责任前, 需要运用他们知的实践。在美国,医生一般有3年的实习期, 注册会计师(CPAS)在获得执照之前必须在公开批准的组织中工作一年, 专业工程师必须有至少4年的工作经历。要求一段学徒期确保进入某一职业的人们能具备有符合要求能力水平的实践工作。对职业软件工程师来说什么是重要的知识?IEEE计算机协会和ACM已经定义了那些知识, Pierre Bourque, Robert Dupuis, Alan Abran, James W. Moore, 和Leonard Tripp在“软件工程知识体系指南”中描述了工作的进展, 这个项目非常重要,因为知识体系将会影响大学课程以及执照和认证考试的标准。 
    
   认证 
   在完成教育和技能发展后,一个职业人员必须通过一门或更多门考试确保他或她达到最基本级的知识。医生要参加公开考试, 会计师参加CPA考试, 专业工程师在学院毕业时参加工程基础考试, 然后4年后参加工程专业考试。有些职业要求定期颁发新证。认证是自愿的过程, 帮助公众确认谁有资格进入某一职业,谁没有资格。 
    
   在英国, 电气工程师协会管理软件工程认证程序, 英国计算机学会有职业发展计划。澳大利亚计算机学会提供信息技术认证程序, 软件工程属子专业。在美国,对软件工程还没有认证程序。计算职业人员认证学会提供计算职业认证。美国质量学会提供软件测试工程师和软件质量工程师的认证。众多的公司, 包括Microsoft, Novell, and Apple 计算机提供各种有关他们产品的认证证明。 
    
   IEEE计算机学会在1999年6月开始开发软件工程专业人员认证程序;它预期2000年第三季度认证可出台。 
    
   执照制度 
   执照与认证有些相似, 但除了它是强制性的, 并且它是由政府授权管理的。在这个领域许多令人兴奋的发展正在发生。德克萨斯州在1998年开始颁发职业软件工程师执照。(想要更多信息,请看IEEE软件杂志由John Charles写的报告“License to Code”(1998年9/10月) 和他最近更新的 "Software Engineering Licensing Weathers Challenge" (1999. 年9/10月), 在1999年6月加拿大不列颠哥伦比亚开始颁发软件专业工程师证书,1999年9月安大略湖也紧随其后。 
    
   颁发执照意味着什么?这是个好主意吗?颁发执照引起了强烈的反应,从“当然!”到“该死,不!”有一种观点,请看John Speed的文章,《What Do You Mean I Can’t Call Myself a Software Engineer?》。Speed是美国促进软件工程专业职业工程师执照的倡导者, 文章提供了在美国颁发执照过程的关键信息, 执照制度的基本原则也用在其它国家, 文章的边栏介绍了不列颠哥伦比亚、安大略湖以及英国的执照政策。至于其它观点,请看本期Dennis Frailey 和Tom DeMarco的《Point/Counterpoint》一文, Frailey 把执照制度看成是保证专业能力必要和有价值的手段, DeMarco 则把它比较为苏联的官僚制度。 
    
   职业发展 
   继续的职业教育在工作者开始职业实践后, 保持和改进他们的知识和技能。对工作在技术知识迅速变化的职业, 职业发展的需求显得最为强烈。医学可能是最值得注意的, 因为药品、医疗、医学设备以及诊断和治疗程序都在不断改进。在职业人员的初始教育和技能发展完成后,继续教育的需求帮助保证专业人员在整个职业生涯保证最基本的胜任能力水平。 
    
   职业发展的一方面是学习适当的实践标准。IEEE积极地开发软件工程标准超过20年,IEEE标准的汇合构成了软件工程师的一类实践标准。James W. Moore介绍了IEEE的最近成就“集成集的软件工程标准”。 Moore的文章是这些非常有价值的开发资源一个有用的引论, 它包含了关于IEEE对统一软件工程标准最近努力的一个有趣更新版。 
    
   专业协会 
   职业人员把他们看作为是具有同类想法人员社团的一部分, 他们把职业标准放在他们个人利益或者他们雇主的利益之上。最初,专业协会通常促进知识的交流, 随着时间的过去,他们的职责演变为包括定义认证标准,管理认证程序,建立水平鉴定标准,定义职业道德规范和惩罚违反这些规范的行为。 
    
   IEEE计算机学会和ACM已经积极地定义软件工程职业, 这项工作是由软件工程协调委员会(SWECC)统筹的, 要了解更多信息,可看边栏“软件工程协调委员会” 
    
   职业道德规范 
   每种职业都有其道德规范保证它的专业人员具有责任行为。规范规定不只是他的专业人员实际做的,而是他们应该做的。职业人员违反道德规范, 会被逐出他们的专业协会, 或者失去他们的执照。忠于公认的行为规范帮助专业人员感觉他们属于被尊重的团体,并且执行道德规范标准帮助维持最低的行为标准。 
    
   1998年,IEEE计算机学会和ACM采纳了软件工程道德规范和职业实践标准。Don Gotterbarn在《How the New Software Engineering Code of Ethics Affects You》一文中描述了规范, 这个规范通过明确定义软件工程师的道德义务, 支持一个成熟的软件工程职业。 
    
   展望未来 
    
   正在进行中的发展将直接或地间接地影响所有的软件开发者, 它们是积极的吗?按我们的看法,它们肯定对提高软件开发能力水平既是积极也是必需的, 但是许多这些发展仍处在早期阶段,有兴趣的软件实践工作者可以贡献对知识体系的定义,建立课程标准,制定执照许可政策,以及许多其它方面。IEEE软件的使命是“建立领先的软件实践者社团”, 我们希望你能帮助我们完成这一使命, 在推动软件工程成为一个职业方面, 发挥积极的作用,包括可以给我们发送您对本期内容中涉及的动议提出建议(software@computer.org) 
 
微信
咨询
电话
0755-83867315
顶部