Features the best practices in the art and science of constructing software--topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software.
This book constitutes the proceedings of the 15th International Workshop on Algorithms and Models for the Web Graph, WAW 2018, held in Moscow, Russia in May 2018. The 11 full papers presented in this volume were carefully reviewed and selected from various submissions. The papers focus on topics like the information retrieval and data mining on the Web; Web as a text repository and as a graph, induced in various ways by link among pages, hosts and users; the understanding of graphs that arise from the Web and various user activities on the Web; stimulation of the development of high-performance algorithms and applications that exploit these graphs.
This book teaches test managers advanced skills in test estimation, test planning, test monitoring, and test control. Readers will learn how to define the overall testing goals and strategies for the systems being tested. This hands-on, exercise-rich book provides experience with planning, scheduling, and tracking these tasks. You´ll learn to describe and organize necessary activities, as well as to select, acquire, and assign adequate resources for testing tasks, and how to form, organize, and lead testing teams. You´ll master the organization of communication among team members and between the testing teams, and other stakeholders. Additionally, you´ll learn how to justify decisions and provide adequate reporting information where applicable. With over 30 years of software and systems engineering experience, author Rex Black is President of RBCS, a leader in software, hardware, and systems testing. Rex is the most prolific author practicing in the field of software testing today. He has published a dozen books on testing that have sold tens of thousands of copies worldwide. He is past president of the International Software Testing Qualifications Board (ISTQB) and a director of the American Software Testing Qualifications Board (ASTQB). This second edition has been thoroughly updated to reflect the new ISTQB Advanced Test Manager 2012 Syllabus, and the latest ISTQB Glossary. Rex Black is one of the main participants in the ISTQB Advanced Level Working Group, and his edition reflects his unique insights into these changes. This book will help you prepare for the ISTQB Advanced Test Manager exam. Included are sample exam questions, at the appropriate level of difficulty, for most of the learning objectives covered by the ISTQB Advanced Level Syllabus. The ISTQB certification program is the leading software tester certification program in the world. With about 350,000 certificate holders and a global presence in over 50 countries, you can be confident in the value and international stature that the Advanced Test Manager certificate can offer you.
Now in its third edition, this classic guide to software requirements engineering has been fully updated with new topics, examples, and guidance. Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. * Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. * Provides examples demonstrating how requirements ´´good practices´´ can lead to fewer change requests, higher customer satisfaction, and lower development costs. * Fully updated with contemporary examples and many new practices and techniques. * Describes how to apply effective requirements practices to agile projects and numerous other special project situations. * Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. * Shares the insights gleaned from the authors´ extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars. New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.
Apply Open Source Intelligence (OSINT) techniques, methods, and tools to acquire information from publicly available online sources to support your intelligence analysis. Use the harvested data in different scenarios such as financial, crime, and terrorism investigations as well as performing business competition analysis and acquiring intelligence about individuals and other entities. This book will also improve your skills to acquire information online from both the regular Internet as well as the hidden web through its two sub-layers: the deep web and the dark web. The author includes many OSINT resources that can be used by intelligence agencies as well as by enterprises to monitor trends on a global level, identify risks, and gather competitor intelligence so more effective decisions can be made. You will discover techniques, methods, and tools that are equally used by hackers and penetration testers to gather intelligence about a specific target online. And you will be aware of how OSINT resources can be used in conducting social engineering attacks. Open Source Intelligence Methods and Tools takes a practical approach and lists hundreds of OSINT resources that can be used to gather intelligence from online public sources. The book also covers how to anonymize your digital identity online so you can conduct your searching activities without revealing your identity. What You´ll Learn Identify intelligence needs and leverage a broad range of tools and sources to improve data collection, analysis, and decision making in your organization Use OSINT resources to protect individuals and enterprises by discovering data that is online, exposed, and sensitive and hide the data before it is revealed by outside attackers Gather corporate intelligence about business competitors and predict future market directions Conduct advanced searches to gather intelligence from social media sites such as Facebook and Twitter Understand the different layers that make up the Internet and how to search within the invisible web which contains both the deep and the dark webs Who This Book Is For Penetration testers, digital forensics investigators, intelligence services, military, law enforcement, UN agencies, and for-profit/non-profit enterprises
Contextual Design: Design for Life, Second Edition, describes the core techniques needed to deliberately produce a compelling user experience. Contextual design was first invented in 1988 to drive a deep understanding of the user into the design process. It has been used in a wide variety of industries and taught in universities all over the world. Until now, the basic CD approach has needed little revision, but with the wide adoption of handheld devices, especially smartphones, the way technology is integrated into people´s lives has fundamentally changed. Contextual Design V2.0 introduces both the classic CD techniques and the new techniques needed to ´´design for life´´, fulfilling core human motives while supporting activities. This completely updated and revised edition is written in a clear, informal style without excessive jargon, and is the must-have book for any UX Design library. Users will find coverage of mobile devices and consumer and business products, all illustrated with new examples, case studies, and discussions on how to use CD with the agile development and other project requirements methods. Provides tactics on how to gather detailed data on how people live, work, and use products Helps develop a coherent picture of a whole user population Presents tactics on how to use the seven ´´Cool Concepts´´ to support core human motives and generate new product concepts guided by user data, ideation techniques, and principles key to producing a compelling user experience Explains how to structure the system and user interface to best support the user across place, time, and platform
This volume contains the proceedings of the 25th International Conference on Application and Theory of Petri Nets (ICATPN 2004). The aim of the Petri net conferences is to create a forum for discussing progress in the application and theory of Petri nets. Typically, the conferenceshave 100 150participants,one third of these c- ing from industry, whereas the others are from universities and research insti- tions. The conferences always take place in the last week of June. The conference and a number of other activities are coordinated by a ste- ing committee with the following members: Wil van der Aalst (The Neth- lands),JonathanBillington(Australia),JrgDesel(Germany),SusannaDonatelli (Italy),SergeHaddad(France),KurtJensen(Denmark),MaciejKoutny(United Kingdom), Sadatoshi Kumagai(Japan), GiorgioDe Michelis (Italy), Tadao- rata (USA), Carl Adam Petri (Germany, Honorary Member), Wolfgang Reisig (Germany),GrzegorzRozenberg(TheNetherlands,Chairman)andManuelSilva (Spain). The 2004 conference was organized by the Department of Computer Science of the University of Bologna, Italy. We would like to thank the organizing c- mittee, chaired by Roberto Gorrieri, for the e?ort invested in making the event successful. We are also grateful to the following sponsoring institutions and - ganizations: Associazione Italiana per l Informatica ed il Calcolo Automatico (AICA), Microsoft Research, and Network Project & Solutions (NPS Group). We received a total of 62 submissions from 26 di?erent countries. The p- gramcommittee?nallyselected19regularpapersand5toolpresentationpapers. This volume comprises the papers that were accepted for presentation. Invited lectures were given by Gianfranco Ciardo, Roberto Gorrieri, Thomas A. H- zinger, Wojciech Penczek, Lucia Pomello and William H. Sanders. Their papers are also included in this volume.
Apply a methodology and practical solutions for monitoring the behavior of the Internet of Things (IoT), industrial control systems (ICS), and other critical network devices with the inexpensive Raspberry Pi. With this book, you will master passive monitoring and detection of aberrant behavior, and learn how to generate early indications and warning of attacks targeting IoT, ICS, and other critical network resources. Defending IoT Infrastructures with the Raspberry Pi provides techniques and scripts for the discovery of dangerous data leakage events emanating from IoT devices. Using Raspbian Linux and specialized Python scripts, the book walks through the steps necessary to monitor, detect, and respond to attacks targeting IoT devices. There are several books that cover IoT, IoT security, Raspberry Pi, and Python separately, but this book is the first of its kind to put them all together. It takes a practical approach, providing an entry point and level playing field for a wide range of individuals, small companies, researchers, academics, students, and hobbyists to participate. What You´ll Learn Create a secure, operational Raspberry Pi IoT sensor Configure and train the sensor using ´´normal´´ IoT behavior Establish analytics for detecting aberrant activities Generate real-time alerts to preempt attacks Identify and report data-leakage events originating from IoT devices Develop custom Python applications for cybersecurity Who This Book Is For Cybersecurity specialists, professors teaching in undergraduate and graduate programs in cybersecurity, students in cybersecurity and computer science programs, software developers and engineers developing new cybersecurity defenses, incident response teams, software developers and engineers in general, and hobbyists wanting to expand the application of Raspberry Pi into both IoT and cybersecurity
Twenty-two breakthrough ´´thinking tools´´ that help developers customize the right agile process to meet the needs of any software project. A clear path for more rapid and less expensive development of robust software applications Lean techniques have already achieved great success in other industries including auto manufacturing, healthcare, and construction Lean principles help organizations achieve a competitive advantage by fostering higher performance Product Description Lean Software Development: An Agile Toolkit Adapting agile practices to your development organization Uncovering and eradicating waste throughout the software development lifecycle Practical techniques for every development manager, project manager, and technical leader Lean software development: applying agile principles to your organization In Lean Software Development , Mary and Tom Poppendieck identify seven fundamental ´´lean´´ principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work . Along the way, they introduce 22 ´´thinking tools´´ that can help you customize the right agile practices for any environment. Better, cheaper, faster software development. You can have all three? if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development. Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: ´´decide as late as possible´´ by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity : promoting coherence, usability, fitness, maintainability, and adaptability How to ´´see the whole´´?even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people ?so you can achieve breakthrough quality, savings, speed, and business alignment. Backcover Lean Software Development: An Agile Toolkit Mary Poppendieck Tom Poppendieck Forewords by Jim Highsmithand Ken Schwaber Adapting agile practices to your development organization Uncovering and eradicating waste throughout the software development lifecycle Practical techniques for every development manager, project manager, and technical leader Lean Software Development: An Agile Toolkit Lean software development: applying agile principles to your organization In Lean Software Development , Mary and Tom Poppendieck identify seven fundamental lean principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work . Along the way, they introduce 22 thinking tools that can help you customize the right agile practices for any environment. Better, cheaper, faster software development. You can have all three- if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development. Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: decide as late as possible by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity : promoting coherence, usability, fitness, maintainability, and adaptability How to see the whole-even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people -so you can achieve breakthrough quality, savings, speed, and business alignment. Foreword by Jim Highsmith. Foreword by Ken Schwaber. Preface. Introduction. 1. Eliminate Waste. The Origins of Lean Thinking. Tool 1: Seeing Waste. Partially Done Work. Extra Processes. Extra Features. Task Switching. Waiting. Motion. Defects. Management Activities. Tool 2: Value Stream Mapping. Map Your Value Stream. An Agile Value Stream Map. Try This. 2. Amplify Learning. The Nature of Software Development. Perspectives on Quality. The Service View of Quality. Quality in Software Development. Variability. Design Cycles. Do It Right the First Time? Learning Cycles. Tool 3: Feedback. Software Development Feedback Loops. Tool 4: Iterations. Iteration Planning. Team Commitment. Convergence.
The authors are renowned experts on the topic of testing in agile environments. They have remained very active and accessible in both the agile and testing communities since the publication of their first book. This shorter book supplements the lessons of its predecessor, and provides even more practical advice on how to successfully implement and manage a testing program in an agile setting. The book further defines agile testing and illustrates the tester?s role with contemporary examples from real agile teams. This book is another must for agile testers, agile teams, their managers, and their customers. Product Description Janet Gregory and Lisa Crispin pioneered the agile testing discipline with their previous work, Agile Testing . Now, in More Agile Testing, they reflect on all they?ve learned since. They address crucial emerging issues, share evolved agile practices, and cover key issues agile testers have asked to learn more about. Packed with new examples from real teams, this insightful guide offers detailed information about adapting agile testing for your environment; learning from experience and continually improving your test processes; scaling agile testing across teams; and overcoming the pitfalls of automated testing. You?ll find brand-new coverage of agile testing for the enterprise, distributed teams, mobile/embedded systems, regulated environments, data warehouse/BI systems, and DevOps practices. You?ll come away understanding ? How to clarify testing activities within the team ? Ways to collaborate with business experts to identify valuable features and deliver the right capabilities ? How to design automated tests for superior reliability and easier maintenance ? How agile team members can improve and expand their testing skills ? How to plan ?just enough,? balancing small increments with larger feature sets and the entire system ? How to use testing to identify and mitigate risks associated with your current agile processes and to prevent defects ? How to address challenges within your product or organizational context ? How to perform exploratory testing using ?personas? and ?tours? ? Exploratory testing approaches that engage the whole team, using test charters with session- and thread-based techniques ? How to bring new agile testers up to speed quickly?without overwhelming them The eBook edition of More Agile Testing also is available as part of a two-eBook collection, The Agile Testing Collection (9780134190624). Features + Benefits Codifies the latest thinking on testing for agile projects and builds upon the feedback received from the authors´ previous book Readers will come away from this book understanding how to get testers engaged in the agile development process Shows where testers and QA managers fit into the equation, and how the development and testing teams can work hand-in-hand on an agile project Another addition to the highly successful Mike Cohn Signature Series Foreword by Elisabeth Hendrickson xvii Foreword by Johanna Rothman xix Preface xxi Acknowledgments xxix About the Authors xxxiii About the Contributors xxxv Part I: Introduction 1 Chapter 1: How Agile Testing Has Evolved 3 Summary 6 Chapter 2: The Importance of Organizational Culture 7 Investing Time 8 The Importance of a Learning Culture 12 Fostering a Learning Culture 13 Transparency and Feedback Loops 15 Educating the Organization 17 Managing Testers 19 Summary 20 Part II: Learning for Better Testing 21 Chapter 3: Roles and Competencies 23 Competencies versus Roles 24 T-Shaped Skill Set 28 Generalizing Specialists 33 Hiring the Right People 36 Onboarding Testers 37 Summary 39 Chapter 4: Thinking Skills for Testing 41 Facilitating 42 Solving Problems 43 Giving and Receiving Feedback 45 Learning the Business Domain 46 Coaching and Listening Skills 48 Thinking Differently 49 Organizing 51 Collaborating 52 Summary 53 Chapter 5: Technical Awareness 55 Guiding Development with Examples 55 Automation and Coding Skills 56 General Technical Skills 59 Development Environments 59 Test Environments 60 Continuous Integration and Source Code Control Systems 62 Testing Quality Attributes 65 Test Design Techniques 67 Summary 67 Chapter 6: How to Learn 69 Learning Styles 69 Learning Resources 72 Time for Learning 77 Helping Others Learn 79 Summary 83 Part III: Planning?So You Don?t Forget the Big Picture 85 Chapter 7: Levels of Precision for Planning 87 Different Points of View 87 Planning for Regression Testing 97 Visualize What