Unraveling Software Maintenance and Evolution Thinking Outside the Box /

Software maintenance work is often considered a dauntingly rigid activity – this book proves the opposite: it demands high levels of creativity and thinking outside the box. Highlighting the creative aspects of software maintenance and combining analytical and systems thinking in a holistic manner,...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Varga, Ervin (Συγγραφέας)
Συγγραφή απο Οργανισμό/Αρχή: SpringerLink (Online service)
Μορφή: Ηλεκτρονική πηγή Ηλ. βιβλίο
Γλώσσα:English
Έκδοση: Cham : Springer International Publishing : Imprint: Springer, 2017.
Θέματα:
Διαθέσιμο Online:Full Text via HEAL-Link
LEADER 04011nam a22004575i 4500
001 978-3-319-71303-8
003 DE-He213
005 20180130125003.0
007 cr nn 008mamaa
008 180130s2017 gw | s |||| 0|eng d
020 |a 9783319713038  |9 978-3-319-71303-8 
024 7 |a 10.1007/978-3-319-71303-8  |2 doi 
040 |d GrThAP 
050 4 |a QA76.758 
072 7 |a UMZ  |2 bicssc 
072 7 |a COM051230  |2 bisacsh 
082 0 4 |a 005.1  |2 23 
100 1 |a Varga, Ervin.  |e author. 
245 1 0 |a Unraveling Software Maintenance and Evolution  |h [electronic resource] :  |b Thinking Outside the Box /  |c by Ervin Varga. 
264 1 |a Cham :  |b Springer International Publishing :  |b Imprint: Springer,  |c 2017. 
300 |a XV, 336 p. 54 illus. in color.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a 1 Introduction -- 2 Context, Rules and Principles -- 3 Maintainability and Development -- 4 Architecture and Evolution -- 5 Ad-hoc Development -- 6 Disciplined Development -- 7 Re-Engineering and Reverse Engineering -- 8 Multi-faceted Loose Coupling -- 9 Monitoring and Logging -- 10 Scale of Deployment. 
520 |a Software maintenance work is often considered a dauntingly rigid activity – this book proves the opposite: it demands high levels of creativity and thinking outside the box. Highlighting the creative aspects of software maintenance and combining analytical and systems thinking in a holistic manner, the book motivates readers not to blithely follow the beaten tracks of “technical rationality”. It delivers the content in a pragmatic fashion using case studies which are woven into long running story lines. The book is organized in four parts, which can be read in any order, except for the first chapter, which introduces software maintenance and evolution and presents a number of case studies of software failures. The “Introduction to Key Concepts” briefly introduces the major elements of software maintenance by highlighting various core concepts that are vital in order to see the forest for the trees. Each such concept is illustrated with a worked example. Next, the “Forward Engineering” part debunks the myth that being fast and successful during initial development is all that matters. To this end, two categories of forward engineering are considered: an inept initial project with a multitude of hard evolutionary phases and an effective initial project with multiple straightforward future increments. “Reengineering and Reverse Engineering” shows the difficulties of dealing with a typical legacy system, and tackles tasks such as retrofitting tests, documenting a system, restructuring a system to make it amenable for further improvements, etc. Lastly, the “DevOps” section focuses on the importance and benefits of crossing the development versus operation chasm and demonstrates how the DevOps paradigm can turn a loosely coupled design into a loosely deployable solution. The book is a valuable resource for readers familiar with the Java programming language, and with a basic understanding and/or experience of software construction and testing. Packed with examples for every elaborated concept, it offers complementary material for existing courses and is useful for students and professionals alike. 
650 0 |a Computer science. 
650 0 |a Management information systems. 
650 0 |a Software engineering. 
650 1 4 |a Computer Science. 
650 2 4 |a Software Engineering. 
650 2 4 |a Software Management. 
650 2 4 |a Management of Computing and Information Systems. 
650 2 4 |a Professional Computing. 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9783319713021 
856 4 0 |u http://dx.doi.org/10.1007/978-3-319-71303-8  |z Full Text via HEAL-Link 
912 |a ZDB-2-SCS 
950 |a Computer Science (Springer-11645)