This chapter introduces readers to the underpinning services required for software engineering for modern web applications, how to analyse, developing requirements, and modelling with classes using UML. First, the authors introduce software and software engineering to help new designers to model interactions and behaviour using UML. Then they show how to justify the difference between software and software engineering, and analysis and developing requirements for modelling using UML, which process model to use in SW process, and why.