Which Classification Most Accurately Represents The Spa's Position On The Service-goods Continuum?
This chapter is from the book
1.four Characteristics of a Good Requirement
A requirement needs to meet several criteria to be considered a "good requirement" [HUL05][LEF03] [LUD05][YOU01]. Good requirements should accept the following characteristics:
- Unambiguous
- Testable (verifiable)
- Clear (concise, terse, simple, precise)
- Correct
- Understandable
- Feasible (realistic, possible)
- Contained
- Atomic
- Necessary
- Implementation-free (abstract)
Also these criteria for individual requirements, three criteria apply to the set of requirements. The ready should be
- Consistent
- Nonredundant
- Consummate
The sample project used in this book is an online travel bureau, every bit shown in Figure 1.two. You're probably familiar with this type of application considering variations of it tin can be found on several websites. The projection is complex enough to show possible relationships between various requirements types, but it is small enough to be easily understood. Most of the examples in this chapter (and the other capacity) are related to this project.
Figure 1.2 The home folio of an online travel bureau.
Let'southward discuss each of the criteria of a good requirement and show some examples.
Unambiguous
There should exist only one fashion to interpret the requirement. Sometimes ambiguity is introduced by undefined acronyms:
-
REQ1 The system shall be implemented using ASP.
Does ASP mean Agile Server Pages or Application Service Provider? To gear up this, we can mention a full name and provide an acronym in parentheses:
-
REQ1 The system shall exist implemented using Active Server Pages (ASP).
Here'south another example:
-
REQ1 The system shall non accept passwords longer than 15 characters.
It is not clear what the arrangement is supposed to do:
- The system shall not let the user enter more than fifteen characters.
- The system shall truncate the entered string to 15 characters.
- The system shall display an mistake message if the user enters more than 15 characters.
The corrected requirement reflects the clarification:
-
REQ1 The system shall non have passwords longer than 15 characters. If the user enters more fifteen characters while choosing the countersign, an error message shall ask the user to right it.
Some ambiguity may be introduced through the placement of a certain word:
-
REQ1 On the "Stored Flying" screen, the user can just view ane record.
Does this hateful that the user can "only view," not delete or update, or does it hateful that the user tin view only 1 record, not two or three?
One fashion to fix the trouble is to rewrite the requirement from the organisation'south point of view:
-
REQ1 On the "Stored Flying" screen, the system shall display only one flight.
Testable (Verifiable)
Testers should be able to verify whether the requirement is implemented correctly. The test should either pass or fail. To be testable, requirements should exist clear, precise, and unambiguous. Some words can brand a requirement untestable [LUD05]:
- Some adjectives: robust, safe, authentic, effective, efficient, expandable, flexible, maintainable, reliable, user-friendly, acceptable
- Some adverbs and adverbial phrases: chop-chop, safely, in a timely style
- Nonspecific words or acronyms: etc., and/or, TBD
Such a requirement might look something like this:
-
REQ1 The search facility should allow the user to discover a reservation based on Last Proper name, Engagement, etc.
In this requirement, all search criteria should be explicitly listed. The designer and developer cannot guess what the user ways past "etc."
Other problems tin can be introduced by cryptic words or phrasing:
- Modifying phrases: equally advisable, as required, if necessary, shall be considered
- Vague words: manage, handle
- Passive phonation: the bailiwick of the sentence receives the activeness of the verb rather than performing it
-
REQ1 The airport code shall be entered by the user.
-
REQ2 The aerodrome code shall exist entered.
-
The first example shows a archetype instance of passive voice. In active vocalization it would read "The user shall enter the airport lawmaking." Equally the second example shows, another result of the use of passive vox is that the agent performing the action is sometimes omitted. Who should enter this code—the system or the user?
- Indefinite pronouns: few, many, nigh, much, several, any, anybody, anything, some, somebody, someone, etc.
-
REQ1 The system shall resist concurrent usage by many users.
-
What number should be considered "many"—ten, 100, 1,000?
Clear (Concise, Terse, Simple, Precise)
Requirements should not incorporate unnecessary circumlocution or information. They should exist stated clearly and simply:
-
REQ1 Sometimes the user volition enter Aerodrome Lawmaking, which the organisation will empathise, but sometimes the closest urban center may supervene upon it, so the user does not need to know what the drome code is, and it will still be understood by the organisation.
This sentence may be replaced by a simpler one:
-
REQ1 The system shall place the airport based on either an Airport Code or a City Name.
Correct
If a requirement contains facts, these facts should be truthful:
-
REQ1 Car rental prices shall testify all applicable taxes (including 6% state revenue enhancement).
The tax depends on the state, and so the provided 6% effigy is incorrect.
Understandable
Requirements should be grammatically right and written in a consistent style. Standard conventions should exist used. The discussion "shall" should be used instead of "volition," "must," or "may."
Feasible (Realistic, Possible)
The requirement should be doable within existing constraints such as time, coin, and available resources:
-
REQ1 The system shall take a natural language interface that volition understand commands given in English language.
This requirement may be non feasible within a short span of development time.
Contained
To understand the requirement, in that location should not be a demand to know any other requirement:
-
REQ1 The list of bachelor flights shall include flying numbers, departure fourth dimension, and arrival time for every leg of a flight.
-
REQ2 It should be sorted by cost.
The discussion "It" in the second sentence refers to the previous requirement. Notwithstanding, if the order of the requirements changes, this requirement will not exist understandable.
Atomic
The requirement should comprise a single traceable element:
-
REQ1 The system shall provide the opportunity to book the flight, buy a ticket, reserve a hotel room, reserve a machine, and provide data most attractions.
This requirement combines five diminutive requirements, which makes traceability very difficult. Sentences including the words "and" or "merely" should exist reviewed to see if they can exist broken into diminutive requirements.
Necessary
A requirement is unnecessary if
- None of the stakeholders needs the requirement.
or
- Removing the requirement will not touch the organisation.
An example of a requirement that is not needed past a stakeholder is a requirement that is added past developers and designers because they presume that users or customers want it. For case, the fact that a programmer thinks that users would like a feature that displays a map of the airport and he knows how to implement it is non a valid reason to add this requirement.
An instance of a requirement that can exist removed considering it does not provide any new information might expect like the following:
-
REQ1 All requirements specified in the Vision document shall exist implemented and tested.
Implementation-gratuitous (Abstract)
Requirements should not comprise unnecessary blueprint and implementation data:
-
REQ1 Content information shall be stored in a text file.
How the data is stored is transparent to the user and should be the designer's or architect'southward decision.
Consistent
There should not be any conflicts between the requirements. Conflicts may be directly or indirect. Straight conflicts occur when, in the same state of affairs, different behavior is expected:
-
REQ1 Dates shall be displayed in the mm/dd/yyyy format.
-
REQ2 Dates shall exist displayed in the dd/mm/yyyy format.
Sometimes it is possible to resolve the disharmonize past analyzing the conditions nether which the requirement takes identify. For example, if REQ1 was submitted by an American user and REQ2 past a French user, the preceding requirements may be rewritten as follows:
-
REQ1 For users in the U.S., dates shall exist displayed in the mm/dd/yyyy format.
-
REQ2 For users in France, dates shall be displayed in the dd/mm/yyyy format.
This can eventually lead to the post-obit requirement:
-
REQ3 Dates shall be displayed based on the format defined in the user'southward spider web browser.
Another case of a direct conflict can be seen in these two requirements:
-
REQ1 Payment by PayPal shall be bachelor.
-
REQ2 Only credit card payments shall be accepted.
In this case the conflict cannot be resolved past calculation conditions, so ane of the requirements should exist inverse or removed.
Indirect conflict occurs when requirements do not describe the same functionality, simply it is not possible to fulfill both requirements at the same time:
-
REQ1 Organization should accept a natural language interface.
-
REQ2 Organisation shall exist adult in three months.
Some requirements exercise not conflict, merely they use inconsistent terminology:
-
REQ1 For outbound and inbound flights, the user shall be able to compare flight prices from other, nearby airports.
-
REQ2 The outbound and render flights shall be sorted by the smallest number of stops.
To describe the same concept, in the offset requirement the term "inbound flights" is used, and in the second requirement the term "return flights" is used. The usage should be consequent.
Nonredundant
Each requirement should be expressed only one time and should not overlap with another requirement:
-
REQ1 A agenda shall be available to assistance with entering the flying date.
-
REQ2 The system shall display a pop-up agenda when inbound whatsoever date.
The outset requirement (related to only the flight date) is a subset of the 2d one (related to any date entered past the user).
Complete
A requirement should be specified for all conditions that can occur:
-
REQ1 A destination country does not need to be displayed for flights within the U.South.
-
REQ2 For overseas flights, the system shall display a destination country.
What nigh flights to Canada and Mexico? They are neither "inside the U.Southward." nor"overseas."
All applicable requirements should be specified. This is the toughest condition to exist checked. There is really no fashion to be sure that all the requirements are captured and that ane calendar week before the production date one of the stakeholders won't say, "I forgot to mention that I demand one more characteristic in the awarding."
A good requirement should have more criteria. However, they commonly can be expressed as a combination of the criteria we have just discussed:
-
Modifiable: If it is atomic and nonredundant, it is normally modifiable.
-
Traceable: If information technology is atomic and has a unique ID, it is usually traceable.
Source: https://www.informit.com/articles/article.aspx?p=1152528&seqNum=4
Posted by: powellreadeary.blogspot.com
0 Response to "Which Classification Most Accurately Represents The Spa's Position On The Service-goods Continuum?"
Post a Comment