4. Defining and Understanding the Problem, and Planning and Designing Software Solutions Flashcards

1
Q

Describe the identification of inputs and outputs

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe the ways in which steps can be determined to solve the problem

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define Abstraction

A

Taking away or separating part of the solution so it may be considered in isolation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Discuss the advantages of abstraction

A
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define top down design

A

Progressively breaking a larger problem into a series of smaller easier to solve problems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the top down design approach to solution development

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe the process of stepwise refinement

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe the use of libraries in software development

A

Most programming languages include or provide access to libraries which perform common tasks. Software developers utilise and include existing modules within their own programs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a system model?

A

A representation of that system designed to show the structure and functionality of the system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe the usage of system models

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define call

A

Cause the execution of a subroutine from within another subroutine

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define control

A

The influence that causes tasks to execute in their correct sequence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Integers

A

Whole numbers both negative and positive

Fast and perfectly accurate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Floating point (real) numbers

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define ASCII

A

American Standard Code for Information Interchange. A coding system for characters using 7 bits. Most other coding systems incorporate ASCII.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

String

A

A data type used to store text data. Systems use a single byte or less to store each character.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Unicode

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Boolean

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Discuss the usage and function of data structures

A

They are arrangements of data items; the aim being to simplify access and processing of the data
Data structures include arrays, records and files

20
Q

One-dimensional array

A

Arrays store multiple items of the same type. Each element within the array has a unique index that is used to access the data contained within the element.

21
Q

Define index

A

An integer value used to denote a particular item held in an array. Often called a dimension or subscript.

22
Q

Record

A

A data structure containing data items that are related but not necessarily of the same data type. Used extensively for database applications. Generally, they contain information about a particular entity within the database.. Each of the data items within each record is known as a field.

23
Q

Sequential files

A

Sequential files can only be accessed start to finish. They are continuous streams of data

24
Q

Files

A

Used to permanently store data on secondary storage devices. Data can be written to a file or read from a file.

25
Q

Define scope

A

The extent to which a variable is available for use. Global variables are available for use by all subroutines. Local variables are available to an individual subroutine.

26
Q

Data dictionary

A

A repository where all variable names and identifiers are held. Commonly a data dictionary will be a table containing columns for identifier names (or field names), data type, length, scope of variable and purpose or description.

27
Q

What is an algorithm?

A

A method of solving a problem. They describe the processing steps necessary to transform the inputs into outputs. The aim of representing algorithms is to write algorithms that can be easily understood and are logically correct.

28
Q

Pseudocode

A

An english-like algorithm description languages. Keywords are written in capitals.

29
Q

Flowcharts

A

Use rectangles for processes, parallelograms for input and output and diamonds for decisions. These components are connected by flow lines.

30
Q

What is structured programming, and what are control structures?

A

Structured programming is when structured algorithms are built using control structures. Control structures determine the direction or order in which statements within an algorithm are executed. Control is the influence that directs the flow of execution.

31
Q

Sequence

A

The control structure that ensures each process occurs in the correct order. When written in pseudocode, each process is written one under the other. Each process is completed before the next is commenced.

32
Q

Selection

A

The control structure that allows decisions to be made between different alternative paths.

33
Q

Binary selection

A

There are two alternatives, one being selected if the condition is true and the other if the condition is false. Its purpose is to avoid execution of the processes on the alternate branch.

34
Q

Multiway selection

A

Caters for situations where more than two alternative paths are required. They can be implemented by using multiple binary selection statements. The otherwise choice is a default should none of the available choices make the expression true.

35
Q

Iteration

A

The repetition of a sequence of steps. A termination condition is used either at the start or at the end of the sequence to stop the repetition. The processes within the structure are known as the body of the loop.

36
Q

Pre-test iteration

A

The termination condition comes before the body of the loop. Also known as guarded loops. Repetition continues whilst the condition remains true. Pseudocode uses the keyword pair WHILE and ENDWHILE.

37
Q

Post-test iteration

A

The termination condition follows the body of the loop. Processes are executed at least once. They are also called unguarded loops. Pseudocode uses the keyword pair REPEAT and UNTIL.

38
Q

Counting loops

A

When a process or sequence is repeated a set number of times. It is possible to alter the magnitude of each step.. The FOR… NEXT keywords can be used in pseudocode.

39
Q

Discuss how subroutines are be used in software development

A

They are used in the top-down design, which is comprised of a series of subroutines (often also called subprograms or procedures). The highest level of routine is known as the main program. The main program contains calls to lower level subroutines. Subroutines can call lower level subroutines.

40
Q

Describe the concept of modularity in software development

A

The ability to reuse modules as a result of their independent nature. Refers to a self-contained unit. The operation of each module can be thoroughly tested in isolation to the total application. It is considered good practice to develop all subroutines with modularity principles.

41
Q

Describe how parameters can be used in software development

A

They provide the interface between different subroutines within a software product. They allow subroutines to access and alter data items held in variables. Actual parameters are real variables that contain data (value of parameter), whereas formal parameters are used within subroutines (name of parameter).

42
Q

Passing by reference

A

When passing by reference, a pointer to the address in memory is sent to the parameter. No new memory location is created rather the parameter will point to the memory location received from the actual parameter.

43
Q

Passing by value

A

When passing by value, a copy of the value held in the variable is sent rather than the memory address. This means there is no connection between corresponding parameters.

44
Q

Loading and printing arrays

A

Loading an array means storing data items in each element of the array. Printing an array is the process of displaying each data item stored in the array. Various possibilities exist for the termination condition for the iteration control structure. Sentinel values or knowing exactly how many data items there are could be used as indicators that there are no more data items that can be loaded.

45
Q

Adding the contents of an array of numbers

A

The idea is to iterate through the entire array of data items, adding the value of the current array item to the total.

46
Q

Processing using sequential files

A

Separators are used between fields so that each record can be stored logically. A specific character is used to separate fields (often called a delimiter). The mot common characters used are commas or tabs.