This article talks about Software Engineering, which is development of procedures and systematic applications that are used on electronic machines. It incorporates various accepted methodologies to design software. It differs from other branches of engineering in that professionals are building an intangible structure and not a tangible one. This particular type of engineering has to take into consideration what type of machine the software will be used on, how the software will work with the machine, and what elements need to be put in place to ensure reliability.