System and software design The system design process allocates the requirement to either hardware or software system by establishing an overall system architecture . Software design involves identifying and describing the fundamental software system abstractions and their relationships.