Synopses & Reviews
This practical guide to requirements engineering and systems specification is for developers building systems within service oriented architecture (SOA).
A software system is successful if it meets the purpose it was built for. Requirements engineering (RE) is the process of discovering that purpose, by identifying stakeholders and their needs. Many requirements engineering techniques carry over to service oriented architecture (SOA) which is an architectural style of software engineering where functionality is grouped around business processes and packaged as interoperable services.
Building on his 20 years experience, the author addresses several less formal or 'soft' techniques for eliciting knowledge and specifying both requirements and systems. Making a clear distinction between requirements and systems. Making a clear distinction between requirements and specification, this book challenges some of the informal specification techniques that are in wide use today and can jeopardize SOA projects.
Key Features include:
- A clear exposition of the principles of SOA, how to model it - and how to get it wrong
- An introduction to business process modelling approaches and notations
- A comprehensive range of requirements modelling techniques from the detail to large scale enterprise models
- Coverage of Web Services, Business Process Management (BPM) and other key standards
- An appendix of patterns to help you apply the techniques to actual projects quickly
Requirements Modelling and Specification for Service Oriented Architecture shows you how to apply existing requirements and specification techniques to a SOA programme. It provides an invaluable companion to Managing SOA Projects with Agile Processes, which sets out an effective agile process for the development of SOA projects.
Many software developers often confuse requirements engineering with software specification and, as a result, build unusable systems, despite meeting specifications. Bringing together all the techniques needed by the modern software developer, here is a practical handbook to requirements engineering and systems specification for developers building systems within a service oriented architecture. It introduces the concepts of SOA and relevant standards and technology, such as Web services and ESBs, and then presents a range of modern requirements engineering techniques.
Table of Contents
Foreword by Mark McGregor.
Foreword by Professor Neil Maiden.
1. Principles of SOA.
1.1. Why Projects Fail.
1.2. Aligning IT with Business - Speaking a Common Language.
1.3. What is Service Oriented Architecture?
1.4. Business Drivers for SOA.
1.5. Technology Drivers.
1.6. Benefits, Pitfalls and Prospects.
1.7. Migration Strategies.
1.9. Bibliographical Notes.
2. Architecture - Objects, Components, Services.
2.1. What is Architecture?
2.2. Architecture through the Ages.
2.3. Objects and Components.
2.4. Architecture and SOA.
2.5. Stateless Services.
2.6. Practical Principles for Developing, Maintaining and Exploiting SOA.
2.8. Bibliographical Notes.
3. Approaches to Requirements Engineering.
3.1. Conventional Approaches.
3.2. Classic Requirements versus Use Cases.
3.3. Problem Frames.
3.4. Requirements and Business Rules.
3.5. Establishing and Prioritizing the Business Objectives.
3.6. Soft Techniques for Requirements Elicitation.
3.8. Bibliographical Notes.
4. Business Process Modelling.
4.1. The Origins of and Need for Business Process Modelling.
4.2. Business Process Modelling in a Nutshell.
4.3. UML Activity Diagrams.
4.6. Orchestration and Choreography.
4.7. Process Algebra and Petri Nets.
4.8. The Human Side of Business Process Management.
4.10. Bibliographical Notes.
5. Catalysis Conversation Analysis.
5.1. What is a Business Process?
5.3. Conversation Stereotypes and Scripts.
5.4. Conversations as Components.
5.5. Contracts and Goals.
5.6. Conversations, Collaborations and Services.
5.7. Checking Model Consistency.
5.9. Bibliographical Notes.
6. Models of Large Enterprises.
6.1. Business Process Modelling and SOA in the Large.
6.2. Business Rules in the Mission Grid.
6.3. The Mission Grid as a Roadmap for SOA.
6.4. Other Approaches.
6.6. Bibliographical Notes.
7. Specification Modelling.
7.1. From Requirements to Specification.
7.2. Some Problems with the Conventional Approach to Use Cases.
7.3. Describing Boundary Conversations or Use Cases.
7.4. Establishing the Type Model.
7.5. Finding Services from State Models.
7.6. Finding Business Rules.
7.7. Ontology, Type Models and Business Rules.
7.8. Documenting the Specification.
7.9. Associations, Rules and Encapsulation.
7.11. Bibliographical Notes.
8.1. BPM Standards.
8.2. Web Services Standards.
8.3. Other Miscellaneous Standards.
8.4. Bibliographical Notes.
Appendix A. Requirements Engineering and Specification Patterns.
Appendix B. The Fundamental Concepts of Service Oriented Architecture.
References and Bibliography.