Slide 1

Slide 1 text

Doorstop Text-based requirements management using version control. Jace Browning Advisor: Dr. Robert Adams

Slide 2

Slide 2 text

Outline ● Introduction ● Required Features ● Existing Solutions ● Doorstop Model ● Implementation Details ● Future Work

Slide 3

Slide 3 text

Introduction ● What is a “requirement”? ○ Uniquely identified block of text ○ Contains a “shall” statement ○ Metadata: type, author, notes, etc. ○ Links to other requirements ● Applications: ○ Aerospace, medical, automotive, etc.

Slide 4

Slide 4 text

Introduction ● Other linkable items: ○ Test cases and procedures ○ Source code modules and functions ● Collections of items form documents: ○ Outline organization ○ Parent-child relationship

Slide 5

Slide 5 text

Sample Items in Documents

Slide 6

Slide 6 text

Sample Linking Hierarchy

Slide 7

Slide 7 text

Introduction (cont.) ● What is “requirements management”? ○ Requirements decomposition ○ Test coverage ○ Traceability review ● Requirements management tools help: ○ Create, edit, and link items ○ Present and export documents ○ Store and provide access

Slide 8

Slide 8 text

Required Features ● Composition: ○ Unique, permanent IDs for items ○ Linkable sections of text ○ Formatted text ○ External references ○ Expandable interfaces

Slide 9

Slide 9 text

Required Features ● Presentation: ○ Standard users: ■ documents ■ link tables ○ Advanced users: ■ filters ■ queries ■ scripts ○ Auditable trail of baselines

Slide 10

Slide 10 text

Required Features ● Administration: ○ Permanent and secure storage ○ Change management = request and review ○ Connection to existing accounts ○ Scaleable: ■ document size ■ user base ○ Lightweight installation

Slide 11

Slide 11 text

Existing Solutions ● Centralized: ○ GUI with editable columns of text ○ Stored as database entries ○ Options: DOORS, Dimensions, Integrity, OSRMT ○ Disadvantages: ■ licensing costs ■ proprietary scripting interfaces ■ limited connection to source code

Slide 12

Slide 12 text

Existing Solutions ● Cloud-based: ○ Cleaner, modern web interfaces ○ Offsite storage of document histories ○ Options: Accompa, Jama, aNimble Platform ○ Disadvantages: ■ 3rd-party hosting restrictions ■ limited scripting interfaces ■ disconnected from source code

Slide 13

Slide 13 text

Existing Solutions ● Decentralized: ○ Store requirements as files ○ Typically command-line interfaces ○ Options: rmtoo ○ Disadvantages: ■ complex installations ■ harder for non-technical users ■ limited cross-platform support

Slide 14

Slide 14 text

Doorstop Model ● Text files stored in version control ● “Item Files” ○ Linkable text (requirement, test case, etc.) ○ External references ○ Assigned unique and sequential file name ● “Document Directories” ○ Contain related item files ○ Parent-child relationship between documents

Slide 15

Slide 15 text

Doorstop’s Requirements Model

Slide 16

Slide 16 text

Doorstop Model (cont.) ● Role of the tool: ○ Create document directories and item files ○ Add and remove links between item files ○ Format the contents of item files ○ Validate the document hierarchy and contents ○ Export text for presentation purposes

Slide 17

Slide 17 text

Doorstop Model (cont.) ● Role of the version control system (VCS): ○ Stores the item files: commit ○ Manages the history of requirements ○ Creates baselines of requirements: tag ○ Handles changes under review: branch/merge ○ Associates changes with existing users ○ Shows line differences between versions: diff ○ Provides offline access with a distributed VCS

Slide 18

Slide 18 text

Implementation Details ● Python 3 ● YAML ○ Human-readable, machine-parsable ○ Line-based ● Markdown ○ Presentable as pure text ○ Converts to a variety of formats

Slide 19

Slide 19 text

Sample Project Structure

Slide 20

Slide 20 text

Sample Item File

Slide 21

Slide 21 text

Sample Item File with External References

Slide 22

Slide 22 text

Command-line Interface

Slide 23

Slide 23 text

Scripting Interface

Slide 24

Slide 24 text

Future Work ● Full-scale trial ● GUI written in Python ● More document presentation formats ● Import and export to common formats

Slide 25

Slide 25 text

Questions?