The tutorial will present a perspective of design and provide the framework within which software design efforts can be formed. Software design forms the core of all software development. It is the follow-on to, and tightly intertwined with the requirements engineering process. Understanding its concepts and principles is essential to being able to develop large, dependable software systems.
This tutorial will examine the concepts of software design and architecture, explain its relationship with requirements engineering, discuss those design quality attributes necessary to ensure dependable behavior, and provide an overview of different design approaches.
Without going into a detailed description of each technique, it will provide some practical tradeoffs in selecting design techniques. It will differentiate between architecture and design, describe examples of good and faulty design, and present a variety of design challenges that are commonly encountered. It will provide practical guidance on how to approach a design effort, and will give insight into detecting design qualities. The tutorial will also discuss unsolved areas of design and areas where research is needed to fill in gaps in knowledge. The tutorial will describe the SWEBOK view of design and how it relates to the information being presented.
Presenter
Dr. Bail received a BS in Mathematics from Carnegie Institute of Technology, and an MS and PhD in Computer Science from the University of Maryland. Since 1990, he has worked for The MITRE Corporation in McLean VA, a not-for-profit corporation chartered to provide systems engineering services to the U.S. Government. Dr. Bail's technical areas of focus include dependable software design and assessment, error handling policies, techniques for software specification development, design methodologies, metric definition and application, and verification and validation. Since 1989 he has served as a part-time Adjunct Professor at the University of Maryland University College.
>Back