Python Sba Sms
Python Sba Sms
[Strictly adhere to the object oriented programming specifications given in the problem
statement. Template code is provided to ease the input output process. Template code
will not work. You need to fill in the missing code.]
Business Requirement:
Your task is to create a basic School Management System where students can register
to the system and courses, and also view the courses assigned to them.
Work-Flow:
Only students with right credentials can login. Otherwise, a message is displayed: “Wrong
Credentials!”
1. Valid students are able to see the courses they are registered.
2. Valid students are able to register to any course in the system.
Database:
CSV Files
Three Comma Separated Values (csv) files that contain columns specified in the tables
below are provided. The tables are in the following format:
Format:
Name Description
The name of the The description of what this column contains.
column
File 1 – students.csv:
Name Description
File 2 – courses.csv:
Name Description
File 3 – attending.csv:
Name Description
The attributes for the Student class are specified in TABLE 1. These attributes have GETTER
methods. Each instance of the Student class must carry data related to only a single Student.
TABLE 1:
The attributes for the Course class are specified in TABLE 2. These attributes have GETTER
methods. Each instance of the Course class must carry data related to only a single Course.
TABLE 2:
The attributes for the Attending class are specified in TABLE 3. These attributes have GETTER
methods. Each instance of the Attending class must carry data related to only a single assignment of
a Student to a Course.
TABLE 3:
- __init__ method that initializes the instance attributes. Every DAO class must have an
instance attribute which is a list of objects associated with each Model class. __init__ method
should read the associated csv file, parse the data and store it into each list.
StudentDAO class is going to be used to search the csv files for student’s information
only.
CourseDAO class is going to be used to query the database for course’s information
only.
Main Entry: In the module named, MainEntryPoint, there is a function named, main.
When your code is completed, this function will be used to run the School Management
System.
Example Workflow:
Welcome!
1. Student
2. Quit
Please, Enter 1 or 2: 1
Wrong Credentials!
1. Student
2. Quit
Please, Enter 1 or 2: 1
My Courses:
# COURSE NAME INSTRUCTOR NAME
1 Python Basic Young
2 Jazz History Ryan
3 Number Theory Mike
1. Register To Course
2. Logout
Please, Enter 1 or 2: 1
All Courses:
ID COURSE NAME INSTRUCTOR NAME
CS101 Intro Prog Mark
CS102 Python Basic Young
CS103 Java Basic James
SC105 Intro Bio Lisa
SC205 Organic Chem Jake
MS200 Jazz History Ryan
EN120 Writing Jill
MT680 Number Theory Mike
HT150 US History Matt
Attempting To Register...
1. Register To Course
2. Logout
Please, Enter 1 or 2: 1
All Courses:
ID COURSE NAME INSTRUCTOR NAME
CS101 Intro Prog Mark
CS102 Python Basic Young
CS103 Java Basic James
SC105 Intro Bio Lisa
SC205 Organic Chem Jake
MS200 Jazz History Ryan
EN120 Intro Writing Jill
MT680 Number Theory Mike
HT150 US History Matt
Attempting To Register...
Registration Successful!
My Courses:
# COURSE NAME INSTRUCTOR NAME
1 Python Basic Young
2 Jazz History Ryan
3 Number Theory Mike
4 US History Matt
1. Register to Course
2. Logout
Please, enter 1 or 2: 2