This link has been bookmarked by 188 people . It was first bookmarked on 26 Jul 2006, by Mike taylor.
-
27 Sep 11
-
17 Jul 11
-
28 Apr 11
-
26 Apr 11
-
13 Mar 11
-
14 Feb 11
-
25 Jan 11
-
21 Jan 11
-
03 Jan 11
-
14 Dec 10
-
07 Dec 10
-
12 Nov 10
-
06 Nov 10
-
14 Oct 10
-
06 Oct 10
-
24 Sep 10
-
02 Sep 10
-
23 Aug 10
-
12 Aug 10
-
02 Aug 10
-
26 Jul 10
-
The SRS document itself states in precise and explicit
language those functions and capabilities a software system
(i.e., a software application, an eCommerce Web site, and so
on) must provide, -
any required constraints by
which the system must abide -
It's important to note that an SRS contains functional and
nonfunctional requirements only -
It provides feedback to the customer
-
he issues or problems to be solved and the
software behavior necessary to address those problems -
It decomposes the problem into component parts
-
It serves as an input to the design specification
-
It serves as a product validation check
-
The actual specification, then, is written after
the requirements have been gathered and analyzed
-
-
15 Jul 10
-
- It provides feedback to the customer. An SRS is the
customer's assurance that the development organization
understands the issues or problems to be solved and the
software behavior necessary to address those problems.
Therefore, the SRS should be written in natural language
(versus a formal language, explained later in this
article), in an unambiguous manner that may also include
charts, tables, data flow diagrams, decision tables, and so
on. - It decomposes the problem into component parts. The
simple act of writing down software requirements in a
well-designed format organizes information, places borders
around the problem,solidifiessolidifies ideas, and helps break down
the problem into its component parts in an orderly
fashion. - It serves as an input to the design specification. As
mentioned previously, the SRS serves as the parent document
to subsequent documents, such as the software design
specification and statement of work. Therefore, the SRS
must contain sufficient detail in the functional system
requirements so that a design solution can be devised. - It serves as a product validation check. The SRS also
serves as the parent document for testing and validation
strategies that will be applied to the requirements for
verification.
A well-designed, well-written SRS accomplishes four major
goals: - It provides feedback to the customer. An SRS is the
-
You probably will be a member of the SRS team (if not, ask
to be), which means SRS development will be a collaborative
effort for a particular project. -
- Interfaces
- Functional Capabilities
- Performance Levels
- Data Structures/Elements
- Safety
- Reliability
- Security/Privacy
- Quality
- Constraints and Limitations
(and, likely, the company's SRS template) to use. But, let's
assume you'll be starting from scratch. Several standards
organizations (including the IEEE) have identified nine topics
that must be addressed when designing and writing an SRS: -
- A template
- A method for identifying requirements and linking
sources - Business operation rules
- A traceability matrix
An SRS document
typically includes four ingredients, as discussed in the
following sections: -
As noted earlier, the SRSservesserves to define the functional
and nonfunctional requirements of the product. -
sible sequences of interactions between systems and
users in a particular environment and related to a particular
goal), government regulation, industry standard, or a business
requirement. In developing an SRS, you need to identify these
origins and link them to their corresponding requirements. Such
a practice not only justifies the requirement, but it also
helps assure project stakeholders that frivolous or spurious
requirements are kept out of the specification. -
th a unique identifier
that can remain valid over time as requirements are added,
deleted, or changed. Such a labeling system helps maintain
change-record integrity while also serving as an identification
system for gathering metrics. You can begin a separate
requirements identification list that ties a requirement
identification (ID) number with a description of the
requirement. -
What Should I Know about Writing an SRS?
Unlike formal language that allows developers and designers
some latitude, the natural language of SRSs must be exact,
without ambiguity, and precise because the design
specification, statement of work, and other project documents
are what drive the development of the final product. -
That final
product must be tested and validated against the design and
original requirements. Specification language that allows for
interpretation of key requirements will not yield a
satisfactory final product and will likely lead to cost
overruns, extended schedules, and missed deliverable
deadlines. -
Table 4 The 10 language quality characteristics of an
SRSSRS Quality Characteristic
What It Means
Complete
SRS defines precisely all the go-live situations that will be encountered and the system's capability to successfully address them.
Consistent
SRS capability functions and performance levels are compatible, and the required quality features (security, reliability, etc.) do not negate those capability functions. For example, the only electric hedge trimmer that is safe is one that is stored in a box and not connected to any electrical cords or outlets.
Accurate
SRS precisely defines the system's capability in a real-world environment, as well as how it interfaces and interacts with it. This aspect of requirements is a significant problem area for many SRSs.
Modifiable
The logical, hierarchical structure of the SRS should facilitate any necessary modifications (grouping related issues together and separating them from unrelated issues makes the SRS easier to modify).
Ranked
Individual requirements of an SRS are hierarchically arranged according to stability, security, perceived ease/difficulty of implementation, or other parameter that helps in the design of that and subsequent documents.
Testable
An SRS must be stated in such a manner that unambiguous assessment criteria (pass/fail or some quantitative measure) can be derived from the SRS itself.
Traceable
Each requirement in an SRS must be uniquely identified to a source (use case, government requirement, industry standard, etc.)
Unambiguous
SRS must contain requirements statements that can be interpreted in one way only. This is another area that creates significant problems for SRS development because of the use of natural language.
Valid
A valid SRS is one in which all parties and project participants can understand, analyze, accept, or approve it. This is one of the main reasons SRSs are written using natural language.
Verifiable
A verifiable SRS is consistent from one level of abstraction to another. Most attributes of a specification are subjective and a conclusive assessment of quality requires a technical review by domain experts. Using indicators of strength and weakness provide some evidence that preferred attributes are or are not present.
-
A "strong" SRS is one in which the requirements are
tightly, unambiguously, and precisely defined in such a way
that leaves no other interpretation or meaning to any
individual requirement.
-
-
14 Jul 10
-
11 Jul 10
-
27 Jun 10
-
21 Jun 10
Fabien Arcellierhat?" you ask with a look of semi-shock. Panic sets in. "What did I do to deserve this? I don't even know where to start! Maybe someone on the TECHWR-L list can help...."
-
01 Jun 10
-
21 May 10
clebermiraWriting Software Requirements Specifications
by Donn Le Vie, Jr.software documentation development writing programming design reference requirements srs
-
17 May 10
-
07 May 10
-
26 Apr 10
-
25 Apr 10
-
14 Apr 10
-
06 Apr 10
-
05 Apr 10
-
24 Mar 10
-
11 Mar 10
-
01 Mar 10
-
23 Feb 10
-
11 Feb 10
-
26 Jan 10
-
25 Jan 10
-
- Interfaces
- Functional Capabilities
- Performance Levels
- Data Structures/Elements
- Safety
- Reliability
- Security/Privacy
- Quality
- Constraints and Limitations
-
-
02 Dec 09
-
Weak phrases: A category of clauses that can create uncertainty and multiple/subjective interpretation. The total number of weak phrases found in an SRS indicates the relative ambiguity and incompleteness of an SRS. The weak phrases below are listed alphabetically.
adequate
be able to
easy
provide for
as a minimum
be capable of
effective
timely
as applicable
but not limited to
if possible
tbd
as appropriate
capability of
if practical
at a minimum
capability to
normal
-
-
30 Nov 09
-
22 Nov 09
-
18 Nov 09
-
28 Sep 09
-
16 Sep 09
-
15 Sep 09
-
01 Sep 09
-
26 Aug 09
-
13 Aug 09
Rene Lonngrenfrom juri about how to write a spec for a web/software project
-
04 Aug 09
-
17 Jul 09
-
23 Jun 09
-
11 Jun 09
-
03 Jun 09
-
08 May 09
-
23 Apr 09
-
Writing Software Requirements Specifications
-
-
09 Apr 09
-
31 Mar 09
-
23 Mar 09
-
10 Mar 09
-
28 Feb 09
rakesh mHere's the scenario: You're finishing up your latest HTML Help project...no more late nights or weekends...back to a "normal" 50-hour work week. That's when the development team lead strolls into your office and says she just got your manager's okay for y
-
25 Feb 09
-
13 Feb 09
tkchris ChrisWriting Software Requirements Specifications
-
12 Feb 09
Graham Mallinsongood article - especially ref one line stating the doc is only relative to a particular point in time
-
26 Jan 09
-
08 Jan 09
-
02 Dec 08
-
29 Nov 08
-
18 Nov 08
-
24 Oct 08
-
05 Aug 08
-
04 Aug 08
Christian SaxHow to write software requirements and what words to use
writing tutorial requirements programming management for:greinarr specifications wording
-
29 Jun 08
-
08 Jun 08
-
25 May 08
-
22 May 08
-
It's important to note that an SRS contains functional and
nonfunctional requirements only; it doesn't offer design
suggestions, possible solutions to technology or business
issues,
-
-
15 May 08
-
24 Apr 08
This article will describe what an SRS is (Software Requirements Specifications, also known as software functional specifications or system specifications) and why it's important, and discuss the critical elements for writing an SRS.
project management requirements-specs engineering documentation sw-design
-
17 Apr 08
-
09 Apr 08
-
03 Apr 08
-
22 Mar 08
-
08 Feb 08
-
20 Jan 08
-
18 Jan 08
-
24 Nov 07
-
09 Oct 07
-
09 Sep 07
-
30 Aug 07
-
09 Aug 07
-
17 Jul 07
-
11 Jul 07
-
01 Jun 07
-
16 Apr 07
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.