<?xml version="1.0" encoding="UTF-8"?>
<collection xmlns="http://www.loc.gov/MARC21/slim">
 <record>
  <leader>03587nam a2200373 a 4500</leader>
  <controlfield tag="001">1/45112</controlfield>
  <controlfield tag="008">140728s2003    us            001 0 eng  </controlfield>
  <datafield tag="020" ind1=" " ind2=" ">
   <subfield code="a">9781558606395</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
   <subfield code="a">1558606394</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
   <subfield code="a">9780080512990 (electronic bk.)</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
   <subfield code="a">0080512992 (electronic bk.)</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
   <subfield code="l">48070</subfield>
  </datafield>
  <datafield tag="040" ind1=" " ind2=" ">
   <subfield code="a">OPELS</subfield>
   <subfield code="b">eng</subfield>
   <subfield code="c">OPELS</subfield>
   <subfield code="d">OKU</subfield>
   <subfield code="d">OCLCQ</subfield>
   <subfield code="d">NTG</subfield>
   <subfield code="d">WPG</subfield>
   <subfield code="d">COO</subfield>
   <subfield code="d">N$T</subfield>
   <subfield code="d">YDXCP</subfield>
   <subfield code="d">UBY</subfield>
   <subfield code="d">OCLCE</subfield>
   <subfield code="d">IDEBK</subfield>
   <subfield code="d">E7B</subfield>
   <subfield code="d">B24X7</subfield>
   <subfield code="d">UMI</subfield>
   <subfield code="d">DEBSZ</subfield>
   <subfield code="d">GR-PeUP</subfield>
  </datafield>
  <datafield tag="100" ind1="1" ind2=" ">
   <subfield code="a">Demeyer, Serge.</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
   <subfield code="a">Object-oriented reengineering patterns</subfield>
   <subfield code="h">[electronic resource] /</subfield>
   <subfield code="c">Serge Demeyer, Stephane Ducasse, Oscar Nierstrasz.</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
   <subfield code="a">San Francisco :</subfield>
   <subfield code="b">Morgan Kaufman Publishers,</subfield>
   <subfield code="c">c2003.</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
   <subfield code="a">1 online resource (xxi, 282 p.) :</subfield>
   <subfield code="b">ill.</subfield>
  </datafield>
  <datafield tag="504" ind1=" " ind2=" ">
   <subfield code="a">Includes bibliographical references and index.</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
   <subfield code="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.</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
   <subfield code="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.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="4">
   <subfield code="a">Object-oriented programming (Computer Science).</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="4">
   <subfield code="a">Software reengineering.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="4">
   <subfield code="a">Software patterns.</subfield>
  </datafield>
  <datafield tag="650" ind1="0" ind2="4">
   <subfield code="a">Reengineering.</subfield>
  </datafield>
  <datafield tag="650" ind1="0" ind2="4">
   <subfield code="a">Software.</subfield>
  </datafield>
  <datafield tag="655" ind1=" " ind2="4">
   <subfield code="a">Electronic books.</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">Ducasse, Stephane.</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
   <subfield code="a">Nierstrasz, Oscar Marius,</subfield>
   <subfield code="d">1957-</subfield>
  </datafield>
  <datafield tag="852" ind1=" " ind2=" ">
   <subfield code="a">INST</subfield>
   <subfield code="b">UNIPILB</subfield>
   <subfield code="c">EBOOKS</subfield>
   <subfield code="e">20140728</subfield>
   <subfield code="p">00b48070</subfield>
   <subfield code="q">00b48070</subfield>
   <subfield code="t">ONLINE</subfield>
   <subfield code="y">0</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2="0">
   <subfield code="3">ScienceDirect</subfield>
   <subfield code="u">http://www.sciencedirect.com/science/book/9781558606395</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
   <subfield code="d">/webopac/covers/03/48070_9781558606395.jpg</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
   <subfield code="d">/webopac/covers/03/48070_1558606394.jpg</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
   <subfield code="d">/webopac/covers/03/48070_9780080512990.jpg</subfield>
   <subfield code="z">(electronic bk.)</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
   <subfield code="d">/webopac/covers/03/48070_0080512992.jpg</subfield>
   <subfield code="z">(electronic bk.)</subfield>
  </datafield>
 </record>
</collection>
