1/26
This set of vocabulary flashcards covers the fundamental concepts, methods, and types of requirements elicitation, software documentation, and software maintenance based on the lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Requirements Elicitation
The process of investigating, gathering, defining, and learning about a system’s requirements from users, clients, and other stakeholders.
Open-ended Interviews
Interviews where there is no pre-set agenda and context-free questions may be asked to understand the problem.
Structured Interviews
Interviews that use a prepared agenda of fairly open questions or a specifically designed questionnaire.
Brainstorming Sessions
A group technique intended to generate many new ideas and provide a platform for sharing views, often requiring a trained facilitator to handle bias and conflicts.
Facilitated Application Specification Technique (FAST)
A team-oriented approach for requirements gathering that aims to bridge the expectation gap between what developers think they should build and what customers expect.
Expectation Gap
The difference between what the developers think they are supposed to build and what customers think they are going to get.
Quality Function Deployment (QFD)
A technique that emphasizes requirements valuable to the customer to ensure prime concern is given to customer satisfaction.
Normal Requirements
A type of requirement in QFD where the objectives and goals of the proposed software are discussed with the customer, such as the entry of marks in a result management system.
Expected Requirements
Requirements in QFD that are so obvious that the customer does not explicitly state them, such as protection from unauthorized access.
Exciting Requirements
Features in QFD that are beyond customer expectations and provide high satisfaction, such as a system backing up and shutting down when unauthorized access is detected.
Use Case Approach
A technique combining text and pictures to describe the functional view ('what' and not 'how') of a system.
Actor (Use Case Design)
An external agent located outside the system that interacts with it, represented as a stick figure, which can be a person or a machine.
Use Cases
Descriptions of the sequence of interactions between actors and the system, capturing who does what interaction.
Use Case Diagram
A graphical representation showing what happens when an actor interacts with a system, using stick figures for actors and ovals for use cases.
Software Documentation
A written piece of text, such as API documentation or build notes, that accompanies a software program to assist project members and users.
Software Requirement Specification (SRS)
A document created before the development of a software product that records the gathered requirements.
Requirement Documentation
A description of how the software shall perform and the appropriate environment setup required to achieve the best results.
Architectural Documentation
Documentation focused on system components, their roles, working, and data flow, containing very little actual code.
Rationale
A comprehensive record maintained by a developer or designer explaining why specific design or development decisions were made.
Software Maintenance
The process of modifying and updating a software system after delivery to fix bugs, add features, or adapt to new environments.
Corrective Maintenance
A type of software maintenance specifically focused on fixing errors and bugs within the system.
Patching
An emergency fix implemented for corrective maintenance due to management pressure, which may lead to future errors due to lack of impact analysis.
Adaptive Maintenance
Modifying software to adapt to changes in the environment, such as new hardware, software, government policies, or business rules.
Perfective Maintenance
Maintenance involving the improvement of functionality, performance, and reliability, as well as restructuring the system for better changeability.
Preventive Maintenance
Taking measures to avoid future problems through optimization, updating documentation, system reviews, and backups.
Proactive Maintenance
A category of maintenance that involves taking preventive measures to avoid problems before they occur.
Reactive Maintenance
A category of maintenance that involves addressing problems that have already occurred, such as system crashes or security breaches.