选课系统思路罗列

选课系统

1. 需求分析
角色:学校、学员、课程、讲师
要求:
    1. 创建北京、上海 2 所学校
    2. 创建linux , python , go 3个课程 , linux/py 在北京开, go 在上海开
    3. 课程包含,周期,价格,通过学校创建课程 
    4. 通过学校创建班级, 班级关联课程、讲师5. 创建学员时,选择学校,关联班级
    5. 创建讲师角色时要关联学校, 
    6. 提供三个角色接口  
    	6.1 学员视图, 可以注册, 交学费, 选择班级,  
    	6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩   
    	6.3 管理视图,创建讲师, 创建班级,创建课程
    7. 上面的操作产生的数据都通过pickle序列化保存到文件里
2. 功能提炼
管理员功能 讲师功能 学生功能
注册功能 登录功能 注册功能
登录功能 选择课程 登录功能
创建学校 查看课程 选择学校
创建课程 查看分数 选择课程
创建老师 修改分数 查看分数
3.架构设计

image

4.目录搭建

image

5.功能搭建

第一步:从start.py开始写

》》》start.py里面的代码是用来启动整个程序,就几行代码

 # 1.第一步到模块
"""
os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;
sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,
用于操控python的运行时环境>>>解决项目的兼容性问题。
"""
import os
import sys


# 2.路径的准备工作
base_dir = os.path.dirname(__file__)
sys.path.append(base_dir)


# 3.启动脚本专属的小判断
if __name__ == '__main':
    from core import src
    src.run()


第二步:src.py总视图

from core import admin_view, teacher_view, student_view

# 模块字典
module_dict = {
    '1': admin_view,
    '2': teacher_view,
    '3': student_view
}


def run():
    while True:
        print("""
        ==========选课系统总视图=========
        1.管理员视图
        2.讲师视图
        3.学生视图
        ==============================
        """)
        choice_num = input('请选择视图编号>>>:').strip()
        if choice_num in module_dict:
            module_name = module_dict.get(choice_num)
            module_name.run()
        else:
            print('暂无该视图编号!')

第三步:三个分视图(写出一个其他两个很简单cv之后改一改就行)
1.导入三个分视图
2.写模块字典
3.写启动函数

功能搭建总结:
1.写五个功能空函数
2.写对应的功能字典
3.最后再写功能函数
ps:三个分视图其实是一样的所以写完完整一个
其他两个也就cv再改一改就行
这样就整个项目框架搭建完了
之后往里面具体填写逻辑代码即可

》》》admin_view.py

def register():
    print('管理员注册功能')


def login():
    print('管理员登录功能')


def create_school():
    print('管理员创建学校')


def create_course():
    print('管理员创建课程')


def create_teacher():
    print('管理员创建老师')


func_dict = {
    '1': register,
    '2': login,
    '3': create_school,
    '4': create_course,
    '5': create_teacher
}


def run():
    while True:
        print("""
        +++++++管理员视图+++++++
        1.管理员注册功能
        2.管理员登录功能
        3.管理员创建学校
        4.管理员创建课程
        5.管理员创建老师
        +++++++++++++++++++++++
        """)
        choice_num = input('请输入您想要执行的管理员功能编号>>>:').strip()
        if choice_num == 'q':
            return
        if choice_num in func_dict:
            func_name = func_dict.get(choice_num)
            func_name()
        else:
            print('暂无此项功能编号!')

》》》teacher_view.py

def login():
    print('讲师登录功能')


def check_course():
    print('讲师查看分数')


def choice_course():
    print('讲师选择课程')


def check_score():
    print('讲师查看分数')


def update_score():
    print('讲师修改分数')


func_dict = {
    '1': login,
    '2': check_course,
    '3': choice_course,
    '4': check_score,
    '5': update_score
}


def run():
    while True:
        print("""
        +++++++讲师视图+++++++
        1.讲师登录功能
        2.讲师查看分数
        3.讲师选择课程
        4.讲师查看分数
        5.讲师修改分数
        """)
        choice_num = input('请输入您想要执行的讲师功能编号>>>:').strip()
        if choice_num == 'q':
            return
        if choice_num in func_dict:
            func_name = func_dict.get(choice_num)
            func_name()
        else:
            print('暂无此项功能编号!')

》》》student_view.py

def register():
    print('学生登录功能')


def login():
    print('学生查看分数')


def choice_school():
    print('学生选择课程')


def choice_course():
    print('学生查看分数')


def check_score():
    print('学生修改分数')


func_dict = {
    '1': register,
    '2': login,
    '3': choice_school,
    '4': choice_course,
    '5': check_score
}


def run():
    while True:
        print("""
        +++++++学生视图+++++++
        1.学生注册功能
        2.学生登录功能
        3.学生选择学校
        4.学生选择课程
        5.学生查看分数
        ++++++++++++++++++++++
        """)
        choice_num = input('请输入您想要执行的学生功能编号>>>:').strip()
        if choice_num == 'q':
            return
        if choice_num in func_dict:
            func_name = func_dict.get(choice_num)
            func_name()
        else:
            print('暂无此项功能编号!')

posted @ 2022-11-10 19:05  阿丽米热  阅读(30)  评论(0编辑  收藏  举报
Title