Evolution of Technology with Time


Evolution of Technology with Time

    Computer Systems Engineering

Computer systems engineering is concerned with developing both hardware and software:

  1. Hence it encompasses software engineering.
Many products require simultaneous development of hardware and software:
  1. IBM System/360 – see Brooks (1995)
  2. Vending machines
  3. Mobile phones
  4. Games consoles 

    Software Engineering why bother?

To solve LARGE and/or COMPLEX problems using modern computer technology:

  1. There is an exponential growth in complexity, and hence difficulty, with software size;
  2. The ad hoc approach breaks down VERY quickly as software size increases.

Software engineers break large projects into smaller, more manageable parts…

  1. Which can be delivered within a short time.

To acquire the skills necessary to be a better software developer:
  1. Higher productivity.
  2. Lower cost.
  3. Better quality.
Knowledge of SE is essential when using languages like C++ or Java to solve ‘real’ problems:
  1. First year programming exercises are trivial.

    The Software crisis

Typically, software products:

  1. are expensive to develop, e.g. Win2000;
  2. are difficult to debug, e.g. WinNT3;
  3. are usually delivered late, e.g. Win2000;
  4. fail to meet user requirements, e.g. MS Word;
  5. crash frequently, e.g. Win95, Win98, WinNT4;
  6. are difficult to maintain, e.g. WinNT4 SP6;
  7. 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

    Scale (When you move to larger projects)

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

Post a Comment (0)

Previous Post Next Post