A new ordering system is required by a supplier of car parts. The managers want the software company to
start coding straight away so that they get the system as soon as possible.
Explain why starting the coding immediately will probably delay the launch of the system.
• need to examine requirements
• need to examine alternatives
• need to assess risks
• need to decide on deadlines
• need to assess costs
• need to check feasibility
• could lead to unsuitable system
• could lead to overrun
• could lead to over budget
Explain why data redundancy can lead to data processing errors.
• data occurs more than once
• updating may occur in one place but not others
Describe the stages of Jackson Structured Programming methodology.
• model the problem
• use tree structure
• use ELH model
• transform the input/output models into a structural model for the whole system
• look for points of correspondence between input and output structures
• expand the structural model into a design model
• this contains all the operations needed for the complete system
Explain the relationship between a class and an object.
• a class is a blueprint / template
• an object is created from a class
State THREE (3) components that are found in any class.
• properties / data / attributes
• methods / program code / behaviour
Identify the one way in which objects can communicate with each other.
With reference to objects, explain what is meant by encapsulation.
• the object packages together the data and access methods
• the data inside can only be changed using these methods
• the data is hidden from the outside
xplain what is meant by inheritance in objects.
• an object shares the same methods as the class from which it was created
• a new class can be created from an existing class
• the new class shares the data structure of the parent class
• the new class shares the methods of the parent class
• the new class can have additional / modifying data / methods
Describe why pseudocode is often used to describe an algorithm.
• reasonably precise
• does not require the use of any particular syntax
• it is close to real code so this speeds up development
The following diagram shows activity in a bank account.
Describe the life history of this account, based on the information in the diagram.
• the account is opened
• while the account is active, transactions occur
• transactions can occur during the lifetime of the account
• there can be many transactions
• a transaction is either a deposit or a withdrawal
• the account is closed
In terms of a database system, state what is meant by an entity.
• a real-world item / thing
• about which we store data
When a new patient enrols at a dental practice, a new entry is made for that person in the practice
database. When the patient visits the practice for treatment, a record is made of the treatment given.
As long as the patient visits regularly, the records of that patient are kept. If the patient leaves, the records
are deleted. If the patient stops visiting, the records are deleted five years after the last visit.
Draw an entity life history diagram of this dental practice database system.
Diagram for reference
• drawn as a tree
• patient at the top
• correct three boxes on second row (allow sensible variations in wording)
• three boxes in second row in order
• enter treatment is descendant of patient life
• enter treatment has repeat sign (*)
• deletion has two descendants correctly labelled (order not important)
• the two deletion boxes have alternative (o) symbol
Explain the purpose of data normalisation when designing a database system.
• to separate the data from each entity
• to allow easier / more effective processing of data
• to avoid repetition of data / redundancy
• to maintain the integrity of the data
In the context of system design, explain what is meant by an object.
• a package
• derived from a class
• has properties / attributes
• has methods / code
Explain why data modelling is used when planning a
shows what entities are important
shows how they relate to each other
gives a complete picture of a system
Explain the need for normalising data when modelling
a data handling system.
it reduces data redundancy
prevents data being duplicated unnecessarily
reduces storage requirements
ensures data integrity
promotes consistent data updates
In terms of system design, describe what is
meant by an object
a component of the system
has a boundary
In terms of objects,
explain what is meant by
object contains data
and access methods
data can only be accessed through these methods
data is shielded from the outside
Explain what is meant by data modelling.
• formal procedure
• to analyse data requirements
• defines data requirements
Describe the relationship between the two entities shown below,
• each course can have many students
• each student can take many courses
• many to many
Explain why a relational database that was based on this relationship would be inefficient and
subject to errors.
• there would be multiple entries for students / courses
• data redundancy
• this would lead to excessive use of storage
• this could lead to inconsistencies
The following diagram shows a structured flow chart.
Identify the THREE basic programming constructs shown in this flow chart.
Explain why structured flow charts are usually an unsuitable way to plan a large programming
• projects are complex
• flow charts soon become difficult to read
• there are better ways to represent logic
Explain how decision tables can be useful in the planning of a program.
• they take the basic constructs of a program
• present the choices / conditions as questions
• presented in a table
• show what to do in each circumstance
• useful for breaking down complex logic
Explain what is meant by a structured development methodology.
• a set process is followed
• project is divided into stages
• each stage must be considered
• uses modelling techniques
Explain why it is an advantage to develop systems using structured methodologies.
• avoids complexity/obscurity
• promotes easier maintenance
• enables easier testing
• easier to understand
It has been shown that every program consists of just three constructs. Identify these constructs
and explain what each means.
• perform instructions one after another
• repeat instructions as long as a condition is met
• perform alternative actions depending upon a certain condition
The following is a diagram used in modelling a library system:
The three rectangles represent entities. What is an entity?
• a real world item
• about which we store data
Describe the relationships between the entities shown here.
• an author can write many books
• a book can have many borrowers
• a borrower can borrow one book
• a book has just one author
Explain why this model is unrealistic.
• in a library, borrowers can borrow more than one book
• books can have multiple authors
State THREE (3) sensible guidelines for
choosing a software analysis and design
adopted by governments or large organizations
freely available / not proprietary
reflects modern thinking about life cycles
The following diagram shows actions related to an item in a museum,
Name the type of diagram
entity life history / ELH
Identify TWO (2) states that are alternatives.
Identify TWO (2) sequences.
Catalogue, Exhibit, Lost
Explain the difference between a data flow
diagram and a context diagram.
DFD shows how data progresses through as system
....shows origins of data
....shows destinations of data
....shows processes acting on data
context diagram is highest level view of a system
....shows the outside influences on a system
....not concerned with the internals of the proposed system
What type of diagram is shown below?
entity relation diagram (ERD)
What does the diagram tell you about cats and fleas?
one cat can have many fleas
each flea only has one cat
Explain what is meant by the term software
constructing software in a disciplined manner
uses a framework
implies analysis / design
Explain why structured development is often preferred
to other approaches to system development.
makes system easier to maintain
makes it easier to transfer work between different developers
tends to lead to better crafted systems
Distinguish between an object’s properties and methods.
a description of some aspect of the object
data about the object
what the object can do
program code (in the object)
Explain the advantages of encapsulation by objects.
data can only be changed by controlled methods
prevents accidental changes
reduces testing effort / time
Explain what pseudocode is.
expression of an algorithm
shows program blocks
not aligned to any programming language
is ready for coding
Data Flow Diagram shows how data moves in a system. With the aid of a
diagram, explain FOUR symbols used to create Data Flow Diagram (DFD).
The large rectangular boxes (e.g. reception desk) represent data handling
They accept some input, change it in some way and output it to somewhere
The ‘title bar’ of the box specifies where the process is done.
The number to its left is a process number.
The process numbers do not indicate anything significant in terms of sequence
The main body of the rectangle defines the process in simple, active terms.
The thin rectangle is a data store.
This is a place where data is held for use at a future time
The ovals represent external entities – things that are outside the system but
that communicate with it in some way.
Each of these has a name. Notice that ‘member’ occurs twice in the diagram
and has a slash in the top left hand corner of the oval. The slash confirms that
this is the same entity drawn twice.
Data flows are represented by arrows.
Each arrow represents a specific type of data.
Each data flow is uni-directional, i.e. travel is in one direction and it cannot
have heads at each end.
Prototypes are easy to create, particularly with the Windows and modern
Explain what is prototype
A prototype is a simplified subset of the proposed system
simulates the actual processing that will be carried out by the real system
it consists of a few screen designs and reports
provide just sufficient functionality to allow users to experience how the
proposed system might look and feel
Give THREE advantages of a prototype
• A prototype can very quickly resolve misunderstandings between
business managers and analysts.
• A prototype makes an ideal tool for defining and discussing user
• Users can understand a prototype far more easily than most of the
standard ways of communicating requirements in the form of
Give THREE drawbacks of a prototype
• Business managers may not understand the purpose of a prototype, which in
the form we have described is only intended to assist with defining
• Some prototypes are so realistic that they give the impression that the project
is almost finished whilst still at the systems analysis stage.
• The effort required to produce a prototype may lead to the development team
using it as a part of the new system. This can lead to quality problems with the
resulting system, unless the prototype is designed to meet that objective and
the life cycle is suitably modified.
What type of diagram is shown below?
• Entity relation diagram (ERD)
What does the diagram tells you about course and modules?
• One course can have many modules
• Each module belongs to one course
Explain what is meant by structured programming.
rules are followed
follows a design
program split into sub sections
each section is concerned with a specific feature of the program