The specification models are use when only collection on specialized technique methods are expected for developing the specific software.
Various types of specialized model are:
- Component based development
- Formal methods model
- Aspect oriented Software development
Component Based Development
- The commercial off-the-shelves components that are developed by the vendors are used during the software built.
- These components have specialized targeted functionalities and well defined interfaces. Hence it is easy to integrate these components into the existing software.
- The components based development model makes use of various characteristic of spiral model. This model is evolutionary in nature. That means the necessary changes can be made in the software during the each iteration of software development cycle.
- Before beginning the modelling and construction activity of software development the candidate component must be searched and analyzed. The components can be simple function or can be object oriented classes or methods.
- Following Steps are applied for component based development:
- Identify the component based products and analyze them for fitting in the existing application domain.
- Analyze the component integration issues.
- Design the software architecture to accommodate the components.
- Integrate the components into the software architecture.
- Conduct comprehensive testing for the developed software.
- Software re-usability is the major advantage of component based development.
- The re-usability reduces the development cycle time and overall cost.
- This model consists of the set of activities in which the formal mathematical specification is used.
- The software engineers specify, develop and test the computer based systems using the mathematical notation. The notation are specified within the formal methods.
- Clean room software engineering makes use of the formal method approach.
- The advantage of using formal methods model is the it overcomes many problems that we encounter in traditional software process models. Ambiguity, incompleteness and inconsistency are those problems that can be overcome if we use formal methods model.
- The formal methods model offers defect-free software. However there are some drawbacks of this model which resists it form getting used widely. These drawbacks are.
- The formal methods model is time consuming and expensive. For using this model, the developers need the strong mathematical background or some extensive training. If this model is chosen for development then the communication with customer becomes very difficult.
Aspect Oriented Software Development:
- In traditional Software development process, the system is decomposed into multiple units of primary functionality. But there are other issues of concern that do not fit into these primary functionalities. Later on this becomes programmers duty to code modules corresponding to the primary functionality and to incorporate all other concerned issues wherever appropriate.
- Programmers need to keep in mind all the things that need to be done, how to deal with each issue, the problems associated with them and the correct execution. Due to these concerns there are chances of appearing serious problems during application development and maintenance. The coding process for realizing a concern becomes very critical.
- Aspect Oriented Software Development focuses on the identification, specification and representation of cross-cutting concerns and into separate functional units as well as their automated into a working system.
- Aspect requirements define these cross-cutting concerns that have impact on the software architecture.
- Aspect Oriented Software Development is often referred as Aspect oriented programming.
- It is a relatively new software engineering paradigm and is not matured enough. But is likely that it will adopt the characteristics of both the spiral and concurrent process models.
Post Your comments,Views and thoughts Here, Give Us Time To Respond Your Queries