首页 > 其他分享 >选课系统思路

选课系统思路

时间:2022-11-13 13:45:00浏览次数:36  
标签:选课 对象 系统 视图 学生 获取 课程 接口 思路

管理员视图

注册功能:register()
  1.获取用户输入:用户名和密码
  2.接入管理员视图接口判断是否已经注册 models:select_obj方法,db_handler中select函数
  3.保存信息:在models文件中创建管理员类 models:save_obj方法,db_handler中save函数,并将save_obj方法在初始化方法中调用,使得对象生成自动序列化进文件中
  
登录功能:login()
  1.获取用户输入:用户名和密码
  2.接入管理员视图接口判断该用户信息是否已经存在
  3.在判断密码是否正确
  4.修改全局变量
  
创建学校功能:create_school()
  1.获取学校信息:学校名、地址
  2.接入管理员视图接口判断是否该学校已经创建
  3.在models文件中创建相应的School类,但是通过管理员的create_school来进行创建学校对象
  
创建老师功能:creat_teacher()
  1.获取老师的信息:讲师名(讲师密码为默认)
  2.接入管理员视图接口判断该老师是否已经存在
  3.在models文件中创建相应的Teacher类,但是通过管理员的create_teacher来创建老师对象
  
创建课程功能:create_course()
  1.先将所有的学校都获取出来,在管理员视图接口中创建get_all_school接口,在models文件的Bases类中创建get_all方法,在db_handler文件中创建get_all函数,
  2.循环打印学校,供管理员选择学校编号
  3.获取学校信息:课程名、价格、周期
  4.调用管理员视图接口创建课程,并在models文件中创建course类
  5.获取课程对象,判断该学校中该课程是否已经存在
  6.通过管理员对象的create_course方法,创建课程对象
  7.将课程名称添加进学校的课程列表中,并保存修改过的学校对象

讲师视图

登录功能:login()
  1.获取登录信息
  2.获取讲师对象,判断是否存在该讲师对象
  3.判断密码是否正确
  4.修改全局变量

选择课程:choice_course()
  1.获取所有的学校,让该老师进行选择
  2.获取讲师选择学校下的课程,供讲师选择
  3.判断老师是否选择过该课程
  4.将该课程添加进老师对象的教授课程中,并保存更新的老师对象
  
查看学生的分数:check_score() 
  1.获取当前老师教授的课程列表,在讲师视图接口中定义一个函数获取老师教授的课程名单返回给第一层视图
  2.循环打印,供讲师选择课程
  3.获取该课程下学生的分数,在第二层接口定义一个获取学生分数的函数,返回学生名称和分数
  
修改学生分数:update_score()
  1.获取当前老师教授的课程列表,在讲师视图接口中定义一个函数获取老师教授的课程名单返回给第一层视图
  2.循环打印,供讲师选择课程
  3.获取该课程下学生的分数,在第二层接口定义一个获取学生分数的函数,返回学生名称和分数
  4.获取想要修改分数的学生姓名、修改的分数
  5.接入第二层接口,修改学生分数
  6.获取学生对象,修改分数字典并保存

学生视图

注册功能:register()
  1.获取用户输入:用户名和密码
  2.接入学生视图接口判断是否已经注册,models文件中创建Student类
  3.保存学生对象:用Student类创建新的学生对象,将save_obj方法在初始化方法中调用,使得对象生成自动序列化进文件中
  
登录功能:login()
  1.获取用户输入:用户名和密码
  2.接入学生视图接口判断该用户信息是否已经存在
  3.在判断密码是否正确
  4.修改全局变量
  
选择学校:choice_school()
  1.获取所有的学校,调用接口中的get_all_school
  2.循环打印给学生选择学校,获取选择的学校
  3.调用的学生视图接口中的choice_school_interface
  4.将该学生对象中的school更改,并保存进文件中
  
选择课程:choice_course()
  1.先获取学生的学校,然后获取该学校下面所有的课程
  2.学生选择课程,并判断是否已经选择过该课程
  3.将该学生对象中的课程进行修改,
  4.学生成绩初始化,将学生对象中的成绩字典修改为:{'课程名':'暂无成绩'}并保存
  5.并获取课程对象,将学生名添加进入课程的学生名单中,并保存
 
查看分数:check_score()
  1.接入第二层学生视图接口
  2.获取学生对象,并判断学生是否选择课程
  3.返回学生成绩字典
  4.在第一层学生视图中打印成绩

标签:选课,对象,系统,视图,学生,获取,课程,接口,思路
From: https://www.cnblogs.com/DuoDuosg/p/16885856.html

相关文章

  • 在 SAP ABAP Gateway 系统上定义后台系统的 Alias
    在SAPFioriLaunchpad中,用户最初连接的系统和分配给用户的应用程序正在运行的系统,即所谓的远程系统(remote系统),可能会有所不同。在FioriLaunchpad中,remotetarget......
  • 在 SAP Fiori Gateway 系统配置一个指向 SAPGUI 事务的 tile
    对于应用程序类型Transaction、WebDynpro和URL,开发人员可以直接在SAPFioriLaunchpadDesigner的目标映射中定义系统别名。目标映射配置中的参数SystemAlias表......
  • Linux纵深防护小记-系统的基本加固要求
    (目录)一、密码策略的强化authconfig--passminlen=12--passminclass=4--passmaxrepeat=2--update密码策略的修改将保存在/etc/security/pwquality.conf中。二、用......
  • 系统bug是什么意思
    在上网的时候,我们可以看到很多各种各样流行的网络用语,其中就有关于系统bug网络用语等,bug是计算机领域专业术语,有些网友不理解系统bug是什么意思?系统bugSystembug......
  • 在 SAP Fiori Launchpad 里给需要执行的 SAPGUI 事物码配置系统别名
    参考SAPnote2448050.需要SAP系统别名作为系统连接的逻辑名称。根据SAPGateway内容场景和系统环境,设置系统别名并指定它应该指向的位置。前置条件为,已定义从ABA......
  • RUST包管理 模块系统讲解
    RUST包管理模块系统0一些基本概念package:包,cargonew生成的整个项目应该可以叫做包(我个人理解是这样的,至少package是最顶层的)一个package包含零个或一个库crate(lib......
  • SAP ERP系统里的那些核心主数据
     SAPERP系统里的那些核心主数据  SAPERP系统的主数据很多,在后勤方面来讲,最重要却又最容易乱的主数据就是物料主数据,供应商主数据,客户主数据。这是SAP系统最基础最......
  • Unix/Linux系统编程(TCP/IP和网络编程)
    TCP/IP协议TCP/IP是互联网的基础。TCP代表传输控制协议。IP代表互联网协议。目前有两个版本的IP,即IPv4和IPv6。IPv4使用32位地址,IPv6则使用128位地址。本节围绕IPv4进行......
  • 学生管理系统(基于控制台的增删改查)
    学生管理系统(基于控制台的增删改查)要求:使用List集合存储自定义的对象集合,并熟练使用List集合的中常用方法实现相关的操作。Java环境:jdk17IDE:Idea2021.1.3目录:目......
  • VMWare Linux系统磁盘扩容
    VMWareLinux系统磁盘扩容当我们在VMwareLinux虚拟机安装软件的时候,发现磁盘不够了,可以考虑给磁盘扩容,而不是重建虚拟机。1.修改磁盘容量点击编辑虚拟设置选择磁......