I've created a fully formatted SEN assignment with your GitHub username ready for PDF conversion.
Below is the content you can directly save as PDF:
SOFTWARE ENGINEERING (SEN) ASSIGNMENT
PROJECT TITLE:
Student Course Registration System
NAME:
IBITOYE RAFIU KEHINDE
MATRICULATION NUMBER:
24/15364
COURSE CODE:
INTRODUCTION TO SOFTWARE ENGINEERING
DEPARTMENT:
Computer Science
PROJECT DESCRIPTION
This project is a Student Course Registration System, a simple web-based application that allows
students to register, login, select courses, and view their registered courses. The system is designed to
demonstrate the Software Development Life Cycle (SDLC) in practice.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
We will use the Waterfall Model for this project.
1. Requirement Analysis
Functional Requirements: - Student can create an account - Student can login - Student can register
courses - Student can view registered courses
Non-Functional Requirements: - Easy to use interface - Secure storage of data - Fast response - Works
on any browser
1
2. System Design
Architecture: - Client–Server Architecture
Database Design:
Table: students | Field | Type | |-------|------| | id | Integer | | name | Text | | email | Text | |
password | Text |
Table: courses | Field | Type | |-------|------| | id | Integer | | course_name | Text |
Table: registrations | Field | Type | |-------|------| | id | Integer | | student_id | Integer | | course_id |
Integer |
3. Implementation
Project Folder Structure
student_course_registration_system/
│
├── [Link]
├── [Link]
├── templates/
│ ├── [Link]
│ ├── [Link]
│ ├── [Link]
├── static/
│ └── [Link]
└── [Link]
[Link]
from flask import Flask, render_template, request, redirect
import sqlite3
app = Flask(__name__)
def get_db():
return [Link]("[Link]")
@[Link]("/", methods=["GET", "POST"])
def login():
if [Link] == "POST":
email = [Link]["email"]
password = [Link]["password"]
db = get_db()
2
cursor = [Link]()
[Link]("SELECT * FROM students WHERE email=? AND password=?",
(email, password))
student = [Link]()
if student:
return redirect("/dashboard")
return render_template("[Link]")
@[Link]("/register", methods=["GET", "POST"])
def register():
if [Link] == "POST":
name = [Link]["name"]
email = [Link]["email"]
password = [Link]["password"]
db = get_db()
cursor = [Link]()
[Link]("INSERT INTO students (name, email, password) VALUES
(?, ?, ?)",
(name, email, password))
[Link]()
return redirect("/")
return render_template("[Link]")
@[Link]("/dashboard")
def dashboard():
return render_template("[Link]")
if __name__ == "__main__":
[Link](debug=True)
[Link]
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Student Login</h2>
<form method="post">
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password"
required><br>
<button type="submit">Login</button>
</form>
<a href="/register">Register</a>
3
</body>
</html>
[Link]
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h2>Student Registration</h2>
<form method="post">
<input type="text" name="name" placeholder="Full Name" required><br>
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password"
required><br>
<button type="submit">Register</button>
</form>
</body>
</html>
[Link]
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h2>Welcome to Student Dashboard</h2>
<p>You have successfully logged in.</p>
</body>
</html>
4. Testing
Testing Methods: - Unit Testing
- Manual Testing
Test Cases: | Test Case | Expected Result | |-----------|----------------| | Login with correct details | Login
successful | | Login with wrong details | Login denied | | Register student | Data saved |
4
5. Deployment & Maintenance
• Runs on local server (localhost)
• Can be deployed on Heroku / Render
• Future updates:
• Admin panel
• Password encryption
• Course management
6. GitHub Repository
Push the project to GitHub using:
git init
git add .
git commit -m "Initial commit – SEN project"
git branch -M main
git remote add origin [Link]
[Link]
git push -u origin main
Add this at the last page of your assignment:
GitHub Repository Link:
[Link]