帮我写一个大学生考评系统设计与实现代码
时间: 2023-08-28 15:08:37 浏览: 94
好的,下面是一个简单的大学生考评系统的设计与实现代码:
## 系统设计
该系统包括以下模块:
1. 用户管理模块:负责学生、教师、管理员的注册、登录、个人信息管理等功能。
2. 课程管理模块:负责课程信息的录入、修改、查询等功能。
3. 成绩管理模块:负责成绩的录入、查询、统计、分析等功能。
4. 考评管理模块:负责考评计划的制定、发布、审核等功能。
5. 系统管理模块:负责系统的配置、日志管理、安全管理等功能。
## 实现代码
### 用户管理模块
#### 注册
```python
def register(username, password, role):
# 根据角色创建不同的用户对象
if role == 'student':
user = Student(username, password)
elif role == 'teacher':
user = Teacher(username, password)
elif role == 'admin':
user = Admin(username, password)
else:
return False, 'Invalid role.'
# 判断用户名是否已存在
if user.exist():
return False, 'User already exists.'
# 保存用户信息
user.save()
return True, 'Register success.'
```
#### 登录
```python
def login(username, password):
# 根据用户名查找用户
user = User.find(username)
if user is None:
return False, 'User not found.'
# 验证密码是否正确
if not user.verify_password(password):
return False, 'Invalid password.'
# 保存登录信息
session['username'] = username
session['role'] = user.role
return True, 'Login success.'
```
### 课程管理模块
#### 录入课程
```python
def add_course(course_name, teacher_name):
# 根据教师姓名查找教师
teacher = Teacher.find(teacher_name)
if teacher is None:
return False, 'Teacher not found.'
# 创建课程对象
course = Course(course_name, teacher)
# 判断课程是否已存在
if course.exist():
return False, 'Course already exists.'
# 保存课程信息
course.save()
return True, 'Add course success.'
```
#### 修改课程
```python
def update_course(course_id, course_name, teacher_name):
# 查找课程
course = Course.find(course_id)
if course is None:
return False, 'Course not found.'
# 根据教师姓名查找教师
teacher = Teacher.find(teacher_name)
if teacher is None:
return False, 'Teacher not found.'
# 更新课程信息
course.name = course_name
course.teacher = teacher
course.save()
return True, 'Update course success.'
```
#### 查询课程
```python
def find_course(course_id):
# 查找课程
course = Course.find(course_id)
if course is None:
return False, 'Course not found.'
# 返回课程信息
return True, {
'id': course.id,
'name': course.name,
'teacher': course.teacher.name
}
```
### 成绩管理模块
#### 录入成绩
```python
def add_score(student_name, course_id, score):
# 根据学生姓名查找学生
student = Student.find(student_name)
if student is None:
return False, 'Student not found.'
# 查找课程
course = Course.find(course_id)
if course is None:
return False, 'Course not found.'
# 创建成绩对象
score = Score(student, course, score)
# 判断成绩是否已存在
if score.exist():
return False, 'Score already exists.'
# 保存成绩信息
score.save()
return True, 'Add score success.'
```
#### 查询成绩
```python
def find_score(student_name=None, course_id=None):
# 根据学生姓名和课程ID查询成绩
scores = Score.find(student_name, course_id)
# 返回成绩信息
result = []
for score in scores:
result.append({
'student': score.student.name,
'course': score.course.name,
'score': score.score
})
return True, result
```
#### 统计成绩
```python
def stat_score(course_id):
# 查找课程
course = Course.find(course_id)
if course is None:
return False, 'Course not found.'
# 统计成绩
scores = Score.find(None, course_id)
count = len(scores)
total = sum(score.score for score in scores)
avg = total / count if count > 0 else 0
# 返回统计结果
return True, {
'count': count,
'total': total,
'avg': avg
}
```
### 考评管理模块
#### 制定计划
```python
def make_plan(name, start_time, end_time):
# 创建考评计划对象
plan = Plan(name, start_time, end_time)
# 判断计划是否已存在
if plan.exist():
return False, 'Plan already exists.'
# 保存计划信息
plan.save()
return True, 'Make plan success.'
```
#### 发布计划
```python
def publish_plan(plan_id):
# 查找计划
plan = Plan.find(plan_id)
if plan is None:
return False, 'Plan not found.'
# 修改计划状态为已发布
plan.status = PlanStatus.PUBLISHED
plan.save()
return True, 'Publish plan success.'
```
#### 审核成绩
```python
def audit_score(course_id, plan_id):
# 查找课程和计划
course = Course.find(course_id)
if course is None:
return False, 'Course not found.'
plan = Plan.find(plan_id)
if plan is None:
return False, 'Plan not found.'
# 审核成绩
scores = Score.find(None, course_id)
for score in scores:
if score.score >= 60:
score.status = ScoreStatus.PASS
else:
score.status = ScoreStatus.FAIL
score.save()
# 修改计划状态为已完成
plan.status = PlanStatus.COMPLETED
plan.save()
return True, 'Audit score success.'
```
### 系统管理模块
#### 配置系统
```python
def config(key, value):
# 创建配置对象
config = Config(key, value)
# 判断配置是否已存在
if config.exist():
return False, 'Config already exists.'
# 保存配置信息
config.save()
return True, 'Config success.'
```
#### 管理日志
```python
def log(level, message):
# 创建日志对象
log = Log(level, message)
# 保存日志信息
log.save()
return True, 'Log success.'
```
#### 安全管理
```python
def change_password(username, password):
# 查找用户
user = User.find(username)
if user is None:
return False, 'User not found.'
# 修改密码
user.password = password
user.save()
return True, 'Change password success.'
```
阅读全文