1/65
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
Define Software Development
The process of designing, developing, testing, and maintaining software
Name the types of approaches to Software Development
Agile / Iterative
Waterfall / staged / incremental
Name 3 key characteristics of Agile / Iterative Software Development
Cyclical process
Incremental progress
Feedback integration
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
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
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
Name 3 benefits of Agile / Iterative Software Development
Early risk reduction
Flexibility
Continuous Improvement
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
Define Flexibility as a benefit of Agile / Iterative Software Development
Allows for changes to be made as the project progresses
Define Continuous Improvement as a benefit of Agile / Iterative Software Development
The product evolves over time with ongoing
enhancements and feature additions
Name 3 disadvantages of Agile / Iterative Software Development
Less documentation
Challenges in large organisations
Need for senior programmers
Define Less documentation as a disadvantage of Agile / Iterative Software Development
Agile Development prioritizes working on projects rather than paperwork
Define Challenges in Large Organizations as a disadvantage of Agile / Iterative Software Development
Busy schedule of clients can make communication difficult
Define Need for senior programmers Organizations as a disadvantage of Agile / Iterative Software Development
May require experienced programmers to make critical decisions
Name 3 key characteristics of Waterfall / staged / incremental Software Development
Sequential approach
Document driven
Quality Control
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
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
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
Name 3 benefits of Waterfall / staged / incremental Software Development
Clear Milestones
Properly documented
Individual processing
Define Clear Milestones as a benefit of Waterfall / staged / incremental Software Development
The project team is working towards a clear set of goals
Define Properly Documented as a benefit of Waterfall / staged / incremental Software Development
Processes, actions, and results are very well documented
Define Individual Processing as a benefit of Waterfall / staged / incremental Software Development
Phases are processed one at a time
Name 3 disadvantages of Waterfall / staged / incremental Software Development
No feedback
Hard to handle changes
Limited flexibility
Define No Feedback as a disadvantage of Waterfall / staged / incremental Software Development
No built in way to correct errors in earlier stages
Define Hard To Handle Changes as a disadvantage of Waterfall / staged / incremental Software Development
Difficult to change anything once the requirements phase is finished
Define Hard To Limited Flexibility as a disadvantage of Waterfall / staged / incremental Software Development
Not suitable for projects where requirements change
Define Client
Individual paying for the project
Define User
Target Audience
State the stages of Software Development
Investigate
Plan
Design
Create
Evaluate
Document
List 3 processes during the investigate stage
Identifying and analysing the problem to be solved
Gathering information
Specifying requirements
Name the types of requirements that need to be specified during the investigate stage
User
Client
Software
Hardware
List 3 processes during the plan stage
Understanding the problem
Creation of a workflow
Division of labour within the team
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
Define Top-Down Design
Breaking down a big problem into smaller, manageable parts
Define Modular Design
Organising a program into separate sections called modules
Name out the characteristics of a module
Works on its own
Can be reused in other projects
Makes debugging easier
Define Prototype
A simplified version of a system or feature.
Name 3 benefits of Protoypes
Identify problems early
Improve communication
Test Ideas Before Building the Real System
Name the types of Protoypes
Low fidelity
High fidelity
List 2 characteristics of Low fidelity prototyping
Simple and fast
Useful for exploring ideas quickly
List 2 characteristics of high fidelity prototyping
More detailed
Testing realistic user experience many times
Name 3 examples of Prototyping
Wireframe
Pseudocode
Flowchart
Define User Centred Design (UCD)
Focuses on the needs, abilities, and experiences of the people who will use the software
Name 3 benefits of Define User Centred Design (UCD)
More accessible software
Reduces frustration for users
Saves time and cost
Name 3 processes during the create stage
User experience
User Interface
Universal Design
Define User Experience (UX)
How a person feels when using a product
List 3 characteristics of User Experience (UX)
Speed and performance
Accessibility
Reducing user effort
Define User Interface (UI)
The visual and interactive parts of a software system
List 3 characteristics of User Interface (UI)
Layout
Appearence
Interaction
Define Universal Design (UD)
To make systems accessible, usable, and inclusive for as many people as possible without needing special adaptations.
Name key characteristics of Universal Design (UD)
Flexibility
Clear communications
Easy to understand
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
Define the process of the evaluate stage
Software is tested to make sure it does what it is supposed to do
Name the different types of testing
Manual Testing
Automation Testing
Functional Testing
Non Functional Testing
Unit testing
Integration testing
System testing
Define Manual Testing
Testing the software manually with trying each function individually
Name the different types of Manual Testing
White box / glass box / structural testing
Black box testing
Grey box testing
Define White Box / Glass Box / Structural testing
Testing the internal structure and workings of a Software Application
Define Black Box Testing
Testing of application without knowing the internal code or structure
Define Automation Testing
Tester uses suitable Software or Automation Tools to test the software
Define Functional Testing
System is tested against the functional requirements and specifications
Define Non-Functional testing
Verifies whether the behavior of the system is as per the requirement or not
Define Unit Testing
Errors are detected individually from every component or unit by individual testing
Name an example of a unit test
If privacy setting work correctly
Define Integration Testing
Checks how different modules or components of the software work together
Define System Testing
Testing the software as a system
Name an example of a system test
Verifying both functional and non functional requirements