Essential System Requirements: A Practical Guide to Event-Driven Methods

Essential System Requirements: A Practical Guide to Event-Driven Methods

by Bill Wiley

Paperback

$29.29 $34.95 Save 16% Current price is $29.29, Original price is $34.95. You Save 16%.

Temporarily Out of Stock Online

Eligible for FREE SHIPPING

Overview

Essential System Requirements: A Practical Guide to Event-Driven Methods by Bill Wiley

Essential System Requirements assembles the information developers need to understand and apply this methodology and condenses it into a concise and practical guide. This book reviews the development life cycle, highlights the importance of requirements, and introduces the concept of business events. It provides a detailed description of experience-based techniques and methods to analyze, specify, and partition the requirements of an information system, covering project tasks and procedures, system behavior, data and process modeling techniques, and the transition to physical design.

Inside you will also find a clear description of function point estimation, a promising method of estimating the time and cost of future software projects based on system requirements. In addition, Essential System Requirements shows you how responses to business events can be partitioned across object classes, focusing on the application of use cases in event-driven requirements analysis.

Also featured:

  • A middle-out strategy that is similar to the way humans typically categorize and classify objects.
  • The need for rapid development combined with a sound, scalable software architecture (RAAD).
  • A discussion of the changing world market and the related need for adaptive business systems.
  • The impact of making a major paradigm switch in a corporate software environment and ways to move to an event-driven approach.
  • The specification of a system response to an event using a business scenario, data model, process model, entity life cycle, and event/entity interaction (CRUD) matrix.
With this book as yourguide, you will have at hand proven techniques for defining the systems your clients want and setting the stage for a smoother, faster, more easily managed development process.

Product Details

ISBN-13: 9780201616064
Publisher: Addison Wesley Professional
Publication date: 12/21/1999
Series: Information Technology Series
Pages: 251
Product dimensions: 7.38(w) x 9.11(h) x 0.61(d)

Read an Excerpt

PREFACE: The Standish Group reports that tens of billions of dollars are wasted each year on information systems that are canceled or not used, with most projects over budget and/or late. On the other hand, the wrong system can be delivered on schedule, within budget. The primary problem has been that the system does not meet the expectations and needs of the business area for which it was built, typically because of inadequate user involvement in the early phases of system design. The challenge is to define the correct system requirements early in the delivery process to minimize design, construction, and post-implementation repair.

Accurate system requirements definition is a lost art for many organizations, but with the high cost of information systems and the competitive nature of business today, it is needed more than ever. An organization cannot afford to waste resources on post-requirements repair that could have been avoided. Essential System Requirements was written to provide a collection of event-driven methods for the analysis and specification of conceptual system requirements. I hope it will encourage and assist developers to "get it right the first time" by defining systems that are on target with the user's expectations. The term essential, as used in this book, refers to a set of system requirements that meets business-area needs without including unnecessary system capabilities. It also implies that the requirements are conceptual (non-physical) in nature. Although methods typically don't enforce a conceptual strategy, they can encourage the reduction of physical properties in the requirements. When this is accomplished, post-analysis repair can bereduced.

The most important aspect of this book is its underlying concept of business events and the partitioning of proposed systems into responses to those events. Business events are intuitive to the user and are typically accepted by both the user community and the development group. They get the user group involved early in the development life cycle by defining, in the user's language, activities that occur in the business area. Business events also help reduce the communication gap that often arises during the software development effort, and they partition the proposed system into subsystems that have relatively low coupling and support incremental development and implementation.

Essential System Requirements is a guide and therefore does not contain the amount of discussion found in most textbooks—discussion is limited to key basic concepts. It presents the methods and techniques in a concise manner to provide an effective instrument for the analyst, based on decades of software development experience. This book does not offer a particular commercial methodology but instead presents a set of core techniques and methods for the definition of system requirements. It follows a toolbox approach—that is, the methods and techniques are only used as needed, and are often repeated during the delivery process (some dependencies do exist, but iteration is the rule). For any particular project, some techniques may not be used at all. Along with the methods, this book integrates project management tips and a function-point project estimation method. It also offers a discussion of an object-oriented partitioning scheme that can be used with an event-driven user interface and that reuses many of the event-driven models.

Essential System Requirements will serve as a useful guide to the professionals responsible for the definition of system requirements and to those who manage the effort and develop the resulting system. As a guide, this book is meant to sit on your bookshelf, where, after initial study, it can be used for quick reference to the techniques and tips for the individual or the team. It can also support a corporate-wide effort to establish standards for the analysis and specification of system requirements.

For further discussion of the focus and organization of this book, please see the Introduction.

Table of Contents

Preface xiii
Acknowledgments xv
Introduction xvii
An Executive Overview xvii
Contract Litigation Issues xviii
Modern System Development Methods with Events xxiii
The Focus of This Book xxvii
The Organization of This Book xxix
How to Use This Book xxxi
PART I Business Events and System Development
Foundational Concepts
3(24)
The System Development Life Cycle
3(2)
The Critical Nature of Requirements
5(3)
Building the Right System
8(5)
Verifying System Requirements
13(2)
Why Business Events?
15(3)
Business Events and System Requirements
18(4)
System Partitioning
22(5)
The Pervasive Nature of Business Events
27(10)
Partitioning the Physical System
27(2)
The Physical Distribution of Business Events
29(2)
Business Events and Project Management
31(4)
Business Events and Estimating Project Size
35(2)
Business Events and Methodology
37(14)
Middle-Out Strategy
38(1)
Conceptual Models and the Reduced Role of the DFD
39(1)
Business Events and RAD
39(1)
Responding to Change
40(4)
Adopting an Event-Driven Approach for Your Organization
44(2)
Methodology Overview
46(5)
PART II Event-Partitioned System Requirements
Project Procedure for Event Partitioning
51(10)
System Behavior
52(2)
System Data
54(1)
System Process
55(1)
Data/Process Interaction
56(1)
Transition to Physical Design
57(1)
Event-Partitioned Deliverables
57(4)
System Behavior
61(16)
Business Event
62(2)
System Response
64(4)
System Context
68(3)
Business Event Scenario
71(2)
Functional Structure
73(4)
System Data
77(18)
Data Entity
79(4)
Entity Relationship
83(4)
Entity Attribute
87(3)
Data Normalization
90(5)
System Process
95(14)
Event Response
96(4)
Process Decomposition
100(2)
Event-Response Specification
102(7)
Data/Process Interaction
109(10)
CRUD Associations
110(2)
Entity Process View
112(2)
Entity Life Cycle
114(5)
Transition to Physical Design
119(12)
System Releases
120(3)
System Distribution
123(4)
Conceptual Event Models to Physical Models
127(4)
PART III Estimating Software Projects
Function Point Estimates and Events
131(30)
Difficulty of Estimating Software Projects
132(1)
Sources of Errors
133(2)
Methods of Estimation
135(3)
Function Point Estimating
138(16)
Application of Function Point Count
154(1)
Automated Estimating Tools
155(2)
The Future of Function Point Analysis
157(1)
Integration of Events and Function Points
158(3)
Function Point Example
161(22)
Data Function Types
163(1)
Transactional Function Types
164(9)
General System Characteristics
173(5)
Adjustment to Function Points
178(1)
Example Summary
179(4)
PART IV Object-Partitioned Response to Events
Common Techniques
183(6)
Event-Driven User Interface
183(1)
The System Response
184(1)
Transitional Methods
184(5)
Class Operations
189(6)
Function Assembly by Class
190(2)
CRUD Associations
192(3)
Class Interaction
195(8)
Event-Response Process Map
196(2)
Application-Control Class
198(2)
Object Collaboration
200(3)
Appendix A Collection of Examples 203(16)
Appendix B Model Notation and Symbols 219(2)
Appendix C IFPUG General System Characteristics Tables 221(14)
Glossary 235(8)
References 243(2)
Index 245

Preface

The Standish Group reports that tens of billions of dollars are wasted each year on information systems that are canceled or not used, with most projects over budget and/or late. On the other hand, the wrong system can be delivered on schedule, within budget. The primary problem has been that the system does not meet the expectations and needs of the business area for which it was built, typically because of inadequate user involvement in the early phases of system design. The challenge is to define the correct system requirements early in the delivery process to minimize design, construction, and post-implementation repair.

Accurate system requirements definition is a lost art for many organizations, but with the high cost of information systems and the competitive nature of business today, it is needed more than ever. An organization cannot afford to waste resources on post-requirements repair that could have been avoided. Essential System Requirements was written to provide a collection of event-driven methods for the analysis and specification of conceptual system requirements. I hope it will encourage and assist developers to "get it right the first time" by defining systems that are on target with the user's expectations. The term essential, as used in this book, refers to a set of system requirements that meets business-area needs without including unnecessary system capabilities. It also implies that the requirements are conceptual (non-physical) in nature. Although methods typically don't enforce a conceptual strategy, they can encourage the reduction of physical properties in the requirements. When this is accomplished, post-analysis repair can bereduced.

The most important aspect of this book is its underlying concept of business events and the partitioning of proposed systems into responses to those events. Business events are intuitive to the user and are typically accepted by both the user community and the development group. They get the user group involved early in the development life cycle by defining, in the user's language, activities that occur in the business area. Business events also help reduce the communication gap that often arises during the software development effort, and they partition the proposed system into subsystems that have relatively low coupling and support incremental development and implementation.

Essential System Requirements is a guide and therefore does not contain the amount of discussion found in most textbooks—discussion is limited to key basic concepts. It presents the methods and techniques in a concise manner to provide an effective instrument for the analyst, based on decades of software development experience. This book does not offer a particular commercial methodology but instead presents a set of core techniques and methods for the definition of system requirements. It follows a toolbox approach—that is, the methods and techniques are only used as needed, and are often repeated during the delivery process (some dependencies do exist, but iteration is the rule). For any particular project, some techniques may not be used at all. Along with the methods, this book integrates project management tips and a function-point project estimation method. It also offers a discussion of an object-oriented partitioning scheme that can be used with an event-driven user interface and that reuses many of the event-driven models.

Essential System Requirements will serve as a useful guide to the professionals responsible for the definition of system requirements and to those who manage the effort and develop the resulting system. As a guide, this book is meant to sit on your bookshelf, where, after initial study, it can be used for quick reference to the techniques and tips for the individual or the team. It can also support a corporate-wide effort to establish standards for the analysis and specification of system requirements.

For further discussion of the focus and organization of this book, please see the Introduction.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews