Looks like no one added any tags here yet for you.
Analysis
Solution requirements,
solution constraints,
solution scope
Design
Solution design,
evaluation criteria
Development
Manipulation,
validation,
testing,
documentation
Evaluation
Solution evaluation,
evaluation strategy
Data Dictionary
They are used to plan the storage of elements such as variables
These are useful when the program needs to be modified later on.
Data structure
A data structure is a method of organizing data to allow particular operations to be performed on efficiently; in this way they are more complex than data types
More efficient to use data structures
Array
An array is a data structure that contains groupings of data. These elements are traditionally of the same type data, such as character, numeric or boolean.
Python arrays allow more than one data type
Pro: data can be organised and ordered efficiently
Tuple
Used to store multiple items in a single variable
Ordered, can not change values and allows duplicate values
the items have a defined order, and that order will not change
The first item has index [0], the second has index [1] etc
Set
Set is an unordered collection of data type that is iterable, mutable, and has no duplicate elements.
The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for checking whether a specific element is contained in the set.
Dictionary
Associative array = dictionary = maps = symbol tables
Always has a key and value pair (key:value)
You can add date
Only key value pairs: You cant have a key without the value or the other way around in a dictionary. They always go together
Unique keys: A dictionary can’t contain duplicate keys, because that would violate the definition of a function
Non-unique values: The same value can be associated with many keys, but it doesn’t have to
Duplicate values: will overwrite existing values.
Object description
An object description is a way if describing all of the relevant properties, methods and events of an object.
Object descriptions are valuable when code needs to be modified later by other programmers and the properties of the object are unclear or unknown
Mock up
To design an interface, use a mock-up, which is a sketch showing how a screen or printout will look. A mock-up should typically incur ethe following features
The position, sizes of controls such as buttons and scroll bars
The positions, sizes, colours and styles of text such as headings and labels
menus , status bars and scroll bars
Borders, frames, lines, shapes, images, Decoration and colour schemes
Vertical and horizontal object alignments
The contents of headers and footers
Pseudocode
Pseudocode is also known as structured english
Includes indentation
To ‘get data from the keyboard’, you could use INPUT, GET, FETCH or another keyword
To read data from a disk file, you could choose INPUT, GET, READ or something else
Data validation
Data validation is the process of ensuring that data entered into a program is accurate, complete and consistent with the rules and standards defined by the scenario.
The purpose of data validation is to prevent incorrect or invalid data from being stored, which can cause problems and errors when the data is used for other purposes
There is 4 types of data validation
Syntax
Range
Type
Existence
Syntax validation
Checks if the data conforms to a set of predefined rules, such as the format of an email address or the length of a password
Range validation
Checks if the data falls within a defined range, such as the maximum or minimum value of a number
Type validation
Checks if the data is of the correct type, such as a string, integer or float
Existence validation
Checks whether a value has been entered at all. This is particularly useful to ensure that all required fields in a form have been completed before saving the contents of those
Truth table
Systemic method of testing the logic of a conditional statement
Useful when there are more than two conditions within a single statement
Can be used in conjunction with a trace table to determine if an algorithm is without logical errors
Can be used to help select test data for testing an algorithm
Syntax error
will not allow the code to compile (easiest to fix)
Runtime error
Will compile and execute the code, however it will later stop working. Examples include divide-by-zero errors and infinite loops, memory leaks
Logic error
Hardest to diagnose, can only be found if an unexpected output occurs.
Test data
Test data is used to write a test case
Test case
For a test case, they have to select data, test data, write testing procedures and determining testing results.
Boundary values
Testing for boundary values involves selecting test the ‘boundaries’ of any condition or iteration within the code; that is the maximum and minimum values available for any given input
Values outside the boundary values do not need to be tested, as they should give the same result as one of the boundary values.
Test 5 values including the boundary values and numbers outside the boundary values.
Test values of different data types and negative values (if they need to be changed to positive numbers)
Test table
Used to find errors; checks the solution provides the expected result
Steps involved in testing:
Decide which tests will be conducted
Create suitable test data
Determine expected results
Conduct the test
Record the actual results
Correct any errors
(Steps 3 and 5 must be compared to determine errors)
Trace tables
To prevent logic errors from occurring, programmers use trace tables to validate the logic of algorithms in their source code
Trace tables simulate the execution of a program referred to as the “flow of execution
Helps the programmer get an understanding of how your program works
You are able to use a trace table by writing down the names of all your variables in a program, and computing it all manually through each iteration to ensure nothing goes wrong logic wise.
Classes
A class is a blueprint for creating objects. It contains the code for all the object’s methods.
To create a class, you use the ‘class’ statement. Class names start with capitals
Most classes will have a method called init. The underscores indicate that it is a constructor, and it is automatically called when someone creates a new object from your class
Attributes are variables that store data specific to each object.
Methods
The first argument to every method in your class is a special variable called “self”. Every time your class refers to one of its variables or methods, it must precede them by ‘self’. ‘Self’ is used to distinguish your class’ variables and methods from others in the program
Methods are functions defined in a class which can manipulate the properties of an object
Objects
To create a new object from a class, you call the class name along with any values that you want to send to the constructor.
To use the object’s methods, use the dot operator (self.method)
An object is an instance of a class. It is a concrete realization of the class’s blueprint with specific values assigned to its attributes
Each object is unique, even though they have the same class definition. They can have different values and attributes
Benefits of classes and objects
Code reusability: Classes allow you to create reusable code templates, reducing redundancy and promoting maintainability
Modularisation: By encapsulating data and functionality within objects, you improve code organisation and clarity
Data protection: You can control access
Design brief
A design brief is a document or statement that outlines the nature of a problem, opportunity or need.
Briefly describes processes, systems and users as a way to kickstart the design process
Created uring the analysis stage of the PSM
Contains solution requirements, constraints and a scope.
Solution requirements
A design brief contains an overview of the solution requirements, any known constraints and a short discussion of the scope
Solution constraints are factors that may limit or restrict solution requirements
Economic constraints: Time and cost
Technical constraints: Constraints related to the hardware and software available for the solution.
Social, legal and usability constraints (Non-technical): relates to areas other than hardware or software