[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
Monash University

FIT2005 Systems analysis and design 2 - Semester 2, 2010

Chief Examiner:

Mr Shane Moore
Lecturer
Phone: +61 3 990 26716

Lecturer(s) / Leader(s):

Gippsland

Mr Shane Moore
Lecturer
Phone: +61 3 990 26716

South Africa

Mr Abraham Van Der Vyver
Senior Lecturer
Phone: +27 11 950 4039

Additional communication information:

Unless you have personal enquiries (see below) all communication related to the content of the unit must be via the online Discussion Forums. If you do send the lecturer an email that relates to the content of the unit it may not be answered, or you may be redirected to the forum.

Personal enquiries include requests for assignment extensions (where warranted by circumstances), special consideration requests, or the need to discuss your personal progress. You are certainly not asked to put anything of a personal nature into your forum postings. Personal matters can also be dealt with by telephone.

On-campus students, and off-campus students who live or work near a campus, may also visit the lecturer at their office.

Note: The staff may contact you during the semester, by sending an email to your @student.monash.edu address. You are therefore expected to either check that email regularly (at least twice a week), or have it redirect mail to an address which you are going to check regularly. Any email purporting to be from a student but which does not come from your Monash email address is allowed to be ignored by the staff member, as the sending of a reply to an address which is not actually yours could be a violation of the Privacy provisions of legislation.

Introduction

Welcome to FIT2005 Systems Analysis & Design 2 for semester 2, 2010. This 6 point unit is designed to let you learn the deeper aspects of software modeling and design using UML. The pre-requisite (FIT2001) introduced you to the concepts of analysis and design and provided some background to the concepts which we examine in more detail in this unit. There is also an emphasis on theoretical object-oriented design concepts. By the end of this unit you should be well prepared to design large and complex software systems (such as could be required for your final year software development project).

You are expected to have completed FIT2001, and hopefully you will have successfully completed FIT1002, otherwise you may find this a very difficult unit to understand. 

Unit synopsis

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.

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 behavioral 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.

Contact hours

2 hrs lectures/wk, 2 hrs laboratories/wk

Workload

This is a 6 point unit. At Monash, this means that an average student is expected to spend approximately 12 hours per week, all semester, giving attention to this unit. If you do not spend that much time, you will probably not do so well in this unit as you otherwise might.

For on campus students, workload commitments are:

  • a weekly two-hour lecture/workshop session, in which concepts will be presented or demonstrated
  • a weekly two-hour tutorial session, in which you will be required to perform problem solving activities and discuss ideas relating to the topics studied. Note: You must have completed all readings set for that week prior to attending the class.
  • a minimum of 2 hours of private/personal study in order to satisfy the reading and assignment expectations.

For Off-campus students: You generally do not attend lecture and tutorial sessions (but are allowed to if you are near a campus), however, you should plan to spend equivalent time working through the relevant resources and participating in discussion groups each week. Suggested times are listed at the front of each module of the unit study guide.

All students will need to allocate time each week (up to 5 hours per week in some weeks), for use of a computer, including time for reading online discussion forums, or doing assignment work.

Note: Assignment tasks are designed to be relatively straightforward for people who have properly engaged in attempting the weekly readings and tutorial exercises.

All Students should familiarise themselves with the document "Student Rights and Responsibilities (Information Technology)" available at http://www.infotech.monash.edu.au/about/committees-groups/facboard/policies/studrights.html

Unit relationships

Prerequisites

FIT2001 or equivalent

Co-requisites

FIT1002 or equivalent

Prohibitions

GCO2813, GCO2816, GCO9806

Teaching and learning method

Teaching approach

The curriculum is defined by what is covered in the Study Guide modules for each week. All students are expected to work through the study guide modules in preparation for that week's classes.

On campus students will have two classes per week: a lecture/workshop session and a tutorial session. The purpose of the first is to discuss the concepts of that week's curriculum and give examples - therefore you should have done the required reading beforehand. The purpose of the second is to give you an opportunity to apply the concepts by working on small problems, posibly in small groups, so that you can get formative feedback on your progress towards the learning of new concepts and skills.

Assignments are designed to be attempted after you have completed all required readings and pracitcal exercises. They are also likely to be another source of learning, although their primary purpose is for staff to assess how well you have progressed in meeting the learning objectives of the unit.

Discussion forums are provided as a place where you may ask questions about the content of the unit. You should also use these to clarify the work required in your assignments. They are checked at least twice per week, and sometimes even more often than that.

Additionally, there may be some quizzes placed online which will allow you to self-test your understanding on some concepts. Announcements will be made when/if they become available. (These quizzes do not form part of the unit's formal assessment.)

Students should spend approximately 8 hours per week outside of class for personal study every week, including time spent reading, doing exercises, working on assignments and reading the discussion forums.

Timetable information

For information on timetabling for on-campus classes please refer to MUTTS, http://mutts.monash.edu.au/MUTTS/

Tutorial allocation

On-campus students should register for tutorials/laboratories using the Allocate+ system: http://allocate.its.monash.edu.au/

Off-Campus Learning or flexible delivery

Students in Singapore may be able to attend classes at TMC; the purpose of these classes is to discuss the tutorial exercises, it is not meant to be a "lecture", and is not for getting help with assignments.

All off-campus students (including Singapore students) are expected to attempt the weekly exercises. You can share and discuss your attempts online, and if you have queries or problems about your attempts you should post these to the discussion forum.

Unit Schedule

Week Date* Topic Study guide Key dates
1 19/07/10 Introducing UML and UP Module 1  
2 26/07/10 Requirements and Use Case Modeling Module 2  
3 02/08/10 Modeling Static Structure Module 3  
4 09/08/10 Modeling Object Interactions Module 4  
5 16/08/10 Inheritance and Polymorphism Module 5  
6 23/08/10 Designing Classes Module 6 29/8 - Assignment 1 due
7 30/08/10 States and State Machine Diagrams Module 7  
8 06/09/10 Component Based Design Module 8  
9 13/09/10 Patterns Module 9 17/9 - Assignment 2 due
10 20/09/10 Software Architecture & Architectural Styles Module 10  
Mid semester break
11 04/10/10 Archetypes & Archetype Patterns Module 11  
12 11/10/10 Further Topics in Analysis and Design Module 12 17/10 - Assignment 3 due
13 18/10/10 Review All Modules  

*Please note that these dates may only apply to Australian campuses of Monash University. Off-shore students need to check the dates with their unit leader.

Unit Resources

Prescribed text(s) and readings

Prescribed textbook (compulsory to have this book)

Arlow, J. & Neustadt, I. (2005), UML 2 and the Unified Process, 2nd ed., Addison Wesley Professional, 2005. ISBN: 0321321278

Text books are available from the Monash University Book Shops. Availability from other suppliers cannot be assured. The Bookshop orders texts in specifically for this unit. You are advised to purchase or order your text book early.

Recommended text(s) and readings

The following are other books which may be helpful. Some of these are listed in the Study Guide. 

Rumbaugh, J., Jacobson, I. & Booch, G., The Unified Modeling Language Reference Manual, 2nd ed., Addison Wesley Professional, 2005. ISBN: 0321245628

Page-Jones, M., Fundamentals of Object-Oriented Design in UML, Addison Wesley, 2000. ISBN: 20169946X 

Blaha, M. & Rumbaugh, J., Object-Oriented Modeling and Design with UML, 2nd ed., Prentice-Hall, 2005. ISBN: 0131968599

Deacon, J. Object-Oriented Analysis and Design, Addison-Wesley, 2005. ISBN: 0321263170

Booch, G., Rumbaugh, J. & Jacobson, I., The Unified Modeling Language User Guide, 2nd ed., Addison Wesley Professional, 2005. ISBN: 0321267974

Required software and/or hardware

You are not required to have software for this unit, but we suggest that you may want to use Visual Paradigm for UML for which Monash has an academic licence.

Staff will provide assistance only for the above-mentioned software. Off-Campus students have been sent a CD-ROM containing the software. On-campus students have access to the software in the lab rooms, and are able to get a CD-ROM from staff to install it on their personal machines - there is no need for you to download the very large installation file.

Assignment work can be either hand-written (and scanned) or produced by software, the only important aspect is that it is legible to the marker.

Equipment and consumables required or provided

Students studying off-campus are required to have the minimum system configuration specified by the Faculty as a condition of accepting admission, and regular Internet access, in order to maintain communication with the staff.

On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

Study resources

Study resources we will provide for your study are:

  • The Unit Book, consisting of 12 study guide modules (one per week of the semester) - found online
  • A printed Reader containing additional compulsory reading material which supplements material covered by the prescribed textbook.
  • An additional reading available from the Library web site.
  • Weekly tutorial exercises, and sample solutions which are provided several weeks later.
  • Assignment specifications, and sample solutions.
  • Online Discussion Forums
  • This Unit Guide outlining the administrative information for the unit.
  • The unit web site on Moodle, where resources outlined above will be made available
  • Access to a sample exam paper (but not solutions)

Assessment

Overview

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

Faculty assessment policy

To pass a unit which includes an examination as part of the assessment a student must obtain:

  • 40% or more in the unit's examination, and
  • 40% or more in the unit's total non-examination assessment, and
  • an overall unit mark of 50% or more.

If a student does not achieve 40% or more in the unit examination or the unit non-examination total assessment, and the total mark for the unit is greater than 50% then a mark of no greater than 49-N will be recorded for the unit.

Assignment tasks

Assignment coversheets

Assignment coversheets are available via "Student Forms" on the Faculty website: http://www.infotech.monash.edu.au/resources/student/forms/
You MUST submit a completed coversheet with all assignments, ensuring that the plagiarism declaration section is signed.

Assignment submission and return procedures, and assessment criteria will be specified with each assignment.

Assignment submission and preparation requirements will be detailed in each assignment specification. Submission must be made by the due date otherwise penalties will be enforced. You must negotiate any extensions formally with your campus unit leader via the in-semester special consideration process: http://www.infotech.monash.edu.au/resources/student/equity/special-consideration.html.

  • Assignment task 1
    Title:
    Assignment 1
    Description:
    This will be a group assignment. However, students will be assessed on their individual contributions.

    The assignment asks you to complete tasks which allow you to demonstrate your ability to consider a business scenario to identify the requirements of a system, and to develop use cases and an initial class model of the business operational setting. Focuses on objectives arising primarily from modules 2 through 5.
    Weighting:
    14% (1/5 shared by all members of group based on quality of whole work, 4/5 from individual contributions based on demonstrated skill)
    Criteria for assessment:

    A detailed guide to the meaning of marking criteria will be provided with the assignment specification. As a guide, these are the criteria which are likely to be used:

    1. Ability to formulate questions to ask a client organisation
    2. Ability to identify requirements of a system
    3. Ability to classify the requirements of a system as being either functional or non-functional
    4. Ability to identify a set of potential actors for a system
    5. Ability to identify use cases that are required to be supported by the system
    6. Ability to develop detailed use-case descriptions for use cases that are required to be supported by the system
    7. Ability to produce a use-case diagram to summarise a system's possible interactions
    8. Ability to correctly use the notation for Use Case diagrams
    9. Ability to identify a set of classes that are required to represent business information and to support processes
    10. Ability to select appropriate responsibilities to assign to classes
    11. Ability to model the relationships between different classes
    12. Ability to use multiplicities to constrain relationships
    13. Ability to correctly use notation for UML class diagrams
    14. Ability to produce an interaction sequence that realises a use case using analysis classes
    15. Ability to correctly use notation for UML sequence and collaboration diagrams
    16. Ability to work with other people to perform tasks from the early stages of software development
    17. Ability to use a Wiki as a means of documenting results of group work.
    Due date:
    29 August (Week 6)
    Remarks:
    Although there is a due date, students will be required to weekly submit an individual progress report to their lecturer stating what they have done, even if only to say they did nothing. Failure to submit this could lead to the lecturer contacting a student to ascertain their progress in learning.
  • Assignment task 2
    Title:
    Assignment 2
    Description:
    This assignment asks you to complete tasks which will allow you to demonstrate your abilities with regards to the skills and understanding presented in modules 4 through 7, with greater emphasis being placed on the later modules, in particular development of state machines, and development of polymorphic interactions between objects.
    Weighting:
    18%
    Criteria for assessment:

    A detailed guide to the meaning of marking criteria will be provided with the assignment specification. As a guide, these are the criteria which are likely to be used:

    1. Ability to identify classes required to represent information and to support a system's processing
    2. Ability to model relationships between different classes
    3. Ability to employ inheritance techniques to use one class as a basis for further refined classes
    4. Ability to correctly use UML class diagram notation
    5. Ability to design interaction sequences
    6. Ability to employ polymorphism techniques to design behavioral aspects of a system
    7. Ability to use UML sequence diagram notation
    8. Ability to identify the state space of classes
    9. Ability to identify suitable triggering events and preventative guards for state changes
    10. Ability to identify appropriate actions (for transitions) and activities (for states)
    11. Ability to model the life cycle of objects with stateful behavior using transitions
    12. Ability to correctly use UML state machine diagram notations
    13. Ability to ensure consistency between different models of parts of a system
    14. Ability to apply problem solving techniques to develop a system's design
    Due date:
    17 September (Week 9)
  • Assignment task 3
    Title:
    Assignment 3
    Description:
    This assignment asks you to complete tasks which will allow you to demonstrate your abilities with regard to the skills and understanding presented in modules 8 through 10. You will be asked to apply patterns to the design of systems; design a system broken into components; and to discuss issues of software architecture.
    Weighting:
    18%
    Criteria for assessment:

    A detailed guide to the meaning of marking criteria will be provided with the assignment specification. As a guide, these are the criteria which are likely to be used:

    1. Ability to apply patterns in the design of a class model
    2. Ability to apply patterns/idoms in the design of interactions
    3. Ability to design a componentised system using interfaces and ports
    4. Ability to use the UML notation for components
    5. Ability to design XML messages to be sent/received by component-based systems
    6. Ability to discuss the applicability of different architectural styles to a proposed system
    7. Ability to discussed how concerns of different viewpoints and perspectives in the software architecture of a proposed system have been addressed
    Due date:
    17 October (Week 12)

Examination

  • Weighting:
    50%
    Length:
    3 hours
    Type (open/closed book):
    Closed book
    Electronic devices allowed in the exam:
    None
See Appendix for End of semester special consideration / deferred exams process.

Due dates and extensions

Please make every effort to submit work by the due dates. It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are not regarded as appropriate reasons for granting extensions. Students are advised to NOT assume that granting of an extension is a matter of course.

Students requesting an extension for any assessment during semester (eg. Assignments, tests or presentations) are required to submit a Special Consideration application form (in-semester exam/assessment task), along with original copies of supporting documentation, directly to their lecturer within two working days before the assessment submission deadline. Lecturers will provide specific outcomes directly to students via email within 2 working days. The lecturer reserves the right to refuse late applications.

A copy of the email or other written communication of an extension must be attached to the assignment submission.

Refer to the Faculty Special consideration webpage or further details and to access application forms: http://www.infotech.monash.edu.au/resources/student/equity/special-consideration.html

Late assignment

Assignments submitted after the due date will be subject to a penalty of a loss of 5% of total available marks per day late. However, assignments submitted after the cutoff date (usually 1 week later than the due date) will receive no more than 10% for that work.

This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions and comments may also be published and distributed, either after assignment marking or with the returned assignment. 

Return dates

Students can expect assignments to be returned within two weeks of the submission date or after receipt, whichever is later.

Feedback

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

Responses to postings made in the discussion-forums.

Appendix

Please visit the following URL: http://www.infotech.monash.edu.au/units/appendix.html for further information about:

  • Continuous improvement
  • Unit evaluations
  • Communication, participation and feedback
  • Library access
  • Monash University Studies Online (MUSO)
  • Plagiarism, cheating and collusion
  • Register of counselling about plagiarism
  • Non-discriminatory language
  • Students with disability
  • End of semester special consideration / deferred exams
[an error occurred while processing this directive]