This report describes the design of a JPEG encoder, using the SpecC system level design methodology developed at CAD lab, UC Irvine. We first begin with an executable specification model in SpecC, and then refine the specification model into a architecture model which accurately reflects the system architecture. Based on the architecture model, a communication model where the communication protocols between the system components are defined are developed. Finally, we refine the communication model of the DCT block into the implementation model, which is the lowest level of abstraction in the SpecC methodology. This Project is a result of a course "System Tools" at Information and Computer Science Department, UC Irvine.