jeudi 11 mars 2021

Looking for the right term: audit? traceability? logging?

I have a problem. I'm sure people have already solved it, but I don't know the right terms to search for. I want to describe the problem here, maybe you can help me with the terminology.

We are building software that processes data in batch fashion, and we want to enable users to see after the fact why data was processed in specific ways. At a very basic level, we process records and then we have lots of conditionals, and depending on conditions we do stuff. And the user wants to see something like "because condition X was fulfilled, we did Y".

Let me try to provide an example, not the actual problem we are working on: Let's say we are building a news website, and we import articles and images from news agencies. Now the kinds of things that could happen are:

  • We skipped an article because the title began with "META:", indicating it's a message from the news agency to the editors, rather than the actual readers.
  • We put an article into category X because the news agency had category Y.
  • We put an article into category X because the news agency didn't provide a category, but it did provide a tag Y.
  • We linked article X with image Y because both had the same hashtag Z.

Questions users might ask:

  • What happened to article X? (It came from news agency article Y, and here are all the decisions we made on that one.)
  • How many articles were skipped because they were meta?
  • Of the articles imported yesterday, how many were associated with images?
  • Of the images imported yesterday, how many were associated with articles?

Again, this problem domain is just an example, and I'm just looking for the right search term to find information in the literature.

I thought of "traceability", but that seems to be specific to software artifacts being part of a specific build.

I thought of "audit log", but I don't know if audit logs support answering these kinds of questions.

I thought of "decision making", but that seems to be something humans do when they organize their software development. There is also decision support software, which codifies rules. But we're trying to get a handle on the outcome of such rules for the specific inputs we had.

Aucun commentaire:

Enregistrer un commentaire