西西河

主题:【原创】IT教师手记--系统开发与设计(一)开发基本概念 -- redbud

共:💬25 🌺76
全看分页树展 · 主题
家园 【原创】IT教师手记--系统开发与设计(一)开发基本概念

IT教师手记--系统开发与设计(一)开发基本概念

by Redbud 2010

前言

网络生涯已久,大部分时间都写一些风花雪月的东西,所谓灵魂的尖,玄之又玄,久了有些厌倦,生命不单单是虚幻,还有真实。想表达一些更加严肃,更加有条理的东西的想法已久,但是缺乏一个好的环境,就如同种子没有土壤。

感谢朋友推荐我来到西西河,发现这里有许多人在讨论IT,哲学,科学,等等,不禁有点一见钟情的感觉,写点东西吧。写什么呢?在河里是新兵,据说这里的大牛很多,让我别写了。一直被训练要critical thinking,就是说,拿着再强的文学作品,我要找出它的缺点,再好的人,要找出其软弱的地方,再实用的理论,要找出其盲点,当然,你如果能找出缺点来,一定知其优点的。只有这样,你才能了解别人和自己。说说自己的优点是表达能力强,肯吃苦,缺点是实践基础不扎实。

刚开始教书,而且教的是商业信息系统,千变万化啊,觉得力不从心,要到处找案例,到处补充知识,灵机一动,不妨将自己所知道的一点知识整理出来,一方面分享给大家,优点是比较系统,缺点是缺乏实践经验,不如让大家提点意见,可以对自己的专业知识成长有帮助。再次说明,这里如果有开发实践经验的弟兄姐妹们(当然弟兄们多,据我所知,搞开发的不是女人干的活,据说老得很快还顾不上家),如果我这里有跟实际脱节,以及知识不完备的地方,请一定指正出来,另外,很希望大家可以多提供例子和讨论,这是我写这篇文章的初衷。

系统开发与设计(一)基础的理论知识

所谓系统开发与设计,许多人听起来是比较悬的,若没有参与过开发与设计的人,听起来更深觉得有点头大,记得当年在国内参加信息部的考试,有个高级程序员的考试,再上面就是系统分析员了,跟着师兄一起去考,他考分析员,我考高程,一次考过,他考几次才考过了,告诉我说,系统分析员拿钱多,职业前途好。反正我最后也没有去编程,我的师兄好像也没做系统分析员。这是题外话,当年的印象就是,系统分析员是个神秘的角色。

等自己真的要开始教系统分析的课程是很多年以后了,很多种课本,经典的,新的,再加上老的,有十几本吧,出版社还在不断发新版本给我,又加上新的概念,UML,OO,更让人有些迷失,刚将哪些基本的东西给一个入门的人讲,让他们明白什么是系统开发与设计呢?下决心理理这门课,是在遇到一个做了7年系统开发与设计的从业经验人员,细细谈来,理论和实践是有这么一个gap,是在教科当中需要注意的,那么,何不来到实践性的论坛来,跟大家一起讨论呢?

系统开发与设计(英文简称SAD),是一种方法,就是指导从系统的初始计划(Planning) 到分析(Analysis)、设计 (Design)、安装(Implementation)的严谨的方法,主要包涵刚才提到的四个阶段。这门课在商学院通常是一个学期,英国是22个小时的课,美国是34小时,中国应该也是34个小时,在计算机系和信息系统专业可能是两个学期,一个学年,通常教课的方式采取的是案例+分析的方式,考试方式一般是group project,有的学校会用上一半project,一半笔试。花费这么多的时间来上这门课,目的是什么呢?

首先看看SAD项目上面所投入的金钱,以及企业界SAD项目的成功情况。

根据Standish公司的1995年的报告(最近的数据看不到),美国每年花在SAD项目上面的钱是2500亿(250billion),每年大约175000个project,平均下来,每个大型的SAD项目,投入大约是2322000美金,中型是1331000美金,小型的是434000美金,可是这中间的大部分的都是失败的。

项目的失败和成功,不是简单的黑白那么清楚。有一个公司叫做Standish Group,每年都会发布一项Standish Chaos Report(有点意思是项目开发一片混乱)来调查项目的成功和失败率,他们有一个标准,将项目的结果分了三类,Successful (成功), challenged(不理想), and failed (失败). SAD近几年的成功率也只有30%左右,早年如1994年只有16%。

1994 1996 1998 2000 2002 2004 2006 2009

16% 27% 26% 28% 34% 29% 35% 32%

53% 33% 46% 49% 51% 53% 46% 44%

31% 40% 28% 23% 15% 18% 19% 24%

所谓成功,就是按时,符合预算,以及达到了预期设计的功能,不理想的情况就是延期、超预算、以及达不到预期的功能。这个可以用Nike公司的市场预测系统的失败来说明,nike市场预算系统开发过快,以至于需求分析没有弄明白,导致的后果是库存失误,造成了其某些鞋子生产不足,某些鞋子多余生产,不得不降价出售。

下面还有一些近年大公司更大的系统开发失败的例子。

Company Year Outcome

Hudson Bay (Canada) 2005 Inventory system problems lead to $33.3 million loss.

UK Inland Revenue 2004/5 $3.45 billion tax-credit overpayment caused by software errors.

Avis Europe PLC (UK) 2004 Enterprise resource planning (ERP) system cancelled after $54.5 million spent.

Ford Motor Co. 2004 Purchasing system abandoned after deployment costing approximately $400 M

Hewlett-Packard Co. 2004 ERP system problems contribute to $160 million loss.

AT&T Wireless 2004 Customer relations management system upgrade problems lead to $100M loss

所以,系统开发与设计的方法,其主要目的就是希望通过企业界的培训也好,对于商学院和计算机系的学生开课也好,目的只有一个,就是希望将来他们在遇到系统开发与设计的时候,可以在参与SAD开发的项目的时候,避免错误,力保成功,当然,这个假定就是,系统开发与设计这种方法,是可以学习的,经过不断的学习,不断总结经验教训,是可以避免的。也许Standish公司的调查说明了这个问题吧,1994年开始的Chaos report,到2009年,系统开发的成功率已经由16%上升到32%,即便近几年来有些起伏。

这个帖子我会一直写下去,因为最近就在教这门课,很希望通过写这个帖子,将知识理一遍,跟这里有实践经验的朋友交流。

【原创】IT教师手记--系统开发与设计(一)系统分析员

元宝推荐:铁手, 通宝推:邓侃,

本帖一共被 1 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河