Skip to the content | Change text size
PDF unit guide

FIT2005 Software analysis, design and architecture - Semester 2, 2014

This unit examines object-oriented systems modelling/design in greater depth than the prerequisite unit. The key disciplines of the Unified Process will be examined to set a context for analysis and design. Students will learn about static and dynamic modelling, and component-based design, using UML. Some common design patterns will be studied. Some topics about software architecture are examined.
The unit prepares students to be able to design large systems such as will be implemented in their final year project unit or after graduation.

Mode of Delivery

  • Gippsland (Off-campus)
  • South Africa (Day)

Workload Requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • One 2-hour lecture
  • One 2-hour laboratory

(b.) Study schedule for off-campus students:

  • Off-campus students generally do not attend lecture and tutorial sessions, however should plan to spend equivalent time working through the relevant resources and participating in discussion groups each week. Additionally, recordings of on-campus sessions may be available.

(c.) Additional requirements (all students):

  • a minimum of 8 hours of independent study in some weeks for completing lab and project work, private study and revision.

Additional workload requirements

Note: You must have completed all readings set for that week prior to attending the classes.

Unit Relationships

Prohibitions

GCO2813, GCO2816, GCO9806

Prerequisites

(One of FIT1040 or FIT1002) and FIT2001

Chief Examiner

Campus Lecturer

Gippsland

Dengsheng Zhang

South Africa

Sheelagh Walton

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through the Student Evaluation of Teaching and Units (SETU) survey. The University’s student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash’s educational strategy, see:

www.monash.edu.au/about/monash-directions/ and on student evaluations, see: www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this Unit

In response to past feedback, changes that were made in past semesters that are being retained for the current semester include: making available recordings of the on-campus lectures from Gippsland, and reconception of the requirements of assessments.

A particular change that has been made for this semester is the integration of a further worked example into the study materials. In the Study Guides in particular there will be examples which will directly illustrate the expectations of the assignment criteria.

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Academic Overview

Learning Outcomes

At the completion of this unit students will:
  • understand object-oriented concepts such as: association, aggregation and composition; polymorphism and generalisation; messaging and object interaction, state and lifespan of objects; encapsulation, connascence, domains, encumbrance, cohesion, coupling;
  • know the finer details of syntax and semantics of the Unified Modelling Language with respect to modelling class diagrams, interaction diagrams, state machine diagrams, package diagrams, activity diagrams, deployment diagrams, timing diagrams, interface and component diagrams;
  • be able to consider advanced topics in relation to use cases and specifications when analysing a system;
  • understand the role of software architecture, and be able to employ several common architectural such as tiered computing, client/server, pipes and filters, P2P, Layered implementation, publisher/subscriber, to design systems;
  • understand the role of patterns and pattern languages in designing systems, and be familiar with a range of structural, creational and behavioural patterns;
  • be able to apply theoretical concepts and techniques for problem solving, to design complete software systems in a range of settings;
  • be able to justify system design decisions with reference to a models quality, limitations, scope for future extension, and to theoretical concepts;
  • utilise IT practitioner tools to support the process and documentation of systems design;
  • be able to communicate the design of a system through electronic documents including UML models, other diagrams, and supporting text;
  • have an awareness of the process by which object-oriented system analysis and design is performed using a framework such as the Unified Process.

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Topic 1: Introducing UML and UP  
2 Topic 2: Requirements and Use Case Modelling  
3 Topic 3: Modelling Software Internals: Static-Structure  
4 Topic 4: Modelling Software Internals: Object Interactions  
5 Topic 5: Inheritance and Polymorphism Assignment 1 due
6 Topic 6: State Space, Events and Behaviour  
7 Topic 7: State Machine Diagrams  
8 Topic 8: Class Design and Patterns  
9 Topic 9: Software Architecture & Architectural Styles Assignment 2 due
10 Topic 10: Distributed Systems and Services  
11 Topic 11: Archetypes and Archetype Patterns  
12 TBA Assignment 3 due
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your learning system.

Teaching Approach

  • Lecture and tutorials or problem classes
    This teaching and learning approach provides facilitated learning, practical exploration and peer learning

    On-campus classes involve weekly lecture and tutorial classes. Off-campus students also follow lecture notes and tutorial notes as scheduled for on-campus students. The purpose of lectures or lecture notes is to discuss and demonstrate concepts, through giving some examples and discussing how the concepts relate to the examples. The purpose of tutorials is for you to gain practice and experience in applying the new concepts to different cases than were used in the lectures, and this should prepare you to be able to achieve the assignment work.
  • Problem-based learning
    Aspects of assignments, and some of the tutorial tasks, are based on case studies/problems so as to situate the learning in a mock-up of real-world analysis and design situations, in a more controlled environment.

Assessment Summary

Examination (3 hours): 60%; In-semester assessment: 40%

Assessment Task Value Due Date
Assignment 1 - Use Cases and Class Models 14% Week 5
Assignment 2 - Object-Interaction and Life-Cycle Design Tasks 13% Week 9
Assignment 3 - Software Architecture and Distributed Systems Tasks 13% Week 12
Examination 1 60% To be advised

Assessment Requirements

Assessment Policy

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    Assignment 1 - Use Cases and Class Models
    Description:
    The assignment is aimed at letting you demonstrate your learning for objectives arising primarily from modules 2 and 3. You will be required to specify several detailed use cases, and identify appropriate classes, for a given situation.

    This assignment is to be done individually (not in a group).
    Weighting:
    14%
    Criteria for assessment:

    A detailed set of marking criteria including explanation of its meaning, will be provided with the assignment specification. As a guide, these are a broad description of the criteria:

    1. Ability to identify appropriate content for specifying the detail of a set of use cases.
    2. Ability to identify appropriate classes to meet the information recording needs of the system.
    3. Ability to correctly use a range of notations and document templates to express the system specification.
    Due date:
    Week 5
  • Assessment task 2
    Title:
    Assignment 2 - Object-Interaction and Life-Cycle Design Tasks
    Description:
    This assignment asks you to complete tasks which will allow you to demonstrate your abilities with regards to the skills and understanding presented primarily in modules 4 through 7, in particular: design of object interaction sequences; and development of state machines of object classes.

    This assignment is to be done individually (not in a group).
    Weighting:
    13%
    Criteria for assessment:

    A detailed set of marking criteria including explanation of its meaning, will be provided with the assignment specification. As a guide, these are a broad description of the criteria:

    1. Ability to perform the required activities involved in developing object interaction models and object lifecycle models.
    2. The degree to which the needs of the problem are met by the final work.
    3. Ability to correctly use the range of notations taught, to express the final work.
    4. Ability to ensure consistency between different models of parts of a system.
    5. Ability to apply problem solving techniques to develop a system's design.
    Due date:
    Week 9
  • Assessment task 3
    Title:
    Assignment 3 - Software Architecture and Distributed Systems Tasks
    Description:
    This assignment asks you to complete tasks which will allow you to demonstrate your abilities with regards to the skills and understanding presented primarily in modules 8 through 11, in particular: consideration of the architecture of software systems; issues around distributed and component-based systems; and applicability of cloud computing techniques to developing computer systems.

    This assignment is to be done individually (not in a group).
    Weighting:
    13%
    Criteria for assessment:

    A detailed set of marking criteria including explanation of its meaning, will be provided with the assignment specification. As a guide, these are a broad description of the possible criteria:

    1. Ability to appropriately consider architectural issues for a system from a range of different viewpoints and perspectives in proposing possible issues to be addressed by the system’s architecture.
    2. Ability to express a software architecture using graphical notations and supporting textual documentation.
    3. Ability to research current trends in systems development, particularly in relation to cloud based architectures.
    4. Ability to argue a point convincingly with supporting evidence/reasons.
    Due date:
    Week 12

Examinations

  • Examination 1
    Weighting:
    60%
    Length:
    3 hours
    Type (open/closed book):
    Closed book
    Hurdle requirements:
    In accordance with faculty policy, you must achieve at least 40% of the available exam marks to be eligible to pass the unit.
    Electronic devices allowed in the exam:
    None

Learning resources

Reading list

A range of extracts from books that are required to be read during the semester have been scanned by the Library and are accessible from the following web page:

http://readinglists.lib.monash.edu/units/fit2005.html

Note: These readings will not be available once the official exam period has concluded.

Monash Library Unit Reading List (if applicable to the unit)
http://readinglists.lib.monash.edu/index.html

Faculty of Information Technology Style Guide

Feedback to you

Examination/other end-of-semester assessment feedback may take the form of feedback classes, provision of sample answers or other group feedback after official results have been published. Please check with your lecturer on the feedback provided and take advantage of this prior to requesting individual consultations with staff. If your unit has an examination, you may request to view your examination script booklet, see http://intranet.monash.edu.au/infotech/resources/students/procedures/request-to-view-exam-scripts.html

Types of feedback you can expect to receive in this unit are:

  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Solutions to tutes, labs and assignments
  • Other: Responses to postings made in the discussion forums

Extensions and penalties

Returning assignments

Resubmission of assignments

Assignments may only be submitted once for assessment purposes.

Referencing requirements

If citing from a book, you should put the name of the book in quotes, followed by the name of the Primary Author, followed by the year of publication, and the name of the publisher, and state the page number(s) which contained the information being referenced, for example:

"UML 2 And the Unified Process", J. Arlow, 2005, Addison-Wesley, p. 305

For a web-based resource, instead of the publisher you should put the URL of the web page; and instead of the year you should put the "date accessed", for example:

"Council Plan 2012-2016", Latrobe City Council, accessed 1 July 2012, http://www.latrobe.vic.gov.au/WebFiles/Council%20Documents/Council%20Plan/Council%20Plan%202012-2016.pdf

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/student-academic-integrity-managing-plagiarism-collusion-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz). Please note that it is your responsibility to retain copies of your assessments.

Online submission

If Electronic Submission has been approved for your unit, please submit your work via Moodle.

Recommended Resources

Software to generate UML diagrams such as Visual Paradigm for UML Standard Edition. License details will be available in Moodle.


Visual Paradigm Academic Partner Program provides Monash University with the use of VP for educational purpose.

Recommended text(s)

Jim Arlow and Ila Neustadt. (2005). UML 2 and the Unified Process. (2nd Edition) Addison Wesley / Pearson Education (ISBN: 0-321-32127-8).

Examination material or equipment

Pens, or pencils and erasers.

Other Information

Policies

Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and to provide advice on how they might uphold them. You can find Monash’s Education Policies at: www.policy.monash.edu.au/policy-bank/academic/education/index.html

Key educational policies include:

Faculty resources and policies

Important student resources including Faculty policies are located at http://intranet.monash.edu.au/infotech/resources/students/

Graduate Attributes Policy

Student Charter

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.

Other

Study Resources

Resources we will provide for your study are:

  • This Unit Information Guide outlining the administrative information for the unit
  • Weekly Study Guide modules, which include detailed objectives for each week's learning
  • Weekly lecture slides used during lectures
  • Weekly tutorial tasks and solutions
  • Assignment specifications
  • Links to additional electronic resources (such as scanned readings)
  • Discussion forums
  • The FIT2005 web site on Moodle, where most of the above resources can be located
  • Lectures from some campuses are recorded and available for access at http://mulo.monash.edu