Software Requirement Engineering: Classification of Requirements & Documentation Standards
Software Requirement Engineering: Classification of Requirements & Documentation Standards
Software Requirement Engineering: Classification of Requirements & Documentation Standards
Classification of Requirements
&
Documentation Standards
What are Requirements?
Steps of Requirements
Development
• Capture the requirements
• Analyze, distill and record the
requirements
• Model requirements
• Validate the resulting Requirements
Specification
—With the project team for completeness and
understanding
—With the client for accuracy and validity
• Output: Software Requirements
Specification Document
Requirements Types
5
Functional Requirements (WHAT)
Functional requirements
—Statements of services the system should
provide, how the system should react to
particular inputs and how the system should
behave in particular situations.
Statements describing what the system
does
—Functionality of the system
• Statements of services the system should
provide
—Reaction to particular inputs
—Behavior in particular situations
Example of Functional Requirement
{FR1}
Software shall automatically detect the
presence of other computers running the
application that are connected to the network.
7
Functional Requirements Example
University Identification
System:
– {FR1}Users shall authenticate
themselves to the System using their
university account and pre-arranged
password.
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview
2. Overall description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
3. Specific requirements
IEEE Std 830-1998 (Template A5)
• Project Drivers
— 1. The Purpose of the Project
— 2. The Client, the Customer, and Other Stakeholders
— 3. Users of the Product
• Project Constraints
— 4. Mandated Constraints
— 5. Naming Conventions and Definitions
— 6. Relevant Facts and Assumptions
• Functional Requirements
— 7. The Scope of the Work
— 8. The Scope of the Product
— 9. Functional and Data Requirements
Volere Requirements Specification
Template, Edition 13—August 2007
• Nonfunctional Requirements
— 10. Look and Feel Requirements
— 11. Usability and Humanity Requirements
— 12. Performance Requirements
— 13. Operational and Environmental Requirements
— 14. Maintainability and Support Requirements
— 15. Security Requirements
— 16. Cultural and Political Requirements
— 17. Legal Requirements
• Project Issues
— 18. Open Issues
— 19. Off-the-Shelf Solutions
— 20. New Problems
— 21. Tasks
— 22. Migration to the New Product
— 23. Risks
— 24. Costs
— 25. User Documentation and Training
— 26. Waiting Room
Use-Case Requirements Artifacts
• Vision
— An executive summary of the project
• Use-Case Model
— A set of typical scenarios of using the system (functional
requirements)
• Supplementary Specification
— Captures and identifies other kinds of requirements such
as non-functional requirements & design constraints.
• Glossary
— Captures terms and definitions; also play the role of a
data dictionary
• Business Rules
— Long-living rules or policies (e.g., tax laws) for this
particular application
UP Main Artifacts
Glossary
Glossary
Vision Document
Vision Document
• The development and management of the Vision
document can play a key role in the success or
failure of a software project, providing the locus
of activity for the many stakeholders, customers,
users, product management team members ,
and marketing staff.
• Often, the executive management of the
company will be involved in the document's
development and review also.
• Keeping the Vision document understandable and
manageable is an important team skill that will
greatly benefit the overall productivity of the
project.
Delta Vision Document
• The Delta Vision document focuses on
only two things: what has changed and
any other information that must be
included for context .
• This latter information is included either
as a reminder to the team of the vision for
the project or because new team
members need the context for
understanding.
Delta Vision Document
• Usability
—the ease with which the system can be learned
and operated by the intended users. (required
training time, task times for typical tasks,
conformance to usability standards)
• Example:
—The customer will be able to see a large-monitor
Therefore:
– Text should be easily visible from 1 meter.
– Avoid colors associated with common forms of color
blindness.
Supplementary Specification:
Requirements for Quality
• Reliability
—Availability (% of time the system is expected
to be available)
—Allowed Mean time between failures (MTBF),
Mean time to repair (MTTR)
—Definition for defects’ criticality level
—Maximum defect rate allowed per KOLC
• Example (Recoverability)
—If there is failure to use external services
(payment authorizer, accounting system, ...)
try to solve with a local solution (e.g., store
and forward) in order to still complete a sale.
Supplementary Specification:
Requirements for Quality
• Performance
—Average, maximum response time for a
transaction
—number of customers/transactions the system
can accommodate
• Example:
— Buyers want to complete sales processing
very quickly. One bottleneck is external
payment authorization. Our goal:
authorization in less than 1 minute, 90% of
the time.
Supplementary Specification:
Requirements for Quality
• Supportability
— Coding standards
— naming conventions
— Class libraries
—…
• Example:
Adaptability
— Different customers of the NextGen POS have unique
business rule and processing needs while processing
a sale. Therefore, at several defined points in the
scenario (for example, when a new sale is initiated,
when a new line item is added) pluggable business
rule will be enabled.
Supplementary Specification:
Constraints
• Example:
—NextGen leadership insists on a Java
technologies solution, predicting this will
improve long-term porting and
supportability, in addition to ease of
development.
Supplementary Specification:
Interfaces
• Noteworthy Hardware and Interfaces
—Touch screen monitor (this is perceived by
operating systems as a regular monitor, and
the touch gestures as mouse events)
—Barcode laser scanner (these normally attach
to a special keyboard, and the scanned input
is perceived in software as keystrokes)
• Software Interfaces
—For most external collaborating systems (tax
calculator, accounting, inventory, ... ) we need
to be able to plug in varying systems and thus
varying interfaces.
Supplementary Specification:
Business Rules
More on Requirements for Quality:
Exercise
Answer:
Income tax software is an application domain in which
maintainability will be a big concern since tax
regulations tend to change frequently.
Usability will also be important so the auditors can do
their job efficiently.
Reliability will be of moderate importance (accuracy of
results, however , will be very important) .
Efficiency will be of minimal importance .
Agenda
Suppl.
UC 1 UC 2 Req. 1 …
Feature 1 X
Feature 2 X
Feature 3 X
… X
Feature n
Important! Feasibility