Workshop 1#

Today’s Workshop

The purpose of workshop 1 is to form teams and get to know the subject and your tutor.

Overview of SWEN90007#

Aims#

One of the main challenges in developing enterprise-wide distributed systems is in choosing the right software architectures. In this subject, students will study software architectures in depth and the principles, techniques, and tools for creating, developing and evaluating software architectures.

Indicative Content#

Topics covered in this subject will be drawn from: design styles and architectural patterns; design strategies; domain specific architectures; evaluation of designs; architectural design for non-functional requirements; and modelling architectures.

Learning Outcomes#

On completion of this subject the student is expected to:

  • Analyse large scale and distributed systems and select appropriate architectures for them

  • Evaluate architectures both qualitatively and quantitatively

  • Make suitable trade-offs between different architectures

Assessments#

There are 4 parts to the assignment this semester.

Please see LMS for assignments and rubrics

Hurdle requirement

To pass the subject, students must obtain at least 50% (50/100) in the team based project.

Tutorials#

Structure of Tutorials#

Tutorials will primarily focus on group work. All subject material is introduced in lectures and tutorials are your chance to implement the content learned with your team with the support of your tutor. Please come to tutorials prepared to do work with your teammates and with questions for your tutor.

Contacting Tutors#

All questions should be asked via discussion board. This allows students to learn from other students and also means teaching staff aren’t answering the same question 100 times. It also means students will get a quicker response.

If your question requires sharing code, you can post on private on discussion board - this is better than emailing as it allows your question to be answered by any teaching staff (which will get you a quicker response).

Teams#

If you do not already have a group, we will use the remainder of the class to form teams.

If you already have a team, now is a good time to exchange emails or numbers and decide times outside of class to meet (prior to next week’s tutorial so you can come prepared with questions).

Team Meetings#

You should meet weekly as a team. In project teams, weekly (and, in fact, we recommend more frequent than weekly) meetings are important opportunties to sync on team progress and a way to hold each other accountable.

Team Reviews#

For each assessment submission, you will be asked to review the contributions of each team member. Team members believed to not be equally contributing over the semester may have their grades penalised, so it is important to communicate with your team, and contribute equally.

Task Tracking#

GitHub Projects is a Kanban board your team can use to track team tasks.

Collaborative Documentation#

You will be required to collaborate on requirements as a team. In order to collaborate on documents, you can make use of:

  • Google Docs

  • GitHub Projects