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