Software Configuration Management Patterns


Book Description

Stereotypes portray software engineers as a reckless lot, and stereotypes paint software configuration management (SCM) devotees as inflexible. Based on these impressions, it is no wonder that projects can be riddled with tension! The truth probably lies somewhere in between these stereotypes, and this book shows how proven SCM practices can foster a healthy team-oriented culture that produces better software. The authors show that workflow, when properly managed, can avert delays, morale problems, and cost overruns. A patterns approach (proven solutions to recurring problems) is outlined so that SCM can be easily applied and successfully leveraged in small to medium sized organizations. The patterns are presented with an emphasis on practicality. The results speak for themselves: improved processes and a motivated workforce that synergize to produce better quality software.




Learning Chef


Book Description

Get a hands-on introduction to the Chef, the configuration management tool for solving operations issues in enterprises large and small. Ideal for developers and sysadmins new to configuration management, this guide shows you to automate the packaging and delivery of applications in your infrastructure. You’ll be able to build (or rebuild) your infrastructure’s application stack in minutes or hours, rather than days or weeks. After teaching you how to write Ruby-based Chef code, this book walks you through different Chef tools and configuration management concepts in each chapter, using detailed examples throughout. All you need to get started is command-line experience and familiarity with basic system administration. Configure your Chef development environment and start writing recipes Create Chef cookbooks with recipes for each part of your infrastructure Use Test Kitchen to manage sandbox testing environments Manage single nodes with Chef client, and multiple nodes with Chef Server Use data bags for storing shared global data between nodes Simulate production Chef Server environments with Chef Zero Classify different types of services in your infrastructure with roles Model life stages of your application, including development, testing, staging, and production




Guide to the Software Engineering Body of Knowledge (Swebok(r))


Book Description

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).




Software Architectures


Book Description

Zusammenfassung: This textbook concentrates on processes, activities and results related to software architectures. It describes the separation of architecture artefacts corresponding to their nature, their logical or their modeling level on one hand and at the same time emphasizes their integration based on their mutual relations. Design or development processes demand for integration, as different artifacts must be elaborated, which are mutually dependent and need to be in a consistent form. The book is structured in four parts. The introductory Part I deals with the relevance of architectures, the central role of the design subprocess both in development or maintenance, and the importance of the decisions and artefacts in the overall result. Another topic is the spectrum of views an architecture language has to offer, and that there are different architectures to be regarded, from abstract and static to detailed, technical, and specific. Part II then discusses "important topics" on the architecture level. It deals with adaptability especially for embedded systems, with integrating styles/ pattern notations, with different reuse forms and how to find them, with the role of architectures for integrating different existing systems, and with reverse and reengineering of legacy systems. Next, Part III covers architecture modeling and its relation to surrounding activities, as well as architectures to surrounding other results. The single chapters are on transformation between requirements and architectures, architectures and programming, architectures and project management and organization, as well as architectures and their relations to quality assurance or documentation. Eventually, Part IV summarizes the main messages and presents open problems, both for every single chapter and across chapters. Every chapter focuses on a specific problem it addresses, a question it answers, the attention it demands, a message it conveys, and further open questions it raises. The chapters are mostly independent, which implies a certain redundancy, yet it allows lecturers (and their students) to either use the book as the basis of teaching software architecture or design, or to just pick those aspects that need special attention in a more advanced course




Software Engineering at Google


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




Complete A+ Guide to IT Hardware and Software


Book Description

Master IT hardware and software installation, configuration, repair, maintenance, and troubleshooting and fully prepare for the CompTIA® A+ Core 1 (220-1001) and Core 2 (220-1002) exams. This is your all-in-one, real-world, full-color guide to connecting, managing, and troubleshooting modern devices and systems in authentic IT scenarios. Its thorough instruction built on the CompTIA A+ Core 1 (220-1001) and Core 2 (220-1002) exam objectives includes coverage of Windows 10, Mac, Linux, Chrome OS, Android, iOS, cloud-based software, mobile and IoT devices, security, Active Directory, scripting, and other modern techniques and best practices for IT management. Award-winning instructor Cheryl Schmidt also addresses widely-used legacy technologies—making this the definitive resource for mastering the tools and technologies you’ll encounter in real IT and business environments. Schmidt’s emphasis on both technical and soft skills will help you rapidly become a well-qualified, professional, and customer-friendly technician. LEARN MORE QUICKLY AND THOROUGHLY WITH THESE STUDY AND REVIEW TOOLS: Learning Objectives and chapter opening lists of CompTIA A+ Certification Exam Objectives make sure you know exactly what you’ll be learning, and you cover all you need to know Hundreds of photos, figures, and tables present information in a visually compelling full-color design Practical Tech Tips provide real-world IT tech support knowledge Soft Skills best-practice advice and team-building activities in every chapter cover key tools and skills for becoming a professional, customer-friendly technician Review Questions—including true/false, multiple choice, matching, fill-in-the-blank, and open-ended questions—carefully assess your knowledge of each learning objective Thought-provoking activities help students apply and reinforce chapter content, and allow instructors to “flip” the classroom if they choose Key Terms identify exam words and phrases associated with each topic Detailed Glossary clearly defines every key term Dozens of Critical Thinking Activities take you beyond the facts to deeper understanding Chapter Summaries recap key concepts for more efficient studying Certification Exam Tips provide insight into the certification exam and preparation process




The Builder's Guide to the Tech Galaxy


Book Description

Learn to scale your startup with a roadmap to the all-important part of the business lifecycle between launch and IPO In The Builder’s Guide to the Tech Galaxy: 99 Practices to Scale Startups into Unicorn Companies, a team of accomplished investors, entrepreneurs, and marketers deliver a practical collection of concrete strategies for scaling a small startup into a lean and formidable tech competitor. By focusing on the four key building blocks of a successful company – alignment, team, functional excellence, and capital—this book distills the wisdom found in countless books, podcasts, and the authors’ own extensive experience into a compact and accessible blueprint for success and growth. In the book, you’ll find: Organizational charts, sample objectives and key results (OKRs), as well as guidance for divisions including technology and product management, marketing, sales, people, and service operations Tools and benchmarks for strategically aligning your company’s divisions with one another, and with your organization’s “North Star” Templates and tips to attract and retain a triple-A team with the right scale-up mindset Checklists to help you attract growth capital and negotiate term sheets Perfect for companies with two, ten, or one hundred employees, The Builder’s Guide to the Tech Galaxy belongs on the bookshelves of founders, managers, entrepreneurs, and other business leaders exploring innovative and proven ways to scale their enterprise to new heights.




Version Control with Git


Book Description

Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system. This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how. Learn how to use Git for several real-world development scenarios Gain insight into Git’s common-use cases, initial tasks, and basic functions Use the system for both centralized and distributed version control Learn how to manage merges, conflicts, patches, and diffs Apply advanced techniques such as rebasing, hooks, and ways to handle submodules Interact with Subversion (SVN) repositories—including SVN to Git conversions Navigate, use, and contribute to open source projects though GitHub




Dependable Software Engineering. Theories, Tools, and Applications


Book Description

This book constitutes the proceedings of the 8th International Symposium on Dependable Software Engineering, SETTA 2022, held in Beijing, China, in October 2022. The 11 full papers and 3 short papers in this volume were carefully reviewed and selected from 29 submissions, and are presented with 3 abstracts of keynote speeches. They deal with latest research results and ideas on bridging the gap between formal methods and software engineering.




Software Engineering


Book Description

For almost four decades, Software Engineering: A Practitioner's Approach (SEPA) has been the world's leading textbook in software engineering. The ninth edition represents a major restructuring and update of previous editions, solidifying the book's position as the most comprehensive guide to this important subject.