Week 2 Flashcards
What is the moving target problem?
▪ A change in the requirements while the software product is being
developed
▪ Any change made to a software product can potentially cause a
regression fault
* A fault in an apparently unrelated part of the software
▪ If there are too many changes
* The entire product may have to be redesigned and re-implemented
What are Functional User Requirements?
▪ Should describe the user requirements
in detail.
▪ Map a problem to a solution without
implementation detail and in the user’s
language.
▪ Describe the interaction between the
system and its environment.
▪ The details of a requirement can highly
affect your planning and negotiation
with the client.
What are Non-Functional User Requirements?
▪ Quality Attributes:
* Reliability
* Security
* Usability
* Performance
▪ Design Constraints
* Platform constraints
* Response time
What are the 7 guidelines of a good requirement?
Verifiable
Clear & Concise
Viable
Traceable
Consistent
Implementation Free
Complete
What are the 4 ways of writing requirements?
Natural Language
Structured Natural Language
Mathematical specifications/Formal Specification
Graphical Notions
How to write Natural Language Specifications?
*The requirements are
written using numbered
sentences in natural
language.
*Each sentence should
express one requirement.
*Supplemented by
diagrams and tables
Benefits of Natural Language Specifications
Expressive, intuitive and universal. This means that the requirements can
be understood by users and customers
Problems of Natural Language Specifications
- Lack of clarity: Precision is difficult without making the document
difficult to read. - Requirements confusion: Functional and non-functional requirements
tend to be mixed-up. - Requirements mix: Several different requirements may be expressed
together.
How to write Structured Natural Language Specifications?
▪ Requirements are written in a standard way.
▪ Example of form-based specification:
* Definition of the function or entity.
* Description of inputs and where they come from.
* Description of outputs and where they go to.
* Information about the information needed for the
computation and other entities used.
* Description of the action to be taken.
* Pre and post conditions (if appropriate).
* The side effects (if any) of the function.
What is meant by Formal specification
These notations are based on mathematical concepts such as
finite-state machines or sets.
Advantages of Formal Specification
▪ Unambiguous
specifications, can
reduce the ambiguity in
a requirements
document
Disadvantages of Formal Specification
▪ Requires experts and
takes more time.
▪ Most customers don’t
understand a formal
specification. They
cannot check that it
represents what they
want and are reluctant
to accept it as a system
contract
What is meant by Graphical Notations Specifications
▪ Graphical models, supplemented by text
annotations, are used to define the
functional requirements for the system;
▪ UML use case and sequence diagrams are
commonly used
Why is it important to understand the domain?
▪ Every member of the development team must become fully
familiar with the application domain
* Correct terminology is essential
❖To avoid misunderstandings
❖To be taken seriously
What are the various methods of Elicitation?
- Interviews
- Focus groups
- Documents
- Observations
- Prototyping
- Questionnaires
- Scenarios
What are the 4 activities of Requirements Engineering?
Elicitation, Analysis, Validation, Management
What are some validation techniques?
1) Requirements Reviews & Walkthrough
2) Prototyping
3) Test-case Generation
How should you name actors?
Name Actors Based on the Functions It Plays
Which of the following is an example of a non-functional requirement?
The system must generate monthly reports for management
The system must have a responsive user interface
The system must allow users to log in using their email address
The system must use a relational database
The system must have a responsive user interface
What is an important factor to consider when setting project timelines?
Allowing for buffer time in case of delays
Making the timeline too long to ensure all tasks are completed leisurely
Setting an unrealistic timeline to motivate the team
Withholding information about the timeline to prevent undue stress on the team
None of these mentioned
Allowing for buffer time in case of delays
In which phase of the software development life cycle (SDLC) are the user requirements documented and analyzed?
Maintenance
Requirements gathering
Planning
Implementation
Design
Requirements gathering
What is the purpose of a feasibility study during requirements engineering?
To create a detailed software design
To assess the technical skills of the development team
To evaluate the cost-effectiveness and practicality of the software project
To determine if the software can be developed within the timeline
To evaluate the cost-effectiveness and practicality of the software project
What is the main goal of requirements validation?
To finalize the requirements before development begins
To determine the optimal development methodology
To ensure that the requirements meet international standards
To identify conflicts, errors, and omissions in the requirements
To identify conflicts, errors, and omissions in the requirements.
If a client wants to develop a software for commercial use that has a lot of its functions that are unconventional. How would you begin?
Conduct a focused interview
Don’t waste time with this client and move on to the next
None of these mentioned
Convince the client to keep it realistic
Conduct a focused interview