software design quality in practice - icse 2014 tutorial
DESCRIPTION
Fred Brooks in his book "The Mythical Man Month" describes how the inherent properties of software (i.e. complexity, conformity, changeability, and invisibility) make its design an "essential" difficulty. Good design practices are fundamental requisites to address this difficulty. One such good design practice is identifying and addressing smells. Most practitioners know about identifying and refactoring code smells. However, there is a lack of awareness on refactoring design smells and architecture smells, which are also equally important for creating high quality software. This tutorial introduces a comprehensive catalog, classification, and naming scheme for design smells to the participants. It discusses important structural design smells based on how they violate the four key object oriented design principles (abstraction, encapsulation, modularization, and hierarchy). Each of these smells are illustrated through design smells found in OpenJDK 7.0 (Open source Java Development Kit) code base, with detailed discussions on refactoring strategies for addressing them.TRANSCRIPT
Tutorial Description Fred Brooks in his book "The Mythical Man Month" describes how the inherent proper8es of so:ware (i.e. complexity, conformity, changeability, and invisibility) make its design an "essen8al" difficulty. Good design prac8ces are fundamental requisites to address this difficulty. One such good design prac8ce is iden8fying and addressing smells. Most prac88oners know about iden8fying and refactoring code smells. However, there is a lack of awareness on refactoring design smells and architecture smells, which are also equally important for crea8ng high quality so:ware. This tutorial introduces a comprehensive catalog, classifica8on, and naming scheme for design smells to the par8cipants. It discusses important structural design smells based on how they violate the four key object oriented design principles (abstrac8on, encapsula8on, modulariza8on, and hierarchy). Each of these smells are illustrated through design smells found in OpenJDK 7.0 (Open source Java Development Kit) code base, with detailed discussions on refactoring strategies for addressing them.
Presenters * Ganesh Samarthyam, Consultant, ZineMind, Bangalore * Dr. Girish Suryanarayana, Senior Research Scien8st, Siemens Corporately Research & Technologies, Bangalore * Tushar Sharma, Technical Expert, Siemens Corporate Research & Technologies, Bangalore
Target Audience
Practitioners working as software developers, software designers, architects, technical leads, and project/program managers.
Benefits
This tutorial condenses the knowledge required on refactoring design smells in the form of a concise catalog that can be immediately used in practice in industrial software development and maintenance projects. By attending this session, you will get a good understanding on design smells and how to refactor them in real-world projects.
Tutorial Time
09:00am to 12:30pm on June 03, 2014 (Tuesday)
Venue
Hyderabad International Convention Centre (Co-located with International Conference on Software Engineering 2014, Hyderabad, India)
Registration
http://2014.icse-conferences.org/registration (special price for Indian delegates)
ICSE ’14 Tutorial!Software Design Quality in Practice:
Refactoring for Design Smells