Business Process Modeling (BPM) in systems engineering and software engineering is the process in which various steps and activities of an enterprise are analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality. The purpose of this paper is to highlight what business process modeling is, the different methodologies used and the new programming language tools used for it. The paper covers both old process modeling methodologies and the new ones. Some examples of present business modeling software in the market are quoted along with their features.