The Unified Modeling Language (UML) defines a suite of graphic notation techniques for describing object-oriented software systems. TikZ-UML is a TikZ extension to manage common UML diagrams: class diagrams, use case diagrams, state-machine diagrams and sequence diagrams. It produces beautiful UML diagrams in LaTeX.
This template includes the tikz-uml package and a compilation of the examples from the TikZ-UML manual, v. 1.0b (2013-03-01), and tikz-uml.sty from v1.0 (2016-03-29).
An example template of how to create a dissertation style for UWE Bristol (BSc Mathematics/Mathematics and Statistics programme) with margins compatible with MS Word templates (so correct for page limit rules).
This also allows you to separate out References and Bibliography entries.