<< System Analysis And Design Methods >> (Fifth Edition)
by --- Jeffrey L. Whitten , Lonnie D. Bentley , Kevin C. Dittman
记得最开始接触的关于开发方面的方法论的学科应该是“软件工程”,所以当时想过这样一个问题,这二者的区别是什么。其实有一点需要指出的是,在MIS学科的领域内,也是大概可以分为两类的,即工程学派与行为学派。很好理解,各自的侧重点不同,也就是说我们关心的是信息系统对一个组织或者说企业在管理层次方面的作用还是说着重点在于信息系统的开发上。就我个人而言,我应该会更加的偏重前者,但是我始终坚持技术是基础,是必须掌握的东西。我始终认为,如果你根本就无法理解整个系统的实现原理和运行机制,那么你还如何来谈所谓的运用信息系统的管理甚至是咨询[consulting]。但是,在信息系统的实际运用中,很多的东西都不是从技术层次上能来解决或者说解释的。在决策支持系统[DSS]课上提到过一个案例[CASE],在一个GDSS[群体决策支持系统]中,圆桌上的电脑显示器需要采用卧式的设计,那么显然应该采用组织行为学等相关的领域知识来解释这个问题。虽然这么做和技术上是无关,但是很明显这样做是能够优化整个系统的。
上面说了一大堆,那么回到最开始的问题。可以看一下信息系统的定义[IS],"An infomation system(IS) is an arrangement of people , data , processes,infomation presentation,and infomation technology that interact to support and improve day-to-day operations in a business as well as support the problem-solving and decision-making needs of management and users."。可以看到一个关键地方在于“PEOPLE”,强调了人这个重要的因素。而我理解的软件工程,更多的应该纯粹是从工程的层次上对开发做了一个规范化。在一个信息系统设计的人员可能包括,系统所有者,系统用户,系统设计者,系统开发者以及系统分析人员。当然,这些是只能上的概念,实际中可能会有同时负责多个方面或者多人负责一个方面的存在。人是比工程难搞定的事情,对系统分析师来说,他的工作正是协调这些人的工作,全面的负责和确保整个系统能够正确和高效开发和实施。那么作为一名系统分析师,他需要是多方面的素质和才能,包括在IT[信息技术]方面的知识,计算机编程[programming]方面的经验和专长,商业领域的知识,解决问题的能力,交流沟通的能力,以及一些灵活性和适应性结合的个性等等。