You are on page 1of 29

FIT3077

Software Architecture and Design


Week 0
Unit Introduction

22nd February 2021


Dr Najam Nazar
OUTLINE
Unit Information
• Teaching Staff
• Unit Schedule
• Objectives
• Unit Organisation
• Lectures, Workshops, Assignments and Consultations
• Questions, Email and Forum protocols
• Resources
TEACHING STAFF
Chief Examiner

• Aldeida Aleti, Aldeida.aleti@monash.edu


Lecturers
• Clayton
• Najam Nazar, najam.nazar@monash.edu
• Malaysia
• Chong Chun Yong, Chong.Chunyong@monash.edu
Tutors
• Clayton
• Norman Chen, Admin TA, norman.chen@monash.edu
• Anjana Perera, anjana.perera@monash.edu
• Xiaoxiang Guan, xiaoxiang.guan@monash.edu
• Silpi Dutta, silpi.dutta@monash.edu
• Ting Ting Bi, tingting.bi@monash.edu
• Malaysia
• Simon Lau
UNIT SCHEDULE
Weeks Topics Workshops Assignment
1 Introduction to the Unit and Software Architecture No Workshop
2 Object Oriented Analysis
3 Design Principles - I
4 Design Principles - II Assignment 1
5 Design Patterns - I
6 Design Patterns - II
7 Software Architecture & MVC
8 Service Oriented Architectures (SOA) Assignment 2
9 Refactoring
10 Microservices
11 Software Architecture & Devops
12 Revision. Assignment 3
OBJECTIVES
Knowledge and Understanding
• Conceptual and implementation level analysis and design using UML
• Analysis and design patterns
• Modelling and design of software at the architectural level
• Architectural patterns, such as Model-View-Controller
• Service-oriented architectures; microservices
• Refactoring
• Configuration Management
• Emerging topics in software architecture
Attitudes, Values and Beliefs
• Apply a variety of analysis and design patterns.
• Appreciate analysis fundamentals.
• Analyse well-formedness (completeness, consistency, robustness, etc)
• Analyse correctness (e.g. static analysis, simulation etc.)
Practical Skills
• Take requirements for simple systems and develop software architectures and designs at a
high level
• Apply design patterns in the design of simple systems and realise the design in code
• Apply a variety of frameworks and architectures in designing software
UNIT ORGANISATION
Assessments & Passing

• The unit is assessed with three assignments.


• There is no exam for this unit.
• To pass this unit, a student must obtain:
• 40% or more in the unit's non-examination assessment, and
• an overall unit mark of 50% or more
• If a student does not achieve 40% or more in the unit non-examination assessment then a mark of no
greater than 49N will be recorded for the unit.
Lectures
• Clayton
• Monday 2-3 pm live streamed.
• Normally, it will run as a Q&A session.
• We expect students to watch pre-recorded lecture videos/recordings before coming to the live
streamed session.
• Lecture slides and recordings for each week will be made available on the unit Moodle
website.
• Lecture slides are not “lecture notes”. Notes are what you write during lectures and workshops.
• Questions should be relevant to the topics discussed.
• For Malaysian students please contact your lecturer for details.
Workshops
• During a workshop class, you are expected to work on different problems and/or tasks
and/or activities relevant to the topic, which will be distributed via the unit Moodle page
under each week’s content.
• You will only get value from the workshop classes if you use them to work on problems and
ask questions. They are not a passive activity.
• Your tutor will be available to comment on, and help with, solutions during the workshops.
• Not marked.
• Workshop classes start in week 2.
Assignments
• All work submitted by a team must be solely the work of that team.
• All work submitted by an individual must solely be the work of that individual.
• This is not to mean that you may not consult with others, but: If you receive any help, you must
specifically acknowledge that person in your submitted work.
• If any student or team of students submits work which is not their own, they will be
disciplined according to the University and Faculty policies — see the unit web site.
• Penalties range from exclusion from University to zero marks for the unit.
Assignment 1: Software Design Assignment
• Due: Week 4
• Weighting: 20%
• Students will be provided with software requirements or system under discussion for which
they must produce a design for an object-oriented solution. This design must be described
using UML diagrams.
• This is an individual assignment.
Assignment 2: Software Architecture Assignment
• Due: Week 8
• Weighting: 45%
• This assignment requires students to analyse a problem, design a solution, and implement
it in an object-oriented programming language.
• This is a team work.
Assignment 3: Extending Assignment 2

• Due: Week 12
• Weighting: 35%
• The third assignment will build on the second assignment.
• The ease with which the initial design can be extended for assignment 3 will depend on
appropriate use of architecture and design knowledge/principles presented in this unit.
• This is a team work.
Extensions and Contributions
• Extensions
• If you believe that your assignment will be delayed because of circumstances beyond your control, you
must apply for an extension before the due date.
• Medical certificates or certification supporting your application may be required.
• Extensions should be applied online at the following link
• https://forms.monash.edu/special-consideration

• Contributions to team work


• Team work will be partially assessed by interview. All team members will be required to be able to
demonstrate understanding of all parts of the team’s submission during the interviews.
• If a team is having interpersonal problems and is unable to resolve them themselves:
• The team must approach the lecturer to assist in resolving the problem as soon as it arises.
• A claim that a student did not contribute his or her fair share will not be considered if it is made just
prior to the submission of the assignment, or after submission.
Consultations

• Consultation times will be announced on the Moodle page.


• Preference will be given to students who make appointments.
• In high demand, preference will be given to the students who did not have an appointment
in the previous weeks.
PROTOCOLS
Questions
• Ask
• Ask Early
• Ask during lectures, workshops (preferable) and consultations (highly recommended).
• Ask via emails (encouraged).
• For Malaysian and South African students contact your respective lecturers or tutors (if
any).
Emails
• Always put FIT3077-S1-2021 at the beginning of the email subject
• For example FIT3077-S1-2021-Workshop Swap
• No subject emails will be ignored….
• Use your official Monash email to contact.
• Use your full name not nicknames (at the end of the text)
• Be polite
• Don’t be offensive.
• The teaching staff will be regularly sending emails so check regularly.
• I didn’t check my email
• Oh! it went into spam/junk…
Forums
• Use Moodle discussion forums (encouraged).
• Use it for learning, discussion and asking questions.
• Teaching staff will regularly make announcements on forum
• Check regularly.
• Follow E-Etiquettes.
• If you have issues don’t put them on forums
• Contact teaching staff.
Issues
• For all sorts of issues, confusions etc the first person to contact is your tutor.
• If it is not resolved there, you contact the Admin Tutor, i.e. Norman Chen (for Clayton
Campus).
• If necessary, he will involve the Lecturer and the Chief Examiner of the Unit.
RESOURCES
MOODLE

• The unit web site can be found on Moodle, which contains


• Lecture slides
• Assignment specifications
• Resources and links relevant to the unit
• Discussion Forum
• You should check it regularly.
Recommended Readings
• There is no set text book for this unit.
• The following books cover some of the basic background for material in the unit (available
@ lib.monash.edu):
• Bass L., Clements P. and Kazman R. Software Architecture in Practice, Addison-Wesley, 2nd ed., 2003.
• Kuchana P. Software Architecture Design Patterns in Java, Auerbach publications, 2004
• Larman C. Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and
Iterative Development, 3rd ed., 2004.
• Fowler M. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley,
3rd ed., 2004.
• Fowler M. and Beck K. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2002.
• Richards M. Software Architecture Patterns, O'Reilly Media, 2015.
• In most weeks, there will be links given to specific readings on Moodle.
• Many will be articles or chapters rather than books.

You might also like