Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"Large-Scale Software Architecture: A Practical Guide Using UML"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Technical Program > Tutorials > All Tutorials

 : Sunday Morning Tutorials (8:30 - 12:00) : Architecture and the Enterprise : Sunday

Large-Scale Software Architecture: A Practical Guide Using UML

Meeting Room 8
Sunday, 8:30, half day


Jeff Garland, CrystalClear Software, Inc:  Jeff Garland has worked on many large-scale software projects over the past 17 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, General Dynamics Decision Systems:  Richard Anthony has 18 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.

Tutorial number: 7

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 presents an overview of 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. In addition to introducing the terminology and viewpoints, the tutorial describes 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 dependencies and interfaces
  • Modeling of components, component interactions, and component integration
  • Modeling of process communication and software/hardware deployment
  • Fitting architecture development into development processes

Intermediate: 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.