![]() |
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
The book describes a fundamentally new approach to software dependability, considering a software system as an ever-changing system due to changes in service objectives, users' requirements, standards and regulations, and to advances in technology. Such a system is viewed as an Open System since its functions, structures, and boundaries are constantly changing. Thus, the approach to dependability is called Open Systems Dependability. The DEOS technology realizes Open Systems Dependability. It puts more emphasis on stakeholders' agreement and accountability achievement for business/service continuity than in elemental technologies.
Managing a software development project is a complex process. There are lots of deliverables to produce, standards and procedures to observe, plans and budgets to meet, and different people to manage. Project management doesn't just start and end with designing and building the system. Once you've specified, designed and built (or bought) the system it still needs to be properly tested, documented and settled into the live environment. This can seem like a maze to the inexperienced project manager, or even to the experienced project manager unused to a particular environment.A Hacker's Guide to Project Management acts as a guide through this maze. It's aimed specifically at those managing a project or leading a team for the first time, but it will also help more experienced managers who are either new to software development, or dealing with a new part of the software life-cycle. This book:describes the process of software development, how projects can fail and how to avoid those failuresoutlines the key skills of a good project manager, and provides practical advice on how to gain and deploy those skillstakes the reader step-by-step through the main stages of the project, explaining what must be done, and what must be avoided at each stagesuggests what to do if things start to go wrong!The book will also be useful to designers and architects, describing important design techniques, and discussing the important discipline of Software Architecture.This new edition:has been fully revised and updated to reflect current best practices in software developmentincludes a range of different life-cycle models and new design techniquesnow uses the Unified Modelling Language throughout
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux. You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform. Full installation instructions for all platforms at fsharp.org.
Future requirements for computing speed, system reliability, and cost-effectiveness entail the development of alternative computers to replace the traditional von Neumann organization. As computing networks come into being, one of the latest dreams is now possible - distributed computing. Distributed computing brings transparent access to as much computer power and data as the user needs for accomplishing any given task - simultaneously achieving high performance and reliability. The subject of distributed computing is diverse, and many researchers are investigating various issues concerning the structure of hardware and the design of distributed software. Distributed System Design defines a distributed system as one that looks to its users like an ordinary system, but runs on a set of autonomous processing elements (PEs) where each PE has a separate physical memory space and the message transmission delay is not negligible. With close cooperation among these PEs, the system supports an arbitrary number of processes and dynamic extensions. Distributed System Design outlines the main motivations for building a distributed system, including: inherently distributed applications performance/cost resource sharing flexibility and extendibility availability and fault tolerance scalability Presenting basic concepts, problems, and possible solutions, this reference serves graduate students in distributed system design as well as computer professionals analyzing and designing distributed/open/parallel systems. Chapters discuss: the scope of distributed computing systems general distributed programming languages and a CSP-like distributed control description language (DCDL) expressing parallelism, interprocess communication and synchronization, and fault-tolerant design two approaches describing a distributed system: the time-space view and the interleaving view mutual exclusion and related issues, including election, bidding, and self-stabilization prevention and detection of deadlock reliability, safety, and security as well as various methods of handling node, communication, Byzantine, and software faults efficient interprocessor communication mechanisms as well as these mechanisms without specific constraints, such as adaptiveness, deadlock-freedom, and fault-tolerance virtual channels and virtual networks load distribution problems synchronization of access to shared data while supporting a high degree of concurrency
Client-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion. Features Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion Motivates students with real-world projects and community service experiences Teaches all elements of the software process, including requirements gathering, design, collaboration, coding, testing, client communication, refactoring, and writing developer and user documentation Uses source code that can be reused and refitted to suit the needs of future projects, since each CO-FOSS product is free and open source software Provides links to a rich variety of resources for instructors and students to freely use in their own courses that develop new CO-FOSS products for other non-profits.
Software has often been left in the margins of accounts of digital cultures and network societies. Although software is everywhere, it is hard to say what it actually is.
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 easy-to-use, classroom-tested textbook covers the C programming language for computer science and IT students. Designed for a compulsory fundamental course, it presents the theory and principles of C. More than 500 exercises and examples of progressive difficulty aid students in understanding all the aspects and peculiarities of the C language. The exercises test students on various levels of programming and the examples enhance their concrete understanding of programming know-how. Instructor's manual and PowerPoint slides are available upon qualifying course adoption
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.
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of "Design Patterns " "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of "Designing Object-Oriented User Interfaces " "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributionsto our field." --Luke Hohmann, author of "Beyond Software Architecture " ""This book belongs on the shelf of every thoughtful software developer."" --Kent Beck ""What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important.""--Kyle Brown, author of "Enterprise Java(TM) Programming with IBM(R) WebSphere(R)" The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. "Domain-Driven Design" fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focusedand dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. "Domain-Driven Design" then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: Getting all team members to speak the same languageConnecting model and implementation more deeplySharpening key distinctions in a modelManaging the lifecycle of a domain object Writing domain code that is safe to combine in elaborate waysMaking complex code obvious and predictableFormulating a domain vision statement Distilling the core of a complex domainDigging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large systemDealing with coexisting models on the same projectOrganizing systems with large-scale structuresRecognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system
analysts, and designers will have the guidance they need to
organize and focus their work, create rich and useful domain
models, and leverage those models into quality, long-lasting
software implementations.
In two editions spanning more than a decade, The Electrical Engineering Handbook stands as the definitive reference to the multidisciplinary field of electrical engineering. Our knowledge continues to grow, and so does the Handbook. For the third edition, it has expanded into a set of six books carefully focused on a specialized area or field of study. Each book represents a concise yet definitive collection of key concepts, models, and equations in its respective domain, thoughtfully gathered for convenient access. Computers, Software Engineering, and Digital Devices examines digital and logical devices, displays, testing, software, and computers, presenting the fundamental concepts needed to ensure a thorough understanding of each field. It treats the emerging fields of programmable logic, hardware description languages, and parallel computing in detail. Each article includes defining terms, references, and sources of further information. Encompassing the work of the world's foremost experts in their respective specialties, Computers, Software Engineering, and Digital Devices features the latest developments, the broadest scope of coverage, and new material on secure electronic commerce and parallel computing.
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.
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.
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.
Whether you are a professional new to the user-centered design
field, or an experienced designer who needs to learn the
fundamentals of user interface design and evaluation, this book can
lead the way.
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
The 4th FTRA International Conference on Computer Science and its
Applications (CSA-12) will be held in Jeju, Korea on November 22
25, 2012.CSA-12 will be the most comprehensive conference focused
on the various aspects of advances in computer science and its
applications.CSA-12 will provide an opportunity for academic and
industry professionals to discuss the latest issues and progress in
the area of CSA.
There is extensive government research on cyber security science, technology, and applications. Much of this research will be transferred to the private sector to aid in product development and the improvement of protective measures against cyber warfare attacks. This research is not widely publicized. There are initiatives to coordinate these research efforts but there has never been a published comprehensive analysis of the content and direction of the numerous research programs. This book provides private sector developers, investors, and security planners with insight into the direction of the U.S. Government research efforts on cybersecurity.
Private clouds allow for managing multiple databases under one roof, avoiding unnecessary resource management. Private cloud solutions can be applied in sectors such as healthcare, retail, and software. The Introduction to Private Cloud using Oracle Exadata and Oracle Database will explore the general architecture of private cloud databases with a focus on Oracle's Exadata database machine. The book describes the private cloud using fundamental-level Exadata and database. Exadata has been Oracle's pioneer product for almost a decade. In the last few years, Oracle has positioned Exadata for customers to consume as a cloud service. This book will provide a timely introduction to Exadata for current and potential Oracle customers and other IT professionals.
Winner of a 2015 Alpha Sigma Nu Book Award, Software Essentials: Design and Construction explicitly defines and illustrates the basic elements of software design and construction, providing a solid understanding of control flow, abstract data types (ADTs), memory, type relationships, and dynamic behavior. This text evaluates the benefits and overhead of object-oriented design (OOD) and analyzes software design options. With a structured but hands-on approach, the book: Delineates malleable and stable characteristics of software design Explains how to evaluate the short- and long-term costs and benefits of design decisions Compares and contrasts design solutions, such as composition versus inheritance Includes supportive appendices and a glossary of over 200 common terms Covers key topics such as polymorphism, overloading, and more While extensive examples are given in C# and/or C++, often demonstrating alternative solutions, design-not syntax-remains the focal point of Software Essentials: Design and Construction. About the Cover: Although capacity may be a problem for a doghouse, other requirements are usually minimal. Unlike skyscrapers, doghouses are simple units. They do not require plumbing, electricity, fire alarms, elevators, or ventilation systems, and they do not need to be built to code or pass inspections. The range of complexity in software design is similar. Given available software tools and libraries-many of which are free-hobbyists can build small or short-lived computer apps. Yet, design for software longevity, security, and efficiency can be intricate-as is the design of large-scale systems. How can a software developer prepare to manage such complexity? By understanding the essential building blocks of software design and construction.
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs. Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming. For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
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.
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
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.
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. |
You may like...
The Asian Aspiration - Why And How…
Greg Mills, Olusegun Obasanjo, …
Paperback
The Accidental Mayor - Herman Mashaba…
Michael Beaumont
Paperback
(5)
1 Recce: Volume 3 - Onsigbaarheid Is Ons…
Alexander Strachan
Paperback
|