Software life cycle

What is software life cycle?

To develop the desired software product, a certain series of steps need to be followed. These steps are known as the Software Development Life Cycle (SDLC).

These steps are:

Communication: The user initiates the process, where he contacts a software developer to request a specific software product.

Requirement gathering: The software development team tries to gather all possible information on requirements for the product by contacting stakeholders.

Feasibility study: The teams start plans for software process, and determine if the solution is practically, financially, and technologically possible by analyzing most possible algorithms.

System analysis: Developers try to come up with the best model for the product.

Software design: This is the moment when the designing of the product begins, combining the analysis, and the requirement knowledge.

Coding: This is the programming stage, where the software design is implemented.

Testing: At this point it is very important to review the code for all possible existing errors. It is one of the most important phases.

Integration: Include all needed data to implement the software product.

Implementation: This means to install the software and actually run the product on user machines.

Operation & Maintenance: Further analysis of the product needs to be done to improve the efficiency of the product and avoid more errors.

Disposition: If software becomes obsolete, this process needs to eliminate or archive all data regarding to the product, or if possible upgrade totally the product.

sdlc

Refereneces:

http://www.tutorialspoint.com/software_engineering/software_development_life_cycle.htm


V – Shaped model

http://www.rootsitservices.com/pictures/v-shaped.jpg
Original at: http://www.rootsitservices.com/pictures/v-shaped.jpg

The V – Shaped model is a variant of Waterfall method more emphasized in the validation and verification phases of the software development proccess.

The different phases of this method are followed in parallel.

In V Model there are some steps or sequences specified which should be followed during performing test approach. Once one step completes we should move to the next step.

As V Model specifies that test plan should be started form the beginning when requirement phase starts. In above V Model you will see when requirement phase completed acceptance testing and system testing has been planned in parallel. Similarly once design phase completes, Integration testing should be planned and finally once coding phase completes, Unit testing should be planned.

 

Advantages of V Model

  • If project is small and easy to understand, V Model is the best approach as its easy and simple to use.
  • Many testing activities are performed in the beginning like planning and design which saves lots of testing time.
  • Most of the defects and bugs are found in the beginning of the project development. So less chances of defect or bug to be occurred at final testing phase.

Disadvantages of V Model

  • Guessing the error in the beginning of the project could take more time.
  • Less flexibility.
  • Any changes done in the middle of the development which is unplanned could make difficult to make the changes at all the places like test document and requirements.

When V Model should be followed.

  • V Model should be followed for small project where requirements are clear and easy to understand at the beginning of development.
  • V Model should be followed for the project where very less probability to make the changes in the middle of testing or development phase which
    Continue reading "V – Shaped model"

The Software Lifecycle

As everything in this planet, software also has a certain lifecycle. It is commonly composed of five main stages. Each of the stages has an specific purpose. There are several diagrams of the software lifecycle, most of them have more than five stages. But the way they are categorized, results in the five main categories. Which are the following:

  • Analysis of requirements:
    • This phase involves the relation between the development team and the customer. During this phase the project team builds a quick draft according to the customers’ needs.
  • Design
    • During this stage of the cycle, the project team is in charge of establishing requirements, protocols and more technical stuff. It also involves the planning of the following stages troughout a timeline based on customers’ requirement.
  • Implementation
    • This is where most of the projects takes place. Troughout this stage, the software is being built and, sometimes, shown to the customers in order to show progress and also to check that everything is in order.
  • Testing
    • When implementation is finished, tests must be held in order to check that it complies with every initial requirement. During these period, there are two main testing stages, alpha and beta testing.
      During alpha testing, the software is only deployed locally with the dev-team. Once the software finishes with the alpha testing, it proceeds to beta testing. The latter involves a public distribution of the software, during these tests, the release is much more stable, but it is intended to obtain more feedback about bugs, and overall performance.
  • Evolution
    • In this last stage, the software is updated with new features or bug removals. This evolution must be in accordance the different growing requirements of the customer.

It is really important that these five steps are repeated the way a cycle does. Every evolution or a new

sdlc-gone-wrong
Continue reading "The Software Lifecycle"