Unit 4: Introduction to Software Development

 

Unit Value: 1.0

Unit Level: N

Unit Code: 5045R

 

Description of unit

 

The aim of this unit is to introduce students to the basic concepts of program design and implementation using a suitable high level language. The emphasis is on practical activities, problem solving and the production of good quality documentation.

 

The unit provides students with the analytical skills necessary to ensure they fully understand a problem before attempting to devise a solution. It gives students the opportunity to use design techniques and processes to find solutions to given problems. The unit allows students to develop simple program applications using a procedural approach.

 

In addition the unit introduces the students to the concepts of testing (manually or by a system debugger) helping them to ensure that programs that work without crashing produce the desired logical results.

 

Summary of outcomes

 

To achieve this unit a student must:

  1. Apply simple analysis and design techniques to the software development process
  2. Develop basic high-level code using an appropriate programming language
  3. Produce appropriate documentation for a given program application
  4. Use suitable testing methods to ascertain the correctness of a working piece of code.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Content

 

1 Simple analysis and design techniques

 

Analysis: of a given program specification to ascertain its requirements and data needs

 

Design: development of a solution for a specified problem following the analysis phase, techniques eg, pseudo code, and diagrammatic representations.

 

 

2 Programming language

 

Programming environment: facilities and tools of a language, eg pull-down menus or control key operations for a given programming environment; built-in help facilities

 

Constants and variables: concepts of the different constant and variable types eg integers, real numbers, Boolean, characters and strings and how they are declared and assigned within a given high level programming language. Scope of the variables ie global vs local

 

Sequential programming examples: simple sequential program structures to implement types of variables and constants; syntax rules for the language, input/output operators, useful statements to end-users ie a #user friendly’ application

 

Selection methods: Selection methods for a specified high level language; nesting expressions versus linear sequences

 

Iterative methods: pre and post-conditioned and fixed iteration loops; sentinel (or other methods) to ensure that loops have exit criteria

 

Good programming practice: comments, correct code layout ie consistent indentation and descriptive identifiers

 

 

3 Documentation

 

Presentation of documentation: software applications (wordprocessor or graphics); analysis, design and implementation documentsation, professional standards, needs of industry

 

User documentation: user documentation for specified programming applications. Purpose and operation of the program developed

 

Program documentation: documentation that covers technical aspects of a given programming application, including algorithms implemented, data table, syntax (selection, iteration) structures used, user interface methods adapted

 

 

4 Testing Methods

 

Production of test data: testing at various stages of development; test data plans, methods for analysing variable values through code sections (eg trace tables)

 

Testing tools: bulletin application for analysing and testing program code; system debugger with appropriate trace facilities and inspection techniques for the analysing of variables and associated data structures

 

 

 

 

 

 

Outcomes and assessment criteria

Outcomes

Assessment criteria

 

To achieve each outcome a student must demonstrate the ability to:

1 Apply simple analysis and design techniques to the software development process

  • Produce an analysis report for a given specification stating the requirements and data needs for ‘what’ the system is to do
  • Design a solution for a given set of requirements using appropriate documentation tools for both the text data and graphical representations.

2 Develop basic high-level code using an appropriate programming language

  • Select appropriate variable types and use simple input/output operators for lineasr program structures
  • Identify and use appropriate selection methods for single and nested program applications
  • Identify and use appropriate interaction methods for various loop examples ensuring that suitable exit criteria is maintained at all times
  • Produce programs to desired programming standards including layout. Commenting and a ‘user friendly’ approach.

3 Produce appropriate documentation for a given program application

  • Produce user documentation for a completed programming application
  • Develop technical documentation for a prescribed program application.

Use suitable testing methods to ascertain the correctness of a working piece of code

  • Use an appropriate tool to analyse a piece of code to ascertain its semantic correctness
  • Produce suitable test data for a working program application.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Guidance

 

 


Generating evidence

 

Evidence for Outcome 1 could be obtained from appropriate customer specifications using role-play, or alternatively group exercises and supporting documentation. Students should produce working code applications containing full documentation and supported with appropriate test data. They should also carry out demonstrations of their completed practical assignments to the rest of the group. This will provide elementary presentation skills required in subsequent units.

 

 

Links

 

This unit provides opportunities for developing certain Key Skills, eg C3. 1 a, C3. 1b, C3.2 and C3.3, that are required within the national framework. It provides a base for all qualification options particularly the Software Development qualification. It links well with Software Applications (Unit 15), program applications (eg word processors, spreadsheets, graphics packages) are required for the documentation of evidence. Computational Methods (Unit 2) will provide students with a mathematical base for the development of simple algorithms that are necessary to this unit.

 

 

Resources

 

Students will require access to modem PC computer systems. A suitable system would be a networked or stand alone desktop computer containing a modem processor; eg Intel Pentium I/II/III or equivalent, supported by adequate primary and secondary memory devices. Essential peripheral devices should include a quality printer. The system should include third generation software development tools; eg Turbo Pascal, Basic or ANSI C environments with built in debugging facilities. Documentation applications should include a modem work processor (eg Microsoft Word 97, WordPerfect), presentation tools (eg Microsoft PowerPoint 97), the graphics could be completed within a work Processor or spreadsheet application (eg Microsoft Excel) or any drawing program (eg Corel Draw) or other suitable development tools.

 

 

Delivery

 

The emphasis of this unit is on practical activities. For example implementation of a given specification into a high level programming language. Centres may choose any appropriate third generation language as a vehicle for developing this unit. Program designs and their resulting code should be completed to defined quality standards; problem-solving tools should be used and suitably documented. Students should be encouraged to work in groups, especially during the problem solving stage, and present their findings to the rest of the class in order to consolidate the learning process and enhance their Key Skills.

 

 

 

Suggested reading

 

Parsons J and Oja D – New Perspectives on Computing Concepts – 3rd Ed (Thomas Learning Course Technology, 1998) ISBN 0760055009

 

Holmes B J – Introductory Pascal – Computing Programming Textbooks (Letts Educational, 1993) ISBN 1858050073

Hosted by www.Geocities.ws

1