Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Doorstop: Text-based requirements management using version control.

Doorstop: Text-based requirements management using version control.

Eff2cdaa8474520ed29ebc38031fab87?s=128

Jace Browning

December 12, 2013
Tweet

More Decks by Jace Browning

Other Decks in Programming

Transcript

  1. Doorstop Text-based requirements management using version control. Jace Browning Advisor:

    Dr. Robert Adams
  2. Outline • Introduction • Required Features • Existing Solutions •

    Doorstop Model • Implementation Details • Future Work
  3. 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.
  4. Introduction • Other linkable items: ◦ Test cases and procedures

    ◦ Source code modules and functions • Collections of items form documents: ◦ Outline organization ◦ Parent-child relationship
  5. Sample Items in Documents

  6. Sample Linking Hierarchy

  7. 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
  8. Required Features • Composition: ◦ Unique, permanent IDs for items

    ◦ Linkable sections of text ◦ Formatted text ◦ External references ◦ Expandable interfaces
  9. Required Features • Presentation: ◦ Standard users: ▪ documents ▪

    link tables ◦ Advanced users: ▪ filters ▪ queries ▪ scripts ◦ Auditable trail of baselines
  10. Required Features • Administration: ◦ Permanent and secure storage ◦

    Change management = request and review ◦ Connection to existing accounts ◦ Scaleable: ▪ document size ▪ user base ◦ Lightweight installation
  11. 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
  12. 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
  13. 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
  14. 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
  15. Doorstop’s Requirements Model

  16. 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
  17. 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
  18. Implementation Details • Python 3 • YAML ◦ Human-readable, machine-parsable

    ◦ Line-based • Markdown ◦ Presentable as pure text ◦ Converts to a variety of formats
  19. Sample Project Structure

  20. Sample Item File

  21. Sample Item File with External References

  22. Command-line Interface

  23. Scripting Interface

  24. Future Work • Full-scale trial • GUI written in Python

    • More document presentation formats • Import and export to common formats
  25. Questions?