The PSoC supports both in ISSP, In System Serial Programming, and IAP, In Application Programming.
The PSoC device is FLASH memory based so it can be programmed even when soldered to a PCB. We recommend that all PCBs be designed to support ISSP. During the prototyping phase it is much easier for the engineer to reprogram a PSoC device while it is on the board. This is especially true when using surface mount devices. Application notes AN2026A and AN2026B give details of the ISSP programming process.
Application Programming may be performed by using a bootloader. PSoC Designer has two user modules, BootLdrI2Cs and BootLdrUSBFS that implement bootloader functionality over I2C bus and USB bus respectively. These user modules are available under the Protocols category in the PSoC Designer. BootLdrUSBFS user module is only available in CY8C24x94 and CY8C20xx6 series devices. More details about these user modules may be found in the respective user module data sheet.