Decomposition StrategiesChoose one of the strategies from the group, and move to next.
Group 1. Layering or Distribution
- Layering
- Ordering of principles like, Abstraction
- It can be by Layers or Tiers
- Distribution
- Distributed computing : Primary technique for building scalable systems
- Distribution is among computational resources
Group 2. Exposure, Functionality, or Generality
- Exposure
- How the component is exposed and consumes other components
- 3 aspects of a component :
- Services deals with how other components access this component
- Logic deals with how the component implements the work necessary to accomplish its task
- Integration deals with how it accesses other components services
- Functionality
- Grouping within the problem space
- Example: Login module, Customer module, Order module etc.
- Generality
- Determining whether you have a reusable component that can be used across many systems
- Note : Don't make assumptions that a component may be used by another system in the future (Doesn't exists currently)
Group 3. Coupling and Cohesion or Volatility
- Cohesion
- degree to which the elements of a module belong together
- Coupling
- degree of interdependence between software modules
- Volatility
- Isolating things that are more likely to change
- Example : GUI changes are more likely than the underlying business rules
Group 4. Configuration
- Having a target system that must support different configurations, maybe for security, performance, or usability
- Having multiple architectures with a shared core, and the only thing that changes is the configuration
Group 5. Planning and Tracking or Work Assignment
- Planning and Tracking
- Attempt to develop a fine-grained project plan that takes into account :
- Ordering : To understand the dependencies between packages and realize which must be completed first
- Sizing : Break down the work into small-enough parts so you can develop in a iterative fashion without an iteration taking several months
- Work Assignment
- Assignment of work based on :
- Physically distributed teams
- Skill-set matching
- Security areas
No comments:
Post a Comment
Note: only a member of this blog may post a comment.