Read This Complete Arizona Revised Statutes Title 20. Insurance Â⧠20-1370. Third Party Ownership
This affiliate is from the book
i.4 Characteristics of a Good Requirement
A requirement needs to meet several criteria to exist considered a "adept requirement" [HUL05][LEF03] [LUD05][YOU01]. Good requirements should have the following characteristics:
- Unambiguous
- Testable (verifiable)
- Clear (concise, terse, elementary, precise)
- Correct
- Understandable
- Feasible (realistic, possible)
- Contained
- Atomic
- Necessary
- Implementation-free (abstract)
Besides these criteria for individual requirements, iii criteria apply to the set of requirements. The set should be
- Consistent
- Nonredundant
- Complete
The sample project used in this volume is an online travel bureau, every bit shown in Effigy 1.2. You're probably familiar with this type of application because variations of it tin be found on several websites. The project is complex enough to prove possible relationships betwixt various requirements types, but it is modest enough to be easily understood. Virtually of the examples in this chapter (and the other chapters) are related to this project.
Figure ane.2 The dwelling house page of an online travel agency.
Let's discuss each of the criteria of a good requirement and show some examples.
Unambiguous
At that place should be only ane way 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 ready this, nosotros tin mention a total proper name and provide an acronym in parentheses:
-
REQ1 The organization shall be implemented using Active Server Pages (ASP).
Here'southward some other instance:
-
REQ1 The organization shall not accept passwords longer than fifteen characters.
It is non clear what the system is supposed to practise:
- The system shall non permit the user enter more than 15 characters.
- The system shall truncate the entered string to fifteen characters.
- The arrangement shall display an error message if the user enters more than than 15 characters.
The corrected requirement reflects the clarification:
-
REQ1 The system shall not have passwords longer than 15 characters. If the user enters more 15 characters while choosing the password, an mistake message shall ask the user to correct it.
Some ambiguity may be introduced through the placement of a certain word:
-
REQ1 On the "Stored Flying" screen, the user tin can only view ane tape.
Does this mean that the user can "merely view," not delete or update, or does it mean that the user can view only ane record, non two or three?
1 way to fix the problem is to rewrite the requirement from the system's betoken of view:
-
REQ1 On the "Stored Flight" screen, the organisation shall display simply i flight.
Testable (Verifiable)
Testers should exist able to verify whether the requirement is implemented correctly. The test should either pass or fail. To be testable, requirements should exist articulate, precise, and unambiguous. Some words tin brand a requirement untestable [LUD05]:
- Some adjectives: robust, safe, authentic, effective, efficient, expandable, flexible, maintainable, reliable, user-friendly, acceptable
- Some adverbs and adverbial phrases: quickly, safely, in a timely fashion
- Nonspecific words or acronyms: etc., and/or, TBD
Such a requirement might look something similar this:
-
REQ1 The search facility should let the user to find a reservation based on Last Name, Date, etc.
In this requirement, all search criteria should be explicitly listed. The designer and developer cannot judge what the user means by "etc."
Other problems tin be introduced by cryptic words or phrasing:
- Modifying phrases: every bit advisable, as required, if necessary, shall exist considered
- Vague words: manage, handle
- Passive voice: the subject of the sentence receives the activeness of the verb rather than performing information technology
-
REQ1 The airport code shall be entered by the user.
-
REQ2 The aerodrome code shall be entered.
-
The first example shows a classic case of passive voice. In active voice it would read "The user shall enter the airport code." As the second instance shows, another outcome of the use of passive voice is that the amanuensis performing the action is sometimes omitted. Who should enter this lawmaking—the system or the user?
- Indefinite pronouns: few, many, most, much, several, any, everyone, anything, some, somebody, someone, etc.
-
REQ1 The system shall resist concurrent usage by many users.
-
What number should be considered "many"—ten, 100, one,000?
Clear (Concise, Terse, Elementary, Precise)
Requirements should not contain unnecessary verbiage or information. They should be stated conspicuously and just:
-
REQ1 Sometimes the user will enter Airport Code, which the system will understand, simply sometimes the closest city may supplant information technology, so the user does non demand to know what the airdrome code is, and it volition still exist understood by the system.
This sentence may be replaced by a simpler one:
-
REQ1 The organization shall identify the airport based on either an Drome Code or a City Name.
Right
If a requirement contains facts, these facts should exist true:
-
REQ1 Car rental prices shall prove all applicative taxes (including 6% state tax).
The taxation depends on the state, then the provided 6% figure is incorrect.
Understandable
Requirements should be grammatically correct and written in a consistent manner. Standard conventions should be used. The word "shall" should be used instead of "volition," "must," or "may."
Feasible (Realistic, Possible)
The requirement should be achievable within existing constraints such every bit time, money, and available resources:
-
REQ1 The organization shall have a tongue interface that will understand commands given in English language language.
This requirement may be not feasible within a short span of development fourth dimension.
Independent
To empathize the requirement, there should not be a need to know whatsoever other requirement:
-
REQ1 The list of available flights shall include flight numbers, departure time, and arrival fourth dimension for every leg of a flight.
-
REQ2 It should be sorted past cost.
The word "It" in the second sentence refers to the previous requirement. However, if the club of the requirements changes, this requirement will not be understandable.
Atomic
The requirement should contain a single traceable chemical element:
-
REQ1 The system shall provide the opportunity to book the flying, purchase a ticket, reserve a hotel room, reserve a automobile, and provide information about attractions.
This requirement combines 5 atomic requirements, which makes traceability very difficult. Sentences including the words "and" or "only" should exist reviewed to meet if they can be broken into atomic requirements.
Necessary
A requirement is unnecessary if
- None of the stakeholders needs the requirement.
or
- Removing the requirement will not affect the organisation.
An example of a requirement that is not needed past a stakeholder is a requirement that is added by developers and designers because they assume that users or customers want information technology. For example, the fact that a developer thinks that users would like a feature that displays a map of the airport and he knows how to implement it is not a valid reason to add this requirement.
An example of a requirement that can be removed because information technology does non provide any new information might expect like the following:
-
REQ1 All requirements specified in the Vision document shall be implemented and tested.
Implementation-complimentary (Abstract)
Requirements should not contain unnecessary blueprint and implementation data:
-
REQ1 Content information shall be stored in a text file.
How the information is stored is transparent to the user and should exist the designer'southward or architect's determination.
Consistent
There should not be any conflicts between the requirements. Conflicts may be direct or indirect. Direct conflicts occur when, in the aforementioned situation, different behavior is expected:
-
REQ1 Dates shall be displayed in the mm/dd/yyyy format.
-
REQ2 Dates shall be displayed in the dd/mm/yyyy format.
Sometimes it is possible to resolve the disharmonize by analyzing the conditions under which the requirement takes place. For example, if REQ1 was submitted past an American user and REQ2 by a French user, the preceding requirements may be rewritten as follows:
-
REQ1 For users in the U.S., dates shall be 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 atomic number 82 to the following requirement:
-
REQ3 Dates shall exist displayed based on the format divers in the user's web browser.
Another example of a straight disharmonize tin 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 disharmonize cannot be resolved by adding weather, and then one of the requirements should be inverse or removed.
Indirect disharmonize occurs when requirements exercise non describe the same functionality, but it is not possible to fulfill both requirements at the same time:
-
REQ1 System should have a natural language interface.
-
REQ2 System shall be developed in three months.
Some requirements do not conflict, but they use inconsistent terminology:
-
REQ1 For outbound and entering flights, the user shall be able to compare flying prices from other, nearby airports.
-
REQ2 The outbound and return flights shall be sorted past the smallest number of stops.
To describe the same concept, in the first requirement the term "inbound flights" is used, and in the second requirement the term "return flights" is used. The usage should be consistent.
Nonredundant
Each requirement should be expressed just once and should not overlap with some other requirement:
-
REQ1 A calendar shall be available to assistance with inbound the flight appointment.
-
REQ2 The organization shall display a pop-up calendar when entering whatever date.
The first requirement (related to only the flight date) is a subset of the second i (related to whatever engagement entered by the user).
Consummate
A requirement should be specified for all conditions that tin can occur:
-
REQ1 A destination country does non need to exist displayed for flights within the U.S.
-
REQ2 For overseas flights, the system shall display a destination state.
What almost flights to Canada and Mexico? They are neither "within the U.S." nor"overseas."
All applicable requirements should be specified. This is the toughest status to exist checked. In that location is really no fashion to be certain that all the requirements are captured and that 1 week earlier the production date one of the stakeholders won't say, "I forgot to mention that I demand ane more than feature in the application."
A good requirement should take more criteria. However, they normally can be expressed as a combination of the criteria we have just discussed:
-
Modifiable: If it is diminutive and nonredundant, it is usually modifiable.
-
Traceable: If it is atomic and has a unique ID, it is usually traceable.
Source: https://www.informit.com/articles/article.aspx?p=1152528&seqNum=4
0 Response to "Read This Complete Arizona Revised Statutes Title 20. Insurance Â⧠20-1370. Third Party Ownership"
Post a Comment