The Scope and The Purpose of The Project
Bubrain project is an Android Smartphone application which enables Binghamton University students to log in to the Bubrain system(http://www2.binghamton.edu/self-service/).
Bubrain is a complex system, which enables students to view their academic status, student information, financial status, class schedule, student tools and etc. However it is hard for students to log in and find the necessary features easily in Bubrain because the website is pretty complex and it’s interface is designed for personal computers.
This project aims easy access to Bubrain and view their schedules via this mobile application. In this application, the most necessary features are selected carefully and the menu is redesigned for easy and quick access.
This will be a free application, so all Binghamton University students will be able to download the application from Android Market. The system is a login/logout system so the students are expected to enter Bubrain account username and password.
Hardware and Software
Android Development Environment, Eclipse 3.6 (Helios) and the latest version of Java JDK is required. Minimum configuration of development environment PC’s:
- Minimum processors requirement: 1 gigahertz (GHz) processor
- Minimum memory requirement: 256 MB RAM
- 2 GB of available hard disk space required
- Windows XP or higher operating system, Linux will be better.
Users Manual of BUBrain for Android Project
BU Brain Mobile application is an application designed to run on an Android Operating System. It makes http request to university’s server in order to access Binghamton University database. The connection is through internet connection either using wireless communication or using the service phone operator provides. Application consists of five major screens: Main screen, Bu Info screen, Personal Info screen, Student screen, and Registration screen.
- Main Tab
Main is the interface holding links to other activities. Basically, it has four buttons, named Bu Info, Personal Info, Student, Registration and a Login interface below the buttons. Some of the activities in the program require login, so their buttons are disabled in the beginning of the program.
Login Interface: It will be on the main part of the program, below the buttons of other activities. It consists of two edit text boxes and a login button. After the user fills username and password edit text boxes and presses the Login button, the username-password couple sent to corresponding Binghamton University Server and an authorization is made if login is successful. This authorization also enables the buttons disabled in the beginning.
- BU Info Tab
This tab deals with the information independent from the student. It has links to common used websites in Binghamton University. These links are Bing Map, Bus Schedule, and Academic calendar.
Bing Map: Creates intent to a web browser, and directs user to http://www.binghamton.edu/maps/ , which goes to the Binghamton University Maps webpage.
Bus Schedule: Creates intent to a web browser, and directs user to http://occt.binghamton.edu/index.php/schedules , which goes to the Binghamton University OCCT web page.
Academic Calendar: Creates intent to a web browser, and directs user to http://www2.binghamton.edu/about/university-calendar.html , which goes to the Binghamton University Academic Calendar.
- Personal Info Tab
This part is dealing with the personal information of the student. It’s list will have “What’s my BU?”, “Address and Telephone Number Info”, “Emergency Alert Notification”, “Emergency Security Contact Info”.
What’s my BU? : This activity is enabled after a user had successfully logged in. It will get the BU Number of the logged user and display it on the screen.
Address and Telephone Number Info: Provides user interface to view their address and phone number information.
Emergency Alert Notification: Creates intent to direct the user to a web page that allows users to configure emergency alert notifications.
Emergency Security Contact Info: Provides user interface to view their emergency security contact information.
- Student Tab
Student tab is dealing with displaying the academic status of the student. Its sub features are “My Grades”, “My Schedules”, “View Holds”, and “Final Exam Schedule”. View Holds: This feature enables user to view their holds on their accounts. User will see the hold type from Student Accounts, the detailed information will be displayed after selecting that hold type. The next page will contain all the details of the hold:
- Hold Type - From Date - To Date - Amount - Reason - Originator - Processes Affected
! If users have no hold on their accounts, the program will display an error saying “No holds exists on your account.”
My Grades: In this feature, users see a drop down list that they can choose the term in order to see their schedules. And then, all of the final grades, earned hours, GPA Hours, Quality Points of the courses are displayed to them in the new activity. This activity also shows the cumulative GPA of the selected term. When this feature is selected, a new activity will display the terms and dates. After selecting the term a new activity will show :
- Student Information - Undergraduate Course Work - Undergraduate Summary
* Student Information: Under this activity, these features will be displayed:
- Current Program - Level - Program - Admit Term - Catalog Term - College - Major and Department - Academic Standing
* Undergraduate Course Work: Under this activity, the taken courses and the grades of that courses will be displayed. When user selects one of the courses, these features will be displayed:
- CRN - Subject - Course - Section - Course Title - Campus - Final Grade - Attempted - Earned - GPA Hours - Quality Points
* Undergraduate Summary: Under this activity, these features will be displayed:
- Current Term - Cumulative - Transfer - Overall
If one of them is selected by the user, these will be displayed with the related feature:
- Attempted - Earned - GPA Hours - Quality Points - GPA
My Schedules: In this feature, users see a drop down list that they can choose the term in order to see their schedules. By this way, students can see the detailed schedule of the selected term in the new activity. When this feature is selected, a new activity will display the terms and dates. After selecting the term a new activity will show the related courses of the selected term. When the user selects a course from the displayed activity, these features are going to be displayed:
- CRN - Course Number - Title - Registration Status - Credits - Grade Mode - Date Range - Days - Time
! If users select a term that they are not registered, the program will display an error saying “You are not currently registered for this term”
Final Exam Schedule: Users select a department from a drop down list, and they will see the detailed table of course names, exam dates, time, locations, and instructors of the related courses. The classes with shortened names will be displayed after selecting one of them. Classes with exam dates will be displayed. After selecting one of these courses, these features of that class will be displayed:
- Dept - Course - Section - Date - Start - End - Location - Instructor
- Registration Tab
This part is dealing with students’ registration. It lists will have “Look Up Classes”, “Fast Register”, and “View Registered Courses”. When View Registered Courses is selected, terms will be displayed. After selecting the term, the registered course with CRN and Subject will be displayed. When the user selects one of the courses, these features are going to be displayed:
- Status - CRN - Subject - Crse - Section - Level - Credits - Title
! If the user has hold in his account, this error will be displayed saying “You may not add or drop classes due to holds on your record.” ! If the user is not currently registered for that term, this error will be displayed saying “You are not currently registered to any classes for his term.”
- The Overview of the Project
Here is the basic working diagram of the BUBrain for Android Project. Firstly the application connects to the website and makes an HTTP request. Binghamton University Server processes the request and sends an HTTP response. BUBrain application parses the incoming HTTP post and retrieves the necessary information, this information is sent to the higher level of the application in order to be used.
Programmatically, this application retrieves the information faster than the web browser because of the optimization we made. User accesses information more quickly with the simple design of the application.
- Use Case Diagram for BuInfo
Users are directed to the corresponding web sites when these features are clicked.
- Use Case Diagram for Personal Info
"BU Number", "Address and Telephone Info" and "Emergency Contact Info" features retrieves information via parsing the HTTP post coming from Binghamton University servers. "Emergency Alert Notification" feature directs user to the corresponding web site.
- Use Case Diagram for Student Info
The user, who selected "View Grades" feature, will be directed to an activity, displaying terms. The selected term's grades will be displayed including the specified details in the diagram above(Final Grades, Earned Hours, GPA Hours etc.) The user, who selected "View Schedule" feature, will be directed to an activity, displaying terms. After selecting the term, the schedule will be displayed. The user, who selected "View Holds" feature, will be displayed holds. The user, who selected "View Final Exam Schedule", will be displayed detailed table of courses after selecting department.
- Use Case Diagram for Registration
User will be displayed registered courses when user selects "View Registered Courses" feature. In fast register feature user will be asked the term and then expected to enter CRN's and then submit that courses.
- Class Structure
UIActivity.java is the main activity of the program. It consists of a login screen and navigation buttons to reach menus. Only Bu Info button is available before the login. After a successful login, the other menus are also available.
Login.java is the only class in BUBrain that is not an activity. It holds the static methods for login/logout, and variables for keeping credentials and session information.
Navigate.java is the activity that controls the navigation between menus of BUBrain. It provides a structure for accessing different features (listed below) of BUBrain program. All of the classes below have static methods that can be called from other classes, for retrieving the information in advance to prevent the Application from being “not responding”.
Address and Telephone Info
Address.java : Displays user's address and telephone information.
What is my BU Number?
BUNumber.java : Displays user's BU Number.
Emergency Contact Info
Emergency.java : Displays user's Emergency Contact Information.
Holds.java : Displays the holds (if any) that might prevent the user from registration.
A list that contains brief explanations for the holds is displayed initially; user can click the hold to see more detail.
GradeTerms.java : User is directed to this activity to select a term to display final grades. This activity directs the user to Grades class.
Grades.java : Displays a list of categories for the information about final grades. After a category is selected user is directed to the selected category.
CourseWorkUG.java : User is directed to this class from Grades.java. This activity displays courses and corresponding grades in a list. More information about the course can be accessed by clicking one of the courses.
StudentInfo.java : User is directed to this class from Grades.java. This activity displays students academic information for the selected term.
SummaryUG.java : User is directed to this class from Grades.java. This activity displays a summary of the user’s undergraduate academic status.
ScheduleTerms.java : Displays a list of available semesters to select for showing students schedule. Directs user to Schedule.java.
Schedule.java : Displays a list of courses and course days. Detailed schedule can be accessed by clicking on one of the courses.
Final Exam Schedule
ExamOpt.java : User is directed to this activity when Final Exam Schedule feature is accessed in the Navigate activity. This class provides a list of course categories. Directs the user to FinalExams.java when an option is selected.
FinalExams.java : Displays a list of courses and their final exam dates. More detail about the final exam can be viewed by clicking on the course.
View Registered Courses
RegistrationTerms.java : Displays a list of terms available for registration. Directs user to ViewRegistered.java when a term is selected.
Registration.java : Displays a brief list of registered courses in the selected semester. More detail about the course can be accessed by clicking on the course.
This page is written by Emre Akkus, Selin Cinte and Rabia Sozkesen.
- Emre AKKUS: Programmer/ Application Designer/ Design
- Rabia SOZKESEN: Programmer/ Research / Application Developer
- Selin CINTE: Programmer/ Research/ Analyst