Design Concepts
A group of fundamental software design concepts has evolved over the previous 3 decades. While the degree of interest in each concept has varied over the years each has stood the test of time. Each helps the software engineer to answer the following questions which are given below Each gives the software designer with a foundation from that more sophisticated design technique can be applied.
- What area can be used to partition software into individual parts?
- How is data or function structure detail separated from a conceptual representation of the software?
- Are there uniform criteria which define the technical quality of a software design?
M. A. Jackson once said: The starting of wisdom for a software engineer is to recognize the difference among getting a program to work and getting it right. Fundamental software design concepts give the necessary framework for getting it right.