Â
Evolution of Technology with Time
   Computer Systems Engineering
Computer systems engineering is concerned with developing both hardware and software:
- Hence it encompasses software engineering.
- IBM System/360 – see Brooks (1995)
- Vending machines
- Mobile phones
- Games consolesÂ
   Software Engineering why bother?
To solve LARGE and/or COMPLEX problems using modern computer technology:
- There is an exponential growth in complexity, and hence difficulty, with software size;
- The ad hoc approach breaks down VERY quickly as software size increases.
Software engineers break large projects into smaller, more manageable parts…
- Which can be delivered within a short time.
To acquire the skills necessary to be a better software developer:
- Higher productivity.
- Lower cost.
- Better quality.
- First year programming exercises are trivial.
   The Software crisis
Typically, software products:
- are expensive to develop, e.g. Win2000;
- are difficult to debug, e.g. WinNT3;
- are usually delivered late, e.g. Win2000;
- fail to meet user requirements, e.g. MS Word;
- crash frequently, e.g. Win95, Win98, WinNT4;
- are difficult to maintain, e.g. WinNT4 SP6;
- use resources non-optimally, etc, etc, etc….
   Quality of Software
Depending on the type of software project the
qualities of software would be different.
e.g. Most systems should be reliable, functional
Some systems should be more reliable
e.g. Software running on the Space Shuttle
1.Complexity Increases
2.Work in Larger Teams
3.Quality of Software becomes more important
because of real users.
   Relative cost of Hardware & Software
Featured Articles
Post a Comment