Designing the Layers of a Solution
o Design a loosely coupled layered architecture.
o Design service interaction.
o Design the security implementation.
o Design for interoperability with external systems.
o Design for optimal processing.
o Design for globalization and localization.
Designing the Presentation Layer
o Choose the appropriate Windows Client technology.
o Design the UI layout and structure.
o Design application workflow.
o Design data presentation and input.
o Design presentation behavior.
o Design for UI responsiveness.
Designing the Data Access Layer
o Choose the appropriate data access strategy.
o Design the data object model.
o Design data caching.
o Design offline storage and data synchronization.
o Design for a concurrent multi-user environment.
o Analyze data services for optimization.
Planning a Solution Deployment
o Define a client deployment strategy.
o Plan a database deployment.
o Design a solution update strategy.
o Plan for n-tier deployment.
Designing for Stability and Maintenance
o Design for error handling.
o Evaluate and recommend a test strategy.
o Design a diagnostics and monitoring strategy.