I have to implement a DB application, but the implementation should be also documented. My goal is to create a document not only for the developers, but also for other departments (who do not need to know the technology behind it). The tool doesn't need to support code generation (beside 8., that is optional); i.e. there is no need to generate HTML/JavaScript/CSS/etc. The document serves 2 main goals:

  1. presenting the UI-prototype also for non-developers
  2. collecting every name of the DB-fields used by the specific UI-elements of the mockup, and describing the behavior of the final application (in a plain text but with a reference to the specific DB-field) If the UI-prototype has been approved, the implementation will begin using the name of the DB-fields and description of the behavior, collected earlier.

I'm searching for a documentation/modelling/prototyping tool with the following abilities:

  1. specify the DB-fields by name.

  2. create mockups (simple GUI pages) and if you click (or mouse over, ...) on the individual elements (like input-fields, buttons, etc.) in the mockup, you should see the associated DB-field. An example: someone defines a mockup for the search with 2 fields that you can search for (ID, name).

  3. you should be able to describe actions (in plain text). E.g. a mockup has the button Delete to delete elements from the DB that are older than 1 month. The description text should be able to refer to the DB-field affected by this operation. The text would be: "delete all items from {Mytable.Orders} that are older than 1 month.". Everything between {} is the name of the DB-field. The purpose of this is to ensure that if this field is renamed in the document, then it SHOULD be renamed in the description text also.

  4. you should be able to define roles. E.g. the mockup ABC defines 3 DB-fields if you have the role of Admin. But if you have the role of User, then this mockup should ONLY define 1 DB-field. I would like to use the same mockup for Admin and for User .

  5. the whole document should be searchable for certain DB-fields (to see in which mockups this field is used).

  6. the tool should be free and run on at least one of the platforms: Windows / Linux / Web.

  7. the whole document (with mockups, DB-field assignments) have to be saved in a format (PDF or HTML / JPG, or similar).

  8. it would be nice if you could save the assignment of the DB-fields in JSON.

  9. you should be able to describe the transition between mockups. If you e.g. click on Button A on the mockup ABC, the mockup DEF gets opened.

  10. if you add a new DB-field to a mockup, a warning should appear if this DB-field is already being used in another mockup.

  11. it would be nice (doesn't necessarily have to be) if you could display sample data in the mockups. E.g: you enter "Test" as "Name" in the previously defined search mockup, then a list will be displayed on this mockup (= creating an interactiv mockup).

It would be good if the first 7 feature could be fulfilled.

Thanx for any hint, or recommendation.

  • 1
    Is your App a webapp, a mobile app, or a desktop app? - In any case, Reverse-engineering and documenting the database schema, then the REST API (or any API) and then the GUI and the various data bindings of the widgets used within that GUI is usually done with different tools. - Don't you have access to any design documents?
    – knb
    Nov 16 '21 at 12:26
  • 1
    Thanx for the answer. It's a webapp. It will use a REST backend. The DB schema is also known. BUT the concept of the app is currently in the development phase (especially the roles are not entirely clear). There are also ideas, some of which are conflicting each other. But unfortunately none of this is documented. Therefore, the first part is to document it so that a good basis is created. It would be great if at least e.g. Wireframes (balsamiq.com/wireframes) THAT ALSO contains the used DB fields could be created and communicated. Could you tell me some tools to describe the GUI?
    – awgold90
    Nov 16 '21 at 19:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.