Concepts and Solutions
Estimated time to read: 1 minute
For complex software problems, you don't dive into it immediately without having a design in place. That iteratively deals with the problem space and the solution space.
- Conceptual Design breaks down the solution into its constituent parts; my looking at attributes and behaviours.
- Technical Design describes and refines the solution further by looking at the above parts in detail.
Previous ways of looking at conceptual design include;
- Top Down Programming - Maps the processes to the problem routines to be called, eventually creating a tree of routines that make up the application.
For many kinds of complex problems, it makes sense to use the concept of objects. Any noun in a problem description could be an important object. This has lead to the popularity of Object-Oriented Programming with object-oriented languages, as it makes things more relatable to the real world. By organising objects, it enables the creation of code which is flexible, reusable and maintainable.