O
O
ogr2020-05-06 20:30:56
Software design
ogr, 2020-05-06 20:30:56

How to describe the dependencies between the elements of the system?

We make projects based on a ready-made platform. The principle of the platform is probably closest to 1C or Sharepoint:

  • There is a separate interface configurator
  • There are separate places where small scripts are written
  • There are third party services. For example, the web version responsible for the integration

There is a dependency tracking issue. For example:
  • There is an object "Employee Card" with its own form. The form has an "Employee" field and a "Fill" button.
  • On the "Fill" button there is a script that asks the user for the full name and fills in the "Employee" field.
  • And there is a service that periodically checks all "Employee Cards" and enters something in the "Employee" field.


I would like to have some kind of tool for a business / systems analyst that solves the following problem:
  1. The customer asked to remove the "Employee" field from the form
  2. The analyst went into the program and checked the dependencies
  3. The analyst answered the customer: if we delete the "Employee" field, then we also change the script on the button and edit the service. Accordingly, labor costs are not a day, but 2 weeks


Now, most often, this is found out already during testing, and even on the prom, when some rarely used module drives off. And the larger and more complex the system, the more problems.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
X
xmoonlight, 2020-05-06
@xmoonlight

The architecture of the project code should work out this functionality automatically.
Fix the architecture!
I can tell you: if you are doing something on a PC, you are processing the input data.
So you need to check:

1. What exactly needs to be processed - a list of mandatory and optional variables.
2. What is processing tolerance and what is garbage - regex/isNull/etc.
3. Check the presence of all mandatory variables before starting processing.
If something is missing, immediately throw an error when running the code.
All this should be done at the very beginning of the project - in the head block of the code, where all non-generated variables are stored.
If you set (initialize) variables inside blocks that depend on the input data to this block - THIS IS IMMEDIATELY EPIC FAIL!

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question