Sebanyak 2421 item atau buku ditemukan

Hands-On Software Engineering with Golang

Move Beyond Basic Programming to Design and Build Reliable Software with Clean Code

Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that can effortlessly scale on demand Key Features Apply best practices to produce lean, testable, and maintainable Go code to avoid accumulating technical debt Explore Go's built-in support for concurrency and message passing to build high-performance applications Scale your Go programs across machines and manage their life cycle using Kubernetes Book Description Over the last few years, Go has become one of the favorite languages for building scalable and distributed systems. Its opinionated design and built-in concurrency features make it easy for engineers to author code that efficiently utilizes all available CPU cores. This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links 'R' Us from scratch. You'll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you'll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs. You'll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you'll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster. By the end of this book, you'll know how to think like a professional software developer or engineer and write lean and efficient Go code. What you will learn Understand different stages of the software development life cycle and the role of a software engineer Create APIs using gRPC and leverage the middleware offered by the gRPC ecosystem Discover various approaches to managing package dependencies for your projects Build an end-to-end project from scratch and explore different strategies for scaling it Develop a graph processing system and extend it to run in a distributed manner Deploy Go services on Kubernetes and monitor their health using Prometheus Who this book is for This Golang programming book is for developers and software engineers looking to use Go to design and build scalable distributed systems effectively. Knowledge of Go programming and basic networking principles is required.

By the end of this book, you'll know how to think like a professional software developer or engineer and write lean and efficient Go code.

Introduction to Software Engineering Design

Processes, Principles, and Patterns with UML2

The focus of Introduction to Software Engineering Design is the processes, principles and practices used to design software products. KEY TOPICS: The discipline of design, generic design processes, and managing design are introduced in Part I. Part II covers software product design, use case modeling, and user interface design. Part III of the book is its core and covers enginnering data anyalysis, including conceptual modeling, and both architectural and detailed engineering design. MARKET: This book is for anyone interested in learning software design.

Part III of the book is its core and covers enginnering data anyalysis, including conceptual modeling, and both architectural and detailed engineering design. MARKET: This book is for anyone interested in learning software design.

Object-Oriented and Classical Software Engineering

Building on seven strong editions, the eighth edition maintains the organization and approach for which Object-Oriented and Classical Software Engineering is known while making significant improvements and additions to content as well as problems and projects. The revisions for the eighth edition make the text easier to use in a one-semester course. Integrating case studies to show the object oriented approach to software engineering, Object-Oriented and Classical Software Engineering, 8/e presents an excellent introduction to software engineering fundamentals, covering both traditional and object-oriented techniques. While maintaining a unique organization with Part I covering underlying software engineering theory, and Part II presenting the more practical life cycle, the eighth edition includes significant revision to problems, new content, as well as a new chapter to enable instructors to better-utilize the book in a one-semester course. Complementing this well-balanced approach is the straightforward, student-friendly writing style, through which difficult concepts are presented in a clear, understandable manner.

Building on seven strong editions, the eighth edition maintains the organization and approach for which Object-Oriented and Classical Software Engineering is known while making significant improvements and additions to content as well as ...

Fundamentals of Software Engineering

Appropriate for both undergraduate and graduate introductory software engineering courses found in Computer Science and Computer Engineering departments. This text provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. The authors emphasize, identify, and apply fundamental principles that are applicable throughout the software lifecycle, in contrast to other texts which are based in the lifecycle model of software development. This emphasis enables students to respond to the rapid changes in technology that are common today.

This text provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches.

Building Great Software Engineering Teams

Recruiting, Hiring, and Managing Your Team from Startup to Success

Building Great Software Engineering Teams provides engineering leaders, startup founders, and CTOs concrete, industry-proven guidance and techniques for recruiting, hiring, and managing software engineers in a fast-paced, competitive environment. With so much at stake, the challenge of scaling up a team can be intimidating. Engineering leaders in growing companies of all sizes need to know how to find great candidates, create effective interviewing and hiring processes, bring out the best in people and their work, provide meaningful career development, learn to spot warning signs in their team, and manage their people for long-term success. Author Josh Tyler has spent nearly a decade building teams in high-growth startups, experimenting with every aspect of the task to see what works best. He draws on this experience to outline specific, detailed solutions augmented by instructive stories from his own experience. In this book you’ll learn how to build your team, starting with your first hire and continuing through the stages of development as you manage your team for growth and success. Organized to cover each step of the process in the order you’ll likely face them, and highlighted by stories of success and failure, it provides an easy-to-understand recipe for creating your high-powered engineering team.What you’ll learn Effective techniques for finding engineering candidates for your company, including how to make your company more attractive to prospective employees and tips for navigating the employment visa process How to leverage commonly overlooked resources for finding employees, such as hiring from other geographic regions and how to approach college recruiting How to successfully hire the best candidates, from first contact through making an offer and getting it accepted How to manage engineers for optimum morale and performance, foster confidence throughout your organization, and promote career development for your team members What to expect as you build an engineering team: common challenges, growing pains, and solutions How to use team-building skills to propel your career as individual contributor Who this book is for The primary audience is engineering leaders, startup founders, CTOs, and others tasked with building an engineering team to fulfill their company’s mission. The secondary audience is any engineering manager or senior engineer interested in learning more about how to hire or manage engineers effectively. Table of Contents The Challenge of Building an Engineering Team from the Ground Up An Enlightened Approach to Recruiting Six Destructive Myths about Recruiting Software Engineers Eight Steps to Recruiting Success Hiring Is Hard The Myth of the Ninja Rockstar Developer The Hiring Decision Checklist Making Interviews Fun for Your Team Why We Don’t Allow Java in Job Interviews Do I Want to be a Manager? A Manager’s Most Important Deliverable Technical vs Management Tracks: Helping Your People Grow Tricks of the Trade for Engineering Managers Advice to Give Engineers on Finding a Great Job and Growing in Their Careers

In this book you’ll learn how to build your team, starting with your first hire and continuing through the stages of development as you manage your team for growth and success.

Software Engineering

An Engineering Approach

A clear-cut, practical approach to software development! Emphasizing both the design and analysis of the technology, Peters and Pedrycz have written a comprehensive and complete text on a quantitative approach to software engineering. As you read the text, you'll learn the software design practices that are standard practice in the industry today. Practical approaches to specifying, designing and testing software as well as the foundations of Software Engineering are also presented. And the latest information in the field, additional experiments, and solutions to selected problems are available at the authors's web site (httpp//www.ee.umanitoba.ca/~clib/main.html). Key Features * Thorough coverage is provided on the quantitative aspects of software Engineering including software measures, software quality, software costs and software reliability. * A complete case study allows students to trace the application of methods and practices in each chapter. * Examples found throughout the text are in C++ and Java. * A wide range of elementary and intermediate problems as well as more advanced research problems are available at the end of each chapter. * Students are given the opportunity to expand their horizons through frequent references to related web pages.

Key Features * Thorough coverage is provided on the quantitative aspects of software Engineering including software measures, software quality, software costs and software reliability. * A complete case study allows students to trace the ...

Software Engineering: A Practitioner's Approach

For over 20 years, this has been the best-selling guide to software engineering for students and industry professionals alike. This seventh edition features a new part four on web engineering, which presents a complete engineering approach for the analysis, design and testing of web applications.

This seventh edition features a new part four on web engineering, which presents a complete engineering approach for the analysis, design and testing of web applications.

Object-oriented Software Engineering

A Use Case Driven Approach

Based on Objectory which is the first commercially avilable comprehensive object-orientd process for developing large scale industrial systems.

Based on Objectory which is the first commercially avilable comprehensive object-orientd process for developing large scale industrial systems.

Object-oriented Software Engineering

Using UML, Patterns, and Java

For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses. Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e, shows readers how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products. Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: readers can apply the techniques learned in class by implementing a real-world software project. The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).

This textbook develops a long-term single project and explores both the theoretical foundations of software engineering as well as the principles and practices of various tools, processes, and products.