Software Engineering Books
MIT Press Ltd Software Design Decoded 66 Ways Experts Think The
Book SynopsisAn engaging, illustrated collection of insights revealing the practices and principles that expert software designers use to create great software.What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software. The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, “Experts generate alternatives” is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful.Organized i
£20.70
MIT Press Ltd Semantics Engineering with PLT Redex The MIT
Book SynopsisThe first comprehensive presentation of reduction semantics in one volume, and the first tool set for such forms of semantics.This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages. With PLT Redex, semanticists can formulate models as grammars and reduction models on their computers with the ease of paper and pencil. The text first presents a framework for the formulation of language models, focusing on equational calculi and abstract machines, then introduces PLT Redex, a suite of software tools for e
£49.40
MIT Press Ltd The Little Prover
Book SynopsisAn introduction to writing proofs about computer programs, written in an accessible question-and-answer style, complete with step-by-step examples and a simple proof assistant.The Little Prover introduces inductive proofs as a way to determine facts about computer programs. It is written in an approachable, engaging style of question-and-answer, with the characteristic humor of The Little Schemer (fourth edition, MIT Press). Sometimes the best way to learn something is to sit down and do it; the book takes readers through step-by-step examples showing how to write inductive proofs. The Little Prover assumes only knowledge of recursive programs and lists (as presented in the first three chapters of The Little Schemer) and uses only a few terms beyond what novice programmers already know. The book comes with a simple proof assistant to help readers work through the book and complete solutions to every example.
£34.20
Pearson Education Writing Better Requirements
Book Synopsis Ian Alexander is an independent consultant specialising in Requirements Engineering. He has written several training courses on systems and requirements engineering. He has led hundreds of training courses on systems engineering, requirements, DOORS, and DXL, and has run numerous practical workshops on scenarios, trade-offs and requirements. He was co-author of an Addison-Wesley book on HTML 3 and its 2nd Edition on HTML 4. He is the author of the Scenario Plus for Use Cases toolkit, and is a well-known speaker and writer on scenario usage. He is currently on a technology project to investigate the reuse of specifications for control systems in the German automobile industry. He helps to run the BCS Requirements Engineering Specialist Group and the IEE Professional Network for Systems Engineering. He is a Chartered Engineer. Richard Stevens is the founder of QSS, the firm that launched the pioneering RequirTable of Contents Table of Contents 1. Introduction 9 1.1 Why do requirements matter? 9 1.2 Who are requirements for? 12 1.3 Different names for requirements 13 1.4 Different types of specification 14 1.5 The challenge of writing better requirements 15 1.6 The requirements writing process 18 2. Identifying the stakeholders 21 2.1 Different types of stakeholder 21 2.2 Your house extension: a simple case? 22 2.3 A practical approach to identifying stakeholders 23 Exercise 1: Listing the stakeholders 23 3. Gathering requirements from stakeholders 26 3.1 Possible techniques 26 Exercise 2: Asking 'why?' 28 3.2 Interviews 28 3.3 Workshops 32 3.4 Experiencing life as a user 36 3.5 Observing users at work 36 3.6 Acting out what needs to happen 36 3.7 Prototypes 38 4. Other sources of requirements 40 4.1 Possible sources 40 Exercise 3: Extracting requirements from source documents 44 Exercise 4: Extracting requirements from a memo 45 4.2 Getting requirements for mass-market products 45 4.3 User requirements in subsystem projects 46 5. Structuring the requirements 47 5.1 You need structure as well as text 47 5.2 Breaking the problem down into steps 48 5.3 Organizing requirements into scenarios 50 5.4 Examples of goal decomposition 52 Exercise 5: A structure for user requirements 53 5.5 Handling exceptions 53 Exercise 6: Could anything go wrong here? 54 Exercise 7: Exceptions 55 5.6 Examples and exercises in requirement structure 57 Exercise 8: Creating a heading structure 57 Exercise 9: The right document for each subject 57 Exercise 10: Wrongly placed requirements 58 6. Requirements in context 59 6.1 The user requirements document 59 6.2 Organizing the constraints 60 Exercise 11: Writing constraints 64 6.3 Defining the scope 64 Exercise 12: Restricting the scope 65 6.4 Requirement attributes 65 6.5 Keeping track of the requirements 67 7. Requirements writing 70 7.1 Quality, not perfection 70 7.2 Sketch, then improve 70 7.3 Anatomy of a good requirement 70 7.4 Guidelines for good requirements 71 7.5 Don't write like this 72 Exercise 13: Good requirements 75 Exercise 14: Writing requirements for familiar domestic systems 75 Exercise 15: Ambiguous requirements 76 8. Checking and reviewing 78 8.1 Checking the document structure with users 78 8.2 Checking the requirements 80 Exercise 16: Checking individual requirements 81 Exercise 17: Checking a set of requirements 82 8.3 Reviewing 83 8.4 Success - the reviewed document 85 Exercise 18: Reviewing 85 A: Answers to exercises 87 Exercise 1: Listing the stakeholders 87 Exercise 2: Asking 'why?' 87 Exercise 3: Extracting requirements from source documents 87 Exercise 4: Extracting requirements from a memo 88 Exercise 5: A structure for user requirements 88 Exercise 6: Could anything go wrong here? 89 Exercise 7: Exceptions 89 Exercise 8: Creating a heading structure 90 Exercise 9: The right document for each subject 90 Exercise 10: Wrongly placed requirements 90 Exercise 11: Writing constraints 91 Exercise 12: Restricting the scope 92 Exercise 13: Good requirements 92 Exercise 14: Writing requirements for familiar domestic systems 93 Exercise 15: Ambiguous requirements 93 Exercise 16: Checking individual re
£48.44
Pearson Education (US) Agile Testing
Book SynopsisLisa Crispin is dedicated to helping agile teams and testers discover good ways to deliver the best possible product. She specializes in showing testers and agile teams how testers can add value and how to guide development with business-facing tests. Since 2003, she's been a tester on a Scrum/XP team at ePlan Services, Inc., and frequently leads tutorials and workshops on agile testing at conferences. Lisa regularly contributes articles about agile testing to publications such as Better Software magazine, I EEE Software, and Methods and Tools. Lisa also coauthored Testing Extreme Programming (Addison-Wesley, 2002) with Tip House. Janet Gregory is the founder of DragonFire, Inc., an agile quality process consultancy and training firm. Her passion is helping teams build quality systems. Since 1998, she has worked as a coach and tester introducing agile practices into both large and small companies. Her focus is working with business usTrade Review“As Agile methods have entered the mainstream, we’ve learned a lot about how the testing discipline fits into Agile projects. Lisa and Janet give us a solid look at what to do, and what to avoid, in Agile testing.” –Ron Jeffries, www.XProgramming.com “An excellent introduction to agile and how it affects the software test community!” –Gerard Meszaros, Agile Practice Lead and Chief Test Strategist at Solution Frameworks, Inc., an agile coaching and lean software development consultancy “In sports and music, people know the importance of practicing technique until it becomes a part of the way they do things. This book is about some of the most fundamental techniques in software development–how to build quality into code–techniques that should become second nature to every development team. The book provides both broad and in-depth coverage of how to move testing to the front of the development process, along with a liberal sprinkling of real-life examples that bring the book to life.” –Mary Poppendieck, Author of Lean Software Development and Implementing Lean Software Development “Refreshingly pragmatic. Chock-full of wisdom. Absent of dogma. This book is a gamechanger. Every software professional should read it.” –Uncle Bob Martin, Object Mentor, Inc. “With Agile Testing, Lisa and Janet have used their holistic sensibility of testing to describe a culture shift for testers and teams willing to elevate their test effectiveness. The combination of real-life project experiences and specific techniques provide an excellent way to learn and adapt to continually changing project needs.” –Adam Geras, M.Sc. Developer-Tester, Ideaca Knowledge Services “On Agile projects, everyone seems to ask, ‘But, what about testing?’ Is it the development team’s responsibility entirely, the testing team, or a collaborative effort between developers and testers? Or, ‘How much testing should we automate?’ Lisa and Janet have written a book that finally answers these types of questions and more! Whether you’re a tester, developer, or manager, you’ll learn many great examples and stories from the real-world work experiences they’ve shared in this excellent book.” –Paul Duvall, CTO of Stelligent and co-author of Continuous Integration: Improving Software Quality and Reducing Risk “Finally a book for testers on Agile teams that acknowledges there is not just one right way! Agile Testing provides comprehensive coverage of the issues testers face when they move to Agile: from tools and metrics to roles and process. Illustrated with numerous stories and examples from many contributors, it gives a clear picture of what successful Agile testers are doing today.” –Bret Pettichord, Chief Technical Officer of WatirCraft and Lead Developer of Watir Table of ContentsForeword by Mike Cohn xxiiiForeword by Brian Marick xxvPreface xxviiAcknowledgments xxxviiAbout the Authors xli Part I: Introduction 1Chapter 1: What Is Agile Testing, Anyway? 3 Agile Values 3 What Do We Mean by “Agile Testing”? 4 A Little Context for Roles and Activities on an Agile Team 7 How Is Agile Testing Different? 9 Whole-Team Approach 15 Summary 17 Chapter 2: Ten Principles for Agile Testers 19 What’s an Agile Tester? 19 The Agile Testing Mind-Set 20 Applying Agile Principles and Values 21 Adding Value 31 Summary 33 Part II: Organizational Challenges 35Chapter 3: Cultural Challenges 37 Organizational Culture 37 Barriers to Successful Agile Adoption by Test/QA Teams 44 Introducing Change 49 Management Expectations 52 Change Doesn’t Come Easy 56 Summary 58 Chapter 4: Team Logistics 59 Team Structure 59 Physical Logistics 65 Resources 66 Building a Team 69 Summary 71 Chapter 5: Transitioning Typical Processes 73 Seeking Lightweight Processes 73 Metrics 74 Defect Tracking 79 Test Planning 86 Existing Processes and Models 88 Summary 93 Part III: The Agile Testing Quadrants 95Chapter 6: The Purpose of Testing 97 The Agile Testing Quadrants 97 Knowing When a Story Is Done 104 Managing Technical Debt 106 Testing in Context 106 Summary 108 Chapter 7: Technology-Facing Tests that Support the Team 109 An Agile Testing Foundation 109 Why Write and Execute These Tests? 112 Where Do Technology-Facing Tests Stop? 119 What If the Team Doesn’t Do These Tests? 121 Toolkit 123 Summary 127 Chapter 8: Business-Facing Tests that Support the Team 129 Driving Development with Business-Facing Tests 129 The Requirements Quandary 132 Thin Slices, Small Chunks 144 How Do We Know We’re Done? 146 Tests Mitigate Risk 147 Testability and Automation 149 Summary 150 Chapter 9: Toolkit for Business-Facing Tests that Support the Team 153 Business-Facing Test Tool Strategy 153 Tools to Elicit Examples and Requirements 155 Tools for Automating Tests Based on Examples 164 Strategies for Writing Tests 177 Testability 183 Test Management 186 Summary 186 Chapter 10: Business-Facing Tests that Critique the Product 189 Introduction to Quadrant 3 190 Demonstrations 191 Scenario Testing 192 Exploratory Testing 195 Usability Testing 202 Behind the GUI 204 Testing Documents and Documentation 207 Tools to Assist with Exploratory Testing 210 Summary 214 Chapter 11: Critiquing the Product Using Technology-Facing Tests 217 Introduction to Quadrant 4 217 Who Does It? 220 When Do You Do It? 222 “ility” Testing 223 Performance, Load, Stress, and Scalability Testing 233 Summary 238 Chapter 12: Summary of Testing Quadrants 241 Review of the Testing Quadrants 241 A System Test Example 242 Tests Driving Development 244 Automation 245 Critiquing the Product with Business-Facing Tests 248 Documentation 251 Using the Agile Testing Quadrants 252 Summary 253 Part IV: Automation 255Chapter 13: Why We Want to Automate Tests and What Holds Us Back 257 Why Automate? 258 Barriers to Automation—Things that Get in the Way 264 Can We Overcome These Barriers? 270 Summary 271 Chapter 14: An Agile Test Automation Strategy 273 An Agile Approach to Test Automation 274 What Can We Automate? 279 What Shouldn’t We Automate? 285 What Might Be Hard to Automate? 287 Developing an Automation Strategy—Where Do We Start? 288 Applying Agile Principles to Test Automation 298 Supplying Data for Tests 304 Evaluating Automation Tools 311 Implementing Automation 316 Managing Automated Tests 319 Go Get Started 324 Summary 324 Part V: An Iteration in the Life of a Tester 327Chapter 15: Tester Activities in Release or Theme Planning 329 The Purpose of Release Planning 330 Sizing 332 Prioritizing 338 What’s in Scope? 340 Test Planning 345 Test Plan Alternatives 350 Preparing for Visibility 354 Summary 366 Chapter 16: Hit the Ground Running 369 Be Proactive 369 Advance Clarity 373 Examples 378 Test Strategies 380 Prioritize Defects 381 Resources 381 Summary 382 Chapter 17: Iteration Kickoff 383 Iteration Planning 383 Testable Stories 393 Collaborate with Customers 396 High-Level Tests and Examples 397 Summary 403 Chapter 18: Coding and Testing 405 Driving Development 406 Tests that Critique the Product 412 Collaborate with Programmers 413 Talk to Customers 414 Completing Testing Tasks 415 Dealing with Bugs 416 It’s All about Choices 419 Facilitate Communication 429 Regression Tests 432 Resources 434 Iteration Metrics 435 Summary 440 Chapter 19: Wrap Up the Iteration 443 Iteration Demo 443 Retrospectives 444 Celebrate Successes 449 Summary 451 Chapter 20: Successful Delivery 453 What Makes a Product? 453 Planning Enough Time for Testing 455 The End Game 456 Customer Testing 464 Post-Development Testing Cycles 467 Deliverables 468 Releasing the Product 470 Customer Expectations 475 Summary 476 Part VI: Summary 479Chapter 21: Key Success Factors 481 Success Factor 1: Use the Whole-Team Approach 482 Success Factor 2: Adopt an Agile Testing Mind-Set 482 Success Factor 3: Automate Regression Testing 484 Success Factor 4: Provide and Obtain Feedback 484 Success Factor 5: Build a Foundation of Core Practices 486 Success Factor 6: Collaborate with Customers 489 Success Factor 7: Look at the Big Picture 490 Summary 491 Glossary 493Bibliography 501Index 509
£40.04
Pearson Education (US) Documenting Software Architectures
Book SynopsisPaul Clements is a Senior Member of the Technical Staff at the Carnegie Mellon Software Engineering Institute (SEI), where he has worked since 1994 leading or coleading projects in software product-line engineering and software architecture documentation and analysis. Besides this one, Clements is the coauthor of two other practitioner-oriented books about software architecture: Software Architecture in Practice (Addison-Wesley, 1998; Second Edition 2003) and Evaluating Software Architectures: Methods and Case Studies (Addison-Wesley, 2001). He also cowrote Software Product Lines: Practices and Patterns (Addison-Wesley, 2001) and was coauthor and editor of Constructing Superior Software (Sams, 1999). In addition, Clements has authored dozens of papers in software engineering, reflecting his longstanding interest in the design and specification of challenging software systems. In 2005 and 2006 he spent a year as a visiting faculty member at the Indian Table of Contents Prologue: Software Architectures and Documentation Part I: A Collection of Software Architecture Styles Chapter 1: Module Views Chapter 2: A Tour of Some Module Styles Chapter 3: Component-and-Connector Views Chapter 4: A Tour of Some Component-and-Connector Styles Chapter 5: Allocation Views and a Tour of Some Allocation Styles Part II: Beyond Structure: Completing the Documentation Chapter 6: Beyond the Basics Chapter 7: Documenting Software Interfaces Chapter 8: Documenting Behavior Part III: Building the Architecture Documentation Chapter 9: Choosing the Views Chapter 10: Building the Documentation Package Chapter 11: Reviewing an Architecture Document Epilogue: Using Views and Beyond with Other Approaches Appendix A: UML—Unified Modeling Language Appendix B: SysML—Systems Modeling Language Appendix C: AADL—The SAE Architecture Analysis and Design Language
£70.14
CRC Press Global Software Engineering
Book SynopsisTechnology and organizations co-evolve, as is illustrated by the growth of information and communication technology (ICT) and global software engineering (GSE). Technology has enabled the development of innovations in GSE. The literature on GSE has emphasized the role of the organization at the expense of technology. This book explores the role of technology in the evolution of globally distributed software engineering. To date, the role of the organization has been examined in coordinating GSE activities because of the prevalence of the logic of rationality (i.e., the efficiency ethos, mechanical methods, and mathematical analysis) and indeterminacy (i.e., the effectiveness ethos, natural methods, and functional analysis). This logic neglects the coordination role of ICT. However, GSE itself is an organizational mode that is technology-begotten, technology-dominated, and technology-driven, as is its coordination. GSE is a direct reflection of ICT innovation, change, and use,Table of ContentsIntroduction. Coordination Theory. Logic of Virtuality. Materiality of Technology. Management of Information. Exploitation of Geography. Paradox of Organization. Virtuality of Coordination. Illustration of Coordination. Reflections. Appendix.
£95.00
Taylor & Francis Ltd Multiagent Systems
Book SynopsisMultiagent 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 tTable of ContentsPreface. Introduction. Theoretical Background. Distributed Intelligence in Power Systems. Consensus for Heterogeneous Systems with Delays. Secure Control of Distributed Multiagent Systems. Advanced Consensus Algorithms. Cooperative Control of Networked Power Systems. Dynamic Graphical Games. References. Index.
£175.75
Taylor & Francis Ltd Remote Delivery
Book SynopsisThis book records the author's years of experience in the software industry. In his own practices, the author has found that the distributed work pattern has become increasingly popular in more and more work environments, either between vendors and customers or between different teams inside a company. This means that all practitioners in the software industry need to adapt to this new way of communication and collaboration and get skilled enough to meet the greater challenges in integrating the distributed work pattern with agile software delivery. By centering on the difficulties in communication and collaboration between distributed teams, this book digs into the reasons why so many remote delivery projects end up anticlimactic and provides solutions for readers' reference. It also cites successful cases in promoting agile development in distributed teams, which has been a vexing problem for many software development companies. In addition, readers can find suggestions andTable of ContentsForeword 1: Taking Up Delivery Wholeheartedly. Foreword 2: Pursue Ideal Software Delivery. Preface. Chapter 1 Current Situation of Distributed Teams. Chapter 2 Communication between Distributed Teams. Chapter 3 Collaboration between Distributed Teams. Chapter 4 Application of Visualization. Chapter 5 Waste in Distributed Teams. Chapter 6 Self-Managed Offshore Teams. Chapter 7 Customer-Oriented Offshore Teams. Chapter 8 The Future of Distributed Teams. Postscript. References. Index.
£84.99
CRC Press Elements of Radio Frequency Energy Harvesting and
Book SynopsisThis book focuses on elementary concepts of both radio frequency energy harvesting (RFEH) and wireless power transfer (WPT), and highlights their fundamental requirements followed by recent advancements. It provides a systematic overview of the key components required for RFEH and WPT applications and also comprehensively introduces the pioneering research advancements achieved to date. The state-of-the-art circuit design topologies for the two different applications are presented mainly in terms of antenna operating frequencies, polarization characteristics, efficient matching network circuits, rectifier topologies, and overall rectenna systems. The book serves as a single point of reference for practicing engineers and researchers searching for potential sources and elements involved in the RFEH system as well as in the WPT system, and need rapid training and design guidelines in the following areas:â Different sensing elements used in RFEH and WPTâ Inclusions of matTable of ContentsPART A Elements of RF Energy Harvesting (RFEH) Systems Chapter 1 Introduction..........................................................................................3Chapter 2 Antennas for RFEH Systems.............................................................. 11Chapter 3 Rectifiers for RFEH Systems.............................................................. 33Chapter 4 Rectennas for RFEH Systems............................................................. 51PART B Elements of Wireless Power Transfer (WPT) SystemsChapter 5 Antennas for WPT Systems................................................................69Chapter 6 Rectifiers for WPT Systems................................................................89Chapter 7 Rectennas for WPT Systems............................................................. 111Chapter 8 Matching Networks........................................................................... 123Chapter 9 Some Applications............................................................................ 143
£43.69
Taylor & Francis Ltd Statistics and Data Visualisation with Python
Book SynopsisThis book is intended to serve as a bridge in statistics for graduates and business practitioners interested in using their skills in the area of data science and analytics as well as statistical analysis in general. On the one hand, the book is intended to be a refresher for readers who have taken some courses in statistics, but who have not necessarily used it in their day-to-day work. On the other hand, the material can be suitable for readers interested in the subject as a first encounter with statistical work in Python. Statistics and Data Visualisation with Python aims to build statistical knowledge from the ground up by enabling the reader to understand the ideas behind inferential statistics and begin to formulate hypotheses that form the foundations for the applications and algorithms in statistical analysis, business analytics, machine learning, and applied machine learning. This book begins with the basics of programming in Python and data analysTable of Contents1. Data, Stats and Stories - An Introduction 2. Python Programming Primer 3. Snakes, Bears & Other Numerical Beasts: NumPy, SciPy & Pandas 4. The Measure of All Things - Statistics 5. Definitely Maybe: Probability and Distributions 6. Alluring Arguments and Ugly Facts - Statistical Modelling and Hypothesis Testing 7. Delightful Details - Data Visualisation 8. Dazzling Data Designs - Creating Charts A. Variance: Population v Sample B. Sum of First n Integers C. Sum of Squares of the First n Integers D. The Binomial Coefficient E. The Hypergeometric Distribution F. The Poisson Distribution G. The Normal Distribution H. Skewness and Kurtosis I. Kruskal-Wallis Test - No Ties
£42.74
Taylor & Francis Ltd Computational Design
Book SynopsisNew computational design tools have evolved rapidly and been increasingly applied in the field of design in recent years, complimenting and even replacing the traditional design media and approaches. Design as both the process and product are changing due to the emergence and adoption of these new technologies. Understanding and assessing the impact of these new computational design environments on design and designers is important for advancing design in the contemporary context. Do these new computational environments support or hinder design creativity? How do those tools facilitate designers' thinking? Such knowledge is also important for the future development of design technologies. Research shows that design is never a mysterious non-understandable process, for example, one general view is that design process shares a common analysis-synthesis-evaluation model, during which designers interact between design problem and solution spaces. Understanding designers' thinking in difTable of ContentsIntroduction. Emergent technologies in computational design. Understanding design cognition in computational and generative design. Cognitive impacts and computational design environments. Conclusion.
£58.89
Taylor & Francis Ltd Theory and Practice of Relational Databases
Book SynopsisThe study of relationship databases is a core component of virtually every undergraduate computer science degree course. This new edition of Theory and Practice of Relationship Databases retains all the features that made the previous edition such as success, and goes on to give even more comprehensive and informative coverage.Written in a tutorial style and containing a great many examples and exercises as well as extensively using illustrative and explanatory graphics, the author has produced an undergraduate textbook of great depth and clarity that is very easy to follow. The subject of relational databases is brought to life by the writing style and the inclusion of an homogenous case study that reinforces the issues dealt with in each chapter.The primary objective of the book is to present a comprehensive explanation of the process of development of database application systems within the framework of a set processing paradigm. Since the majority of these applicatioTable of Contents1. Introduction 2. Data Modeling 3. The Relational Model 4. Relational Algebra 5. Leap- The Algebraic Database 6. Basic Normalization 7. Further Normalization 8. Structured Query Language 9. Object Orientation in Databases 10. Extensions to SQL 11. Case Study
£109.25
Taylor & Francis Ltd Theory and Practice of Relational Databases
Book SynopsisThe study of relationship databases is a core component of virtually every undergraduate computer science degree course. This new edition of Theory and Practice of Relationship Databases retains all the features that made the previous edition such as success, and goes on to give even more comprehensive and informative coverage.Written in a tutorial style and containing a great many examples and exercises as well as extensively using illustrative and explanatory graphics, the author has produced an undergraduate textbook of great depth and clarity that is very easy to follow. The subject of relational databases is brought to life by the writing style and the inclusion of an homogenous case study that reinforces the issues dealt with in each chapter.The primary objective of the book is to present a comprehensive explanation of the process of development of database application systems within the framework of a set processing paradigm. Since the majority of these applications Table of Contents1. Introduction 2. Data Modeling 3. The Relational Model 4. Relational Algebra 5. Leap- The Algebraic Database 6. Basic Normalization 7. Further Normalization 8. Structured Query Language 9. Object Orientation in Databases 10. Extensions to SQL 11. Case Study
£63.64
John Wiley & Sons Inc Web Engineering The Discipline of Systematic
Book SynopsisThe World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment - there is hardly any part of our daily lives which has not been pervaded by the Internet.Table of ContentsPreface xv Foreword xvii 1 An Introduction to Web Engineering 1Gerti Kappel, Birgit Pröll, Siegfried Reich, Werner Retschitzegger 1.1 Motivation 1 1.2 Categories of Web Applications 4 1.3 Characteristics of Web Applications 7 1.3.1 Product-related Characteristics 8 1.3.2 Usage-related Characteristics 12 1.3.3 Development-related Characteristics 14 1.3.4 Evolution 16 1.4 Objectives and Structure of the Book 17 2 Requirements Engineering for Web Applications 23Paul Grünbacher 2.1 Introduction 23 2.2 Fundamentals 24 2.2.1 Where Do Requirements Come From? 24 2.2.2 Requirements Engineering Activities 25 2.3 RE Specifics in Web Engineering 26 2.4 Principles for RE of Web Applications 30 2.5 Adapting RE Methods to Web Application Development 32 2.5.1 Requirement Types 32 2.5.2 Notations 34 2.5.3 Tools 36 2.6 Outlook 37 3 Modeling Web Applications 39Wieland Schwinger, Nora Koch 3.1 Introduction 39 3.2 Fundamentals 40 3.3 Modeling Specifics in Web Engineering 41 3.3.1 Levels 41 3.3.2 Aspects 42 3.3.3 Phases 42 3.3.4 Customization 43 3.4 Modeling Requirements 43 3.5 Content Modeling 45 3.5.1 Objectives 45 3.5.2 Concepts 45 3.6 Hypertext Modeling 46 3.6.1 Objectives 47 3.6.2 Hypertext Structure Modeling Concepts 47 3.6.3 Access Modeling Concepts 49 3.6.4 Relation to Content Modeling 50 3.7 Presentation Modeling 51 3.7.1 Objectives 51 3.7.2 Concepts 51 3.7.3 Relation to Hypertext Modeling 52 3.8 Customization Modeling 53 3.8.1 Objectives 54 3.8.2 Concepts 54 3.8.3 Relation to Content, Hypertext, and Presentation Modeling 58 3.9 Methods and Tools 58 3.9.1 Modeling Methods: An Overview 58 3.9.2 Model-Driven Development 61 3.9.3 Tool Support 61 3.10 Outlook 63 4 Web Application Architectures 65Christian Eichinger 4.1 Introduction 65 4.2 Fundamentals 66 4.2.1 What is an Architecture? 66 4.2.2 Developing Architectures 67 4.2.3 Categorizing Architectures 69 4.3 Specifics of Web Application Architectures 70 4.4 Components of a Generic Web Application Architecture 71 4.5 Layered Architectures 72 4.5.1 2-Layer Architectures 72 4.5.2 N-Layer Architectures 73 4.6 Data-aspect Architectures 79 4.6.1 Database-centric Architectures 80 4.6.2 Architectures for Web Document Management 80 4.6.3 Architectures for Multimedia Data 81 4.7 Outlook 84 5 Technology-aware Web Application Design 85Gerhard Austaller, Andreas Hartl, Markus Lauff, Fernando Lyardet, Max Mühlhaüser 5.1 Introduction 86 5.2 Web Design from an Evolutionary Perspective 89 5.2.1 Background 89 5.2.2 Information Design: An Authoring Activity 90 5.2.3 Software Design: A Programming Activity 92 5.2.4 Merging Information Design and Software Design 93 5.2.5 Problems and Restrictions in Integrated Web Design 94 5.2.6 A Proposed Structural Approach 95 5.3 Presentation Design 95 5.3.1 Presentation of Nodes and Meshes 96 5.3.2 Device-independent Development Approaches 97 5.4 Interaction Design 98 5.4.1 User Interaction 98 5.4.2 User Interface Organization 100 5.4.3 Navigation Design 101 5.4.4 Designing a Link Representation: The Anchor 101 5.4.5 Designing Link Internals: The URL 102 5.4.6 Navigation and Orientation 102 5.4.7 Structured Dialog for Complex Activities 103 5.4.8 Interplay with Technology and Architecture 104 5.5 Functional Design 105 5.5.1 Integration 105 5.5.2 Communication Paradigms and Middleware 105 5.5.3 Distributed Cross-corporate Web Applications 106 5.6 Outlook 107 5.6.1 Context-aware Applications 107 5.6.2 Device-independent Applications 108 5.6.3 Reusability 109 5.7 Summary 110 6 Technologies for Web Applications 111Martin Nussbaumer, Martin Gaedke 6.1 Introduction 111 6.2 Fundamentals 112 6.2.1 Markup 112 6.2.2 Hypertext and Hypermedia 112 6.3 Client/Server Communication on the Web 113 6.3.1 SMTP – Simple Mail Transfer Protocol. 113 6.3.2 RTSP – Real Time Streaming Protocol 113 6.3.3 HTTP – HyperText Transfer Protocol 113 6.3.4 Session Tracking 114 6.4 Client-side Technologies 116 6.4.1 Helpers and Plug-ins 116 6.4.2 Java Applets 116 6.4.3 ActiveX Controls 116 6.5 Document-specific Technologies 117 6.5.1 HTML – Hypertext Markup Language 117 6.5.2 SVG – Scalable Vector Graphics 117 6.5.3 SMIL – Synchronized Multimedia Integration Language 118 6.5.4 XML – eXtensible Markup Language 118 6.5.5 XSL – eXtensible Stylesheet Language 122 6.6 Server-side Technologies 126 6.6.1 URI Handlers 126 6.6.2 Web Services 129 6.6.3 Middleware Technologies 130 6.7 Outlook 132 7 Testing Web Applications 133Christoph Steindl, Rudolf Ramler, Josef Altmann 7.1 Introduction 133 7.2 Fundamentals 134 7.2.1 Terminology 134 7.2.2 Quality Characteristics 135 7.2.3 Test Objectives 136 7.2.4 Test Levels 136 7.2.5 Role of the Tester 137 7.3 Test Specifics in Web Engineering 138 7.4 Test Approaches 140 7.4.1 Conventional Approaches 140 7.4.2 Agile Approaches 140 7.5 Test Scheme 142 7.5.1 Three Test Dimensions 142 7.5.2 Applying the Scheme to Web Applications 143 7.5.3 Examples of Using the Test Scheme 145 7.6 Test Methods and Techniques 145 7.6.1 Link Testing 147 7.6.2 Browser Testing 147 7.6.3 Usability Testing 148 7.6.4 Load, Stress, and Continuous Testing 148 7.6.5 Testing Security 149 7.6.6 Test-driven Development 150 7.7 Test Automation 150 7.7.1 Benefits and Drawbacks of Automated Tests 150 7.7.2 Test Tools 151 7.7.3 Selecting Test Tools 152 7.8 Outlook 152 8 Operation and Maintenance of Web Applications 155Arno Ebner, Birgit Pröll, Hannes Werthner 8.1 Introduction 155 8.2 Challenges Following the Launch of a Web Application 156 8.3 Promoting a Web Application 157 8.3.1 Newsletters 158 8.3.2 Affiliate Marketing 158 8.3.3 Search Engine Marketing 159 8.3.4 Content-related Marketing 162 8.3.5 Domain Management 162 8.4 Content Management 163 8.4.1 Content Update Rate and Demand on Currency 164 8.4.2 Content Syndication 165 8.5 Usage Analysis 165 8.5.1 Usage Analysis Techniques 165 8.5.2 Statistical Indicators 167 8.5.3 User Behavior Analysis 168 8.6 Outlook 169 9 Web Project Management 171Herwig Mayr 9.1 From Software Project Management to Web Project Management 171 9.1.1 Objectives of Software Project Management 171 9.1.2 The Tasks of Software Project Management 172 9.1.3 Conflicting Areas in Projects 173 9.1.4 Specifics of Web Project Management 173 9.2 Challenges in Web Project Management 175 9.2.1 General Challenges in Software Development 175 9.2.2 Development-related Challenges in Web Projects 176 9.2.3 Product-related Challenges in Web Projects 179 9.3 Managing Web Teams 182 9.3.1 Software Development: A Human-centered Task 182 9.3.2 The Web Project Team 183 9.3.3 The Web Project Manager 184 9.4 Managing the Development Process of a Web Application 185 9.4.1 Deploying the Tools 185 9.4.2 Measuring Progress 188 9.4.3 Project Risks 190 9.4.4 Risk Management 193 9.5 Outlook 194 10 The Web Application Development Process 197Gregor Engels, Marc Lohmann, Annika Wagner 10.1 Motivation 197 10.2 Fundamentals 198 10.3 Requirements for a Web Application Development Process 201 10.3.1 Handling Short Development Cycles 201 10.3.2 Handling Changing Requirements 201 10.3.3 Releases with Fixed Deadlines and Flexible Contents 203 10.3.4 Parallel Development of Different Releases 203 10.3.5 Reuse and Integration 204 10.3.6 Adapting to Web Application’s Complexity Level 204 10.3.7 Summary 205 10.4 Analysis of the Rational Unified Process 205 10.4.1 Introduction 205 10.4.2 General Suitability for Web Application Development 208 10.4.3 Does RUP meet the Requirements of Web Applications? 209 10.5 Analysis of Extreme Programming 211 10.5.1 Introduction 211 10.5.2 Does XP meet the Requirements of Web Application Development? 214 10.6 Outlook 216 11 Usability of Web Applications 219Martin Hitz, Gerhard Leitner, Rudolf Melcher 11.1 Motivation 219 11.2 What is Usability? 220 11.3 What Characterizes the Usability of Web Applications? 222 11.4 Design Guidelines 225 11.4.1 Response Times 225 11.4.2 Interaction Efficiency 225 11.4.3 Colors 226 11.4.4 Text Layout 227 11.4.5 Page Structure 228 11.4.6 Navigation Structure 228 11.4.7 Multiculturality 230 11.4.8 Confidence-generating Measures 231 11.4.9 Other Design Criteria 232 11.5 Web Usability Engineering Methods 232 11.5.1 Requirements Analysis 234 11.5.2 Design 237 11.5.3 Implementation 238 11.5.4 Operation 238 11.6 Web Usability Engineering Trends 239 11.6.1 Usability Patterns 239 11.6.2 Mobile Usability 241 11.6.3 Accessibility 243 11.7 Outlook 245 12 Performance of Web Applications 247Gabriele Kotsis 12.1 Introduction 247 12.2 What Is Performance? 248 12.3 What Characterizes the Performance of Web Applications? 250 12.4 System Definition and Indicators 251 12.5 Characterizing the Workload 252 12.6 Analytical Techniques 254 12.6.1 Operational Analysis 254 12.6.2 Queuing Networks and Simulation Models 255 12.6.3 Measuring Approaches 257 12.7 Representing and Interpreting Results 258 12.8 Performance Optimization Methods 259 12.8.1 Acceleration Within a Web Application 260 12.8.2 Reducing Transmission Time 261 12.8.3 Server Tuning 263 12.9 Outlook 263 13 Security for Web Applications 265Martin Wimmer, Alfons Kemper, Stefan Seltzsam 13.1 Introduction 265 13.2 Aspects of Security 266 13.3 Encryption, Digital Signatures and Certificates 268 13.3.1 Symmetric Cryptography 268 13.3.2 Asymmetric Cryptography 270 13.3.3 Digital Signatures 271 13.3.4 Certificates and Public Key Infrastructure 272 13.4 Secure Client/Server-Interaction 272 13.4.1 Point-to-Point Security 272 13.4.2 End-to-End Security 274 13.4.3 User Authentication and Authorization 276 13.4.4 Electronic Payment Systems 278 13.5 Client Security Issues 279 13.5.1 Preserving Privacy 279 13.5.2 Mobile Code Security 281 13.5.3 Phishing and Web Spoofing 282 13.5.4 Desktop Security 283 13.6 Service Provider Security Issues 285 13.6.1 Cross-Site Scripting 285 13.6.2 SQL Injection 287 13.6.3 Security of CGI Programs 289 13.6.4 Service Availability 290 13.6.5 Host Security 291 13.7 Outlook 292 14 The Semantic Web – The Network of Meanings in the Network of Documents 293Wernher Behrendt, Nitin Arora 14.1 Fundamentals of the Semantic Web 293 14.1.1 The Role of Software Agents 294 14.1.2 The Role of Semantic Markup 296 14.1.3 The Role of Ontologies 297 14.2 Technological Concepts 298 14.2.1 Agents According to the FIPA Standard 298 14.2.2 Ontologies 300 14.2.3 Semantic Markup on the Web 303 14.3 Specifics of Semantic Web Applications 308 14.3.1 Semantic Markup 308 14.3.2 Agents 309 14.3.3 Ontologies 309 14.3.4 Semantic Web Services 310 14.3.5 Integration into Web Engineering 313 14.4 Tools 314 14.5 Outlook 315 Glossary 317 Author Biographies 329 Bibliography 337 Credits 357 Index 359
£48.44
John Wiley & Sons Inc Pragmatic Software Testing
Book SynopsisA hands-on guide to testing techniques that deliver reliable software and systems Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints. Black begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes howTable of ContentsAcknowledgments. Introduction. Part I Goals, Strategies, and Tactics. Chapter 1 What Does It Mean to Be Pragmatic? What Do Effective and Efficient Mean? What Effects Do You Want? What Is the Right Level of Efficiency? Avoiding Redundancy. Reducing Cost. What Software Testing Isn’t…But Is Often Thought to Be. Five Phases of a Tester’s Mental Life. Other Founding Views on Testing. Testing as a Form of Quality Risk Management. So What Is the Test Team All About? What Does “Quality” Mean to You? Chapter 2 Triangle Test Exercise. Exercise: The Triangle Test. Your Solution for the Triangle Test. Your Solution for the Triangle Test (Continued). Author’s Triangle Test Solution. Chapter 3 Aligning Testing with the Project. Why Do Organizations Test? Perspectives on Testing. Testing in Context. Common Test Phases and Objectives. Testing Throughout the Organization. The V Model. Evolutionary and Incremental Models. The Spiral Model. Regrettably Common Model: Code and Fix. Testing Maintenance Releases. System Integration. Hardware/Software Development. The Test Process. Chapter 4 Understanding Test Strategies, Tactics, and Design. Aligning Mission, Strategies, and Tactics. Analytical Test Strategies. Model-Based Test Strategies. Methodical Test Strategies. Process-Oriented Test Strategies. Dynamic Test Strategies. Philosophical Test Strategies. Regression. Regression Strategy 1: Repeat All Tests. Regression Strategy 2: Repeat Some Tests. Three Other Regression Strategies. Tactics: Categories of Testing Techniques. Strategic and Tactical Considerations. The Test System. Classic Principles for Test Design. Phases of Test Development. Synopsis of Test Strategies, Tactics, and Design. Part II Risk-Based Testing. Chapter 5 Understanding Risks to System Quality. Categories of Quality Risks. Functionality. Performance and Reliability. Stress, Capacity, and Volume. States. Transactions. Installation and Deinstallation. Operations. Maintenance and Maintainability. Regression. Usability and User Interface. Data Quality. Error and Disaster Handling and Recovery. Date and Time Handling. Localization. Configuration and Compatibility. Networked, Internetworked, and Distributed. Standards and Regulatory Compliance. Security. Timing and Coordination. Documentation. Can You Think of Other Quality Risks? Chapter 6 Aligning Testing with Quality Risks. Prioritize Risks to System Quality. Testing, Customer Usage, and System Configurations. Approaches for Quality Risks Analysis. Informal Quality Risk Analysis. Tips for Risk Analysis. Challenges of Risk Analysis. Chapter 7 Quality Risk Analysis Exercise. My Solution. Comments on My Solution. A Funny Thing Happened to Me on the Way to the Quality Risks… . Bonus Exercise. Template. My Solution. Comments on My Solution. Bonus Example: Grays and Blues Quality Risk Analysis. Part III Static Testing. Chapter 8 Reviews and Other Static Tests. Testing Requirements and Designs. Reviews Costs and Benefits. Types of Reviews. Reviews for Verification and Validation. Reviews as a Way to Improve the Process, Improve the System, and Reduce Costs. Answers to the Three Questions about Static Testing. Reviews as a Way to Achieve Consensus and Understanding. The Review Process, Roles, and Responsibilities. Deliverables and Ground Rules from Reviews. Common Requirements and Design Bugs. Reviewing (and Testing) Documentation. Other Static Tests. Chapter 9 Review Exercise. Reviews. Your Solution. My Solution. Comments on My Solution. Bonus Exercise: Reviewing Triangle Requirements Title Page. Triangle Requirements Review Using Wiegers’s List. The Requirements Bugs You Found. My Solution: Requirements Bugs. Comments on My Solution. Part IV Behavioral Testing. Chapter 10 Equivalence Classes and Boundary Values. Equivalence Partitioning. Boundary Value Analysis. Integer. Real Numbers. Character and String. Date. Time. Currency. Beyond Functional Classes and Boundaries. Chapter 11 Equivalence Classes and Boundary Values Exercise. Functional Boundaries and Classes. My Solution and Comments. Nonfunctional Boundaries and Classes. Omninet Marketing Requirements Document (v0.3). Omninet System Requirements Document (v0.2). Chapter 12 Use Cases, Live Data, and Decision Tables. Use Cases and Scenario Tests. Nouns and Verbs, Adjectives and Adverbs. Live Data and Customer Tests. Decision Tables. Chapter 13 Decision Table Exercise. Decision Table Tests. My Solution and Comments. Decision Tables and Boundary Values. My Solution and Comments. Building a Decision Table for Testing. My Solution and Comments. Chapter 14 State Transition Diagrams. Describing Systems with States Using State Transition Diagrams. State Tables. Printer Server State Transition Diagram. Chapter 15 State Transition Diagram Exercise. Kiosk States. My Solution and Comments. ATM State Models. My Solution and Comments. Grays and Blues and State Transition Diagrams. My Solution and Comments. Chapter 16 Domain Testing. Combinatorial Explosions. A Domain Example Using Frequent-Flyer Programs. Possible Domain Test Values. An Aerospace Example. When Domain Rules Change. Domain Analysis Summary. Complex Domain Testing Example. A General Rule for Complex Domains. Chapter 17 Domain Testing Exercise. My Solution and Comments. Chapter 18 Orthogonal Arrays and All Pairs. Combinatorial Explosions. Orthogonal Arrays and All-Pairs Tables. Two Orthogonal Arrays. Selecting an Orthogonal Array. Applying Orthogonal Arrays to a Complicated Real-World Example. All-Pairs Tables. Other Thoughts on Configuration Testing. Chapter 19 Orthogonal Arrays Exercise. My Solution and Comments. Chapter 20 Reactive Testing. General Facts about Reactive Tests. Error Guessing, Attacks, and Bug Taxonomies. Bug Hunting. Exploratory Tests. Checklists. Other Sources of Inspiration for Reactive Testing. Advantages and Disadvantages. A Case Study of Exploratory Testing. Part V Structural Testing. Chapter 21 Control-Flow Testing. Code Coverage. McCabe Cyclomatic Complexity. Chapter 22 Control-Flow Testing Exercise. My Solution and Comments. Chapter 23 Data-Flow Testing. Chapter 24 Data-Flow Testing Exercise. My Solutions and Comments. Chapter 25 Integration Testing. Drivers and Stubs. Integration Techniques. Backbone Integration. McCabe Basis Paths for Integration. Enhanced Hex Converter Program. Call Flow. Chapter 26 Integration Basis Test Exercise. My Solution and Comments. Part VI Appendices. Appendix A Omninet: The Internet Everywhere Marketing Requirements Document. 1 Scope. 1.1 Terms, Acronyms, and Abbreviations. 1.2 Applicable Documents. 2 Required release date. 3 Description of requirements. 3.1 General technical requirements. 3.1.1 Welcome. 3.1.2 Payment. 3.1.3 Internet Browser. 3.1.4 Performance. 3.1.5 Localization. 3.1.6 Content Control. 3.1.7 Session Termination. 3.1.8 Confidentiality. 3.2 Administration. 3.2.1 Software Updates. 3.2.2 View Kiosks. 3.2.3 View Users. 3.2.4 Modify User. 3.2.5 Terminate User. Appendix B Omninet: The Internet Everywhere System Requirements Document. Functionality System Requirements. Reliability System Requirements. Usability System Requirements. Efficiency System Requirements. Maintainability System Requirements. Portability System Requirements. Design Models. Omninet System Architecture. Payment Processing Decision Table. Kiosk Module Flow. Kiosk State-Transition Diagram. Kiosk State-Transition Table. Kiosk OS/Browser/Connection Speed Configuration Orthogonal Array. Appendix C Bibliography and Other Recommended Readings. RBCS Company Profile. Index.
£31.35
John Wiley & Sons Inc Managing and Leading Software Projects
Book SynopsisThe book is organized around basic principles of software project management: planning and estimating, measuring and controlling, leading and communicating, and managing risk. Introduces software development methods, from traditional (hacking, requirements to code, and waterfall) to iterative (incremental build, evolutionary, agile, and spiral).Trade Review"This book is readable, informative, and well organized.... The material presented is up to date with respect to documents that were published at the time the book was written." (Computing Reviews, May 15, 2009) "Mark it up and keep it on your bookshelf, and be sure to reference it frequently." (Computing Reviews, April 28, 2008)Table of ContentsPreface xv 1 Introduction 1 1.1 Introduction to Software Project Management, 1 1.2 Objectives of This Chapter, 2 1.3 Why Managing and Leading Software Projects Is Difficult, 2 1.4 The Nature of Project Constraints, 9 1.5 A Workfl ow Model for Managing Software Projects, 13 1.6 Organizational Structures for Software Projects, 16 1.7 Organizing the Project Team, 19 1.8 Maintaining the Project Vision and the Product Vision, 21 1.9 Frameworks, Standards, and Guidelines, 22 1.10 Key Points of Chapter 1, 23 1.11 Overview of the Text, 23 2 Process Models for Software Development 39 2.1 Introduction to Process Models, 39 2.2 Objectives of This Chapter, 42 2.3 A Development-Process Framework, 42 2.4 Tailoring the System Engineering Framework for Software-Only Projects, 52 2.5 Traditional Software Development Process Models, 54 2.6 Iterative-Development Process Models, 58 2.7 Designing an Iterative-Development Process, 72 2.8 The Role of Prototyping in Software Development, 74 2.9 Key Points of Chapter 2, 75 3 Establishing Project Foundations 85 3.1 Introduction to Project Foundations, 85 3.2 Objectives of This Chapter, 86 3.3 Software Acquisition, 87 3.4 Requirements Engineering, 88 3.5 Process Foundations, 109 3.6 Key Points of Chapter 3, 112 4 Plans and Planning 119 4.1 Introduction to the Planning Process, 119 4.2 Objectives of This Chapter, 120 4.3 The Planning Process, 121 4.4 The CMMI-DEV-v1.2 Process Area for Project Planning, 125 4.5 A Minimal Project Plan, 129 4.6 A Template for Software Project Management Plans, 130 4.7 Techniques for Preparing a Project Plan, 150 4.8 Key Points of Chapter 4, 154 5 Project Planning Techniques 173 5.1 Introduction to Project Planning Techniques, 173 5.2 Objectives of This Chapter, 174 5.3 The Scope of Planning, 175 5.4 Rolling-Wave Planning, 175 5.5 Scenarios for Developing a Project Plan, 176 5.6 Developing the Architecture Decomposition View and the Work Breakdown Structure, 177 5.7 Guidelines for Designing Work Breakdown Structures, 182 5.8 Developing the Project Schedule, 188 5.9 Developing Resource Profiles, 193 5.10 Resource-Gantt Charts, 199 5.11 Estimating Project Effort, Cost, and Schedule, 199 5.12 Key Points of Chapter 5, 201 6 Estimation Techniques 207 6.1 Introduction to Estimation Techniques, 207 6.2 Objectives of This Chapter, 208 6.3 Fundamental Principles of Estimation, 209 6.4 Designing to Project Constraints, 214 6.5 Estimating Product Size, 216 6.6 Pragmatic Estimation Techniques, 224 6.7 Theory-Based Estimation Models, 230 6.8 Regression-Based Estimation Models, 234 6.9 Estimation Tools, 249 6.10 Estimating Life Cycle Resources, Effort, and Cost, 249 6.11 An Estimation Procedure, 251 6.12 A Template for Recording Estimates, 256 6.13 Key Points of Chapter 6, 258 7 Measuring and Controlling Work Products 265 7.1 Introduction to Measuring and Controlling Work Products, 265 7.2 Objectives of This Chapter, 268 7.3 Why Measure?, 268 7.4 What Should Be Measured?, 269 7.5 Measures and Measurement, 270 7.6 Measuring Product Attributes, 276 7.7 Measuring and Analyzing Software Defects, 301 7.8 Choosing Product Measures, 309 7.9 Practical Software Measurement, 311 7.10 Guidelines for Measuring and Controlling Work Products, 311 7.11 Rolling-Wave Adjustments Based on Product Measures and Measurement, 313 7.12 Key Points of Chapter 7, 313 8 Measuring and Controlling Work Processes 333 8.1 Introduction to Measuring and Controlling Work Processes, 333 8.2 Objectives of This Chapter, 336 8.3 Measuring and Analyzing Effort, 336 8.4 Measuring and Analyzing Rework Effort, 339 8.5 Tracking Effort, Schedule, and Cost; Estimating Future Status, 342 8.6 Earned Value Reporting, 347 8.7 Project Control Panel, 353 8.8 Key Points of Chapter 8, 357 9 Managing Project Risk 363 9.1 Introduction to Managing Project Risk, 363 9.2 Objectives of This Chapter, 365 9.3 An Overview of Risk Management for Software Projects, 366 9.4 Conventional Project Management Techniques, 369 9.5 Risk Identifi cation Techniques, 373 9.6 Risk Analysis and Prioritization, 381 9.7 Risk Mitigation Strategies, 382 9.8 Top-N Risk Tracking and Risk Registers, 388 9.9 Controlling the Risk Management Process, 392 9.10 Crisis Management, 394 9.11 Risk Management at the Organizational Level, 395 9.12 Joint Risk Management, 396 9.13 Key Points of Chapter 9, 396 10 Teams, Teamwork, Motivation, Leadership, and Communication 407 10.1 Introduction, 407 10.2 Objectives of This Chapter, 408 10.3 Managing versus Leading, 408 10.4 Teams and Teamwork, 410 10.5 Maintaining Morale and Motivation, 417 10.6 Can't versus Won't, 418 10.7 Personality Styles, 420 10.8 The Five-Layer Behavioral Model, 427 10.9 Key Points of Chapter 10, 430 11 Organizational Issues 439 11.1 Introduction to Organizational Issues, 439 11.2 Objectives of This Chapter, 440 11.3 The Infl uence of Corporate Culture, 441 11.4 Assessing and Nurturing Intellectual Capital, 443 11.5 Key Personnel Roles, 444 11.6 Fifteen Guidelines for Organizing and Leading Software Engineering Teams, 449 11.6.3 Summary of the Guidelines, 463 11.7 Key Points of Chapter 11, 464 Glossary of Terms 471 Guidance for Term Projects 481 Index 487
£87.26
John Wiley & Sons Inc IT Success
Book SynopsisFifty years after the birth of corporate computing, IT today is still characterized by 50-70% project failure rates. Which is pretty scary when you come to think of it: either a goblin has cast a spell on a whole profession or that profession is doing something fundamentally wrong. IT Success! challenges the widespread assumption that an IT department is like a building contractor whose project managers, architects and engineers (all construction industry terms) are supposed to deliver systems on schedule, within budget and to spec. Michael Gentle explains why this is not possible, and turns conventional wisdom on its head by showing that: you cannot define an IT project in terms of contractual budgets and schedules anything can change during the life of a project what is eventually delivered can never be what is actually needed He proposes a new model for IT in which the traditional client/vendor relationship, wTrade Review"...a clever synthesis of enlightened IT project management thinking over the last few years." (Financial Times, Wednesday 21st November 2007)Table of ContentsIntroduction ix Acknowledgements xiii Abbreviations xvii Part I Blinded by Specs 1 1 In Search of the Fundamentals 3 The more things change, the more they stay the same 3 A worldwide phenomenon 4 How the traditional IT model started 5 The construction industry trap 6 The free lunch trap 7 Houses of ill repute 8 A business problem rather than an IT problem 10 IT and original sin 12 No sacred cows 12 2 IT 101 – The Basics for Non-Specialists 15 The process breakdown for traditional IT activities 15 The process breakdown for business (i.e non-IT) activities 16 The fundamental difference between IT and non-IT activities 18 'That's not my problem!' – process ownership and behaviour 19 3 The Flaws of the Traditional Model 21 The unintended consequences of the waterfall method 21 In search of a pizza parlour manager 22 Who provides process expertise – client or vendor? 22 When standard client–vendor relationships are possible 24 When standard client–vendor relationships pose problems 25 Is a standard client–vendor relationship possible for IT? 26 The 'Statement of Requirements' (SoR) trap 26 A poor to non-existent pricing model 28 Should IT be run like a business (i.e an ESP)? 30 The limits of outsourcing 31 Current IT organizational trends 32 The ultimate litmus test to determine one's business model 33 What model would be appropriate for IT? 34 Part II Building a New Business Model for It 35 4 Managing Demand 37 Managing demand – traditional model 37 Managing demand – new model 39 Capturing demand and identifying opportunities 41 Prioritizing and approving demand 43 Planning approved demand 49 Linking demand to resource capability 49 Approving demand based on portfolios 50 The missing component in Project Portfolio Management 53 Business cases are in the eye of the beholder 54 Building the IT plan and budget 55 Demand from a customer perspective 56 Shaking off the chains of the construction industry 56 Funding approved demand 58 Roles and responsibilities 59 5 Managing Supply 61 Managing supply - traditional model 61 Managing supply - new model 63 Iterative development in practice 65 Why prototyping has never become mainstream 74 Is prototyping the answer to everything? 78 Project critical success factors 79 Maintenance - letting go of the M-word 79 Delivery and implementation 81 Service and support 81 6 Monitoring Costs and Benefits 83 Monitoring costs and benefits for traditional IT activities 83 Monitoring costs and benefits for business (non-IT) activities 84 Monitoring costs and benefits – new model 85 Ownership and accountability for costs and benefits 86 Cost–benefit analysis during the life of a project 87 It is normal for costs and benefits to change! 88 Portfolio performance monitoring 88 Cost–benefit analysis after project delivery 89 7 Financials 91 The main categories of IT costs 91 Ownership of IT costs for the regulation of supply and demand 92 Who has the final say for IT investments? 92 Allocations vs cross-charging 93 Capturing costs for allocations and cross-charging 94 Benefits as part of the P&L and annual planning 95 Ongoing cost–benefit analysis for applications 96 Reducing application lifetime costs 100 The limits of financial ROI when applied to IT 102 Part III the New Model in Practice 105 8 Players, Roles and Responsibilities 107 Players, roles and responsibilities – the business 107 Players, roles and responsibilities – IT 111 The new business–IT relationship 112 The changing role of the business analyst 113 The changing role of the developer 113 Towards the merging of the developer and analyst roles? 114 The changing role of the project manager 115 The changing role of the operations department 116 What role for PMOs? 117 The role of External Service Providers (ESPs) 119 9 Getting Started 121 The business challenge 121 The IT challenge 122 Where to start 123 How to start – from checklist to action plan 124 From the status quo to first results 128 From first results to asset management 133 The role of best-practice methodologies 136 How consulting companies can help 138 How tools can help 139 The costs of moving to the new model 140 In closing – addressing the three fundamental questions 142 Further reading 143 10 Case Study 145 The company 145 The business problem 146 The project context 146 Building an IT–business partnership 147 Kicking off the project 148 Feasibility study and defining a solution 149 Building the business case 150 Project approach 151 Product evaluation – buy or build decision 151 Building a prototype 152 Results 154 Timescales 155 Three months later 155 One year later 156 Two years later 156 Main lessons learnt (on the plus side) 156 Main lessons learnt (on the minus side) 157 Comments with respect to the new model 157 Reader feedback 158 Index 159
£16.99
John Wiley & Sons Inc PatternOriented Software Architecture Patterns
Book SynopsisThe first volume of the POSA pattern series introduced a broad-spectrum of general-purpose patterns in software design and architecture. The second narrowed the focus to fundamental patterns for building sophisticated concurrent and networked software systems and applications.Table of ContentsForeword by Frank Buschmann. Foreword by Steve Vinoski. About This Book. About The Authors. Intended Audience. Structure of the Book. Guide to the Reader. Acknowledgements. About The Authors. 1. Introduction. 1.1 Overview of Resource Management. 1.2 Scope of Resource Management. 1.3 Usage of Patterns. 1.4 Patterns in Resource Management. 1.5 Related Work. 1.6 Pattern Form. 2. Resource Acquisition. Lookup. Lazy Acquisition. Eager Acquisition. Partial Acquisition. 3. Resource Lifecycle. Caching. Pooling. Coordinator. Resource Lifecycle Manager. 4. Resource Release. Leasing. Evictor. 5. Guidelines for Applying Resource Management. 6. Case Study: Ad Hoc Networking. 6.1 Overview. 6.2 Motivation. 6.3 Solution. 7. Case Study: Mobile Network. 7.1 Overview. 7.2 Motivation. 7.3 Solution. 8. The Past, Present, and Future of Patterns. 8.1 The Past Four Years at a Glance. 8.2 Where Patterns are Now. 8.3 Where Will Patterns Go Tomorrow? 8.4 A Brief Note about the Future of Patterns. 9. Concluding Remarks. Referenced Patterns. Notations. References. Acknowledgements. Index of Patterns. Index.
£30.00
John Wiley & Sons Inc Financial Instrument Pricing Using C
Book Synopsis? C++ is one of the best languages for the development of financial engineering and instrument pricing applications. ? This book applies C++ to the design and implementation of classes, libraries and latest applications for option and derivative pricing models.Table of ContentsCHAPTER 1 A Tour of C++ and Environs 1 1.1 Introduction and Objectives 1 1.2 What is C++? 1 1.3 C++ as a Multiparadigm Programming Language 2 1.4 The Structure and Contents of this Book: Overview 4 1.5 A Tour of C++11: Black–Scholes and Environs 6 1.6 Parallel Programming in C++ and Parallel C++ Libraries 12 1.7 Writing C++ Applications; Where and How to Start? 14 1.8 For whom is this Book Intended? 16 1.9 Next-Generation Design and Design Patterns in C++ 16 1.10 Some Useful Guidelines and Developer Folklore 17 1.11 About the Author 18 1.12 The Source Code and Getting the Source Code 19 CHAPTER 2 New and Improved C++ Fundamentals 21 2.1 Introduction and Objectives 21 2.2 The C++ Smart Pointers 21 2.3 Using Smart Pointers in Code 23 2.4 Extended Examples of Smart Pointers Usage 30 2.5 Move Semantics and Rvalue References 34 2.6 Other Bits and Pieces: Usability Enhancements 39 2.7 Summary and Conclusions 52 2.8 Exercises and Projects 52 CHAPTER 3 Modelling Functions in C++ 59 3.1 Introduction and Objectives 59 3.2 Analysing and Classifying Functions 60 3.3 New Functionality in C++: std::function<> 64 3.4 New Functionality in C++: Lambda Functions and Lambda Expressions 65 3.5 Callable Objects 69 3.6 Function Adapters and Binders 70 3.7 Application Areas 75 3.8 An Example: Strategy Pattern New Style 75 3.9 Migrating from Traditional Object-Oriented Solutions: Numerical Quadrature 78 3.10 Summary and Conclusions 81 3.11 Exercises and Projects 82 CHAPTER 4 Advanced C++ Template Programming 89 4.1 Introduction and Objectives 89 4.2 Preliminaries 91 4.3 decltype Specifier 94 4.4 Life Before and After decltype 101 4.5 std::result_of and SFINAE 106 4.6 std::enable_if 108 4.7 Boost enable_if 112 4.8 std::decay()Trait 114 4.9 A Small Application: Quantities and Units 115 4.10 Conclusions and Summary 118 4.11 Exercises and Projects 118 CHAPTER 5 Tuples in C++ and their Applications 123 5.1 Introduction and Objectives 123 5.2 An std:pair Refresher and New Extensions 123 5.3 Mathematical and Computer Science Background 128 5.4 Tuple Fundamentals and Simple Examples 130 5.5 Advanced Tuples 130 5.6 Using Tuples in Code 133 5.7 Other Related Libraries 138 5.8 Tuples and Run-Time Efficiency 140 5.9 Advantages and Applications of Tuples 142 5.10 Summary and Conclusions 143 5.11 Exercises and Projects 143 CHAPTER 6 Type Traits, Advanced Lambdas and Multiparadigm Design in C++ 147 6.1 Introduction and Objectives 147 6.2 Some Building Blocks 149 6.3 C++ Type Traits 150 6.4 Initial Examples of Type Traits 158 6.5 Generic Lambdas 161 6.6 How Useful will Generic Lambda Functions be in the Future? 164 6.7 Generalised Lambda Capture 171 6.7.1 Living Without Generalised Lambda Capture 173 6.8 Application to Stochastic Differential Equations 174 6.9 Emerging Multiparadigm Design Patterns: Summary 178 6.10 Summary and Conclusions 179 6.11 Exercises and Projects 179 CHAPTER 7 Multiparadigm Design in C++ 185 7.1 Introduction and Objectives 185 7.2 Modelling and Design 185 7.3 Low-Level C++ Design of Classes 190 7.4 Shades of Polymorphism 199 7.5 Is there More to Life than Inheritance? 206 7.6 An Introduction to Object-Oriented Software Metrics 207 7.7 Summary and Conclusions 210 7.8 Exercises and Projects 210 CHAPTER 8 C++ Numerics, IEEE 754 and Boost C++ Multiprecision 215 8.1 Introduction and Objectives 215 8.2 Floating-Point Decomposition Functions in C++ 219 8.3 A Tour of std::numeric_limits 221 8.4 An Introduction to Error Analysis 223 8.5 Example: Numerical Quadrature 224 8.6 Other Useful Mathematical Functions in C++ 228 8.7 Creating C++ Libraries 231 8.8 Summary and Conclusions 239 8.9 Exercises and Projects 239 CHAPTER 9 An Introduction to Unified Software Design 245 9.1 Introduction and Objectives 245 9.1.1 Future Predictions and Expectations 246 9.2 Background 247 9.3 System Scoping and Initial Decomposition 251 9.4 Checklist and Looking Back 259 9.5 Variants of the Software Process: Policy-Based Design 260 9.6 Using Policy-Based Design for the DVM Problem 268 9.7 Advantages of Uniform Design Approach 273 9.8 Summary and Conclusions 274 9.9 Exercises and Projects 275 CHAPTER 10 New Data Types, Containers and Algorithms in C++ and Boost C++ Libraries 283 10.1 Introduction and Objectives 283 10.2 Overview of New Features 283 10.3 C++ std::bitset and Boost Dynamic Bitset Library 284 10.4 Chrono Library 288 10.5 Boost Date and Time 301 10.6 Forwards Lists and Compile-Time Arrays 306 10.7 Applications of Boost.Array 311 10.8 Boost uBLAS (Matrix Library) 313 10.9 Vectors 316 10.10 Matrices 318 10.11 Applying uBLAS: Solving Linear Systems of Equations 322 10.12 Summary and Conclusions 330 10.13 Exercises and Projects 331 CHAPTER 11 Lattice Models Fundamental Data Structures and Algorithms 333 11.1 Introduction and Objectives 333 11.2 Background and Current Approaches to Lattice Modelling 334 11.3 New Requirements and Use Cases 335 11.4 A New Design Approach: A Layered Approach 335 11.5 Initial ‘101’ Examples of Option Pricing 347 11.6 Advantages of Software Layering 349 11.7 Improving Efficiency and Reliability 352 11.8 Merging Lattices 355 11.9 Summary and Conclusions 357 11.10 Exercises and Projects 357 CHAPTER 12 Lattice Models Applications to Computational Finance 367 12.1 Introduction and Objectives 367 12.2 Stress Testing the Lattice Data Structures 368 12.3 Option Pricing Using Bernoulli Paths 372 12.4 Binomial Model for Assets with Dividends 374 12.5 Computing Option Sensitivities 377 12.6 (Quick) Numerical Analysis of the Binomial Method 379 12.7 Richardson Extrapolation with Binomial Lattices 382 12.8 Two-Dimensional Binomial Method 382 12.9 Trinomial Model of the Asset Price 384 12.10 Stability and Convergence of the Trinomial Method 385 12.11 Explicit Finite Difference Method 386 12.12 Summary and Conclusions 389 12.13 Exercises and Projects 389 CHAPTER 13 Numerical Linear Algebra: Tridiagonal Systems and Applications 395 13.1 Introduction and Objectives 395 13.2 Solving Tridiagonal Matrix Systems 395 13.3 The Crank-Nicolson and Theta Methods 406 13.4 The ADE Method for the Impatient 411 13.5 Cubic Spline Interpolation 415 13.6 Some Handy Utilities 427 13.7 Summary and Conclusions 428 13.8 Exercises and Projects 429 CHAPTER 14 Data Visualisation in Excel 433 14.1 Introduction and Objectives 433 14.2 The Structure of Excel-Related Objects 433 14.3 Sanity Check: Is the Excel Infrastructure Up and Running? 435 14.4 ExcelDriver and Matrices 437 14.5 ExcelDriver and Vectors 444 14.6 Path Generation for Stochastic Differential Equations 448 14.7 Summary and Conclusions 459 14.8 Exercises and Projects 459 14.9 Appendix: COM Architecture Overview 463 14.10 An Example 468 14.11 Virtual Function Tables 471 14.12 Differences between COM and Object-Oriented Paradigm 473 14.13 Initialising the COM Library 474 CHAPTER 15 Univariate Statistical Distributions 475 15.1 Introduction, Goals and Objectives 475 15.2 The Error Function and Its Universality 475 15.3 One-Factor Plain Options 478 15.4 Option Sensitivities and Surfaces 488 15.5 Automating Data Generation 491 15.6 Introduction to Statistical Distributions and Functions 499 15.7 Advanced Distributions 504 15.8 Summary and Conclusions 511 15.9 Exercises and Projects 511 CHAPTER 16 Bivariate Statistical Distributions and Two-Asset Option Pricing 515 16.1 Introduction and Objectives 515 16.2 Computing Integrals Using PDEs 516 16.3 The Drezner Algorithm 521 16.4 The Genz Algorithm and the West/Quantlib Implementations 521 16.5 Abramowitz and Stegun Approximation 525 16.6 Performance Testing 528 16.7 Gauss–Legendre Integration 529 16.8 Applications to Two-Asset Pricing 531 16.9 Trivariate Normal Distribution 536 16.10 Chooser Options 543 16.11 Conclusions and Summary 545 16.12 Exercises and Projects 546 CHAPTER 17 STL Algorithms in Detail 551 17.1 Introduction and Objectives 551 17.2 Binders and std::bind 554 17.3 Non-modifying Algorithms 557 17.4 Modifying Algorithms 567 17.5 Compile-Time Arrays 575 17.6 Summary and Conclusions 576 17.7 Exercises and Projects 576 17.8 Appendix: Review of STL Containers and Complexity Analysis 583 CHAPTER 18 STL Algorithms Part II 589 18.1 Introduction and Objectives 589 18.2 Mutating Algorithms 589 18.3 Numeric Algorithms 597 18.4 Sorting Algorithms 601 18.5 Sorted-Range Algorithms 604 18.5.5 Merging 608 18.6 Auxiliary Iterator Functions 609 18.7 Needle in a Haystack: Finding the Right STL Algorithm 612 18.8 Applications to Computational Finance 613 18.9 Advantages of STL Algorithms 613 18.10 Summary and Conclusions 614 18.11 Exercises and Projects 614 CHAPTER 19 An Introduction to Optimisation and the Solution of Nonlinear Equations 617 19.1 Introduction and Objectives 617 19.2 Mathematical and Numerical Background 618 19.3 Sequential Search Methods 619 19.4 Solutions of Nonlinear Equations 620 19.5 Fixed-Point Iteration 622 19.6 Aitken’s Acceleration Process 623 19.7 Software Framework 623 19.8 Implied Volatility 632 19.9 Solvers in the Boost C++ Libraries 632 19.10 Summary and Conclusions 633 19.11 Exercises and Projects 633 19.12 Appendix: The Banach Fixed-Point Theorem 636 CHAPTER 20 The Finite Difference Method for PDEs: Mathematical Background 641 20.1 Introduction and Objectives 641 20.2 General Convection–Diffusion–Reaction Equations and Black–Scholes PDE 641 20.3 PDE Preprocessing 64520.3.2 Reduction of PDE to Conservative Form 646 20.4 Maximum Principles for Parabolic PDEs 649 20.5 The Fichera Theory 650 20.6 Finite Difference Schemes: Properties and Requirements 654 20.7 Example: A Linear Two-Point Boundary Value Problem 655 20.8 Exponentially Fitted Schemes for Time-Dependent PDEs 659 20.9 Richardson Extrapolation 663 20.10 Summary and Conclusions 665 20.11 Exercises and Projects 666 CHAPTER 21 Software Framework for One-Factor Option Models 669 21.1 Introduction and Objectives 669 21.2 A Software Framework: Architecture and Context 669 21.3 Modelling PDEs and Finite Difference Schemes: What is Supported? 670 21.4 Several Versions of Alternating Direction Explicit 671 21.5 A Software Framework: Detailed Design and Implementation 673 21.6 C++ Code for PDE Classes 674 21.7 C++ Code for FDM Classes 679 21.8 Examples and Test Cases 690 21.9 Summary and Conclusions 693 21.10 Exercises and Projects 694 CHAPTER 22 Extending the Software Framework 701 22.1 Introduction and Objectives 701 22.2 Spline Interpolation of Option Values 701 22.3 Numerical Differentiation Foundations 704 22.4 Numerical Greeks 710 22.5 Constant Elasticity of Variance Model 715 22.6 Using Software Design (GOF) Patterns 715 22.7 Multiparadigm Design Patterns 720 22.8 Summary and Conclusions 721 22.9 Exercises and Projects 721 CHAPTER 23A PDE Software Framework in C++11 for a Class of Path-Dependent Options 727 23.1 Introduction and Objectives 727 23.2 Modelling PDEs and Initial Boundary Value Problems in the Functional Programming Style 728 23.3 PDE Preprocessing 731 23.4 The Anchoring PDE 732 23.5 ADE for Anchoring PDE 739 23.6 Useful Utilities 746 23.7 Accuracy and Performance 748 23.8 Summary and Conclusions 750 23.9 Exercises and Projects 751 CHAPTER 24 Ordinary Differential Equations and their Numerical Approximation 755 24.1 Introduction and Objectives 755 24.2 What is an ODE? 755 24.3 Classifying ODEs 756 24.4 A Palette of Model ODEs 757 24.5 Existence and Uniqueness Results 760 24.6 Overview of Numerical Methods for ODEs: The Big Picture 763 24.7 Creating ODE Solvers in C++ 770 24.8 Summary and Conclusions 776 24.9 Exercises and Projects 776 24.10 Appendix 778 CHAPTER 25 Advanced Ordinary Differential Equations and Method of Lines 781 25.1 Introduction and Objectives 781 25.2 An Introduction to the Boost Odeint Library 782 25.3 Systems of Stiff and Non-stiff Equations 791 25.4 Matrix Differential Equations 796 25.5 The Method of Lines: What is it and what are its Advantages? 799 25.6 Initial Foray in Computational Finance: MOL for One-Factor Black-Scholes PDE 801 25.7 Barrier Options 806 25.8 Using Exponential Fitting of Barrier Options 808 25.9 Summary and Conclusions 808 25.10 Exercises and Projects 809 CHAPTER 26 Random Number Generation and Distributions 819 26.1 Introduction and Objectives 819 26.2 What is a Random Number Generator? 820 26.3 What is a Distribution? 821 26.4 Some Initial Examples 825 26.5 Engines in Detail 827 26.6 Distributions in C++: The List 830 26.7 Back to the Future: C-Style Pseudo-Random Number Generation 831 26.8 Cryptographic Generators 833 26.9 Matrix Decomposition Methods 833 26.10 Generating Random Numbers 845 26.11 Summary and Conclusions 848 26.12 Exercises and Projects 849 CHAPTER 27 Microsoft .Net, C# and C++11 Interoperability 853 27.1 Introduction and Objectives 853 27.2 The Big Picture 854 27.3 Types 858 27.4 Memory Management 859 27.5 An Introduction to Native Classes 861 27.6 Interfaces and Abstract Classes 861 27.7 Use Case: C++/CLI as ‘Main Language’ 862 27.8 Use Case: Creating Proxies, Adapters and Wrappers for Legacy C++ Applications 864 27.8.1 Alternative: SWIG (Simplified Wrapper and Interface Generator) 871 27.9 ‘Back to the Future’ Use Case: Calling C# Code from C++11 872 27.10 Modelling Event-Driven Applications with Delegates 876 27.11 Use Case: Interfacing with Legacy Code 886 27.12 Assemblies and Namespaces for C++/CLI 889 27.13 Summary and Conclusions 895 27.14 Exercises and Projects 896 CHAPTER 28 C++ Concurrency, Part I Threads 899 28.1 Introduction and Objectives 899 28.2 Thread Fundamentals 900 28.3 Six Ways to Create a Thread 903 28.4 Intermezzo: Parallelising the Binomial Method 909 28.5 Atomics 916 28.6 Smart Pointers and the Thread-Safe Pointer Interface 924 28.7 Thread Synchronisation 926 28.8 When should we use Threads? 929 28.9 Summary and Conclusions 929 28.10 Exercises and Projects 930 CHAPTER 29 C++ Concurrency, Part II Tasks 935 29.1 Introduction and Objectives 935 29.2 Finding Concurrency: Motivation 936 29.3 Tasks and Task Decomposition 937 29.4 Futures and Promises 941 29.5 Shared Futures 945 29.6 Waiting on Tasks to Complete 948 29.7 Continuations and Futures in Boost 950 29.8 Pure Functions 952 29.9 Tasks versus Threads 953 29.10 Parallel Design Patterns 953 29.11 Summary and Conclusions 955 29.12 Quizzes, Exercises and Projects 955 CHAPTER 30 Parallel Patterns Language (PPL) 961 30.1 Introduction and Objectives 961 30.2 Parallel Algorithms 962 30.3 Partitioning Work 967 30.4 The Aggregation/Reduction Pattern in PPL 971 30.5 Concurrent Containers 977 30.6 An Introduction to the Asynchronous Agents Library and Event-Based Systems 978 30.7 A Design Plan to Implement a Framework Using Message Passing and Other Approaches 986 30.8 Summary and Conclusions 989 30.9 Exercises and Projects 990 CHAPTER 31 Monte Carlo Simulation, Part I 993 31.1 Introduction and Objectives 993 31.2 The Boost Parameters Library for the Impatient 995 31.3 Monte Carlo Version 1: The Monolith Program (‘Ball of Mud’) 1000 31.4 Policy-Based Design: Dynamic Polymorphism 1003 31.5 Policy-Based Design Approach: CRTP and Static Polymorphism 1011 31.6 Builders and their Subcontractors (Factory Method Pattern) 1013 31.7 Practical Issue: Structuring the Project Directory and File Contents 1014 31.8 Summary and Conclusions 1016 31.9 Exercises and Projects 1017 CHAPTER 32 Monte Carlo Simulation, Part II 1023 32.1 Introduction and Objectives 1023 32.2 Parallel Processing and Monte Carlo Simulation 1023 32.3 A Family of Predictor–Corrector Schemes 1033 32.4 An Example (CEV Model) 1038 32.5 Implementing the Monte Carlo Method Using the Asynchronous Agents Library 1041 32.6 Summary and Conclusions 1047 32.7 Exercises and Projects 1050 Appendix 1: Multiple-Precision Arithmetic 1053 Appendix 2: Computing Implied Volatility 1075 References 1109 Index 1117
£63.00
John Wiley & Sons Inc Lessons Learned in Software Testing
Book SynopsisSoftware testing is a critical stage in software development that ensures that a program meets required specifications and is free of bugs. In this handbook, Cem Kaner and James Bach, two of the world's leading testing experts help you avoid testing errors without the trial and error it normally takes to do so.Trade Review"If testing is something that is going to be an important part of your career buy this book and read it carefully." (CVu - Jnl of the Association C & C++ Users, February 2002) "...a real gem?for me, this book is one that I shall find useful?each and every test department should have several copies available...be prepared to be inspired, or at the very least to have your ideas challenged..." (Professional Tester, September 2002) "...a refreshing and enjoyable book?it will not be 'shelf-ware', but a well-used reference..." (Software Testing, Verification & Reliability, March 2003) "...will make fascinating reading?highly recommended..." (CVu, Dec 03)Table of ContentsLessons. Foreword. Preface. Acknowledgments. The Role of the Tester. Thinking Like a Tester. Testing Techniques. Bug Advocacy. Automating Testing. Documenting Testing. Interacting with Programmers. Managing the Testing Project. Managing the Testing Group. Your Career in Software Testing. Planning the Testing Strategy. Appendix: The Context-Driven Approach to Software Testing. Bibliography. Index.
£31.34
John Wiley & Sons Inc Antipatterns
Book SynopsisPatterns are popular in software development and used to identify different types of procedures, designs, or codes that work. AntiPatterns are the exact opposite, targeting common errors and issues that can cause a project to fail. This book provides practical guidelines on detecting AntiPatterns and the refactored solutions that correct them.Table of ContentsINTRODUCTION TO ANTIPATTERNS. Introduction to Patterns and AntiPatterns. AntiPatterns Reference Model. Templates for Patterns and AntiPatterns. Advice for Using AntiPatterns. ANTIPATTERNS Software Development AntiPatterns. Software Architecture AntiPatterns. Software Project Management AntiPatterns. CONCLUSIONS AND RESOURCES. Appendices. Index.
£41.60
John Wiley & Sons Inc SoftwareEnabled Control Information Technology
Book Synopsis* Discusses open systems, object orientation, software agents, domain-specific languages, component architectures, as well as the dramatic IT-enabled improvements in memory, communication, and processing resources that are now available for sophisticated control algorithms to exploit.Trade Review“…a serious and detailed look at much exciting and ambitious work…gives an excellent look at what will soon become possible – and probably commonplace – in advanced control systems.” (Measurement & Control) "...an invaluable resource for research scientists, practicing engineers...graduate and undergraduate students...academic, corporate, and main libraries cannot afford to be without a copy of this outstanding publication.... Essential." (Choice, Vol. 41, No. 3, November 2003)Table of ContentsContributors. Preface. Introduction. The Sec Vision (H. Gill & J. Bay). Trends and Technologies For Unmanned Aerial Vehicles (D. Van Cleave). Previewing the Software-Enabled Control Research Portfolio (T. Samad & G. Balas). II: SOFTWARE ARCHITECTURES FOR REAL-TIME CONTROL. Open Control Platform: A Software Platform Supporting Advances in UAV Control Technology (J. Paunicka, et al.). A Prototype Open Control Platform For Reconfigurable Control Systems (L. Wills, et al.). Real-Time Adaptive Resource Management for Multimodel Control (M. Agrawal, et al.). Heterogeneous Modeling and Design of Control Systems (X. Liu, et al.). Embedded Control Systems Development with Giotto (T. Henzinger, et al.). III: ONLINE MODELING AND CONTROL. Online Control Customization Via Optimization-Based Control (R. Murray, et al.). Model Predictive Neural Control For Aggressive Helicop ter Maneuvers (E. Wan, et al.). Active Model Estimation For Complex Autonomous Systems (M. Campbell, et al.). An Intelligent Methodology For Real-Time Adaptive Mode Transitioning and Limit Avoidance of Unmanned Aerial Vehicles (G. Vachtsevanos, et al.). Implementation of Online Control Customization Within the Open Control Platform (R. Bhattacharya & G. Balas). IV: HYBRID DYNAMICAL SYSTEMS. Hybrid Systems: Review and Recent Progress (P. Antsaklis & X. Koutsoukos). A Maneuver-Based Hybrid Control Architecture for Autonomous Vehicle Motion Planning (E. Frazzoli, et al.). Multimodal Control of Constrained Nonlinear Systems (T. Koo, et al.). Towards Fault-Adaptive Control of Complex Dynamical Systems (G. Karsai, et al.). Computational Tools For the Verification of Hybrid Systems (C. Tomlin, et al.). V: CONCLUSIONS. The Outlook For Software-Enabled Control (T. Samad & G. Balas). Index. About the Editors.
£154.76
John Wiley & Sons Inc Simulation with Visual Slam and Awesim
Book SynopsisThis book presents a process for problem resolution, policy crafting, and decision making based on the use of modeling and simulation. Detailed descriptions of the methods by which Visual SLAM and AweSim, version 3, support this process are presented.Table of ContentsINTRODUCTION TO SIMULATION. Introduction to Modeling and Simulation. Simulation Modeling Perspectives. Modeling and Simulation Process. Applications of Simulation. VISUAL SLAM NETWORK MODELING AND AWESIM. Basic Network Modeling. Resources and Gates. Interface, Find and Assembly Modeling. Visual Subnetwork Modeling. Awesim Simulation Support System. SIMULATION ANALYSIS: PRACTICE AND THEORY. Awesim Analysis of Simulation Outputs. Random Sampling from Distributions. Statistical Aspects of Simulation. VISUAL SLAM DISCRETE EVENT, CONTINUOUS AND COMBINED MODELING. Network Modeling with Visual Basic Inserts. Network Modeling with C Inserts. Network Modeling with Continuous Variables. Discrete Event Simulation Using Visual Basic. Discrete Event Simulation Using C Functions. Continuous Modeling. Combined Modeling. Indexes.
£188.06
John Wiley & Sons Inc The Software Project Managers Handbook
Book SynopsisSoftware project managers and their team members work individually towards a common goal. This book guides both, emphasizing basic principles that work at work. Software at work should be pleasant and productive, not just one or the other. This book emphasizes software project management at work. The author''s unique approach concentrates on the concept that success on software projects has more to do with how people think individually and in groups than with programming. He summarizes past successful projects and why others failed. Visibility and communication are more important than SQL and C. The book discusses the technical and people aspects of software and how they relate to one another. The first part of the text discusses four themes: (1) people, process, product, (2) visibility, (3) configuration management, and (4) IEEE Standards. These themes stress thinking, organization, using what others have built, and people. The second part describes the softwTrade Review"…clearly explains what it takes to be a good software project manager...a first-rate information source for novice project managers." (IEEE Software Magazine, November/December 2005) "...a useful book for the classroom or the workplace...I advise purchasing this book and applying the author's ideas." (Software Quality Professional, September 2005) "...a good reference for individuals just starting off as IT project managers...For those preparing for the CSQE exam, this book can be a good reference..." (Software Quality Professional, June-August 2005) "…helps guide software project managers and their team members in working towards common goals." (IEEE Computer Magazine, October 2004)Table of ContentsPreface. Part 1. 1 What Makes a Good Software Manager? 1.1 People Perspective. 1.2 Business Perspective. 1.3 Process Perspective. 1.4 Key Thoughts in This Chapter. References. 2 Four Basics That Work. 2.1 People, Process, and Product. 2.2 Visibility. 2.3 Configuration Management. 2.4 Standards. 2.5 Key Thoughts in This Chapter. References. 3 What Doesn’t Work and Why. 3.1 When the 3Ps Are Out of Balance. 3.2 When There’s Not Enough Visibility. 3.3 When Configuration Management is Missing or Abused. 3.4 When Standards are Dismissed. 3.5 Key Thoughts in This Chapter. Reference. 4 Managing a Project Day by Day. 4.1 Balancing the 3Ps to Create a Good Environment. 4.2 Visibility: Project Control in a Simple Equation. 4.3 CM: Managing Baselines with Milestones. 4.4 Looking to Standards for Help. 4.5 Key Thoughts in This Chapter. References. Part 2. 5 Requirements. 5.1 Balancing the 3Ps: Requirements Analysis, Documentation, and Management. 5.2 Visibility: Making Requirements Known. 5.3 Using CM. 5.4 Using Standards. 5.5 Key Thoughts in this Chapter. References. 6 Planning. 6.1 Elements of a Good Plan. 6.2 Balancing the 3Ps: Selecting the Process. 6.3 Making the Project Visible: Planning Techniques. 6.4 Making the Project Visible: Estimating Techniques. 6.5 Configuration Management. 6.6 Standards. 6.7 Key Thoughts in this Chapter. References. 7 Risk Management. 7.1 A Task Overview. 7.2 Balancing The 3Ps: Uncertainty and Choice. 7.3 Making Risk Visible. 7.4 Other Ways to Manage Risk. 7.5 Configuration Management. 7.6 Using Standards. 7.7 Key Thoughts in this Chapter. References. Part 3. 8 Design. 8.1 The Challenge of the 3Ps. 8.2 Visibility—Expressing the Design. 8.3 Design in the Code. 8.4 Design and Process. 8.5 Designing with COTS. 8.6 Configuration Management. 8.7 Standards: Writing the SDD. 8.8 Key Thoughts in this Chapter. References. 9 Integration and Testing. 9.1 Some I&T Myths. 9.2 Managing the 3Ps: People. 9.3 Managing the 3Ps: Process. 9.4 Visibility: Testing Techniques and Details. 9.5 Configuration Management. 9.6 Standards: Documenting the Test Plan. 9.7 Key Thoughts in this Chapter. References. 10 Software Maintenance. 10.1 What is Maintenance. 10.2 Balancing the 3Ps: Managing the Maintainers. 10.3 Balancing the 3Ps: Managing the Process. 10.4 Balancing the 3Ps: Making the Most of the Product. 10.5 Visibility: Understanding the Maintenance Stages. 10.6 Configuration Management. 10.7 Using Standards. 10.8 Key Thoughts in this Chapter. References. Part 4. 11 Cookbook. 11.1 Essentials. 11.2 Opt: A Waterfall Project. 11.3 System Upgrade: An Evolutionary Project. 11.4 CTRAN: A Spiral Project. 11.5 Other Software Projects. 11.6 Key Thoughts in this Chapter. References. Appendix A Documents for the OPT Project. A.1 OPT Executive Sponsor Memorandum. A.2 OPT Project Context Document. A.3 OPT Configuration Management Plan. A.4 OPT Concept of Operations. A.5 OPT Software Requirements Specification. A.6 OPT Software Project Management Plan. A.7 OPT Software Design Description. Appendix B Configuration Management. B.1 Will The Real CM Please Stand Up? B.2 The Main Ingredients. B.3 Baselines. B.4 CM Activities. B.5 CM People. B.6 CM Plan. B.7 A CM Sketch. B.8 Summary. References. Appendix C Structured Analysis and Design. C.1 Structured Analysis. C.2 Structured Design. References. Appendix D Annotated Bibliography. D.1 Process. D.2 Visibility. D.3 People. D.4 Journals. Index. About the Author.
£105.26
John Wiley & Sons Inc Software Testing and Quality Assurance
Book SynopsisA superior primer on software testing and quality assurance, from integration to execution and automation This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices. Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of: Practices that support the production of quality software Software testing techniques Life-cycle models for requirements, defects, test cases, and test results Process models for units, integration, system, and acceptance testing How to build test teams, including recruiting and retaining test engineers Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model Expertly balancing theoTrade Review"The text is user friendly, very clear, and supported by appropriate tables and process figures, combined with examples and process execution steps. There are useful detailed explanations inside text boxes and table, with nicely designed and explained figures, as well as generated software code samples...This is a very advanced book that I highly recommend to all software testing and QA practioners." (Computing Reviews, November 5, 2008) This book provides a comprehensive review of topics dealing with software testing and quality assurance. The writing style is plain but efficient, while the content covers theoretical (to some extent) and practical concepts in this field. Naik (Univ. of Waterloo, Ontario, Canada) and Tripathy (NEC Laboratories America Inc.) seem to have limited exposure to current research in software testing, but they adequately cover the fundamentals. The literature review sections are useful for researchers who wish to expand their knowledge on a specific topic, with references well placed at the end of individual chapters. The rather basic exercises are not really helpful for instructors. The work would benefit by a few more supportive examples, although the ones present are well designed to illustrate the theory, where available. Software testing may be considered a relatively specialized computer science topic, existing in the few departments where a software-testing expert resides or in academic institutions offering a software engineering degree. However, it is nevertheless an important subject, with extended applications in industry, the concepts of which are covered adequately here. This volume would be useful for instructional purposes at the undergraduate level and for professionals seeking references to more specialized information. Summing Up: Recommended. Upper-division undergraduates, faculty, researchers, and practitioners. – D. Papamichail, University of Miami (Choice, 2009)Table of ContentsPreface. List of Figures. List of Tables. CHAPTER 1: BASIC CONCEPTS AND PRELIMINARIES. 1.1 Quality Revolution. 1.2 Software Quality. 1.3 Role of Testing. 1.4 Verification and Validation. 1.5 Failure, Error, Fault, and Defect. 1.6 Notion of Software Reliability. 1.7 Objectives of Testing. 1.8 What Is a Test Case? 1.9 Expected Outcome. 1.10 Concept of Complete Testing. 1.11 Central Issue in Testing. 1.12 Testing Activities. 1.13 Test Levels. 1.14 Sources of Information for Test Case Studies. 1.15 White-Box and Black-Box Testing. 1.16 Test Planning and Design. 1.17 Monitoring and Measuring Test Execution. 1.18 Test Tools and Automation. 1.19 Test Team Organization and Management. 1.20 Outline of Book. References. Exercises. CHAPTER 2: THEORY OF PROGRAM TESTING. 2.1 Basic Concepts in Testing Theory. 2.2 Theory of Goodenough and Gerhart. 2.3 Theory of Weyuker and Ostrand. 2.4 Theory of Gourlay. 2.5 Adequacy of Testing. 2.6 Limitations of Testing. 2.7 Summary. Literature Review. References. Exercises. CHAPTER 3: UNIT TESTING. 3.1 Concept of Unit Testing. 3.2 Static Unit Testing. 3.3 Defect Prevention. 3.4 Dynamic Unit Testing. 3.5 Mutation Testing. 3.6 Debugging. 3.7 Unit Testing in extreme Programming. 3.8 JUnit: Framework for Unit Testing. 3.9 Tools for Unit Testing. 3.10 Summary. Literature Review. References. Exercises. CHAPTER 4: CONTROL FLOW TESTING. 4.1 Basic Idea. 4.2 Outline of Control Flow Testing. 4.3 Control Flow Graph. 4.4 Paths in a Control Flow Chart. 4.5 Path Selection Criteria. 4.6 Generating Test Input. 4.7 Examples of Test Data Selection. 4.8 Containing Infeasible Paths. 4.9 Summary. Literature Review. References. Exercises. CHAPTER 5: DATA FLOW TESTING. 5.1 General Idea. 5.2 Data flow Anomaly. 5.3 Overview of Dynamic Data flow Testing. 5.4 Data Flow Graph. 5.5 Data Flow Terms. 5.6 Data Flow Testing Criteria. 5.7 Comparison of Data Flow Test Selection Criteria. 5.8 Feasible Paths and Test Selection Criteria. 5.9 Comparison of Testing Techniques. 5.10 Summary. Literature Review. References. Exercises. CHAPTER 6: DOMAIN TESTING. 6.1 Domain Error. 6.2 Testing for Domain Errors. 6.3 Sources of Domain. 6.4 Types of Domain Errors. 6.5 ON and OFF Points. 6.6 Test Selection Criterion. 6.7 Summary. Literature Review. References. Exercises. CHAPTER 7: SYSTEM INTEGRATION. 7.1 Concept of Integration Testing. 7.2 Different Types of Interfaces and Interface Errors. 7.3 Granularity of System Integration Testing. 7.4 System Integration Techniques. 7.5 Software and Hardware Integration. 7.6 Test Plan for System Integration. 7.7 Off-the Shelf Component Integration. 7.8 Summary. Literature Review. References. Exercises. CHAPTER 8: SYSTEM TEST CATEGORIES. 8.1 Taxonomy of System Tests. 8.2 Basic Tests. 8.3 Functionality Tests. 8.4 Robustness Tests. 8.5 Interoperability Tests. 8.6 Performance Tests. 8.7 Scalability Tests. 8.8 Stress Tests. 8.9 Load and Stability Tests. 8.10 Reliability Tests. 8.11 Regression Tests. 8.12 Documentation Tests. 8.13 Regulatory Tests. 8.14 Summary. Literature Review. References. Exercises. CHAPTER 9: FUNCTIONAL TESTING. 9.1 Functional Testing Concepts of Howden. 9.2 Complexity of Applying Functional Testing. 9.3 Pairwise Testing. 9.4 Equivalence Class Partitioning. 9.5 Boundary Value Analysis. 9.6 Decision Tables. 9.7 Random Testing. 9.8 Error Guessing. 9.9 Category Partition. 9.10 Summary. Literature review. References. Exercises. CHAPTER 10: TEST GENERATION FROM FSM MODELS. 10.1 State-Oriented Model. 10.2 Points of Control and Observation. 10.3 Finite-State Machine. 10.4 Test Generation from an FSM. 10.5 Transition Tour Method. 10.6 Testing with State Verification. 10.7 Unique Input-Output Sequence. 10.8 Distinguishing Sequence. 10.9 Characterizing Sequence. 10.10 Test Architecture. 10.11 Testing and Test Control Notation Version 3 (TTCN-3). 10.12 Extended FSMs. 10.13 Test Generation from EFSM Models. 10.14 Additional Coverage Criteria for System Testing. 10.15 Summary. Literature review. References. Exercises. CHAPTER 11: SYSTEM TEST DESIGN. 11.1 Test Design Factors. 11.2 Requirement Identification. 11.3 Characteristics of Testable Requirements. 11.4 Test Objective Identification. 11.5 Example. 11.6 Modeling a Test Design Process. 11.7 Modeling Test Results. 11.8 Test Design Preparedness Metrics. 11.9 Test Case Design Effectiveness. 11.10 Summary. Literature Review. References. Exercises. CHAPTER 12: SYSTEM TEST PLANNING AND AUTOMATION. 12.1 Structure of a System Test Plan. 12.2 Introduction and Feature Description. 12.3 Assumption. 12.4 Test Approach. 12.5 Test Suite Structure. 12.6 Test Environment. 12.7 Test Execution Strategy. 12.8 Test Effort Estimation. 12.9 Scheduling and Test Milestones. 12.10 System Test Automation. 12.11 Evaluation and Selection of Test Automation Tools. 12.12 Test Selection Guidelines for Automation. 12.13 Characteristics of Automated Test Cases. 12.14 Structure of an Automated Test Case. 12.15 Test Automation Infrastructure. 12.16 Summary. Literature Review. References. Exercises. CHAPTER 13: SYSTEM TEST EXECUTION. 13.1 Basic Ideas. 13.2 Modeling Defects. 13.3 Preparedness to Start System Testing. 13.4 Metrics for Tracking System Test. 13.5 Orthogonal Defect Classification. 13.6 Defect Causal Analysis. 13.7 Beta Testing. 13.8 First Customer Shipment. 13.9 System Test Report. 13.10 Product Sustaining. 13.11 Measuring Test Effectiveness. 13.12 Summary. Literature Review. References. Exercises. CHAPTER 14: ACCEPTANCE TESTING. 14.1 Types of Acceptance Testing. 14.2 Acceptance Criteria. 14.3 Selection of Acceptance Criteria. 14.4 Acceptance Test Plan. 14.5 Acceptance Test Execution. 14.6 Acceptance Test Report. 14.7 Acceptance Testing in extreme Programming. 14.8 Summary. Literature Review. References. Exercises. CHAPTER 15: SOFTWARE RELIABILTY. 15.1 What is Reliability? 15.2 Definitions of Software Reliability. 15.3 Factors Influencing Software Reliability. 15.4 Applications of Software Reliability. 15.5 Operational Profiles. 15.6 Reliability Models. 15.7 Summary. Literature Review. References. Exercises. CHAPTER 16: TEST TEAM ORGANIZATION. 16.1 Test Groups. 16.2 Software Quality Assurance Group. 16.3 System Test Team Hierarchy. 16.4 Effective Staffing of Test Engineers. 16.5 Recruiting Test Engineers. 16.6 Retaining Test Engineers. 16.7 Team Building. 16.8 Summary. Literature Review. References. Exercises. CHAPTER 17: SOFTWARE QUALITY. 17.1 Five Views of Software Quality. 17.2 McCall’s Quality Factors and Criteria. 17.3 ISO 9126 Quality Characteristics. 17.4 ISO 9000:2000 Software Quality Standard. 17.5 Summary. Literature Review. References. Exercises. CHAPTER 18: MATURITY MODELS. 18.1 Basic Idea in Software Process. 18.2 Capability Maturity Models. 18.3 Test Process Improvement. 18.4 Testing Maturity Model. 18.5 Summary. Literature Review. References. Exercises. GLOSSARY. INDEX.
£107.06
John Wiley & Sons Inc Control Systems Engineering
Book SynopsisAn up-to-date text designed for undergraduate courses in control systems engineering and principles of automatic controls. Focuses on design and implementation rather than just the mathematics of control systems.Table of ContentsPartial table of contents: Systems. Modeling, Analysis, and Control. Types of Models. Linearization. MODELING DYNAMIC SYSTEMS. Systems of Units. The Structure of Dynamic Models. Modeling Mechanical Elements. SYSTEM RESPONSE. Free Response of a First-Order Model. Step Response of a First-Order Model. Free Response of Second-Order Model. TRANSFER FUNCTION AND SYSTEM DIAGRAMS. The Laplace Transform and System Response. Transfer Functions. Block Diagrams. COMPUTER SIMULATION METHODS. Numerical Methods: An Introduction. Advanced Numerical Methods. Extension to Higher Order Models. FEEDBACK CONTROL SYSTEMS. Feedback Control: Concepts, History, and Applications. Control System Structure. Transducers and Error Detectors. CONTROL SYSTEM DESIGN: MODELING CONSIDERATIONS AND ALTERNATIVECONTROL STRUCTURES. Selecting Controlling Gains. Design with Low-Order Models. Nonlinearities and Controller Performance. THE ROOT LOCUS PLOT. The Root Locus Concept. Plotting Guides. Some Numerical Aids. APPLICATIONS OF GRAPHICAL METHODS TO SYSTEM DESIGN. System Design with Open-Loop Frequency Response Plots. Series Compensation and PID Control. DIGITAL CONTROL SYSTEMS. Origin of Discrete-Time Models. Free Response. Sampling. Appendices.
£186.26
Wiley SelfTuning Systems
Book SynopsisGeared to the usersa needs, this work provides comprehensive coverage of the main techniques and methods necessary to construct a self--tuning and self--adaptive system.Table of ContentsSYSTEM IDENTIFICATION FOR SELF-TUNING. System and Signal Models. Recursive Estimation. Using Recursive Estimators. Computational Alternatives for Recursive Estimation. Convergence Analysis for Recursive Algorithms. SELF-TUNING CONTROLLERS. Pole Assignment Control. Minimum Variance Control. Multistage Predictive Control. SELF-TUNING SIGNAL PROCESSING. Prediction. Self-Tuning Filters. SPECIAL TOPICS. Two-Dimensional Self-Tuning Algorithms. Self-Tuning Extremum Control. Frequency Domain Self-Tuning. Appendix. Index.
£367.16
John Wiley & Sons Inc PatternOriented Software Architecture A System of
Book SynopsisBoth a tutorial and a reference guide, this manual presents a number of techniques for solving recurring software design problems in a comprehensive manner which includes many guidelines and constraints regarding practical applications.Table of ContentsAbout this Book xi Guide to the Reader xvii 1 Patterns 1 2 Architectural Patterns 25 3 Design Patterns 221 4 Idioms 345 5 Pattern Systems 359 6 Patterns and Software Architecture 383 7 The Pattern Community 413 8 Where Will Patterns Go? 419 9 Notations 429 Glossary 433 References 441 Index of Patterns 455 Index 459
£32.00
Cambridge University Press Python for Software Design How to Think Like a Computer Scientist
Book SynopsisA no-nonsense introduction to software design using the Python programming language. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practise each new concept.Trade Review'I liked this book. The presentation is neat and clean, I might even say cheerful. And I learned a lot, not least of all where higher level languages are going, and the terminology used to express that … I liked the pace of presentation. I liked the constant stirring of topics: a new feature, a hint on debugging, a few words on programming style, some thoughts on programming principles, then on to the next new feature. It really is a nice mix.' Scientific Programming'… explains concepts in clear, readable prose; contains helpful illustrations; and integrates activities to engage its readers.' Computing in Science and EngineeringTable of Contents1. Preface; 2. The way of the program; 3. Variables, expressions and statements; 4. Functions; 5. Case study: interface design; 6. Conditionals and recursion; 7. Fruitful functions; 8. Iteration; 9. Strings; 10. Case study: word play; 11. Lists; 12. Dictionaries; 13. Tuples; 14. Case study: data structure selection; 15. Files; 16. Classes and objects; 17. Classes and functions; 18. Classes and methods; 19. Inheritance; 20. Case study: Tkinter; Appendix 1: debugging.
£74.99
O'Reilly Media Producing Open Source Software
Book SynopsisSuitable for developers starting their own free software projects, or those who want to participate in the process, this guide offers several steps to help you manage the process of developing free software. It covers such topics as project management, developer motivation, technical infrastructure to support collaboration, and project promotion.Table of ContentsForeword Preface 1. Introduction History The Situation Today 2. Getting Started First, Look Around Starting from What You Have Choosing a License and Applying It Setting the Tone Announcing 3. Technical Infrastructure What a Project Needs Mailing Lists Version Control Bug Tracker IRC/Real-Time Chat Systems Wikis Web Site 4. Social and Political Infrastructure Forkability Benevolent Dictators Consensus-Based Democracy Writing It All Down 5. Money Types of Involvement Hire for the Long Term Appear as Many, Not as One Be Open About Your Motivations Money Can't Buy You Love Contracting Funding Non-Programming Activities Marketing 6. Communications You Are What You Write Avoiding Common Pitfalls Difficult People Handling Growth No Conversations in the Bug Tracker Publicity 7. Packaging, Releasing, and Daily Development Release Numbering Release Branches Stabilizing a Release Packaging Testing and Releasing Maintaining Multiple Release Lines Releases and Daily Development 8. Managing Volunteers Getting the Most Out of Volunteers Share Management Tasks as Well as Technical Tasks Transitions Committers Credit Forks 9. Licenses, Copyrights, and Patents Terminology Aspects of Licenses The GPL and License Compatibility Choosing a License Copyright Assignment and Ownership Dual Licensing Schemes Patents Further Resources A. Free Version Control Systems B. Free Bug Trackers C. Why Should I Care What Color the Bikeshed Is?D. Example Instructions for Reporting Bugs Index
£15.99
O'Reilly Media Practical Development Environments
Book SynopsisAimed at those, wanting a good technical environment for developing their software, this book contains guidelines telling, how to create and maintain a development environment. It discusses some of the tools, covering different areas, such as version control, build tools, testing tools, bug tracking systems, release tools, maintenance and others.Table of Contentslist of figures list of tables list of examples Preface 1. Introduction Developing Software Products Open and Closed Software Development Dirty Secrets of Software Projects What Does "Practical" Mean? A Personal Tools Quiz 2. Project Basics The Parts of a Project Software Configuration Management Building Software Testing Software Tracking Bugs Writing Documentation Releasing Products Maintenance Recommended Tools Modern Environments Classic Environments Future Environments 3. Project Concepts Preconstructed Development Environments SourceForge GForge CollabNet Savane BerliOS Improving PDEs Why Integration Is Helpful Why Automation Is Vital Automation Environments Shell Scripts and Batch Files Tinderbox Anthill CruiseControl Labeling Builds Naming Projects and Machines Choosing Project Names Choosing Machine Names Choosing New Tools Steps When Changing Tools Internationalization and Localization Authentication, Authorization, and Accounting 4. Software Configuration Management Why Do I Need SCM? What SCM Is and Is Not Drawbacks of SCM A Typical Day's Work with SCM SCM Annoyances Branches and Tags When to Branch? When to Tag? Naming Branches and Tags Merge Madness Security Access Wars Filenames to Avoid Backups and SCM SCM Tools CVS Subversion Arch Perforce BitKeeper ClearCase Visual SourceSafe Comparison of SCM Tools Wider Uses of SCM Checklist 5. Building Software How Software Gets Built The Different Stages of a Build A Typical Build File Build States: Virgin, Up-to-date, Changed, Interrupted, Clean Good Builds, Bad Builds Build States and Different Targets Build States in Practice Build Dependencies When Build Dependencies Go Wrong How Build Dependencies Change Common Build Problems Slow Builds Build Tools Shell Scripts and Batch Files make GNU Autotools Ant Jam SCons Custom Build Tools Comparison of Build Tools Changing Your Build Tool Checklist 6. Testing Software Different Kinds of Tests Unit Tests System Tests Customer Tests Other Tests Why Automate Your Tests? Evaluating Test Environments Preparing to Test Running the Tests After the Tests Good Test Reports Test Environments Shell Scripts and Batch Files xUnit DejaGnu SilkTest Types of Test Tools Memory Analyzers Coverage Tools Performance Tools Static Code Analyzers The Difficult Parts of Testing Faults of Omission Capturing Output Using Multiple Machines Only a Developer Can Do That! Accessibility Testing Checklist 7. Tracking Bugs Tool Requirements Bug Tracking Tools Spreadsheets Different Server Technologies Bugzilla GNATS FogBugz JIRA TestTrack Custom Bug Tracking Tools Bug Tracking Annoyances Multiplying Products Cleaning Up One Bug, Multiple Releases Severity Inflation Identifying the Right Area Customizing the Bug Tracking System Overloading Fields Bug History Bug Statistics Writing an Effective Bug Report Integrating with SCM Tools Checklist 8. Documentation Environments Technical Documentation Is Documentation a Separate Product? Writing Documentation Is Like Writing Code Documents and SCM File Formats for Documentation File Formats for Customers Documentation Environments Raw Text FrameMaker XML: DocBook and OpenOffice Microsoft Word More File Formats Automated Production of Documentation Bad Ideas for Documentation Releasing the Documentation Separately Ransom-Note Cut and Paste Old Versions That Never Die Funky Filenames Screenshots Internal Project Documentation Checklist 9. Releasing Products Overview Before the Release System Requirements Build Numbers Release Numbering Release Information Upgrading Legal Licenses License Keys Securing Your Releases Quick Fixes and Engineering Specials Creating the Release Automated Releases Automating Release Information Developers as Customers Packaging Formats Unix Windows Installation Tools Requirements Unix Windows Installation Irritations-Ship Happens! After the Release Checklist 10. Maintenance Maintaining an Environment Migrating Your Data What Is Product Maintenance? Developing for Easier Maintenance Product Maintenance Tasks Understanding Code Reproducing a Build Handling Product Name Changes Handling Company Name Changes Handling Copyright Date Changes Product Maintenance and Development Environments SCM Building Testing Bug Tracking Documentation People and Politics Cleaning Up Your Environment Checklist 11. Project Communication Tools for Communication A Project Web Site Access Control Different Areas for the Project Web Site Home Page Getting Started Specifications SCM Building Testing Bug Tracking Documentation Releases Maintenance Support Project Management About the Web Site Creating the Web Site Static Web Pages Dynamic Web Pages Indexing and Searching Avoiding Content Rot 12. Politics and People The Role of the Toolsmith How to Choose a Toolsmith When Good Projects Go Bad Awkward People Twisted Communications Commit Rights Automation Discipline What Do Developers Really Want? An Upbeat Ending A. How Tools Scale Scaling of Compilers How the Compiler gcc Scales Scaling of Build Tools Comparing Recursive and Included make B. Resources Online Content Discussions Directories Magazines Books Automation and General Tools Software Configuration Management Building Software Testing Software Tracking Bugs Documentation Environments Releasing Products Maintenance Politics and People Developing Software General Design Conferences University and College Courses index
£26.99
O'Reilly Media Open Sources 2.0
Book SynopsisExploring open source's impact on the software industry, this collection of essays reveals how open source concepts are infiltrating other areas of commerce and society. This work is useful for those interested in technology trends. It also traces the migration of open source ideas from computer technology to biotechnology.Table of ContentsForeword: Source Is Everything Kim Polese Acknowledgments List of Contributors Introduction Chris DiBona, Danese Cooper, and Mark Stone 1. Open Source: Competition and Evolution 1. The Mozilla Project: Past and Future Mitchell Baker 2. Open Source and Proprietary Software Development Chris DiBona 3. A Tale of Two Standards Jeremy Allison 4. Open Source and Security Ben Laurie 5. Dual Licensing Michael Olson 6. Open Source and the Commoditization of Software Ian Murdock 7. Open Source and the Commodity Urge: Disruptive Models for a Disruptive Development Process Matthew N. Asay 8. Under the Hood: Open Source and Open Standards Business Models in Context Stephen R. Walli 9. Open Source and the Small Entrepreneur Russ Nelson 10. Why Open Source Needs Copyright Politics Wendy Seltzer 11. Libre Software in Europe Jesus M. Gonzalez-BarahonaGregorio Robles 12. OSS in India Alolita Sharma and Robert Adkins 13. When China Dances with OSS Boon-Lock Yeo, Louisa Liu, and Sunil Saxena 14. How Much Freedom Do You Want? Bruno Souza 2. Beyond Open Source: Collaboration and Community 15. Making a New World Doc Searls 16. The Open Source Paradigm Shift Tim O'Reilly 17. Extending Open Source Principles Beyond Software Development Pamela Jones 18. Open Source Biology Andrew Hessel 19. Everything Is Known Eugene Kim 20. The Early History of Nupedia and Wikipedia: A Memoir Larry Sanger 21. Open Beyond Software Sonali K. Shah 22. Patterns of Governance in Open Source Steven Weber 23. Communicating Many to Many Jeff Bates and Mark Stone 3. Appendixes A. The Open Source Definition B. Referenced Open Source Licenses C. Columns from Slashdot Index
£20.99
O'Reilly Media Essential Business Process Modeling
Book SynopsisGathers various concepts, design, architecture, and standard specifications of Business Process Management (BPM), and offers examples that illustrate BPM's approach to process notation, execution, administration and monitoring. This book demonstrates standard ways to code processes that are centerpieces of a service-oriented architecture (SOA).Table of ContentsPreface Part One. Concepts 1. Introduction to Business Process Modeling The Benefits of BPM BPM Acid Test: The Process-Oriented Application The Morass of BPM Workflow Roadmap Summary References 2. Prescription for a Good BPM Architecture Designing a Solution Components of the Design Standards Summary Reference 3. The Scenic Tour of Process Theory Family Tree The Pi-Calculus Petri Nets State Machines and Activity Diagrams Summary References4. Process Design Patterns Design Patterns and the GoF Process Patterns and the P4 Basic Patterns Advanced Branch and Join Patterns Structural Patterns Multiple Instances Patterns State-Based Patterns Cancellation Patterns Yet Another Workflow Language (YAWL) Additional Patterns Process Coding Standards Summary References Part Two. standards 5. Business Process Execution Language (BPEL) Anatomy of a Process BPEL Example BPEL in a Nutshell BPELJ BPEL and Patterns Summary References 6. BPMI Standards: BPMN and BPML BPMN BPML Summary Reference 7. The Workflow Management Coalition (WfMC) The Reference Model XPDL WAPI WfXML Summary References 8. World Wide Web Consortium (W3C): Choreography About the W3C Choreography and Orchestration WS-CDL WSCI WSCL Summary References 9. Other BPM Models OMG: Model-Driven BPM ebXML BPSS: Collaboration Microsoft XLANG: BPEL Forerunner IBM WSFL: BPEL Forerunner BPEL, XLANG, and WSFL Summary References Part Three. Examples 10. Example: Human Workflow in Insurance Claims Processing Oracle BPEL Process Manager Setting Up the Environment Developing the Example Testing the Example Summary References 11. Example: Enterprise Message Broker What Is a Message Broker? Example: Employee Benefits Message Broker Summary Key BPM Acronymns index
£29.99
O'Reilly Media Process Improvement Essentials
Book SynopsisCombines the foundation needed to understand process improvement theory with the best practices to help individuals implement process improvement initiatives in their organization. The three leading programs: ISO 9001:2000, CMMI, and Six Sigma tend to get lumped together under a common label. This book is guide to these three programs.Table of ContentsPreface Part One. Process and Process Improvement 1. Introduction A Path of Quality The Innovation/Chaos Paradox Marshal Extra Forces If- Moving Forward Summary 2. The Case for Process An American Success Story The Conscious Organization Some Number Stories Six Common Myths Benefits of Process Summary 3. Establishing Your Process Program Using IDEAL Establishing Executive Sponsorship Aligning with Business Objectives Identifying Improvement Opportunities Establishing the Process Team Choose Your Model (or Not) Developing Process Program Components Training Program Rollout Institutionalization Helpful Change Agent Skills Summary 4. Sustaining Process Improvement 1. Remember What You Do 2. Weld Business Success to Program Success 3. Participate 4. Training 5. Support Compliance 6. Active Feedback Mechanisms 7. Promote Performance Incentives 8. Celebrate Success 9. Public Announcements 10. Measure, Measure 11. Periodic Reassessment 12. Appreciate the Journey Summary Part Two. Three Major Process Improvement Standards 5. ISO 9001:2000 A Brief History of ISO 9001:2000 ISO 9001 Ownership The Structure and Design of ISO 9001:2000 ISO 9000: Sections 1 Through 3 Section 4. Quality Management System Section 5. Management Responsibility Section 6. Resource Management Section 7. Product Realization Section 8. Measurement, Analysis, and Improvement For a Deeper Look Summary 6. The Capability Maturity Model Integration (for Development) A Brief History of CMMI CMMI Ownership Technology Disciplines Covered Under CMMI CMMI-Dev Structure and Design Generic Goals of CMMI The Process Areas of CMMI Project Management Process Areas Engineering Process Areas Support Process Areas Process Management Process Areas Implementing CMMI For a Deeper Look Summary 7. Six Sigma A Brief History of Six Sigma Six Sigma Ownership Six Sigma Structure and Design Define Measure Analyze Improve Control The Six Sigma Team For a Deeper Look Summary 8. Considerations for Adoption Summary index
£26.99
O'Reilly Media SOA in Practice
Book SynopsisDemonstrating how service-oriented architecture (SOA) can simplify the creation of large-scale applications, this book presents a framework to help determine when to take advantage of SOA. It describes the real-world problems of implementing and running an SOA in practice.
£23.99
O'Reilly Media Mercurial
Book SynopsisUsed by Mozilla, Python, and various open source projects on Linux, Windows, Mac OS X, and several variants of Unix, Mercurial permits virtually an infinite variety of methods for development and collaboration. This book takes you step-by-step through ways to track, merge, and manage software projects with this open source version control system.
£23.99
O'Reilly Media 97 Things Every Project Manager Should Know
Book SynopsisContains 97 short and practical tips from some of the world's most experienced project managers and software developers. This book offers highlights software projects, and contains the project management principles applicable to projects of different types in different industries.
£19.19
O'Reilly Media REST in Practise
Book SynopsisThis book offers a down-to-earth explanation of REST, with techniques and examples that show you how to design and implement integration solutions using the REST architectural style.
£26.99
Princeton University Press The Essence of Software
Book SynopsisTrade Review"Finalist for the PROSE Award in Computing and Information Sciences, Association of American Publishers""This book gives new answers to old questions, offering a fresh perspective on software design, with examples from over 100 familiar apps. It’s accessible to anyone—strategist, marketer, manager, designer, or programmer—who wants software that is more empowering, dependable, and delightful to use." * MIT News *
£18.00
I.E.E.E.Press Iterative Computer Algorithms with Applications
Book Synopsis
£105.26
John Wiley & Sons Inc ObjectOriented Simulation
Book SynopsisThe second part of a yearly series on simulation technology, OBJECT-ORIENTED SIMULATION presents an outstanding variety of the very latest advances in simulation techniques. This leading-edge volume contains a cohesive selection of presentations written by the world-renowned experts in a broad range of topics. OBJECT-ORIENTED SIMULATION is a key resource for anyone involved in computer simulator research and design as well as developers, producers, scholars, and managers. It is an excellent tool for preparing proposals for simulation in commercial and military fields.Table of ContentsPreface. Object-Oriented Simulation and Operas (G. Yeh, et al.). Object-Oriented Simulation Languages and Environments: AFour-Level Architecture (J. Miller, et al.). The Object Flow Model for Object-Oriented Simulation andDatabase Application Modeling (L. Pollacia and L. Delcambre). Reusable Simulation Models in an Object-Oriented Framework (T. Kim and M. Ahn). Object-Oriented Frameworks for Multilevel Simulation Modeling (D. Popken and A. Sinha). Design Strategies for Object-Oriented Simulation Testbeds that Support Software Integration (M. Hilton and C. Anken). Automation of Transformation Schemas for Object-OrientedSimulations (C. Coomber). Steps to an Ecology of Actor Simulation (A. Senteni). Key Words. About the Editors.
£159.26
Springer Us Principles of Distributed Systems
Book Synopsisto Distributed Systems.- Distributed Systems versus Parallel Systems.- Partial Orders.- Notation.- Overview of the book.- Exercises.- Bibliographic Remarks.- 1 Time.- 1.1 Introduction.- 1.2 Model of a distributed system.- 1.3 Logical Clocks.- 1.4 Vector Clocks.- 1.5 Direct Dependency Clocks.- 1.6 Higher Dimensional Clocks.- 1.7 Exercises.- 1.8 Bibliographic Remarks.- 2 Mutual Exclusion.- 2.1 Introduction.- 2.2 Problem.- 2.3 Lamport's Algorithm.- 2.4 Ricart and Agrawala's Algorithm.- 2.5 Centralized Algorithm.- 2.6 Dijkstra's Self-stabilizing Algorithm.- 2.7 Exercises.- 2.8 Bibliographic Remarks.- 3 Global State.- 3.1 Introduction.- 3.2 Consistent Cuts.- 3.3 Global Snapshots of Processes.- 3.4 Global Snapshots of Processes and Channels.- 3.5 Global Snapshots for non-FIFO channels.- 3.6 Applications of Global Snapshot Algorithms.- 3.7 Exercises.- 3.8 Bibliographic Remarks.- 4 Possible Global Predicates.- 4.1 Introduction.- 4.2 Possibility of a Global Predicate.- 4.3 NP-Completeness of Global Predicate Detection.- 4.4 Linear Predicates.- 4.5 Semi-Linear Predicates.- 4.6 Exercises.- 4.7 Bibliographic Remarks.- 5 Conjunctive Possible Global Predicates.- 5.1 Introduction.- 5.2 Weak Conjunctive Predicates.- 5.3 A Vector Clock based Centralized Algorithm for WCP.- 5.4 A Direct Dependence based Centralized Algorithm for WCP.- 5.5 A Vector Clock based Distributed Algorithm for WCP.- 5.6 A Centralized Algorithm for Generalized Conjunctive Predicates.- 5.7 A Vector Clock based Distributed GCP Detection Algorithm.- 5.8 Exercises.- 5.9 Bibliographic Remarks.- 6 Relational Possible Global Predicates.- 6.1 Introduction.- 6.2 Relational Predicate with Two Integer Variables.- 6.3 Relational predicates with N Boolean Variables.- 6.4 Bounded Sum Predicates.- 6.5 Exercises.- 6.6Bibliographic Remarks.- 7 Inevitable Global Predicates.- 7.1 Introduction.- 7.2 Global Sequence.- 7.3 Logic for Global Predicates.- 7.4 Strong Conjunctive Predicates.- 7.5 Algorithms for Detecting SCP.- 7.6 Exercises.- 7.7 Bibliographic Remarks.- 8 Control Flow Predicates.- 8.1 Introduction.- 8.2 LRDAG Logic.- 8.3 Examples.- 8.4 Decentralized Detection Algorithm.- 8.5 Exercises.- 8.6 Bibliographic Remarks.- 9 Order.- 9.1 Introduction.- 9.2 Relationship among Message Orderings.- 9.3 FIFO Ordering of Messages.- 9.4 Causal Ordering Of Messages.- 9.5 Synchronous Ordering of Messages.- 9.6 Exercises.- 9.7 Bibliographic Remarks.- 10 Computation.- 10.1 Introduction.- 10.2 Global Functions.- 10.3 Repeated Computation.- 10.4 Exercises.- 10.5 Bibliographic Remarks.- References.Table of ContentsList of Figures. Preface. 0. Introduction to Distributed Systems. 1. Time. 2. Mutual Exclusion. 3. Global State. 4. Possible Global Predicates. 5. Conjunctive Possible Global Predicates. 6. Relational Possible Global Predicates. 7. Inevitable Global Predicates. 8. Control Flow Predicates. 9. Order. 10. Computation. References. Index.
£125.99
Taylor & Francis Inc Agent Culture Humanagent interaction in A
Book SynopsisThis volume began with a workshop of the Austrian Research Institute for Artificial Intelligence held in 2001. Concerned with embodied agents as cultural objects and subjects, the book is divided into three parts. It begins by drawing attention to the cultural embeddedness of technology in general and agent design in particular, as a reminder that there cannot be an agent without culture. The section concludes that agent systems not only can be used to establish a shared understanding, but can also promote the diversity of understanding and identity.Part II consists of chapters dealing with design concepts and reflections on cross-cultural believability. It suggests how an agent''s behavior may be adapted to the cultural context of application while maintaining consistency and describes an approach based on the OCC model--which is widely known and used in the embodied agents research community. Next, the section suggests that Affect Control Theory--an empirically-based, mathemaTable of ContentsContents: Preface. S. Payr, Introduction. Part I: Culture(s) and Agent Technology. P. Sengers, The Agents of McDonaldization. L. Heaton, Designing Technology, Designing Culture. K. Dautenhahn, Socially Intelligent Agents in Human Primate Culture. Part II: Design for Cross-Cultural Believability. F. de Rosis, C. Pelachaud, I. Poggi, Transcultural Believability in Embodied Agents: A Matter of Consistent Adaptation. J.M. Allbeck, N.I. Badler, Creating Embodied Agents With Cultural Context. D.R. Heise, Enculturating Agents With Expressive Role Behavior. H. Maldonado, B. Hayes-Roth, Toward Cross-Cultural Believability in Character Design. B. Morel, Recruiting a Virtual Employee: Adaptive and Personalized Agents in Corporate Communication. B. Krenn, B. Neumayr, E. Gstrein, M. Grice, Lifelike Agents for the Internet: A Cross-Cultural Case Study. Part III: Agents for Intercultural Communication. K. Isbister, Building Bridges Through the Unspoken: Embodied Agents to Facilitate Intercultural Communication. H. Nakanishi, T. Ishida, K. Isbister, C. Nass, Designing a Social Agent for a Virtual Meeting Space. E.M. Raybourn, Designing Intercultural Agents for Multicultural Interactions.
£142.50
Amacom Communications Skills for Project Managers
Book SynopsisWhat is the most important responsibility of a project manger? Effectively communicating with others on the team. Learn how to keep everyone in the loop--even when setbacks occur--to ensure project success.
£12.74
CRC Press Distributed RealTime Architecture for
Book SynopsisThis book describes a cross-domain architecture and design tools for networked complex systems where application subsystems of different criticality coexist and interact on networked multi-core chips. The architecture leverages multi-core platforms for a hierarchical system perspective of mixed-criticality applications. This system perspective is realized by virtualization to establish security, safety and real-time performance. The impact further includes a reduction of time-to-market, decreased development, deployment and maintenance cost, and the exploitation of the economies of scale through cross-domain components and tools. Describes an end-to-end architecture for hypervisor-level, chip-level, and cluster level. Offers a solution for different types of resources including processors, on-chip communication, off-chip communication, and I/O. Provides a cross-domain approach with examples for wind-power, health-care, and avionics. Table of ContentsIntroduction. Architectural Style. State-of-the-Art and Challenges. Modeling and Development Process. Algorithms and Tools. Execution Environment. Chip-Level Communication Services. Cluster-Level Communication Series. Resource Management Services. Safety Certification of Mixed-Criticality Systems. Evaluation. Bibliography.
£142.50
I.E.E.E.Press Splash 2
Book SynopsisThis book describes the Splash 2 computing system as designed and built at the Supercomputing Research Center. This is a novel attached processor using Xilinx 4010 FPGAs as its processing elements and whose application programming language is VHDL. This is the first publication that details the complete Splash 2 project -- the hardware and software systems, the architecture and their implementations, and the design process by which the architecture evolved from an earlier version machine. This text allows you to understand why the machine has been engineered in the way it has. In addition to the description of the machine, several applications are described in detail, permitting the reader to gain an understanding of the capabilities and the limitations of this kind of computing device. The Splash 2 program is significant for two reasons. First, Splash 2 is part of a complete computer system that achieves supercomputer like performance on a number of different applications
£48.56
IEEE Computer Society Press,U.S. SPICE
Book SynopsisThe SPICE (Software Process Improvement and Capability dEtermination) Project is a joint effort by the ISO and IEC to create an international standard for software process assessment. This book covers both the theory of SPICE and its practical applications, including the lessons learned from the SPICE trials. It includes a valuable automated tool on CD-ROM to help you apply the concepts presented in the book. The text shows the evolution of the most recent developments in the SPICE project. It documents the major products and the empirical evaluations that have been conducted thus far. The book is jointly written by the key experts involved in the SPICE project. The theory chapters describe the rationale behind the architecture and the contents of the V1.0 and V2.0 document set and how to interpret them. The remaining chapters describe the applications and how that make use of the theory behind them.
£105.26