Sunday, September 16, 2012

Models Of software Engineering





Short notes:

ü The linear sequential model
ü The Rad model
ü The Prototyping model
ü The Incremental model
ü The Spiral model
ü The Component assembly model
ü The Concurrent development model
ü The Format method model.

 The linear sequential model

            The linear sequential model for software engineering sometimes called the “classic life cycle” or the “waterfall model” the linear sequential model suggests a systematic, sequential approach to software development that begins at the system level and progresses through analysis, design coding, testing and maintenance.

The RAD model:-

            The Rapid Application Development (RAD) is a linear sequential software development process model that emphasizes n external short development cycle. The RAD model is a “high speed” adoption of the linear sequential model in which rapid development is achieved by using a component based construction approach. If requirements are well understood and project scope is constrained the Rad process enables a development team to “create a fully functional system” within very short time periods. Used primarily for information systems applications.

The Prototyping model

            The goal of prototyping based development process is to counter the first limitations of the water fall model. The basic idea here is that instead of freezing the requirements before any designing or coding can proceed, a throw way prototype is build to help understand the requirements. This prototype development is based on the currently known requirements. Development of the prototype undergoes design, coding and testing. Ideally, the prototype serves as a mechanism for identify software requirements.

The Incremental model :-

The incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping. The Incremental model applies linear sequences in a staggered fashion. Each linear sequence produces a deliverable “increment” of the software. The incremental model is like prototyping and other evolutionary approaches, is interactive in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment.
Incremental development is particularly useful when staffing is unavailable for a complete implementation by the business dealed that has been established for the project.

The Spiral Model:-

            The spiral model originally proposed by Boehm, is an evolutionary software process model that couples the interactive nature of the prototyping with the controlled and systematic aspects of the linear sequential model. It provides the potential for rapid development of incremental versions of the software. In the spiral model, software is developed in a series of incremental releases. During early iteration, the incremental release might be a paper or model or prototype. During later iterations, increasingly more complete versions of the engineered system are produced.
            The spiral model is divided in to a number of framework activities, also called task regions.

The Component assembly model:-

            The Component assembly model incorporates many of the characteristics of the spiral model. It is evolutionary in nature demanding the iterative approach to the creation of software. The engineering activity begins with the identification of candidate classes. This is accomplished by examining data that are to be manipulated by the application and the algorithm that will be applied to accomplish the manipulation. Corresponding data and algorithms are packaged into a class. Classes are components created in post software projects are stored in a class library or repository.

The Concurrent Development Model:-

            The Concurrent development model, sometimes called concurrent engineering. The concurrent process model can be schematically as a series of major technical activities, tasks and their associated states. The concurrent process model defines a series of events that will trigger transitions from state to state for each of the software engineering activities. The concurrent process model is often used as paradigm for the development of client / server application. A client/server system is composed of a functional component.

The Formal Methods Model:-

            The formal methods model encompasses a set of activities that lead to mathematical specification of computer software. Formal method enables a software engineer to specify, develop and verify a computer based system by applying a rigorous, mathematical notation. A variation on this approach, called clean room software engineering is currently applied by some software development organizations. When formal methods are used during development, they provide a mechanism for eliminating many of the problems that are difficult to overcome using other software engineering parading. When formal methods are used during design, they serve as a basis for program. Verification and therefore enable the software engineering to discover ad correct errors that might otherwise go undetected.

No comments:

Post a Comment

Please Comment here all your thinking about this website, and post your Problems here... Thank You