BS2202: Object Oriented Software Development Summative Assignment Brief Module Leader: Dr Claire Ancient Semester 2, Academic Year 2022-23 This module is assessed by the submission of a portfolio. A portfolio achieves several things. It is: 1. a record of your learning progress throughout the module 2. a task to achieve which requires you to engage with the course materials over the 12 weeks 3. your assessment for this course. There is one summative assessment for this module: Module Title: Object Oriented Software Development Module Code: BS2202 Module Leader: Claire Ancient Module Tutors: Claire Ancient Pireh Pirzada Tania Tonni Level: 5 Assessment Title: Software Development Portfolio - Developing a Library System Assessment Type: Individual Portfolio Restrictions on Time/Length: 2,000 words maximum, not including the code you write Individual/Group: Individual Assessment Weighting: 100% Issue Date: 31st January 2023 Hand In Date: Monday 15th May 2023 by 3.30pm (report and source code) Tuesday 16th May; Thursday 18th May; Tuesday 23rd May; and Thursday 25th May 2023 (demonstrations, via Teams) Anonymous Marking: This assignment will not be marked anonymously in line with the University of Winchester Anonymous Marking Policy. Please see your programme handbook for more information. Planned Feedback Date: 15 working days after submission deadline Mode of Submission: Online submission File Format of Submission: .zip file containing your written report and all relevant files (including at least the Java files) Number of copies to be submitted: 1 copy This document contains the following information: 1. 2. 3. 4. Assignment Brief Summative Assignment Formative Assignments Marking Scheme BS2202: Object Oriented Software Development Page 2 of 13 Module Leader: Dr Claire Ancient A Note on Word Counts This assignment should be 2,000 words (+/- 10%). The word count should be shown on the front of your assignment. Words in Java files, diagrams, tables or as part of an appendix do not count. There is no penalty for submitting fewer words than the word count minus 10% (e.g., less than 1,800 words for assignments with a word count of 2,000 words +/-10%). However, it is doubtful whether you will be able to complete the assignment in sufficient depth, and this is likely to affect your mark. If your assignment exceeds the word count by more than 10%, the marking tutor will stop marking at this point and the excess content will not be considered, which is also likely to affect your mark. 1. Assignment Brief For this module, you are being asked to develop a library loans system. You can choose what is being loaned at the library – it doesn’t have to be books and DVDs; it can be any other items you want, as long as they are loaned and returned. They system you are developing will be used by employees of the library only and not by members of the public. Whilst you can choose the scenario, but it must include the following features: More than one type of item to be loaned More than one option for each of the items (for example, if you are doing books, you might find that there are large print versions, ebooks, or normal print books) Ability to see current number of each item which is available for loan Ability to loan items, including tracking of who has loaned the items Ability to return items, together with providing details of fine for overdue items Ability to print information about a single item to a file. You should include the following information: o Details about the item o Number of copies available o Number of copies on loan o Earliest return date for any items on loan Ability to search for an item A login system, which includes: o Different account types – standard and administrator o Ability to register with the system – subject to administrator approval One other feature which is relevant, but not included here – this can be whatever you want, as long as it is an appropriate addition to a library loans system. Within your system, the following programming concepts must be included: Object-oriented design Inheritance A database A Graphical User Interface (GUI) which utilises JavaFX or AWT/Swing At least 1 image for each item – displaying what the item is You might want to consider a system which is related to your workplace (if possible). However, in recognition that this may not be possible for everyone, it will not be a requirement of this assignment. Before commencing work on your assignment, you MUST receive agreement to continue from the module leader. This will involve you putting forward a project proposal (a template for which can be found on Canvas), which will be reviewed for appropriateness. There will be a submission box for your proposal on Canvas. Throughout this assignment, your module leader will act as the client. Therefore, if you have any queries which you believe would be resolved through discussion with the client, you will be able to speak to the module leader. BS2202: Object Oriented Software Development Page 3 of 13 Module Leader: Dr Claire Ancient 2. Summative Assignment The summative assignment for this module is a portfolio. The portfolio must include the following three elements: 1. Project Documentation (worth 40 marks) 2. Source Code (worth 45 marks) 3. Project Demonstration (worth 15 marks) Both the project documentation and source code must be submitted to Canvas in a single .zip file. In the section 4, you will see a further breakdown of how your submission will be marked. 2.1. Project Documentation Your project documentation must include four elements: 1. Project scope and client requirements/user stories This section will need to include an introduction to the project and the chosen scenario. You will also be expected to consider the possible requirements or user stories the client will have for your system – together with a discussion of how you would (in an ideal environment) gather the requirements or user stories. You must not engage in any requirement or user story gathering activities. You will need to include: The requirements listed above (applied to your specific case study) – do not just copy and paste the requirements, especially if you are using user stories Additional requirements/user stories which may not have been covered by the assignment brief (applied to your specific case study) Your module leader will act as the client if you want to discuss possible requirements. 2. User interface diagrams You will need to include wireframe versions of your user interface. Each screen should be represented as a wireframe. In addition to the diagrams, you will need to consider the accessibility and usability of your interface, especially in relation to Sustainable Development Goal 10: Reduced Inequalities. 3. Class diagrams You will need to use UML to demonstrate how your classes interact with each other. In addition, you will want to include a database design diagram. It would also be expected that you will provide some additional information relating to the diagrams. In the class diagram, make sure that you demonstrate good use of object-oriented programming principles and evidence of inheritance. This section should also include a discussion of the relevant design patterns you have incorporated within your design. If you have not included any design patterns, you must discuss your justification for this decision. 4. Testing documentation Your testing documentation will have two elements: Testing plan Evidence of testing results It would be expected that your testing plan covers data validation to ensure that your inputs and outputs are both correct. Additionally, when a test fails, it is expected that you will demonstrate how you resolved the problem as well as the evidence of re-testing to ensure accuracy. 2.2. Source Code For this assignment, you will need to submit your source code. You will be required to submit your .java files. You must also include a README file which explains to the marker how to implement your program so that the functionality can be verified. The source code must implement object-oriented programming techniques and must be in the Java programming language – no other languages will be accepted. BS2202: Object Oriented Software Development Page 4 of 13 Module Leader: Dr Claire Ancient When developing your program, you need to consider the quality of the code you are producing. The code quality of your submission will be considered during the marking process. 2.3. Project Demonstration The final part of your summative assignment will be to present your system to an audience, through the use of a live demonstration. The demonstration should include: an overview of the system itself (including the client requirements) and all the features of the system. You should assume that the audience do not have any technical knowledge, so your presentation should be appropriate for the layman. You will lose marks if you present a demonstration which contains too much information which would not be understood by a non-technical audience. The presentation can be in any format you want – PowerPoint, Poster, Prezi, etc. However, there are a couple of conditions: 1. It must be a maximum of 10-minutes’ long 2. It must demonstrate the system as a whole as a live demonstration 3. You must be able to answer questions at the end (the time for which is not included within the 10-minute time limit) 3. Formative Assignments For this module, there are three formative assignments. All formative assignments are Canvas submissions. 1. Project Proposal (Deadline: Monday 13th February 2023 at 3.30pm) The project proposal is a key feature of this assignment. Your module leader will use this information to ensure that your chosen scenario will meet the requirements of the assignment. You will need to submit your Project Proposal on Canvas and receive feedback BEFORE commencing any development work – we don’t want you to start your project then find that you need to revisit your work to ensure alignment with the module outcomes. Feedback for all the project proposals submitted will be provided after the deadline for the first formative. You will find a template for the project proposal on Canvas – you can adapt the template if you want, but it must include the same information. 2. Class Diagram (Deadline: Monday 27th February 2023 at 3:30pm) In the second formative submission, you will be submitting your proposed class diagram for your project, together with a discussion of the design decisions you have made when constructing the diagram. In the first sessions of week commencing 27th February 2023, you will be giving and receiving feedback on the class diagrams of your peers. For this reason, please do not include your name or any other identifying features on your submissions. Your tutor will give each submission an identifying number which can be used by your peers to provide feedback, and then collate the responses and add the comments to your Canvas submission. 3. Interface Design (Deadline: Monday 20th March 2023 at 3:30pm) For this formative submission, you will need to submit a word document on Canvas which contains images of your wireframes, together with a discussion of the design decisions you have made. This needs to relate to UN SDG 10, as well as theory related to user interface design. In the first sessions of week commencing 20th March 2023, you will be giving and receiving feedback on the wireframes of your peers. For this reason, please do not include your name or any other identifying features on your submissions. Your tutor will give each submission an identifying number which can be used by your peers to provide feedback, and then collate the responses and add the comments to your Canvas submission. None of these formative assignments are considered optional – you must engage in all activities. They have been designed to support your summative assignment. BS2202: Object Oriented Software Development Page 5 of 13 Module Leader: Dr Claire Ancient 4. University of Winchester Assessment Criteria STATEMENT OF LEVEL: 5 (based on sector frameworks and benchmarks) At this level students are expected to generate ideas through the application and analysis of concepts at an abstract level and outside the original context of enquiry, with a command of specialised skills and the formulation of responses to well defined and abstract problems; use main methods of enquiry in the subject to analyse and evaluate information and solve problems; exercise significant judgement across a broad range of functions; and accept responsibility for determining and achieving personal and/or group outcomes. They should be able to evidence knowledge and understanding of well-established principles of their area of study and their development; understand the limits of their knowledge and how this influences their analyses. Can communicate arguments and analysis in variety of forms to specialist and non-specialist audiences. BS2202: Object Oriented Software Development Page 6 of 13 Module Leader: Dr Claire Ancient GRADING DESCRIPTOR LEVEL 5 (wording in boxes A-F is to give examples of standards and evidence and should be used as a guide) (The 'exceptional' category indicates work that is exceptional for this level of study) Assessment Criteria (encompassing some or all of the elements below) A* 80-100% A 70-79 B 60-69 Research and Enquiry Ability to identify relevant sources, evaluate, use materials and compare data in a range of forms and from diverse sources Exceptional: exploration and use of significant range of relevant resources (e.g. extensive reading) exceeds expectations. Outstanding ability to compare & evaluate materials using a range of techniques while demonstrating acute awareness of limitations and contradictions in data. Excellent: substantial and appropriate use of range of relevant resources; widely read. Robust ability to compare and evaluate materials using a range of techniques. Student is well aware of, and can respond insightfully to, limitations and contradictions in data. Academic Skills academic conventions, structures, referencing, ability to respond to brief, according to subject requirements, communication and presentation Exceptional: fulfilment of assessment brief has exceeded all expectations with regard to structure, content, style, argument, conventions. BS2202: Object Oriented Software Development Excellent: fulfilment of assessment brief with regard to structure, content, style, argument, conventions is of a high calibre. C 50-59 D 40-49 F 30-39 F 1-29 Very Good: thorough use of appropriate relevant resources, such as literature. Consistently able to compare and evaluate materials using a range of techniques. Student demonstrates awareness of and responds to limitations and contradictions in data. Good: appropriate use of relevant resources, such as literature. Consistently able to compare and evaluate materials using appropriate techniques. Student refers to limitations and contradictions in data. Satisfactory: sufficient relevant resources, such as literature, are drawn on. Student demonstrates ability to compare and evaluate materials using appropriate techniques. Student can identify differences in literature / theoretical positions / source materials. Unsatisfactory: insufficient relevant resources, such as literature, are drawn on. Ability to compared and evaluate materials using appropriate techniques is not adequately demonstrated. Poor: student has done little or no research and cannot demonstrate key aspects of research and enquiry required by this module and at this level. Very Good: fulfilment of assessment brief has seen all relevant academic skills very well applied. Good: fulfilment of assessment brief has seen most relevant academic skills well applied. Satisfactory: fulfilment of assessment brief has seen sufficient evidence of some relevant academic skills. Page 7 of 13 Unsatisfactory: the relevant academic skills have been inadequately demonstrated. Notable failure to address assessment task Poor: little to no evidence of ability to employ relevant academic skills. May have failed to address assessment task completely Module Leader: Dr Claire Ancient Assessment Criteria (encompassing some or all of the elements below) Subject Knowledge and Understanding Intellectual engagement, grasp of concepts, principles, key tenets of subject, theory, context, limitations Applied and Practical Skills Technical / professional / performative / field or lab based / digital etc. May include discipline specific skills such as creative writing A* 80-100% Exceptional: knowledge, critical evaluation, synthesis of ideas, problemsolving, grasp and application of theory all exceed expectations for task at this level. Significant analytical capability, conceptual understanding is highly developed showing deep insight and grasp of wider issues/context. The work is highly advanced, and may also be highly original and/or imaginative. Exceptional: management and application of, and prowess / dexterity / capability with relevant skills exceeds expectations for the task at this level. BS2202: Object Oriented Software Development A 70-79 B 60-69 C 50-59 D 40-49 F 30-39 F 1-29 Excellent: knowledge, critical evaluation, synthesis of ideas, problem-solving, grasp and application of theory are all at an extremely high level. Significant analytical capability, conceptual understanding is highly developed showing deep insight and grasp of wider issues/context. The work is advanced, and may also be original and/or imaginative Very Good: knowledge, critical evaluation, synthesis of ideas, problemsolving, grasp and application of theory are strong and consistent. Analytical capability is well evidenced and conceptual understanding shows insight and grasp of wider issues/context. Good: clear evidence of knowledge, ability to evaluate, synthesise ideas, solve problems, understand and apply theory. Clear evidence of analysis and conceptual understanding. Satisfactory: sufficient evidence of knowledge, ability to evaluate, synthesise ideas, solve problems, understand and apply theory. Evidence of analysis and conceptual understanding. Unsatisfactory: insufficient evidence of knowledge, ability to evaluate, synthesise ideas, solve problems, understand and apply theory. Inadequate evidence of analysis and conceptual understanding. Poor: little to no understanding of subject and its context Excellent: excellent management and application of, and prowess / dexterity / capability with relevant skills. Very Good: management and application of, and prowess / dexterity / capability with relevant skills. Good: management and application of, and prowess / dexterity / capability with relevant skills. Satisfactory: management and application of, and prowess / dexterity / capability with relevant skills. Unsatisfactory: management and application of, and prowess / dexterity / capability with relevant skills. Poor: management and application of, and prowess / dexterity / capability with relevant skills Page 8 of 13 Module Leader: Dr Claire Ancient Assessment Criteria (encompassing some or all of the elements below) Values, Qualities and Attributes Ethical, legal, moral, subject-related and professional values, hard and soft skills; desired characteristics, behaviours and attributes e.g. selfcriticality and reflection A* 80-100% A 70-79 B 60-69 C 50-59 D 40-49 F 30-39 F 1-29 Exceptional: appreciation of ethical implications and demonstration of values, qualities and attributes are all outstanding Excellent: appreciation of ethical implications and demonstration of values, qualities and attributes are all excellent Very good: appreciation of ethical implications and demonstration of values, qualities and attributes are very good Good: good appreciation of ethical implications and demonstration of values, qualities and attributes Satisfactory: sufficient appreciation of ethical implications and demonstration of values, qualities and attributes Unsatisfactory: insufficient appreciation of ethical implications and demonstration of values, qualities and attributes Poor: little to no appreciation of ethical implications and demonstration of values, qualities and attributes BS2202: Object Oriented Software Development Page 9 of 13 Module Leader: Dr Claire Ancient 4.1. Assessment Criteria Mapping The following table demonstrates how the learning outcomes of this module relate to the University-wide Assessment Criteria: University-wide Assessment Criteria Research and Enquiry Ability to identify relevant sources, evaluate, use materials and compare data in a range of forms and from diverse sources Learning Outcome (a) Learning Outcome (b) Learning Outcome (c) Learning Outcome (d) Academic Skills academic conventions, structures, referencing, ability to respond to brief, according to subject requirements, communication and presentation Subject Knowledge and Understanding Intellectual engagement, grasp of concepts, principles, key tenets of subject, theory, context, limitations Applied and Practical Skills Technical / professional / performative / field or lab based / digital etc. May include discipline specific skills such as creative writing Values, Qualities and Attributes Ethical, legal, moral, subject-related and professional values, hard and soft skills; desired characteristics, behaviours and attributes e.g. self-criticality and reflection BS2202: Object Oriented Software Development Page 10 of 13 Module Leader: Dr Claire Ancient 5. Marking Criteria 5.1. Marking Criteria – Project Documentation (40 marks) Project Scope and Client Requirements Is there a statement of the project scope? Are the client requirements considered and listed? Is there a discussion of the requirements for the system? (10 marks) GUI Diagrams Are there wireframes for all screens? Has the accessibility and usability of the interface been considered? Has UN SDG 10 been discussed in relation to the interface design? (10 marks) Class Diagrams Is there a class diagram using UML included? Does the class diagram demonstrate inheritance and object-oriented programming principles? Is an appropriate database design diagram included? Has there been an appropriate discussion of Design Patterns used or not used? (10 marks) BS2202: Object Oriented Software Development Excellent description of the required system, which includes all of the requirements with additional features which were implied by the assignment brief but not specifically stated. Very good description of the system, which includes all of the requirements described by the assignment brief. Good description of the system, which includes most of the requirements described by the assignment brief. Brief description of the system, with very few requirements, which do not cover the required system. 9-10 marks 6-8 marks 3-5 marks 0-2 marks An excellent collection of wireframes which contains all the screens used within the system. Both accessibility and usability of the system has been very well considered applied directly to the chosen scenario. A very good collection of wireframes which contains most of the screens used within the system. Both accessibility and usability of the system has been considered and mostly applied to the chosen scenario. A good collection of wireframes which contains a couple of the screens used within the system. Either the accessibility or usability of the system has been considered but not adequately applied to the chosen scenario. An adequate wireframe which only contains the key screen used within the system. Neither accessibility or usability have been considered. 9-10 marks 6-8 marks 3-5 marks 0-2 marks Excellent class and database design diagrams included. The class diagram demonstrates excellent use of objectoriented programming principles and appropriate use of inheritance. Very good class and database design diagrams included. The class diagram demonstrates very good use of objectoriented programming principles and appropriate use of inheritance. Good class and database design diagrams included. The class diagram demonstrates good use of object-oriented programming principles and but the use of inheritance is not appropriate. Adequate class diagram has been included. The class diagram demonstrates adequate use of objectoriented programming principles and but there is no use of inheritance. The database design diagram has not been included. 9-10 marks 6-8 marks 3-5 marks 0-2 marks Page 11 of 13 Module Leader: Dr Claire Ancient Functionality Testing Is there a plan which includes tests for all the possible entries and outputs? Are there appropriate tests for data validation (i.e. ensuring correct user input)? Are the expected outputs sensible? Excellent test plan which has been well thought through. It includes all of the possible functionality tests which would be required by the system. There is very good consideration of the anticipated output for the tests. Are all the tests from the plan included? If tests have failed, is there evidence that it has been resolved and retested? (10 marks) Excellent evidence of the testing process which includes all of the tests from the plan. Excellent resolution of failed tests and inclusion of retest results. 9-10 marks Very good test plan which has been thought through. It includes most of the possible functionality tests which would be required by the system. There is good consideration of the anticipated output for the tests. Very good evidence of the testing process which includes all of the tests from the plan. Very good resolution of failed tests and inclusion of retest results. 6-8 marks Adequate test plan. It includes some of the possible functionality tests which would be required by the system. There is some consideration of the anticipated output for the tests. Poor test plan. It includes some of the possible functionality tests which would be required by the system. There is no consideration of the anticipated output for the tests. Good evidence of the testing process which includes most of the tests from the plan. Limited evidence of resolution of failed tests but there is no inclusion of retest results. Some evidence of the testing process which includes some of the tests from the plan. No evidence of resolution of failed tests and no retest results. 3-5 marks 0-2 marks 5.2. Marking Criteria – Code (45 marks) Has the following functionality been implemented? (35 marks) Database Fully Implemented (5 marks) Partially Implemented (1-4 marks) Not Implemented (0 marks) Graphical User Interface Login System Item Images Search Functionality File Output Other Appropriate Functionality BS2202: Object Oriented Software Development Page 12 of 13 Module Leader: Dr Claire Ancient Code Quality Does the system correctly use object-oriented techniques? Has inheritance been implemented correctly? Are the variable, method, and class names appropriate? Is there appropriate use of commenting? Is there any code which is overly complicated? Have the files been well laid out (i.e. use of tabbing)? Note: marks will be deducted for including too many comments within the files. Excellent code quality. Objectoriented principles have been fully implemented. Inheritance has been implemented in an appropriate manner. The variable, method, and class names are appropriate and the code is not overly complicated. Very good use of comments within the code. Very good code quality. Object-oriented principles have been mostly implemented. Inheritance has been implemented but not in an entirely appropriate manner. The variable, method, and class names are predominantly appropriate and the code is not too complicated. Good use of comments. Reasonable code quality. An attempt has been made to implement object-oriented principles. Inheritance has not been implemented. The variable, method, and class names are appropriate in places. The code is overly complicated in places. Some use of comments. Poor code quality. Objectoriented principles have not been implemented. Inheritance has not been implemented. The variable, method, and class names are not appropriate. The code is overly complicated. No comments have been used to aid readability. 9-10 marks 6-8 marks 3-5 marks 0-2 marks An excellent demonstration which includes all the features of the developed system. The content of the demonstration was appropriate for a nontechnical audience throughout. A very good demonstration which includes most of the features of the developed system. The content of the demonstration was appropriate for a non-technical audience for most of the duration. An adequate demonstration which includes all the key features of the developed system. The content of the demonstration was appropriate for a non-technical audience in places. A poor demonstration which includes some of the key features of the developed system. The content of the demonstration was not appropriate for a non-technical audience. 9-10 marks 6-8 marks 3-5 marks 0-2 marks Excellent presentation style. The presentation has excellent coverage of the system developed. Very good presentation style. The presentation has very good coverage of the system developed. Adequate presentation style. The presentation has good coverage of the system developed. Poor presentation style. The presentation has poor coverage of the system developed. 5 marks 3-4 marks 2 marks 0-1 marks (10 marks) 5.3. Marking Criteria – Presentation (15 marks) Project Demonstration Does the demonstration present the majority of the features required by the scenario? Was the demonstration well presented for a nontechnical audience? (10 marks) Presentation Skills Is the demonstration well presented? Does it finish in the correct amount of time? Does it include the key information relating to the system developed (inc. overview of scenario)? (5 marks) Total Mark: BS2202: Object Oriented Software Development Page 13 of 13 /100 Module Leader: Dr Claire Ancient