Tutorials
T1: Evaluating a Service-Oriented
Architecture
T2: Managing Architecture Knowledge:
Challenges, Approaches, and Tools
T3: Tactics for Global
Software Development Projects
T4: Integrating
Architecture-Centric Methods into Object-Oriented Analysis and Design
T1: Evaluating a Service-Oriented
Architecture
14 May 2007, 8:30-12:00 AM
Paulo Merson, Software Engineering Institute,
Pittsburgh, PA
Phil Bianco, Software Engineering Institute, Pittsburgh,
PA
Rick Kotermanski, Summa Technologies, Pittsburgh, PA
Abstract:
Are you involved in the
development of a service-oriented architecture (SOA), or are you considering
this approach in your next project? Do you believe architecture evaluation is
an important step in the software life cycle because, among other benefits, it
detects problems that are hard to fix once the implementation is in place? If
you answered "yes" to both questions, we invite you to attend this tutorial
where we'll provide practical information for the architecture evaluation of an
SOA system. We'll discuss how to describe the architecture, what architectural
approaches are applicable, what questions and design considerations can be used
to probe the architecture, and other aspects of architecture analysis-always
looking at the specifics of SOA solutions. In this tutorial, the SEI
Architecture Tradeoff Analysis Method (ATAM) is used as a reference for the
steps, inputs, and outputs of an architecture evaluation technique.
Presenters' Biographies:
Paulo Merson has over 16 years of software development experience. He currently works at the Carnegie Mellon Software Engineering Institute (SEI) on software architecture, service-oriented architectures, the ATAM, and predictability in component-based development. One of his assignments at the SEI is teaching a two-day course called "Documenting Software Architectures" for industry and government practitioners. His recent speaking experience includes lectures to graduate students on topics such as J2EE, AOP, UML 2.0, and conference tutorials and invited talks at different companies. Prior to joining the SEI, he was a J2EE consultant and worked in the implementation of several enterprise applications. He holds a bachelor's degree in computer science from the University of Brasilia and a master's degree in software engineering from Carnegie Mellon University.
Philip Bianco is a member of the technical staff at the Carnegie Mellon Software Engineering Institute (SEI). He holds a master's degree in software engineering from Carnegie Mellon University and a bachelor's degree with honors in computer science from the University of Pittsburgh. Currently, he conducts research in the area of software architecture for the SEI's Product Line Systems Program. His research topics include tools to assist Architects (ArchE), service-oriented architecture (SOA), and architectural enforcement. Prior to joining the SEI in 2000, he worked in information systems development and database administration.
Rick Kotermanski is the chief technology officer for Summa Technologies. Rick brings more than 20 years of experience in the architecture, management, design, and implementation of mission-critical applications to his role as the leader of Summa's technology strategy and practice development. Rick led the development of Summa's practice areas, including enterprise architecture, application modernization, and service-oriented architecture. He also led Summa teams on numerous client projects including IT strategy definition and implementation at leading financial services, manufacturing, insurance, and product development companies. Prior to joining Summa, Rick was a WebSphere development manager at the IBM Pittsburgh Lab and held software engineering positions at Union Switch and Signal and PPG Industries.
T2: Managing Architecture
Knowledge: Challenges, Approaches, and Tools
14 May 2007, 8:30-12:00
AM
Ian Gorton, Pacific Northwest National Laboratory,
Richland, WA
Ali Babar, Lero, University of Limerick, Ireland
Abstract:
Modern software systems are
typically built by acquiring and integrating various components developed by
commercial or open source entities, whose teams are commonly geographically
distributed. Capturing the technical knowledge, contextual information, and
rationale surrounding the design decisions underpinning the system
architectures and software components can greatly improve the software
development process. If not managed, this critical design knowledge is
implicitly embedded in the architecture, becoming tacit knowledge that erodes
as personnel on the project change. Moreover, the unavailability of
architecture knowledge precludes organizations from growing their architectural
capabilities.
In this tutorial, we highlight the benefits and challenges of capturing and managing software architecture knowledge for supporting an architecture-centric software development process. We discuss various approaches to characterizing software architecture knowledge based on the requirements of a particular domain. In addition, we describe various concepts and approaches to managing the software architecture knowledge from both management and technical perspectives. We also demonstrate the utility of captured architecture knowledge to support software design and evaluation activities using methods and techniques developed by the Carnegie Mellon Software Engineering Institute (SEI). The theoretical concepts and their practical applications will be explained using a case study covering the use of architecture knowledge management approaches and tools in an industrial project. The specific architecture knowledge management technology used during the tutorial is BRedB, a software tool developed by the National ICT Australia. Finally, the ways in which Wikis can be used to manage architecture knowledge are discussed.
Presenters' Biographies:
Ian Gorton is a senior research scientist in computational and information sciences at the U.S. Department of Energy's Pacific Northwest National Laboratory (PNNL) and is chief architect for PNNL's Data Intensive Computing Initiative. Previously, he was Chief Architect in Information Sciences and Engineering at PNNL and led the software architecture R&D at National ICT Australia (NICTA) in Sydney, Australia. He has also held R&D and consulting positions in Australia at Australian Commonwealth Scientific and Industrial Research Organization (CSIRO), IBM, and Microsoft and consulted on software architecture issues to many large organizations including Fujitsu, Borland, the Australian Stock Exchange, and the Australian Defense Science and Technology Organization. His interests include software architectures, particularly those for large-scale, high-performance information systems that use COTS middleware technologies. He received a PhD in computer science from Sheffield Hallam University.
Ali Babar is a senior research fellow with the Irish software engineering research centre (Lero). Previously he was a researcher with the National ICT Australia. He has been active in software engineering research for more than seven years mainly in Australasian region. He has also been designing and delivering software engineering courses as an adjunct academic since 2000. Previously, he worked as a software engineer and an IT consultant for several years in Australia. He received an MSc in computing sciences from the University of Technology, Sydney. Recently, he has submitted a dissertation for a Ph.D. in Software Engineering to the University of New South Wales, Australia. His current research interests include software architecture design and evaluation, architecture knowledge management, tooling support, global software development, and process improvement.
T3: Tactics for Global Software
Development Projects
14 May 2007, 1:00-4:30 PM
Matthew Bass, Siemens Corporate Research, Princeton,
NJ
Michael Smith, Siemens Corporate Research, Princeton, NJ
Abstract:
Developing software using teams
with geographically distributed teams presents a unique set of challenges that
influence virtually all aspects of a project. The ways in which a particular
project is influenced, however, depend on the specific characteristics of the
project itself. As a result, no single solution is suitable for all projects.
Understanding what strategies might work best on a given project is a
significant challenge. This tutorial describes an approach for determining the
global software development (GSD)-related risks, selecting appropriate tactics
for addressing these risks, and suggesting ways in which the level of risk can
be monitored during the execution of the project.
Presenters' Biographies:
Matthew Bass is currently a member of the technical staff at Siemens Corporate Research (SCR). In his role at SCR, Matt has acted as a software architect and consulted in many domains including building automation, transportation systems, industrial automation, and automotive. For the last three years, Matt has been participating in and researching projects that use geographically distributed teams. Matt holds a bachelor's degree in computer science from the University of Pittsburgh and a master's degree in software engineering from Carnegie Mellon University. He is currently pursuing his PhD from Carnegie Mellon.
Michael Smith has over 10 years of experience in the telecommunications domain as a software architect and software engineer. He is currently working as a member of the technical staff at Siemens Corporate Research and is in charge of the testing team for a large company-wide platform project that is using geographically distributed teams.
T4: Integrating
Architecture-Centric Methods into Object-Oriented Analysis and Design
14 May 2007, 1:00-4:30 PM
Raghvinder Sagwan, Pennsylvania State University, State College, PA
Abstract:
Architecture has been established
as a key to developing software systems that meet quality expectations of their
stakeholders. Object-Oriented Analysis and Design (OOAD) methodologies,
however, treat architecture only indirectly or implicitly. The quality of a
system developed using such methodologies, thus, depends largely on the skill
level and experience of its architect. It has been suggested, therefore, that
augmenting these methodologies with software architecture-centric methods such
as the SEI Quality Attribute Workshop (QAW) and SEI Attribute-Driven Design
(ADD) can provide explicit and methodical guidance to an architect in creating
systems with desirable qualities.
n this tutorial, we will first go through the exercise of applying OOAD techniques (use case analysis, domain modeling, and component-based design) for creating the architecture for a system from the building-automation domain. We then use the techniques prescribed by the architecture-centric methods (QAW and ADD) for creating the architecture for the same system. These two exercises are used to clearly demonstrate the shortcomings of OOAD. Finally, we demonstrate how OOAD can be augmented with architecture-centric methods to overcome these shortcomings.
Presenter's Biography:
Raghvinder S. Sangwan is an assistant professor of information science in the Great Valley School of Graduate Professional Studies at the Pennsylvania State University. He holds a PhD in computer and information sciences from Temple University. He teaches analysis, design, and development of software systems, their architecture, and automatic and semi-automatic approaches to assessment of their design and code quality. Prior to joining the Pennsylvania State University, he worked as a lead architect for Siemens on geographically distributed development projects, building information systems for integrated health networks. He continues to serve as a consulting technical staff member for Siemens Corporate Research in Princeton, New Jersey, investigating approaches to managing global software development projects. Dr. Sangwan's research includes requirements engineering and software architecture.


