4. Defining and Understanding the Problem, and Planning and Designing Software Solutions Flashcards
Describe the identification of inputs and outputs
Understanding the problem will enable a list of required outputs to be created
The input into a process is known as data and the output as raw information
Modelling techniques such as system flowcharts and data flow diagrams
Describe the ways in which steps can be determined to solve the problem
Processing transforms inputs into outputs
IPO diagrams are commonly used
The steps required to solve the problem are descriptions of the processing that when implemented, will fulfil the requirements
Define Abstraction
Taking away or separating part of the solution so it may be considered in isolation
Discuss the advantages of abstraction
It encourages developers to create reusable modules of code Testing is greatly simplified as each module is small and self-contained, it can be thoroughly tested before being included in the total solution
Define top down design
Progressively breaking a larger problem into a series of smaller easier to solve problems
Describe the top down design approach to solution development
It is the most common method of breaking a problem into smaller units. The problem is progressively refined until each unit can be successfully implemented as a subroutine of programming code. In many cases, the design will be strictly hierarchical.
Describe the process of stepwise refinement
Systems are composed of a hierarchy of software elements. They include a number of programs. Each program is implemented as a number of modules, and each module is a group of subroutines which together form related tasks. Subroutines are the lowest level, they each implement a single logical task.
Describe the use of libraries in software development
Most programming languages include or provide access to libraries which perform common tasks. Software developers utilise and include existing modules within their own programs.
What is a system model?
A representation of that system designed to show the structure and functionality of the system
Describe the usage of system models
They give a broad view and convey necessary detail
System flowcharts represent the logic and movement of data between the system’s components
Data flow diagrams describe the flow of data to and from processes and storage elements
IPO diagrams explain how inputs are transformed into outputs by processing
Data dictionaries describe the nature and type of the data used in a program
Screen designs and concept prototypes are used to determine user requirements by simulating the final product from the user’s perspective
Define call
Cause the execution of a subroutine from within another subroutine
Define control
The influence that causes tasks to execute in their correct sequence
Integers
Whole numbers both negative and positive
Fast and perfectly accurate
Floating point (real) numbers
Used to store fractional and very large numbers. The more decimal places used, the better the accuracy. Most microprocessors contain a floating point unit (FPU) that is dedicated to performing arithmetic with floating point numbers.
Define ASCII
American Standard Code for Information Interchange. A coding system for characters using 7 bits. Most other coding systems incorporate ASCII.
String
A data type used to store text data. Systems use a single byte or less to store each character.
Unicode
A system which uses 32 bits and is designed to include all the possible characters and marks used in all the languages of the world.
Boolean
Used to store logical data, the only possible items being either true or false. Requires a single bit of storage, either a binary 1 or 0.