![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software. The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems. The second part of the book provides examples of the use of testing in scientific software development, including key issues and challenges. The chapters then describe solutions and case studies aimed at applying testing to scientific software development efforts. The final part of the book provides examples of applying software engineering techniques to scientific software, including not only computational modeling, but also software for data management and analysis. The authors describe their experiences and lessons learned from developing complex scientific software in different domains. About the Editors Jeffrey Carver is an Associate Professor in the Department of Computer Science at the University of Alabama. He is one of the primary organizers of the workshop series on Software Engineering for Science (http://www.SE4Science.org/workshops). Neil P. Chue Hong is Director of the Software Sustainability Institute at the University of Edinburgh. His research interests include barriers and incentives in research software ecosystems and the role of software as a research object. George K. Thiruvathukal is Professor of Computer Science at Loyola University Chicago and Visiting Faculty at Argonne National Laboratory. His current research is focused on software metrics in open source mathematical and scientific software.
By adopting the micro frontends approach and designing your web apps as systems of features, you can deliver faster feature development, easier upgrades, and pick and choose the technology you use in your stack. Micro Frontends in Action is your guide to simplifying unwieldy frontends by composing them from small, well-defined units. You'll learn to integrate web applications made up of smaller fragments using tools such as web components or server side includes, how to solve the organizational challenges of micro frontends, and how to create a design system that ensures an end user gets a consistent look and feel for your application. Key Features * Applying integration strategies with iframes, AJAX, server-side includes, web components and the app-shell approach * Optimizing for performance and asset delivery strategies * Designing coherent user interfaces * Migrating to a micro frontends architecture For intermediate web developers, team leaders, and software architects. About the technology The micro frontends approach extends the principles of microservices to frontend development. The application is divided into multiple independent vertical slices-from the database right up to the UI-then integrated using standards such as web components into a single user-facing frontend. Thanks to the smaller scope of a micro frontend, teams can deliver features faster, upgrade more easily, and make their own choices about their technology stack. Michael Geers is a software developer specializing in building user interfaces. He has written software for the web since he was a teenager. In the last few years, he has worked on various customer projects with verticalized architectures. He shares his experiences on this topic at international conferences, in a series of magazine articles, and website.
Choosen by BookAuthority as one of BookAuthority's Best Linux Mint Books of All Time Linux: The Textbook, Second Edition provides comprehensive coverage of the contemporary use of the Linux operating system for every level of student or practitioner, from beginners to advanced users. The text clearly illustrates system-specific commands and features using Debian-family Debian, Ubuntu, and Linux Mint, and RHEL-family CentOS, and stresses universal commands and features that are critical to all Linux distributions. The second edition of the book includes extensive updates and new chapters on system administration for desktop, stand-alone PCs, and server-class computers; API for system programming, including thread programming with pthreads; virtualization methodologies; and an extensive tutorial on systemd service management.Brand new online content on the CRC Press website includes an instructor's workbook, test bank, and In-Chapter exercise solutions, as well as full downloadable chapters on Python Version 3.5 programming, ZFS, TC shell programming, advanced system programming, and more. An author-hosted GitHub website also features updates, further references, and errata. Features New or updated coverage of file system, sorting, regular expressions, directory and file searching, file compression and encryption, shell scripting, system programming, client-server-based network programming, thread programming with pthreads, and system administration Extensive in-text pedagogy, including chapter objectives, student projects, and basic and advanced student exercises for every chapter Expansive electronic downloads offer advanced content on Python, ZFS, TC shell scripting, advanced system programming, internetworking with Linux TCP/IP, and many more topics, all featured on the CRC Press website Downloadable test bank, work book, and solutions available for instructors on the CRC Press website Author-maintained GitHub repository provides other resources, such as live links to further references, updates, and errata
Written by foremost experts in the field, Engineering Modeling Languages provides end-to-end coverage of the engineering of modeling languages to turn domain knowledge into tools. The book provides a definition of different kinds of modeling languages, their instrumentation with tools such as editors, interpreters and generators, the integration of multiple modeling languages to achieve a system view, and the validation of both models and tools. Industrial case studies, across a range of application domains, are included to attest to the benefits offered by the different techniques. The book also includes a variety of simple worked examples that introduce the techniques to the novice user. The book is structured in two main parts. The first part is organized around a flow that introduces readers to Model Driven Engineering (MDE) concepts and technologies in a pragmatic manner. It starts with definitions of modeling and MDE, and then moves into a deeper discussion of how to express the knowledge of particular domains using modeling languages to ease the development of systems in the domains. The second part of the book presents examples of applications of the model-driven approach to different types of software systems. In addition to illustrating the unification power of models in different software domains, this part demonstrates applicability from different starting points (language, business knowledge, standard, etc.) and focuses on different software engineering activities such as Requirement Engineering, Analysis, Design, Implementation, and V&V. Each chapter concludes with a small set of exercises to help the reader reflect on what was learned or to dig further into the examples. Many examples of models and code snippets are presented throughout the book, and a supplemental website features all of the models and programs (and their associated tooling) discussed in the book.
Many enterprises are moving their applications and IT services to the cloud. Better risk management results in fewer operational surprises and failures, greater stakeholder confidence and reduced regulatory concerns; proactive risk management maximizes the likelihood that an enterprise's objectives will be achieved, thereby enabling organizational success. This work methodically considers the risks and opportunities that an enterprise taking their applications or services onto the cloud must consider to obtain the cost reductions and service velocity improvements they desire without suffering the consequences of unacceptable user service quality.
Modeling complex systems is a difficult challenge and all too often one in which modelers are left to their own devices. Using a multidisciplinary approach, The Art of Software Modeling covers theory, practice, and presentation in detail. It focuses on the importance of model creation and demonstrates how to create meaningful models. Presenting three self-contained sections, the text examines the background of modeling and frameworks for organizing information. It identifies techniques for researching and capturing client and system information and addresses the challenges of presenting models to specific audiences. Using concepts from art theory and aesthetics, this broad-based approach encompasses software practices, cognitive science, and information presentation. The book also looks at perception and cognition of diagrams, view composition, color theory, and presentation techniques. Providing practical methods for investigating and organizing complex information, The Art of Software Modeling demonstrates the effective use of modeling techniques to improve the development process and establish a functional, useful, and maintainable software system.
As the number of Internet of Things (IoT) elements grows exponentially, their interactions can generate a massive amount of raw and multi-structured data. The challenge with this data explosion is to transform any raw data into information and knowledge, which can be used by people and systems to make intelligent decisions. Industrial IoT Application Architectures and Use Cases explores how artificial intelligence (AI), data analytics, and IoT technology combine to promote intelligent decision-making and automation in a range of industries. With faster, more stable AI algorithms and approaches, knowledge discovery and dissemination from IoT-device data can be simplified and streamlined. An era of powerful cognitive technology is beginning due to cloud-based cognitive systems that are forming the foundation of game-changing intelligent applications. This book presents next-generation use cases of IoT and IoT data analytics for a variety of industrial verticals as given below: An Intelligent IoT framework for smart water management An IoT-enabled smart traffic control system for congestion control and smart traffic management An intelligent airport system for airport management and security surveillance An IoT framework for healthcare to integrate and report patient information Fuzzy scheduling with IoT for tracking and monitoring hotel assets An IoT system for designing drainage systems and monitoring drainage pipes Predictive maintenance of plant equipment to decide the actual mean time to malfunction Integrated neural networks and IoT systems for predictive equipment maintenance IoT integration in blockchain for smart waste management This book also includes a chapter on the IoT paradigm and an overview of uses cases for personal, social, and industrial applications.
The Pacific Symposium on Biocomputing (PSB) 2020 is an international, multidisciplinary conference for the presentation and discussion of current research in the theory and application of computational methods in problems of biological significance. Presentations are rigorously peer reviewed and are published in an archival proceedings volume. PSB 2020 will be held on January 3 -7, 2020 in Kohala Coast, Hawaii. Tutorials and workshops will be offered prior to the start of the conference.PSB 2020 will bring together top researchers from the US, the Asian Pacific nations, and around the world to exchange research results and address open issues in all aspects of computational biology. It is a forum for the presentation of work in databases, algorithms, interfaces, visualization, modeling, and other computational methods, as applied to biological problems, with emphasis on applications in data-rich areas of molecular biology.The PSB has been designed to be responsive to the need for critical mass in sub-disciplines within biocomputing. For that reason, it is the only meeting whose sessions are defined dynamically each year in response to specific proposals. PSB sessions are organized by leaders of research in biocomputing's 'hot topics.' In this way, the meeting provides an early forum for serious examination of emerging methods and approaches in this rapidly changing field.
"Helps explain some of the knowledge gaps between enthusiastic new graduates and grouchy old gray beards like myself." - Joe Ivans Practical techniques for writing code that is robust, reliable, and easy for team members to understand and adapt. Good code or bad code? The difference often comes down to how you apply the conventions, style guides, and other established practices of the software development community. In Good Code, Bad Code you'll learn how to boost your effectiveness and productivity with code development insights normally only learned through years of experience, careful mentorship, and hundreds of code reviews. In Good Code, Bad Code you'll learn how to: - Think about code like an effective software engineer - Write functions that read like a well-structured sentence - Ensure code is reliable and bug free - Effectively unit test code - Identify code that can cause problems and improve it - Write code that is reusable and adaptable to new requirements - Improve your medium and long-term productivity - Save you and your team's time about the technology Coding in a development team requires very different skills to working on personal projects. Successful software engineers need to ensure that their code is reusable, maintainable, and easy for others to understand and adapt. about the book Good Code, Bad Code is a shortcut guide to writing high-quality code. Your mentor is Google veteran Tom Long, who lays out lessons and mindsets that will take your code from "junior developer" to "senior engineer." This instantly-useful book distils the principles of professional coding into one comprehensive and hands-on beginner's guide. You'll start with a jargon-free primer to coding fundamentals that teaches you to think about abstractions, consider your fellow engineers, and write code that can recover from errors. Next, you'll dive into specific techniques and practices. You'll run through common coding practices to learn when to apply the right technique to your problem-and which might be best avoided! All practices are illustrated with annotated code samples written in an instantly recognizable pseudocode that you can relate to your favourite object-oriented language. By the time you're done, you'll be writing the kind of readable, reusable, and testable code that's the mark of a true software professional. about the reader For coders looking to improve their experience in professional software development. about the author Tom Long is a software engineer at Google. He works as a tech lead, mentoring and teaching professional coding practices to new graduates and beginner software engineers.
This OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide was published before Oracle announced major changes to its OCP certification program and the release of the new Developer 1Z0-819 exam. No matter the changes, rest assured this Study Guide covers everything you need to prepare for and take the exam. NOTE: The OCP Java SE 11 Programmer I Exam 1Z0-815 and Programmer II Exam 1Z0-816 have been retired (as of October 1, 2020), and Oracle has released a new Developer Exam 1Z0-819 to replace the previous exams. The Upgrade Exam 1Z0-817 remains the same. This is the most comprehensive prep guide available for the OCP Oracle Certified Professional Java SE 11 Developer certification--it covers Exam 1Z0-819 and the Upgrade Exam 1Z0-817 (as well as the retired Programmer I Exam 1Z0-815 and Programmer II Exam 1Z0-816)! Java is widely-used for backend cloud applications, Software as a Service applications (SAAS), and is the principal language used to develop Android applications. This object-oriented programming language is designed to run on all platforms that support Java without the need for recompilation. Oracle Java Programmer certification is highly valued by employers throughout the technology industry. The OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide in an indispensable resource for anyone preparing for the certification exam. This fully up-to-date guide covers 100% of exam objectives for Exam 1Z0-819 and Upgrade Exam 1Z0-817 (in addition to the previous Exam 1Z0-815 and Exam 1Z0-816). In-depth chapters present clear, comprehensive coverage of the functional-programming knowledge necessary to succeed. Each chapter clarifies complex material while reinforcing your understanding of vital exam topics. Also included is access to Sybex's superior online interactive learning environment and test bank that includes self-assessment tests, chapter tests, bonus practice exam questions, electronic flashcards, and a searchable glossary of important terms. The ultimate study aid for the challenging OCP exams, this popular guide: Helps you master the changes in depth, difficultly, and new module topics of the latest OCP exams Covers all exam objectives such as Java arrays, primitive data types, string APIs, objects and classes, operators and decision constructs, and applying encapsulation Allows developers to catch up on all of the newest Java material like lambda expressions, streams, concurrency, annotations, generics, and modules Provides practical methods for building Java applications, handling exceptions, programming through interfaces, secure coding in Java SE, and more Enables you to gain the information, understanding, and practice you need to pass the OCP exams The OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide is a must-have book for certification candidates needing to pass these challenging exams, as well as junior- to senior-level developers who use Java as their primary programming language.
Modeling Software with Finite State Machines: A Practical Approach
explains how to apply finite state machines to software
development. It provides a critical analysis of using finite state
machines as a foundation for executable specifications to reduce
software development effort and improve quality. This book
discusses the design of a state machine and of a system of state
machines. It also presents a detailed analysis of development
issues relating to behavior modeling with design examples and
design rules for using finite state machines.
This work provides a comprehensive overview of research and practical issues relating to component-based development information systems (CBIS). Spanning the organizational, developmental, and technical aspects of the subject, the original research included here provides fresh insights into successful CBIS technology and application. Part I covers component-based development methodologies and system architectures. Part II analyzes different aspects of managing component-based development. Part III investigates component-based development versus commercial off-the-shelf products (COTS), including the selection and trading of COTS products.
Based upon the authors' experience in designing and deploying an embedded Linux system with a variety of applications, Embedded Linux System Design and Development contains a full embedded Linux system development roadmap for systems architects and software programmers. Explaining the issues that arise out of the use of Linux in embedded systems, the book facilitates movement to embedded Linux from traditional real-time operating systems, and describes the system design model containing embedded Linux. This book delivers practical solutions for writing, debugging, and profiling applications and drivers in embedded Linux, and for understanding Linux BSP architecture. It enables you to understand: various drivers such as serial, I2C and USB gadgets; uClinux architecture and its programming model; and the embedded Linux graphics subsystem. The text also promotes learning of methods to reduce system boot time, optimize memory and storage, and find memory leaks and corruption in applications. This volume benefits IT managers in planning to choose an embedded Linux distribution and in creating a roadmap for OS transition. It also describes the application of the Linux licensing model in commercial products.
This is the third book in a series devoted to gear design and production. Comprising papers by scientists and gear experts from around the globe, it covers recent developments in practically all spheres of mechanical engineering related to gears and transmissions. It describes advanced approaches to research, design, testing and production of various kinds of gears for a vast range of applications, with a particular focuses on advanced computer-aided approaches for gear analysis, simulation and design, the application of new materials and tribological issues.
Colonialism and the Modernist Moment in the Early Novels of Jean Rhys explores the postcolonial significance of Rhys's modernist period work, which depicts an urban scene more varied than that found in other canonical representations of the period. Arguing against the view that Rhys comes into her own as a colonial thinker only in the post-WWII period of her career, this study examines the austere insights gained by Rhys's active cultivation of her fringe status vis-a-vis British social life and artistic circles, where her sharp study of the aporias of marginal lives and the violence of imperial ideology is distilled into an artistic statement positing the outcome of the imperial venture as a state of homelessness across the board, for colonized and 'metropolitans' alike. Bringing to view heretofore overlooked emigre populations, or their children, alongside locals, Rhys's urbanites struggle to construct secure lives not simply as a consequence of commodification, alienation, or voluntary expatriation, but also as a consequence of marginalization and migration. This view of Rhys's early work asserts its vital importance to postcolonial studies, an importance that has been overlooked owing to an over hasty critical consensus that only one of her early novels contains significant colonial content. Yet, as this study demonstrates, proper consideration of colonial elements long considered only incidental illuminates a colonial continuum in Rhys's work from her earliest publications.
The first comprehensive resource on software and computing innovations in control technology New developments in software and information technology are reinvigorating the control engineering community, raising expectations of dramatic improvements in the performance, safety, design time, and verification and validation of control systems. In concert with these developments, synergies between computer science and control are enabling futuristic innovations in autonomous, embedded, and adaptive systems, uninhabited air vehicles and robots. Software-Enabled Control: Information Technology for Dynamical Systems offers a clear and thorough presentation of computer-enabled developments in control engineering as they relate to autonomous vehicle applications. The contributions range over software architectures, online modeling and control, and hybrid dynamical systems. Some of the novel topics covered in this volume include:
Unique in its focus and broad in scope, Software-Enabled Control: Information Technology for Dynamical Systems offers an important resource for researchers and practitioners who are exploring the frontiers of control engineering, as well as for graduate and undergraduate students seeking entrance into this exciting and visionary community.
Noting the risk that the globalizing of literary studies "may simply reinforce the developments it is attempting to examine and assess," Giles Gunn insists that critics analyze not only how the cultural material we study has been produced by globalizing trends, but also how it has subjected those trends to scrutiny. It is this work that Worldwise undertakes. The fictions studied represent and revise the global histories of the past and present--including the "indigenous or native" narratives that are, in Homi Bhabha's words, "internal to" national identity itself. These works, taking as their subjects European unification, the human rights movement, the AIDS epidemic, and the new South Africa, test the infinite demands for justice against the shifting borders of the nation, rethinking habits of feeling, modes of belonging, and practices of citizenship for the global future. Confronting the pervasiveness of ethical claims, the disjointing of the global field of action, and the impediments to social redistribution, they commit to the non-finality, which is not to say the deferability, of justice. Like cosmopolitanism itself, this genre points to and participates in a field of contested ethics and politics.
Hawthorne wrote much of his major fiction in the decade that the theories of Charles Marie Francois Fourier crossed the Atlantic and contributed to a wave of communitarian experimentation in the American North. Famously, Hawthorne briefly lived and worked at Brook Farm, a Transcendentalist commune that formally "converted" to Fourierism when he had left and was embroiled in litigation to recover money he had invested in the community. In his fiction, Hawthorne responded directly to Fourierism and its critique of capitalism. He used his experiences at Brook Farm as the inspiration for "The Blithedale Romance," and in "The House of the Seven Gables" cast one of the principal characters as a recovering Fourierist. In "The Scarlet Letter" he engaged with Fourierist debates on marriage and the regulation of desire. ""Somewhat on the" "Community-System"" examines these interventions, and argues that Hawthorne's fiction both seeks to contain Fourierism and responds to its allure. Moreover, in formulating alternative, morally acceptable utopias (ones that are predicated on middle-class marriage), Hawthorne's fiction appropriates key aspects of Fourierist theory
New perspective technologies of genetic search and evolution simulation represent the kernel of this book. The authors wanted to show how these technologies are used for practical problems solution. This monograph is devoted to specialists of CAD, intellectual information technologies in science, biology, economics, sociology and others. It may be used by post-graduate students and students of specialties connected to the systems theory and system analysis methods, information science, optimization methods, operations investigation and solution-making.
"The unique thing about "Fit for Developing Software" is the way it addresses the interface between customers/testers/analysts and programmers. All will find something in the book about how others wish to be effectively communicated with. A Fit book for programmers wouldn't make sense because the goal is to create a language for business-oriented team members. A Fit book just for businesspeople wouldn't make sense because the programmers have to be involved in creating that language. The result is a book that should appeal to a wide range of people whose shared goal is improving team communications." --Kent Beck, Three Rivers Institute "Even with the best approaches, there always seemed to be a gap between the software that was written and the software the user wanted. With Fit we can finally close the loop. This is an important piece in the agile development puzzle." --Dave Thomas, coauthor of "The Pragmatic Programmer" "Ward and Rick do a great job in eschewing the typical, overly complicated technology trap by presenting a simple, user-oriented, and very usable technology that holds fast to the agile principles needed for success in this new millennium." --Andy Hunt, coauthor of "The Pragmatic Programmer" "Florida Tech requires software engineering students to take a course in programmer testing, which I teach. Mugridge and Cunningham have written a useful and instructive book, which will become one of our course texts." --Cem Kaner, Professor of Software Engineering, Florida Institute of Technology "Rick and Ward continue to amaze me. Testing business rules is a fundamentally hard thing that has confounded many, and yet these two have devised a mechanismthat cuts to the essence of the problem. In this work they offer a simple, thorough, approachable, and automatable means of specifying and testing such rules." --Grady Booch, IBM Fellow "By providing a simple, effective method for creating and automating tabular examples of requirements, Fit has dramatically improved how domain experts, analysts, testers, and programmers collaborate to produce quality software." --Joshua Kerievsky, founder, Industrial Logic, Inc., and author of "Refactoring to Patterns " "Agile software development relies on collaborating teams, teams of customers, analysts, designers, developers, testers, and technical writers. But, how do they work together? Fit is one answer, an answer that has been thoroughly thought through, implemented, and tested in a number of situations. Primavera has significantly stabilized its product lineusing Fit, and I'm so impressed by the results that I'm suggesting it to everyone I know. Rick and Ward, in their everlasting low-key approach, have again put the keystone in the arch of software development. Congratulations and thanks from the software development community." --Ken Schwaber, Scrum Alliance, Agile Alliance, and codeveloper of Scrum "Fit is the most important new technique for understanding and communicating requirements. It's a revolutionary approach to bringing experts and programmers together. This book describes Fit comprehensively and authoritatively. If you want to produce great software, you need to read this book." --James Shore, Principal, Titanium I.T. LLC "There are both noisy and quiet aspects of the agile movement and it is often the quieter ones that have great strategic importance. Thisbook by Ward and Rick describes one of these absolutely vital, but often quieter, practices--testing business requirements. A renewed focus on testing, from test-driven development for developers to story testing for customers, is one of the agile community's great contributions to our industry, and this book will become one of the cornerstones of that contribution. Stories are done-done (ready for release) when they have been tested by both developers (done) and customers (done-done). The concepts and practices involved in customer story testing are critical to project success and wonderfully portrayed in this book. Buy it. Read it. Keep it handy in your day-to-day work." --Jim Highsmith, Director of Agile Software Development & Project Management Practice, Cutter Consortium "I have been influenced by many books, but very few have fundamentally changed how I think and work. This is one of those books. The ideas in this book describe not just how to use a specific framework in order to test our software, but also how we should communicate about and document that software. This book is an excellent guide to a tool and approach that will fundamentally improve how you think about and build software--as it has done for me." --Mike Cohn, Mountain Goat Software, author of "User Stories Applied " "Fit is a tool to help whole teams grow a common language for describing and testing the behavior of software. This books fills a critical gap--helping both product owners and programmers learn what Fit is and how to use it well." --Bill Wake, independent consultant "Over the past several years, I've been using Fit and FitNesse with development teams. They are not only free andpowerful testing tools, they transform development by making the behavior of applications concrete, verifiable, and easily observable. The only thing that has been missing is a good tutorial and reference. Rick Mugridge and Ward Cunningham's "Fit For Developing Software" fits the bill. Essentially, two books in one, it is a very readable guide that approaches Fit from technical and nontechnical perspectives. This book is a significant milestone and it will make higher software quality achievable for many teams." --Michael C. Feathers, author of "Working Effectively with Legacy Code," and consultant, Object Mentor, Inc. "Wow! This is the book I wish I had on my desk when I did my first story test-driven development project. It explains the philosophy behind the Fit framework and a process for using it to interact with the customers to help define the requirements of the project. It makes Fit so easy and approachable that I wrote my first FitNesse tests before I even I finished the book. "For the price of one book, you get two, written by the acknowledged thought leaders of Fit testing. The first is written for the nonprogramming customer. It lays out how you can define the functionality of the system you are building (or modifying) using tabular data. It introduces a range of different kinds of 'test fixtures' that interpret the data and exercise the system under test. While it is aimed at a nontechnical audience, even programmers will find it useful because it also describes the process for interacting with the customers, using the Fit tests as the focal point of the interaction. "The second 'book' is targeted to programmers. It describes how to build each kind of fixture described in the first book. It also describes many other things that need to be considered to have robust automated tests--things like testing without a database to make tests run faster. A lot of the principles will be familiar to programmers who have used any member of the xUnit family of unit testing frameworks. Rick and Ward show you how to put it into practice in a very easy-to-read narrative style that uses a fictitious case study to lead you through all the practices and decisions you are likely to encounter." --Gerard Meszaros, ClearStream Consulting The Fit open source testing framework brings unprecedented
agility to the entire development process. "Fit for Developing
Software" shows you how to use Fit to clarify business rules,
express them with concrete examples, and organize the examples into
test tables that drive testing throughout the software lifecycle.
Using a realistic case study, Rick Mugridge and Ward
Cunningham--the creator of Fit--introduce each of Fit's underlying
concepts and techniques, and explain how you can put Fit to work
incrementally, with the lowest possible risk. Highlights
includeIntegrating Fit into your development processesUsing Fit to
promote effective communication between businesspeople, testers,
and developersExpressing business rules that define calculations,
decisions, and business processesConnecting Fit tables to the
system with "fixtures" that check whether tests are actually
satisfiedConstructing tests for code evolution, restructuring, and
other changes to legacy systemsManaging the quality and evolution
of testsA companion Web site (http: //fit.c2.com/) that offers
additional resources and source code
Reducing Risk with Software Process Improvement recommends the critical practices that aid in the successful delivery of software products and services. The author describes the observations that he made over a period of ten years in IT projects and organizations. He focuses on the areas of software development and maintenance, highlighting the most frequently encountered problems that occur due to poor processes. The author derives recommendations from 40 comprehensive assessments of IT organizations. This book details the potential or real problems each organization experienced, and offers anecdotes on how these problems resulted from deficient practices, what their impacts were, and how improving specific practices benefitted the organizations. This volume provides valuable advice for project and application managers looking to minimize the number of crises they have to deal with, and for IT practitioners seeking the practical solutions that lead to career advancement. It benefits customers who need to know what to look for before purchasing IT products or services, and helps investors analyze the efficiency of IT companies before making investment decisions.
Writing Virtual Environments for Software Visualization book describes the software for a networked, 3D multi-user virtual environment that allows users to create and share remotely visualizations of program behavior. Collaborative virtual environments such as World of Warcraft or Second Life are a popular way to share interactive internet experiences, but they are complex and difficult to create. Software visualization is an area that may enable important advances in our ability to understand and reduce the costs of maintaining software. Applying the former technology to this problem area will be valuable to distributed and multi-institutional software development and educational users. The author covers the major features of collaborative virtual environments and how to program them in a very high level language. The book also examines the application of popular game-like software technologies.
Improving existing code-refactoring-is one of the most common tasks you'll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as "code smells." It's written for working developers, guiding you step by step through applying refactoring patterns to the codebase of a 2D puzzle game. Following the author's expert perspective-that refactoring and code smells can be learned by following a concrete set of principles-you'll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it's time for a rework. Thanks to this hands-on guide, you'll find yourself programming faster while still delivering high-quality code that your teammates will love to work with. about the technologyRefactoring is a fact of life. All code is imperfect, and refactoring is a systematic process you can use to improve the quality of your codebase. Whatever your architecture, choice of OO language, or skill as a programmer, the continuous design improvements of refactoring make your code simpler, more readable, and less prone to bugs. You'll be amazed at the productivity boost of adding refactoring to your code hygiene routine-it's quicker to hammer out bad code and then improve it than spending hours writing good code in the first place! about the book Five Lines of Code teaches working developers the shortcuts to quality code. You'll follow author Christian Clausen's unique approach to teaching refactoring that's focused on concrete rules, and getting any method down to five lines or less to implement! There's no jargon or tricky automated-testing skills required, just easy guidelines and patterns illustrated by detailed code samples. Chapter by chapter you'll put techniques into action by refactoring a complete 2D puzzle game. Before you know it, you'll be making serious and tangible improvements to your codebase. what's inside The symptoms of bad code The extracting method, introducing strategy pattern, and many other refactoring patterns Modifying code safely, even when you don't understand it Writing stable code that enables change-by-addition Proper compiler practices Writing code that needs no comments Real-world practices for great refactoring about the readerFor developers who know an object-oriented programming language. about the author Christian Clausen works as a Technical Agile Coach teaching teams how to properly refactor their code. Previously he worked as a software engineer on the Coccinelle semantic patching project, an automated refactoring tool. He has an MSc in computer science, and five years' experience teaching software quality at a university level.
Bring your ideas to life with the latest Arduino hardware and software Arduino is an affordable and readily available hardware development platform based around an open source, programmable circuit board. You can combine this programmable chip with a variety of sensors and actuators to sense your environment around you and control lights, motors, and sound. This flexible and easy-to-use combination of hardware and software can be used to create interactive robots, product prototypes and electronic artwork, whether you're an artist, designer or tinkerer. Arduino For Dummies is a great place to start if you want to find out about Arduino and make the most of its incredible capabilities. It helps you become familiar with Arduino and what it involves, and offers inspiration for completing new and exciting projects. - Covers the latest software and hardware currently on the market - Includes updated examples and circuit board diagrams in addition to new resource chapters - Offers simple examples to teach fundamentals needed to move onto more advanced topics - Helps you grasp what's possible with this fantastic little board Whether you're a teacher, student, programmer, hobbyist, hacker, engineer, designer, or scientist, get ready to learn the latest this new technology has to offer!
Microservice APIs in Python shares successful strategies and techniques for designing Microservices systems, with a particular emphasis on creating easy-to-consume APIs. This practical guide focuses on implementation over philosophizing and has just enough theory to get you started. You'll quickly go hands on designing the architecture for a microservices platform, produce standard specifications for REST and GraphQL APIs, and bake in authentication features to keep your APIs secure. Written in a framework-agnostic manner, its universal principles of API and microservices design can easily be applied to your favorite stack and toolset. About the Technology Standard Python web applications, such as those you'd typically build with Django or Flask, can be hard to scale and maintain when built as monoliths. Microservices design makes it possible to isolate key features and functionality as independently written and maintained services. To take advantage of this more resilient architecture, you need to learn the patterns, frameworks, and tools that make Python-based microservices easy to build and manage. |
![]() ![]() You may like...
Transforming the Internet of Things for…
Bhavya Alankar, Harleen Kaur, …
Hardcover
R7,211
Discovery Miles 72 110
Emerging Trends in IoT and Integration…
Pelin Yildirim Taser
Hardcover
R6,692
Discovery Miles 66 920
|