- describe principles of building significant systems for different purposes.
- determine how to improve the desired qualities of existing systems.
- explore well-known architectural patterns, their benefits and trade-offs.
- create systems exhibiting the desired levels of quality attributes like availability and performance.
- begin systems that will have pervasive, long-term, desirable capabilities.
- investigate the art of building frameworks that are most useful to everyone else on a project—like developers and testers.
- understand how to make agile architectures, and let the design play an enabling role in a long-term, agile development process.
- understand how to coordinate the design work done by multiple organizations. This includes sourcing decisions, and getting the flow of required communication/documentation just right.
In this course, you’ll learn about the architecture, design issues and tradeoffs of complete commercial systems. Topics include building on components, make/buy decisions, quality attribute optimization, architectural principles and alternative styles, high-level design documentation, and modeling practices in human interface design.
Students should have software development and/or maintenance experience and the ability write and communicate effectively. Software Architecture is designed to be valuable to individuals and organizations because it provides the concepts, techniques and practical application to enable immediate contributions in the workplace.
Participants are usually interested in becoming software architects or higher-level designers who will take direct advantage of the knowledge gained.
- Participants who successfully complete all course requirements receive a Certificate of Completion and one of the following: 4 hours of Graduate Credit or 3.5 CEUs.
- You will position yourself as a software technical leader within your organization, someone versed in fundamental and current design principles.
- You will gain key insights from leading faculty who will impact how you and your organization approach software design to make projects durable, feature-rich, and high quality.
- And you will gain the ability to engage confidently with your organization’s management, learn to identify product design opportunities, and navigate challenges.
This course is structured in such a way that you gain an overall understanding of software architecture, while you are working on a related "inquiry" project at the same time.
You can expand your computer experience and knowledge through one of our many student teams or organizations, such as the Cyber Defense Team or the Robotics competition team. Our CSSE professors are great mentors and will lead you through real-world projects that will definitely give you a leg up after graduation.
Our classes will prepare you for multiple careers in a rapidly changing environment. We emphasize fundamental concepts and techniques that will last longer than present technology.
To learn more about career possibilities for computer science and software engineering majors, check out our Careers Page.
Software Developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or control networks. Many software developers work for firms that deal in computer systems design and related services, or for software publishers. Software developers usually have a bachelor’s degree in computer science and strong computer programming skills. The median annual wage for software developers was $100,690 in May 2015. – U.S. Bureau of Labor Statistics
Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and intranets. These networks range from small connections between two offices to next-generation networking capabilities such as a cloud infrastructure that serves multiple customers. Employment of computer network architects is projected to grow 9 percent from 2014 to 2024, faster than the average for all occupations. The median annual wage for computer network architects was $100,240 in May 2015. – U.S. Bureau of Labor Statistics
Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increases. Most information security analysts work for computer companies, consulting firms, or business and financial companies. The median annual wage for information security analysts was $90,120 in May 2015. – U.S. Bureau of Labor Statistics
Dr. Mellor, department head of Computer Science & Software Engineering, earned his Bachelor of Science degree from the United States Naval Academy in 1987 followed by a Bachelor of Science degree in Nuclear Technology of the University of the State of New York in 1990. He earned his SM in Electrical Engineering and Computer Science from MIT in 1995, and then his Ph.D. from the same institution in 2000.