Singapore University of Social Sciences

Software Engineering and DevOps

Software Engineering and DevOps (ICT381)

Synopsis

ICT381 Software Engineering and DevOps teaches students how to implement software development using the DevOps software engineering methodology, as opposed to the traditional waterfall methodology. DevOps is more than a technique but also a culture that enable agile methodologies to be carried out in software development instead of the rigid segregation of steps of the software development lifecycle. The agile methodologies break down the communication barriers to allow closer interaction among the designers, developers and testers, in the development teams. It further brings closer, through continuous integration and continuous deployment, the development and operational teams to form a closer collaboration. Most importantly, this course introduces Cloud and related tools as the effective platform where DevOps methodologies can be implemented. Students will not only learn the concepts of DevOps, they will also practice it in the Cloud.

Level: 3
Credit Units: 5
Presentation Pattern: EVERY JULY

Topics

  • Introduction of software products and product-oriented software engineering.
  • Importance of software architecture.
  • Rise of Agile Software Engineering.
  • Features, scenarios and stories in software product design.
  • The emergence of Cloud computing and cloud-based software.
  • Microservices software architecture.
  • Software testing.
  • Test-driven software design and code review.
  • Code management and DevOps.
  • Software development automation and measurement.
  • Software security and privacy.
  • Reliable software engineering.

Learning Outcome

  • Appraise developers versus operations conflicts
  • Design agile software development project
  • Apply DevOps methodologies in software engineering
  • Assess software quality by automatic software integration and testing
  • Construct infrastructure as code in the Cloud
  • Practice software engineering automation in the Cloud
  • Implement continuous and automatic software development methodologies
Back to top
Back to top