软件工程论文.doc
- 文档编号:110322
- 上传时间:2022-10-03
- 格式:DOC
- 页数:5
- 大小:26.50KB
软件工程论文.doc
《软件工程论文.doc》由会员分享,可在线阅读,更多相关《软件工程论文.doc(5页珍藏版)》请在冰豆网上搜索。
软件管理——风险与利益共存的双刃剑
什么将影响我们的未来生活?
什么将决定我们国家的未来竞争力?
毫无疑问,答案之一就是信息技术。
当今,信息技术正推动社会日新月异地发展,并且已经影响到我们的生活方式,思维观念等。
作为信息技术的核心,软件开发正日益受到人们的重视——因为软件是一台计算设备的思维中枢。
经过数十年的发展,软件产业已经成为当今世界投资回报比最高的产业之一,与此同时,这一产业也正在潜移默化地改变着我们赖以生存的这个星球的面貌。
新世纪,软件产业已经呈现出了一些引人入盛的转变迹象——三个趋势,即:
网络化,服务化与全球化。
从20世纪70年代至90年代网络的诞生,到今天的万维网,未来的智能网络阶段,我们正在进入一个网络技术发展的新纪元。
在这期间,网络技术正呈现出四方面的变化趋势:
从静态网到动态网,从被动方式到主动方式,从呈现信息和浏览的窗口到智能生成的平台,从HTML到XML。
从中国的内陆到美国的海滨,从人头攒动的繁华都市到人迹罕至的蛮荒之地,网络的影响力已经无处不在,无孔不入。
因此,对于软件厂商而言,其所提供的服务也必须能够适应不同的地域,作用于不同类别的平台,适用于各种设备并支持不同的语言。
就目前来看,我国的软件产业正处于关键的转型阶段,而鉴于软件产业在中国发展的不少得天独厚的优势,相信我国的软件产业必然能够把握住前所未有的机遇,在不久的将来傲然崛起!
软件开发是一门科学,更是一艺术。
微软公司在二十几年的发展过程中形成了其独特的软件开发与设计的企业文化。
而相比之下,目前我国软件业的发展却是喜忧参半,我国虽拥有高素质,基础扎实,学习能力强且思维敏锐的软件专业人员,但大规模的软件生产在我国尚处于初期发展阶段,软件的研究与开发过程中尚有许多亟待解决的问题。
在这样的大环境下如何借鉴国外的先进管理技术经验就变得十分重要了,以微软为例,我觉得主要可以概括为以下几点:
1.独具魅力的企业文化与软件开发人员的培养。
2.从差别中寻找解决方案。
3.扎实的基础和创新,独立的工作能力。
4.主人翁精神和团队精神5.锲而不舍,从错误中学习的精神。
曾经,软件工程这四个字对于我来说是十分陌生的,但在接触后,我发现其中还是有许多有趣,深奥却又与生活共通之处的(如在风险管理的阶段,下文中会就风险管理进行详细的说明)。
软件工程看似浩大,但其实亦是由许多细小的部分堆砌而成的。
或许有人会说,软件工程没有什么用,但我觉得完全不是这样的,而且说出这种话的人一定也不了解(至少不会真正明白)软件工程的意义与优势。
根据长久以来的趋势,我们可以看到,在不久的将来,和软件的价格相比,硬件价格将是微不足道的,也就是说在购买了软件产品时,其运行所需的硬件产品则会免费提供,在这种时候,软件工程技术有助于降低成本,这种以高效率方式开发出高质量的软件亦是解决上述软件危机的一个最佳可行方案。
软件工程又是一个十分复杂的问题,因为影响因素不胜枚举。
一般来说一个工程项目的课题大小,接手工程的工程师的能力高低等等都会对它产生很大的影响。
直到现在仍然有很多人会认为软件工程就是编程而已,其实这也是一种错误的认识。
在软件工程中编程只是一个很小的部分,它所占用的时间,资源也远远不及需求分析,概念设计,测试等阶段的工作。
总的来说软件工程是一门讲述如何将应用系统的,训练有素的,可计量的方法来设计,操作,维护软件;也就是一门将工程化方法应用到软件开发过程中的学问。
随着人们对于经济效益,工作效率的不断追求,软件工程也越来越受到人们的关注,也由此形成了许多软件工程专有名词,技术。
对于一个软件的生成过程也有了更为严格的要求。
就历史来看,在软件设计的技术发展过程中,一共经历了探索式,面向控制流式,面向数据结构式,面向数据流式,面向对象式五个阶段。
而每一个阶段都逐渐加速了软件工程作为一门学科的发展。
在软件工程中项目管理可以说是一项最为重要的内容了,它作为一种广泛应用于各种工程,金融甚至农业生产中的技术管理过程,在IT行业中常常决定产品或企业能否成功。
软件项目管理的主要目的是确保软件工程师能够高效地顺利完成该项目,软件项目经理是全面负责指导一个项目以使其成功的人,他的存在能使开发人员集中精力做开发,而不被管理琐事所困扰;能让项目组内部不同角色人员间做好沟通协调;能扩展开发队伍的视野;能连接和平衡工程开发和商业运作之间的差别;能作为开发队伍与外界联系沟通的管理和协调员。
软件项目管理包含许多具体的步骤:
设定优先级,分析能力差距,定义质量,鼓励所取得的进步,从历史中学习,设定改进目标,规划项目,评估工作,跟踪进度,构建使用模型,了解竞争对手的动态,从工具使用中找出最高效的方法等等。
对于如何才能进行成功的软件管理,有经验的软件管理员们往往都有自己的一套见解,但归根结底总会包含如下几点:
1.对项目管理的重要性有清醒深刻的认识。
2.有一定的开发经验(即使只是作为一个旁听者这样的接触也是必要的。
3.了解你的对手并且永远不要认为对手比你弱(知己知彼,百战百胜)。
4.为每一个项目制定最合适的规划准则。
5.从失败中吸取教训。
6.尝试把握全局。
没有一个成功的,有经验的管理者是从来没有犯过错或失败的,相反,一个真正有能力的管理者是能够从一次次的失败中总结经验教训并将其运用与今后的管理之中,失败就如同是一块块基石,将未来的成功变得更加牢固。
在项目管理中,风险管理又可以称得上是其中最为重要的部分了(因为管理的最终目的就是要减少或者说避免不可预知的和可预知的一系列可能影响软件成败的因素),风险简单说来就是
(1)未来可能发生的某一事件,该事件将导致不好的结果。
(2)不好的结果本身。
风险管理亦可以定义为风险发现,暴露分析,应急计划,风险缓解和持续的转化监控的总和。
在开发所有的软件之前,进行开发前景的预测都是不可忽视的工作,例如某个公司要开发一个新的卡拉ok点歌系统,那么他首先要考虑的就是这个软件有没有开发的价值,即它可以在现有的点歌系统中脱颖而出吗?
它有哪些优势?
开发的成本与收益如何?
能否在规定的时间内完成?
完成不了又会怎样?
可以说,对风险的预测是决定此软件是否值得开发的决定性因素。
优秀的软件管理员一般都会在进行软件开发前思考这样的问题:
这个软件是否值得开发?
如果开发,在此过程中会遇到什么样的困难?
企业是否有能力克服这样的困难?
软件的投资与回报是否成比例?
是否值得花时间等等。
正因为这样软件开发经验才会显得如此重要。
风险管理是贯穿整个软件开发过程的一条纽带,它既包含前期的风险预测,中期的分析评估和后期的验收运行交付。
因此决不是有些人想像的那样只要在前期罗列出可能的风险并记录下来就万事大吉了的,风险报告需要在进行项目开发的每一步之前都仔细斟酌,必要时添加新的可能的风险进入风险管理列表中,在进行需求分析,编码,测试等具体操作时也不能忘记时刻跟踪。
这样,风险管理才能发挥它应有的作用。
如果我们把软件开发中的风险因素比作一只难以克制的野兽(好比是一只狮子,熊一类的猛兽),风险管理就如同是教导我们如何在不被野兽伤害甚至吃掉的情况下获得最大收益的方法。
对于任何企业来说,忽视或不进行风险管理都是极为危险的,即使偶尔一次因为得到了幸运女神的眷顾而项目成功,这样的好运也不会持续很久,而且当幸运女神不再帮助你的时候,软件成功也失去了可能性。
“既然风险管理如此重要,那我们就做吧。
”就我看来,这是一种最要不得的态度,因为当你没有进行风险管理的时候,失败可以轻而易举地被预见,所以你可能很早就放弃了(或许你自己发觉,或许受到别人的提醒),故你虽然得不到利益,却也不会因此而损失惨重。
但是如果你进行了风险管理(可事实上你并没有认真对待它),并认为该项目一直都是可行的,那你可能直到最后才发现软件的失败,可此时你已经为此付出了众多的辛劳和努力,公司也可能已经投入了大量的人力,物力和财力,这时一个软件的失败所造成的影响就是难以预计的了。
当一个企业或一个软件工作团队首先明确了风险管理的重要性后,他们首先要做的就是如何着手管理风险。
优秀的管理者们往往都拥有对风险敏锐的嗅觉,这并不是说他们能解决所有可能的风险,而是说他们能发现一般人无法发现的潜在风险。
同样,对不同的风险进行危险评估也是前期风险管理最重要的部分之一。
当然,或许有人会问,我怎么知道什么才是我的软件项目中的风险,即使知道了,对于那些看不见,摸不着的东西又要如何进行优先级的取舍呢?
我觉得,这要视具体情况而定。
以一个聊天程序为例,如果客户有明确的提交期限,那么这一条件就应该被列入风险列表中,时刻提醒工作团队不在规定时间内完成任务的结果就是软件的失败。
因此,在决定是否签约时,首先应该考虑公司的人员,技术,资源是否可能在规定的时间内完成软件的提交,即按时提交的可能性有多高。
不过,诸如某个团队成员在此期间生病,他的进度无法跟上就可以作为次要的风险考量,因为你完全可以在第一时间用替补人选替换他。
还有类似陨石撞击地球,地震导致工程无法继续则可以完全不在考量范围之内,那是即使预知也难以靠你(或你身边所有人)的力量挽救的风险事件。
由于风险的种种不确定性,风险管理也常常让人们因为害怕而诟病。
的确,风险管理的存在破坏了破坏了某些既有的管理方式(虽然那些方式可能并不能为软件开发带来实际的利益,但由于历史原因,想要追随的人还是不缺乏的。
正是在这样一个背景下才产生了“可以犯错,但不能不确定”的病态的企业文化,在翻阅了一些关于软件风险管理的书籍后,我深感这种文化对风险管理的致命。
可以说,正是这样一种想法,让一个公司或一个软件项目的风险管理形同虚设,或者更确切的说,会导致风险管理的负利益化。
设想一个很希望做好风险管理的人进入了这样的公司,或是在这样的公司里进行着风险管理工作,这真是一场恶梦。
积极性被完全打压,并且即使你明确地意识到了成功的未知,在截止日期前你仍然需不断的保证完成任务,因为你知道,如果说推迟提交日期是可以被原谅的话,那么一句“不确定”或“不知道”就一定会要了你的命。
在这样的情况下,人们的选择当然就是显而易见的了。
所以假如你想继续留在那里的话最好的方法就是放弃风险管理,要是做不到,那离开就只能是唯一的选择了(永远不要试图凭一己之力尝试改变一个企业的文化)。
在日常生活中人们往往会有意,无意地进行“赌博”(当然是抽象意义上的,这里对“赌博”的理解好比一个船主在出海前检查船时发现船可能发生沉掉的危险,但面对取消出航带来的损失,他最终选择了前者;又如同赛车手在已经意识到油箱里的汽油快要用尽,维修站的工作人员也已招手示意进站加油,但想到近在眼前的终点,以及进站加油就意味着将第一拱手相送,于是,赛车手决定相信赛车能挺到终点。
这样的“赌博”与风险管理的初衷是截然相反的。
船主的最后一次航行可能会中途遭遇风暴导致全员丧生,这时来自四面八方的评论也许都是指责他作出了错误的风险预测;那如果他带着乘客们顺利返航又如何呢?
是不是因此他就能免去指责呢?
答案当然是否定的,因为他没有资格作出航行一定会顺利的预测(以正船人的性命作赌注)。
同样,那个赛车手也是一样,虽然他可能取得第一,但在风险管理中“控制失败的后果”往往比“取得更大的成功”要来得重要。
一个软件开发的结果只有成功与失败,没有转圜的余地,而输了一场比赛总有第二场,第三场比赛在等着你。
风险管理决不是一场赌博,而是未雨绸缪,就像卡车司机们的格言一样“每一个皮球后面都有一个孩子。
”事实当然并不是所有皮球后都会有一个追逐着它的孩子,但必须清醒地认识到不采取任何措施所导致的后果将是严重的,不可挽回的。
因此,当司机们看到皮球的同时自然而然就会踩下刹车,这就是一种风险机制,即:
为了可能出现的坏情况先采取措施。
当然,这样的措施最后未必被证明是必要的,皮球的后面可能没有任何人,那仅仅是一个滚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 论文