Software Models Requirement Engineering - CSU1296 - Shoolini University

Software Models Requirement Engineering

1. Introduction to Software Process Models

Choosing an appropriate software process model is critical to the success of a project. Understanding the project's size, complexity, available funds, and other parameters helps in selecting the right model. The goal is to ensure that the model fits the nature of the project, the team's capabilities, and the client's needs.

2. Parameters for Selecting an Appropriate Software Process Model

The following parameters guide the selection of the right software process model:

2.1 Requirements Characteristics

Understanding the characteristics of the requirements is fundamental in selecting a suitable process model. Some of the key factors to consider include:

2.2 Development Team

The size and skill set of the development team play a vital role in model selection. Key factors to consider include:

2.3 User Involvement in the Project

User involvement is crucial for the successful implementation of the project. Consider the following factors:

2.4 Project Type and Associated Risk

Understanding the project type and its associated risks helps in selecting an appropriate process model. Consider the following:

3. Requirement Engineering

Requirement Engineering is the process of defining, documenting, and maintaining software requirements. It ensures that the software system meets user expectations, adheres to constraints, and remains adaptable. The process involves gathering, analyzing, specifying, validating, and managing requirements.

3.1 Requirement Engineering Process

The requirement engineering process consists of four critical phases:

3.2 Feasibility Study

The feasibility study determines whether the software is viable and beneficial.

3.3 Requirement Elicitation and Analysis

This phase gathers requirements from customers, users, and stakeholders. The main challenges include:

3.4 Software Requirement Specification (SRS)

The SRS document, created by a software analyst, provides a structured representation of requirements, converting customer expectations into a format understandable by developers.

1.3.1 Techniques for SRS

3.5 Software Requirement Validation

Ensures the requirements are correct, feasible, and free from ambiguities.

1.4.1 Validation Techniques