Software Architecture Design


HLC provides consulting services for software architecture design. HLC software architects are quality driven and they consider all relevant aspects of the software / product:

  • Software / product requirements
  • Customer requirements
  • Observation of existing products
  • Make / Buy / Reuse / Open source - analysis
  • Programming languages and object oriented analysis against requirements
  • Software interface design
  • Software interoperability
  • Testing capabilities
  • Standards
  • Design patterns
  • Regulatory statutes
  • Software product security, safety and liability analysis

HLC software architect keeps in mind that if the architecture cannot be understood so that others can build systems from it, analyze it, maintain it, and learn from it, then the effort put into crafting it will be wasted.

HLC software architect documents high quality (CMMI / UML) and self-explanatory software architecture document:

Documentation roadmap
  • Purpose and the scope of the architecture
  • How architecture is organised
  • Stakeholder representation
  • Architecture view definition
  • Relationship to other software architectures
Architecture background
  • Problem background (e.g. significant driving requirements)
  • Solution background
  • Product line reuse considerations
Architecture views
  • Software architecture overview diagram and description
  • Software component decomposition diagrams and descriptions
  • Use case diagrams and explanations
  • State diagrams (if any)
  • Sequence diagrams of all relevant functionalities of the software product
  • References
  • Glossary
  • Abbreviations


Previous page: Architecture
Next page: Quality and Processes