The Author is Laurie Williams, 2004. The author discuss the difference between SW Engineering and Computer Science in the 1st chapter, was interesting. In sum, as follows:
· Engineering
- Computer Science provides theory and knowledge for the design (of computer and computational process)
- Engineering focuses on practical aspects in the process from requirement analysis/specification to production /maintenance; thru early stage to later stage of the making software. The practical issues are for instance, quality, development process/methodology and resource allocation (people and tools so on), market timing, development period(duration), and also economics.
Next things I think important in this chapter was understanding of these term definitions which the author uses.
· Development
SW development process = The process by which user needs are translated in to a SW product.
SW process model = simplified, abstracted description of a SW development process
1. Plan-driven model
All info about requirement can be obtained prior to the development and the info is stable.
2. Agile model
Gather additional requirement info during development, adding on-the-fly.
3. Hybrid model
Mix of 1 and 3
- Challenge
The key ideas are:
Tractable medium
Sw is tend to be thought tractable (actually not)
It is still the HW which determines what it can do. (processor speed, memory size etc)
Sometimes sw is asked to resolve some HW related issue. (by adding workaround etc) but the problem is it asked in the last minutes.
Changing requirement
Come from many sources, not only HW changes.
Schedule Optimism
Tend to give the optimum/aggressive schedule to the customers, and then delay is not good. Should be realistic and conservative.
Schedule Pressure
Due to competition of the industry, project tend to have aggressive schedule.
No comments:
Post a Comment