Component-Based Software Architecture Design for Network Intrusion Detection and Prevention System