Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Patrick

Slides:



Advertisements
Similar presentations
Assessment Admin Internal Training. Learning Goals At the end of this workshop, you will understand how to: Locate and create assessment items Create.
Advertisements

HTML5 ETDs Edward A. Fox, Sung Hee Park, Nicholas Lynberg, Jesse Racer, Phil McElmurray Digital Library Research Laboratory Virginia Tech ETD 2010, June.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
29 Oded Moshe, Director of Product Management Beta Release May 3rd, 2010 Official Release May 24, 2010.
THE OBJECT-ORIENTED DESIGN WORKFLOW Interfaces & Subsystems.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Using Tweek to Create Graphical User Interfaces in Virtual Reality Patrick Hartling IEEE VR 2003.
DECO2005 Synchronous and Asynchronous Communication in Design Mary Lou Maher 27 August 2004.
Understanding and Managing WebSphere V5
Using the Drupal Content Management Software (CMS) as a framework for OMICS/Imaging-based collaboration.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Chapter 5 Application Software.
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
Competency #6 MTT Preparation Manual. Competency #6 The master technology teacher demonstrates knowledge of how to communicate in different formats for.
Selecting and Combining Tools F. Duveau 02/03/12 F. Duveau 02/03/12 Chapter 14.
What is Enterprise Architecture?
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
OCLC Online Computer Library Center CONTENTdm ® Digital Collection Management Software Ron Gardner, OCLC Digital Services Consultant ICOLC Meeting April.
1. 2  Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns.
Micro Focus Net Express / Server Express in GDT Update.
Introducing Dreamweaver MX 2004
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Tutorial 1: Getting Started with Adobe Dreamweaver CS4.
1 Chapter 2 & Chapter 4 §Browsers. 2 Terms §Software §Program §Application.
1 WEB Engineering Introduction to Electronic Commerce COMM1Q.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Action Plan By Saima Noor
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
MPEG-21 : Overview MUMT 611 Doug Van Nort. Introduction Rather than audiovisual content, purpose is set of standards to deliver multimedia in secure environment.
2000 Advanced OOSA State of the Art on Software Architecture Declarative Meta Programming Session 1: Introduction Nantes, EMOOSE.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
1 WEB Engineering E-Commerce Strategy & Management COM350.
Moodle (Course Management Systems). Blogs In this Lecture, we’ll cover how to use blogs, blog capablilities and efficive blog practices.
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Google Apps for Education Collaboration has never been so easy!
Information Systems Overview (COIS 20024) Lecture: Week 3 Computer Software (Information Systems Resources)
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
© Paradigm Publishing Inc. 5-1 Chapter 5 Application Software.
Modeling Web Based Applications with UML Terry Quatrani Rose Evangelist Terry Quatrani Rose Evangelist.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Introduction & Overview Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE
1 Chapter 2 Database Environment Pearson Education © 2009.
4 June 1998, Mulhouse, France > ‘98 International Workshop Tom Mens Carine Lucas & Patrick Steyaert Programming Technology.
How Web Servers and The Internet Work The Basic Process.
Modelling Management Components for Reuse using UML David Lewis (FlowThru Technical Co-ordinator) Chris Malbon Alina DaCruz University College London.
Sitecore. Compelling Web Experiences Page 1www.sitecore.net Patrick Schweizer Director of Sales Enablement 2013.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Exploring ProFile cont’d.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
OneNote.
Google Forms.
Using E-Business Suite Attachments
Systems Analysis and Design With UML 2
Using the Drupal Content Management Software (CMS) as a framework for OMICS/Imaging-based collaboration.
Module 4: Strategy Formulation: Customer Interface
Chapter 2 Database Environment.
Chapter 1 Overview of Electronic Commerce
Software Design Lecture : 14.
Unit 2: Fundamentals of Computer Systems
SharePoint Foundation 2010
SharePoint Foundation 2010
Presentation transcript:

Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Patrick

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Context Large software system for broadcast management More than 2000 classes Object-oriented framework Customizations for several customers Continuous evolution Smalltalk, Envy/Developer > 10 developers

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Statement Software classification provides two crucial ingredients in managing software evolution: –Ability to trace past activities –Ability to capture emergent patterns

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Software Classification Model Classification –Container for items –Has a structure that expresses the relationships among the items –Some classifications are restricted to one kind of item; other classifications have no restrictions Item –An entity that is tangible in the SDE –Can reside in multiple classifications

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Model: Classifications Virtual classification –All classes –Smalltalk category –Envy application –All Envy applications –All Envy application editions –Envy configuration map –Protocol –… (extensible) Computed classification –Senders/implementers –Tag classification –SOUL classification –Smalllint classification –Rewrite Tool classification –… (extensible) Collaboration contract User-defined classification

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Model: Items Class Envy class extension Envy shadow class Class view (or participant) Method Classification (wrapped as an item) … (extensible)

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Classification Browser

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Items in Classification Browser Class extension Method All application editions Application edition All loaded applications Protocol Senders User-defined classification Configuration maps

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Classification Strategies Manual classification Virtual classification Classification with advanced navigation tools Classification through software tagging

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Method Tagging All methods are tagged with information about the development task that is being performed The tagging information is provided once per development task Tags are processed later –For change management –For statistical purposes

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Method Tagging Dialog Developer Site (customer) Development task Development task specifics Module Framework Free text field Time stamp

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Video: Method Tagging

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Tag Classifications in Browser

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Video: Tag Classifications in Browser

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Applications of Software Classification Multiple views on software User-defined software organization Discovery of object collaborations Discovery of components Management of changes

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Discovery of Object Collaborations 1.Browsing restricted to a classification 2.Browsing senders and implementers 3.Browsing acquaintances 4.Classification of classes as participants, methods, acquaintances, acquaintance classes 5.Conversion of classification to collaboration contract Class AClass B AB Participant AParticipant B mpmp x a b Participant AParticipant B mpmp x Participant AParticipant B mpmp x a b m [x] x [p]

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Results of Discovery Classification Browser acts as collaboration contract browser Translation to UML

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Discovery of Components

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Management of Changes

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Classifications in a Spreadsheet

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Conclusion Software classification provides the two crucial ingredients in managing software evolution: –Ability to trace past activities –Ability to capture emergent patterns How? –Classification model –Classification strategies, in particular classification through software tagging –Classification Browser

ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence More Information Send mail to Consult the Software Classification Pages – Read my Ph.D. thesis –“A Novel Approach to Architectural Recovery in Evolving Object-Oriented Systems”, VUB 1998 –See the download section of the Software Classification Pages