chapter 4 - 6 Flashcards
(43 cards)
What is the purpose of a new software project?
To potentially replace an existing system, such as transitioning from manual to electronic student results preparation.
What is requirements engineering?
The process of identifying, eliciting, analyzing, specifying, validating, and managing the needs and expectations of stakeholders for a software system.
What is the primary objective of requirements engineering?
To create and maintain a comprehensive and detailed ‘System Requirements Specification’ document.
What are the key processes in requirements engineering?
Requirements Elicitation, Requirement Analysis, Requirement Documentation, Requirement Review.
What is requirements elicitation?
The phase that entails gathering pertinent information regarding the requirements and expectations of stakeholders for the software system.
What methods are used for requirements elicitation?
Interviews, surveys, focus groups, and various techniques to gather insights from stakeholders.
What is the use case approach?
An approach that uses a combination of text and pictures to improve the understanding of requirements.
What does a use case represent?
An action that achieves a particular task within a system.
What is a primary actor in a use case diagram?
An individual or entity that utilizes a system intending to accomplish a specific goal.
What is a secondary actor in a use case diagram?
An actor that acts once the primary actor does something (reactionary).
What is the purpose of a use case diagram?
To aid in the clarification of requirements, improve communication, guide development, facilitate testing, and optimize user experience.
What is a context diagram?
A visual representation of the interactions between external entities and an internal software system.
What is a software prototype?
A simulated representation of the visual, functional, and experiential aspects of the final project.
What is rapid prototyping?
A method used in agile development where swift and minimal modifications are created for each sprint.
What is evolutionary prototyping?
A method where prototypes are created to address ambiguous software requirements, showcasing only understood features.
What is incremental prototyping?
An approach involving the development of multiple smaller prototypes focusing on specific features, which are later merged into a final prototype.
What are data flow diagrams (DFDs) used for?
To illustrate the flow of data within a system.
What are the rules for data flow diagrams?
Data must not flow between two entities, data must not flow between two data stores, a process must have both input and output data flow, etc.
What is the purpose of requirements documentation?
To document the requirements identified in the analysis step in a precise, consistent, and unambiguous manner.
What is a Software Requirement Specification (SRS)?
A representation of requirements in a consistent format for a particular software product.
What are the characteristics of a good SRS?
Correct, unambiguous, complete, consistent, verifiable, modifiable, traceable, and ranked for importance and stability.
What is software project planning?
Outlining the project scope, objectives, resources, and timeline for software development.
What is size estimation in software development?
Determining the size of the software product that needs to be developed, commonly using Lines of Code (LOC) or Function Points (FP).
What is function point analysis?
A measure of the functional size of a software application, representing the functional value delivered to customers.