software design quality in practice - icse 2014 tutorial

1
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

Upload: ganesh-sg

Post on 26-Dec-2014

169 views

Category:

Software


0 download

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

Page 1: Software design quality in practice - ICSE 2014 Tutorial

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