Course Title: Systems Deployment and Operations

Part A: Course Overview

Course Title: Systems Deployment and Operations

Credit Points: 12.00


Course Coordinator: Professor Lawrence Cavedon

Course Coordinator Phone: +61 3 9925 2325

Course Coordinator Email: lawrence.cavedon@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

  • ISYS 1117/1118 Software Engineering Fundamentals
  • This course can NOT be taken in conjunction with COSC 2299/2428 Software Engineering: Process and Tools or ISYS 1088/1089 Systems Architecture


Course Description

Current modern software development processes divulge require software to be deployed across different platforms, either physical hardware or virtual cloud-based, under a variety of possible operating systems and environments. So-called Dev Ops are important members of Software Engineering teams and take responsibility for packaging a system into a “containers” that can be easily deployed into different environments. Moreover, requirements regarding scalability, security and other system qualities require decisions to be made regarding deployment configuration and architecture.   This course introduces concepts related to system release management and deployment, as well as factors impacting operational decisions. The material will refer to modern SE processes and current software tools, including workflows for continuous deployment, tools such as Docker, and reference architectures for ensuring a variety of system qualities under different software environments. Students taking this course will be well versed in the concepts and toolkit required by the Dev Ops role.

 


Objectives/Learning Outcomes/Capability Development

On completion of this course you should be meeting the following Course Learning Outcomes (CLOs):   1. Understand the importance of the Dev Ops role within modern Agile Software Engineering process; 2. Understand the issues associated with deploying software systems, including code repository workflows and how to manage risk in a continuous deployment environment; 3. Be capable to using modern tools to manage flexible deployment across a range of environments; 4. Understand the issues involved in ensuring system qualities to meet the non-functional requirements of a system; 5. Be capable of working closely with developers in a Software Development team and managing the deployment and operation of software systems produced by that team.

 



Overview of Learning Activities

The learning activities for this course include: • Key concepts will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter illustrated via demonstrations and examples; • Tutorials and/or labs and/or group discussions and activities (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allowing exploration of concepts with teaching staff and other students, to provide feedback on progress and understanding; • Assignments, as described in Overview of Assessment (below), including group assignments, will provide simulation of workplace activities and an opportunity to demonstrate an integrated understanding of the subject matter; and • Private study, working through the course materials as presented in class and gaining practice at solving conceptual and technical problems.

 


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School and/or available for download onto private laptops/machines. You will be able to access course information and learning materials via MyRMIT/Canvas and may be provided with copies of additional materials in the library or via freely accessible internet sites. Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).

 


Overview of Assessment

This course has no hurdle requirements. The assessment for this course comprises practical work involving working with team members, class tests, and a final exam.   Assessment Task 1: An assignment that involves management of a product deployment within a continuous deployment setting. Weighting: 15% This assessment task supports CLOs 1, 2, 3 & 5.   Assessment Task 2: A second assignment that builds on Assessment Task 1 and  requiring configuration to ensure system qualities. Weighting: 20% This assessment task supports CLOs 2, 4 & 5   Asssessment Task 3: A mid-semester test Weighting: 10% This assessment task supports CLOs 1, 2 & 3   Assessment Task 4: Short in-class tests throughout the semester Weighting: 5% This assessment task supports CLOs 1, 2, 3 & 4   Assessment Task 5: a final written exam to provide a comprehensive analysis of students’ understanding of core concepts introduced in the course. Weighting: 50% This assessment task supports CLOs 1, 2, 3 & 4