School of Information Technologies Unit COMP5028 Object Oriented Analysis and Design 6 Credit Points Unit of Study Outline & Assessment Details Second Semester, 2007 CourseOutline.doc 2 IMPORTANT: Policy relating to Academic Dishonesty and Plagiarism. The School of Information Technologies1 views all forms of academic dishonesty, including plagiarism and recycling, very seriously. Plagiarism means presenting another person’s ideas, findings or work as one’s own by copying or reproducing them without due acknowledgement of the source. Recycling means the submission for assessment of one’s own work, or of work which is substantially the same, which has previously been counted towards the satisfactory completion of another unit of study, and credited towards a university degree, and where the examiner has not been informed that the student has already received credit for that work. Students who submit work containing significant portions that have been copied from other sources, including published works, the internet, existing programs, work previously submitted for other awards or assessments, or the work of other students, without proper acknowledgement will be penalised. Decisions as to the penalty may include: (a) counselling the student; (b) issuing a written warning; (c) requiring the student to resubmit the work for assessment; or to undertake other remedial work; (d) requiring the student to undertake another form of assessment in lieu of the assignment in question, such as an unseen examination; (e) applying a fail grade to the work, or part thereof, submitted for assessment; (f) applying a fail grade overall in the unit of study; or (g) referring the matter to the Registrar if the head of school considers there has been a breach of the University’s standards of academic honesty and the student continues in a denial, or, following the interview, the head of school considers that failing the unit of study is insufficient to deal with the matter. Where there is doubt about which portions of work are contributed by a particular student he/she may be required to demonstrate knowledge of the relevant material by answering oral questions or by undertaking supplementary work, either written or in the laboratory, in order to arrive at the final assessment mark. 1 Refer to Academic Board policy: http://www.usyd.edu.au/senate/policies/Plagiarism.pdf COMP5028 Object Oriented Analysis and Design 1. Introduction This unit covers the essential skills of object-oriented analysis and design including use case modelling, domain modelling, design patterns, object relational mapping, etc. It emphases the ever changing nature of software requirements and key analysis and design techniques to identify and handle those changes. Unified Modelling Language (UML) is introduced as a standard way of expressing and documenting the results of both analysis and design. The objectives are to ensure that on completion of this unit, students will be able to analyze a real world system development problem, to convert the analysis result to an efficient, resilient design by applying various design principles and patterns, and to implement that design. Students are expected to have sufficient Java or C# knowledge to ensure success in this course. 2. Objectives Students who successfully complete this unit will be able to: 3 • Understand how to analyze a problem based upon requirements. • Construct one or more models of the problem space and express the results of analysis in proper UML diagrams. • Transform the domain-model from your analysis into an effective object-oriented design. • Understand the principles of quality object-oriented design and apply them through out the design stage • Deeply understand how and when to use original GoF design patterns. Students enrolled in COMP5028 are assumed to have elementary Java programming experience or equivalent experience in another object oriented programming language. This unit will not place a great emphasis on code development but coding will be a necessary task. 3. Unit of Study Delivery Two lectures and one computer based laboratory will be given each week. In the laboratory students will be able to design and construct various UML diagrams, and implement them into Java code. 4. Expectations 1. Students are expected to attend all scheduled lectures, and laboratory classes. You should expect to spend a MINIMUM OF TWELVE HOURS per week including scheduled lectures and laboratory times. 2. Students are expected to undertake prescribed reading, in most cases book chapters, BEFORE the lecture. 3. Students are expected to carry out exercises and laboratory tasks and to submit selected work for assessment as directed. It should be realised that laboratory exercises are expected to take LONGER than just the time scheduled for classes. 4. Students are expected to be able to work independently and to make effective use of a range of resources including the library, the Internet and relevant on-line help facilities. 5. Assessment Package The unit will be assessed by means of the following components: Component Due on % of Final Grade Quiz Week 5 20 Assignment Week 12 20 Written examination – closed book Exam Week 60 It is a policy of the School of Information Technologies that in order to pass this unit, a student must achieve at least 40% in the written examination as well as in the other components of assessment together. Late assignment: In the interests of fairness to all students, the School of Information Technologies policy states that late work cannot be accepted. In exceptional cases late assignment must be submitted directly to the unit of study coordinator accompanied by an application for Special Consideration as outlined on page 6 of the School of Information Technologies Postgraduate Enrolment Guide. Quiz miss: All students are expected to sit in the quiz for scheduled time. There is no supplementary quiz. In exceptional cases, a student must submit special consideration to the unit of study coordinator for mark redistribution. Students are expected to check their progressive results regularly. Results will be published through webCT. Any errors or omissions must be reported to the unit coordinator, with appropriate evidence, within ten (10) days of being published. Ten days after being published, marks are considered to have been confirmed and will not subsequently be altered. 6. Details of Assessment Components 6.1 Quiz The quiz is scheduled on week 5. It is an OPEN book one hour quiz. The purpose is to assess students’ knowledge on object oriented analysis for a software development problem. The quiz consists of a few system analysis related questions. 4 6.2 Assignment The assignment is focused on design patterns. Students are asked to develop a small system using some design patterns. The assignment is due at the beginning of the lab in week 12. 6.3 Written Examination The written examination covers all aspects of the unit of study. It tests the candidates’ ability to discuss issues critically and to apply them to specific practical situations. The exam is CLOSED book. 7. Teaching team Room Email Dr Ying ZHOU (coordinator) SIT 437 zhouy@it.usyd.edu.au 8. Textbook and Readings Recommended textbook Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Developments, 3rd edition, Prentice Hall PTR, 2005 Reference books: Martin Fowler, UML Distilled, 3rd edition, Addison-Wesley, 2004 Robert C. Martin, Agile Software Development: Principles, Patterns and Practices, Prentice Hall, 2003 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Addison-Wesley, 1995 Allan Shalloway ,James R. Trott Design patterns explained: A new perspective on Object-Oriented Design, 2nd edition, Addison-Wesley, 2005. Eric Freeman, Elisabeth Freeman, Kathy Sierra and Bert Bates, Head First Design Patterns, O'Reilly, 2004 9. Course Work and Assessment Schedule Week Commencing Time Topic Assessment Laboratory 1 Wed July 25 6pm Introduction, course overview No lab 2 Wed August 1 6pm Use Case Modelling Requirement workshop 3 Wed August 8 6pm Domain Modelling Domain modelling I 4 Wed August 15 6pm Domain Modelling II Domain modelling II 5 Wed August 22 6pm UML diagrams Quiz Quiz 6 Wed August 29 6pm GRASP patterns /Mapping design to code UML practice 7 Wed September 5 6 GoF patterns I Inheritance vs. Delegation 8 Wed September 12 6pm GoF pattern II Design pattern practice I 9 Wed September 19 6pm Gof Pattern III Design pattern practice II 10 Wed October 3 6pm Design persistence framework Design pattern practice III 11 Wed October 10 6pm Design persistence framework Design pattern practice IV 12 Wed October 17 6pm Assignment Demo Assignment Assignment Demo 13 Wed October 24 6pm Course Revision No tutorial 5 9.1 Workload Expectations 2006 Workload Expectations Component % Work expected (hours) Teaching Week 1 2 3 4 5 6 7 8 9 break 10 11 12 13Rev Hours Lectures 2 2 2 2 2 2 2 2 2 2 2 2 2 26 Tutorial/Lab classes 1 1 1 1 1 1 1 1 1 1 10 Quiz 20 3 3 6 1 13 Assignment 20 3 3 3 6 6 21 Directed reading/preparation 10 6 6 3 9 9 9 6 6 9 3 3 3 82 Final examination preparation 6 10 12 28 Final examination 60 Total 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 180 Note: where a cell is shaded in grey an assessment is due in the corresponding week.