Practical Software Requirements


Book Description

By following the techniques in this book, it is possible to write requirements and specifications that customers, testers, programmers and technical writers will actually read, understand and use. These pages provide precise, practical instructions on how to distinguish requirements from design to produce clear solutions.




Software Requirements Using the Unified Process


Book Description

Software Requirements Using the Unified Process: A Practical Approach presents an easy-to-apply methodology for creating requirements. Learn to build user requirements, requirements architecture, and the specifications more quickly and at a lower cost. The authors present realistic solutions for the entire requirements process: gathering, analysis, specification, and maintenance.




More About Software Requirements


Book Description

No matter how much instruction you’ve had on managing software requirements, there’s no substitute for experience. Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book. With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project. Discover how to: • Make the business case for investing in better requirements practices • Generate estimates using three specific techniques • Conduct inquiries to elicit meaningful business and user requirements • Clearly document project scope • Implement use cases, scenarios, and user stories effectively • Improve inspections and peer reviews • Write requirements that avoid ambiguity




Software Requirements


Book Description

In Software Requirements, you'll discover practical, effective techniques for managing the requirements engineering process all the way through the development cycle--including tools to facilitate that all-important communication between users, developers, and management. Use them to: Book jacket.




Practical Software Development Techniques


Book Description

This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team. This book aggregates many of these "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts. For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc. The architecture discussion revolves has a similar emphasis – different teams may manage different aspects of the application’s components with little or no access to the developer. This aspect of restricted access is also mentioned in the section on logging. Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why it’s very important in an enterprise environment.




Designing Software Architectures


Book Description

Designing Software Architectures will teach you how to design any software architecture in a systematic, predictable, repeatable, and cost-effective way. This book introduces a practical methodology for architecture design that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate how to use the methods. Using realistic examples, you’ll master the powerful new version of the proven Attribute-Driven Design (ADD) 3.0 method and will learn how to use it to address key drivers, including quality attributes, such as modifiability, usability, and availability, along with functional requirements and architectural concerns. Drawing on their extensive experience, Humberto Cervantes and Rick Kazman guide you through crafting practical designs that support the full software life cycle, from requirements to maintenance and evolution. You’ll learn how to successfully integrate design in your organizational context, and how to design systems that will be built with agile methods. Comprehensive coverage includes Understanding what architecture design involves, and where it fits in the full software development life cycle Mastering core design concepts, principles, and processes Understanding how to perform the steps of the ADD method Scaling design and analysis up or down, including design for pre-sale processes or lightweight architecture reviews Recognizing and optimizing critical relationships between analysis and design Utilizing proven, reusable design primitives and adapting them to specific problems and contexts Solving design problems in new domains, such as cloud, mobile, or big data




Software & Systems Requirements Engineering: In Practice


Book Description

Proven Software & Systems Requirements Engineering Techniques "Requirements engineering is a discipline used primarily for large and complex applications. It is more formal than normal methods of gathering requirements, and this formality is needed for many large applications. The authors are experienced requirements engineers, and this book is a good compendium of sound advice based on practical experience." --Capers Jones, Chief Scientist Emeritus, Software Productivity Research Deliver feature-rich products faster, cheaper, and more reliably using state-of-the-art SSRE methods and modeling procedures. Written by global experts, Software & Systems Requirements Engineering: In Practice explains how to effectively manage project objectives and user needs across the entire development lifecycle. Gather functional and quality attribute requirements, work with models, perform system tests, and verify compliance. You will also learn how to mitigate risks, avoid requirements creep, and sidestep the pitfalls associated with large, complex projects. Define and prioritize customer expectations using taxonomies Elicit and analyze functional and quality attribute requirements Develop artifact models, meta-models, and prototypes Manage platform and product line development requirements Derive and generate test cases from UML activity diagrams Deploy validation, verification, and rapid development procedures Handle RE for globally distributed software and system development projects Perform hazard analysis, risk assessment, and threat modeling




Essential System Requirements


Book Description

"Essential System Requirements targets the discovery and definition of critical system requirements in the analysis phase of system development - where good design is vital to the success of a project. This book explores a design methodology that involves users early on to describe essential business events. These events then partition the system response into logical, more easily managed segments. The result is a conceptual model that reflects real business needs and accelerates the entire delivery process."--BOOK JACKET.







Developing Safety-Critical Software


Book Description

The amount of software used in safety-critical systems is increasing at a rapid rate. At the same time, software technology is changing, projects are pressed to develop software faster and more cheaply, and the software is being used in more critical ways. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance equips you with the information you need to effectively and efficiently develop safety-critical, life-critical, and mission-critical software for aviation. The principles also apply to software for automotive, medical, nuclear, and other safety-critical domains. An international authority on safety-critical software, the author helped write DO-178C and the U.S. Federal Aviation Administration’s policy and guidance on safety-critical software. In this book, she draws on more than 20 years of experience as a certification authority, an avionics manufacturer, an aircraft integrator, and a software developer to present best practices, real-world examples, and concrete recommendations. The book includes: An overview of how software fits into the systems and safety processes Detailed examination of DO-178C and how to effectively apply the guidance Insight into the DO-178C-related documents on tool qualification (DO-330), model-based development (DO-331), object-oriented technology (DO-332), and formal methods (DO-333) Practical tips for the successful development of safety-critical software and certification Insightful coverage of some of the more challenging topics in safety-critical software development and verification, including real-time operating systems, partitioning, configuration data, software reuse, previously developed software, reverse engineering, and outsourcing and offshoring An invaluable reference for systems and software managers, developers, and quality assurance personnel, this book provides a wealth of information to help you develop, manage, and approve safety-critical software more confidently.