views:

239

answers:

2

What is the difference between a use case and an SRS?

+3  A: 

An SRS contains a set of use cases as well as non-functional requirements

Non-functional requirements are requirements which impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints).

Use cases describe "who" can do "what" with the system in question

Soldier.moth
+1 you beat me to it ;)
Jacob
so use case is part of the SRS? I can write one SRS enouth?
Tony Woo
Yes, a SRS contains at least one use case
Soldier.moth
Thank you very much. But my client need we provide both the Use Case and SRS. I don't know how to provide both of these, any idear?
Tony Woo
A: 

SRS

  1. A software requirements specification (SRS) is a technical document that describes in detail the externally visible characteristics of a software product.
  2. A SRS is not the same as a statement of user needs. The SRS says what the product will be. The product may do less than what customers want The needs of different potential customers may conflict The product may do more than what any one customer wants The SRS can include English text, structured text, diagrams, tables, formulas, rules, etc.
  3. Parts of the SRS include: Environmental requirements: OS, platform, interoperability, standards, etc. Non-functional requirements: security, usability, efficiency, etc. Feature specifications: precisely describe each feature Use cases: examples of how a user accomplishes a goal by using one or more features

DESIGN I.E UML

  1. A design document outlines an implementation that will satisfy the requirements of the SRS. There are many aspects of the system that need to be designed: Division of the system into components
  2. Communications, APIs and dependencies between components Classes, attributes. operations, and relationships within each component Data representation in the database or files Behavior of each system component
  3. Internal APIs for testing and later extensions (e.g., future subclasses) Outline key algorithms and conditions that affect the overall design (otherwise leave that for implementation) Many notations are used in design Plain English or structured English Many types of UML diagrams Tables, formulas, pseudo-code, other diagrams as needed
Pranay Rana