Facts and Fallacies of Software Engineering

Facts and Fallacies of Software Engineering

Author: Robert L. Glass

Publisher: Addison-Wesley Professional

Published: 2003

Total Pages: 218

ISBN-13: 9780321117427

DOWNLOAD EBOOK

Regarding the controversial and thought-provoking assessments in this handbook, many software professionals might disagree with the authors, but all will embrace the debate. Glass identifies many of the key problems hampering success in this field. Each fact is supported by insightful discussion and detailed references.


The Practice of Programming

The Practice of Programming

Author: Brian W. Kernighan

Publisher: Addison-Wesley Professional

Published: 1999-02-09

Total Pages: 283

ISBN-13: 0133133419

DOWNLOAD EBOOK

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming.


Innovations in Computing Sciences and Software Engineering

Innovations in Computing Sciences and Software Engineering

Author: Tarek Sobh

Publisher: Springer Science & Business Media

Published: 2010-06-26

Total Pages: 622

ISBN-13: 9048191122

DOWNLOAD EBOOK

Innovations in Computing Sciences and Software Engineering includes a set of rigorously reviewed world-class manuscripts addressing and detailing state-of-the-art research projects in the areas of Computer Science, Software Engineering, Computer Engineering, and Systems Engineering and Sciences. Topics Covered: •Image and Pattern Recognition: Compression, Image processing, Signal Processing Architectures, Signal Processing for Communication, Signal Processing Implementation, Speech Compression, and Video Coding Architectures. •Languages and Systems: Algorithms, Databases, Embedded Systems and Applications, File Systems and I/O, Geographical Information Systems, Kernel and OS Structures, Knowledge Based Systems, Modeling and Simulation, Object Based Software Engineering, Programming Languages, and Programming Models and tools. •Parallel Processing: Distributed Scheduling, Multiprocessing, Real-time Systems, Simulation Modeling and Development, and Web Applications. •Signal and Image Processing: Content Based Video Retrieval, Character Recognition, Incremental Learning for Speech Recognition, Signal Processing Theory and Methods, and Vision-based Monitoring Systems. •Software and Systems: Activity-Based Software Estimation, Algorithms, Genetic Algorithms, Information Systems Security, Programming Languages, Software Protection Techniques, Software Protection Techniques, and User Interfaces. •Distributed Processing: Asynchronous Message Passing System, Heterogeneous Software Environments, Mobile Ad Hoc Networks, Resource Allocation, and Sensor Networks. •New trends in computing: Computers for People of Special Needs, Fuzzy Inference, Human Computer Interaction, Incremental Learning, Internet-based Computing Models, Machine Intelligence, Natural Language.


Managing Technical Debt

Managing Technical Debt

Author: Philippe Kruchten

Publisher: Addison-Wesley Professional

Published: 2019-04-15

Total Pages: 327

ISBN-13: 0135645964

DOWNLOAD EBOOK

“This is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and how to pay it down in responsible ways. This is a book I wish I had when I was just beginning my career. The authors present a myriad of case studies, born from years of experience, and offer a multitude of actionable insights for how to apply it to your project.” –Grady Booch, IBM Fellow Master Best Practices for Managing Technical Debt to Promote Software Quality and Productivity As software systems mature, earlier design or code decisions made in the context of budget or schedule constraints increasingly impede evolution and innovation. This phenomenon is called technical debt, and practical solutions exist. In Managing Technical Debt, three leading experts introduce integrated, empirically developed principles and practices that any software professional can use to gain control of technical debt in any software system. Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. They introduce proven approaches for identifying and assessing specific sources of technical debt, limiting new debt, and “paying off” debt over time. They describe how to establish managing technical debt as a core software engineering practice in your organization. Discover how technical debt damages manageability, quality, productivity, and morale–and what you can do about it Clarify root causes of debt, including the linked roles of business goals, source code, architecture, testing, and infrastructure Identify technical debt items, and analyze their costs so you can prioritize action Choose the right solution for each technical debt item: eliminate, reduce, or mitigate Integrate software engineering practices that minimize new debt Managing Technical Debt will be a valuable resource for every software professional who wants to accelerate innovation in existing systems, or build new systems that will be easier to maintain and evolve.


Software Testing and Analysis

Software Testing and Analysis

Author: Mauro Pezze

Publisher: John Wiley & Sons

Published: 2008

Total Pages: 516

ISBN-13:

DOWNLOAD EBOOK

Teaches readers how to test and analyze software to achieve an acceptable level of quality at an acceptable cost Readers will be able to minimize software failures, increase quality, and effectively manage costs Covers techniques that are suitable for near-term application, with sufficient technical background to indicate how and when to apply them Provides balanced coverage of software testing & analysis approaches By incorporating modern topics and strategies, this book will be the standard software-testing textbook


Making the Software Business Case

Making the Software Business Case

Author: Donald J. Reifer

Publisher: Pearson Education

Published: 2001-09-05

Total Pages: 378

ISBN-13: 0768685087

DOWNLOAD EBOOK

"Just the understanding and insights you will pick up about how people encounter and cope with combinations of technical, social, political, and economic opportunities and challenges make the book a joy to read and worth much more than the price of it alone." --Barry Boehm, from the Foreword This practical handbook shows you how to build an effective business case when you need to justify--and persuade management to accept--software change or improvement. Based on real-world scenarios, the book covers the most common situations in which business case analyses are required and explains specific techniques that have proved successful in practice. Drawing on years of experience in winning the "battle of the budget," the author shows you how to use commonly accepted engineering economic arguments to make your numbers "sing" to management. The book provides examples of successful business cases; along the way, tables, tools, facts, figures, and metrics guide you through the entire analytic process. Writing in a concise and witty style, the author makes this valuable guidance accessible to every software engineer, manager, and IT professional. Highlights include: How and where business case analyses fit into the software and IT life cycle process Explanations of the most common tools for business case analysis, such as present-value, return-on-investment, break-even, and cost/benefit calculation Tying the business process to the software development life cycle Packaging the business case for management consumption Frameworks and guidelines for justifying IT productivity, quality, and delivery cycle improvement strategies Case studies for applying appropriate decision situations to software process improvement Strategic guidelines for various business case analyses With this book in hand, you will find the facts, examples, hard data, and case studies needed for preparing your own winning business cases in today's complex software environment.


Lean and Agile Software Development

Lean and Agile Software Development

Author: Adam Przybyłek

Publisher: Springer Nature

Published: 2021-01-05

Total Pages: 208

ISBN-13: 3030670848

DOWNLOAD EBOOK

This book constitutes the proceedings of the 5th International Conference on Lean and Agile Software Development, LASD 2021, which was held online on January 23, 2021. The conference received a total of 32 submissions, of which 10 full and 2 short papers are included in this volume. In addition, one keynote paper is also included. To live the agile mindset, the LASD conference focuses on highly relevant research outcomes and fosters their way into practice. Topics discussed in this volume range from teams under COVID-19 through women in Agile, to product road-mapping and non-functional requirements.


Refactoring

Refactoring

Author: Martin Fowler

Publisher: Addison-Wesley Professional

Published: 1999

Total Pages: 461

ISBN-13: 0201485672

DOWNLOAD EBOOK

Refactoring is gaining momentum amongst the object oriented programming community. It can transform the internal dynamics of applications and has the capacity to transform bad code into good code. This book offers an introduction to refactoring.