Unit 6 Assignment 2

Unit 6 Assignment 2
Chris Boardley
P5 - Explain the role of software
design principles and software
structures in the IT systems
development lifecycle.
Software design principles and
software structures are used to
ensure that software is written as
efficiently as possible, and to
reduce the risk of having poorly
designed software.
SDPs and SS’s provide a guide and
a structure around which the
software can be written
throughout the development
lifecycle (illustrated on the right).
There are many different methodologies that can provide a structure
for the development lifecycle. Some examples;
• Waterfall.
• RAD.
• Spiral.
• Extreme.
These can help to organise how the development lifecycle will be run.
Software Design Principles.
There are three main characteristics of a bad design that should be avoided.
• Rigidity.
Making the software rigid will make it hard to change as these changes will affect other parts of the system too
• Fragility.
When changes made to the software break other parts of the system then you will have to do impact analysis
on the whole project which will take time and could cost money.
• Immobility.
When it is hard to reuse in other applications as it cannot be easily extricated.
Basic Software Structures.
• Sequence.
A collection of statements that are performed in
order one after another.
• Selection.
A decision or conditional statement that lets the
program execute a set of code statements.
• Iteration (Looping).
Iteration algorithms make use of loops, doing
something multiple times based on conditional
Some More Specific Software Structures.
Procedural Structures.
Object Oriented Structures.
Procedural programming basically uses
a set of computational steps
(procedures) in order to accomplish a
specific task. This is a fast process and
because of it’s simplistic approach, it is
often the paradigm used when teaching
programming to beginners due to it’s
relatively simple logic.
Object orientated programming focuses
on using objects rather than procedures
in order to accomplish a task. This can
be beneficial because it is modular,
which allows separate objects to
respond to the same instruction
differently. Also, it allows the
programmer to alter specific objects
without altering the whole program.
M1 – Explain the importance of
the quality of code.
The Importance Of Having Good Quality
Good quality code is important for a variety of different reasons. Here
are a few examples;
• Having good quality code will mean that less human interaction will
be required which can reduce the risk of human error, and it will
make a system easier to maintain.
• If the quality of the code is high then the code will be easier to read
and follow making any alterations or maintenance a lot faster and
easier to perform.
• High quality code will be a lot more professional which will result in
the programmers/company reputation increasing.
Key Characteristics Of High Quality Code.
• Reliability.
• Readability.
• Robustness.
• Usability.
• Portability.
• Maintainability.
• Low Complexity.
• Efficiency.
D1 – Discuss the factors that can
improve the readability of code.
Some Factors That Can Improve The
Readability Of Code.
• Indentation.
• Syntax Highlighting.
• Naming conventions.
• New Lines.
• Comments.
• Consistency.