chronicle

command module
v0.0.0-...-719aef4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

README

Chronicle Status Status

This is a software requirement tool with the goal of applying latest research within the academia and still be practical and efficient enough to be used in a commercial context. At this stage chronicle have some high-level goals:

  • Designed to useable for all stakeholder within a software project, from developer to clients.

  • Designed for distributed environments and version control.

  • Creating the equivalent of continues integration for requirements management

  • Traceability between artifacts and requirements.

  • Support a variety of ambition levels for requirement management.
    From simple bug tracking for a website to usage in medical science.

  • The development should largely be grounded in research with proper citation

Early design thoughts

The first working prototype will be based on git and markdown. Git enables a lot of the distribute needs for the software as well as version control. Markdown is well known and also work decent for merge handling. Currently there is a wide variety of markdown-flavors available. This project will strive to be Commonmark compatible.

User interfaces

The current idea is to have the following six distinct interfaces for different needs:

  • Native git and markdown - This is targeting the developer who dosen´t have the motivation, need nor the time to learn Chronicle. High adoption is crucial for great requirement work therefor this part is important (cite needed). Consuming .req-files could be done using your favorite markdown editor. Referring artifacts to requirement is done through git commit message.

  • Command line chronicle - This is the tool for altering requirement the developer way. To put it simple support CRUD - operations. Alongside altering chronicle shall support testing for requirements, think unit-testing but for requirements. By running chronicle test on a continues integration (CI) server there is possibilities to force good requirements like we do with tests today.

  • Static html report - Beside testing requirement chronicle report will generate an interactive report for a certain commit. This report could for example contain information about dependency, requirement validation checklist, artifacts which doesn´t trace to requirements, spelling.

    By having a CI server generate this and uploading to a web server (exampel S3) there will always be an up to date report for the software organization to consume. This static page will contain relevant badges, hinting about requirement climate. For example: Status

  • Desktop expert GUI - This interface shall be designed with the non-developer in mind. Specifically, this will be a pimped up markdown editor with requirements analysis tools and visualization. This tool will most likely be used by a domain expert as orderer or a project manager. This GUI will probably be most feature dense of all interface components.

  • Web application - This shall be the easiest way to get going with the chronicle. An external stakeholder shall be able to login to a specific website to get going, eg. chronicle.benefactory.se. The web server will be started by using command chronicle server 0.0.0.0

Contributing

Currently this is just a embryo and vision, if you do find it interesting or share it please join the gitter chat.
There is room for a lot of thoughts, experience and knowledge.

Prototyping todo:
  • Write an algorithm to trace commit message to code using commit log.
  • Design a distributed id scheme more read- and rememberable than UUID.
  • Specify and write an early markdown format and parser for .req-files.
  • Rewrite all documentation in chronicles .req format.
  • How to handle bug report and issues.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL