Download presentation
Presentation is loading. Please wait.
Published byBlake Blake Modified over 9 years ago
1
Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Koen.DeHondt@mediagenix.com Patrick Steyaert@mediagenix.com www.mediagenix.com
2
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
3
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
4
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
5
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
6
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)
7
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Classification Browser
8
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
9
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
10
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
11
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
12
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Video: Method Tagging
13
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Tag Classifications in Browser
14
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Video: Tag Classifications in Browser
15
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
16
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] 1 2 3 4
17
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Results of Discovery Classification Browser acts as collaboration contract browser Translation to UML
18
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Discovery of Components
19
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Management of Changes
20
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Classifications in a Spreadsheet
21
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
22
ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence More Information Send mail to –Software.Classification@advalvas.be Consult the Software Classification Pages –http://www.classification.yucom.be/ 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.