we refer to a methodology as the entire set of guidelines and activities:
- a full lifecycle process;
- a comprehensive set of concepts and models;
- a full set of techniques (rules,guidelines, heuristics);
- a fully delineated set of deliverables;
- a modeling language; a set of metrics;
- quality assurance;
- coding (and other) standards;
- reuse advice;
- guidelines for project management.
These are each associated with one of four major divisions: concepts and properties, notations and modeling techniques, process, and pragmatics.
Each methodology may have elements that are useful to several stages of the development life cycle. In this paper, the lifecycle stages are defined as follows:
• Requirements’ gathering is the stage of the lifecycle in which the specification(usually in free text) of the necessities from the system, is done.
• Analysis is the stage of the lifecycle that describes the outwardly observable characteristics of the system, e.g., functionality, performance, and capacity.
• Design is the stage of the lifecycle that defines the way in which the system will accomplish its requirements. The models defined in the analysis stage are either refined, or transformed, into design models that depict the logical and the physical nature of the software product.
• Implementation is the stage of the lifecycle that converts the developed design models into software executable within the system environment. This either involves the hand coding of program units, the automated generation of such code, or the assembly of already built and tested reusable code components from an in-house reusability library.
• Testing focuses on ensuring that each deliverable from each stage conforms to, and addresses, the stated user requirements.