Component Based Development
The component based development model incorporates many of the characteristics of the spiral model. It is evolutionary in nature, Specialized process model demanding an iterative approach to the creation of software.
However, the component based development model constructs applications from prepackaged software components.
Modeling and construction activities begin with the identification of candidate components. These components can be designed as either conventional software modules or object oriented classes or packages of classes.
Regardless of the technology that is used to create the components, the component based development specialized process model incorporates the following steps.
- Available component based products are researched and evaluated for the application
domain in question. - Component integration issues are considered.
- A software architecture is designed to accommodate the components.
- Components are integrated into the architecture.
- Comprehensive testing is conducted to ensure proper functionality.
The component based development model leads to software reuse, and reusability provides software engineers with a number of measurable benefits.
The Formal Methods Model
The formal methods model encompasses a set of activities that leads to formal mathematical specification of computer software.
Formal methods enable you 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.
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 paradigms.
Ambiguity, incompleteness, and inconsistency can be discovered and corrected more easily, but through the application of mathematical analysis.
When formal methods are used during design, they serve as a basis for program verification and therefore enable you to discover and correct errors that might otherwise go undetected.
Although not a mainstream approach, the formal methods model offers the promise of defect free software.
Draw Backs:
- The development of formal models is currently quite time consuming and expensive.
- Because few software developers have the necessary background to apply formal methods, extensive training is required.
- It is difficult to use the models as a communication mechanism for Technically unsophisticated customers.
Aspect Oriented Software Development
AOSD defines “aspects” that express customer concerns that cut across multiple system functions, features, and information.
When concerns cut across multiple system functions, features, and information, they are often referred to as crosscutting concerns.
Aspectual requirements define those crosscutting concerns that have an impact across the software architecture.
Aspect oriented software development (AOSD), often referred to as aspect oriented programming (AOP), is a relatively new software engineering paradigm that provides a process and methodological approach for defining, specifying, designing, and constructing aspects.”
Grundy provides further discussion of aspects in the context of what he calls aspect oriented component engineering (AOCE):
AOCE uses a concept of horizontal slices through vertically decomposed software components, called “aspects,” to characterize cross-cutting functional and non-functional properties of components.
Read More Topics |
Prescriptive process model |
Software engineering layered technology |
Array in C language |
HyperText Transfer Protocol |