Modern AAA/SAM systems are mobile and, as others pointed out, mounted on multiple vehicles. Generally there are 1-3 weapon platforms, 1-3 loader platforms (for missile systems, for cannon systems there are 1-2 ammunition vehicles), a fire control vehicle, and a support/mechanic vehicle. These systems rely on external other units to provide up-to-date area surveillance information, which can also be mobile, so you could add a search radar vehicle to the total count. Similarly, for Theatre Ballistic Missiles and Artillery Missiles, the systems are roughly similar: you have multiple launch vehicles, equal number of loader vehicles, and a command & control vehicle, plus supply/support vehicles.
I don't know how feasible it would be to code something like this in C# Aurora. Once you design an ground-based STO weapon, the game automatically creates a unit that includes reactor vehicle, gauss cannon vehicle, beam fire control vehicle, and then the player can adjust their numbers for that unit? Or just design each vehicle separately and group them together, like any other ground unit? How would that fit together with static units, do they need separate components as well? Can the game easily check that all necessary components/vehicles are in a unit, without creating undue memory/CPU usage?
On one hand, being able to put ship component to vehicles would neatly sidestep any special rules issues like we had with PDCs. But I don't know how "bad" it would be under the hood, and I've understood that Steve's one priority for C# has been to streamline the code and make it more uniform, ie as few special cases as possible.