Man kann mit `\-` eine beliebige Trennstelle einfügen. Dabei werden dann alle anderen Trennstellen innerhalb des Wortes ignoriert. Statt jedesmal `\-` zu verwenden, kann man auch einfach des gewünschte Trennmuster in der Präambel angeben, in diesem Fall `\hyphenation{software-umgebungen}` (case insensitive).
Man muss bei sowas aber immer ein bisschen aufpassen, weil man sich gerne mal Overfull und Underfull `\hbox` einhandelt, wie hier im Beispiel gezeigt.
\documentclass{article}
\usepackage[ngerman]{babel}
\hyphenation{software-umgebungen}
\begin{document}
\setlength\fboxsep{0pt}
\fbox{\parbox{1cm}{Hardware"~/""Software-umgebungen}}\par
\fbox{\parbox{1cm}{Hardware"~/""Software\-umgebungen}}\par
\fbox{\parbox{2cm}{Hardware"~/""Software-umgebungen}}\par
\fbox{\parbox{2cm}{Hardware"~/""Software\-umgebungen}}\par
\fbox{\parbox{3cm}{Hardware"~/""Software-umgebungen}}\par
\fbox{\parbox{3cm}{Hardware"~/""Software\-umgebungen}}\par
\fbox{\parbox{4cm}{Hardware"~/""Software-umgebungen}}
\fbox{\parbox{4cm}{Hardware"~/""Software\-umgebungen}}
\end{document}
[![alt text][1]][1]
[1]: https://texwelt.de/wissen/upfiles/test_479.png