Object-oriented reengineering patterns /

Saved in:
Bibliographic Details
Author / Creator:Demeyer, Serge.
Imprint:San Francisco : Morgan Kaufman Publishers, ©2003.
Description:1 online resource (xxi, 282 pages) : illustrations
Language:English
Series:The Morgan Kaufmann Series in Software Engineering and Programming
Morgan Kaufmann Series in Software Engineering and Programming.
Subject:
Format: E-Resource Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/11154173
Hidden Bibliographic Details
Other authors / contributors:Ducasse, Stéphane.
Nierstrasz, Oscar Marius, 1957-
ISBN:9781558606395
1558606394
9780080512990
0080512992
1281071757
9781281071750
9786611071752
661107175X
Notes:Includes bibliographical references and index.
Restrictions unspecified
Electronic reproduction. [Place of publication not identified] : HathiTrust Digital Library, 2010.
Master and use copy. Digital master created according to Benchmark for Faithful Digital Reproductions of Monographs and Serials, Version 1. Digital Library Federation, December 2002. http://purl.oclc.org/DLF/benchrepro0212
English.
digitized 2010 HathiTrust Digital Library committed to preserve
Print version record.
Summary:The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point. Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and needs to be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that it can continue to be used and adapted at acceptable cost? Based on the authors' industrial experiences, this book is a guide on how to reverse engineer legacy systems to understand their problems, and then reengineer those systems to meet new demands. Patterns are used to clarify and explain the process of understanding large code bases, hence transforming them to meet new requirements. The key insight is that the right design and organization of your system is not something that can be evident from the initial requirements alone, but rather as a consequence of understanding how these requirements evolve. * Describes how to reverse engineer a monolithic system to understand how it really works and how to identify potential problems. * Includes reengineering patterns that tackle well-known reengineering techniques often encountered in object-oriented programming, such as introducing polymorphism, factoring out common behavior, detecting duplicated code, and understanding design. * Shows how to build a culture of continuous reengineering for achieving flexible and maintainable object-oriented systems.
Other form:Print version: Demeyer, Serge. Object-oriented reengineering patterns. San Francisco : Morgan Kaufman Publishers, ©2003 1558606394 9781558606395

MARC

LEADER 00000cam a2200000 a 4500
001 11154173
006 m o d
007 cr cn|||||||||
008 070806s2003 caua ob 001 0 eng d
005 20240923134211.2
019 |a 55235198  |a 62863153  |a 182732124  |a 182760654  |a 505073076  |a 606753505  |a 645360926  |a 646761295  |a 765142396  |a 824876100  |a 974191933  |a 974437093  |a 1035649903  |a 1044359025  |a 1086407941  |a 1113017657  |a 1113449871  |a 1119020366  |a 1125792755  |a 1136414209  |a 1144293664  |a 1156382564  |a 1158257500  |a 1159617341  |a 1159686230  |a 1178723709  |a 1187184954  |a 1194805988  |a 1300540734 
020 |a 9781558606395 
020 |a 1558606394 
020 |a 9780080512990  |q (electronic bk.) 
020 |a 0080512992  |q (electronic bk.) 
020 |a 1281071757 
020 |a 9781281071750 
020 |a 9786611071752 
020 |a 661107175X 
035 9 |a (OCLCCM-CC)162595743 
035 |a (OCoLC)162595743  |z (OCoLC)55235198  |z (OCoLC)62863153  |z (OCoLC)182732124  |z (OCoLC)182760654  |z (OCoLC)505073076  |z (OCoLC)606753505  |z (OCoLC)645360926  |z (OCoLC)646761295  |z (OCoLC)765142396  |z (OCoLC)824876100  |z (OCoLC)974191933  |z (OCoLC)974437093  |z (OCoLC)1035649903  |z (OCoLC)1044359025  |z (OCoLC)1086407941  |z (OCoLC)1113017657  |z (OCoLC)1113449871  |z (OCoLC)1119020366  |z (OCoLC)1125792755  |z (OCoLC)1136414209  |z (OCoLC)1144293664  |z (OCoLC)1156382564  |z (OCoLC)1158257500  |z (OCoLC)1159617341  |z (OCoLC)1159686230  |z (OCoLC)1178723709  |z (OCoLC)1187184954  |z (OCoLC)1194805988  |z (OCoLC)1300540734 
037 |a 97125:97125  |b Elsevier Science & Technology  |n http://www.sciencedirect.com 
040 |a OPELS  |b eng  |e pn  |c OPELS  |d OKU  |d OCLCQ  |d NTG  |d WPG  |d COO  |d N$T  |d YDXCP  |d UBY  |d OCLCE  |d IDEBK  |d E7B  |d B24X7  |d UMI  |d DEBSZ  |d OCLCQ  |d OCLCF  |d OCLCQ  |d OCLCO  |d CNCGM  |d AGLDB  |d OCLCQ  |d STF  |d D6H  |d VTS  |d OCLCQ  |d CEF  |d REC  |d OCLCQ  |d LEAUB  |d UKBTH  |d K6U  |d VT2  |d LUN  |d EYM  |d OCLCQ  |d MHW  |d OCLCO  |d COM  |d OCLCO  |d OCLCQ 
042 |a dlr 
049 |a MAIN 
050 4 |a QA76.64  |b .D458 2003eb 
072 7 |a COM  |x 051390  |2 bisacsh 
072 7 |a COM  |x 051440  |2 bisacsh 
072 7 |a COM  |x 051230  |2 bisacsh 
084 |a 54.52  |2 bcl 
084 |a ST 231  |2 rvk 
100 1 |a Demeyer, Serge.  |0 http://id.loc.gov/authorities/names/n98109416 
245 1 0 |a Object-oriented reengineering patterns /  |c Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz. 
260 |a San Francisco :  |b Morgan Kaufman Publishers,  |c ©2003. 
300 |a 1 online resource (xxi, 282 pages) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
490 1 |a The Morgan Kaufmann Series in Software Engineering and Programming 
504 |a Includes bibliographical references and index. 
505 0 |a Reengineering patterns -- Setting direction -- First contact -- Initial understanding -- Detailed model capture -- Tests : your life insurance! -- Migration strategies -- Detecting duplicated code -- Redistribute responsibilities -- Transform conditionals to polymorphism. 
520 |a The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point. Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and needs to be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that it can continue to be used and adapted at acceptable cost? Based on the authors' industrial experiences, this book is a guide on how to reverse engineer legacy systems to understand their problems, and then reengineer those systems to meet new demands. Patterns are used to clarify and explain the process of understanding large code bases, hence transforming them to meet new requirements. The key insight is that the right design and organization of your system is not something that can be evident from the initial requirements alone, but rather as a consequence of understanding how these requirements evolve. * Describes how to reverse engineer a monolithic system to understand how it really works and how to identify potential problems. * Includes reengineering patterns that tackle well-known reengineering techniques often encountered in object-oriented programming, such as introducing polymorphism, factoring out common behavior, detecting duplicated code, and understanding design. * Shows how to build a culture of continuous reengineering for achieving flexible and maintainable object-oriented systems. 
588 0 |a Print version record. 
506 |3 Use copy  |f Restrictions unspecified  |2 star  |5 MiAaHDL 
533 |a Electronic reproduction.  |b [Place of publication not identified] :  |c HathiTrust Digital Library,  |d 2010.  |5 MiAaHDL 
538 |a Master and use copy. Digital master created according to Benchmark for Faithful Digital Reproductions of Monographs and Serials, Version 1. Digital Library Federation, December 2002.  |u http://purl.oclc.org/DLF/benchrepro0212  |5 MiAaHDL 
583 1 |a digitized  |c 2010  |h HathiTrust Digital Library  |l committed to preserve  |2 pda  |5 MiAaHDL 
546 |a English. 
650 0 |a Object-oriented programming (Computer science)  |0 http://id.loc.gov/authorities/subjects/sh87007503 
650 0 |a Software reengineering.  |0 http://id.loc.gov/authorities/subjects/sh97006134 
650 0 |a Software patterns.  |0 http://id.loc.gov/authorities/subjects/sh98003823 
650 6 |a Programmation orientée objet (Informatique) 
650 6 |a Logiciels  |x Remaniement. 
650 6 |a Logiciels  |x Modèles de conception. 
650 7 |a COMPUTERS  |x Programming  |x Open Source.  |2 bisacsh 
650 7 |a COMPUTERS  |x Software Development & Engineering  |x Tools.  |2 bisacsh 
650 7 |a COMPUTERS  |x Software Development & Engineering  |x General.  |2 bisacsh 
650 7 |a Object-oriented programming (Computer science)  |2 fast  |0 (OCoLC)fst01042804 
650 7 |a Software patterns.  |2 fast  |0 (OCoLC)fst01124209 
650 7 |a Software reengineering.  |2 fast  |0 (OCoLC)fst01124215 
650 7 |a Objektorientierte Programmierung  |2 gnd  |0 http://d-nb.info/gnd/4233947-9 
650 7 |a Reengineering  |2 gnd  |0 http://d-nb.info/gnd/4404560-8 
650 7 |a Software  |2 gnd  |0 http://d-nb.info/gnd/4055382-6 
650 1 7 |a Programmatuurtechniek.  |2 gtt 
650 1 7 |a Broncode.  |2 gtt 
650 1 7 |a Hergebruik.  |2 gtt 
650 1 7 |a Object-georiënteerd programmeren.  |2 gtt 
650 7 |a Técnicas de programação.  |2 larpcal 
650 7 |a Programação orientada a objetos.  |2 larpcal 
650 7 |a Padrões de software (projeto)  |2 larpcal 
655 4 |a Electronic books. 
700 1 |a Ducasse, Stéphane.  |0 http://id.loc.gov/authorities/names/no2002063523 
700 1 |a Nierstrasz, Oscar Marius,  |d 1957-  |0 http://id.loc.gov/authorities/names/n88631548 
776 0 8 |i Print version:  |a Demeyer, Serge.  |t Object-oriented reengineering patterns.  |d San Francisco : Morgan Kaufman Publishers, ©2003  |z 1558606394  |z 9781558606395  |w (DLC) 2002104269  |w (OCoLC)50189376 
830 0 |a Morgan Kaufmann Series in Software Engineering and Programming. 
856 4 0 |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=e000xna&AN=211564  |y eBooks on EBSCOhost 
903 |a HeVa 
929 |a oclccm 
999 f f |i aaa503cf-bea8-53bd-ae43-9b1e40796de7  |s 89853b4b-e668-5e4c-983a-fb0b734ff8de 
928 |t Library of Congress classification  |a QA76.64.D458 2003eb  |l Online  |c UC-FullText  |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=e000xna&AN=211564  |z eBooks on EBSCOhost  |g ebooks  |i 12241658