CSYM025: Visual Object Software | My Assignment Tutor

CSYM025: Visual Object SoftwareDate of IssueWednesday,18th November2020Last Date forSubmission:Sunday, 24thJanuary 202123:59:59Module Tutor:Dr Suraj Ajit Guidelines – Please read carefully: I.The University of Northampton’s Policy on Academic Integrity and Misconduct will be strictlyimplemented.This is not a group project and by submitting this assignment you are asserting that this submission isentirely your own individual work. You may discuss the assignment with other students, but any codeII. written should be your own. Sharing your work with another student or submitting code that waswritten by someone else may be deemed academic misconduct. III.If you have used any external code that you did not write, you must clearly reference it within yourreport.You must submit all items of the assessment according to the submission procedure stated in thisdocument. Failure to follow the submission procedure may result in a penalty or capped grade.This assignment/module is used to assess your object-oriented design and programming skills. Hence,IV.V. any use of databases and query languages (e.g. SQL) is strictly prohibited and would result in afail grade.Brief:Design, implement and test an inventory management system for a real-estate agent in Northampton usingobject-oriented principles in Java FX. Design should include class diagrams. Testing should include bothwhite box (JUnit tests) and black box (test logs). Consider the following requirements:The agent sells/rents houses (detached, semi-detached, terraced), flats and bungalows in different areas ofNorthampton such as Abington, Far Cotton, Duston, Wootton and so on. Each accommodation has a minimumof 1 bedroom and a maximum of 5 bedrooms. Here are the specific requirements:Basic System Requirements:The system must allow the agent to:1. Record details of a new customer (name, phone number, current address, etc.)2. Display houses for sale (details of each house – detached, bedrooms, bathrooms, garden, etc.)3. Sell houses to customers (i.e. record details of sales transaction)4. Generate a sales invoice including details of agent fees of 1.5%.5. Record a payment for each customer.6. Permanent storage and retrieval of all records (object serialisation or text/csv files).Enhancements (in order of importance – high to low):Additional features that you may include are as follows:7. Search for a house by property type (e.g. detached house, flat, bungalow), area, price range,number of bedrooms, bathrooms, status (sold/unsold/on offer).8. Display houses for rent (including rental price) and generate several invoices (initial invoiceincluding deposit, agent fees and one month’s rent; monthly rental invoices; final invoice atthe end of contract including any deduction for damage). Assume the deposit to be three timesthe monthly rent and agent fees to be £300.00.9. Ability to automatically generate and send emails containing monthly rental invoices (asattachments) to all customers.10. Input/update inventory information (i.e. add/modify stock, prices)11. Send an email containing the invoice as an attachment (pdf file) to the customer12. Record a customer waiting list when accommodation is unavailable and notify them when itbecomes available13. Role based access (e.g. separate accounts for sales person, stock manager and administrator)14. Login feature for the systemThese additional features are only suggestions and are not exhaustive. You may include any other usefulfeatures relevant to this application. You may make assumptions regarding any other specifications notdetailed in this brief.Deliverables:All requirements (A, B and C below) MUST be delivered to achieve a passing grade for this assignment.A) Technical ReportThe report should consist of the following sections (in the same order):1. Username and password for all relevant accounts (if implemented)2. UML Class Diagrams showing relationships between the main classes in the model3. A list of all the features implemented in a tabular format. For example: FeatureImplemented (Partial/Full)Any commentsRecord New Customer detailsFullNo error validation.Display Houses For saleFull 4. Explanation of the main sections/fragments of the code. Provide information that would be useful foranother developer (not an end user!) who may want to extend/maintain your system. You may wantto refer to the class diagrams to explain code.5. Screenshots of the system showing all key features6. Evidence of Testing:a. Blackbox Testing: Test logs providing information of all the tests carried out (including anyfailed tests for functionality not implemented)b. Whitebox Testing: Code Listing of the JUnit test case for at least two methods.c. List of any bugs and/or weaknesses in your system (if you do not think there are any, then sayso). Bugs that are declared in this list will lose you fewer marks than ones that you do notdeclare.7. References (use Harvard referencing):If you have borrowed some code from elsewhere (e.g. from a book or some resource on the web youmust indicate clearly what they are and include references).B) Source CodeThe source code must be well documented with necessary comments. Consistent and clear indentation ofthe code is also important. Source code needs to be submitted in two forms: (i)As a single ZIP archive (.zip file consisting of all “.java” files, unit tests, data files, executablejar). Note: It is important to submit an executable jar. You will be penalized for notsubmitting it.A commented full listing in a separate Word document named “Full Source Code Listing”.(ii) C) Video DemonstrationIn addition to the report, you must submit a video demo (URL) of your assignment. The demo should beabout 10 minutes long (maximum:15 minutes) and should cover all of your work in a logical way. Youshould explain the main phases of design and implementation covering the main fragments of code. Yourvoice needs to be clear for the marker to hear. It should also include a walkthrough of using the softwareand must demonstrate the key features. The module tutor reserves the right to inviteyou for an online viva-voce. Poor demo/viva could negatively influence other sections in the markingcriteria.Submission Procedure:• E-Submission of documents through Turnitin on NILE as TWO separate WORD documents.[Document 1 = Report & Document 2 = FullSourceCodeListing]To do this, go to the NILE site for this module and use the link labelled ‘Submit your work’.• E-Submission of a single ZIP archive that contains all the source code files (.java), unit tests, datafiles and executable (jar). The archive must be named with your student ID, e.g. 12345678.zip where12345678 is your student ID. To do this, go to to the NILE site for this module and use the linklabelled ‘Submit your work’. Clicking on the link (SourceCodeEsubmission), will take you into thesubmission form, where you can upload your ZIP archive using the ‘Attach File’ button (Browse forLocal File). Finally, click the Submit button.• When submitting your video demonstration, use of Kaltura (https://video.northampton.ac.uk/) isrecommended. You must ensure that the video link is accessible to the marker (do not set it to privateaccess).• Failure to follow the above submission guidelines may result in a capped or fail grade.Marking Criteria:The grade for this assignment will form 100% of the overall assignment grade for the module. Marks are splitaccording to the following scheme. In general, the following criteria will act as a guide to what you shouldexpect: ABCFGDesign (15%)Excellent design ofprogram and userinterface. Adherenceto object-orientedprinciples. Classdiagrams are verywell designed andpresented.Good qualitydesign ofprogram anduser interface.Adequateadoption ofobject-orientedprinciples. Classdiagrams arewell designedand presented.Satisfactorydesign ofprogram and userinterface.Class diagramsare satisfactory.Faulty design ofclass diagrams.Very littlediscussion of theoverall design.No submission orno submission ofmeritFunctionality(35%)All criteria for (B)and many significantadditional features.All criteria for(C) and somesignificantadditionalfeatures.Most basicsystemrequirements aremet.Most basicsystemrequirements arenot met.No submission orno submission ofmeritTesting (15%)Evidence of bothwhite box and blackbox testing withextensive codecoverage.Evidence of bothwhite box andblack box testingwith good codecoverage.Evidence of eitherwhite box orblack box testingwith satisfactorycode coverage.No evidence ofany white box orblack boxtesting.No submission orno submission ofmeritTechnicalReport (10%)Excellent descriptionof main sections ofthe code. All sectionscovered in the rightorder. Anyassumptions andbugs/weaknessesare clearly stated.Good descriptionof main sectionsof the code. Allsections coveredin the rightorder.Satisfactorydescription ofmain sections ofthe code. Mostsections arecovered.No description ofcode sections.No submission orno submission ofmeritCode qualityand Efficiency(15%)Code is very wellstructured to enablewhite box testing,reusability anddebugging. Excellentwork on errorhandling.Code is wellstructured toenable white boxtesting,reusability anddebugging. Goodwork on errorhandling.Some thoughthas been givenon how the codeis structured.Some work onerror handling.Hardly anythought on howthe code isstructured.No submission orno submission ofmeritDemonstration(10%)Covers allimplementedfeatures in sufficientdetail. Any knownbugs are highlighted.Validation is tested(e.g. entering invalidvalues)Covers allimplementedfeatures insufficient detailSatisfactorydemo but needsmore details.Poor explanation.Either notconcise ordifficult tounderstand.No submission orno submission ofmerit


Leave a Reply

Your email address will not be published. Required fields are marked *