Posts

Showing posts from October, 2011

what is Spiral Model?

Image
This model follows a process in which the requirements all the phase activity is performed iteratively till all the requirements are met. This enables the product to be demonstrated at any point of time during the development cycle. It allows the progress to be tracked and the customer approvals to be obtained at regular intervals, thereby reducing the risk of finding major defects at a later point of time.The spiral model is favored for large, expensive, and complicated projects. This model allows for incremental releases of the product, or incremental refinement through each time around the spiral. This model also explicitly includes risk management within software development. Identifying major risks, both technical and managerial, and determining how to lessen the risk helps keep the software development process under control. Advantages Changing requirements can be accommodated. Allows for extensive use of prototypes Requirements can be captured more accurately. Users see

what is Iterative or Incremental Model?

Image
An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software , which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model. Requirements phase, in which the requirements for the software are gathered and analyzed. Iteration should eventually result in a requirements phase that produces a complete and final specification of requirements. Design phase, in which a software solution to meet the requirements is designed. This may be a new design, or an extension of an earlier design. Implementation and Test phase, when the software is coded, integrated and tested. Review phase, in which the software is evaluated, the current requirements are reviewed, and changes and additions to requirements proposed.  For each cycle of the model, a decision has to be m

what is RAD Model?

Rapid Application Development or RAD takes the Prototype Model of SDLC further. Instead of using codes, developers use different tools(eg: CASE tools) and software development kits and bring them all together to create a software. Developers who are time challenged could use this application development. Businesses will also appreciate this software as it’s aimed to answer specific problems. Users’ feedbacks are important in this development cycle since they will suggest whether the program will fit to their specifications and needs. Advantages Promotes strong collaborative atmosphere and dynamic gathering of requirements. Business owner actively participates in prototyping, writing test cases   and performing  unit testing Time to deliver is less. Changing requirements can be accommodated. Progress can be measured. Cycle time can be short with use of powerful RAD tools. Productivity with fewer people in short time. Use of tools and frameworks.    Disadvantages   Management

what is Prototype Model?

Image
The goal of prototyping based development is to counter the first two limitations of the waterfall model. This prototype is developed based on the currently known requirements. Development of the prototype obviously undergoes design, coding and testing. But each of these phases is not done very formally or thoroughly. By using this prototype, the client can get an "actual feel" of the system. Advantages It could serve as the first system. Prototyping is an attractive idea for complicated and large systems for which there is no manual  process or existing system to help determining the requirements. The customer doesn’t need to wait long as in the Linear Model. Feedback from customers are received periodically and the changes don’t come as a last minute surprise. Users are actively involved in the development It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems s

what is Modified Waterfall Model?

Image
In response to the perceived problems with the "pure" waterfall model, many modified waterfall models have been introduced. These models may address some or all of the criticisms of the "pure"  waterfall model. In Water fall method , there is no VALIDATION OR VERIFICATION between the phases , so the customer will finally get unsatisfied product. This Modified Waterfall Model Involves VALIDATION or VERIFICATION between the phases , so any deviations can be corrected immediately , providing the customer satisfaction, so this is preferred.

what is Waterfall Model?

Image
The waterfall model is a sequential SDLC model in which development is seen as flowing steadily downwards (like a waterfall) through several phases. The waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. Phases of development in the waterfall model are thus discrete, and there is no jumping back and forth or overlap between them. The most probable phases through which it progresses downwards are Definition Study/Analysis Basic Design Technical Design/Detailed Design Construction Testing Integration Management and Maintenance Definition Study / Analysis : During this phase research is being conducted which includes brainstorming about the software, what it is going to be and what purpose is it going to fulfill.   Basic Design : If the first phase gets successfully completed and a well thought out plan for the software development has been laid then the next step involves formulating the basic design of the s

what are all the SDLC Models?

SDLC Models:                 Describes how the SDLC phases combine together to form a complete product. some of the common Software Development life cycle models are:- Waterfall model Modified Waterfall model V model W model Prototype model Spiral model Iterative model RAD Model Agile & XP Methodology

what is SDLC?

SDLC ( Software Development Life Cycle ):          SDLC represents the overall system development process by which a software system is defined and realized.It is used to  develop the software systematically. It is made up of a series of phases. 1) Information Gathering 2) Requirement Analysis 3) Design 4) Coding 5) Testing 6) Implementation & Maintenance. 1) Information Gathering :             In this phase; information is gathered from the customer , if some information are missing then we need to go to customer and take the required information. Mainly this is done by the Business  Analyst as they are the one who are completely involved in Software Development life Cycle. The Document Prepared during this phase is : Business Requirement Specification (BRS)or Customer Required Specification( CRS) Or User Requirement Specification(URS). 2)  Requirement Analysis :             The Features and the functions that need to be put in the project are determined. 3)

what are the principles of Software Testing?

The fundamental principles of Testing are as follows: Finding defects before customers find them out Exhaustive testing is not possible that means the testing can only show the presence of defects and never their absence Testing applies all through the software life cycle and it is not an end of cycle activity Understand the reason behind the test Test the Test first Test delivers immunity and has to be revised constantly Defects occurs in convoys and clusters, and testing should focus on these convoys Testing encompasses defect prevention Testing is fine balance of defect prevention and defect detection Intelligent and well planned automation is key to realizing the benefits of automation testing Testing requires talented,committed people who believe in themselves and work in teams

Why to test a Software?

- Software Products has become an integral part of our life and is increasingly being used in mission critical s/w - Software is being used by large number of people and we have little control over the way it is used - for eg: Aircrafts, space system, Medical equipments, stock exchanges, Banks are some the most critical domains using s/w in their day to day performance.Reliability and performance of software systems like this is of crucial importance in social living. - Nowadays the software is being used in mission critical situations where the failure is unacceptable  A need for high reliabilty products on one hand and defective systems on other hand has forced the s/w industry to heavily depend on the Testing.

Why Software Testing ?

- Testing Provides required confidence for the release of the product - It is required to build and deliver a quality product - To avoid the user to find bugs - To keep the reliability of the product - To stand in Business - To give the assurance that the software has no defects - To ensure that software matches the requirement - To reduce the development cost and maintenance cost

What is Software Testing?

- It encompasses all the activities that are aimed at discovering errors in a s/w product or its components by exercising the system and its components - It is an activity to check whether the actual results meet the expected result and to ensure that the s/w is defect free - It is a process of executing the program with the intend of finding errors - It is a process of exercising and evaluating the system component by manual or automated means to verify that it satisfies specified requirements - It establish the confidence that a program does what it is suppose to do