Objected Oriented Programming Assignment -
Instructions: Need to make a notes program using Netbeans, It should look similar to the zipped program.
Learning Outcomes:
A. Code non-trivial programs in an object oriented programming language.
B. Design non-trivial programs with a view to flexibility and reuse using appropriate design methods.
C. Design, implement and test small software systems to conform to a specification.
Detailed Specification -
You must design and develop a program in Java which follows the specification below.
Scenario - You have decided that it would be helpful to have a program on your laptop which helps you whilst at university. There are so many new ways of doing things and so many new ways of presenting information that a good computer program would be really useful. Since you are learning Java anyway, it seems sensible to use that.
i) Your program should allow you to record notes for your lectures on a laptop and classify them by module, topic and date. You should be able to search these notes for keywords so that you can find the useful pieces of information.
ii) Your program should also allow you to develop your coursework for each module. Here you should be able to add a module to your list of modules. Each module will have a coursework with a list of requirements (things you are being asked to do) for that module. You should be able to add this list of requirements for each module. Finally, your program should allow you to add notes for each requirement.
NOTE: Building the functionality for i) will happen in the lectures and labs. You will be given the code for this and you WILL NOT be awarded marks for including this code in your NetBeans project. It must be nonetheless included as your application will not include all the required features without it. The code you produce to implement the features described in ii) should work in addition to those features given to you for i). This is the code you will be assessed on and for which you will receive marks.
Requirements - Start by creating a program which allows you to take notes during course lectures (this is the code given to you and the work you will produce during the labs).
1. Part A - Group Work
Into the program created above you should add extra screen(s) which help you plot the courseworks required. You will work in groups of 2-3 to code the following features and add them to your group NetBeans project.
Your program should be capable of:
1.1 adding a module to the list of modules and creating a folder for it;
1.2 adding a list of coursework expected for each module;
1.3 adding a list of requirements for a specific coursework;
1.4 adding notes to each requirement;
1.5 outputting those notes as a text file so that it can be imported into a word-processed document.
2. Part B - Individual Work
During a hackathon-like session, held during your scheduled lab time on 25/03/19, you will be given a set of additional features to implement. Each member of your group will implement one of these features. The code you produce will be built on top of and must integrate with the code you will have already produced during the lab sessions throughout the term, the code produced as a group for Part A, as well as integrate with the additional features produced by each member of your group during the hackathon-like session.
It is therefore ESSENTIAL that you complete the work required for Part A BEFORE coming to the hackathon session. Each member will be expected to have FULL understanding of the entire code developed for Part A and the rationale behind its design.
You must organise your time well as a group during the hackathon-like development session. The things you should consider and agree as a group will be for example: the API for each additional feature (this will help with your integration); time for integration and time for testing; use of professional coding practice; and time for upload before the end of your lab session on 25/03/19. Remember each member must upload an identical, integrated and functioning NetBeans project (zipped) that includes all the required additional features by all members. Code created by each member must be clearly labeled with their name and student ID in a comment - this is specifically important for the method(s) developed to implement the required additional features. You will fail the coursework if you do not attend the hackathon session - unless you have submitted valid extenuating circumstances.
The code produced in parts A and B should implement all the features in a professional style using indented code and correct naming convention for all classes, procedures, functions and variables; consider appropriate OOP techniques; and should function as expected when executed.
Deliverables
1. Java Code - A zip file containing all the files required to run your NetBeans project.
2. Individual Report - consisting of all the sections described in the coursework report template provided.
Your report will be assessed on the following criteria.
- Are all the required sections included and completed properly?
- Does the report give an accurate reflection of what you have achieved?
- Is the report clear and easy read? Does it follow the structure specified?
- Is the evaluation realistic and does it show that you have really thought about your application as well as how they may be enhanced if you were given extra time.
Attachment:- Assignment Files.rar