Separation of concerns suggests that any complex problem can be more easily handled if it is subdivided into pieces that can each be solved and/or optimized independently. Where concern is a feature or behaviour that is specified as part of the requirements model for the software. This separating of concerns into smaller, and therefore more manageable pieces, a problem takes less effort and time to solve.
A procedural abstraction refers to a sequence of instructions that have a specific and limited function.
1. Software architecture of the software must be represented. 2. Then, the interfaces that connect the software to end users, to other systems and devices 3. And, its own constituent components are modelled. 4. Finally, the software components that are used to construct the systems are designed.
Software design includes Set of principles, concepts, and practices that lead to the development of a high-quality system. It’s where you stand with a foot in two worlds—the world of technology and the world of people and human purposes—and you try to bring the two together
Design Model consist of the following four areas: