![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
This new edition of Risk Management: Concepts and Guidance supplies a look at risk in light of current information, yet remains grounded in the history of risk practice. Taking a holistic approach, it examines risk as a blend of environmental, programmatic, and situational concerns. Supplying comprehensive coverage of risk management tools, practices, and protocols, the book presents powerful techniques that can enhance organizational risk identification, assessment, and management-all within the project and program environments. Updated to reflect the Project Management Institute's A Guide to the Project Management Body of Knowledge (PMBOK (R) Guide), Fifth Edition, this edition is an ideal resource for those seeking Project Management Professional and Risk Management Professional certification. Emphasizing greater clarity on risk practice, this edition maintains a focus on the ability to apply "planned clairvoyance" to peer into the future. The book begins by analyzing the various systems that can be used to apply risk management. It provides a fundamental introduction to the basics associated with particular techniques, clarifying the essential concepts of risk and how they apply in projects. The second part of the book presents the specific techniques necessary to successfully implement the systems described in Part I. The text addresses project risk management from the project manager's perspective. It adopts PMI's perspective that risk is both a threat and an opportunity, and it acknowledges that any effective risk management practice must look at the potential positive events that may befall a project, as well as the negatives.Providing coverage of the concepts that many project management texts ignore, such as the risk response matrix and risk models, the book includes appendices filled with additional reference materials and supporting details that simplifying some of the most complex aspects of risk management.
As Cavalli and Sarma astutely remarked in the introduction to this volume, it is quite remarkable that SDL '97 may have the first participant younger than SDL itself. SDL '97 provides the opportunity to reflect the course SDL has taken and why it has been successful over two decades where other languages addressing the same market have failed. SDL now also has a permanent companion in MSC (Message Sequence Charts). MSC today is a language in its own right and has its areas of application both in conjunction with SDL and independently or in combination with other techniques. MSC has strong structuring concepts to specify message sequences for large systems and can be used to develop scenarios, which is extremely useful for test and design environments. The SDL Forum today really is the SDL and MSC Forum.
The three-volume set IFIP AICT 368-370 constitutes the refereed post-conference proceedings of the 5th IFIP TC 5, SIG 5.1 International Conference on Computer and Computing Technologies in Agriculture, CCTA 2011, held in Beijing, China, in October 2011. The 189 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. The 62 papers included in the first volume focus on decision support systems, intelligent systems, and artificial intelligence applications.
Systems Engineering Guidebook: A Process for Developing Systems and Products is intended to provide readers with a guide to understanding and becoming familiar with the systems engineering process, its application, and its value to the successful implementation of systems development projects. The book describes the systems engineering process as a multidisciplinary effort. The process is defined in terms of specific tasks to be accomplished, with great emphasis placed on defining the problem that is being addressed prior to designing the solution.
This book presents the latest research on the software crowdsourcing approach to develop large and complex software in a cloud-based platform. It develops the fundamental principles, management organization and processes, and a cloud-based infrastructure to support this new software development approach. The book examines a variety of issues in software crowdsourcing processes, including software quality, costs, diversity of solutions, and the competitive nature of crowdsourcing processes. Furthermore, the book outlines a research roadmap of this emerging field, including all the key technology and management issues for the foreseeable future. Crowdsourcing, as demonstrated by Wikipedia and Facebook for online web applications, has shown promising results for a variety of applications, including healthcare, business, gold mining exploration, education, and software development. Software crowdsourcing is emerging as a promising solution to designing, developing and maintaining software. Preliminary software crowdsourcing practices and platforms, including Apple's App Store and TopCoder, demonstrate the advantages of crowdsourcing in terms of software ecosystem expansion and product quality improvement.
This innovative book recognizes the need within the object-oriented community for a book that goes beyond the tools and techniques of the typical methodology book. In Analysis Patterns: Reusable Object Models, Martin Fowler focuses on the end result of object-oriented analysis and design-the models themselves. He shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models. Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains including trading, measurement, accounting and organizational relationships. Recognizing that conceptual patterns cannot exist in isolation, the author also presents a series of "support patterns" that discuss how to turn conceptual models into software that in turn fits into an architecture for a large information system. Included in each pattern is the reasoning behind their design, rules for when they should and should not be used, and tips for implementation. The examples presented in this book comprise a cookbook of useful models and insight into the skill of reuse that will improve analysis, modeling and implementation.
A Practical Guide to X Window Programming is a basic guide that takes readers step by step through developing applications using X-Windows. The book covers the Xt Intrinsics portion of the X-Window system in detail and discusses the MIT Athena and OSF/Motif Widget Sets that are used in many of the examples. Topics covered include C programming fundamentals, text handling using X, fonts, event handling in Xt, extending the Widget Sets (building on Field Editor Widget), designing and constructing an application, building menus, printing help, OSF/Motif (including the window arranger) and interclient communication. Three extensive appendices are included: Widgets, Classing, and Exported Functions; Quick Xt Reference Guide (X11R4); and Quick Guide to OSF/Motif Widgets. Any applications designer interested in developing applications with Xt will find this book a valuable and enlightening resource.
Today, organizations want to scale Scrum to ever larger and more complex projects, driving the benefits of agility throughout the enterprise. But most conventional solutions to scaling agility have added complexity and deviated from the principles that make Scrum so attractive. The Nexus Framework for Scaling Scrum introduces a better approach, reflecting the authors' many years of applying and scaling Scrum in multiple industries. Three leading Scrum.org experts introduce the Nexus Framework, showing how it enables smooth integration among multiple Scrum teams, as well as highly-effective collaboration with non-Scrum teams working on the same project. Drawing on their immense experience, they explain what Nexus is, how it works, and how it solves agile scalability problems that have bedeviled organizations for years. Next, they offer start-to-finish guidance for applying Nexus Framework principles throughout your own organization. You will walk through forming a Nexus, organizing work in a Nexus environment, managing and enabling a Nexus, and much more-all you need to succeed with Scrum in even the most challenging global projects.
Specification and Verification of Multi-agent Systems presents a coherent treatment of the area of formal specification and verification of agent-based systems with a special focus on verification of multi-agent programs. This edited volume includes contributions from international leading researchers in the area, addressing logical formalisms and techniques, such as model checking, theorem proving, and axiomatisations for (semi) automatic verification of agent-based systems. Chapters include: * Using Theorem Proving to Verify Properties of Agent Programs * The Refinement of Multi-Agent Systems * Model Checking Agent Communication * Directions for Agent Model Checking * Model Checking Logics of Strategic Ability: Complexity * Correctness of Mult-Agent Programs: A Hybrid Approach * The Norm Implementation Problem in Normative Multi-Agent Systems * A Verification Logic for GOAL Agents * Using the Maude Term Rewriting Language for Agent Development with Formal Foundations * The Cognitive Agents Specification Language and Verification Environment * A Temporal Trace Language for Formal Modelling and Analysis of Agent Systemns * Assurance of Agent Systems: What Role Should Formal Verification Play? Specification and Verification of Multi-agent Systems is a comprehensive guide that makes a useful tool for researchers, practitioners and students, and serves as a reference work summarizing the state of the art in an accessible manner.
A Practical Guide to Software Testing Much has been written about the difficulty of software testing. Often these laments are accompanied by cautionary words about how careful one has to be to ensure testing is done properly. However, there is a dearth of resources that give practical guidance on the nuts and bolts of testing. Essential Software Testing: A Use-Case Approach describes testing methods and techniques in a common sense manner that is easy to understand, helping readers to quickly and effectively implement project-specific testing solutions. Divided into three parts, the book first discusses ways to make testing agile, providing insight into how testing can be done efficiently in different process environments. Next, the book supplies an overview of testing concepts. Lastly, it demonstrates how to perform the actual test, detailing specific testing activities that can be used on almost any project, with specific attention given to use-case driven testing. It describes how to test using Use Cases regardless of the specific requirements of the project. The author weaves helpful war stories throughout the text, placing the concepts in a concrete framework. This guide gives software testers a firm grasp of all testing fundamentals: how to determine what to test and how to test it, how to select proper tests to match the plan, techniques to build and trace tests, and finally, how to conduct and record tests.
Focusing on tried and true best practice techniques in cross-technology based Oracle embedded programming, this book provides authoritative guidance for improving your code compilation and execution. Geared towards IT professionals developing Oracle-based Web-enabled applications in PL/SQL, Java, C, C++, .NET, Perl, and PHP, it covers application development from concepts to customization, following a pragmatic approach to design, coding, testing, deployment, and customization-explaining how to maximize embedded programming practices. Oracle Embedded Programming and Application Development explains application development frameworks using 3GL and 4GL high-level language code as embedded code segments across .NET, Java, and Open Source technologies, in conjunction with SQL and/or PL/SQL and the Oracle RDBMS through version 11gR2. It also: Features pluggable code using parameterized constructs to promote code reuse Explains when to use a particular embedded language as a best fit for specific applications Highlights design considerations that reduce the probability of errors, enable quick resolution, and boost performance in terms of enabling a Fast-Actionable-Synchronized-Tested (FAST) solution implementation Provides best practice techniques that can enhance any application development code-design methodology for a better, easier, faster, cheaper, and pervasive solution that in turn helps achieve a Better Business Benefit (B-B-B) This practical guide details techniques for constructing architecture and code design methodologies for live application development projects that can be generalized and standardized as application development and code design frameworks. Cover to cover, the text provides an understanding of how the designed, developed, and deployed solutions conform to emerging and next-generation trends. It also discusses the conformance and usage of Web 2.0-based RIA functionality and regulatory compliance practices involving auditing and security. Praise for: "Taking an Oracle-centric approach, Lakshman skillfully guides you through the maze of various popular programming languages and environments including .NET, C/C++, Perl, PHP, Java, and even SQL and PL/SQL - not only showing you how they interact with Oracle but also which language is the best fit for a given situation."-John Kanagaraj, Executive Editor, IOUG SELECT Journal
Software testing is at a very important crossroad, where it is going back to the roots on certain fronts while moving inexorably forward. For instance, test automation is growing in prominence, but manual testing is becoming a niche; we are increasingly collaborating with the developers, breaking the bounds of unrealistic independence in testing, and bringing in true conscious quality. At such an important stage, it is important to take stock of the past, present, and future to define both the direction the discipline will take as well as the careers it will entail for testers. This book looks at a range of topics covering where we are in the product development landscape today, what are the varied disciplines at play, what are the influencing factors bringing in a change in software testing, why is such change important, what did the past look like, what is current decade turning out to be like, and where are we heading. As for future, it looks at it both from near-term and long-term perspectives. It also considers whether the testing fraternity is ready to take on such changes and are empowered enough to do so, or are there gaps that need to be filled. The book closes with perspectives from industry experts on what is in store for the software testing discipline and community in the coming years. After reading the book, you will be confident that you can take on what is in store for testers in the coming years. You will also be positioned to help the industry move to the next level, and influence change not just amongst testers but also in the product engineering industry level as a whole.
Although integrating security into the design of applications has proven to deliver resilient products, there are few books available that provide guidance on how to incorporate security into the design of an application. Filling this need, Security for Service Oriented Architectures examines both application and security architectures and illustrates the relationship between the two. Supplying authoritative guidance on how to design distributed and resilient applications, the book provides an overview of the various standards that service oriented and distributed applications leverage, including SOAP, HTML 5, SAML, XML Encryption, XML Signature, WS-Security, and WS-SecureConversation. It examines emerging issues of privacy and discusses how to design applications within a secure context to facilitate the understanding of these technologies you need to make intelligent decisions regarding their design.This complete guide to security for web services and SOA considers the malicious user story of the abuses and attacks against applications as examples of how design flaws and oversights have subverted the goals of providing resilient business functionality. It reviews recent research on access control for simple and conversation-based web services, advanced digital identity management techniques, and access control for web-based workflows. Filled with illustrative examples and analyses of critical issues, this book provides both security and software architects with a bridge between software and service-oriented architectures and security architectures, with the goal of providing a means to develop software architectures that leverage security architectures.It is also a reliable source of reference on Web services standards. Coverage includes the four types of architectures, implementing and securing SOA, Web 2.0, other SOA platforms, auditing SOAs, and defending and detecting attacks.
Identifies Recent Technological Developments Worldwide The field of grid computing has made rapid progress in the past few years, evolving and developing in almost all areas, including concepts, philosophy, methodology, and usages. Grid Computing: Infrastructure, Service, and Applications reflects the recent advances in this field, covering the research aspects that involve infrastructure, middleware, architecture, services, and applications. Grid Systems Across the Globe The first section of the book focuses on infrastructure and middleware and presents several national and international grid systems. The text highlights China Research and Development environment Over Wide-area Network (CROWN), several ongoing cyberinfrastructure efforts in New York State, and Enabling Grids for E-sciencE (EGEE), which is co-funded by the European Commission and the world's largest multidisciplinary grid infrastructure today. The second part of the book discusses recent grid service advances. The authors examine the UK National Grid Service (NGS), the concept of resource allocation in a grid environment, OMIIBPEL, and the possibility of treating scientific workflow issues using techniques from the data stream community. The book describes an SLA model, reviews portal and workflow technologies, presents an overview of PKIs and their limitations, and introduces PIndex, a peer-to-peer model for grid information services. New Projects and Initiatives The third section includes an analysis of innovative grid applications. Topics covered include the WISDOM initiative, incorporating flow-level networking models into grid simulators, system-level virtualization, grid usage in the high-energy physics environment in the LHC project, and the Service Oriented HLA RTI (SOHR) framework. With a comprehensive summary of past advances, this text is a window into the future of this nascent technology, forging a path for the next generation of cyberinfrastructure developers.
This book gives an in-depth introduction to the areas of modeling, identification, simulation, and optimization. These scientific topics play an increasingly dominant part in many engineering areas such as electrotechnology, mechanical engineering, aerospace, and physics. This book represents a unique and concise treatment of the mutual interactions among these topics.
The challenges of designing, building, and maintaining large-scale, distributed enterprise systems are truly daunting. Written for all IT professionals, The Complete Book of Middleware will aid in resolving new business objectives, new technologies, and vendor disputes. This book focuses on the essential principles and priorities of system design and emphasizes the new requirements brought forward by the rise of e-commerce and distributed integrated systems. This reference highlights the changes to middleware technologies and standards. It offers a concise overview of middleware technology alternatives and distributed systems. Many increasingly complex examples are incorporated throughout and the book concludes with guidelines on the practice of IT architecture. Performance considerations such as caching and monitoring are reviewed and the appendix includes middleware resources and new modeling standards. The scope includes traditional middleware and also next-generation techniques that serve to glue disparate systems in the ever-expanding world of distributed network systems. Provided with concepts, principles, and alternatives discussed in The Complete Book of Middleware, systems architects, systems analysts, systems designers, systems developers, and programmers, can proceed with greater confidence in designing complex enterprise systems.
Concurrency is a powerful technique for developing efficient and lightning- fast software. For instance, concurrency can be used in common applications such as online order processing to speed processing and ensure transaction reliability. However, mastering concurrency is one of the greatest challenges for both new and veteran programmers. Software developers with all levels of experience can refer to Creating Components: Object Oriented, Concurrent, and Distributed Computing in Java to better understand how concurrency works, more effectively deploy it in program components, and reuse these components to improve program design, quality, and performance. This text introduces concurrent and component programming to students, engineers, and programmers who are familiar with Java and procedural and GUI programming. It helps them to understand and apply concurrency in Java component programming, while exploring distributed program implementation, Java threads, objects, interfaces, exceptions, component reuse, and system design and management. By providing the fundamental concepts of object-oriented components and offering templates for distributed program components, this valuable resource reveals how programmers can apply concurrency and components to solve complex problems.
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.
A student-friendly text, A Concise Introduction to Data Structures Using Java takes a developmental approach, starting with simpler concepts first and then building toward greater complexity. Important topics, such as linked lists, are introduced gradually and revisited with increasing depth. More code and guidance are provided at the beginning, allowing students time to adapt to Java while also beginning to learn data structures. As students develop fluency in Java, less code is provided and more algorithms are outlined in pseudocode. The text is designed to support a second course in computer science with an emphasis on elementary data structures. The clear, concise explanations encourage students to read and engage with the material, while partial implementations of most data structures give instructors the flexibility to develop some methods as examples and assign others as exercises. The book also supplies an introductory chapter on Java basics that allows students who are unfamiliar with Java to quickly get up to speed. The book helps students become familiar with how to use, design, implement, and analyze data structures, an important step on the path to becoming skilled software developers.
Project managers who lead globally dispersed teams face unique challenges in managing project stakeholders, scope, knowledge sharing, schedules, resources, and above all team execution in a global business environment. Finding timely solutions to challenging events becomes more difficult in a global project environment. This book presents more than 80 case studies designed to help project managers craft solutions to the typical problems that can occur in global projects. The author describes surprising, unexpected, and catastrophic cases that he encountered during his 35 years of project management experience in the global arena. The author details the background of each challenging case and then explains how he remedied the issue at hand. Some cases involve a logical step-by-step approach toward a solution, while others require unorthodox steps to get the project on the right track. The book includes lessons learned after every case. This book is designed to help global project managers become more proactive, careful, disciplined, and ready for sudden surprises that can affect their projects. The project cases detailed in this book support and guide the strategizing process that occurs during the execution of global projects. The book emphasizes the importance of documenting lessons learned after each project to prevent making the same mistakes in the future.
In programming courses, using the different syntax of multiple languages, such as C plus plus, Java, PHP, and Python, for the same abstraction often confuses students new to computer science. Introduction to Programming Languages separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. Designed for a one-semester undergraduate course, this classroom-tested book teaches the principles of programming language design and implementation. It presents: Common features of programming languages at an abstract level rather than a comparative level The implementation model and behavior of programming paradigms at abstract levels so that students understand the power and limitations of programming paradigms Language constructs at a paradigm level A holistic view of programming language design and behavior To make the book self-contained, the author introduces the necessary concepts of data structures and discrete structures from the perspective of programming language theory. The text covers classical topics, such as syntax and semantics, imperative programming, program structures, information exchange between subprograms, object-oriented programming, logic programming, and functional programming. It also explores newer topics, including dependency analysis, communicating sequential processes, concurrent programming constructs, web and multimedia programming, event-based programming, agent-based programming, synchronous languages, high-productivity programming on massive parallel computers, models for mobile computing, and much more. Along with problems and further reading in each chapter, the book includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.
A Functional Start to Computing with Python enables students to quickly learn computing without having to use loops, variables, and object abstractions at the start. Requiring no prior programming experience, the book draws on Python's flexible data types and operations as well as its capacity for defining new functions. Along with the specifics of Python, the text covers important concepts of computing, including software engineering motivation, algorithms behind syntax rules, advanced functional programming ideas, and, briefly, finite state machines. Taking a student-friendly, interactive approach to teach computing, the book addresses more difficult concepts and abstractions later in the text. The author presents ample explanations of data types, operators, and expressions. He also describes comprehensions the powerful specifications of lists and dictionaries before introducing loops and variables. This approach helps students better understand assignment syntax and iteration by giving them a mental model of sophisticated data first. Web ResourceThe book's supplementary website at http://functionalfirstpython.com/ provides many ancillaries, including: Interactive flashcards on Python language elements Links to extra support for each chapter Unit testing and programming exercises An interactive Python stepper tool Chapter-by-chapter points Material for lectures
While teaching Java programming at Minnesota State University, the authors noticed that engineering students were enrolling in Java programming courses in order to obtain basic programming skills, but there were no Java books suitable for courses intended for engineers. They realized the need for a comprehensive Java programming tutorial that offers basic programming skills that can be applied in the field of engineering. With this in mind, the authors developed Java Programming for Engineers in order to meet the needs of both engineers and engineering students. The text uses the personal computer as a development platform and assumes no prior programming experience or knowledge. The only skills expected of the reader are basic keyboarding and user-level familiarity with the PC. Topics covered range from mathematical expressions to linear systems to engineering graphics. Chapters on problem solving skills and the designing of engineering applications walk readers through real word problems they might encounter. Divided into two parts, Part 1 is a description of the Java language, of the fundamentals of object orientation, input and output operations, and error handling. Part 2 is about Java programming for engineers. It starts with computer number systems, fixed- and variable-precision numeric data, mathematical programming in Java as could be of interest to engineers, and concludes with an overview of Java Graphics.
Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability. The book describes a comprehensive dependability-engineering process and explains the roles of software and software engineers in computer system dependability. Readers will learn: Why dependability matters What it means for a system to be dependable How to build a dependable software system How to assess whether a software system is adequately dependable The author focuses on the actions needed to reduce the rate of failure to an acceptable level, covering material essential for engineers developing systems with extreme consequences of failure, such as safety-critical systems, security-critical systems, and critical infrastructure systems. The text explores the systems engineering aspects of dependability and provides a framework for engineers to reason and make decisions about software and its dependability. It also offers a comprehensive approach to achieve software dependability and includes a bibliography of the most relevant literature. Emphasizing the software engineering elements of dependability, this book helps software and computer engineers in fields requiring ultra-high levels of dependability, such as avionics, medical devices, automotive electronics, weapon systems, and advanced information systems, construct software systems that are dependable and within budget and time constraints.
Teach Your Students How to Use Computing to Explore Powerful and Creative Ideas In the twenty-first century, computers have become indispensable in music making, distribution, performance, and consumption. Making Music with Computers: Creative Programming in Python introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, showing students how to integrate the creativity and design of the arts with the mathematical rigor and formality of computer science. The book provides an introduction to creative software development in the Python programming language. It uses innovative music-creation activities to illustrate introductory computer programming concepts, including data types, algorithms, operators, iteration, lists, functions, and classes. The authors also cover GUIs, event-driven programming, big data, sonification, MIDI programming, client'server programming, recursion, fractals, and complex system dynamics. Requiring minimal musical or programming experience, the text is designed for courses in introductory computer science and computing in the arts. It helps students learn computer programming in a creative context and understand how to build computer music applications. Also suitable for self-study, the book shows musicians and digital music enthusiasts how to write music software and create algorithmic music compositions. Web ResourceA supplementary website (http://jythonMusic.org) provides a music library and other software resources used in the text. The music library is an extension of the jMusic library and incorporates other cross-platform programming tools. The website also offers example course and associated media resources. |
![]() ![]() You may like...
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R4,068
Discovery Miles 40 680
Edsger Wybe Dijkstra - His Life, Work…
Krzysztof R. Apt, Tony Hoare
Hardcover
R3,225
Discovery Miles 32 250
Software Architecture in Practice
Len Bass, Paul Clements, …
Paperback
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,084
Discovery Miles 40 840
Research Anthology on Architectures…
Information R Management Association
Hardcover
R14,044
Discovery Miles 140 440
Research Anthology on Architectures…
Information R Management Association
Hardcover
R14,048
Discovery Miles 140 480
|