Software 34

0.0(0)
Studied by 1 person
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/120

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 11:30 AM on 9/29/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

121 Terms

1
New cards

Benefits of using prompts to generate code

quick code generation

increased productivity for the rest of the team

enables non-developers to create code

automated documentation

2
New cards

Disadvantages of using prompts to generate code

potential for bugs and errors

risk of vulnerabilities

copyright concerns

limited situation understanding

3
New cards

Benefits of automated debugging and testing

real time identification of issue

improved code quality

4
New cards

Disadvantages of automated debugging and testing

reduced opportunities for developers and testers

dependency on training data

5
New cards

Functional Requirements

what the system should do and how it should behave in response to different inputs and conditions

6
New cards

Non-functional requirements

Non-functional requirements are attributes or qualities of a system that specify how it should behave or perform, rather than what it should do. Including: usability, reliability, portability, robustness and maintainability.

7
New cards

Data dictionaries

Used to design the data of a solution and useful at later stage when code needs to be modified later by other programmers and the purpose of the variable is unknown.

8
New cards

Mockups

A detailed diagram that illustrates how software modules’ interface will look. Annotations used to explain how design principles and characteristics of UX have been incorporated.

9
New cards

Object descriptions

Used to design an object within a solution. Includes the name, list of attributes/properties and the methods. Establish the naming conventions for the system, and document OOP principles.

10
New cards

Input process output charts

Provide brief overview of the inputs and outputs of a task and outline the processes required to generate outputs.

11
New cards

Pseudocode

Structured english which clearly depicts algorithms in a way that does not require technical knowledge. Helps break down complex problems. Helps identify logical erros early in development.

12
New cards

Character

Represents a single text symbol, contains one byte of memory

13
New cards

String

Represents a sequence of characters. Use string if the number has a leading 0 such as phone numbers or any other number that is dependent on the specific structure of the number.

14
New cards

Integer

Represents whole numbers, positive, negative and zero values. measurements such as mm

15
New cards

Floating point

Represents numbers with decimals, used for measurements such as cm and metres

16
New cards

Date/time

represents date and time information, enables mathematical operations with dates

17
New cards

Boolean

Use to store default true or false data

18
New cards

Data structure

Method of organising data to allow particular operations to be performed on them efficiently

19
New cards

One dimensional array

Linear data structure where elements are accessed by a single index. It represents a list of elements that are all of the same data type. Each element in the array can be accessed using an integer index.

20
New cards

Two dimensional array

Two dimensional array represents a grid of data, rows and columns. This requires accessing elements using two indices rather than one.

21
New cards

Records

Basic data structure for collections of related elements. These elements may or may not be of the same data type.

22
New cards

Fields

Are what make up records and have their own data type.

23
New cards

XML

File structure made up of user defined, self descriptive tags that are customizable. Ensures that data received from a source is in an ‘as expected’ format. XML will continue to work if data is modified or added.

24
New cards

CSV

Text file where data is seperate by comma, can store two dimensional arrays, much simpler design.

25
New cards

XML vs CSV

XML is easier to move data bewteen systems as it conforms to standard structure

XML is more human readable

XML can store hierachial complex data

changing csv by adding more columns may require code altercations where changing XML doesn’t

Managing XML requires more complex code than CSV

26
New cards

OOP

Code that is reusable and modular that revolves around objects which are from classes that hold data or code and organized in methods.

27
New cards

Abstraction

Hiding the complex implementation details of a class and only exposing the necessary and relevant parts to the user

28
New cards

Encapsulation

Process of restricting direct access to an objects components by modifying only through exposed methods. Improves the security and integrity of the data.

29
New cards

Inheritance

When a subclass inherits common attributes and methods from an existing super class. Allows the subclass to reuse code, extend its functionality and promote hierarchial structure. Any changes made to the methods in the super class will be affected in the subclass.

30
New cards

Generalisation

The process of finding common characteristics among a set of classes and abstracting them into a parent class.

31
New cards

Benefits of inheritance and generalisation

Code reusability, Ease of maintenance and Scalability

32
New cards

Public modifier

Scope is global as they are accessible from any part in the program. Their lifetime extends throughout the entire runtime of the program.

33
New cards

Protected modifier

Accessible only within the class they are defined in and by any subclasses inherited from that class.

34
New cards

Private modifier

Accessible from within the exact class which they were declared and lifetime limited to the the extent in which the method or specific class in running for.

35
New cards

Local variable

Are declared inside a function and can only be accessed within that specifc function. Their lifetime is limited to whne they are created when the function is called and destroyed when the function completed it execution.

36
New cards

Global Variable

Are declared outside any function and can be accessed throughout the entire program.

37
New cards

Sequence

A set of instructions that executes line by line, each line is run in the order is is written.

38
New cards

Selection

Lines of code are run only when a condition is met, based on a Boolean condition. (IF statements)

39
New cards

Iteration

Is used to repeat sections of code multiple times until a condition is met. (WHILE, DO/WHILE, FOR and REPEAT/UNTIL)

40
New cards

Function

A reusable block of code designed to perform a specific task

41
New cards

Method

A function that called from the object in which it was declared

42
New cards

Class

A template for objects with predetermined variables and behavior, which can be instantiated as objects or be used by another class.

43
New cards

Objects

An instance of a class that represents a specific entity with its own unique state

44
New cards

Naming conventions

Is a set of rules that is used when creating variables, making them easy to read and understand. Should tell the purpose and data type or structure.

45
New cards

Hungarian notation

same as camel case but has data type as prefix

46
New cards

Snake case

Joins words using an underscore

47
New cards

Camel case

when each word after the first begins with a capital letter

48
New cards

Internal documentation

Helps other developers to understand what the code does such as data structures, helps reduce the amount of time required for maintaining and debugging. Useful for future software updates. Improves efficiency

49
New cards

Selection sort

Comparing the first element of the list to each other element to find the smallest value and moving it to the front

50
New cards

Quick sort

Method of sorting an array by splitting and swapping values in that array.

51
New cards

Quick sort vs selection sort

Quick sort is much more efficient than selection sort as it uses the divide and conquer method. Exponentially faster. Where as selection sort checks every value in the list and compares it to the smallest which is much less efficient.

52
New cards

Linear search

Method of searching an UNSORTED list, going through each element first to last. Simple to implement, but extremely inefficient is a large data set is used.

53
New cards

BInary search

Method of searching a SORTED list, by dividing the data set in half until the value is found. Harder to implement as requires sorted array but is much more efficient than linear. List must be sorted in order of the element trying to search for.

54
New cards

Syntax error

erros in code that prevent a solution from being compiled as a result of a programming language’s syntax not being followed

55
New cards

Logic errors

errors in code that result in the solution generating incorrect output

56
New cards

Run-time erros

errors that arise during program execution that result in the solution crashing if not handled correctly

57
New cards

Over flow error

When a calculation produces a result that exceeds the storage capacity of the data type used to store it.

58
New cards

Index out of range

When a program attempts to access an element at an index that is outside the bounds of an array or collection.

59
New cards

Type mismatch

When values of incompatible data types are combined in an operation.

60
New cards

Techniques for debugging

Breakpoints, debugging statements

61
New cards

Breakpoints

Markers set by a developer in a code editor or debugger that pauses the execution. Allows developers identify and fix issues in their code

62
New cards

Debugging statements

Lines of code that offer insight into how the data is being manipulated. Can be inefficient as the whole program has to be run. Commenting out code

63
New cards

Testing techniques

Boundary condition tests

64
New cards

Reasons for developing software

Increasing productivity and efficiency, reducing costs, identifying opportunities in the market and meeting organizational objectives.

65
New cards

Features of design brief

problem outline, proposed users, language to use, feasibility, originality

66
New cards

Milestones

Represent the achievement of a significant stage such as the development stage, analysis stage etc.

67
New cards

Dependencies

The commencement of some tasks depends directly on the tasks that is completed before

68
New cards

Critical path

Sequence of tasks which contains no slack time, the minimum possible amount of time which all

69
New cards

Monitoring the progress of projects

Annotate the Gantt to log any unforeseen changes or using a project change log

70
New cards

Interviews

A method of collecting in depth qualitative data, can ask follow up questions. Quite costly in labour and time and can only interview small number of people

71
New cards

Survey

Mix of quantitative and qualitative questions, can be statistically analysed, can reach out to many participants being geographically diverse

72
New cards

Observations

Observing user behaving normally in natural environment, useful to collect data bout current system. Potential for observer bias, but does not rely on users’ opinion.

73
New cards

Reports

summarises information about a system, used to analyse an existing system

74
New cards

Economic constraint

financial limitations and time considerations that may affect the ability of a project to be developed

75
New cards

Legal Constraint

Laws and regulations that must be adhered to in the development of the project

76
New cards

Social constraint

Refer to the constraints of the system to accommodate for users with varying technical knowledge and accessibility needs

77
New cards

Technical constraints

The restrictions related to the technology used in the project

78
New cards

Scope

Outlines what the solution will and will not address, some requirements may not be addressed due to identified requirements

79
New cards

Scope creep

When a client increases the scope of a project during the life cycle of the project. This can be very expensive for the developer in terms of time and money.

80
New cards

Context diagram

Used to represent the data flows between a system and external entities are Level 0.
Data cannot flow directly between two entities

Data flows cannot cross each other

Each data flow should only represent a single set of information being transferred.

81
New cards

Data flow diagram

Depict the flow of data within a system, illustrating how data is provided, processed, stored and output. Level 1.

Data cannot flow directly between entities

Data cannot flow directly between data stores

data cannot flow directly between an entity and data stores.

data flows cannot cross each other

a process must have at least one input and one output

output name from process should be different to the name for the input

data store must have at least one input and one output.

all external entities must at least provide one input or receive one output from the system

82
New cards

Use case diagram

Visually represents the interactions between users and a system

83
New cards

SRS

a document that summarises the findings of the analysis stage

84
New cards

User characteristics

Technical proficiency, cognitive abilities and demographic information

85
New cards

Components of SRS

requirements, constraints, scope, user characteristics, technical environments and analytical tools.

86
New cards

Version control

Ensures the files that developers are working on are up to date and allows them to ‘roll back’ to any previous point in the development if issue develops with current version

87
New cards

Backup scheme

frequency of backup, backup media, location of backup, testing, backup media, backup type, restoration, retention period, amount of data

88
New cards

Archive vs backup

Archiving is moving files from one place to another whereas backup copies files from one place to another

89
New cards

Full backup

copy everything to new storage is time consuming and needs large amount of storage.

90
New cards

Differential backup

Full backup first and any changed files different to this are saved in the next backup. More complicated to implement and restore backups

91
New cards

Incremental

full backup first and any changed files different to previous increment, very quick, complicated to restore as full back up and then all increments in order

92
New cards

File security

Access control, file permissions and encryption

93
New cards

Disposal

The removal of files tat are no longer needed, ensures that storage space is optimised and sensitive information is protected

94
New cards

Mood boards

used to collate imagery, colours, typography and code samples to explore and inspire the overall direction of the design of the software solution.

95
New cards

Brainstorming

The unstructured collation of related ideas, based around a central theme/concept

96
New cards

Mind maps

a structured collation of related ideas, based around a central theme/concept

97
New cards

sketches

unrefined illustrations that briefly depict an interface or indicate how different components of the software solution could be linked or interact

98
New cards

Annotations

can be used to organise thoughts and highlight or justify design considerations within design ideas. Justify design principles and characteristics of user experience.

99
New cards

Efficiency of solution

how well the solution utilises resources and performs tasks minimising cost and time and speed of processing

100
New cards

Effectiveness of solution

The ability to achieve its intended goals, accessibility, accuracy, attractiveness, clarity, communication of message, completeness, maintainability, readability, relevance, timeliness and usability