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