![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
Comprehensive and up-to-date, it covers the most vital part of software development, independent verification and validation. Presents a variety of methods that will ensure better quality, performance, cost and reliability of technical products and systems. Features numerous hints, tips and instructions for better interaction between verification and validation personnel, development engineers and managers. Includes 8 case histories ranging from major engineering systems through information systems. Many of the principles involved also apply to computer hardware as well as the fields of science and engineering.
Maintaining compatibility among all affected network and application interfaces of modern enterprise systems can quickly become costly and overwhelming. This handbook presents the knowledge and practical experience of a global group of experts from varying disciplines to help you plan and implement enterprise integration projects that respond to business needs quickly and are seamless to business users. The Handbook of Enterprise Integration brings together the latest research and application results to provide infrastructure engineers, software engineers, software developers, system designers, and project managers with a clear and comprehensive understanding of systems integration technologies, architectures, applications, and project management techniques involved in enterprise system integration. The text includes coverage of mobile communications, standards for integrated manufacturing and e-commerce, RFID, Web-based systems, and complete service-oriented enterprise modeling and analysis. Practitioners will benefit from insights on managing virtual teams as well as techniques for introducing complex technology into businesses. Covering best practices in enterprise systems integration, the text highlights applications across various business enterprises to help you: Bring together existing systems for business processes improvement Design and implement systems that can be reconfigured quickly and easily in response to evolving operational needs Establish procedures for achieving smooth migrations from legacy systems-with minimal disruption to existing operations Complete with case studies, this book illustrates the current state of the art in the context of user requirements and integration and provides the up-to-date understanding required to manage today's complex and interconnected systems.
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
"All that have ever tried to impose change in their organization will immediately recognize and truly value the in-depth knowledge and experience captured in this book. It contains a collection of eye-openers that is a treasure chest for pioneers of new organizational ideas, A fantastic toolbox for use in future missions!" -Lise B. Hvatum, product development manager, Schlumberger "If you have need of changing your organization, and especially of introducing new techniques, then you want to understand what is in this book. It will help you avoid common pitfalls that doom many such projects and will show you a clear path to success. The techniques are derived from the experience of many individuals and organizations. Many are also fun to apply. This stuff is really cool-and really hot." -Joseph Bergin, professor of computer science, Pace University, New York "If change is the only guarantee in life, why is it so hard to do? As this book points out, people are not so much resistant to change itself as they are to being changed. Mary Lynn and Linda have successfully used the pattern form to capture and present the recurring lessons of successful change efforts and have placed a powerful knowledge resource in the hands of their readers." -Alan O'Callaghan, researcher, Software Technology Research Laboratory, De Montfort University, United Kingdom "The most difficult part of absorbing patterns, or any technology, into an organization is overcoming the people issues. The patterns in this book are the documentation of having gone through that experience, giving those that dare push the envelope a head start at success."-David E. DeLano, IBM Pervasive Computing "If you have ever wondered how you could possibly foster any cultural changes in your organization, in this book you will find a lot of concrete advice for doing so. I recommend that everyone read this book who has a vast interest in keeping his or her organization flexible and open for cultural change." -Jutta Eckstein, Independent Consultant, Objects In Action Author of Agile Software Development in the Large 48 Patterns for Driving and Sustaining Change in Your Organization Change. It's brutally tough to initiate, even harder to sustain. It takes too long. People resist it. But without it, organizations lose their competitive edge. Fortunately, you can succeed at making change. In Fearless Change, Mary Lynn Manns and Linda Rising illuminate 48 proven techniques, or patterns, for implementing change in organizations or teams of all sizes, and show you exactly how to use them successfully. Find out how to Understand the forces in your organization that drive and retard change Plant the seeds of change Drive participation and buy-in, from start to finish Choose an "official skeptic" to sharpen your thinking Make your changes appear less threatening Find the right timing and the best teaching moments Sustain your momentum Overcome adversity and celebrate success Inspired by the "pattern languages" that are transforming fields from software to architecture, the authors illuminate patterns for every stage of the change process: knowledge, persuasion, decision, implementation, and confirmation. These flexible patterns draw on the experiences of hundreds of leaders. They offer powerful insight into change-agent behavior, organizational culture, and the roles of every participant. Best of all, they're easy to use-and they work!
The complexity of software is continuously growing as a result of today's interconnected business processes. Governance of architecture and technology strategy helps to ensure coherence of software and avoid excessive complexity. At the same time software development needs room for creativity and empowerment to provide solutions to business problems of increasing complexity. The book looks at this software dilemma from the perspectives of CIOs/CTOs, software architects, and auditors. Each of these groups has different interests which need to be considered, reconciled, and balanced. CIOs/CTOs are provided with the boundary conditions they have to establish assuring the achievement of strategic objectives. Architects and auditors find proven concepts for effectively assessing software projects and architectures, as well as for effectively communicating identified issues to responsible persons. The book is based on the author's long experience in software engineering, governance, and auditing.
This book constitutes the proceedings of the 2010 Joint International Working C- ference of the International Federation for Information Processing Working Groups 8.2 and 8.6. Both working groups are part of IFIP Technical Committee 8, the tech- cal committee addressing the field of Information Systems. IFIP WG 8.2, the Inter- tion of Information Systems and Organizations, was established in 1977. IFIP WG 8.6, Diffusion, Transfer and Implementation of Information Technology, was est- lished in 1994. In accordance with their respective themes, both IFIP WG 8.2 and IFIP WG 8.6 have long had an interest in the human impact of information systems. In December 1998, they held a joint working conference in Helsinki, Finland, on the theme "Inf- mation Systems: Current Issues and Future Challenges." The two working groups' joint interest in and collaboration on research concerning the human side of IS is c- tinued and extended through this joint working conference, held on the campus of Curtin University of Technology, from March 30 to April 1, 2010, in Perth, Western Australia. This conference, "Human Benefit Through the Diffusion of Information Systems Design Science Research," combines the traditional themes of the two working groups with the growing interest within the IS research field in the area of design science research.
Agile methods are gaining more and more interest both in industry and in research. Many industries are transforming their way of working from traditional waterfall projects with long duration to more incremental, iterative and agile practices. At the same time, the need to evaluate and to obtain evidence for different processes, methods and tools has been emphasized. Lech Madeyski offers the first in-depth evaluation of agile methods. He presents in detail the results of three different experiments, including concrete examples of how to conduct statistical analysis with meta analysis or the SPSS package, using as evaluation indicators the number of acceptance tests passed (overall and per hour) and design complexity metrics. The book is appropriate for graduate students, researchers and advanced professionals in software engineering. It proves the real benefits of agile software development, provides readers with in-depth insights into experimental methods in the context of agile development, and discusses various validity threats in empirical studies.
How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman's extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture. With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You'll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture. Ideal for organizations looking to transition to microservices, rather than rebuild Helps companies determine whether to migrate, when to migrate, and where to begin Addresses communication, integration, and the migration of legacy systems Discusses multiple migration patterns and where they apply Provides database migration examples, along with synchronization strategies Explores application decomposition, including several architectural refactoring patterns Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more
Delivering successful projects means the ability to produce high quality software within budget and on time-consistently, but when one mentions quality to software engineers or project managers, they talk about how impossible it is to eliminate defects from software. This assumption is passed on and on until it becomes accepted wisdom, with the power of a self-fulfilling prophecy. And when a project fails to arrive on time or up to standards, team members will turn on each other. The project got delayed because the engineers did a poor job in development or too much was promised upfront for this short of a timeline. In Delivering Successful Projects with TSPSM and Six Sigma: A Practical Guide to Implementing Team Software ProcessSM, you will learn how to effectively manage the development of a software project and deliver it in line with customer expectations. This refreshing volume - Offers real-world case studies about the author's experience at Microsoft successfully implementing TSP to achieve higher quality software Empowers software developers to take responsibility for project management Explains how Six Sigma and TSP combined can dramatically reduce software defects By applying these principles put forth by one of the most respected names in software development, your software team will learn how to function as a team and turn out products where zero defects and on-time delivery are the norm.
Multiagent systems (MAS) are one of the most exciting and the fastest growing domains in the intelligent resource management and agent-oriented technology, which deals with modeling of autonomous decisions making entities. Recent developments have produced very encouraging results in the novel approach of handling multiplayer interactive systems. In particular, the multiagent system approach is adapted to model, control, manage or test the operations and management of several system applications including multi-vehicles, microgrids, multi-robots, where agents represent individual entities in the network. Each participant is modeled as an autonomous participant with independent strategies and responses to outcomes. They are able to operate autonomously and interact pro-actively with their environment. In recent works, the problem of information consensus is addressed, where a team of vehicles communicate with each other to agree on key pieces of information that enable them to work together in a coordinated fashion. The problem is challenging because communication channels have limited range and there are possibilities of fading and dropout. The book comprises chapters on synchronization and consensus in multiagent systems. It shows that the joint presentation of synchronization and consensus enables readers to learn about similarities and differences of both concepts. It reviews the cooperative control of multi-agent dynamical systems interconnected by a communication network topology. Using the terminology of cooperative control, each system is endowed with its own state variable and dynamics. A fundamental problem in multi-agent dynamical systems on networks is the design of distributed protocols that guarantee consensus or synchronization in the sense that the states of all the systems reach the same value.
Structured to follow the software life cycle, Patterns for Performance and Operability provides advice and examples-based instructions at every phase. You can read it from start to finish or go directly to those chapters that interest you the most. Whatever approach you choose, you will learn: How to: - Define and document comprehensive non-functional requirements for any software system - Define scope and logistics for non-functional test activities - Execute non-functional tests and report results clearly and effectively - Patterns for defensive software designs in common software scenarios that promote operability and availability - Implement the right level of reporting, monitoring, and trending for highly available production software systems Patterns for: - Software designs that support simpler and more efficient operation in a production environment - Software design that support high-performance and scalability Strategies and Techniques for: - Techniques for managing and troubleshooting during a production crisis - Strategies for resisting project pressure to compromise on quality or completeness of non-functional activities in the software cycle
In concurrent and distributed systems, processes can complete tasks together by playing their parts in a joint plan. The plan, or protocol, can be written as a choreography: a formal description of overall behaviour that processes should collaborate to implement, like authenticating a user or purchasing an item online. Formality brings clarity, but not only that: choreographies can contribute to important safety and liveness properties. This book is an ideal introduction to theory of choreographies for students, researchers, and professionals in computer science and applied mathematics. It covers languages for writing choreographies, their semantics, and principles for implementing choreographies correctly. The text treats the study of choreographies as a discipline in its own right, following a systematic approach that starts from simple foundations and proceeds to more advanced features in incremental steps. Each chapter includes examples and exercises aimed at helping with understanding the theory and its relation to practice.
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.
This book, and the research it describes, resulted from a simple observation we made sometime in 1986. Put simply, we noticed that many VLSI design tools looked "alike." That is, at least at the overall software architecture level, the algorithms and data structures required to solve problem X looked much like those required to solve problem X'. Unfortunately, this resemblance is often of little help in actually writing the software for problem X' given the software for problem X. In the VLSI CAD world, technology changes rapidly enough that design software must continually strive to keep up. And of course, VLSI design software, and engineering design software in general, is often exquisitely sensitive to some aspects of the domain (technology) in which it operates. Modest changes in functionality have an unfortunate tendency to require substantial (and time-consuming) internal software modifications. Now, observing that large engineering software systems are technology dependent is not particularly clever. However, we believe that our approach to xiv Preface dealing with this problem took an interesting new direction. We chose to investigate the extent to which automatic programming ideas cold be used to synthesize such software systems from high-level specifications. This book is one of the results of that effort."
This book discusses enterprise hierarchies, which view a target system with varying degrees of abstraction. These requirement refinement hierarchies can be represented by goal models. It is important to verify that such hierarchies capture the same set of rationales and intentions and are in mutual agreement with the requirements of the system being designed. The book also explores how hierarchies manifest themselves in the real world by undertaking a data mining exercise and observing the interactions within an enterprise. The inherent sequence-agnostic property of goal models prevents requirement analysts from performing compliance checks in this phase as compliance rules are generally embedded with temporal information. The studies discussed here seek to extract finite state models corresponding to goal models with the help of model transformation. The i*ToNuSMV tool implements one such algorithm to perform model checking on i* models. In turn, the AFSR framework provides a new goal model nomenclature that associates semantics with individual goals. It also provides a reconciliation machinery that detects entailment or consistency conflicts within goal models and suggests corrective measures to resolve such conflicts. The authors also discuss how the goal maintenance problem can be mapped to the state-space search problem, and how A* search can be used to identify an optimal goal model configuration that is free from all conflicts. In conclusion, the authors discuss how the proposed research frameworks can be extended and applied in new research directions. The GRL2APK framework presents an initiative to develop mobile applications from goal models using reusable code component repositories.
If you're ready to take your knowledge of ArcGIS to the next level, then you need to learn how to work with ArcObjects. But with thousands of objects, properties, and methods, how can you ever hope to sort through the ArcObjects model diagrams? The first edition of Chang's Programming ArcObjects with VBA: A Task-Oriented Approach gave us the answer. The author's task-oriented approach shows you how to sort through the massive ArcObjects collection by examining only the objects, properties, and methods you need to perform specific tasks. What's new in the second edition? This edition adds macros and explanations for the new Geoprocessing object introduced in ArcGIS 9.x. Instead of treating this new feature in separate chapters, the author incorporates Geoprocessing code into the existing chapters. The code appears conveniently in boxes that allow you to easily compare sample macros. Get Started with Ready-to-Use Code The downloadable resources contain 95 complete ArcObjects macros and 33 Geoprocessing macros, along with datasets to execute the code. Each program begins with a short usage description and a list of key properties and methods, followed by the listing and explanation of the code itself. Regardless of your programming experience, Programming ArcObjects with VBA: A Task-Oriented Approach, Second Edition gives you the key to unlock the power and versatility of using ArcObjects to help you manage GIS activities.
Effective Software Testing is a hands-on guide to creating high quality tests, from your first line of code through pre-delivery checks. It's full of techniques drawn from proven research in software engineering. You'll learn to efficiently engineer tests specifically for your software and end reliance on generic testing practices that may be right for every project. Each chapter puts a new technique into practice with source code samples, real-world tradeoffs, and answers to the common questions developers pose about testing. You'll learn how to scrutinize your requirements for potential tests, generate tests from your code structure, and engineer rigorous suites of unit, integration, and system tests. Go beyond unit tests! Great software testing makes the entire development process more efficient, from understanding your code before you write it to catching bugs in tricky corner cases.Effective Software Testing teaches you a systematic approach to software testing. You'll master easy-to-apply techniques to create strong test suites that are specifically engineered for your code. Following real-world use cases and detailed code samples, you'll soon be engineering tests that find the bugs hiding in edge cases and the parts of code you would never think of testing! Along the way, you'll develop an intuition for testing that can save years of learning by trial and error.
This book constitutes Part II of the refereed four-volume post-conference proceedings of the 4th IFIP TC 12 International Conference on Computer and Computing Technologies in Agriculture, CCTA 2010, held in Nanchang, China, in October 2010. The 352 revised papers presented were carefully selected from numerous submissions. They cover a wide range of interesting theories and applications of information technology in agriculture, including simulation models and decision-support systems for agricultural production, agricultural product quality testing, traceability and e-commerce technology, the application of information and communication technology in agriculture, and universal information service technology and service systems development in rural areas.
With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reverse engineering tools, and reengineering tools in-depth and explains the best ways to deploy them. It also discusses using XML-based tools, the roles of software components, object technology, and metaprogramming in improving systems maintenance, as well as how to align software with business goals through strategic maintenance.
This book provides the reader with a comprehensive knowledge of all the tools provided in the software SOLIDWORKS for a variety of engineering areas. It presents a broad choice of examples to be imitated in one's own work. In developing these examples, the authors' intent has been to exercise many program features and refinements. By displaying these, the authors hope to give readers the confidence to employ these program enhancements in their own modeling applications.
Communications: Wireless in Developing Countries and Networks of the Future The present book contains the proceedings of two conferences held at the World Computer Congress 2010 in Brisbane, Australia (September 20-23) organized by the International Federation for Information Processing (IFIP): the Third IFIP TC 6 Int- national Conference on Wireless Communications and Information Technology for Developing Countries (WCITD 2010) and the IFIP TC 6 International Network of the Future Conference (NF 2010). The main objective of these two IFIP conferences on communications is to provide a platform for the exchange of recent and original c- tributions in wireless networks in developing countries and networks of the future. There are many exiting trends and developments in the communications industry, several of which are related to advances in wireless networks, and next-generation Internet. It is commonly believed in the communications industry that a new gene- tion should appear in the next ten years. Yet there are a number of issues that are being worked on in various industry research and development labs and universities towards enabling wireless high-speed networks, virtualization techniques, smart n- works, high-level security schemes, etc. We would like to thank the members of the Program Committees and the external reviewers and we hope these proceedings will be very useful to all researchers int- ested in the fields of wireless networks and future network technologies.
This book presents a comprehensive mathematical theory that explains precisely what information flow is, how it can be assessed quantitatively - so bringing precise meaning to the intuition that certain information leaks are small enough to be tolerated - and how systems can be constructed that achieve rigorous, quantitative information-flow guarantees in those terms. It addresses the fundamental challenge that functional and practical requirements frequently conflict with the goal of preserving confidentiality, making perfect security unattainable. Topics include: a systematic presentation of how unwanted information flow, i.e., "leaks", can be quantified in operationally significant ways and then bounded, both with respect to estimated benefit for an attacking adversary and by comparisons between alternative implementations; a detailed study of capacity, refinement, and Dalenius leakage, supporting robust leakage assessments; a unification of information-theoretic channels and information-leaking sequential programs within the same framework; and a collection of case studies, showing how the theory can be applied to interesting realistic scenarios. The text is unified, self-contained and comprehensive, accessible to students and researchers with some knowledge of discrete probability and undergraduate mathematics, and contains exercises to facilitate its use as a course textbook.
Everything You Need to Know and Do to Coach Your Agile Project Team to Success As an agile coach, you can help project teams become outstanding at agile development, creating products that make them proud and helping organizations reap the powerful benefits of teams that deliver both innovation and excellence. More and more frequently, ScrumMasters and project managers are being asked to coach agile teams. However, the role of coach is a challenging one that often doesn't exist in traditional application development. Migrating from command and control to agile coaching requires new skills and a whole new mindset. In Coaching Agile Teams, leading agile coach Lyssa Adkins helps you master both so you can guide your agile teams to extraordinary performance. This practical book is packed with ideas, best practices, and checklists you can start using immediately. All of it reflects Adkins's own hard-won experience transitioning to agile coaching from traditional, large-scale project management, including the remarkable lessons she's learned from the teams she's worked with.You'll gain deep insight into the role of the agile coach, discover what works and what doesn't, and learn how to adapt powerful skills from the fields of professional coaching and mentoring. Coverage includes *Understanding what it takes to be a great agile coach*Mastering all of the agile coach's roles: teacher, mentor, problem solver, conflict navigator, and performance coach*Moving from agile team member or project leader to coach*Creating an environment where self-organized, high-performance teams can emerge*Coordinating collaboration *Evolving your leadership style as your team grows and changes*Staying actively engaged without dominating your team and stunting its growth*Operating in failure, recovery, and success modes*Getting the most out of your own personal agile coaching journey Whether you're an agile coach, leader, trainer, mentor, facilitator, ScrumMaster, project manager, product owner, or team member, this book will help you become skilled at helping others become truly great. What could possibly be more rewarding?
Executives of IT organizations are compelled to quickly implement server virtualization solutions because of significant cost savings. However, most IT professionals tasked with deploying virtualization solutions have little or no experience with the technology. This creates a high demand for information on virtualization and how to properly implement it in a datacenter. Advanced Server Virtualization: VMware(R) and Microsoft(R) Platforms in the Virtual Data Center focuses on the core knowledge needed to evaluate, implement, and maintain an environment that is using server virtualization. This book emphasizes the design, implementation and management of server virtualization from both a technical and a consultative point of view. It provides practical guides and examples, demonstrating how to properly size and evaluate virtualization technologies. This volume is not based upon theory, but instead on real world experience in the implementation and management of large scale projects and environments. Currently, there are few experts in this relatively new field, making this book a valuable resource The book is divided into major sections making it both a step-by-step guide for learning and implementing server virtualization as well as a quick reference. The chapter organization focuses first on introducing concepts and background, and then provides real-world scenarios. |
You may like...
Moomin Set of 3 Standard Notebooks
Flame Tree Studio
Notebook / blank book
R232
Discovery Miles 2 320
A Manifesto For Social Change - How To…
Moeletsi Mbeki, Nobantu Mbeki
Paperback
(4)
Extremisms In Africa
Alain Tschudin, Stephen Buchanan-Clarke, …
Paperback
(1)
|