前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网上课程管理系统---大致框架(伪代码)

网上课程管理系统---大致框架(伪代码)

作者头像
py3study
发布2020-01-15 17:18:58
1.2K0
发布2020-01-15 17:18:58
举报
文章被收录于专栏:python3python3

 网上课程管理系统---大致框架(伪代码)

一、复习继承

继承:什么是什么的关系

单继承:

  先抽象再继承,几个代码之间相同的代码抽象出来,成为父类

  子类自己没有的名字,就可以使用父类的方法和属性

  如果子类自己有,一定先用自己的

  在类中使用self的时候,一定要看清楚self指向谁

多继承:

  新式类和经典类:

   多继承寻找名字的顺序:新式类广度优先,经典类深度优先

   新式类中有一个类名.mro方法,查看广度优先的继承顺序

      python3中有一个super方法,根据广度优先的继承顺序查找上一个类

二、网上课程管理系统

系统需求文字类描述:

1、开始登入,判断身份

2、身份确定后,每个身份对应的需求:

(1)讲师:查看课程信息;查看讲的班级信息;查看带的学生信息

(2)学生:选择班级;查看自己的信息

(3)管理员:创建讲师账号;创建学生账号;创建课程;创建班级;给讲师分配课程;给讲师分配班级

3、退出,结束

注意:应当使用软件规范去写(在前面的‘包的进阶’里面有提到一些大概)

根据软件规范的几个文件包,先大概了解一下整个系统大致流程,先用伪代码来阐述

(1)bin文件里面存有start.py文件,主要是大目录路径的导入,方便后续模块的导入

代码语言:javascript
复制
#  修改sys.path,把学校课程管理系统这个路径写到sys.path列表中
#  之后所有的模块导入,都是基于学校课程管理系统
#  比如调用core里面的main方法
from core import main
if __name__ == '__main__':
    main.main  # 调用main模块里面的main方法

(2)core文件,主函数,程序的入口,里面应当有登入函数以及main函数

代码语言:javascript
复制
#  主函数 程序入口
def login():
    '''
    登入函数,应该先到conf.config文件中读取userinfo文件中的路径,读取userinfo文件中的信息,
    对用户名和密码进行检验,登入成功后,查看这个人的身份,来确定进入哪一个试图
    :return:
    '''

def main():
    '''
    打印欢迎信息
    login:什么三次登入之类的  得到返回值:用户的姓名和身份
    打印用户身份对应的功能菜单(功能菜单写在管理员里面)
     如果用户想要调用任何方法应该通过角色对象调用,跳转到对应的对象的方法里面,core比如管理员里面的方法都是通过管理员进行调用,
    :return:
    '''

除了main函数外,还有有关的几个身份类也放在core文件中

管理员类:根据前面的系统大概要求可以知道管理员类大致拥有的一些属性

代码语言:javascript
复制
class Manager:
    menu = {'创建讲师账号':'','学生账号':'','创建课程':'','创建班级':'','分配班级和课程':''}
    def __init__(self,name,):
        self.name = name

    def createrTeacher(self):
        pass

    def createrStudent(self):
        pass

老师类:大致拥有的属性如下,这里就涉及到了前面学过的组合的知识:一个对象的属性=另一个对象

代码语言:javascript
复制
class Classes:
    def __init__(self,school,name,kind):
        self.school = school # 学校
        self.name = name #  班级名称
        self.kind = kind #  班级科目
        self.student = ['student_obj'] #  应该有学生的所有信息

class Course:
    def __init__(self,name,period,price):
        self.name = name
        self.period = period
        self.price = price
c = Course('python','6 month',19800)
class Teacher:
    def __init__(self,name):
        self.name = name
        self.classes = ['classes_obj']
        # self.course = c  # 组合 self.course相当于复制了course里面的所有属性,
        # 这里也可以先不要加course,可以放在后面先将老师实例化 再添加课程
t = Teacher('blue')
t.course = c  # 组合:对象的属性=对象 先给老师实例化后,再给老师创建一个属性

(3)db文件,只要一些重要的数据文件都可以放在db文件里面,比如用户名,用户密码,身份判断等

代码语言:javascript
复制
#  和文件相关的都放入db里面
用户名
用户密码
身份判断

(4)conf文件,conf里面存放了用户相关信息的路径,这样可以方便后续登入的时候直接调用路径就可以查看用户的相关信息,不用每次都导入一个信息表

代码语言:javascript
复制
#  在这里放入userinfo的文件路径
userinfo =r'C:\Users\sku1-1\PycharmProjects\untitled\学校课程管理系统\db\userinfo'
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档