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:
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 |
|
|
2 Develop basic high-level
code using an appropriate programming
language |
|
|
3 Produce appropriate documentation for a given program
application |
|
|
Use suitable testing methods to ascertain the
correctness of a working piece of code |
|
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