1. A method comprising: receiving, by a processor of a computing device, a template corresponding to a general system architecture for providing a desired functionality, specifications of hardware and software available to implement the general system architecture, and specifications of requirements of a particular system architecture for providing the desired functionality; generating, by the processor, the particular system architecture for providing the desired functionality, based on the template and the requirements, the particular system architecture implementable using the hardware and the software, wherein generating the particular system architecture comprises: maintaining a database having a first database table of the specifications of the hardware and the software available to implement the general system architecture, and a second database table corresponding to the template, the second database table relationally linking to the first database table; calculating sizing of the particular system architecture based on the specifications of the requirements of the particular system architecture; and executing a macro corresponding to the template, based on the sizing of the particular system architecture that has been calculated, to generate a logical diagram of the particular system architecture, a bill of materials of the hardware, and a physical diagram of the particular system architecture, wherein executing the macro accesses and uses the database; outputting, by the processor, the logical diagram of the particular system architecture depicting functionally how the particular system architecture is implemented, the physical diagram of the particular system architecture depicting how the hardware and software selected to implement the particular system architecture are interconnected, and the bill of materials that specifies each item of the hardware and the software selected to implement the particular system architecture; and implementing, by the processor, the particular system architecture to determine that the selected hardware and software provide the desired functionality.