当前位置: 网学 > 网学资源大全 > 计算机 > 正文

软件工程思想的重要性

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: admin 发布时间: 13/09/05
【网学提醒】:本文主要为网上学习者提供软件工程思想的重要性,希望对需要软件工程思想的重要性网友有所帮助,学习一下吧!

资料包括: 论文(4页5192字) 
说明:
在谈软件工程的重要性前,我先说说软件工程的思想。软件工程主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的,平凡之人皆可领会,关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计─—在出了问题后才打开看看,而应该事先掌握,预料将要出现的问题,控制每个实践环节,并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了,就完事。
软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。软件的质量因素很多,如正确性,性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。有些因素相互重叠,有些则相抵触,真要提高质量可不容易啊!软件工程的主要环节有:人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等。
最早出现的软件工程模型是线性模型(又称瀑布模型)。线性模型太理想化,太单纯,已不再适合现代的软件开发模式,几乎被业界抛弃。偶而被人提起,都属于被贬对象,未被留一丝惋惜。但我们应该认识到,“线性”是人们最容易掌握并能熟练应用的思想方法。当人们碰到一个复杂的“非线性”问题时,总是千方百计地将其分解或转化为一系列简单的线性问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,可以用线性的方式来实现,否则干活就太累了。线性是一种简洁,简洁就是美。当我们领会了线性的精神,就不要再呆板地套用线性模型的外表,而应该用活它。人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑子里的软件工程观念会无形地支配其怎么去做事情。软件工程三十年的发展,已经积累了相当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。
下面我就结合一些实际生活中的例子来从几个方面谈谈软件工程的应用,进而说明软件工程在计算机领域的重要性。
著名的3D游戏软件Quake,能够在PC机上实时地绘制高度真实感的复杂场景。Quake的开发者能把很多成熟的图形技术发挥到极致,例如把Bresenham画线、多边形裁剪、树遍历等算法的速度提高近一个数量级。我第一次看到Quake时不仅感到震动,而且深受打击。


这个PC游戏软件的技术水平已经远胜于我所见识到的国内领先的图形学相关科研成果(我为此查过了许多资料已经证实了这一点)。这对我们日益盛行的点到完止的研发工作真是莫大的讽刺。所以当我们开发的软件表现出很多不可救药的病症时,不要怨机器差。真的是我们自己没有把工作做好,写不好字却嫌笔钝。3D动画软件的瓶颈通常是速度,但如果为了提高速度而在程序中取消光照明计算,那么场景就会丧失真实感,3D动画也就不再有意义了。为此我们可以运用软件工程中的一些结构优化思想来解决这些矛盾。人都有惰性,如果允许滥用折衷的话,那么一当碰到困难,人们就会用拆东墙补西墙的方式去折衷,不再下苦功去做有意义的优化。所以我们有必要为折衷制定严正的立场:在保证其它因素不差的前提下,使某些因素变得更好。3D游戏软件Quake中为了提高游戏的速度,又不使光照效果变弱在游戏软件的整体结构上下了很大的功夫。像显示角度上,虽然每一个游戏都有它自己不同的显示视角,但是通常可以归纳为以下几类。象Command & Conquer 和 Starcraft 这样的游戏是斜45度俯视的角度, Quake 是第一人称的视角, Civilization则是概览地图的视角. 每一个游戏都有至少一种显示的视角。象在NFS3中,玩家在开车时既可以以身临其境的第一人称视角操作, 也可以以第三人称的尾随视角来操作.而在回放时, 更是以多种摄像的角度来表现,大大丰富了玩家的视觉感觉. 作为一个设计者,你必须决定游戏以什么样的视角来展现给你的玩家。由此在设计是作者在光线照明,游戏声音上均采用了折衷的方法,从而在整体上给人以极其赏心悦目的感觉。这一点上很是符合软件工程上的设计优化的思想。游戏的速度即是软件运行的时间,在软件工程中:在不考虑时间因素的前提下开发并精化软件结构;在详细设计阶段选出最耗时间的那些模块,仔细的设计它们的处理过程(算发),以求提高效率;使用高级程序设计语言编写程序;在软件中孤立出那些大量占用处理机资源的模块;必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。这些均是在编写软件时时间所要起的作用。即遵守了一句格言:“先使它能工作,然后再使它快起来。”其实我并不是要说明软件工程的某个方面的重要性,而以某个方面来说明软件工程整体的重要性。
  • 上一篇资讯: 从《魔兽世界》的开发看中国网络游戏的发展
  • 下一篇资讯: 企业网络如何选择和有效使用防火墙
  • 相关资讯

    网学推荐

    免费论文

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号