The complete guide to requirements analysis for every system analyst and project team member. Thousands of software projects are doomed from the start because they're based on a faulty understanding of the business problem that must be solved. The solution is effective requirements analysis. In Requirements Analysis: From Business Views to Architecture, David C.
Books Guide: Requirements
Scalability Rules is the easy-to-use scalability primer and reference for every architect, developer, web professional, and manager. Authors Martin L. Abbott and Michael T. Fisher have helped scale more than 200 hypergrowth Internet sites through their consulting practice. Now, drawing on their unsurpassed experience, they present 50 clear, proven scalability rules–and practical guidance for applying them.
Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.
This is the first comprehensive, practical guide for Scrum practitioners working in large-scale distributed environments. Written by three of IBM’s leading Scrum practitioners—in close collaboration with the IBM QSE Scrum Community of more than 1000 members worldwide—this book offers specific, actionable guidance for everyone who wants to succeed with Scrum in the enterprise.
Designing the iPhone User Experience provides an end-to-end overview of the user-centered design process, specifically for iPhone applications. After reading this book you will know how to:
Requirements engineering is the process of eliciting individual stakeholder requirements and needs and developing them into detailed, agreed requirements documented and specified in such a way that they can serve as the basis for all other system development activities. In this textbook, Klaus Pohl provides a comprehensive and well-structured introduction to the fundamentals, principles, and techniques of requirements engineering.
This book focuses on the interfaces of Requirements Management to the other disciplines of Systems Engineering. An introduction into Requirements Management and Requirements Development is given, along with a short sketch of Systems Engineering, and especially the necessary inputs and resulting outputs of Requirements Management are explained. Using these it is shown how Requirements Management can support and optimize the other project disciplines.
This book integrates key tools and processes into a comprehensive program for developing more robust and reliable technology-based products. Drawing on their extensive product development expertise, the authors present a complete process for ensuring product performance throughout the entire lifecycle, from understanding customers’ needs through manufacturing and post launch support.
Bridging the Communication Gap is a book about improving communication between customers, business analysts, developers and testers on software projects, especially by using specification by example and agile acceptance testing. These two key emerging software development practices can significantly improve the chances of success of a software project. They ensure that all project participants speak the same language, and build a shared and consistent understanding of the domain.
Designed to meet the hands-on needs of those working in the field, especially those concerned with testing, Modeling Software Behavior: A Craftsman’s Approach provides engineers, developers, and technicians with a detailed treatment of various models of software behavior that will support early analysis, comprehension, and model-based testing.
Solid requirements engineering has become increasingly essential to improved on-time and on-budget delivery of software and systems projects. With a focus on software-intensive systems, Requirements Engineering for Software and Systems provides a comprehensive review of current technology and development in intelligent systems, soft computing techniques, and their diverse applications in manufacturing.
This book provides a systematic and practical approach to the engineering of high-quality requirements. It covers the entire requirements lifecycle and integrates state-of-the-art techniques for requirements elicitation, evaluation, specification, analysis, and evolution. Modeling plays a central role. A method is presented for building and analyzing a multi-view model of the target system, where each step is supported by heuristic rules, tactics, modeling patterns, and bad smells to avoid.
It's been known for years that usability testing can dramatically improve products. But with a typical price tag of $5,000 to $10,000 for a usability consultant to conduct each round of tests, it rarely happens.
One of the least discussed and most challenging roles in the Scrum Agile Methodology is that of Product Owner. Quite often Product Owners are selected from the ranks of Product Managers or Business Analysts and simply "thrown" into the role. While these backgrounds can lead to successful product ownership, often there are fundamental understanding and large skills gaps that need to be crossed in order to be truly successful.
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.
Whether you're leading an organization, a team, or a project, Stand Back and Deliver gives you the agile leadership tools you'll need to achieve breakthrough levels of performance. This book brings together immediately usable frameworks and step-by-step processes that help you focus all your efforts where they matter most: delivering business value and building competitive advantage.
Once upon a time, it was well understood that stories teach better than plain facts. Why then are most software requirements documents a baffling hodge-podge of diagrams, data dictionaries, and bullet points, held together by little more than a name and a staple? Telling Stories teaches you to combine proven standards of requirements analysis with the most ancient and effective tool for sharing information: the narrative.
Requirements Management has proven itself to be an enormous potential for the optimization of development projects throughout the last few years. Especially in the climate of an increasingly competitive market Requirements Management helps in carrying out developments faster, cheaper and with a higher quality.
Learn how the business analyst works collaboratively with the project manager and other core team members to create plans that customize elicitation activities to the unique needs of the project. The author presents techniques used by successful business analysts and defines key business analysis terms.
Much as we hate to admit it, most prototyping practice lacks a sophisticated understanding of the broad concepts of prototypingand its strategic position within the development process. Often we overwhelm with a high fidelity prototype that designs us into a corner. Or, we can underwhelm with a prototype with too much ambiguity and flexibility to be of much use in the software development process.
Getting it Right: Business Requirement Analysis Tools and Techniques, presents principles and practices for effective requirements analysis and specification, and a broad overview of the requirements analysis and specification processes. This critical reference is designed to help the business analyst decide which requirement artifacts should be produced to adequately analyze requirements.
Written in an engaging style and relevant for any software analyst or designer, Mastering the Requirements Process provides a powerful and useful guide to defining more complete software requirements that lead to better software overall. It's also filled with innovative advice.
Modeling Software with Finite State Machines: A Practical Approach explains how to apply finite state machines to software development. It provides a critical analysis of using finite state machines as a foundation for executable specifications to reduce software development effort and improve quality.
Not connecting software project management to actual, real-world development processes can lead to cost overruns, bad tasking decisions, and unrealistic schedules that can hinder any software project. This volume describes clearly and simply how to make the project management-process management connection to control software engineering tasking, quality, metrics, and repeatability.
Software Engineering Quality Practices describes how software engineers and the managers that supervise them can develop quality software in an effective, efficient, and professional manner. This volume conveys practical advice quickly and clearly while avoiding the dogma that surrounds the software profession.
Software Specification and Design: An Engineering Approach proposes a strategy for software development that emphasizes measurement. It promotes the measurement of every aspect of the software environment - from initial testing through test activity and deployment/operation. This book details the path to effective software and design. It recognizes that each project is different, with its own set of problems, so it does not propose a specific model.
Build on Use Cases to Deliver Higher-Quality, Higher-Value Software
You can dramatically improve software quality and value by integrating use cases with best-practice software quality engineering disciplines.
Richard Denney presents practical, cost-effective techniques that help your entire development organization deliver superior software.
The Reverse Detective is an easy-to-read, breakthrough book that shows you how to prevent software failure by using the same disciplined, step-by-step process used by professional detectives to solve crimes.
There's just one difference: You put the traditional Sherlock Holmes approach in reverse.
The result? Instead of solving the crime of software failure, you prevent it by precisely determining and modeling the right requirements before you begin writing code.
Since the 1980s, use cases have been a way to bring users into software design, but translating use cases into software has been an art, at best, because user goods often don't respect code boundaries. Now that aspect-oriented programming (AOP) can express crosscutting concerns directly in code, the man who developed use cases has proposed step-by-step methods for recognizing crosscutting concerns in use cases and writing the code in separate modules.
While a number of books on the market deal with software requirements, this is the first resource to offer you a methodology for discovering and testing the real business requirements that software products must meet in order to provide value. The book provides you with practical techniques that help prevent the main causes of requirements creep, which in turn enhances software development success and satisfaction among the organizations that apply these approaches.
"Flexible Software Design: Systems Development for Changing Requirements" begins by introducing the fundamental concepts of flexibility, explaining the reality of imperfect knowledge and how development participants must change their thinking to implement flexible software. The second part covers design guidelines, stable identifiers, stable information structures, the Generic Entity Cloud concept, and the regulation that prevents IT intervention.
Just Enough Requirements Management shows you how to discover, prune, and document requirements when you are subjected to tight schedule constraints. You'll apply just enough process to minimize risks while still achieving desired outcomes. You'll determine how many requirements are just enough to satisfy your customers while still meeting your goals for schedule, budget, and resources.
Requirements are a crucial ingredient of any successful project. This is true for any product--software, hardware, consumer appliance, or large-scale construction. You have to understand its requirements--what is needed and desired--if you are to build the right product. Most developers recognize the truth in this statement, even if they don't always live up to it.
"Software Reliability Engineering" is the classic guide to this time-saving practice for the software professional. ACM Software Engineering Notes praised it as: ". . .
This book describes how to make requirements easy to change by using encapsulation. It introduces the Freedom methodology that shows how to encapsulate requirements thereby promoting reuse and quality. Encapsulating requirements reduces software lifecycle costs by making requirements and code that implements them into more adaptable to changing technology and business needs.
Discover ECSAM, a method for requirements engineering and the modeling of computer-based systems (CBS). Practiced since 1980 in evolving versions by systems and software engineers, ECSAM was developed in part at Israel Aircraft Industries for the analysis and design of complex reactive embedded systems and software and has been presented in numerous undergraduate, graduate, and industrial courses.
Ellen Gottesdiener's "Software Requirements Memory Jogger" contains an incredible wealth of clearly-presented requirements information in a small-format book. This inch-thick "pocket book" is easy to carry around and browse through when a busy requirements analyst has a few minutes to spare.
If you're responsible for protecting Windows systems, firewalls and anti-virus aren't enough. You also need to master incident response, recovery, and auditing. Leading Windows security expert and instructor Harlan Carvey offers a start-to-finish guide to everything administrators must know to recognize and respond to virtually any attack.
Discover ECSAM, a method for requirements engineering and the modeling of computer-based systems (CBS). Practiced since 1980 in evolving versions by large numbers of systems and software engineers worldwide, ECSAM was developed in part at Israel Aircraft Industries for the analysis and design of complex reactive embedded systems and software.
Offers a comprehensive treatment of the techniques and practices of systems reliability and failure prevention, without the use of advanced mathematics. Features real-world examples from communication networks, aircraft and missile systems, the process industry, and satellite missions.
A concise and thorough handbook on requirements analysis, this invaluable book is the perfect desk guide for your systems or software development work. This first-of-its-kind handbook enables you to identify the real customer requirements for your projects and control changes and additions to these requirements. The book helps you understand the importance of requirements, leverage effective requirements practices, and better utilize resources.
You code. And code. And code. You build only to rebuild. You focus on making your site compatible with almost every browser or wireless device ever put out there. Then along comes a new device or a new browser, and you start all over again.
You can get off the merry-go-round.
Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget.
"Requirements" are essential for creating successful software because they let users and developers agree on what features will be delivered in new systems. Karl Wiegers's Software Requirements shows you how to define and get more out of software requirements with dozens of "best practices" and tips that make this book a valuable resource for both software project managers and developers.
Extreme Programming (XP) and the Unified Process (UP) have both caused quite a sensation in the software development community. Although XP offers a methodology for faster software development, many developers find that it does not explicitly include modeling time, which is crucial to ensure that a project meets its proposed requirements. UP developers, on the other hand, have found that the UP approach to modeling is too documentation-intensive and top heavy, thus impeding progress.
Building Web Applications with UML is a guide to building robust, scalable, and feature-rich web applications using proven object-oriented techniques. Written for the project manager, architect, analyst, designer, and programmer of web applications, this book examines the unique aspects of modeling web applications with the Web Application Extension (WAE) for the Unified Modeling Language (UML).
"How to Break Software" is a departure from conventional testing in which testers prepare a written test plan and then use it as a script when testing the software. The testing techniques in this book are as flexible as conventional testing is rigid. And flexibility is needed in software projects in which requirements can change, bugs can become features and schedule pressures often force plans to be reassessed.
The book's collected articles offer important perspectives on the role of metrics in the development process, and show how metrics directly enhance software quality and output efficiency. The book explores several vital areas, including Function Point Analysis, project estimation and management, outsourcing, statistical process control, and more. These articles range from basic theory to the sophisticated application of metrics.
Patterns for Effective Use Cases provides a set of objective criteria. Written by experienced use case practitioners, this book fills a critical information gap by presenting a pattern language that contains over thirty patterns, providing simple, elegant, and proven solutions to the most common problems in use case development.
"I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements, as if they were sleepworking. It's time to wake up, and do it right—and this book is going to be their alarm clock." (Jerry Weinberg, author of numerous books on productivity enhancement)
Effective requirements development--an end-to-end process that works.
Most IT systems fail to meet expectations. They don't meet business goals and don't support users efficiently. Why? Because the requirements didn't address the right issues. Writing a good requirements specification doesn't take more time. This book shows how it's done -- many times faster and many times smarter.
Developers who effectively employ use cases deliver better applications--on time and under budget. The concept behind use cases is perhaps as old as software itself; they express the behavior of systems in terms of how users will ultimately interact with them. Despite this inherent simplicity, the use case approach is frequently misapplied, resulting in functional requirements that are confusing, cumbersome, or redundant.
Experience has shown us that investment in the requirements process saves time, money, and effort. Yet, development efforts consistently charge ahead without investing sufficiently in the requirements process. We are so intent to develop the technical solutions that we are unwilling to take the time and effort to understand and meet the real customer needs.
Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example is a practical, hands-on guide to putting use case methods to work in real-world situations. This workbook is a companion to Use Case Driven Object Modeling with UML. It bridges the gap between the theory presented in the main book and the practical issues involved in the development of an Internet e-commerce application.
Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, you are guided through the application of use case analysis in the development of software systems.
(From the Back Cover)
(From the Back Cover)
The practical guide to evaluating and improving the quality of mission-critical software.
Why do so many software projects fail? The reality is that many of these projects are led by programmers or developers thrown into the role of project manager without the necessary skills or training to see a project through successfully. Patricia Ensworth has written a hands-on survival guide designed to rescue the "accidental project manager" and help them to quickly ramp up on all key areas involved in software project management.
The toughest challenge in building a software system that meets the needs of your audience lies in clearly understanding the problems that the system must solve. Advanced Use Case Modeling presents a framework for discovering, identifying, and modeling the problem that the software system will ultimately solve.
When your product development process fails, do you blame scarce resources or unforeseen technical challenges? Those may be factors, of course, but most product failures and development rework can be traced to a poor understanding of customer-centered needs and requirements. This book will show you, as a manager, how to prevent failure by guiding and empowering your people to define and understand the right requirements early in the product development cycle.
People won't use your web site if they can't find their way around it. Whether you call it usability, ease-of-use, or just good design, companies staking their fortunes and their futures on their Web sites are starting to recognize that it's a bottom-line issue.
The hallmarks of Extreme Programming--constant integration and automated testing, frequent small releases that incorporate continual customer feedback, and a teamwork approach--make it an exceptionally flexible and effective approach to software development.
(From the Publisher) It is tempting when approaching a software development problem to rush headlong into the trap of thinking too soon about the solution. Software development problems are about the world outside the computer - the real environment in which the system must have its effect - and demand consideration of the surrounding characteristics, relationships and context. Problem frames are a tool for classifying, analyzing and structuring such software development problems.
Derek Hatley and Imtiaz Pirbhai -- authors of Strategies for Real-Time System Specification -- join with influential consultant Peter Hruschka to present a much anticipated update to their widely implemented Hatley/Pirbhai methods.
The new edition of this book provides a comprehensive discussion of software engineering techniques and shows how they can be applied in practical software projects. This book features new coverage of the software process and software process technology, system integration, requirements management, and risk analysis, as well as new chapters on pattern-based reuse, distributed system engineering, and legacy systems.
Introduces a model for a mature software development process that accommodates flexibility, focusing on policies and procedures that define how software development is performed, and technologies available. Tells how to sell the business case for software process improvement, how to establish dialogue between developers and customers, and how to manage multiple constituencies, personalities, and issues.
This pragmatic guide provides a testing framework for software professionals looking to improve product quality and to reduce timescales, effort, and cost. It covers all aspects of testing for software developed or modified in-house, modified or extended legacy systems, and software developed by a third party. The reader can customize the framework to match the particular testing requirements of any particular organization.
This book presents an integrated framework for testing object-oriented software throughout the software engineering lifecycle. It discusses recipes for testing of requirements, designs, base classes, derived classes, and integrated systems. For each phase the authors describe objectives of testing, approaches used, testing techniques, ordered sets of activities, planned efforts, and acceptance criteria for transition to the next phase.
For all new managers who are stressed out over how they're going to handle their new responsibilities, this book is the next best thing to a Swedish massage--the perfect stress reducer.
This indispensable guide prepares inexperienced managers for the realities of today's fast-paced business environment, providing real-world information that helps readers move comfortably into their new managerial positions.
(From the Back Cover) * Reduce the incidence of duplicate and inconsistent requirements;
* Communicate requirements that are understandable to both users and developers;
* Communicate a vision of what the application needs to do without the distractions inherent in a coded prototype;
* Document the entire requirements process clearly and efficiently.
Verification and Validation of Modern Software-Intensive Systems brings the classic approaches up to date to apply them to contemporary computing methods. Based on the latest standards and research, the authors cover V&V for areas that have not been previously treated collectively, including:
Does your company Web site convey your message effectively? Are your customers finding what they need easily? Determining these factors is a difficult task that has challenged Usability professionals since the first Web page was posted.
Writing use cases as a means of capturing the behavioral requirements of software systems and business processes is a practice that is quickly gaining popularity. Use cases provide a beneficial means of project planning because they clearly show how people will ultimately use the system being designed. On the surface, use cases appear to be a straightforward and simple concept.
The message of this book is simple. Software development should be done quickly and effectively. Systems that take years to develop can often end up out of synch. with their users evolving requirements and business objectives by the time they are delivered. Requirements Engineering and Rapid Development shows how to solve the problem by using a systematic approach to requirements gathering and business modelling.
The authors have taken two development techniques of modeling and use-cases and combined them into new methodology for delivering software that will allow the users of the software to do their jobs more effectively and easily. This book spends a considerable amount of time laying a foundation for the practical application of their techniques. The entire development process is laid out from inception to completion in a realistic and practical manner.
A world-renowned technology expert reveals the true cost to business and society created by little-known problems rife within the software industry. Software kills? Yes. Industry insider Mark Minasi argues that it routinely destroys millions of work hours, files, deals, and ideas. Most of us are familiar with conputer problems, but how many realize that software victims also include people: a 7 year-old killed by bad fuel-injection software in a Chevrolet in Alabama, 28 U.S.
In our first book, Use Case Driven Object Modeling with UML, we suggested that the difference between theory and practice was that in theory there is no difference between theory and practice, but in practice, there is. In that book, we attempted to reduce OOAD modeling theory to a practical subset that was easy to learn and pretty much universally applicable, based on our experience in teaching this material to people working on hundreds of projects since about 1993.
Cleanroom software engineering is a process for developing high-reliability software. The cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development. It accomplishes this by combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification.
In a fundamentally new approach, this comprehensive two-volume set teaches all the techniques a modern analyst needs. The authors explain all the methods, models, and techniques of analysis, and simulate an actual project executed for a British television company. The reader is guided through each step of the project by exercises and the authors' advice.
This book is a comprehensive guide for the programmer or manager writing requirements for the first time, as well as the experienced system analyst.
The author takes a unique approach to the subject: that a useful requirements document derives from the design patterns employed by programmers and interface designers. His in-depth treatment includes non-hierarchical ways to break down complex problems, elements of the problem domain, and different problem types.
This book describes TMap, a testing methodology first used in the Netherlands and Belgium. The book is a short overview of testing in general and TMap in particular. As the preface says, it is meant to educate those who are not immediately linked to the test process such as users and students.
Web Site Usability: A Designer's Guide is a report that every person involved in Web design, commerce, or online marketing will want to have. This book is, undoubtedly, the most comprehensive data demonstrating how Web sites actually work when users need specific answers. Researched and compiled by User Interface Engineering, the results are written in an easy to understand style, illustrating the need to make Web sites useful, not complicated.
With this book, individual developers and small development teams can gain the benefits of configuration management that were previously restricted to large organizations with large budgets. This pragmatic, easy-to-read guide to configuration management comes with all the freeware PC developers need to get started.
Requirements engineering is one facet of large project development that is often overlooked. If more effort is put into the definition and documentation of what the system is to do, the end result will be more reliable and easier to improve. Requirements need formal analysis and review before the work begins. This book provides a guide to do this in a rigid, structured manner that will produce documentation and test plans needed to design a successful system.
The book has been substantially rewritten and redesigned to account for the fast-changing developments in software metrics--most notably their widespread penetration into industry practice.
All sections are updated. There are new sections on process maturity and measurement, goal-question-metric, metrics plans, experimentation, empirical studies, object-oriented metrics, and metrics tools. This book provides an accessible and comprehensive introduction to software metrics.
This book is the first professional-level guide in the important new field of software reuse. With the latest data on reuse, it explains the fundamental methods and metrics for successful reuse. Reuse has been called the central technical concept of the 1990s programming breakthrough: object technology. The book discusses object-oriented technologies, but goes well beyond them.
Quality software helps companies gain access to important markets and maintain credibility as quality software developers. That is why information about the best companies in the software development industry, their experience and practices, is important and valuable. This book provides that information.
Although not a book focused on testing or Quality Assurance, this book provides and excellent introduction to the concept of "Electronic Commerce" (e-commerce). By understanding how e-commerce is supposed to function, a tester can gain critical insight into how to focus the testing efforts for a Web-based, e-commerce site.
This book will help organizations evolve from ad hoc software development processes to a clearly defined custom framework. The framework builds on existing knowledge, can be monitored, and delivers significantly improved object-oriented software quality throughout the entire project lifecycle.
This is the first book to offer a practical way to identify systems requirements and manage them when budgets and schedules are tight. It describes a process that leads from fuzzy, ill-defined requirements to requirements that can be modeled and prototyped.
(From the Back Cover)
This book not only explains QFD fundamentals clearly and concisely, it takes you well beyond the basics to provide the advanced techniques, specific information, and concrete examples you need to implement QFD successfully and derive its full benefits.
This book is a collection of approximately seventy-five short pieces dealing with topics in the field of software requirements analysis, specification, and design.
Although described as a case history on implementing concurrent engineering, this book is essentially a textbook of the classic principles and techniques of Total Quality Management. By extension through TQM's emphasis on improving processes, the book also addresses related topics. They include process reengineering, the seven basic and seven advanced quality problem-solving tools, and team building.
This book is recommended reading for anyone in software development who has to honor a commitment. It examines the characteristics of risk in general and emphasizes the creative nature of such analysis. The coverage then turns to the establishment of an "optimum risk environment" and shows the reader how to manage this at every stage through successful project conclusion.
Considered the founder of this research area, Nielsen presents a contributed exposition written by the foremost experts in this rapidly growing and important field. The book is devised for user interface practitioners searching for cost-effective ways of improving their designs. The book begins with descriptions of simple discount usability engineering methods, such as heuristic evaluation which can be learned quickly and immediately applied to the reader's current project.
The author (from Telecom Australia) describes particular tools, usability testing, and evaluation procedures. Most of these have been derived from behavioral and social science, but have been updated specifically to the human-computer interaction environment. Numerous examples show how and when the tools can be used most effectively.
This is very much a hands-on and how-to description of ways to organize and present documentation of automated systems. While intended for technical writers, the book offers value to others. The text emphasizes that documenation should take a strong customer/reader orientation. Both developers and testers would be well advised to follow the methods the authors suggest for understanding customer needs.
This book focuses on the early phases of the software development lifecycle. The author discusses the latest research results from the requirements arena and examines techniques that will lend themselves to your particular problem. Each technique is followed by a case study illustrating how that technique can be applied to three real problems. The book is recommended for the practicing systems engineer, software analyst, or requirements writer.
Software Configuration Management provides step-by-step guidance for identifying the items of a software system that are subject to change during the system life cycle. It defines procedures for the systematic evaluation, coordination, approval or disapproval, and implementation of all changes to the software configuration.
The creation of an effective design that satisfies the requirements is often the greatest obstacle to overcome during project development. This book discusses both specification and design, including software and systems engineering interface. It provides a consistent set of notations, guidelines, and a step-by-step process to explain the methodology.
This book examines some of the difficulties associated wth testing large systems (defined as 3 million LOC and up), but is also useful for developers and testers of smaller systems. Topics include testing methodology, documentation, metrics, and management.
This book is an expanded version and new edition of what used to be called Effective Methods of EDP Quality Assurance. New chapters include coverage verification, validation, testing techniques, maintenance, QA for the personal computer, and measuring reliability. With its appendices the book now extends over 800 pages and is hard to digest. The book contains a sample QA manual as an appendix. The book is worthwhile for the dedicated QA specialist or organization.
From the preface, “…this book describes the field of risk analysis and management, how it is performed, and provides an identification of the areas of risk in the building of software systems”.
The fledgling problem solver invariably rushes in with solutions before taking time to define the problem being solved. Even experienced solvers, when subjected to social pressure, yield to this demand for haste. When they do, many solutions are found, but not necessarily to the problem at hand.
This is a very provocative book that should be read by anyone working in the field and concerned with software processes and methods. The book provides a thorough challenge to the Waterfall methodology and offers a lot of fresh material and insight about other ways of organizing and conducting software development. Wicked problems (the problems are fully understood after they're solved) are defined and explored effectively.
This is a superb book aimed at helping developers design products and systems that people really need and want. Nontheoretical and lots of fun, this is destined to become another Weinberg classic. Likening the requirements process to a process of exploration, the principles described apply wherever people design and build products for other people.
This text integrates traditional methodologies with modern technology, offering update of the classic material on structured analysis.
This book takes a lighthearted look at the very serious business of designing simple (and not so simple) everyday objects. The principles necessary to design ergonomically acceptable phone systems and swinging doors are the same principles needed to effectively design automated computer systems. Software engineers, designers, and requirements analysts will find this a rewarding and useful book.
Organized as a collection of essays about programming, this is another Weinberg classic. If you are a programmer, or manage programmers, or indeed just associate with programmers, this is a book for you.
More system development efforts fail due to poorly defined user requirements than any other cause. This book examines each facet of this critical activity and delineates a plan to systematically specify user-centered requirements. The book includes detailed discussion on three basic types of analysis: objective analysis, functional analysis, and data analysis.
This book grew out of an internal class taught at AT&T Bell Laboratories. The authors also gained experience and insight by testing and refining the book’s ideas on a large number of software projects at AT&T. If offers the best coverage of reliability models and measurement we have seen. Examples and case-study problems are sprinkled liberally throughout, which help the reader understand some of the more theoretical material.