Brief
Bio of Dr. Mark M. Davydov
Mark M. Davydov is a recognized expert and consultant on the
subjects of software architecture, and software evolution and
reuse. He received the Diploma of Electrical Engineer from the
State Academy of Chemical Engineering in Moscow, Russia,
followed by a Ph.D. in Applied Informatics (1978).
Dr. Davydov has planned and implemented
enterprise-wide architecture initiatives for over 30 Fortune 500
companies. Currently, he is a vice president and senior solution
delivery architect at Bank of America, where he is responsible
for domain architecture definitions, software architecture life
cycle processes, and software reuse.
Dr. Davydov is the author of over 100 highly
acclaimed articles in computer-related publications. His 2001
book "Corporate Portals and e-Business Integration - A Manager's
Guide", McGraw-Hill Professional Publishing, introduced many
ideas that influenced the progression of Service-Oriented
Architecture and the Web services model. He has taught
instructor-led courses on component-based software engineering
and generative programming in industry (e.g., at Royal Bank of
Canada, Mastercard, and Southwestern Bell). He has also
presented papers and invited talks at many international
conferences, including tutorials on software architecture and
service-oriented computing (e.g., SD2000 East, ICSOC04,
FinanceCom05, ECIS 2005, etc.).
Abstract:
In the past decade, consistent software design and software
reuse with their proclaimed benefits have become the most
illusive themes in IT. Many organizations in government, public
and private sectors have been overwhelmed with extensive
software process improvement and architecture-based programs
focused on fostering consistency and software reuse. Although
some of these programs were very successful, the majority have
failed – failed to ensure a broad-based applicability, failed to
produce sustainable results, and, most importantly, failed to
guarantee noteworthy productivity improvements in software
engineering – reductions in cost and time-to-market for large
complex software development projects.
This tutorial presents a perspective of
fundamental software architecture concepts – Architectural
Styles and Architectural Patterns – as they have evolved over
the last 15 years or so and a discussion of how those concepts
relate to some key reuse problems. Furthermore, the tutorial
will present personal experience and suggestive evidence to
define some of the boundaries of a successful pattern-oriented
enterprise architecture framework that enables design
consistency, and, that, in turn, enables guaranteed levels of
software reuse. Fundamentally, in the tutorial, the argument
will be made that the first order term in the success equation
of reuse is the establishment of domain-specific architectural
context, expressed using architectural styles and related
architectural patterns, and the second order term is the
formulation of specific architecturally significant requirements
as specifications for expressing that context. The result is a
guide to the pattern-oriented architecture methodologies that
appear to work best for large complex Web-based systems.
Tutorial Length, Target Audience and
Prerequisites
The half-day tutorial is targeted at
researchers and software practitioners that are familiar with
principles and fundamentals of architecture-centered software
engineering and pattern-oriented software architecture, and are
interested in learning about challenges and opportunities for
those concepts within the context of large complex commercial
software development. Prior knowledge of software process
improvement methodologies (e.g., SEI’s CMM/CMMI), and
enterprise/software architecture frameworks (e.g., TOGAF,
Zachman, Rational 4+1, etc.) is beneficial, but not required.
Tutorial Objectives
At the end of the tutorial participants will:
• Be familiar with the history of evolution of the
concepts of architectural styles and architectural patterns.
• Have knowledge of techniques for generating pattern-driven architecture
models with built-in characteristics of agility.
• Be aware of some of the most critical problems that can be encountered
when using and interpreting the cited models.
• Have knowledge of development processes that support the use of
architectural styles and architectural patterns for deriving
architecturally significant requirements.
Tutorial Topics
The tutorial will be structured as follows:
• Architecture-centered Software Development Processes
in the Context of Large-scale Complex Web-based Systems –
Challenges
and Opportunities.
• Architectural Styles and Architectural Patterns – A Definition View
• Architecture Modeling and Description
• Domain-Specific Software Architecture
• Architecturally Significant Requirements and Their Architectural
Refinement
• Architecture Continuum – Top-Down vs. Bottom-up
• Hybrid Approaches
• Pattern-based Architecture Generation and Analysis Process |