Software has architecture and infrastructure. Just like a hospital, bridge or airplane, things will come crashing down if it is not designed and implemented properly. It is essential to understand the outcomes of various design patterns and architectures as they relate to your problem’s domain in order to design and build something that is reliable, useful, and has long-term value. Software today is used to allow people to communicate across the world, alert doctors when patients go into cardiac arrest, control and secure homes and businesses, protect and store information, and fulfill countless other essential business and personal needs. It must be highly available, upgradeable, consistent, usable and as fail-safe as possible to protect the lives and livelihoods of those who depend on it. Software Engineering is absolutely a ‘real’ engineering discipline.
Software has architecture and infrastructure. Just like a hospital, bridge or airplane, things will come crashing down if it is not designed and implemented properly. It is essential to understand the outcomes of various design patterns and architectures as they relate to your problem’s domain in order to design and build something that is reliable, useful, and has long-term value. Software today is used to allow people to communicate across the world, alert doctors when patients go into cardiac arrest, control and secure homes and businesses, protect and store information, and fulfill countless other essential business and personal needs. It must be highly available, upgradeable, consistent, usable and as fail-safe as possible to protect the lives and livelihoods of those who depend on it. Software Engineering is absolutely a ‘real’ engineering discipline.