Software Development

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/65

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

66 Terms

1
New cards

Define Software Development

The process of designing, developing, testing, and maintaining software

2
New cards

Name the types of approaches to Software Development

  • Agile / Iterative

  • Waterfall / staged / incremental

3
New cards

Name 3 key characteristics of Agile / Iterative Software Development

  • Cyclical process

  • Incremental progress

  • Feedback integration

4
New cards

Define Cyclical progress as a key characteristic of Agile / Iterative Software Development

Team repeats the same phases of plan, design, implementation and testing in each iteration

5
New cards

Define Incremental Progress as a key characteristic of Agile / Iterative Software Development

New functionality is added and existing features are improved in each new iteration / sprints

6
New cards

Define Feedback integration as a key characteristic of Agile / Iterative Software Development

User and stakeholder feedback is incorporated after each cycle to inform the next one

7
New cards

Name 3 benefits of Agile / Iterative Software Development

  • Early risk reduction

  • Flexibility

  • Continuous Improvement

8
New cards

Define Early Risk Reduction as a benefit of Agile / Iterative Software Development

Problems and bugs are identified and fixed early in the process - reduces the risk of major issues surfacing later

9
New cards

Define Flexibility as a benefit of Agile / Iterative Software Development

Allows for changes to be made as the project progresses

10
New cards

Define Continuous Improvement as a benefit of Agile / Iterative Software Development

The product evolves over time with ongoing

enhancements and feature additions

11
New cards

Name 3 disadvantages of Agile / Iterative Software Development

  • Less documentation

  • Challenges in large organisations

  • Need for senior programmers

12
New cards

Define Less documentation as a disadvantage of Agile / Iterative Software Development

Agile Development prioritizes working on projects rather than paperwork

13
New cards

Define Challenges in Large Organizations as a disadvantage of Agile / Iterative Software Development

Busy schedule of clients can make communication difficult

14
New cards

Define Need for senior programmers Organizations as a disadvantage of Agile / Iterative Software Development

May require experienced programmers to make critical decisions

15
New cards

Name 3 key characteristics of Waterfall / staged / incremental Software Development

  • Sequential approach

  • Document driven

  • Quality Control

16
New cards

Define Sequential Approach as a key characteristic of Waterfall / staged / incremental Software Development

Each phase of the project is completed before moving on to the next one

17
New cards

Define Document Driven as a key characteristic of Waterfall / staged / incremental Software Development

Dependant on documentation to ensure that the project team is working towards a clear set of goals

18
New cards

Define Quality Control as a key characteristic of Waterfall / staged / incremental Software Development

Quality control and testing at each phase of the project - ensures that the final product meets the requirements and expectations of

the stakeholders

19
New cards

Name 3 benefits of Waterfall / staged / incremental Software Development

  • Clear Milestones

  • Properly documented

  • Individual processing

20
New cards

Define Clear Milestones as a benefit of Waterfall / staged / incremental Software Development

The project team is working towards a clear set of goals

21
New cards

Define Properly Documented as a benefit of Waterfall / staged / incremental Software Development

Processes, actions, and results are very well documented

22
New cards

Define Individual Processing as a benefit of Waterfall / staged / incremental Software Development

Phases are processed one at a time

23
New cards

Name 3 disadvantages of Waterfall / staged / incremental Software Development

  • No feedback

  • Hard to handle changes

  • Limited flexibility

24
New cards

Define No Feedback as a disadvantage of Waterfall / staged / incremental Software Development

No built in way to correct errors in earlier stages

25
New cards

Define Hard To Handle Changes as a disadvantage of Waterfall / staged / incremental Software Development

Difficult to change anything once the requirements phase is finished

26
New cards

Define Hard To Limited Flexibility as a disadvantage of Waterfall / staged / incremental Software Development

Not suitable for projects where requirements change

27
New cards

Define Client

Individual paying for the project

28
New cards

Define User

Target Audience

29
New cards

State the stages of Software Development

  1. Investigate

  2. Plan

  3. Design

  4. Create

  5. Evaluate

  6. Document

30
New cards

List 3 processes during the investigate stage

  • Identifying and analysing the problem to be solved

  • Gathering information

  • Specifying requirements

31
New cards

Name the types of requirements that need to be specified during the investigate stage

  • User

  • Client

  • Software

  • Hardware

32
New cards

List 3 processes during the plan stage

  • Understanding the problem

  • Creation of a workflow

  • Division of labour within the team

33
New cards

Name 3 processes during the design stage

  • Figuring out how the software should work using either the top down or modular design

  • Prototyping

  • User Centred Design

34
New cards

Define Top-Down Design

Breaking down a big problem into smaller, manageable parts

35
New cards

Define Modular Design

Organising a program into separate sections called modules

36
New cards

Name out the characteristics of a module

  • Works on its own

  • Can be reused in other projects

  • Makes debugging easier

37
New cards

Define Prototype

A simplified version of a system or feature.

38
New cards

Name 3 benefits of Protoypes

  • Identify problems early

  • Improve communication

  • Test Ideas Before Building the Real System

39
New cards

Name the types of Protoypes

  • Low fidelity

  • High fidelity

40
New cards

List 2 characteristics of Low fidelity prototyping

  • Simple and fast

  • Useful for exploring ideas quickly

41
New cards

List 2 characteristics of high fidelity prototyping

  • More detailed

  • Testing realistic user experience many times

42
New cards

Name 3 examples of Prototyping

  • Wireframe

  • Pseudocode

  • Flowchart

43
New cards

Define User Centred Design (UCD)

Focuses on the needs, abilities, and experiences of the people who will use the software

44
New cards

Name 3 benefits of Define User Centred Design (UCD)

  • More accessible software

  • Reduces frustration for users

  • Saves time and cost

45
New cards

Name 3 processes during the create stage

  • User experience

  • User Interface

  • Universal Design

46
New cards

Define User Experience (UX)

How a person feels when using a product

47
New cards

List 3 characteristics of User Experience (UX)

  • Speed and performance

  • Accessibility

  • Reducing user effort

48
New cards

Define User Interface (UI)

The visual and interactive parts of a software system

49
New cards

List 3 characteristics of User Interface (UI)

  • Layout

  • Appearence

  • Interaction

50
New cards

Define Universal Design (UD)

To make systems accessible, usable, and inclusive for as many people as possible without needing special adaptations.

51
New cards

Name key characteristics of Universal Design (UD)

  • Flexibility

  • Clear communications

  • Easy to understand

52
New cards

Define the process of the Create Stage

Programmers create the system based on all the work that has been carried out at the previous stages

53
New cards

Define the process of the evaluate stage

Software is tested to make sure it does what it is supposed to do

54
New cards

Name the different types of testing

  • Manual Testing

  • Automation Testing

  • Functional Testing

  • Non Functional Testing

  • Unit testing

  • Integration testing

  • System testing

55
New cards

Define Manual Testing

Testing the software manually with trying each function individually

56
New cards

Name the different types of Manual Testing

  • White box / glass box / structural testing

  • Black box testing

  • Grey box testing

57
New cards

Define White Box / Glass Box / Structural testing

Testing the internal structure and workings of a Software Application

58
New cards

Define Black Box Testing

Testing of application without knowing the internal code or structure

59
New cards

Define Automation Testing

Tester uses suitable Software or Automation Tools to test the software

60
New cards

Define Functional Testing

System is tested against the functional requirements and specifications

61
New cards

Define Non-Functional testing

Verifies whether the behavior of the system is as per the requirement or not

62
New cards

Define Unit Testing

Errors are detected individually from every component or unit by individual testing

63
New cards

Name an example of a unit test

If privacy setting work correctly

64
New cards

Define Integration Testing

Checks how different modules or components of the software work together

65
New cards

Define System Testing

Testing the software as a system

66
New cards

Name an example of a system test

Verifying both functional and non functional requirements