This course is aimed at helping students build up an understanding of how to develop a software system from scratch by guiding them through the development process and giving them the fundamental principles of system development with object-oriented technology using UML. The course will initiate students to the different software process models, project management, software requirements engineering process, systems analysis and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle. The course introduces the concepts and tools for designing large software projects.