Your cart is empty
Prepare for programming success as you learn the fundamental principles of developing structured program logic with Farrell's fully revised PROGRAMMING LOGIC AND DESIGN, COMPREHENSIVE, 9E. Ideal for mastering foundational programming, this popular book takes a unique, language-independent approach to programming with a distinctive emphasis on modern conventions. Noted for its clear writing style and complete coverage, the book eliminates highly technical jargon while introducing you to universal programming concepts and encouraging a strong programming style and logical thinking. Frequent side notes and Quick Reference boxes provide concise explanations of important programming concepts. Each chapter also contains learning objectives, a concise summary, and a helpful list of key terms. End-of-chapter material ensures your comprehension with multiple-choice review, programming and debugging exercises, and a maintenance exercise that encourages you to improve working logic.
This essential classic title provides a comprehensive foundation in the C# programming language and the frameworks it lives in. Now in its 8th edition, you'll find all the very latest C# 7.1 and .NET 4.7 features here, along with four brand new chapters on Microsoft's lightweight, cross-platform framework, .NET Core, up to and including .NET Core 2.0. Coverage of ASP.NET Core, Entity Framework (EF) Core, and more, sits alongside the latest updates to .NET, including Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and ASP.NET MVC. Dive in and discover why Pro C# has been a favorite of C# developers worldwide for over 15 years. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of this book you'll have the confidence to put C# into practice and explore the .NET universe on your own terms. What You Will Learn Discover the latest C# 7.1 features, from tuples to pattern matching Hit the ground running with Microsoft's lightweight, open source .NET Core platform, including ASP.NET Core MVC, ASP.NET Core web services, and Entity Framework Core Find complete coverage of XAML, .NET 4.7, and Visual Studio 2017 Understand the philosophy behind .NET and the new, cross-platform alternative, .NET Core
One of the first textbooks to be fully up-to-date with the new and expanded UML 2.0 standard, this is an ideal introduction to the Unified Modelling Language for students learning about object and component-based software design and development. The book encourages a pragmatic and open-minded approach to real-life software engineering. It places UML in the context of the software engineering discipline as a whole, providing students with a practical understanding of best practice in software design and development. The authors present a broad view of the subject area, enabling students to see for themselves how different practices may be appropriate for different situations. The book is divided into four parts covering: Part 1 - Introductory Concepts Part 2 - UML, the language Part 3 - Case studies Part 4 - Applying UML in practice
Experience has shown us that investment in the requirements process
saves time, money, and effort. Yet, development efforts
consistently charge ahead without investing sufficiently in the
requirements process. We are so intent to develop the technical
solutions that we are unwilling to take the time and effort to
understand and meet the real customer needs.
If you are involved in the systems engineering process, in any company -- from transport and telecommunications, to aerospace and software -- you will learn how to write down requirements to guarantee you get the systems YOU need.What skills will I learn?
How to write simple, clear requirements -- so you get what you
wantHow to organize requirements as scenarios -- so everyone
understands what you wantHow to review requirements -- so you ask
for the right things
How to structure and build an automated testing regime that will give lasting benefits.
Software testing is vitally important in the software development process, as illustrated by the growing market for automated testing tools. However, many attempts to automate software testing are not successful.
At first glance, it seems easy to automate testing: just buy one
of the popular test execution tools, record the manual tests, and
play them back whenever you want to. Unfortunately, as those who
tried it have discovered, it doesn't work like that in practice.
Just as there is more to software design than knowing a programming
language, there is more to automating testing than knowing a
"This first comprehensive treatment of software test automation
provides the equivalent of 2 or 3 years of on the job
The Business Analysts completely dissolves the perception that the IT industry dictates to businesses what IT systems they will use and dispels the myth that business users and IT technicians are from different planets. It suggests how to create an environment in which everybody works together in an exciting and refreshing way – a paradigm shift in the way business analysis projects are done.
The IT industry has to move to a point where it realises that the users of IT systems and the technical personnel are both equally responsible for getting the system to work. The users of the IT system should be an integral part of the team when the system is being put together. This, unfortunately, is not the norm within the industry. It is the business analyst’s responsibility, among others, to make sure that communication flows freely between all the parties involved.
This book gives the business analyst the tools and techniques to find out what the business users of IT systems really need and to guide the project to meet those needs.
The First Guide to Scrum-Based Agile Product Management In Agile Product Management with Scrum, leading Scrum consultant Roman Pichler uses real-world examples to demonstrate how product owners can create successful products with Scrum. He describes a broad range of agile product management practices, including making agile product discovery work, taking advantage of emergent requirements, creating the minimal marketable product, leveraging early customer feedback, and working closely with the development team. Benefitting from Pichler's extensive experience, you'll learn how Scrum product ownership differs from traditional product management and how to avoid and overcome the common challenges that Scrum product owners face. Coverage includes * Understanding the product owner's role: what product owners do, how they do it, and the surprising implications * Envisioning the product: creating a compelling product vision to galvanize and guide the team and stakeholders * Grooming the product backlog: managing the product backlog effectively even for the most complex products * Planning the release: bringing clarity to scheduling, budgeting, and functionality decisions * Collaborating in sprint meetings: understanding the product owner's role in sprint meetings, including the dos and don'ts * Transitioning into product ownership: succeeding as a product owner and establishing the role in the enterprise This book is an indispensable resource for anyone who works as a product owner, or expects to do so, as well as executives and coaches interested in establishing agile product management.
Integrate Agile ALM and DevOps to Build Better Software and Systems at Lower Cost Agile Application Lifecycle Management (ALM) is a comprehensive development lifecycle that encompasses essential Agile principles and guides all activities needed to deliver successful software or other customized IT products and services. Flexible and robust, Agile ALM offers "just enough process" to get the job done efficiently and utilizes the DevOps focus on communication and collaboration to enhance interactions among all participants. Agile Application Lifecycle Management offers practical advice and strategies for implementing Agile ALM in your complex environment. Leading experts Bob Aiello and Leslie Sachs show how to fully leverage Agile benefits without sacrificing structure, traceability, or repeatability. You'll find realistic guidance for managing source code, builds, environments, change control, releases, and more. The authors help you support Agile in organizations that maintain traditional practices, conventional ALM systems, or siloed, non-Agile teams. They also show how to scale Agile ALM across large or distributed teams and to environments ranging from cloud to mainframe. Coverage includes Understanding key concepts underlying modern application and system lifecycles Creating your best processes for developing your most complex software and systems Automating build engineering, continuous integration, and continuous delivery/deployment Enforcing Agile ALM controls without compromising productivity Creating effective IT operations that align with Agile ALM processes Gaining more value from testing and retrospectives Making ALM work in the cloud, and across the enterprise Preparing for the future of Agile ALM Today, you need maximum control, quality, and productivity, and this guide will help you achieve these capabilities by combining the best practices found in Agile ALM, Configuration Management (CM), and DevOps.
Category theory is unmatched in its ability to organize and layer abstractions and to find commonalities between structures of all sorts. No longer the exclusive preserve of pure mathematicians, it is now proving itself to be a powerful tool in science, informatics, and industry. By facilitating communication between communities and building rigorous bridges between disparate worlds, applied category theory has the potential to be a major organizing force. This book offers a self-contained tour of applied category theory. Each chapter follows a single thread motivated by a real-world application and discussed with category-theoretic tools. We see data migration as an adjoint functor, electrical circuits in terms of monoidal categories and operads, and collaborative design via enriched profunctors. All the relevant category theory, from simple to sophisticated, is introduced in an accessible way with many examples and exercises, making this an ideal guide even for those without experience of university-level mathematics.
Get more out of your legacy systems: more performance, functionality, reliability, and manageability
Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control.
The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform--with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure
This book also includes a catalog of twenty-four
dependency-breaking techniques that help you work with program
elements in isolation and make safer changes.
Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. What to expect: * Master 128 algorithms in Python. * Discover the right way to tackle a problem and quickly implement a solution of low complexity. * Classic problems like Dijkstra's shortest path algorithm and Knuth-Morris-Pratt's string matching algorithm, plus lesser known data structures like Fenwick trees and Knuth's dancing links. * A framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. * Python code in the book and on the companion website.
Lean Development and Agile Methods for Large-Scale Products: Key Thinking and Organizational Tools for Sustainable Competitive Success Increasingly, large product-development organizations are turning to lean thinking, agile principles and practices, and large-scale Scrum to sustainably and quickly deliver value and innovation. However, many groups have floundered in their "practice-oriented "adoptions. Why? Because without a deeper understanding of the "thinking tools "and profound "organizational redesign "needed, it is as though casting seeds on to an infertile field. Now, drawing on their long experience leading and guiding large-scale lean and agile adoptions for large, multisite, and offshore product development, and drawing on the best research for great team-based agile organizations, internationally recognized consultant and best-selling author Craig Larman and former leader of the agile transformation at Nokia Networks Bas Vodde share the key thinking and organizational tools needed to plant the seeds of product development success in a fertile lean and agile enterprise. Coverage includes
Test-driven development (TDD) is a new approach to application development that is designed to eliminate the fear often associated with building software. Admittedly, some fear is healthy (often viewed as a conscience that tells programmers to “be careful!”), but the author believes that programmers build better software when they have the freedom to be creative. By building tests before coding begins, programmers ensure the success of their application from the outset. Students are more likely to achieve positive results with TDD. The author's example-driven approach also teaches students to be better communicators, and encourages team members to seek out constructive criticism.
Software Engineering for Real-Time Systems is a comprehensive introduction to the systematic design of real-time and embedded software systems. The text provides arguments, examples, techniques, and methodologies to demonstrate what software engineering can offer a real-time software developer. Written in an accessible style and complemented by numerous diagrams, the reader is guided through the steps of a total design approach, from the initial definition of the task all the way through to documentation.
Sophisticated development organizations worldwide are discovering the advantages of software architectures in building systems that deliver higher quality, lower development and maintenance costs, and shorter time to market. In this book, one of the field's leading experts addresses the two most important factors in making software architectures work: effective design, and leveraging architectures across product lines.KEY TOPICS:Jan Bosch begins by outlining the rationale for software architectures, and reviewing the limits of traditional approaches to software reuse. Next, Bosch introduces a comprehensive approach to software architecture design that includes explicit quality goals, is carefully optimized up front, and still accounts for the inevitability of change. In Part II, Bosch presents today's best practices for defining architectures that can be reused across entire "lines" or "families" of software. Bosch covers each phase of the software product line lifecycle, including development, usage, and evolution of software assets, showing how to manage interdependencies, and cope with new requirements that were not part of the original design. The book includes several running case studies from real companies that have achieved competitive advantage through software architecture.MARKET:For all software architects; IT managers responsible for development projects; designers; and developers.
Software Reqiuirements and Specifications is the latest book from Michael Jackson, one of the foremost contributors to software development method and practice. The book brings together some 75 short pieces about principles and techniques for requirements analysis, specification and design.
The ideas discussed are deep, but at the same time lightly and wittily expressed. The book is fun to read, rewarding the reader with many valuble and novel insights. Some sacred cows, including top-down development, dataflow diagrams and the distinction between What and How, are led to the slaughter. Readers will be provoked--perhaps to fury, perhaps to enthusiasm, but surely to think more deeply about topics and issues of central importance in the field of software development.
There are new ideas about problem structuring, based on the concept of a problem frame, leading to a clearer notion of complexity and how to deal with it. And other important topics include:
Zero-defect software is the Holy Grail of all software developers. It has proved to be an elusive goal - until now. The Inspection techniques illustrated in this book have brought clear benefits in terms of lower (or even zero) defects, higher productivity, better project tracking and improved documentation.
A complete textbook and reference for engineers to learn the fundamentals of computer programming with modern C++ Introduction to Programming with C++ for Engineers is an original presentation teaching the fundamentals of computer programming and modern C++ to engineers and engineering students. Professor Cyganek, a highly regarded expert in his field, walks users through basics of data structures and algorithms with the help of a core subset of C++ and the Standard Library, progressing to the object-oriented domain and advanced C++ features, computer arithmetic, memory management and essentials of parallel programming, showing with real world examples how to complete tasks. He also guides users through the software development process, good programming practices, not shunning from explaining low-level features and the programming tools. Being a textbook, with the summarizing tables and diagrams the book becomes a highly useful reference for C++ programmers at all levels. Introduction to Programming with C++ for Engineers teaches how to program by: Guiding users from simple techniques with modern C++ and the Standard Library, to more advanced object-oriented design methods and language features Providing meaningful examples that facilitate understanding of the programming techniques and the C++ language constructions Fostering good programming practices which create better professional programmers Minimizing text descriptions, opting instead for comprehensive figures, tables, diagrams, and other explanatory material Granting access to a complementary website that contains example code and useful links to resources that further improve the reader's coding ability Including test and exam question for the reader's review at the end of each chapter Engineering students, students of other sciences who rely on computer programming, and professionals in various fields will find this book invaluable when learning to program with C++.
Now in its fourth edition, Foundations of Software Testing: ISTQB Certification is the essential guide to software testing and to the ISTQB Foundation qualification. Completely updated to comprehensively reflect the most recent changes to the 2018 ISTQB Foundation Syllabus, the book adopts a practical, hands-on approach, covering the fundamental topics that every system and software tester should know. The authors are themselves developers of the ISTQB syllabus and are highly respected international authorities and teachers within the field of software testing. About ISTQB ISTQB is a multinational body overseeing the development of international qualifications in software testing. It offers an internationally recognized qualification that ensures there is an international, common understanding of software and system testing issues.
Microservices architectures offer great benefits: faster change speeds, better scalability and cleaner, evolvable architectures. But, implementing your first Microservices architecture to get those rewards is difficult. How do you quickly educate your team on all the technical details of execution to maximize your chances of success? How do you survive the first year of bringing your microservices implementation to life? How do you improve your execution? Making the right implementation decisions is difficult and you don't have the luxury of time to find out if the decisions you are making are the right ones. This book offers a prescriptive guide for building a Microservices architecture to combat that uncertainty. Inside, you will find a step-by-step implementation journey mapped out based on the techniques and architectures that have been proven to work for Microservices systems. This book solves the following problems for users: What does a "good" microservices project look like? Are the decisions you're making for your project the "right" ones? How do you come up with a good microservices design that fits your own context as quickly as possible? Where should you spend time thinking/designing and where should you just implement "best practices"?
This essential classic provides a comprehensive foundation in the C# programming language and the frameworks it lives in. Now in its 9th edition, you will find the latest C# 8 and .NET Core features, along with new chapters on Microsoft's lightweight, cross-platform framework, .NET Core 3.1. Coverage of ASP.NET Core, Entity Framework Core, and more, sits alongside the latest updates to .NET Core, including Windows Presentation Foundation (WPF). Not only does this book cover all of the latest features in C# 8, but all chapters and code samples have been rewritten for this latest release. Dive in and discover why this book has been a favorite of C# developers worldwide for more than 15 years. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections, and numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of Pro C# 8 with .NET Core 3 gain the confidence to put C# into practice and explore the .NET Core universe on your own terms. What You Will Learn Discover the bells and whistles of C# 8 features and updates to previous features Hit the ground running with ASP.NET Core web applications and web services, and Entity Framework Core Work with the latest version of Windows Presentation Foundation, now a part of .NET Core Understand the philosophy behind .NET and the cross-platform alternative, .NET Core Develop applications with C# and modern frameworks for services, web, and smart client applications Who This Book Is For Developers who are interested in .NET programming and the C# language "Amazing! Provides easy-to-follow explanations and examples. I remember reading the first version of this book; this is a 'must-have' for your collection if you are learning .NET Core!" - Rick McGuire, Senior Application Development Manager, Microsoft "Phil is a journeyman programmer who brings years of experience and a passion for teaching to make this fully revised and modernized 'classic' a 'must-have'. Any developer who wants full-spectrum, up-to-date coverage of both the C# language and how to use it with .NET Core and ASP.NET Core should get this book." - Brian A. Randell, Partner, MCW Technologies and Microsoft MVP
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. Shows students 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: students 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 book is focused on the advancements in the field of software testing and the innovative practices that the industry is adopting. Considering the widely varied nature of software testing, the book addresses contemporary aspects that are important for both academia and industry. There are dedicated chapters on seamless high-efficiency frameworks, automation on regression testing, software by search, and system evolution management. There are a host of mathematical models that are promising for software quality improvement by model-based testing. There are three chapters addressing this concern. Students and researchers in particular will find these chapters useful for their mathematical strength and rigor. Other topics covered include uncertainty in testing, software security testing, testing as a service, test technical debt (or test debt), disruption caused by digital advancement (social media, cloud computing, mobile application and data analytics), and challenges and benefits of outsourcing. The book will be of interest to students, researchers as well as professionals in the software industry.
You may like...
OCP Oracle Certified Professional Java…
Scott Selikoff, Jeanne Boyarsky Paperback
Business Analysis Agility - Delivering…
James Robertson, Suzanne Robertson Paperback
DevOps For Dummies
Emily Freeman Paperback
More Agile Testing - Learning Journeys…
Janet Gregory, Lisa Crispin Paperback
Documenting Software Architectures…
Paul Clements, Felix Bachmann, … Hardcover (1)
R1,512 Discovery Miles 15 120
Android Application Development…
Barry Burd, John Paul Mueller Paperback
Fundamentals of Software Architecture…
Mark Richards, Neal Ford Paperback
User Story Mapping
Jeff Patton, Peter Economy, … Paperback
Introduction to Software Testing
Paul Ammann, Jeff Offutt Hardcover
Python for Software Design - How to…
Allen B. Downey Paperback R900 Discovery Miles 9 000