Author: GerardMeszaros
Context:
You are building a large complex system which will have many bits of code much of which depends on one another. You are defining one of MultipleArchitectureViews.
Problem:
How do you manage the software (code) in your system such that you can reliably configure a system from it?
Forces:
Organize the software of your system into collections of code which can be managed as a group. Bits of software with a common purpose and common dependencies should be packaged together. If necessary, define several levels of recursive packaging; only stop the recursion when the number of packages is manageable. Track the dependencies of each package using a ConfigurationManagementTool?. Examples of packaging include Classes, Modules, Subsystems, SoftwarePackages?. Examples of systems which manage the delivery view of the system include Envy/Developer.
Related Concepts