Object-oriented Software Development CT5005 Vicky Bush Module Guide - September 2012 Faculty of Media, Arts and Technology University of Gloucestershire Table of Contents Introduction .................................................................................................. 2 PDP statement .............................................................................................. 2 Resources ..................................................................................................... 2 Teaching & learning approach .................................................................... 3 Module Tutors .............................................................................................. 3 Scheme of work ............................................................................................ 4 Assessment 1 ............................................................................................... 6 Assessment 2 ............................................................................................... 8 Large print copies of this booklet can be provided on request. We can also arrange production of braille or audio versions. Please email disability@glos.ac.uk if you have any special requirements that you would like to discuss. Module Guide CT5005 – Object-oriented Software Development Introduction The module affords the opportunity to give students an understanding of the object-oriented programming paradigm in the context of developing software that is well specified, designed and tested. Students will be exposed to a variety of notations at different stages of the development process. By the end of the module, students should be able to: 1. Have detailed knowledge of the software development lifecycle. 2. Exercise the specialised knowledge, skill and judgement needed to develop complex software by formulating relevant responses at each stage of the software development life-cycle, from analysis of a formally specified problem statement with respect to its accuracy and completeness, to effective testing of the software product. 3. Produce appropriate documentation accurately and to a professional standard 4. Analyse and evaluate an algorithm's need for resources 5. Reflect on a software solution and compare and evaluate alternative designs based on the relative relevance and significance of evidence collected. PDP statement Students should, by the end of the module, achieve a high level of understanding of objectoriented software development and be confident in the application of a range of tools and techniques. In addition they will gain a broad knowledge of the philosophies within the subject area and have a variety of material suitable for inclusion in a Personal Development Portfolio. This will be useful when applying for placement positions after the end of level 5. Resources Essential Text Charatan, Q, Kans, A. (2009) Java in Two Semesters, (3rd ed.), McGraw-Hill Lightfoot, D. (2000), Formal Specification using Z, (2nd ed.) Macmillan Press Ltd. Supplementary Reading Lunn, K. (2003) Software Development with UML, Palgrave Priestley, M. (2003) Practical Object-Oriented Design with UML, (2nd edition) McGraw-Hill Sommerville, I. (2011), Software Engineering (9th ed.), Addison-Wesley Program development environment e.g. The Java Development Kit and jEdit or Eclipse CASE tool e.g. StarUML The module will be supported by a Moodle web site http://moodle.glos.ac.uk. This site contains tutorial information, lecture notes, reading list and showcase material. In addition there are countless online tutorials available to help with specific software and techniques CT5005 module guide Page 2 of 8 Module Guide CT5005 – Object-oriented Software Development Teaching & learning approach 1 hour lecture followed by a 2 hour lab session. You are required to undertake at least 7 hours of independent study per week. Note that completing the set independent study tasks will develop your understanding and will more likely result in a much higher overall mark at the end of the module. There are two assessments for this module weighted at 50% each. Students need to attain an average of 40% across both assessments to pass the module. The tutors will provide help and support on the assignments during the timetabled lab sessions. All students are entitled to both formative and summative feedback during the module. Formative feedback is designed to enable you to improve your work/performance and takes many forms. Students will have several opportunities to receive feedback on their progress, e.g. during lab sessions, tutorials or seminars; as part of general feedback in lectures; and where appropriate, one to one sessions with their Academic Review Tutors. Summative feedback is received when your submitted coursework has been marked. As a minimum this will comprise constructive comments from the tutor and a final grade. You are advised not to leave assignments to the last minute. Module Tutors *Vicky Bush Park LC115a Ext 4255 vbush@glos.ac.uk Ambikesh Jayal Park LC115 Ext 4254 ajayal@glos.ac.uk David Wakeling Park LC118 Ext 4267 dwakeling@glos.ac.uk *module leader CT5005 module guide Page 3 of 8 Module Guide CT5005 – Object-oriented Software Development Scheme of work Day: Mondays Lectures, Tutorials and practicals: 10.15 to 13.15 in LC201 Semester 1 Week Date Lecture Topic 1 Introduction to module 24 Sep Revision of simple Java (Jin2Sem۲ Chs 1 - 6) 2 1 Oct UML class notation, classes in Java (Jin2Sem Ch 7) 3 8 Oct UML class notation, inheritance in Java (Jin2Sem Ch 8) 4 15 Oct Case study part 1 (Jin2Sem Ch 11) 5 22 Oct Software Engineering (Jin2Sem Ch 9 +) 6 29 Oct The software development lifecycle; 7 05 Nov CO270 Reading Week 8 12 Nov Exception handling (Jin2Sem Ch 15) 9 19 Nov File handling (Jin2Sem Ch 20) 10 26 Nov UML design notation for abstract classes and interfaces; Java implementation (Jin2Sem Ch 14) 11 03 Dec Graphics and Event driven programming (Jin2Sem Ch 10) 12 10 Dec Case study part 2 (Jin2Sem Ch 12) CT5005 module guide Page 4 of 8 Module Guide CT5005 – Object-oriented Software Development Semester 2 Week Date Lecture Topic 17 14 Jan Recap of module and object-oriented programming paradigm 18 21 Jan Specification: Z Notation – specifying a simple system 19 28 Jan Specification: Schemas in Z 20 4 Feb Design using UML Use case; pre and post conditions 21 11 Feb Matching testing to requirements and specification; 22 18 Feb Tools to support software engineering; testing using asserts 23 25 Feb Implementation: Java collections framework (Jin2Sem Ch 17) 24 4 Mar Algorithm Analysis 25 11 Mar Reading week 26 18 Mar More algorithms – lists and trees 27-29 Easter break 30 15 Apr Sorting and Searching 31 22 Apr Revision session (۲Jin2Sem refers to Java in Two Semesters referenced in Recommended Resources) CT5005 module guide Page 5 of 8 Module Guide CT5005 – Object-oriented Software Development Assessment 1 Assessment Specification 1. Module code and title CT5005 Object-oriented Software Development 2. Module tutor Vicky Bush 3. Tutor with responsibility for this Assessment This is your first point of contact. 4. Assignment 001: 50% Coursework: Portfolio (2000 words or equivalent). You will be penalised according to the Academic Regulations for Taught Provision if you exceed the size limit. 5. Submission deadline Your attention is drawn to the penalties for late submission; see Undergraduate Modular Handbook. Wednesday 16th January 2013 Your attention is drawn to the penalties for late submission; see Academic Regulations for Taught Provision. 6. Arrangements for submission Park Assignment Room 7. Date and location for return of work Written feedback and provisional mark will be within 20 working days of submission i.e. on or before 13th February 2013. Alternative assessment arrangements may be made, where appropriate, for students with disabilities. However, these will only be implemented upon the advice of the Disability Advisor. Students wishing to be considered for alternative assessment arrangements must give notification of the disability (with evidence) to the Disability Advisor by the published deadlines. All assessments are subject to the Academic Regulations for Taught Provision. These include regulations relating to Errors of Attribution and Assessment Offences. In exercising their judgement, Examiners may penalise any work where the standard of English, numeracy or presentation adversely affects the quality of the work, or where the work submitted exceeds the published size or time limits, or where the work fails to follow normal academic conventions for acknowledging sources. 8. Students with Disabilities 9. University Regulations for Assessment CT5005 module guide Page 6 of 8 Module Guide CT5005 – Object-oriented Software Development 10. The requirements for assessment 1 It consists of a portfolio of work in semester 1 in two parts: a) A series of short practical lab exercises worth 25%. They will be issued weekly from weeks 1 to 6. b) Development of a small software system worth 25%. Propose, develop and test a software system. Outline the requirements of the system as a proposal (approximately 150 words). Submit this proposal as a Word document for approval by a tutor before week 8 to make sure that it is not too ambitious and can be completed within the assessment timeframe. We encourage you to propose a software system that interests you. However you could choose one of the following. i. A game, possibly involving the becker robot system ii. A quiz. iii. A University degree calculator system. You need to demonstrate understanding and application of at least the first two concepts below and the other four as appropriate. Concepts: 1. 2. 3. 4. 5. 6. Inheritance UML design notation Swing GUI Event handling Exception handling File handling Submit a printed report containing the requirements, a UML class diagram of the design, a table of test-cases, expected and actual results, and screen shots of the running system (or of any error messages). You should attach a soft copy of the software code for the system and test-harness or other evidence of repeatable testing. 11. Special instructions You will normally have two weeks from the issue of a worksheet to get it marked. The worksheets will be marked in the labs and formative feedback given then. Available marks will be indicated on each worksheet. Please retain all your marked worksheets for handing in the completed portfolio. You are advised to keep your own copy of the assessment. 12. Assessment 1 criteria Assesses learning outcomes (1) (2) except formal methods, (3) and (5) The assessment criteria for each worksheet will be given on the worksheet. These are short exercises to test knowledge, comprehension and application. The assessment criteria for the software system are given below. CT5005 module guide Page 7 of 8 Module Guide CT5005 – Object-oriented Software Development Grade Content To achieve <30 System not working; no appreciable effort to implement or test requirements. To achieve <40 and >=30 Reasonable and recoverable attempt to implement the requirements; demonstrates application of concepts 1 and 2; attempt at using one other concept; identification of test cases. To achieve 40+ Working system partially implements the requirements, demonstrates appropriate application of concepts 1 and 2, attempt at using one other concept; identification of sensible test cases related to some requirements;. To achieve 50+ System works mainly as per the requirements, demonstrates appropriate application of first 2 concepts; appropriate application of one other concept; identification of sensible test cases related to some requirements; attempt at developing a repeatable testing framework. To achieve 60+ System works as per the requirements, demonstrates good application of first 2 concepts; appropriate application of one other concept; attempt at using a fourth concept; identification of sensible test cases related to most requirements; development of a repeatable testing framework. To achieve 70+ System works as per the requirements, demonstrates good application of first 2 concepts; good application of at least two other concepts; identification of sensible test cases related to all requirements; development of an effective repeatable testing framework. Note that the overall grade will be determined by the application of the Computing and Technology School’s Assessment Criteria. Learning outcome 2 (focussing on formal methods and their use in software development) and 4 are assessed at assessment point 002 i.e. in the exam. Assessment 2 002: 50% Examination: Standard: 1.5 hours This will be scheduled in the summer exam period. CT5005 module guide Page 8 of 8