Lecture 3 - Part 1
Lecture 3 - Part 1
Algorithms
Test data
Validation and verification
Using trace tables
Identifying and correcting errors
Producing algorithms
In order to build a computer system that performs a specific task or
solves a given problem, the task or problem has to be clearly
defined, showing what is going to be computed and how it is going
to be computed.
This lecture introduces the tools and techniques that are used to
design a software solution that together with the associated
computer hardware will form a computer system.
A COMPUTER SYSTEM is made up of software, data, hardware,
communications and people; each computer system can be divided
up into a set of sub-systems.
For example, when you wake up in the morning you may use an app
on your smart phone for your alarm, you may then check the
weather forecast on your computer before you drive to school. The
alarm program is a very small computer system; when you check the
weather forecast you obtain information from one of the largest
computer systems in the world.
In order to understand how a computer system is built up and how it
works, it is often divided up into sub-systems. This division can be
shown using top-down design to produce structure diagrams that
demonstrate the modular construction of the system.
When large computer systems are being developed this means that
several programmers can work independently to develop and test
different subsystems for the same system at the same time. This
reduces the development and testing time.
Stepwise refinement
Stepwise refinement is the process of developing a modular design by splitting
a problem into smaller sub-tasks, which themselves are repeatedly split into
even smaller sub-tasks until each is just one element of the final program.
In order to show top-down design in a diagrammatic form, structure
diagrams can be used. The STRUCTURE DIAGRAM shows the design
of a computer system in a hierarchical way, with each level giving a
more detailed breakdown of the system into sub-systems.