[[ blog 이사 과정에서 정확한 posting날짜가 분실됨. 년도와 분기 정도는 맞지 않을까? ]]

 My personal definition of software development process. (There aren't any grounds for this except for my experience.)

1. Rough analysis
  - Analyzing requirements.
  - Analyzing features and functionality that are required.
  - Analyzing required schedule.

2. Detail analysis
  - Defining the way to measure project's completeness.(When can we say "We complete this project!")
  - Defining risks.
  - Estimating costs and time.
  - Deciding whether to go or not.

3. Planing
  - Making reasonable schedule.
  - Confirming resource plan.
  - Confirming the way to measure project's progress - including Milestone. (ex. if XXX is YYY, then project is oo% completed.)
  - Planning schedule, solution and alternatives etc about risk management.

4. Development
  - Determining development environment. (ex. language, CM tool, etc.)
  - Designing SW.
  - Making test plan and cases.
  - Implementation & debugging.

5. Maintenance

[[ blog 이사 과정에서 정확한 posting날짜가 분실됨. 년도와 분기 정도는 맞지 않을까? ]]

A study at the Software Engineering Laboratory - a cooperative project of NASA, Computer Sciences Corporation, and the University of Maryland - found that extensive computer use (edit, compile, link, test) is correlated with low productivity. Programmers who spent less time at their computers actually finished their projects faster. The implication is that heavy computer users didn't spend enough time on planning and design before coding and testing (Card, McGarry, and Page 1987; Card 1987).
[[ blog 이사 과정에서 정확한 posting날짜가 분실됨. 년도와 분기 정도는 맞지 않을까? ]]

I want to say only one sentence about software design.

"Software design starts from and ends with [ separating things that will be changed with high possibility, from others that will not. ]".

In macro point of view, software requirement is main subject to classify. In micro point of view, function parameter, algorithm, data structure and so one can be targets.

+ Recent posts