Notes on the Design
System contains many sub-systems. System is an independent entity. It is everything put together.
Sub-System can consists of many units or modules.
Software Architecture is the bigger picture. It is the highest level of view or abstraction. MVC or Layered Architecture are some examples.
Software design is the smaller picture. It is the design of individual modules. Often represented in UML. They adhere to design patterns.
Consequences of the design on the architecture:
If software design handles the internal implementation it has no effect. The design of interfaces has external significance and can affect the overall architecture.
Inside out approach:
This approach identifies core competencies of the organization & its people and then builds on it.
Outside in approach:
This approach identifies what the customer wants and then goes towards it.
Detailed design vs Continuous design
Detailed design fits in the classic waterfall model. Its also a top down approach. Sub-system, units, interfaces between them and deployment are well identified and documented.
Continuous design is a bottom up approach. Evolving software is refactored. This is an outcome of extreme programming and Agile methodologies.
Detailed design vs Continuous design
Detailed design fits in the classic waterfall model. Its also a top down approach. Sub-system, units, interfaces between them and deployment are well identified and documented.
Continuous design is a bottom up approach. Evolving software is refactored. This is an outcome of extreme programming and Agile methodologies.