An open API service indexing awesome lists of open source software.

https://github.com/vibhoothi/student_diary

S3 Btech CSE OOPS(JAVA) Project
https://github.com/vibhoothi/student_diary

oops-in-java

Last synced: 8 months ago
JSON representation

S3 Btech CSE OOPS(JAVA) Project

Awesome Lists containing this project

README

          

## Author
* Vibhoothi

Thanks to Nidihin mahesh and Aruna mayura for the doucmentation
[Link to original
Documentation](http://www.amrita.ac.in/sreekumar/java17/proj-changes.html)

## Difference between student Profile and Student Diary

A student profile only provides details about name, address, contact
number, father, local gaurdian etc. It is a static information which
don't give any details about the student.

Student Diary keeps track of all activities (both academic and
extracuricular activities) of a student from the date of joining till
he/she finishes his/her course.For example,

* Participation in a Tech Fest
* Winning prizes in events
* Cultural event participation
* Malpractise during exam
* Other wrong remarks etc
* Placement Details
* History of CGPA and arrears.

## Stages

**Stage 1**

List down the classes which you require to develope the software based
on your own ideas. (Don't consult other people for ideas).

Write skelton (if possible working) code for all the classes with a
main
class (which has public static void main(String[] args)) method known
as
"StudentDiary.java". The number of classes should not be less than 100.
If so, your code is outrightly rejected.

This will be the class invoked using command $ java Student Diary

No login, password protection is required. It takes away your time.
Upload (check in/ commit) your code in SVN. Deliverable: You need to
submit softcopy and hardcopy of the classes and their functions along
with an overall write-up about the software you are going to build.

**Stage 2**

Check out the code from SVN, refactor( restructure/rename/modify) your
code (classes and methods) using the principle of inheritance and
polymorphism. Use bottom up approach. That is group all similar classes
and think whether they can have a super class. Sometime, the super
class
may be an abstract class. There are plenty of opportunities in the
software for inheritance, polymorphism and abstract classes. Commit
your
code (version 2) in SVN (SVN will take care of verision) Deliverable:
Nothing.

**Stage 3**

Checkout the code, now think of applying Interfaces and group your
classes into meaning full packages. (The standard way of naming is
"org.amrita.u4cseXXX.project".

Commit your code (Version 3) in SVN. Deliverable: Modified version of
first deliverable (both hardcopy and softcopy).

**Stage 4**

Checkout your code. It requires lot of modification because now you
know
more about data structures and genrics in Java. Modify your code to
organize your data in a more understandable way.

Commit your code (Version 4) in SVN. Deliverable: List of data
structures and the purpose of using them in a tabular fashion. (hard
and
soft copy).

**Stage 5**

Checkout your code. Modify your interface from standard terminal to GUI
using Applet or Swing. Though we cover applets towards the end of
semester, we will provide documentation in the web site which will be
self readable.

Commit your code (Version 5) (last one) in SVN.

Deliverable: 1. Zipped source code 2. Brief write-up about your project
experience. [Mention date for all deliverables]

## How to develop software.

It is not possible to finish the code only during lab session. Lab
session should be used for commiting/checkout modifications,
discussions
with faculty and some coding. You are expected to put more effort other
than lab hours in order to meet the deadline.

## User Input and Persistance

Upto version 4, the user interface is terminal. Only during version 5,
you build a GUI using Java Applets/Swing classes.
Data should be persistant. It can stored in a file which can be updated
from time to time. The format may be a plain text file, data file or an
object file.
## SVN Submission

You are provided with an SVN account in Saktimayi with your Amritavidya
credentials. You can access Saktimayi only through AmritaConnect
(either
from lab or from hostel). No Github.

Saktimayi SVN documentation will be available in the website.

## Devlierable Submission

There will be link in AUMS for soft copy and hard copy should be
submitted to your faculty. (No pen and paper). Only neatly typed copies
are accepted.