Author: Sebastian Nanz
Publisher: Springer Science & Business Media
ISBN: 3642151876
Category : Computers
Languages : en
Pages : 191
Book Description
This book focuses on defining the achievements of software engineering in the past decades and showcasing visions for the future. It features a collection of articles by some of the most prominent researchers and technologists who have shaped the field: Barry Boehm, Manfred Broy, Patrick Cousot, Erich Gamma, Yuri Gurevich, Tony Hoare, Michael A. Jackson, Rustan Leino, David L. Parnas, Dieter Rombach, Joseph Sifakis, Niklaus Wirth, Pamela Zave, and Andreas Zeller. The contributed articles reflect the authors‘ individual views on what constitutes the most important issues facing software development. Both research- and technology-oriented contributions are included. The book provides at the same time a record of a symposium held at ETH Zurich on the occasion of Bertrand Meyer‘s 60th birthday.
The Future of Software Engineering
Author: Sebastian Nanz
Publisher: Springer Science & Business Media
ISBN: 3642151876
Category : Computers
Languages : en
Pages : 191
Book Description
This book focuses on defining the achievements of software engineering in the past decades and showcasing visions for the future. It features a collection of articles by some of the most prominent researchers and technologists who have shaped the field: Barry Boehm, Manfred Broy, Patrick Cousot, Erich Gamma, Yuri Gurevich, Tony Hoare, Michael A. Jackson, Rustan Leino, David L. Parnas, Dieter Rombach, Joseph Sifakis, Niklaus Wirth, Pamela Zave, and Andreas Zeller. The contributed articles reflect the authors‘ individual views on what constitutes the most important issues facing software development. Both research- and technology-oriented contributions are included. The book provides at the same time a record of a symposium held at ETH Zurich on the occasion of Bertrand Meyer‘s 60th birthday.
Publisher: Springer Science & Business Media
ISBN: 3642151876
Category : Computers
Languages : en
Pages : 191
Book Description
This book focuses on defining the achievements of software engineering in the past decades and showcasing visions for the future. It features a collection of articles by some of the most prominent researchers and technologists who have shaped the field: Barry Boehm, Manfred Broy, Patrick Cousot, Erich Gamma, Yuri Gurevich, Tony Hoare, Michael A. Jackson, Rustan Leino, David L. Parnas, Dieter Rombach, Joseph Sifakis, Niklaus Wirth, Pamela Zave, and Andreas Zeller. The contributed articles reflect the authors‘ individual views on what constitutes the most important issues facing software development. Both research- and technology-oriented contributions are included. The book provides at the same time a record of a symposium held at ETH Zurich on the occasion of Bertrand Meyer‘s 60th birthday.
Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Modern Software Engineering
Author: David Farley
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Perspectives on the Future of Software Engineering
Author: Jürgen Münch
Publisher: Springer Science & Business Media
ISBN: 364237395X
Category : Computers
Languages : en
Pages : 370
Book Description
The dependence on quality software in all areas of life is what makes software engineering a key discipline for today’s society. Thus, over the last few decades it has been increasingly recognized that it is particularly important to demonstrate the value of software engineering methods in real-world environments, a task which is the focus of empirical software engineering. One of the leading protagonists of this discipline worldwide is Prof. Dr. Dr. h.c. Dieter Rombach, who dedicated his entire career to empirical software engineering. For his many important contributions to the field he has received numerous awards and recognitions, including the U.S. National Science Foundation’s Presidential Young Investigator Award and the Cross of the Order of Merit of the Federal Republic of Germany. He is a Fellow of both the ACM and the IEEE Computer Society. This book, published in honor of his 60th birthday, is dedicated to Dieter Rombach and his contributions to software engineering in general, as well as to empirical software engineering in particular. This book presents invited contributions from a number of the most internationally renowned software engineering researchers like Victor Basili, Barry Boehm, Manfred Broy, Carlo Ghezzi, Michael Jackson, Leon Osterweil, and, of course, by Dieter Rombach himself. Several key experts from the Fraunhofer IESE, the institute founded and led by Dieter Rombach, also contributed to the book. The contributions summarize some of the most important trends in software engineering today and outline a vision for the future of the field. The book is structured into three main parts. The first part focuses on the classical foundations of software engineering, such as notations, architecture, and processes, while the second addresses empirical software engineering in particular as the core field of Dieter Rombach’s contributions. Finally, the third part discusses a broad vision for the future of software engineering.
Publisher: Springer Science & Business Media
ISBN: 364237395X
Category : Computers
Languages : en
Pages : 370
Book Description
The dependence on quality software in all areas of life is what makes software engineering a key discipline for today’s society. Thus, over the last few decades it has been increasingly recognized that it is particularly important to demonstrate the value of software engineering methods in real-world environments, a task which is the focus of empirical software engineering. One of the leading protagonists of this discipline worldwide is Prof. Dr. Dr. h.c. Dieter Rombach, who dedicated his entire career to empirical software engineering. For his many important contributions to the field he has received numerous awards and recognitions, including the U.S. National Science Foundation’s Presidential Young Investigator Award and the Cross of the Order of Merit of the Federal Republic of Germany. He is a Fellow of both the ACM and the IEEE Computer Society. This book, published in honor of his 60th birthday, is dedicated to Dieter Rombach and his contributions to software engineering in general, as well as to empirical software engineering in particular. This book presents invited contributions from a number of the most internationally renowned software engineering researchers like Victor Basili, Barry Boehm, Manfred Broy, Carlo Ghezzi, Michael Jackson, Leon Osterweil, and, of course, by Dieter Rombach himself. Several key experts from the Fraunhofer IESE, the institute founded and led by Dieter Rombach, also contributed to the book. The contributions summarize some of the most important trends in software engineering today and outline a vision for the future of the field. The book is structured into three main parts. The first part focuses on the classical foundations of software engineering, such as notations, architecture, and processes, while the second addresses empirical software engineering in particular as the core field of Dieter Rombach’s contributions. Finally, the third part discusses a broad vision for the future of software engineering.
Speed, Data, and Ecosystems
Author: Jan Bosch
Publisher: CRC Press
ISBN: 1351982729
Category : Computers
Languages : en
Pages : 369
Book Description
As software R&D investment increases, the benefits from short feedback cycles using technologies such as continuous deployment, experimentation-based development, and multidisciplinary teams require a fundamentally different strategy and process. This book will cover the three overall challenges that companies are grappling with: speed, data and ecosystems. Speed deals with shortening the cycle time in R&D. Data deals with increasing the use of and benefit from the massive amounts of data that companies collect. Ecosystems address the transition of companies from being internally focused to being ecosystem oriented by analyzing what the company is uniquely good at and where it adds value.
Publisher: CRC Press
ISBN: 1351982729
Category : Computers
Languages : en
Pages : 369
Book Description
As software R&D investment increases, the benefits from short feedback cycles using technologies such as continuous deployment, experimentation-based development, and multidisciplinary teams require a fundamentally different strategy and process. This book will cover the three overall challenges that companies are grappling with: speed, data and ecosystems. Speed deals with shortening the cycle time in R&D. Data deals with increasing the use of and benefit from the massive amounts of data that companies collect. Ecosystems address the transition of companies from being internally focused to being ecosystem oriented by analyzing what the company is uniquely good at and where it adds value.
How to Engineer Software
Author: Steve Tockey
Publisher: John Wiley & Sons
ISBN: 1119546672
Category : Computers
Languages : en
Pages : 1188
Book Description
A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem How to Engineer Software is a practical, how-to guide that explores the concepts and techniques of model-based software engineering using the Unified Modeling Language. The author—a noted expert on the topic—demonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics. Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that specifically and intentionally adds value for development and maintenance. This important book: Contains many illustrative examples of model-based software engineering, from semantic model all the way to executable code Explains how to derive verification (acceptance) test cases from a semantic model Describes project estimation, along with alternative software development and maintenance processes Shows how to develop and maintain cost-effective software that solves real-world problems Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.
Publisher: John Wiley & Sons
ISBN: 1119546672
Category : Computers
Languages : en
Pages : 1188
Book Description
A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem How to Engineer Software is a practical, how-to guide that explores the concepts and techniques of model-based software engineering using the Unified Modeling Language. The author—a noted expert on the topic—demonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics. Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that specifically and intentionally adds value for development and maintenance. This important book: Contains many illustrative examples of model-based software engineering, from semantic model all the way to executable code Explains how to derive verification (acceptance) test cases from a semantic model Describes project estimation, along with alternative software development and maintenance processes Shows how to develop and maintain cost-effective software that solves real-world problems Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.
The Technical and Social History of Software Engineering
Author: Capers Jones
Publisher: Addison-Wesley
ISBN: 0133365891
Category : Computers
Languages : en
Pages : 488
Book Description
“Capers Jones has accumulated the most comprehensive data on every aspect of software engineering, and has performed the most scientific analysis on this data. Now, Capers performs yet another invaluable service to our industry, by documenting, for the first time, its long and fascinating history. Capers’ new book is a must-read for every software engineering student and information technology professional.” — From the Foreword by Tony Salvaggio, CEO and president, Computer Aid, Inc. Software engineering is one of the world’s most exciting and important fields. Now, pioneering practitioner Capers Jones has written the definitive history of this world-changing industry. Drawing on several decades as a leading researcher and innovator, he illuminates the field’s broad sweep of progress and its many eras of invention. He assesses the immense impact of software engineering on society, and previews its even more remarkable future. Decade by decade, Jones examines trends, companies, winners, losers, new technologies, productivity/quality issues, methods, tools, languages, risks, and more. He reviews key inventions, estimates industry growth, and addresses “mysteries” such as why programming languages gain and lose popularity. Inspired by Paul Starr’s Pulitzer Prize–winning The Social Transformation of American Medicine, Jones’ new book is a tour de force—and compelling reading for everyone who wants to understand how software became what it is today. COVERAGE INCLUDES • The human need to compute: from ancient times to the modern era • Foundations of computing: Alan Turing, Konrad Zuse, and World War II • Big business, big defense, big systems: IBM, mainframes, and COBOL • A concise history of minicomputers and microcomputers: the birth of Apple and Microsoft • The PC era: DOS, Windows, and the rise of commercial software • Innovations in writing and managing code: structured development, objects, agile, and more • The birth and explosion of the Internet and the World Wide Web • The growing challenges of legacy system maintenance and support • Emerging innovations, from wearables to intelligent agents to quantum computing • Cybercrime, cyberwarfare, and large-scale software failure
Publisher: Addison-Wesley
ISBN: 0133365891
Category : Computers
Languages : en
Pages : 488
Book Description
“Capers Jones has accumulated the most comprehensive data on every aspect of software engineering, and has performed the most scientific analysis on this data. Now, Capers performs yet another invaluable service to our industry, by documenting, for the first time, its long and fascinating history. Capers’ new book is a must-read for every software engineering student and information technology professional.” — From the Foreword by Tony Salvaggio, CEO and president, Computer Aid, Inc. Software engineering is one of the world’s most exciting and important fields. Now, pioneering practitioner Capers Jones has written the definitive history of this world-changing industry. Drawing on several decades as a leading researcher and innovator, he illuminates the field’s broad sweep of progress and its many eras of invention. He assesses the immense impact of software engineering on society, and previews its even more remarkable future. Decade by decade, Jones examines trends, companies, winners, losers, new technologies, productivity/quality issues, methods, tools, languages, risks, and more. He reviews key inventions, estimates industry growth, and addresses “mysteries” such as why programming languages gain and lose popularity. Inspired by Paul Starr’s Pulitzer Prize–winning The Social Transformation of American Medicine, Jones’ new book is a tour de force—and compelling reading for everyone who wants to understand how software became what it is today. COVERAGE INCLUDES • The human need to compute: from ancient times to the modern era • Foundations of computing: Alan Turing, Konrad Zuse, and World War II • Big business, big defense, big systems: IBM, mainframes, and COBOL • A concise history of minicomputers and microcomputers: the birth of Apple and Microsoft • The PC era: DOS, Windows, and the rise of commercial software • Innovations in writing and managing code: structured development, objects, agile, and more • The birth and explosion of the Internet and the World Wide Web • The growing challenges of legacy system maintenance and support • Emerging innovations, from wearables to intelligent agents to quantum computing • Cybercrime, cyberwarfare, and large-scale software failure
The Future of Software Quality Assurance
Author: Stephan Goericke
Publisher: Springer Nature
ISBN: 3030295095
Category : Computers
Languages : en
Pages : 272
Book Description
This open access book, published to mark the 15th anniversary of the International Software Quality Institute (iSQI), is intended to raise the profile of software testers and their profession. It gathers contributions by respected software testing experts in order to highlight the state of the art as well as future challenges and trends. In addition, it covers current and emerging technologies like test automation, DevOps, and artificial intelligence methodologies used for software testing, before taking a look into the future. The contributing authors answer questions like: "How is the profession of tester currently changing? What should testers be prepared for in the years to come, and what skills will the next generation need? What opportunities are available for further training today? What will testing look like in an agile world that is user-centered and fast-paced? What tasks will remain for testers once the most important processes are automated?" iSQI has been focused on the education and certification of software testers for fifteen years now, and in the process has contributed to improving the quality of software in many areas. The papers gathered here clearly reflect the numerous ways in which software quality assurance can play a critical role in various areas. Accordingly, the book will be of interest to both professional software testers and managers working in software testing or software quality assurance.
Publisher: Springer Nature
ISBN: 3030295095
Category : Computers
Languages : en
Pages : 272
Book Description
This open access book, published to mark the 15th anniversary of the International Software Quality Institute (iSQI), is intended to raise the profile of software testers and their profession. It gathers contributions by respected software testing experts in order to highlight the state of the art as well as future challenges and trends. In addition, it covers current and emerging technologies like test automation, DevOps, and artificial intelligence methodologies used for software testing, before taking a look into the future. The contributing authors answer questions like: "How is the profession of tester currently changing? What should testers be prepared for in the years to come, and what skills will the next generation need? What opportunities are available for further training today? What will testing look like in an agile world that is user-centered and fast-paced? What tasks will remain for testers once the most important processes are automated?" iSQI has been focused on the education and certification of software testers for fifteen years now, and in the process has contributed to improving the quality of software in many areas. The papers gathered here clearly reflect the numerous ways in which software quality assurance can play a critical role in various areas. Accordingly, the book will be of interest to both professional software testers and managers working in software testing or software quality assurance.
Software Engineering
Author: Richard W. Selby
Publisher: John Wiley & Sons
ISBN: 047014873X
Category : Computers
Languages : en
Pages : 835
Book Description
This is the most authoritative archive of Barry Boehm's contributions to software engineering. Featuring 42 reprinted articles, along with an introduction and chapter summaries to provide context, it serves as a "how-to" reference manual for software engineering best practices. It provides convenient access to Boehm's landmark work on product development and management processes. The book concludes with an insightful look to the future by Dr. Boehm.
Publisher: John Wiley & Sons
ISBN: 047014873X
Category : Computers
Languages : en
Pages : 835
Book Description
This is the most authoritative archive of Barry Boehm's contributions to software engineering. Featuring 42 reprinted articles, along with an introduction and chapter summaries to provide context, it serves as a "how-to" reference manual for software engineering best practices. It provides convenient access to Boehm's landmark work on product development and management processes. The book concludes with an insightful look to the future by Dr. Boehm.
A Philosophy of Software Design
Author: John K. Ousterhout
Publisher:
ISBN: 9781732102217
Category : Computer programs
Languages : en
Pages : 0
Book Description
"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.
Publisher:
ISBN: 9781732102217
Category : Computer programs
Languages : en
Pages : 0
Book Description
"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.