Design Principles

Just like an architect designs a model of a real world building, similarly a software engineer designs a model of a real world software system. Thus, it is crucial for the success of system that it is designed in a realistic, standard, architectural manner.

Avoid tunnel vision: Tunnel vision denotes narrow point of view. Lack of vision is not excusable on the part of a designer. It is imperative that the problem is studied from all possible angles, all possible design approaches are considered, judging each against the requirements from the system, the resources available, and the constraints that the system would be working under.

back to top

Design model should be traceable to the analysis model: An exemplary design model should be traceable to the analysis model, that is, it should provide a means for checking whether the design elements have the ability to meet the requirements identified in the analysis model. It may also be possible that a single element translates to multiple requirements.

back to top

Do not reinvent the wheel: Time is an extremely precious commodity. Software projects which overflow time constraints are bad for business. If reusable design components are available, then time must not be wasted reinventing/ redesigning such components.

back to top

Minimize the intellectual distance: As far as possible, structure of the design should imitate the structure of the problem domain. The solution to the problem should not be too difficult to understand or comprehend.

back to top

Exhibit uniformity and integration: The design coding and presentation standards must be closely followed by the entire team. It should not appear to reflect the moods of different team members during different stages of the design. The same rules and formats must be followed by all the team members.

back to top

The design structure should be able to accommodate change: With the passage of time, changes or enhancements may be required to be made in the existing system. The design should be dynamic enough to accommodate such changes, and adapt to new requirements.

back to top

The design should not collapse suddenly: A well designed system should never crash. It should be able to handle all sorts of exceptions and events. it should be able to degrade gently even when aberrant data, events or operating conditions are encountered.

back to top

Assess for quality as it is being created: The design metrics should be used to assess the quality of design all along the way. One cannot and should not wait till the end of the process to assess for quality.

back to top

Review to minimize conceptual errors: It is imperative to check all conceptual elements of design such as ambiguity, omissions, inconsistencies before worrying about the syntax of the design model.

back to top

 

 

 

 

 

.

 

 

 

 
Hosted by www.Geocities.ws

1