Package 'oRus'

Title: Operational Research User Stories
Description: A first implementation of automated parsing of user stories, when used to defined functional requirements for operational research mathematical models. It allows reading user stories, splitting them on the who-what-why template, and classifying them according to the parts of the mathematical model that they represent. Also provides semantic grouping of stories, for project management purposes.
Authors: Melina Vidoni [aut, cre] , Laura Cunico [aut]
Maintainer: Melina Vidoni <[email protected]>
License: GPL-3
Version: 1.0.0
Built: 2024-12-07 06:54:24 UTC
Source: CRAN

Help Index


Analysing Stories

Description

Main function that fully automates the process of analysing a dataset of user stories. It can also write results as an Excel sheet in a given directory, and generate an advanced report with highlights of missing features.

Usage

analyseStories(
  storiesFile,
  groupsNumber,
  topGroups = 1,
  sheetFilePath = NULL,
  reportFilePath = NULL,
  outputType = "pdf_document",
  ignoreWordsList = NULL
)

Arguments

storiesFile

The path an name to a text file containing one user story per line. They need to be written in English.

groupsNumber

The number of groups you want to generate between user stories.

topGroups

How many groups per stories you want to keep. The default is 1.

sheetFilePath

The path and filename of the Excel sheet that will be stored; must include the '*.xlsx' extension. If no value is passed, the file will not be written.

reportFilePath

The path where the extensive report will be stored. It must include the correct extension (according to the type selected in the following argument). If no value is passed, the report won't be generated.

outputType

The type of document to be generated (from an RMarkdown). By default it is a PDF file.

ignoreWordsList

The list of words that you want to avoid using during the grouping of user stories. If nothing is passed, a default list will be used.

Value

A list of two datasets: the first one contains the stories split up, classified in types, analysed and grouped. Second dataframe contains top words per group and the belonging value of the word.

See Also

Other Simplified Process: createIgnoreWords(), reportStories()

Examples

# Libraries for the example
library(reshape2)

# Transform the stories
fileUrl <- example_stories()
stories <- analyseStories(fileUrl, 7)

# Print some information
head(dplyr::as_tibble(stories[[2]]))

head(stories[[1]])

List Ignored Words

Description

List Ignored Words

Usage

createIgnoreWords(wordsList = c(), addToExisting = TRUE)

Arguments

wordsList

List of words to be ignored when grouping user stories semantically by similarities of word.

addToExisting

If this param is TRUE, passed words will be added to a predefined set of words. Otherwise, only those in the previous argument will be ignored.

Value

Returns an array of words that will be ignored when processing the semantic groups.

See Also

Other Simplified Process: analyseStories(), reportStories()

Examples

# Generating default words only
createIgnoreWords()

# Adding words
createIgnoreWords(c("given", "said"))

# Replacing words
createIgnoreWords(c("given", "said"), FALSE)

Path to Example Data

Description

Path to Example Data

Usage

example_stories()

Value

Local path to example text file, containing user stories for Operational Research mathmatical models.

Examples

example_stories()

oRus package

Description

Analysis of User Stories for Operational Research

Details

See the README on GitHub


Initial User Story Parse

Description

This function will help you parse a set of stories into a dataframe, where one row is each user story; The user story gets splitted into who, what and why sections, according to the use of keywords. The file must be a text file written in English, with one user story per row.

Usage

readStories(url)

Arguments

url

The URL of the text file to be parsed. Every user story must be in a single line, and written in English. Punctuation is irrelevant as it is processed out. For this to work, user stories should follow the who, what, why template, with keywords: "as a/an ", " I want to ", " so that ", respectively.

Value

A dataframe of three colums, representing sections who, what, why of the user stories. There is one row per user story, and they may not have the "why" part if it wasn't added. Using incorrect keywords means incorrect parsing, so be careful.

Examples

# Analyse without reports
dataPath <- example_stories()
stories <- readStories(dataPath)

# Print some information
head(dplyr::as_tibble(stories))

Reporting Stories

Description

This function allows you to write the reports for the user stories if you didn't write them before on the analysis function. The key input is the output of ‘oRus::analyseStories()'.#’

Usage

reportStories(
  stories,
  sheetFilePath = NULL,
  reportFilePath = NULL,
  outputType = "html_document"
)

Arguments

stories

The stories produced by the analysis function.

sheetFilePath

The path and filename of the Excel sheet that will be stored; must include the '*.xlsx' extension. If no value is passed, the file will not be written.

reportFilePath

The path where the extensive report will be stored. It must include the correct extension (according to the type selected in the following argument). If no value is passed, the report won't be generated.

outputType

The type of document to be generated (from an RMarkdown). By default it is a PDF file. Options are: 'html_output' or 'pdf_output'.

See Also

Other Simplified Process: analyseStories(), createIgnoreWords()