Friday, August 29, 2008

U型的SDLC(U-Shape of SDLC)

我们可以从另一个角度来看SDLC,U型的SDLC。

一边是用户,高商业知识,低软件知识,另一边是程序员,低商业知识,高软件知识,而在中间的,就是分析员、测试员等。同样的道理,越靠近用户,越需要高商业知识,越靠近程序员,越需要高软件知识。因此软件公司未必要有七种员工,从这个角度看,可以有两种(高商业知识或高软件知识),或是三种(高商业知识,中软件知识,高软件知识)而已。
Let us see the SDLC from different angle, U-shape SDLC.
At one end, is the system user, who knows lot of business rules, but almost nothing about computer technicals. The other end, is the programmers, who is the expert of computer technicals, but not the business rules, and those sit in the middles, are analysts, testers, etc. The more the staff near to the user, he need more knowledge of business rules, the more the staff near the programmers, he need to know more about technical knowledge. Thus, a software house not necessary to have 7 types of staff (as according to SDLC), seeing from U-Shape angle, a software house can have either 2 types (high business rules, high technical skills), or 3 types (high business rules, half-half, high technical skills).

Tuesday, August 5, 2008

系统开发生命周期(Software Development Life Cycle)

让我们看看最基本的,可以这么说,所有IT毕业生都懂的,系统开发生命周期(SDLC)。SDLC有七个阶段:
  1. 可行性研究(Project planning, feasibility study)
  2. 需求分析(Requirements gathering and Systems Analysis)
  3. 软件设计(Systems design)
  4. 软件编程(Build)
  5. 软件测试(Testing)
  6. 软件部署(Deployment)
  7. 软件维护(Maintenance)

之前所说的分析,编程和测试,原来只占SDLC的其中三项,还有四项呢?或许我们认为前三项就是我们所说分析员的工作,那么软件部署和软件维护,又该是谁的工作呢?
Let us look at the most fundamental idea about software development, Software Development Life Cycle, which most of IT graduates will know. SDLC has 7 phases:
  1. Project planning, feasibility study
  2. Requirements gathering and Systems Analysis
  3. Systems design
  4. Build
  5. Testing
  6. Deployment
  7. Maintenance

Compare to what we have talk previously (analysis, programming and testing), there are 4 more phases in SDLC. May be in our definition, analyst is the one who responsible for first 3 phases, then how about deployment and maintenance?