[go: up one dir, main page]

0% found this document useful (0 votes)
3 views5 pages

Software Requirement Engineering

The document outlines the fundamentals of project management in software development, emphasizing the distinction between software creation and software project management. It details the necessity of managing software projects due to the unique challenges and risks associated with software development, including the importance of requirement engineering. The requirement engineering process is described as a four-step approach, including feasibility study, requirement gathering, software requirement specification, and validation to ensure successful project execution.

Uploaded by

abayshewakena08
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views5 pages

Software Requirement Engineering

The document outlines the fundamentals of project management in software development, emphasizing the distinction between software creation and software project management. It details the necessity of managing software projects due to the unique challenges and risks associated with software development, including the importance of requirement engineering. The requirement engineering process is described as a four-step approach, including feasibility study, requirement gathering, software requirement specification, and validation to ensure successful project execution.

Uploaded by

abayshewakena08
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Project Management Fundamentals

The job pattern of an IT company engaged in software development can be seen


split in two parts:

 Software Creation
 Software Project Management

A project is well-defined task, which is a collection of several operations done


in order to achieve a goal (for example, software development and delivery). A
Project can be characterized as:

 Every project may have a unique and distinct goal.


 Project is not routine activity or day-to-day operations.
 Project comes with a start time and end time.
 Project ends when its goal is achieved hence it is a temporary phase in the
lifetime of an organization.
 Project needs adequate resources in terms of time, manpower, finance,
material and knowledge-bank.

Software Project

A Software Project is the complete procedure of software development from


requirement gathering to testing and maintenance, carried out according to the
execution methodologies, in a specified period of time to achieve intended
software product.

Need of software project management

Software is said to be an intangible product. Software development is a kind of


all new stream in world business and there’s very little experience in building
software products. Most software products are tailor made to fit client’s
requirements. The most important is that the underlying technology changes and
advances so frequently and rapidly that experience of one product may not be
applied to the other one. All such business and environmental constraints bring
risk in software development hence it is essential to manage software projects
efficiently.

The image above shows triple constraints for software projects. It is an essential
part of software organization to deliver quality product, keeping the cost within
client’s budget constrain and deliver the project as per scheduled. There are
several factors, both internal and external, which may impact this triple
constrain triangle. Any of three factor can severely impact the other two.

Therefore, software project management is essential to incorporate user


requirements along with budget and time constraints.

The software requirements are description of features and functionalities of the


target system. Requirements convey the expectations of users from the software
product. The requirements can be obvious or hidden, known or unknown,
expected or unexpected from client’s point of view.

Requirement Engineering

The process to gather the software requirements from client, analyze and
document them is known as requirement engineering.

The goal of requirement engineering is to develop and maintain sophisticated


and descriptive ‘System Requirements Specification’ document.
Requirement Engineering Process

It is a four step process, which includes –

 Feasibility Study
 Requirement Gathering
 Software Requirement Specification
 Software Requirement Validation

Let us see the process briefly -

Feasibility study

When the client approaches the organization for getting the desired product
developed, it comes up with rough idea about what all functions the software
must perform and which all features are expected from the software.

Referencing to this information, the analysts does a detailed study about


whether the desired system and its functionality are feasible to develop.

This feasibility study is focused towards goal of the organization. This study
analyzes whether the software product can be practically materialized in terms
of implementation, contribution of project to organization, cost constraints and
as per values and objectives of the organization. It explores technical aspects of
the project and product such as usability, maintainability, productivity and
integration ability.

The output of this phase should be a feasibility study report that should contain
adequate comments and recommendations for management about whether or
not the project should be undertaken.

Requirement Gathering

If the feasibility report is positive towards undertaking the project, next phase
starts with gathering requirements from the user. Analysts and engineers
communicate with the client and end-users to know their ideas on what the
software should provide and which features they want the software to include.

Software Requirement Specification

SRS is a document created by system analyst after the requirements are


collected from various stakeholders.

SRS defines how the intended software will interact with hardware, external
interfaces, speed of operation, response time of system, portability of software
across various platforms, maintainability, speed of recovery after crashing,
Security, Quality, Limitations etc.

The requirements received from client are written in natural language. It is the
responsibility of system analyst to document the requirements in technical
language so that they can be comprehended and useful by the software
development team.

SRS should come up with following features:

 User Requirements are expressed in natural language.


 Technical requirements are expressed in structured language, which is
used inside the organization.
 Design description should be written in Pseudo code.
 Format of Forms and GUI screen prints.
 Conditional and mathematical notations for DFDs etc.

Software Requirement Validation

After requirement specifications are developed, the requirements mentioned in


this document are validated. User might ask for illegal, impractical solution or
experts may interpret the requirements incorrectly. This results in huge increase
in cost if not nipped in the bud. Requirements can be checked against following
conditions -
 If they can be practically implemented
 If they are valid and as per functionality and domain of software
 If there are any ambiguities
 If they are complete
 If they can be demonstrated

You might also like