Software Engineering

Software engineering is a term which describes the process of developing software including its testing, debugging, documentation and maintenance.

A number of software packages have been developed to help in the process of software engineering... software to help design and develop software!

 

CASE - Computer Aided Software Engineering). 

A CASE software 'toolkit' may consist of :

¨ a graphics tool specifically designed to aid the drawing of data flow diagrams and systems flowcharts.

¨ an interface generator to allow the speedy prototyping of screen dialogues, menus and reports.

¨ a source code generator which will generate the source code from a system specification into the source code of the chosen computer language.

¨ a data dictionary development tool; this is particularly important in the development of database systems.

..libraries of program code

¨ a project management tool to allow the scheduling of all activities such as analysis, design, programming and testing, and the allocation of resources such as people and equipment to the project.

.. version control.

 

Software development tools.

Editor Allows the programmer to enter and edit the high level language source code.
Compiler Converts the source code into executable object code (machine code). Once compiled, a program can be run at any time.
Interpreter Converts each line of the source code into object code, and executes it as it goes. The conversion process is performed each time the program needs to be run.
Linkage editor A program which allows previously compiled (or assembled) sections of code to be linked together.
Loader A program which loads previously compiled (or assembled) object code into memory.
Debugger A program which helps to track down and identify errors in a program.
program design language checker The design of a program may be written using a PDL (program design language)...and a checker will track down any obvious errors in the design.
application generator. A program which uses the design of a program written in a PDL to create an application.

 

Debugging Tools

Trace Printout that displays the order in which the lines of a program are executed, and possibly the values of variables as the program is being run.
Break Point Interrupts a program at a specific line and the programmer can compare the values of variables etc against expected values.

The program code can then usually be executed one line at a time.(single-stepping)

Variable watch Displays the current value of any variable. The value can be 'watched' as the program code is single-stepped to see the effects of the code on the variable.
Store Dump Will display the store location contents of a section of memory either as numbers or as characters.
Error diagnostics When a program fails to compile or to run, error messages are displayed to help the programmer diagnose what has gone wrong.