Singapore University of Social Sciences

Object Oriented Software Engineering: Analysis and Design (ICT333)


The aim of this course is to inculcate on students the general concepts of software engineering and the best practices of the technology. Software Engineering is a collection of techniques, methodologies and tools that help with the production of high quality software systems. It is a rationale-driven activity that involves modeling, problem-solving, and knowledge acquisition. In this course, students will learn how to produce high quality software systems on time and within budget while dealing with complexity and change issues. This course focuses on object-oriented software engineering concepts and provides students with both theoretical and practical knowledge of this field. The Unified Modeling Language (UML) will be presented in detail. Topics covered include basic software engineering concepts, UML modeling techniques, requirements elicitation, use cases, analysis, class/object diagrams and interaction diagrams, system design, software architectures, object design, reuse concepts and design pattern solutions. This course is designed for students who have basic understanding of information technology and who wish to gain knowledge in object-oriented systems development. The emphasis will be on the design and analysis issues using the UML modeling techniques.

Level: 3
Credit Units: 5
Presentation Pattern: Every January
E-Learning: BLENDED - Learning is done MAINLY online using interactive study materials in Canvas. Students receive guidance and support from online instructors via discussion forums and emails. This is supplemented with SOME face-to-face sessions. If the course has an exam component, This will be administered on-campus.


  • Introduction to software engineering; Project Organisation I
  • Introduction to software engineering; Project Organisation II
  • Modeling with UML I
  • Modeling with UML II
  • Requirements Elicitation I
  • Requirements Elicitation II
  • Analysis I
  • Analysis II
  • System Design: Decomposing the System & Adressing Design Goals I
  • System Design: Decomposing the System & Adressing Design Goals II
  • Object Design: Reusing Pattern Solutions I
  • Object Design: Reusing Pattern Solutions II

Learning Outcome

  • Describe software engineering concepts, activities and project organization
  • Apply the standard UML techniques
  • Develop the requirements elicitation activities
  • Distinguish Analysis activities
  • Compare system design activities
  • Distinguish Object design activities
  • Examine reuse concepts for Object design
  • Identify appropriate design patterns and components
  • Sketch UML diagrams for requirements elicitation, analysis, systems design and object design
  • Construct UML diagrams using a software tool
  • Apply UML technique to model a business process
Back to top
Back to top