zoukankan      html  css  js  c++  java
  • 学生选课系统 —— 作业需求

    学生选课系统 —— 作业需求

    引言

      亲爱的同学们,当你们打开这篇作业的时候,恭喜你们,python的基础课程你们已经学完一半了。面向对象是大家在学习过程中的一个重要转折,从这里开始,你们需要切换成另外一种思维来编写程序,这将非常有利于你们未来开发功能复杂的项目,所以请大家一定要用心来完成这部分的作业。

          从这部分开始,我们的作业说明也变得更加复杂,因为所有的程序开发都是从核心功能出发的,所以我们在开发的时候首先要完成的总是最主要的功能,以后大家还要慢慢学会自己提取“核心的功能”、进行“需求分析”,“程序设计”等工作来保证你们能够顺利成长为一个优秀的程序员。但是由于各位是初学者,所以先由我们来替你们完成这些基础工作,你们只管写代码就好了。

    核心功能

    功能概述

    学生选课

    需求分析

      从“学生选课系统” 这几个字就可以看出来,我们最核心的功能其实只有 选课。

    角色

      学生、管理员

    功能

      登陆 : 管理员和学生都可以登陆,且登陆之后可以自动区分身份

      选课 : 学生可以自由的为自己选择课程

      创建用户 : 选课系统是面向本校学生的,因此所有的用户都应该由管理员完成

      查看选课情况 :每个学生可以查看自己的选课情况,而管理员应该可以查看所有学生的信息

    工作流程

      登陆 :用户输入用户名和密码

      判断身份 :在登陆成果的时候应该可以直接判断出用户的身份 是学生还是管理员

      学生用户 :对于学生用户来说,登陆之后有三个功能

           1、查看所有课程

           2、选择课程

           3、查看所选课程

           4、退出程序

          管理员用户:管理员用户除了可以做一些查看功能之外,还有很多创建工作

           1、创建课程

           2、创建学生学生账号

           3、查看所有课程

           4、查看所有学生

           5、查看所有学生的选课情况

           6、退出程序

    程序设计

    对于复杂的功能,我们首先就应该想到面向对象编程。而要想将面向对象的程序开发好,就应该做好类和对象的分析工作。

    复制代码
      选课系统简单的划分其实只有两个角色:管理员和学生。
    
      仔细思考,你会发现有很多想不通的地方,比如学生选课,课从哪里来?
    
      这样一想就会发现,其实课程应该可以由管理员创造出来,那么课程又会有很多属性:价格、周期、课程名、授课老师等等
    
      那么课程也应该是一个类。
    复制代码

    综上,本程序最基础的分析已经完毕。接下来我们要把所有的类以及其中的属性、方法设计出来

    课程

      属性:课程名、价格、周期、老师

      *课程并没有什么动作,所以我们只设计属性不设计方法。其实这里还可以设计很多属性,比如课程的开始时间、结束时间、教室等等,只要你需要,这些都可以记录下来,但是这里我们为了简化代码,就先不设计这些了。

    学生

      属性:姓名、所选课程

      方法:查看可选课程、选择课程、查看所选课程、退出程序  

    管理员

      属性:姓名

      方法:创建课程、创建学生学生账号、查看所有课程、查看所有学生、查看所有学生的选课情况、退出程序

    流程图

    采分点

      1.类的创建和规划 30分

      2.登陆自动识别身份 10分

      3.管理员创建各种信息 20分

      4.学生选课 20分

      5.将内存中的数据保存到文件中 10分

      6.代码简洁、调理清晰10分

    来源:https://www.cnblogs.com/Eva-J/articles/9235899.html

  • 相关阅读:
    孙陶然的五行文化,学习,真实用
    查看CPU使用率
    卸载windows补丁
    结束普通方法无法结束的进程
    三观
    如何知道一个EXE使用什么开发语言开发的
    文本文件处理,删除其中含有某些字符文本的行,一行命令搞定
    Delphi 字符串转日期,强大到窒息,VarToDateTime 解决了 困扰很久的小问题
    netstat -an查看到大量的TIME_WAIT状态的解决办法
    跨平台开发应用
  • 原文地址:https://www.cnblogs.com/yx12138/p/10798174.html
Copyright © 2011-2022 走看看