School of Information Technologies Unit COMP5028 Object Oriented Analysis and Design 6 Credit Points Unit of Study Outline & Assessment Details Second Semester, 2008 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 3 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: • 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 does not have assessment with heavy coding task. But some knowledge on object-oriented programming would have big impact on learning experience. 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 in 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 1 OOA concepts (online WebCT quiz) Week 4 15 Quiz 2 OOA practice (open book lab quiz) Week 6 10 Quiz 3 OOD concepts (online WebCT quiz) Week 9 15 Quiz 4 OOD practice (open book lab quiz) Week 12 10 Written examination – open book Exam Week 50 It is a policy of the School of Information Technologies that in order to pass this unit, a student must achieve 4 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 Quizzes The quizzes are scheduled on week 4, 6, 9 and 12. There are two online quizzes and two lab quizzes. Quiz 1 tests students’ understanding of key object-oriented analysis concepts. It also includes questions regarding general software development methodology. It is available online during week 4 and students have one week’s time to attempt it. Quiz 2 tests students’ ability to analyze a real world information system problem and document it as domain model. It is held in the week 6 lab time. It is an open book quiz. Quiz 3 tests students’ understanding of design principles and design patterns. It is available online during week 9 and the semester break. Quiz 4 tests students ability to apply design principles and patterns in real world problem. It is held in week 12 lab time. It is an open book quiz. 6.2 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 OPEN 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 Mon July 28 6pm Introduction, course overview No lab 2 Mon August 4 6pm Use Case Modelling Requirement workshop 5 3 Mon August 11 6pm Domain Modelling Domain modelling I 4 Mon August 18 6pm Domain Modelling II Quiz 1 Domain modelling II 5 Mon August 25 6pm UML diagrams UML practice 6 Mon September 1 6pm GRASP patterns /Mapping design to code Quiz 2 7 Mon September 8 6pm GoF patterns I Inheritance vs. Delegation 8 Mon September 15 6pm GoF pattern II Design pattern practice I 9 Mon September 22 6pm GoF Pattern III Quiz 3 Design pattern practice II Semester Break (September 29-October 3 week) 10 Mon October 6 6pm Labour day (no lecture and lab) 11 Mon October 13 6pm GoF Pattern IV Design pattern practice III 12 Mon October 20 6pm Design persistence framework Quiz 4 13 Mon October 27 6pm Course Revision No tutorial