Tutorial

30 Large-Scale Software Architecture: A Practical Guide Using UML

Monday, 27 October – 13:30-17:00 Afternoon

Jeff Garland, CrystalClear Software, jeff@crystalclearsoftware.com
Richard Anthony, General Dynamics Decision Systems, Richard.Anthony@gd-decisionsystems.com

Dealing with the complexity of large-scale systems can be a challenge for even the most experienced software designers and developers. Large software systems can contain millions of elements, which interact to achieve the system functionality. Managing and representing the complexity involved in the interaction of these elements is a difficult task.

This tutorial will help you manage this complexity through the use of industry-proven software architecture approaches, based on the UML and IEEE 1471 standards. We will introduce software architecture terminology and approaches, focusing on a set of UML viewpoints that represent the important aspects of a large-scale software architecture. These viewpoints include context, component, subsystems, process and deployment. These viewpoints leverage the recent IEEE 1471 standard for software architecture representations providing a description of the purpose, stakeholders, and techniques associated with each viewpoint.

The tutorial also presents other practical techniques essential to developing an effective software architecture. Topics covered in the tutorial include:

  • Techniques for handling large, complex systems
  • Modeling of software subsystem interfaces and dependencies
  • Modeling of components, component interactions, and component integration
  • Modeling of process communication and software/hardware deployment
  • Fitting architecture development into development processes

Attendee background

Prerequisites: Attendees must have a basic understanding of UML, have experience as a software developer, and an interest in software architecture. Experience on a large-scale software system is beneficial but not required.

Format

Lecture and discussion

Presenters

Jeff Garland has worked on many large-scale software projects over the past 16 years, and in many different domains, including telephone switching, industrial process control, satellite ground control, and financial systems. He has served as both the lead architect and a member of the architecture team on several of these projects. Mr. Garland holds a Master's degree in Computer Science from Arizona State University and a Bachelor of Science in Systems Engineering from the University of Arizona. He is currently President and Chief Technology Officer of CrystalClear Software. CrystalClear Software is a consulting firm that specializes in the development of software architectures for large-scale systems.

Richard Anthony has l7 years experience working on large-scale software development efforts. The systems are from application areas such as satellite and network operations systems, telephony base station control, manufacturing, and simulation. He has served in the role of chief software architect, design engineering technical lead, software design lead, software system engineer, and developer on projects in these application areas. Mr. Anthony holds Master's degrees in Computer Science and Mathematics, as well as a Bachelor's degree in Mathematics Education, all from the University of Wyoming. He is currently a Senior Software Architect at General Dynamics Decision Systems.