Architecture & Design: Structure to Succeed
Like other engineering efforts, software requires structure to succeed. The architecture provides this structure by concentrating on components and connections, decomposition and generalization to guide the design process.
high level • broad-scoped • flexible
If architecture is the guide, design is the plan. Design molds the architecture into an implementable plan focusing on...
components • algorithms • details
In some cases, we design up front; others evolve iteratively. A well thought out architecture provides the flexibility to support both.
Success depends on a judicious choice of tools and techniques – and knowledge of when to apply them – tailored for the project.
- Object Oriented Design & Development
- Design Patterns
- Unified Modeling Language (UML)
- Use Cases
- Feature Driven Development
- Iterative Development
- Just-in-time Design
- Client-server, 2-tier, n-tier