SlideShare a Scribd company logo
1 of 9
Software Structures


Unit 06: Software Design and
        Development


                               1
Assignment 2
P5: Explain where software design and
structures fit into the SDLC
M1: Explain the importance of creating
program code which is of high quality.
Describe how the code quality can be
improved
D1: Discuss ways in which a programmer
can make codes easier to read
                                         2
Software Structures
The structure of a program depends on the
type of language used
Procedural languages split the system into
procedures and functions
Object-orientated (OO) languages are based
on objects and classes
Programs are built from combining these
techniques in various patterns and quantities

                                                3
Basic Structures
Sequence: Any collection of code statements
that are performed one after the other
Selection: A decision or conditional
statement whose result lets the program
execute one set of code statements or another.
These form the program’s logical pathways.
Iteration (Loops): A block of statements that
are repeated based on some conditional
statement evaluating to true.

                                                 4
Procedural Structures
Modules: A term used to describe different
parts of a program. These may include
groups of functions and procedures
Procedures: Perform re-usable actions
Functions: Generally used for calculations
as they return value – reusable
Pre-defined code: Built-in functions or a
compiled module which can be inserted into
the solution
                                             5
OO Structures
Classes: A program building block which
provides a template for the creation of objects.
 A class contains both data and functions that
  describe a real-world thing
Objects: A concrete instance of a class,
complete with its own personal data.
 Represent either physical or conceptual things
 (e.g. customers, books, loans)
Data Abstraction: The object’s users know
nothing about how the data is manipulated
inside the object                                  6
Quality of Code
Reliable and Robust: Thorough testing
ensures programs work properly and can
cope with being used incorrectly
Usability: The best programs are easy to use
and intuitive. Clearly labelled and logically
arranged controls make it easier for the user
Efficiency: The code calculates results and
performs operations as quickly as possible

                                                7
Quality of Code
Portability: The ability of a program to run
on different hardware or software platforms
with minimal modification
Maintainability: Every product needs to
be maintained with updates, bug fixes and
new features, to make this easier:
 Good detailed technical documentation
  describing the design and implementation
 Well-written programs inc. Comments,
  meaningful variable names and indenting
                                               8
Achieving Higher Criteria
M1: Cover all quality issues – explaining
why they may be important in a particular
development project
D1: You need to discuss the readability of
code and the factors that affect it, inc.
Benefits and drawbacks of each technique
used. Give examples of actual code and
explain what problems may arise if the
technique is not used
                                             9

More Related Content

Viewers also liked

Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof languagenicky_walters
 
Design documentation
Design documentationDesign documentation
Design documentationnicky_walters
 
Event driven theory
Event driven theoryEvent driven theory
Event driven theorynickywalters
 
Event driven programming amazeballs
Event driven programming amazeballsEvent driven programming amazeballs
Event driven programming amazeballsMsWillcox
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programmingAshwini Awatare
 
P5 connect hardware safely to a computer system
P5  connect hardware safely to a computer systemP5  connect hardware safely to a computer system
P5 connect hardware safely to a computer systemsophie07
 
(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming(WRK302) Event-Driven Programming
(WRK302) Event-Driven ProgrammingAmazon Web Services
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+featuresFaisal Aziz
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowchartsnicky_walters
 

Viewers also liked (20)

Data structures vb
Data structures vbData structures vb
Data structures vb
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Decisions
DecisionsDecisions
Decisions
 
Design documentation
Design documentationDesign documentation
Design documentation
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
 
Event driven theory
Event driven theoryEvent driven theory
Event driven theory
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Event driven programming amazeballs
Event driven programming amazeballsEvent driven programming amazeballs
Event driven programming amazeballs
 
Controls
ControlsControls
Controls
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
 
P5 connect hardware safely to a computer system
P5  connect hardware safely to a computer systemP5  connect hardware safely to a computer system
P5 connect hardware safely to a computer system
 
Using loops
Using loopsUsing loops
Using loops
 
(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+features
 
Event driventheory
Event driventheoryEvent driventheory
Event driventheory
 
UNIT 2 P5
UNIT 2 P5UNIT 2 P5
UNIT 2 P5
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowcharts
 

More from nicky_walters

More from nicky_walters (7)

Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Debugging
DebuggingDebugging
Debugging
 
Input output
Input outputInput output
Input output
 
Decisions
DecisionsDecisions
Decisions
 
Intro to visual studio 2008
Intro to visual studio 2008Intro to visual studio 2008
Intro to visual studio 2008
 
Input output
Input outputInput output
Input output
 

Software structures

  • 1. Software Structures Unit 06: Software Design and Development 1
  • 2. Assignment 2 P5: Explain where software design and structures fit into the SDLC M1: Explain the importance of creating program code which is of high quality. Describe how the code quality can be improved D1: Discuss ways in which a programmer can make codes easier to read 2
  • 3. Software Structures The structure of a program depends on the type of language used Procedural languages split the system into procedures and functions Object-orientated (OO) languages are based on objects and classes Programs are built from combining these techniques in various patterns and quantities 3
  • 4. Basic Structures Sequence: Any collection of code statements that are performed one after the other Selection: A decision or conditional statement whose result lets the program execute one set of code statements or another. These form the program’s logical pathways. Iteration (Loops): A block of statements that are repeated based on some conditional statement evaluating to true. 4
  • 5. Procedural Structures Modules: A term used to describe different parts of a program. These may include groups of functions and procedures Procedures: Perform re-usable actions Functions: Generally used for calculations as they return value – reusable Pre-defined code: Built-in functions or a compiled module which can be inserted into the solution 5
  • 6. OO Structures Classes: A program building block which provides a template for the creation of objects.  A class contains both data and functions that describe a real-world thing Objects: A concrete instance of a class, complete with its own personal data.  Represent either physical or conceptual things  (e.g. customers, books, loans) Data Abstraction: The object’s users know nothing about how the data is manipulated inside the object 6
  • 7. Quality of Code Reliable and Robust: Thorough testing ensures programs work properly and can cope with being used incorrectly Usability: The best programs are easy to use and intuitive. Clearly labelled and logically arranged controls make it easier for the user Efficiency: The code calculates results and performs operations as quickly as possible 7
  • 8. Quality of Code Portability: The ability of a program to run on different hardware or software platforms with minimal modification Maintainability: Every product needs to be maintained with updates, bug fixes and new features, to make this easier:  Good detailed technical documentation describing the design and implementation  Well-written programs inc. Comments, meaningful variable names and indenting 8
  • 9. Achieving Higher Criteria M1: Cover all quality issues – explaining why they may be important in a particular development project D1: You need to discuss the readability of code and the factors that affect it, inc. Benefits and drawbacks of each technique used. Give examples of actual code and explain what problems may arise if the technique is not used 9