Goals of requirements analysis and specification phase:
Assume that we got one project in a company we are the developers(programmers). We know that projects are of two types basically they are (i) implementation projects (ii) enhancement projects (iii) maintenance project. Suppose now we are going to develop implementation project( from scratch(begining) onwards we need to write)
- A company(client side) has come to our organisation (our) to give the project
- Clients asks us about his project
- Once the deal is ok with the Client
- SDLC(Software development Life Cycle) comes to the picture
- Now the Project Manager(PM) involves, and he explains the project, and he identifies the Project Leaders(PL)
- Once the Project Leaders(PLs) are identified by the Project Manager
- Now the Project Leaders(PL) identifies the Team Leaders(TLs)
- And Team Leader identifies the Developers (programmers)
- Team Leaders(TLs) Reports to Project Leaders (PL)
- Project Leaders (PLs) Reports to Project Manager(PM)
- Now everything is ready i.e staffing has been structured
- To start a project we know that there are phases, what are they? They are:
- Software Engineers should follows the phases
- If we want to start a project first Project Leader should identify the Clients Requirements
- Project Leaders takes the requirements from the Clients
- To gather the client requirements, PL/TL visits the Clients place to understand the project needs (this is also called as ONSITE visit)
- PL/TL is the responsible to gather the clients requirements
- Once the Requirements has been gathered, the PL/TL prepares a Document based on which he gathered
- This document is known as SRS (Software Requirement and Specification) Document.
- After preparation of the SRS document, PL /TL shows / sends the SRS document to the Client
- Once the client approves the SRS Document, Designing phase starts
- Now PL / TL gets the an idea on Project
- Now the Designing Phase starts
/* Let us we see priority for the phases
Requirement may take 25 days
Analysis may take 10 days
Design may take 30 days
Coding may take 10 days
Testing may take 25 days
You can understand that Design is the very important, which is done by the Experience persons like TL/ PL s only thus they draws the more salary (example 2 lakhs to 4 laksh per month)
Developers draws only 40k to 60 k per month, so once we get good experience programming , our goal should be Design means we have to achieve Team Leaders position */
when temperature falls below 90 C
often as a result of painful experiences ---
1. What is SRS document?
understanding (in writing) of potential system
requirements and dependencies at a
particular point in time (usually) prior to any
actual design or development work.
- There may not be clear understanding of what a system is
expected to do and its limitations.
- System development process might lose focus over time.
- Many people with variety of backgrounds are involved.
- Different people might have different interpretations.
- No clear communication between stakeholders and the
- Requirements of the system might change.
- It provides feedback to the customer.
- It decomposes the problem into component parts.
- It serves as an input to the design specification.
- It serves as a product validation check.
- It contains functional and non-functional requirements only.
- It states in precise and explicit language required functions and capabilities of a proposed software system (i.e., a software application, an eCommerce Web site, and so on) must provide.
- It states any required constraints by which the proposed system must abide.
- It doesn’t specify project requirements such as cost, delivery schedules, staffing, reporting procedures, etc.
- It doesn't offer design suggestions/solutions such as choosing data structure, partition into modules, etc.
- It doesn't offer possible solutions to technology or business issues.
- It doesn’t contain any type of Product Assurance plans such as Quality Assurance procedures, Configuration Management procedures, Verification & Validation procedures, etc.
- It doesn't offer any other information other than what the development team understands the customer's system requirements to be.
- Provides communication between the (clients)stakeholders and the development team.
- Provides a good foundation for the system design phase.
- Enables planning of future phases such as validation,verification, and acceptance procedures.
- Provides cross-check while conducting user-acceptance testing.
- Helps in project planning eg. estimates of cost and time, resource scheduling.
- Usable during maintenance phase.
- Almost everyone
- Requirement team interview the clients
- Requirements verification team ensure consistency in the document
- Designers review the document to determine adequacy(satisfactory) for design and feasibility
- Programmers look for technical challenges and feasibility(means possible or not?)
- Testers look for traceability and testability
- Project Managers/Sponsors look for risk
- Clients/ End users
Several standards organizations (including the IEEE) have
identified nine topics that must be addressed when designing and
writing an SRS:
- Functional Capabilities
- Performance Levels
- Data Structures/Elements
- Constraints and Limitations
9. Expalin about good srs document (long question)
- Unstructured Specifications: Narrative essay- one of the worst types of specification document:, incompleteness, ambiguity.
- Noise: Whatever presence of text containing information is not relates to the problem.
- Silence: Aspects important to proper solution of the problem are omitted.
- Over specification :Overspecification restricts the solution space for the designer. (overspecification: is well known in all industries: developing features that are not needed by the customer causes excess development efforts, missed due dates, terminated projects and higher lifecycle costs.)
- Contradictions :If the same thing described at several places in different ways
- Ambiguity :Literal expressions
- Forward references :References to aspects of problem Defined only later on in the text.
- Wishful / Unrealistic thinking
- Functional requirements
- Non-functional requirements
- constraints on the system.
- Other requirements
- Requirements for sequencing and parallelism (dynamic requirements)
- Data – Inputs and Outputs – Stored data – Transient data
- Exception handling( error handling i.e we learn in java as we have a seperate chapter in java)
- Nature of function: Mandatory/ Desirable/ Optional
/* just read the example for understandable purpus (no need to write the in the exam)
Example: Functional Requirement
List all functional requirements with proper numbering.
What is the difference between
Functional and Nonfunctional Requirements
- Software quality
- Project documentation
- User documentation
- Design Constraints
- Performance requirements
- Safety requirements
- Security requirements
- Software quality attributes
- Business rules
- Project documentation
- User documentation
non functional requirement
(1.)in simple requirements for activities such as
insertion, deletion updation are known as functional
requirements, and requirements for gui reuiremnts such
1)It's nothing only GUI(Graphical User Interface) testing
(2.)If we will go to the SRS (S/W Requirement Specification)
document then we can see some "Functionality" like 1.Add
5.TEXT Field ......etc. For those
functionality here it is written the event action for that particular field or Functionality.
means colour/Allignment/Shape/Size/DB size those things
will be there in the Non-Functional requirement.
(3) When ever need to give the data for to get the output is
always a functional requirement .(which makes seriousness
to the customer or technical person ).
(3)font, color ,size comes under non functional requirements
15. Explain about Software Requirements Document (SRS)? (long question)
Sample SRS Document Format
(Real Time SRS document)
Reason For Changes