Boken Requirements Engineering
Jag läste nyligen ut Requirements Engineering 3rd edition av Elizabeth Hull, Ken Jackson och Jeremy Dick från Springer-Verlag utgiven i okt 20101 med ISBN10: 1849964041 och ISBN13: 9781849964043. På Adlibris kostar den just nu lite mer än 500 kr (se [1]) och på amerikanska Amazon strax över 65 USD (se [2]).
Överblick
Jag läser boken som en del av självstudier inför att bli certifierad inom kravhantering av REQB (Requirements Engineering Qualifications Board) - Reqb Certified Professional For Requirements Engineering. Det finns ingen bok som skrivits för att rikta in sig på den certifieringen så som till exempel Boken Software Testing Foundations är inriktat mot ISTQB för mjukvarutestning. Boken Requirements Engineering Fundamentals är inriktad mot certifiering i en mycket snarlik (men konkurrerande) certifiering inom kravhantering från IREB (International Requirements Engineering Board).
En snabb koll på kapitlen:
- Introduction
- A Generic Process for Requirements Engineering
- System Modelling for Requirements Engineering
- Writing and Reviewing Requirements
- Requirements Engineering in the Problem Domain
- Requirements Engineering in the Solution Domain
- Advanced Traceability
- Management Aspects of Requirements Engineering
- DOORS: A Tool to Manage Requirements
På Amazon har den fått blandade recensioner: 4 toppbetyg och 2 botten. Kritikerna säger att målgruppen å ena sidan bör vara insatta i kravhantering men å andra sidan kunna tillräckligt lite för att vara nybörjare. Även illustrationerna får, relativt välförtjänt tycker jag, kritik. De positiva recensionerna den får handlar om att det är en bra och koncis bok med vettiga exempel (de negativa rösterna kritiserar exemplen). Själv är jag lite kluven till den och jämför den mycket med Boken Requirements Engineering Fundamentals som jag tror har samma målgrupp: nybörjare inom krav.
Vad var bra?
Jag tycker om deras tankesätt att kravhantering kan anses vara en generisk process: man kan utgå från ett krav och sen bryta ner det i mindre delar. För varje del kan man sen börja om och bryta ner. Till slut går man från ett högnivåkrav till ett krav på detaljnivå.
Jag tycker även om författarnas tankar om spårbarhet och att förändringar i ett krav kan slå på andra krav (sekundära effekter), som sedan slår indirekt på en ny mängd krac (typ tertiära effekter). Här var illustrationerna ok.
Man måste även ge boken pluspoäng för att den get ett bra svep över området kravhantering - till exempel att man bör stanna ett ögonblick i problemdomänen innan man dyker ner i lösningsdomänen ("nej, det fixar vi snabbt med en mumbo-jumbo-injektor-fem-tusen, fan vad coolt det blir" som en och annan ingenjör skulle säga).
Vad var inte bra?
Jag tycker att exemplen kunde varit mycket bättre. Å ena sidan pratar man om ett tågsystem i England, sen om en segelbåt, eller bagagehantering och säkert andra saker. Ibland känns det som att författarna försöker ha en röd tråd med exemplen och ibland har de helt missat den.
Vissa illustrationer är riktigt kassa. Till exempel försöker författarna framhäva att modeller kan användas på samma sätt som fyllning mellan smörgåsar för att gå mellan lager av krav. Här stinker bilderna av MS Paint eller kanske något gammalt Mac program från 1990-tal. Bilderna blir svåra att förstå och det stör helhetsintrycket.
Jag tycker även att det fysiska formatet - som papperskvalitet, omslag och känslan när man håller boken i handen - känns mycket sämre än till exempel känslan av att hålla i Boken Requirements Engineering Fundamentals.
Innehåll
Boken innehåller utöver bonusmaterial som bibliografi och index nio kapitel. Den är hårt indelad i under- och under-under-kapitel med strax över 150 indelningar på omkring 200 sidor.
- Introduction
- Introduction to Requirements
- Introduction to Systems Engineering
- Defining Requirements Engineering
- Requirements and Quality
- Requirements and the Lifecycle
- Requirements Tracing
- Requirements and Modelling
- Requirements and Testing
- Requirements in the Problem and Solution Domains
- How to Read this Book
- A Generic Process for Requirements Engineering
- Introduction
- Developing Systems
- Generic Process Context
- Generic Process Introduction
- Generic Process Information Model
- Generic Process Details
- Summary
- System Modelling for Requirements Engineering
- Introduction
- Representations for Requirements Engineering
- Methods
- Summary
- Writing and Reviewing Requirements
- Introduction
- Requirements for Requirements
- Structuring Requirements Documents
- Key Requirements
- Using Attributes
- Ensuring Consistency Across Requirements
- Value of a Requirement
- The Language of Requirements
- Requirement Boilerplates
- Granularity of Requirements
- Criteria for Writing Requirements Statements
- Summary
- Requirements Engineering in the Problem Domain
- What is the Problem Domain?
- Instantiating the Generic Process
- Agree Requirements with Customer
- Analyse & Model
- Derive Requirements
- Summary
- Requirements Engineering in the Solution Domain
- What is the Solution Domain
- Engineering Requirements from Stakeholder Requirements to System Requirements
- Engineering Requirements from System Requirements to Subsystems
- Other Transformations Using a Design Architecture
- Summary
- Advanced Traceability
- Introduction
- Elementary Traceability
- Satisfaction Arguments
- Requirements Allocation
- Reviewing Traceability
- The Language of Satisfaction Arguments
- Rich Traceability Analysis
- Rich Traceability for Qualification
- Implementing Rich Traceability
- Design Documents
- Metrics for Traceability
- Summary
- Management Aspects of Requirements Engineering
- Introduction to Management
- Requirements Management Problems
- Managing Requirements in an Acquisition Organisation
- Supplier Organisations
- Product Organisations
- Summary
- DOORS: A Tool to Manage Requirements
- Introduction
- The Case for Requirements Management
- DOORS Architecture
- Projects, Modules and Objects
- History and Version Control
- Attributes and Views
- Traceability
- Import and Export
- UML Modelling with DOORS/Analyst
- Summary
Sammanfattning
Efter att ha plöjt två böcker om kravhantering så känner jag att det verkligen finns en marknad för bra böcker i området som är inriktade mot nybörjare. Den här är väl ok - men känns inte lika bra i sitt svep över ämnet som Boken Requirements Engineering Fundamentals, som även har en bättre indelning i kapitel.
Å ena sidan är det bra med att exemplifiera hur mjukvara kan användas vid kravhantering - och DOORS (se wikipedia: [3]) är ett kraftfullt verktyg - men å andra sidan känns det som att man behöver ett projekt i storleken av ett mindre tunnelbanetåg för att känna nyttan av ett så stort verktyg. De flesta läsarna kommer nog, tyvärr måste jag säga, använda verktyg i stil med MS Word - och vi vet ju alla vilket helvete det är.
Se även Boken Requirements Engineering Fundamentals som har i princip samma målgrupp.
Se även Boken Software Testing Foundations som är en bra nybörjarbok inom test.
Se också Systems Modeling Language
Se också Reqb Certified Professional For Requirements Engineering
Tillhör Kategori Test (typ)
Tillhör Kategori Boktips