Softwre Development is All About Design and Architecture. Part 2 - software development how to
The purpose of design and architecture phase is to draft on paper the
roadmap to move a system/application from a “as-is” state to the “to-be”
state.
The main deliverables for this phase are the High Level Design (HLD) and
the Low Level Design (LLD) documents. The main difference between these
two documents is one of granularity. The HLD is primarily focused on
capturing system level changes (e.g. a new centralized security
component will affect 5 applications within the organization). While the
LLD is primarily focused on the fine grain view of the system changes
(e.g. how to access the new centralized security component).
The IT Architect will perform a system decomposition analysis when
creating the HLD. The system decomposition is a top down approach to
breaking the system up into component pieces. Each iterative view on the
system will make finer grain views on the system. For instance, the
first pass on the system will identify that operation system talks to
the finance system. On the second pass, the sub systems (e.g. billing,
collections, account reconciliation, etc) of finance are identified. The
IT Architect will perform these iterations until a “good” understand of
the system is captured.
The IT Architect will review security requirements during this phase.
For instance, it is important to note whether the application is client
facing, internal facing, or will make calls across the DMZ
(Demilitarized Zone a.k.a. across the firewall).
Hardware topology is addressed during this phase. The infrastructure
team must be aware of additional servers, databases or hard disks that
may be required for this project. The architectural diagrams (e.g.
component diagrams) should also include DNS or IPs and port information
as the point of contact for each component. This means that the
reporting component must know the database URLs and port number of the
billing database. It is important to note that these resource locations
are only available for existing systems and services. The “to-be”
services resource locations will not be identified at this time, only
showing that they will exist is sufficient.
Once the tollgate requirements have been satisfied and management
sign-off is acquired the development and coding phase may begin.