For complex multi-component systems with each component experiencing multiple failure processes due to simultaneous exposure to degradation and shock loads, we developed a new multi-component system reliability model, and applied two different preventive maintenance policies. This new model extends previous research, and is different from related previous research by considering an assembled system of degrading components with $s$-dependent failure times resulting from shared shock exposure. Previous research primarily pertained to a single component or simple system, or systems with $s$-independent failure processes and failure times. In our new system model, the individual failure processes for each component and the component failure processes are all $s$-dependent. These models can be applied directly, or customized for many complex systems with multiple components that experience $s$ -dependent competing failure processes. In this model, each component can fail due to a soft failure process, or a hard failure process. These two component failure processes are mutually competing and $s$-dependent. If one component fails relatively frequently, it is likely that the number of shocks is relatively large, and these shocks impact all components potentially causing them to fail more often as well. Therefore, failure processes of all components are also $s$-dependent. An age replacement policy and an inspection-based maintenance policy are applied for a system with multiple components. The optimal replacement interval or inspection times are determined by minimizing a cost ra- e function. The model is demonstrated on several examples.