“软件工程师毫无用处,我宁愿雇佣雷达专家教会他如何编程,也不愿意雇佣程序员来教会他雷达信号流程”。
在周二的《管理信息系统》课上,老师在课件里提到这句话。我当时一听,心里就是一震。说这话不是明摆着打击Programer吗?
细细想来,这句话的含义不在于贬低Programer,而在于强调信息系统开发的“系统需求”、“软件需求”、“初步设计”等阶段的重要性。Program只是系统开发的一部分,如果仅懂programing而不懂得系统业务、流程,是做不出好的MIS的。
细想我在《观博客,显缺陷》中提到的博客缺陷,归根到底产生原因是由于没有一个良好的需求分析、系统分析这一步。如果你在系统都做完的情况下,再增加或者修改系统的功能(业务),难免会“劳师动众”“劳民伤财”。
初学编程时,教材上建议你学会程序流程图、学数据库时老师要求你学会实体-关系法。这些看上去没多大作用(程序小显示不出其高级之处)的简单方法,只有当 你面对难题感到迷惑时才会显示其真正的威力。对于这个“实体-关系法”我可是屡试不爽啊。其实,这些看似简单的方法的作用就在于让人的思路简单明了、清晰 而不混乱。
而系统开发流程正是一个使思路清晰的方法,它让我们明白每个阶段的任务和目的——每个阶段都是为整个系统服务的;有了它,才能有条不紊的进行每一步工作;同时,也是它让我们清楚系统的最终目标的。
