Primal Forces
Software design involves making choices. For example, some of the key choices that present themselves when designing software architecture include:
• Which details to expose and which details to abstract.
• Which features to include and which features to exclude.
• Which aspects to make flexible and extensible.
• Which aspects to constrain and guarantee.
Software design choices are often complex, with numerous issues (or forces) to consider, such as security, cost, adaptability, reliability, and so on.
The primal forces include:
• Management of functionality: meeting the requirements.
• Management of performance: meeting required speed of operation.
• Management of complexity: defining abstractions.
• Management of change: controlling evolution of software.
• Management of IT resources: controlling use and implementation of people and IT artifacts.
• Management of technology transfer: controlling technology change.
Sunday, August 12, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment