1.2.3 Flashcards
(21 cards)
Stakeholder
A person or group of people who may be impacted by decisions made during a software development project. They often get a say in important project decisions
Waterfall Lifecycle Approach
Each stage in the SDLC lifecycle is completed before moving onto the next. Suited to large-scale projects where it would be costly to revisit earlier stages mid-way through the project.
Prototype
A working model used to test a design or concept. Used to help identify exactly what the user requires by giving them a good example of what the finished system might be like.
Spiral Approach
An extension of the waterfall approach with a focus on risk management. It consists of producing a series of prototypes which are reviewed and evaluated before developing the final system. Risk analysis is performed on every cycle to minimise the likelihood of overall project failure.
RAD (Rapid Application Development)
Less emphasis on analysis and design and more emphasis on the development phase. The development phase consists on producing a series of prototypes in quick succession where user-feedback is taken into account. The process aims to make each prototype as re-usable as possible.
Agile Software Approach
A family of SDLC approaches with a focus on producing multiple iterations of software where stakeholders are involved in every part of the process. Feedback from users is explicitly factored into this methodology so that clients can see progress and shape the development as it happens.
Extreme Programming (XP)
A type of agile software development with a focus on short development cycles and high quality code. Techniques such as pair programming are used to ensure high quality code. It works well on small projects or when a certain amount of flexibility as to when certain features get added.
Functional Requirement
Statements of services or features the system should provide and how it will respond to certain inputs
Non-functional Requirement
Constraints on the services provided by a system e.g. reliability, availability, performance, usability and efficiency.
Analysis
The process of establishing the system requirements by investigating the problem you are trying to solve and involving the end-user
Design
Using the requirements to produce a model for the system to be produced. This involves decomposing your proposed system into a series of modules as well as establishing the algorithms that will be used for each component of the system.
Implementation
Building the system itself from the designs produced.User Acceptance Testing
User Acceptance Testing
Testing the system matches the user’s requirements. This may include performing usability testing so that they can check the interface/s meet their needs.
Unit Testing
Testing each module of the system in isolation to all other parts of the system.
Integration Testing
Testing that each unit works with all other units of the system.
Normal Data
The type of data that will be entered into the system during normal day-to-day operation
Boundary Data
Data that will be entered rarely, but which the system should be designed to handle. E.g. bigger than expected number for age (E.g. 100)
Invalid Data
Data that is of the wrong format. E.g. entering text where the system requires a number
Extreme Invalid Data
Data that is of the wrong format but could do severe damage to the system e.g. SQL entered in a text field.
Black-box Testing
Testing without reference to the program code itself