5

Is it common practice for Software Engineering firms to use drawing numbers and drawing templates when creating software diagrams?

For example, I find that UML diagrams or flowcharts are particularly effective when planning out and later describing how a particular piece of software works. However, having come from a career in Electronics Engineering, I'm used to having these diagrams to be numbered and registered in a central location.

John Go-Soco
  • 236
  • 1
  • 6

3 Answers3

7

You may see that in some regulated contexts, but probably not on a per-diagram level. When I worked in aerospace, architectural and design documents were controlled. Prior to new releases entering the formal verification process, the documentation would be exported, given a document number and revision, signed, and then managed by document control. The numbers and revision of all of the documents that apply to a given release were captured as part of the release of the software or the system that the software was embedded on. Each document was scoped to a particular system, subsystem, or component and would contain multiple sections of text and graphics (tables, diagrams, etc.) that pertain to that system.

For most organizations, though, this is probably overkill. It's rarely necessary to have such strict document control. There are plenty of tools that offer version control, change tracking, and even review and approval that don't require all of these concepts. On top of that, using code to represent diagrams (see Structurizr and PlantUML for examples) allows diagrams to be managed in source control systems, with the same branching and tagging schemes as the software they represent.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
6

Not really; the drawings tend to be informational rather than definitive, whereas in engineering the drawings are the work product.

Software engineering however makes much more extensive use of automatic version control systems (git etc), so it's natural to check the drawings into that. That gives you both the "central location", and keeps the versions of drawings in sync with the version of the software.

pjc50
  • 10,595
  • 1
  • 26
  • 29
  • 1
    The first paragraph truly is key here. There may be some cases where a software design description is a work product, such as when an external entity is performing additional verification or validation and the design description is useful for planning and executing appropriate testing. But the vast majority of software design documents are informational and help future maintainers understand the system and how pieces fit together. – Thomas Owens Jan 12 '22 at 14:39
1

Not in my limited experience.

UML is often used for illustrations in design or architecture documents. In that case it isn't going to be stored separately as a numbered document.

If you're using a design tool, such as IBM Rhapsody, then each diagram will be part of a larger model, and stored under version control as part of that model.

Simon B
  • 9,167
  • 4
  • 26
  • 33