1/85
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What are requirements in software engineering?
Requirements describe what the software system should be but not how it is to be constructed.
What is requirements engineering?
A set of activities related to the development and agreement of the final set of requirement specifications.
What is one of the top reasons for software project failures?
Incomplete requirement specifications.
What is a major factor in software project success?
Clear requirements statements.
What are the key activities in requirements engineering?
Elicitation, documentation and definition, specification, prototyping, analysis, review and validation, agreement and acceptance.
What is the first step in requirements processing?
Ensuring all preparations are made and requirements engineering activities are planned.
What should a requirements engineering plan include?
Process to be used, resources needed, and schedule for completing requirements activities.
Why is agreement on the requirements engineering plan important?
Requirements represent user needs and desires, and resource commitment is necessary.
What is a common pitfall during requirements engineering?
Overconsumption of resources and schedule for prototyping and reviews.
What are the entrance criteria for requirements engineering?
A prepared and agreed-on plan, trained personnel, and necessary tools.
What is the first step in the requirements engineering process?
Elicitation and gathering of requirements from users and customers.
What happens during the analysis step of requirements engineering?
The analysis of the requirements consists of two main tasks:
Categorizing or clustering the requirements
Prioritizing the requirements
What are the three central subactivities in requirements engineering?
Requirements definition and documentation, requirements prototyping, and requirements review.
What is the purpose of the Software Requirement Specification (SRS)?
To serve as a complete, unambiguous, measurable, and detailed documentation of the requirements.
What is the role of the requirements agreement document?
To serve as a contract between the customer and the software development organization.
What is the primary function of the requirements review with the customer?
To validate that the software team is building the correct system.
What is the baseline in requirements engineering?
The agreed-on requirements specification, after which changes must be managed through a change control process.
What is scope creep?
The project growing in size without detection, often leading to schedule and cost overruns.
Why is requirements engineering essential in software development?
It prevents issues like lack of testing basis, uncontrolled scope creep, unclear customer training, and difficulty managing schedules and costs.
What is a negative consequence of not performing requirements engineering?
The inability to control project scope-creep and document requirements for testing and training.
What is an example of overengineering in requirements engineering?
Excessive effort on prototypes, reviews, or voluminous documentation when creating an RFP.
What approach do Agile developers advocate for handling requirements?
Constant interaction with users to ensure correct interpretation of requirements.
Who typically becomes a requirements analyst?
Individuals with business and industry domain knowledge, good communication skills, or experienced customer support personnel.
Why are communication skills essential for requirements analysts?
Users/customers may not always know how to state their needs, requiring analysts to be good listeners and interpreters.
Why is industry domain knowledge important for requirements analysts?
Each industry has unique terminology that analysts must understand to solicit accurate requirements.
What are two levels of requirements elicitation?
High-level (business rationale and justification) and low-level (detailed user needs and desires).
What are common modes of elicitation?
Verbal, written (preformatted forms), and online forms.
Why is verbal follow-up recommended during elicitation?
It allows for personal contact, triggers good follow-up questions, and lets users expand on their input.
What should requirements analysts do with existing documentation?
Read and analyze business process documents, policies, and manuals to clarify requirements.
Who provides high-level requirements?
Management and executives who sponsored the software project.
What is included in high-level business profiles?
Opportunity/needs, justification, scope, major constraints, major functionality, success factors, and user characteristics.
What is the importance of understanding business constraints?
Constraints like budget and schedule impact prioritization and decision-making in requirements gathering.
Why is a user profile necessary?
It helps understand job titles, responsibilities, activities, education, and technical competence for system success.
What is the focus of detailed requirements elicitation?
Gathering specific information about functionalities, data, user interfaces, and other nonfunctional requirements.
What are the six dimensions of detailed requirements?
Individual functionality, business flow, data and formats, user interfaces, system interfaces, and nonfunctional requirements.
What is a use case?
A sequence of actions a system performs within the business flow context of a user or actor.
What types of data should be considered during elicitation?
Input data, output data (e.g., query results, reports), application system information (e.g., error messages, help text).
What are examples of user interface requirements?
Preferences for icons, flow of the application, and prototyping for user feedback.
What dimensions must be addressed in system interfaces?
Transfer of control, data transfer, receipt of responses, retry capabilities, and error descriptions.
What are examples of nonfunctional requirements?
Reliability, performance, security, adaptability, transportability, and maintainability.
Why are performance requirements important in transaction-oriented applications?
They specify acceptable transaction rates to ensure system efficiency.
What is the difference between reliability and availability?
Reliability ensures the system functions properly, while availability ensures the system is operational when needed.
Why might a customer request software in a specific programming language?
For easier future modification or support of the software product.
What are the two main tasks in requirements analysis?
Categorizing/clustering the requirements and prioritizing the requirements.
How are requirements categorized in business flow clustering?
Into six dimensions: individual functionality, business flow, data/formats/information needs, user interfaces, interfaces with other systems, and constraints.
What must be ensured during requirements analysis to avoid duplication?
Clarify overlaps and ensure each requirement is uniquely identifiable and traceable.
What is the role of business flow in requirements categorization?
Business flow acts as the principal requirement, with other categories clustered around it.
What happens to requirements that do not fit any business flow?
They are grouped under a null business flow.
What is a use case in object-oriented methodology?
A depiction of basic functionality, preconditions, flow of events (scenario), postconditions, and error conditions.
What are actors in object-oriented use-case methodology?
External interfaces with the system, such as users, other systems, hardware, or networks.
What questions help identify actors in a system?
Who uses the system? Who operates/maintains the system? What other systems use this system? What other systems are used by this system?
What does viewpoint-oriented requirements definition (VORD) recognize?
That different stakeholders view requirements differently based on their roles and perspectives.
What are the steps in VORD methodology?
Identify stakeholders and viewpoints, structure and categorize viewpoints, refine viewpoints, and map viewpoints to system services.
Why is prioritizing requirements necessary?
Limited resources, time, and technical capabilities make it impossible to develop all requirements at once.
What are common criteria for prioritizing requirements?
Customer demands, market conditions, future needs, immediate sales advantage, and critical problems in existing products.
What is the Analytical Hierarchy Process (AHP)?
A methodical approach to prioritizing requirements by comparing them pairwise and assigning intensity values.
How is requirements prioritization classified in AHP?
Based on intensity values, with the highest relative intensity indicating the highest priority.
What is the purpose of requirements traceability?
To track and verify that all requirements are developed, tested, and delivered while identifying unaccounted functionalities.
What are the four types of requirements traceability?
Backward from traceability, forward from traceability, backward to traceability, and forward to traceability.
Why must each requirement be uniquely identifiable?
To ensure traceability and account for all functionalities and properties during development.
What are the three central activities in requirements engineering?
Requirements definition, prototyping, and review.
What does requirements definition involve?
Formally spelling out the requirements, often using notations like input-process-output, UML, DFD, or ERD.
What is a data flow diagram (DFD) composed of?
Source or destination of data, flow of data, process, and data store.
What is an example of a high-level DFD use?
Depicting a customer order system with processes, data flows, and data stores.
What does an entity-relationship diagram (ERD) depict?
Relationships between entities and their attributes.
What are the two key constraints in ERDs?
Cardinality and modality.
What does cardinality specify in ERDs?
The number of participants in a relationship (e.g., one-to-one, one-to-many, many-to-many).
What does modality specify in ERDs?
Whether the existence of an entity depends on its relationship with another entity.
What are two main aspects of user interfaces analyzed during requirements?
Visual looks and display, and interaction with people and flow.
What is low-fidelity prototyping?
Early user interface modeling using paper boards and flip charts.
What tools are commonly used for rapid user interface prototyping today?
Tools like Microsoft Visual Basic and other Agile-friendly tools.
What is the significance of reviewing requirements with users and customers?
To catch requirement errors early, reducing downstream design and programming errors.
Who introduced formal inspections for requirements reviews?
Michael Fagan of IBM in the early 1970s.
What is the purpose of documenting requirements modifications?
To prevent errors from escaping into design, coding, testing, and customer release.
What is the purpose of the SRS document?
To formally specify and document the analyzed and reviewed requirements.
What factors determine the amount of detail in the SRS document?
Size and complexity of the project, planned follow-on releases, estimated customer support activities, and developer knowledge in the subject area.
Why is a detailed SRS necessary for complex projects?
To ensure clarity for development, maintenance, and support, especially for large or complex systems.
What is IEEE guideline 830?
A recommended standard for creating an SRS document, compliant with IEEE/EIA Standard 12207.1-1997.
What sections should an SRS document include according to IEEE guideline 830?
Introduction, high-level description, and detailed requirements.
What does the introduction section of an SRS include?
Purpose, scope, references, and definitions of terms.
What is covered in the high-level description section of an SRS?
General description of the software product, major functions, user characteristics, major constraints, and dependencies.
What details are included in the detailed requirements section of an SRS?
Functional requirements, interfaces, performance requirements, design constraints, attributes, and unique requirements.
Why should the SRS document be "signed off"?
To establish a formal baseline for requirements and close the requirements phase.
What issues arise from uncontrolled requirements changes?
They lead to uncontrolled growth, project scope creep, and are a major cause of software project failures.