SoftEng 版 (精华区)

发信人: Sun (大灯泡), 信区: SoftEng
标  题: [selab] 如何来学习软件工程,软件工具的作用?
发信站: 哈工大紫丁香 (2000年09月24日07:43:35 星期天), 站内信件

很多人都提到了这个问题,我下面就借此探讨一下,当然诸位有什么意见,请多交流。
先引用几位兄弟的来信(希望两位兄弟原谅 :) )

----- Original Message ----- 
From: "hy" <hongy.g@263.net>
To: <serc@163.net>
Sent: Friday, September 22, 2000 11:48 AM
Subject: i need your help
> 我是一个在读研究生,要做一个进销存系统。想用软件工程的方法。
> 下载了一个PlayCASE工具,你说这是一个好的建模工具吗?用了CASE工具,就算是规
  范化了吗?
> 用CASE工具很繁索。> 可以指点迷津吗?
----- Original Message ----- 
  From: yunmao yang 
  To: serc@163.net 
  Sent: Saturday, September 22, 2001 1:39 PM
  Subject: 请教
  Davew,你好!
  我做软件开发有三年了,深深体会到软件工程实施的必然和必要,但一直是苦于投师
  无门。
  三个月前,决心想投入到软件工程中来,在网上找到了你组织的论坛,加入之后收获
  不小。
  但我还是感觉进步太慢,而且也缺乏实践,我想找个能实践的地方,你能提点建议吗?
  现在我感觉自己象笼子里的狮子,想施展却无从施展。

兄弟:
   你好,看来你对软件工程还知道的略少一些。
   Playcase是高展先生做的一个支持IDEF(I2DEF)/UML系统分析方法工具,
做得很不错,原意支持复杂系统的建模,和CIMS的关系非常紧密,如果它进
一步成熟的话,还会更好,但是不一定如你意,如果你想只是用工具的话,
建议你用一下rational 公司的Rational Rose做一下对比。
   但是这也许对你没有什么好处,因为即使你了解了oo方法,恐怕你也不一定
如你所愿地开发出高质量的程序,如你所愿地学到软件工程的知识,太多太多
的人由于不了解软件工程,以为OO就是软件工程,工具就是软件工程,很少真
正的思考究竟怎样来开发软件,如何来实现高质量的软件,如何来组织软件开发。
  我的建议是,不要急于用什么工具,大致地看看软件工程书,想想做一个软
件系统究竟怎么做,一定要先想后做,做而后思考,不清楚的看看书,自己想
怎么解决,及时和论坛的高手们多交流。不要急于用什么oo方法,你能用最传
统的方法做出一个程序来(当然可以了,传统的方法有它固有的成绩,没有一
个方法是problem-free的),你也许会对软件工程理解的更深入。而且你的成
就感也许会更强,当然没有什么可骄傲的,知识是这样的,你理解的越深,你
会感到自己的知识的浅薄,什么时候才能真正叫掌握了知识呢?能活用!回想
一下我们所学过的所有知识,有多少是真正能活用的呢?
   上边还仅仅是从一个人的角度看待软件开发,事实上的软件开发是团队的合作,
需要和各种人打交道,还要面临各种压力,所以你必须从合作角度看问题,看到
软件开发,所以你必须看书,看软件工程书,同时实践,这里的实践必须是先想
后做,做完了,还要思考,看书,和大家交流,这也许我们希望能通过自学来提
高软件工程的必要步骤。还有一些其他的法子,如培训,多和大家交流,但有一
件事都少不了,即:思考---实践---思考。为什么要多次提它呢,因为这是软件
工业最大的毛病,做而不想。  当然也可以到一个软件工程管理比较好的公司,
你会提高的更快。
   即使如此,上边的方法也免不了只是从一个作坊式的手工艺角度来看待软件开发,
将软件工业从一种手工(艺)匠方法向真正的训练有素的工程层次迈进才是真正的
跃变,如果能在大范围内如一个企业、乃至一个国家的软件工业实现这种转变,那
么这实在是一种文化的转折和跃变。我们大家都在追求这种转折,促进这种转折。
这时候你就会真正关注过程---> Process.  至于软件工具的使用,我想引用watts 
humphrey的话,“Technology (加注:包括tools)is vital for long-term 
improvement, but unthinking reliance on an undefined "silver bullet" 
will divert attention from the need for better process management." 
--- From Managing the software process.  
希望Mr. Chenxin能看到这句话。
什么意思呢,说明了过程的重要性,举个例子,我们大家也许都看了射击冠军陶路娜在
采访时说过的非常专业的话,大概意思是“我那时候静下心来,想着我的每一个动作,
想着平时教练教的操作的每一步,确认每一步都做对了,就发射”,大家知道,高手
之间的个人差异相对较小时,最后反映的是平时训练的每一个动作上,如果你能严格
按照射击的动作和步骤(可能会包括吸气、全身的各个部位的协调动作等等),往往
就是胜者。为什么我们的跳水比较厉害,核心就是我们把握了process.为什么我们没
有自己的CPU和intel/amd/motorola竞争,因为我们没有硬件工程师训练有素,我们没
有好的process!软件工程的核心也是process,这个process包括了人、技术和规程,
理解了它,掌握了它,然后做一个好的process,你就开始真正体会软件工程的妙处了。

记住:  Process first, tool second.

To anyone who is newbie of SE.

davew
9/22






--
    太阳就是个大灯泡。
    那灯泡是什么呢?
    是光光!

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: sunner.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.514毫秒