computer science coursework presentation

Upload: abhi-agarwal

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Computer Science Coursework Presentation

    1/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 63

    The subjects will also be auto-generated by the program and not inserted

    by the user.

    This form adds the subject, the description, the difficulty and the time of

    the task taken entered by the user o n this form as a new record in the

    database. These details are then saved into an object ofHomework_database and wrote into the random access file and the

    linked list.

    S2 - Generating the subjects

    Add the description of tasks for every

    t e of homeworkAdd the tasks and different homework

    Set the priority of the tasks

    Add the time required for each homework and task

  • 7/29/2019 Computer Science Coursework Presentation

    2/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 64

    It generates the list of subjects by

    reading the random access file of the

    current logged in user, and searches

    for his subjects field.

  • 7/29/2019 Computer Science Coursework Presentation

    3/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 65

    S3 - Delete the tasks and the different homework (in terms of subjects and

    in this case also ID)

    This form deletes the specified homework by the user from the

    Homework database; the user is able to select the ID, subject, description

    or the time taken as a preference to what he/she wants to delete using.The program then flags the delete field of this record as 1 and saves

    into an object of Homework_database and writes into the random access

    file and the linked list.

    Delete the task and the different homework (in terms of

    subjects and ID)

  • 7/29/2019 Computer Science Coursework Presentation

    4/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 66

    S4 - Edit the tasks and the different homework: edit the description of

    tasks for every different homework, edit the time required for each

    homework, edit the priority of the tasks (in terms of importance)

    This form edits the specified homework by the user from the Homework

    database; the user is able to enter the subject, description, difficulty, thetime taken, and these are non-optional. The program then overrides the

    field of this record with this data saves into an object of

    Homework_database and writes into the random access file and the

    linked list.

    Edit the description of the homework that

    was entered previously by the user

    Edit or leave the same subject if required

    by the user

    Edit the priority of the tasks (in terms of

    importance (easy, medium, hard))

    Edit the time required for each

    homework.

  • 7/29/2019 Computer Science Coursework Presentation

    5/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 67

    S5 - Allow free time and take consideration that Mr. Kothari might get

    distracted at some points. Also gives the optimum sleep time required by

    the user (taking into account they finish their work). It outputs a

    simulated timetable of the day, and the estimated time of completion.

    This form allows a timetable to be generated: that gives the user freetime, the optimum sleep after their homework has been finished, and

    simulates a timetable of the day. It also outputs the estimated time of

    completion. The algorithm behind this searches the homework to

    calculate the total time required and asks the user to suggest a time to

    start the process. The demonstration below is one that starts the

    homework at 8:00am, and in this case the user finishes his homework in 2

    hours by 10:00.

    Allows free time and takes

    consideration that Mr. Kothari

    might get distracted at some

    points, and give a 15 minute break

    between every 2-4 activities.

    Estimated timetable of completion: In thiscase it would be 10:00, as it gives a 15-

    minute cool-down period.

    After the user is finished his work, it gives

    them the optimum sleep and free time

    that is required by the user.

    Sort and prioritize the

    homework into numbers.

  • 7/29/2019 Computer Science Coursework Presentation

    6/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 68

    S6 - Create the same basic environment Mr. Kothari uses, and lists the

    current homework to the user in a table format.

    In order to allow him to have a similar environment as before I have

    created a timetable view, which is the closest thing to a whiteboard that

    could have been used. This will allow him to see all his homework in aclear timetable view, and he will be able to keep this tab open.

    Displays all the homework

    categorized in the different

    descriptions

    Displays all the homework categorized in

    the different subjects

    Displays all the homework categorized in

    the different difficulties

    Displays all the homework

    categorized in the different

    times

  • 7/29/2019 Computer Science Coursework Presentation

    7/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 69

    S7 - Print the timetable and homework as displayed by the table, or

    within the database itself.

    As stated by the client, this program needs to be able to print the

    timetable that has been generated by the database, and this form will be

    able to print it. This program will also print the Homework database thatcan be seen in the Homework database table as shown above.

    Generated Timetable

    The user will also be able to

    choose the page setup, the page

    size, Ect.

    The user will be able to choose the printer

    itwantstoprintusing,inthiscaseaHPprinter.

    TheuserwillprimarilyclickthePrintbutton and it will popup the menu. This is

    a form of the timetable that has been

    generated.

    This is the button for it to send

    it to the printer.

  • 7/29/2019 Computer Science Coursework Presentation

    8/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 70

    S8 - Homework Database

    TheuserwillprimarilyclickthePrint

    button and it will popup the menu.

    This form will be the same as the previous

    print function.

    The Homework Database table has been

    generated from the Linked List and thedatabase.

  • 7/29/2019 Computer Science Coursework Presentation

    9/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 71

    S9 - The user will be able to add users to the database, and control who

    has access to the program, and the subjects will be auto generated and

    the user doesnt have to insert them himself.

    This program will be able to add multiple users to the program, who will

    be able to access and add their own homework. The databases ofdifferent users will be kept different on a day-to-day basis so everyone is

    able to access the right homework. The user is added to the database

    initially, and this is static throughout the program. When homework is

    added to the database, these selections of subjects are shown for the

    user to add.

    This is the 4-digit pin code that the

    program uses for authentication. The

    user will type this twice for

    confirmation and the program will

    check if it's the same.

    This is the username that is required for

    the user to authenticate into the program.

    TheuserwillprimarilyclicktheAdd

    userbuttonanditwillinserttheuserinto the database.

    The 7groups of subjects you

    have in the IB, all the subjects

    possible are already put into a

    combo box, to save time.

  • 7/29/2019 Computer Science Coursework Presentation

    10/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 72

    S10 - View users in the database.

    All the users within the program will also be able to view all the users,

    but they wont be able to see the Password or the Passcode of the

    different users.

    The password in this form is

    hiddensothatotheruserscant

    login and authenticate into the

    program.

    This is the username of the different users

    in the database.

    This button will different users to view all

    the different users, it will allow them to go

    back and forth on different records.

    The users will all be able to

    view all the subjects of each

    user.

  • 7/29/2019 Computer Science Coursework Presentation

    11/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 73

    S11 - Easy and simple to use for Mr. Kothari as it shouldnt take more

    than 5 minutes a day to put information into this program database.

    The menu is adaptable and easy to add/edit/delete/view/search and simulate.

    The menu opens next to it, and is easy to close. The File/Edit/Print is also easy to

    use. There are easy to use keyboard commands such as control A, in order toopen the administration menu. This will be quick and easy, and Mr. Kothari will

    be able to adapt to them easily. The menus also open side by side so they will be

    able to quickly add and close them.

    These menus have keyboard commands in order

    to increase efficiency for the user.

    The forms from default open in a side-by-side

    layout in order for the user to quickly access

    them and be able to intuitively predict thelocation of the forms.

  • 7/29/2019 Computer Science Coursework Presentation

    12/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 74

    S12 - The backups will be taken by the program itself, this will take

    backups daily and override all the files.

    The program when logged out of the program will backup the databases

    itself and save them into a backup folder.

    Below this one are the files for the

    database itself, these are saved

    within the directory and it is made

    for both Mac and Windows

    directories.

    This is the folder of the backups that are

    saved when you have logged out from the

    program.

    This is the code that allows the program

    to backup when the logout sequence is

    started; it copies the directory into a

    separate directory.

  • 7/29/2019 Computer Science Coursework Presentation

    13/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 75

    S13 - The predefined range of the homework will be 0-3 hours, so Mr.

    Kothari wont be able to add homework, which is more than 3 hours long

    per day.

    When youre adding the homework, the pre -defined till will be 15

    minutes to 180 minutes, and it will allow the program to have apredefined range check. It saves an error to be created within the

    program.

    The task time in minutes goes from 15

    minutes to 180 minutes, therefore it will

    go from 0-3 hours.

  • 7/29/2019 Computer Science Coursework Presentation

    14/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 76

    S14 - It will only handle a single user at a time, only one user can use the

    pr ogram at one ti me fr om one com pute r.

    This single-input user login system will only be able authenticate only one

    user at one time.

    Only one person will be able to login to

    this form at one time.

  • 7/29/2019 Computer Science Coursework Presentation

    15/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 77

    S15 - Program settings.

    This is where the part of the program where the user will be able to pick

    what time he wants to start generating the timetable at that point. It

    then saves it into a database and is read every time, and it is saved

    specifically for every different user.

    The time goes from 8:00 to 20:00, this is

    the time where the person will start

    working.

  • 7/29/2019 Computer Science Coursework Presentation

    16/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 78

    S16 - First time user created.

    When a new user uses the program for the first time, the program

    recognizes this, and pop-ups a different form for that user to put their

    details in.

    Allows the first user to enter his details

    about the subjects and the username and

    password.

    Allows the user to choose when to start

    studying, and set the time to simulate the

    timetable.

  • 7/29/2019 Computer Science Coursework Presentation

    17/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 79

    S17 - Mac or Windows

    The program will ask the user to decide whether the computer he/she is

    using is Windows or Macintosh.

    Summary

    These satisfy the objectives which were proposed in A2:

    Mr. Kothari is able to add, edit, and delete tasks for every homework and

    the description, time and properties. This then is generated and sorted to

    allow for the maximum free time, and the optimum sleep th at he can get,

    and gives the same basic environment as before. This then is outputted

    to give the estimated time of completion and simulates a timetable of the

    day. Then Mr. Kothari is able to print this or use it in the way he requires

    to do so, also as a Table.

    It is easy to use and the clean menu allows for quick adding of

    information, and the command keys (when used too) can help the process

    be quicker. Backups are self-taken and the subjects are also generated by

    the user to decrease them typing it. Th ere are error checking embedded

    within the program, and this allows the errors to be caught before the

    simulation is ran. The program is also secure and uses a ten-digit pinsystem, which would mean that there would be 10! (10 factorial) ways to

    crack the system. There are 3 628 800 ways to break the system, and this

    would take a long time to crack it. This program is also written in Java so

    it can be used in both Windows or Mac as required by the user in the

    future.

    However, the program also only allows homework from 1-3 hours, as

    shown by the user having to select the time frame, and this program will

    only work on Windows or Mac as there is no Linux support and Mr.

    Kothari hasnt expressed the wanting to use Linux. There is also no

    Theuserwilleitherentermorw

    either for Mac or Windows, which will

    then change the URL of the file

    accordingly.

  • 7/29/2019 Computer Science Coursework Presentation

    18/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 80

    support for applications on the computer, and also messaging. It is

    single-user environment, so only one user uses at it a single time.

    Errors (EM Error Message)

    EM1 - Login Screen (ERROR E4)

    This is the error generated when the username or password is incorrect

    in the database, or in this case it is not found!:

    EM2 - Logout Message (ERROR E16)

    This is the option that is given to the user when the user wants to log out,

    this is a verification check:

    EM3 - Opening multiple forms at once (ERROR E19)

    This is an error generated when multiple forms are trying to be opened,

    so you are only able to open one form, and when you close it you can

    open another one:

  • 7/29/2019 Computer Science Coursework Presentation

    19/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 81

    EM4 - Add Members - Validation length check, and verification check

    (ERROR E12)

    When two passcodes are different then it will generate an error message

    to ask the user to re-enter the passcodes again.

    This is the form of what it would look like when you are adding the code:

    I have now entered data into the passcodes, and I have entered the 4Digit Codes differently:

    It will now generate this error message to show that the two passcodes

    dont match, the user has to re -enter the data.

  • 7/29/2019 Computer Science Coursework Presentation

    20/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 82

    EM5 - Add Tasks Limiting the amounts of tasks (ERROR E13)

    There is a limit on the amount of tasks that you can add to the database,

    it is 11 in this program, and there will be an error generated when one

    tries to add more than 11 tasks.

    This is what the error would look like:

    EM6 - Add Tasks/Edit Tasks

    500 word limit on the description (ERROR E5,

    E6 )

    There is a limit on the size of the description that you can add to the

    database, it is 500 words in this program, and this particular error will be

    generated if the description is larger than 500 words.

    This is what the error would look like:

  • 7/29/2019 Computer Science Coursework Presentation

    21/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 83

    EM7 - Member file not found error (ERROR E2)

    There will be no error generated but it will create a new member in the

    database, this is the form that will pop up in order to do this:

    EM8 - Changing Operating system (ERROR E14)

    When the user tries to change the operating system there is a check that

    the program asks to confirm if the choice they have made is correct.

    EM9 Checking space left (ERROR E3)

    When the program loads and if there is not sufficient amount of memorythis message will popup telling them to fix the space.

  • 7/29/2019 Computer Science Coursework Presentation

    22/22

    Computer Science Coursework Abhi Agarwal

    Computer Science Coursework 84

    EM10, EM11 Add new member (ERROR E20, E15)

    EM10 - When the adds a new member, the username h as to be lower

    than or equal to 10 letters, or this error wil l be displayed to the user:

    EM11 - When the adds a new member, the password has to be a integer

    or this error will be displayed: