Software architecture
Appearance
Software architecture refers to the theory behind the actual design of computer software. In the same way as a building architect sets the principles and goals of a building project as the basis for the draftsman's plans, so too, a software architect sets out the software architecture as a basis for the actual design specifications.
There are many common ways of designing computer software, among them:
- Client-server
- Distributed computing
- Peer-to-peer system
- Monolithic system
- Module-based system
Often, as software is maintained, expanded and changed during its lifetime, the architecture degrades, making the software a Big Ball Of Mud.
See also: software engineering