zoukankan      html  css  js  c++  java
  • 软件工程 之 画扇面

     

    软件工程的历史虽然说只有短短的四十多年时间1968 年提出),但是软件工程的主体人类已经出现在世界上好些年了。  人还是那些人,事儿还是那些事儿,  好的,坏的,可笑的模式同样会出现。我看到同学们在分析前面的学生的软件项目的时候,link1, link2)我不禁想起一个相声画扇面。  我们不妨拿它和软件工程做个比较:

     

    画扇面

    做软件工程团队项目

    相声是一门说学逗唱的艺术

     

    : 我刚买了一把纸扇

    : 哦,拿来看看,一把白纸扇上面空空如也太可惜,拿不出手啊。如果能画上画就更好了。我这几天也没什么事, 我就给你免费画画!

    软件工程讲究的是需求分析, 项目管理, 开发, 测试和维护

     

    : 我觉得咱们团队项目做一个好用的小工具就好了,  我已经做好了一个原型。

    : 这想法固然好,  但是我们这么些个编程高手, 就做这么小的一个工具, 未免拿不出手。我们要把它搞大!

     

    : 太好了,您能画什么?

    : 画个美女图怎么样? 美女出浴图, 或美女春游图都可以考虑。

    : 我激动ing…

    : 那我们做什么呢?

    : 我们扩展一下, 把所有工具都实现了,一统天下。几种工具结合起来!

    : 我激动ing…

     

     

    过了几天, 甲问: 我那美女画好了么?

    : 喔,美女, 画好了!你看这美女的小脸蛋儿, 眼睛稍稍大了点  但是, 我不如给你改成张飞算了!都是人体,  我可以很快重构一下, 我画张飞最拿手了,过几天就好。

     过了几周

    : 通过调研才发现, 这么多工具都有自己独特的需求, 不同需求互相冲突,不好协调, 怎么办?

    : 我们可以做成一个通用的工具,统一需求, 解决用户从头到尾的问题。

     

    过了几天... 

    甲问: 我那张飞?

    乙:张飞?!喔对的,张飞也画得差不多了, , 你看这张飞的胡子,这身躯 是粗了点要不咱们画成山水,这张飞,这张飞...  马上就可以变成一块怪石!

    甲:  大热天的我等这扇子... 我容易吗... 

    过了几周

    : 通用的工具听上去很好,  但是太通用了, 不好掌握,我们到底要实现哪些具体功能呢?

    : 我们可以做成一个开放式的平台!这样所有人都可以做一个插件, 来实现这个平台的一些功能!而且别人还可以用我们这一个通用的框架开发任意别的软件。你想想 - 任意软件啊! 

    : 我激动,不过我们软工课快要结束了, 要交作业啊

     

     

    过了几天,

    : 我那山水?

    : 啊,山水  我也画好了。  你看那巨石,很巨大, 很给力吧 构图有点那啥容我再改改。 

    : 您什么时候画好?  这夏天都快过了! 

    乙: 嗯,  我的山水画还是有些宋人风格的... 假以时日...     如果你急着要用扇子,  这样吧, 我把扇面全涂黑了, 你再找人往上写金字好了!

     

    过了几周

    : 项目发布时间到了, 我们的平台还没有,工具还没连起来,怎么办?

    : 咱们可以把项目开源到网上, 另外也许有很多开源的朋友闲的没事,可以给我们的代码写一些注释等等。这是我们对开源运动作的巨大贡献, 输出价值观, 这可不是每个程序员都能做到的啊。

     

    甲: 那期末怎么交差啊?

    乙: 赶紧写 PPT! 

     

     

    很多学生学了一些编程语言, 读了一些技术博客, 一般都豪情万丈.  他们做一个项目恨不得展现自己平生所学, 再加上前沿技术, 做一个轰动性的创新。 这固然值得鼓励, 但是经验显示, 这些往往都不能成功。

     

    我们看看成功的例子, 他们是怎么开始的, 例如Linux 刚开始的时候: 

    I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones...  (source)

     

    我们还看到管理学大师 Peter Drucker 的忠告 –

    Those entrepreneurs who start out with the idea that they'll make it big – and in a hurry – can be guaranteed failure. (source)

     

    解决大问题固然让然感觉美妙,  但是把小问题真正解决好, 也不容易, 我们回头看看博客园, csdn 等IT 人士云集的网站, 每天都有很多巨大的新想法、惊世骇俗的评论冒出来,   争论美女/张飞/巨石的重构问题,  对一些通用的框架/平台发出一些人云亦云的评论, 等等。 这些文字, 大多数会转化为墨水, 把扇面涂黑,  让后人在上面写下金字。

  • 相关阅读:
    iphone界面详解
    Spring jdbcTemplate.queryForInt(sql)的奇怪问题,呵呵
    BCP 高效批量导入
    eclipse中javascript显示为乱码的解决办法
    spring jdbcTemplate返回RS
    Spring IOC DI 形象理解
    MOSS 2007 文档库事件处理
    showModalDialog和showModelessDialog使用心得
    XMLHTTP.open权限不够的解决
    体现JAVA中的面向对象思想,接口(抽象类)的用处 :饲养员给动物喂食物
  • 原文地址:https://www.cnblogs.com/xinz/p/1982585.html
Copyright © 2011-2022 走看看