.: Architecture

The third prerequisite for design—after requirements analysis and problem domain definition—is to specify the overall architecture of the application. In this phase we are emphasizing structure of the application from the point of view of high-level responsibilities, and the disposition and dependence of these components in relation to each other and to the hardware / software infrastructure.
The form of the architecture specification will vary greatly depending on, among other things, whether the application is large or small, web-based, database intensive, etc.
In any case, a typical architecture document will address the following areas, as appropriate for the application:
- Physical infrastructure. Description of the network / communications environment in which the application is designed to operate. Specification of security-related issues, including the use of VPN’s, SSL, firewalls.
- Middleware and servers. Specification of required application servers, web servers, database servers, and related components, and server hardware.
- Implementation languages / framework. Specifies, for example, whether application is implemented using .NET, Java or other languages, plus related details such as whether EJB’s are used, and how they be deployed.
- Structure of User-interface, database access. Description of how the application will organize and separate responsibilities for UI, database access, and business logic.
- General structure of application components. High-level diagram showing the disposition of the main functional components of the application in relationship to hardware and middleware components.
- Application-specific development policies. Specification of design and implementation policies for this application with respect to such things as scalability, exception-handling, security, multi-user access, fault tolerance, availability, performance, data types, report implementation, use of database triggers, stored procedures, etc.
Discovery / Requirements
Problem Domain
Risks
Architecture
External Design
Functional Design
Implementation
Quality Assurance
|