1. Homepage
  2. Programming
  3. [2022] Ottawa - SEG2105 - Introduction to Software Engineering - Android Project: Student Course Booking App
This question has been solved

[2022] Ottawa - SEG2105 - Introduction to Software Engineering - Android Project: Student Course Booking App

Engage in a Conversation
SEG2105Introduction to Software EngineeringAndroidStudent Course Booking AppOttawa

This application will implement a basic course selection service for students and instructors. Students will be able to search for a course, instructors will be able to edit details about their own course, and an administrator will manage users and courses CourseNana.COM

  CourseNana.COM

The purpose of this project is to allow students to apply theoretical knowledge learned in class to a practical application. The project is designed to allow students to learn how to work in teams, develop mobile applications, and test a product. Learning outcomes range from increased understanding of concepts related to software engineering, to overall knowledge of programming for Android, management, and team-relation skills. CourseNana.COM

  CourseNana.COM

The main outcome of the project is the implementation of a Course Booking application for Android devices. Students are to implement all components of the project, from their design specification, UML models, graphical assets, and source code. Students are encouraged to use the available tools in Android Studio but should refrain from copying whole blocks of code from the internet or peers to implement features. Should a group want to use a non-standard tool or API, they should request permission before doing so. CourseNana.COM

  CourseNana.COM

Note that this course does not focus on interface design, therefore the project does not focus on usability aspects. However, students are encouraged to “beautify” their project if they are comfortable. Some design guidelines will be covered in a tutorial session. Android Design Guidelines can be found at: https://developer.android.com/design/index.html CourseNana.COM

  CourseNana.COM

USER TYPES CourseNana.COM

  CourseNana.COM

The app will be created with three different types of user in mind. The administrator, the instructors, and the students. The administrator manages all possible courses that can be offered to students. The administrator also manages instructors and student accounts. Instructor users are able to assign themselves to a course and then specify the course days, course hours, course description, and course capacity. The students are able to search for a course by course code, course name, and course day. They are then able to enroll and unenroll from courses. CourseNana.COM

  CourseNana.COM

The features that must be available for each user are outlined below. Note that these are the minimum required features. You are free to add more features to enrich your app. CourseNana.COM

  CourseNana.COM

The administrator can: CourseNana.COM

  CourseNana.COM

1. Login to an administrator account. The developer should pre-create such an account with these credentials: CourseNana.COM

a. Username: admin CourseNana.COM

b. Password: admin123 CourseNana.COM

2. Create, edit, and delete courses. CourseNana.COM

a. To create a course, the administrator only specifies the course code and course name. No other course information is specified by the admin. For example, the admin wants to add a history course to the list of all courses. CourseNana.COM

i. Course code: HIS101, Course name: History CourseNana.COM

b. The administrator can edit the course code and course name. CourseNana.COM

c. The administrator can delete a course entirely. CourseNana.COM

3. Delete accounts of instructors and students. CourseNana.COM

  CourseNana.COM

An instructor can: CourseNana.COM

1. Create an instructor account and login to that account. CourseNana.COM

2. View and search all courses. CourseNana.COM

3. Assign themselves as an instructor to a course they would like to teach. CourseNana.COM

4. Add and edit the course days, course hours, course description, and course student capacity for the courses they are instructing. CourseNana.COM

5. Un-assign themselves from a course, which deletes the course details. CourseNana.COM

  CourseNana.COM

A student can: CourseNana.COM

1. Create a student account and login to that account. CourseNana.COM

2. View all available courses. CourseNana.COM

3. Search for courses by course code, course name, or by date. CourseNana.COM

4. Enroll and unenroll from courses CourseNana.COM

  CourseNana.COM

  CourseNana.COM

DETAILS CourseNana.COM

The project is to be carried out throughout the session and students are strongly encouraged to maintain a log of their project activities, as task allocation and project flow are components of the final report that you will submit at the end of the project. We suggest students keep track of duty assignments, with complexity of allocated tasks and completion dates. CourseNana.COM

  CourseNana.COM

Your application must be written in Java and built using Android Studio (you can use another IDE, but the TA will only provide support for Android Studio). You should compile your project against the earliest possible SDK version allowed by the API methods you are using. By the end of the semester, you must implement and present a working application based on the specifications. Firebase or SQLite can be used for storing and retrieving the application data. You must use Github for version control and your project repository must be shared with TA username: SEG2105-S2021. CourseNana.COM

  CourseNana.COM

DELIVERABLE 1 CourseNana.COM

  CourseNana.COM

In this deliverable, you must implement the user account management component and the admin functionality. CourseNana.COM

  CourseNana.COM

The app must allow users to create user accounts via a sign up page. Once the user logs in, they should see a second screen with the following message: CourseNana.COM

Welcome ‘firstname/username’! You are logged in as ‘role’. CourseNana.COM

  CourseNana.COM

To simplify the development, there will be a single pre-created admin account. You can use the username admin and the password admin123. You should be able to create as many instructor and student accounts as desired. CourseNana.COM

  CourseNana.COM

The admin functionality includes creating, editing, and deleting courses. The admin must be able to create a course by entering both a course code and a course name. The admin can also edit both the course code and course name of existing courses. These courses can later be seen by instructors and students in later deliverables. If desired, the admin should be able to delete a course entirely. The other functionality the admin should have is to be able to delete both instructor and student user accounts. CourseNana.COM

  CourseNana.COM

You can use Firebase or SQLite for database support. The TA will ask to see the updates in the database during the deliverable presentation. CourseNana.COM

  CourseNana.COM

UML diagram must be uploaded to Brightspace by date specified in “Deliverable Due Dates”. CourseNana.COM

  CourseNana.COM

DELIVERABLE 2 CourseNana.COM

  CourseNana.COM

In this deliverable, you must implement the instructor functionality. CourseNana.COM

  CourseNana.COM

The instructor user functionality includes viewing all courses and searching for specific ones. The instructor must be able to search using the course code and course name. CourseNana.COM

  CourseNana.COM

If a course has no assigned instructor, the user may assign themselves to be the instructorof that course. If the course already has an instructor, the user is unable to assignthemselves as instructor. For courses that they are instructing, the user can add and edit the course days, course hours, course description, and course student capacity. For example: I, an instructor user, search for the course code GYM101. Since there is no assigned instructor, I click a button to assign myself because I would like to teach that course. Now that I am the instructor of GYM101, I select Monday and Wednesday to be the course days. 9:00-10:00am on Mondays and 2:30-3:30pm on Wednesdays. I type a description and set the student capacity to 4 students (it is a very private course!) CourseNana.COM

  CourseNana.COM

The instructor user can also un-assign themselves from a course. This removes the instructor while also removing any specified course days, hours, description, and student capacity. CourseNana.COM

  CourseNana.COM

DELIVERABLE 3 CourseNana.COM

  CourseNana.COM

In this deliverable, you must implement the student functionality as well as finalize the entire application. CourseNana.COM

  CourseNana.COM

The student user functionality includes viewing all courses and searching for specific ones. The student must be able to search using the course code, course name, and day of the week. For example: I, a student user, want to see all courses offered on a Friday. Additionally, student users can view all the details of a course (days, hours, description, capacity). CourseNana.COM

  CourseNana.COM

Another functionality is that student users can enroll into a course. If a student user attempts to enroll into a course that has conflicting hours with an already enrolled course, then the app must show a valid error message. For example: I, a student user, have already enrolled into ART202 on Tuesday at 10:00-11:30am. Then, when I try to enroll into BIO222 that is on Monday and Tuesday at 11:00am-12:00pm, the app will give me an error. CourseNana.COM

  CourseNana.COM

Student users are also able to see a list of all courses that they have enrolled in. Finally, students are able to unenroll from a course. CourseNana.COM

  CourseNana.COM

For the bonus, instructor users should be able to see a list of all student users who have enrolled into a course that they are instructing. The final report is included with this deliverable and must be submitted in Brightspace. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
SEG2105代写,Introduction to Software Engineering代写,Android代写,Student Course Booking App代写,Ottawa代写,SEG2105代编,Introduction to Software Engineering代编,Android代编,Student Course Booking App代编,Ottawa代编,SEG2105代考,Introduction to Software Engineering代考,Android代考,Student Course Booking App代考,Ottawa代考,SEG2105help,Introduction to Software Engineeringhelp,Androidhelp,Student Course Booking Apphelp,Ottawahelp,SEG2105作业代写,Introduction to Software Engineering作业代写,Android作业代写,Student Course Booking App作业代写,Ottawa作业代写,SEG2105编程代写,Introduction to Software Engineering编程代写,Android编程代写,Student Course Booking App编程代写,Ottawa编程代写,SEG2105programming help,Introduction to Software Engineeringprogramming help,Androidprogramming help,Student Course Booking Appprogramming help,Ottawaprogramming help,SEG2105assignment help,Introduction to Software Engineeringassignment help,Androidassignment help,Student Course Booking Appassignment help,Ottawaassignment help,SEG2105solution,Introduction to Software Engineeringsolution,Androidsolution,Student Course Booking Appsolution,Ottawasolution,