Models are useful for better understanding of actual entity to be built or design. Models are represented at different levels of abstraction first depict software from customer’s view point and later represent software at more technical level.
There are two classes of models are created:-
1) Analysis model
2) Design model
Analysis Model: – Represent the customer requirement, which includes algorithmic specifications of program or process. Analysis model includes three different domains a) Information domain b) Functional domain c) Behavioral domain
Analysis Modeling principles:-
1) The information domain of problem must be clearly represented: – Analysis model uses “data flow diagram “to show information domain which includes following detail input flow into system, output flow in system, data collection by data store to collect data in system.
2) The function of software must be defined clearly:-function are process those transform input flow to output flow so specification must be clearly defined.
3) Behavior of system must be defined clearly:-Analysis model uses state transition diagram to represent the behavior of system clearly.
4) The clear hierarchy among information function and behavior must be shown: – information, function and behavior of system must be represented by using proper hierarchy which leads to easy design.
5) Analysis should be clear enough to convert it into design model: – it analysis of requirement is clear and simple then it will be easy for design.
Design model provides concentrate specification for the construction of software. Design model includes a) Architectural design b) User interface design c) component level details.
Design Modeling principles:-
1) Design should be traceable from analysis model: – using elements if analysis model is constructed.
2) Consider a architecture of system to be built: – Architectural design shows following Architectural design style are as follow a) data concentrate Architecture b) data flow Architecture c) main / subprogram Architecture.
3) Data should be important rather than design of functions: – data design shows relationship between different data object shown by entity relationship between different data object shown by entity relationship diagram so data modeling is important.
4) Internal as well as External Interface must be designed: – For proper flow of data among system or external environment to system it is important to have all internal and external interface proper design is required.
5) User interface design must satisfy all needs of user:-Design must be simple and convenient to end user side.
6) Cohesion measure functionally strength of module so for proper design all function in single module should be highly cohesive so that why Component level design should be functionally independent.
7) Components required loosely coupled to the external environment: – The Component should be loosely coupled to one another and to external environment in the modeling system.
8) Design module should be easy to understand:-As simple modules are easy to test, debug and modify so design should be simple.
9) Accept that design modeling is iterative: – Good design should be capable to the absorb all changes.