Software Eng Unit 2
Software Eng Unit 2
Elicitation
It is related to the various ways used to gain knowledge about the project
domain and requirements. The various sources of domain knowledge
include customers, business manuals, the existing software of the same
type, standards and other stakeholders of the project.
The techniques used for requirements elicitation include interviews,
brainstorming, task analysis, prototyping, etc.
1. Analysis
1. Documentation
This is a process in which people from client & contractor organizations are
both involved in checking the requirements for omission. Different parts of
the document are checked by different people involved in this type of
activity. Various activities performed during user needs review process
are:
Plan a review
Review meeting
Follow-up actions
Checking for redundancy
Completeness
Consistency
Uses and Significance of Requirement Engineering:
The Requirement Engineering (RE) is the most important phase of the
Software Development Life Cycle (SDLC). This phase is used to translate
the imprecise, incomplete needs and wishes of the potential users of
software into complete, precise and formal specifications.
Uses:
The purpose of requirements engineering methodologies is to make the
problem that is being stated clear and complete, and to ensure that the
solution is correct, reasonable, and effective.
Feasibility Study
When we are developing a system we know whether the proposed system
will be feasible or not i.e. practically implementable or not? It may be
possible that the proposed system may not be implementable due to many
reasons like it may take longer in development than the specified time limit,
cost may increase than proposed.
Purpose:
“evaluation or analysis of the potential impact of a proposed project
or program.”
There may be several types of feasibility depending on the aspects they
cover. Some of them are:
1. Technical Feasibility
2. Operation Feasibility
3. Economical Feasibility
Phases of Feasibility:
Technical feasibility-The technical feasibility study basically centers on
alternatives for hardware, software and design approach to determine the
functional aspects of a system. The technical issues raised during
feasibility are:
Example of ERD:
Decision Tables
A Decision Table is a tabular representation of inputs versus
rules/cases/test conditions. It is a very effective tool used for both complex
software testing and requirements management. Decision table helps to
check all possible combinations of conditions for testing and testers can
also identify missed conditions easily. The conditions are indicated as
True(T) and False(F) values.
Purpose:
The purpose of a decision table is to show a logical structure, with all
possible combinations of conditions and resulting actions.They provide a
clear method to verify testing of all pertinent combinations to ensure that all
possible conditions, relationships, and constraints are handled by the
software under test.
How to create a decision table?
At first fill in the Y/N patterns. Next, each column or rule represents a
different set of conditions, analyze the logic and show the outcome of each
rule.
Example:
Importance:
A purpose
An overall description
Specific requirements
The best SRS documents define how the software will interact when
embedded in hardware — or when connected to other software.
It is not a design document.It contains functional and nonfunctional
requirements only. System Architects and Programmers write SRS
documents.
Importance of SRS Document?
1. Introduction
1. Purpose
2. Scope
3. Definition, Acronyms and abbreviations
4. References
5. Overview
2. The Overall Description
1. 2.1 Product Perspective
1. System Interfaces
2. Interfaces
3. Hardware Interfaces
4. Software Interfaces
5. Communication Interfaces
6. Memory Constraints
7. Operations
8. Site Adaptation Requirements
2. Product Functions
3. User Characteristics
4. Constraints
5. Assumptions for dependencies
6. Apportioning of requirements
3. Specific Requirements
1. External Interfaces
2. Functions
3. Performance requirements
4. Logical database requirements
5. Design Constraints
6. Software System attributes
7. Organization of specific requirements
8. Additional Comments.
Validation:
SQA Plans
The SQA plan document consists of the below sections:
1. Purpose section
2. Reference section
3. Software configuration management section
4. Problem reporting and corrective action section
5. Tools, technologies and methodologies section
6. Code control section
7. Records: Collection, maintenance and retention section
8. Testing methodology
Abbreviated as SQAP, the software quality assurance plan comprises the
procedures, techniques, and tools that are employed to make sure that a
product or service aligns with the requirements defined in the SRS(software
requirement specification).
The plan identifies the SQA responsibilities of a team, lists the areas that
need to be reviewed and audited. It also identifies the SQA work products.
1. Developer’s View:
1. Customer’s/User’s View:
1. Product’s View:
Product quality can be measured by the value-based view which sees the
quality as dependent on the amount a customer is willing to pay for it.
According to the users, a high-quality product is one that satisfies their
expectations and preferences while meeting their requirements.
Levels Of SEICMM: