Systems Development for Changing Requirements
E-Book, Englisch, 464 Seiten
ISBN: 978-1-4200-3133-1
Verlag: Taylor & Francis
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
The book concentrates on the design aspects of system development, the area with the most flexibility leverage. Divided into four parts, the text 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 regulatory mechanisms that give business staff control over system modifications. Part three relates strategic information systems planning to flexible systems. It examines the elicitation of requirements and the relevance of agile methods in a flexible systems environment. It also discusses practical aspects of stable identifier design and compares the testing of traditional and flexible software. In part four, the book concludes with details of the flexible UniverSIS system and an explanation of the applications and extensions of the Generic Entity Cloud tools.
The combination of smart design and smart work offered in Flexible Software Design can materially benefit your organization by radically reducing the systems maintenance burden.
Zielgruppe
Software engineers; systems analysts; software developers; systems development managers; business managers; CIOs; professors and students in the IT and IS fields
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
INTRODUCTION TO FLEXIBILITY
The Serious Problems with IT Today
The Industrywide Maintenance Problem
What Is Wrong with Nonflexible Systems? Two Cautionary Tales
The Typical IT Environment: No Time to Do It Right - Time
to Do It Over!
Summary
The Reality of Imperfect Knowledge
Flexibility: An Improved Way of Thinking
What Is Flexible Software?
Change or Die
Evolution of Flexibility
IT Misconceptions and Flexibility Concepts
Summary
Outcome, Not Methodology
Mired in Methodology
Software Engineering Shifts
Summary
Realignment of Roles
Roles and Responsibilities in Traditional and Flexible
Development
Flexibility Attitudes
Summary
UniverSIS: a Flexible System
Background
Success Stories
Two System Features
Summary
WHAT IS REQUIRED TO ACHIEVE FLEXIBILITY
Guidelines for Flexible Software Design
Treat "Design" as a Noun
Design for the Long Haul
Observe Consistent Standards
Use N-Tiered Architecture
Employ Individual Data Objects
Take Advantage of Reusable Logic
Code General-Purpose Routines
Recognize the Limits of Flexibility
Summary
The Importance of Stable Identifiers
Information-Free Stable Identifiers
Types of Unstable Identifiers
Identifiers and the Relational Data Model
Summary
Regulation: Managing Artificial Limits
Business Rules as Artificial Limits
General Regulation of Business Rules
Cardinality Regulation: Variable Cardinality, Many-to-Many
Associations
Summary
Appendix: Using Regulation to Make a Flexible System
Appendix: Business Rules Manifesto
Stable Information Structures
Structure/Process Differentiation: Generic Structures
Recursive Relationships
Typing and Generic Entities
Recognizing Certain Forms of Data
Bottom-Up Derivation of Generic Entities
Summary
The Generic-Entity Cloud (GEC)
What Is a Generic-Entity Cloud?
Three-Node Generic-Entity Cloud
Externals
Six-Node Generic-Entity Cloud
GECs, Attributes, and Flexibility
Externals Connected to Generic-Type Node
Summary
HOW TO DESIGN FLEXIBLE SOFTWARE
SYSTEMS
Flexibility and Strategic Systems Planning
The Myth of the Isolated System
Traditional Planning Approach
Stable Enterprise Model
Strategic Systems Planning for Flexibility
Summary
Requirements Determination for Flexible Systems
Myth of Perfect Knowledge
Definition of Effective Requirements
Identifying Dynamic Requirements
Agile Methodologies
Summary
System Design with an Eye on Flexibility
Structure-Oriented Techniques for Flexible Software Design
Process-Oriented Techniques for Flexible Software Design
Summary
Appendix: Dynamic Condition Search Program Listing (in Java)
Implementing Stable Identifiers
The Basic Rule
Applying the Basic Rule
Circumvention Paths - Back to the Beginning
Summary
Testing and Maintenance of Flexible Software
Errors Encountered in Testing
Two Phases of Testing
Summary
Identifying, Managing, and Acquiring Quality Flexible
Software
Flexibility and Quality
Managing System Development/Acquisition to Achieve Flexibility
Procuring Flexible Software
Summary
FLEXIBILITY: DELVING DEEPER
A Closer Look at UniverSIS
Navigation and Security
Documents
Required Admission Credentials
Contact Management
Correspondence
Correspondence Tracks
Selected-ID Lists
Tests
Employee Profile
Grades
Summary
Evaluator: a Flexible Tool for Maintaining Business Rules
Record Rules
Evaluate
Evaluator: the Details
Working through Examples
Summary
Tuition-Remission Case Study: Traditional versus
Flexible
Traditional Approach
Flexible Approach
Comparison of Traditional and Flexible Approaches
Summary
Regulatory GECs (Generic Entity Clouds)
Attached versus Detached Regulation
GEC Validation Tables
Generic Validation Table GECs
When to Use Attached or Detached Regulation
Value-to-Value Translation
Summary
GEC Applications and Extensions
Developing a GEC
GEC with Business Rules
Multi-Ring GEC
The Atomic GEC
SubGECs
Summary
GEC Aids
The GECAnalyzer
The GECBuilder
The GECPhazer
Summary
Appendix A: Bibliography and References