Software Engineering Requirements Engineering Software Engineering Phases in

  • Slides: 13
Download presentation
Software Engineering Requirements Engineering

Software Engineering Requirements Engineering

Software Engineering Phases in Software Development When ever we develop a program or build

Software Engineering Phases in Software Development When ever we develop a program or build something, there are some activates we perform. Example: Requirement Analysis Design Coding Testing Same activates are performed in software development

For large where the problem solving activates may last for many years and where

For large where the problem solving activates may last for many years and where many people are involved in development, performing theses activates without proper documentation will not work. In most commercial software developments there are some activates performed before the analysis requirement takes place called feasibility analysis phase in order to calculate cost and profit.

Software Engineering Requirement Analysis Requirement analysis is done in order to understand the problem

Software Engineering Requirement Analysis Requirement analysis is done in order to understand the problem which the software system is to solve. The problem could be automating an existing manual system or developing a new system For large system where there a lot of features, understanding the requirement is a major problem.

Software Engineering In this phase the emphasis is given on identifying what is needed

Software Engineering In this phase the emphasis is given on identifying what is needed from the system and not how the system will achieve the goals Two parties are involved in this process A client ………… A developer

Software Engineering There are two major activities in this phase Problem understanding or analysis

Software Engineering There are two major activities in this phase Problem understanding or analysis and requirement specification (software Requirement specification This phase ends with the validation of the requirements specified in the document.

Software Engineering Software Design The purpose of the design phase is to plan a

Software Engineering Software Design The purpose of the design phase is to plan a solution of the problem specified by the requirement document. Design stage takes us towards how to satisfy the needs. Most important part of the software Blue print of the software

Software Engineering The design activity is often divided into two parts System design Detailed

Software Engineering The design activity is often divided into two parts System design Detailed design This phase produces a design document Partitioning and Abstraction Validation

Software Engineering Coding The goal of this phase is to translate the design into

Software Engineering Coding The goal of this phase is to translate the design into a code in a given Language The coding phase affects both the testing and maintenance phase. Single entry------Single exit construct

Software Engineering Testing is the major control measure employed during software development Its basic

Software Engineering Testing is the major control measure employed during software development Its basic purpose is to detect errors in the software. Unit testing Integration testing Acceptance Testing Regression testing

Software Engineering For testing to be successful, proper selection of test cases are essential.

Software Engineering For testing to be successful, proper selection of test cases are essential. Black box testing Structural Testing Test Plan It identifies all the testing activates that must be performed and specifies the schedule, cost, resources, different units to be tested and the manner in which all the modules will be integrated, different test cases etc.

Software Engineering Maintenance It is not a part of software development but extremely important

Software Engineering Maintenance It is not a part of software development but extremely important activity in software product. It always start after the software is delivered to the customer Two major forms of maintenance are

Software Engineering Adaptive maintenance Corrective maintenance

Software Engineering Adaptive maintenance Corrective maintenance