Given a graph $G$, it is possible to construct a sequence $H_1, H_2, \dotsc, H_k$ of graphs each a set of disjoint edges (i.e., every vertex of degree at most $1$) with $G = \bigcup H_i$.
For example:
For the complete bipartite graph $K_{n,n}$, only $n$ graphs are needed, which can be seen by taking one perfect matching, and then fixing one set and cyclically rotating the edges on the other.
For $K_2$, obviously $1$ graph is needed, for $K_3$, we have $n = 3$ since each edge must be added separately, and for $K_4$, we have again $n = 3$ (opposite edges, opposite edges, diagonals).
For any graph $G$, is there a way to calculate the minimal number $k$ of graphs $H_k$ needed to construct $G$, and furthermore a way to explicitly specify each $H_i$?