zoukankan      html  css  js  c++  java
  • python27 选课系统,需求分析

    角色:学校、学员、课程、讲师
    要求:

    1. 创建北京、上海 2 所学校

      学校 

      属性:名字  地址  电话    课程列表 (目前可以将课程存到学校中 后期要反过来 在课程中存储学校信息)

      行为: 创建课程 

    2. 创建linux , python , go 3个课程 , linuxpy 在北京开, go 在上海开

      课程

      属性:课程名称 价格 周期  学校名称 

      行为:

    3. 课程包含,周期,价格,通过学校创建课程 

       

    4. 通过学校创建班级, 班级关联课程、讲师

      班级

      属性:班级名称  课程名称    老师名称

      行为:

       

    5. 创建学员时,选择学校,关联班级

      学生

      属性:姓名,性别,年龄  学校名称   班级名称

      行为:选择校区   选择课程   加入班级   交学费    注册

       

    6. 创建讲师角色时要关联学校, 

      讲师

      属性:姓名年龄,性别,学校名称  

      行为: 修改学生成绩     选择班级  查看班级学员列表

       

       

      1. 提供三个角色接口

        ​ 学员: 登录 注册 选课 交学费   查看自己的分数

        ​ 老师: 登录, 选择班级 , 修改学员成绩  查看学员信息     

        ​ 管理: 登录,注册, 创建校区,创建讲师,创建课程,创建班级

        ​

        ​

      管理员:

      属性: 账号 密码  

      行为:创建学校,创建班级,创建讲师,  创建课程 

       

    7. 上面的操作产生的数据都通过pickle序列化保存到文件里

      pickle 可以直接存储任何类型对象

    需求分析 :    

    明确要做的程序 具备哪些功能,并分析 每个功能是否可以用代码实现, 产生需求文档  

    技术选型:

      1.要使用的技术是否已经成熟  (使用的人多,有完整官文档,还有相对活跃的社区)

    1. 需要考虑开发团队是否能够hold住该技术

     

    面向对象 还是 面向过程

    如果项目体积较大,后续可能需要修改需求或是增加需求,优先考虑 面向对象 

     

    1.分析需求 确定需要哪些对象和类 ,分别有哪些特征和行为  

    三层:

    用户层V  接口层C  数据访问层M

    用户层 :与用户交互  输出数据  或者接收输入 

    接口层:  1.判断 验证 组装 数据  交给给数据访问层 来存储    2.从数据访问层拿到数据 组装成用户可以看懂的格式 交给用户层

    数据访问:  提供数据的读取和存储 

     

    model  模型 就是一个对象 专门用于描述数据  相当于数据容器

      需要的文件应该放在那一层 

    与用户直接打交道的  例如请输入功能序号  放到用户层 

    user_view

    teacher_view

    admin_view

    一堆类 例如学生 课程   等 放在数据访问层  

    接口层:

    user_interface

    teacher_interface

    admin_interface

    数据访问层:

    DBHandler

    标准文件目录:
    bin

    start.py

    conf

    settings.py

    lib

    common.py

    core

    user_view

    teacher_view

    admin_view

    db

    DBHandler

    models

    interface

    user_interface

    teacher_interface

    admin_interface

    logs

    一堆日志文件

     

    从用户层开始写  功能选择

    用户的登录 注册 

    先后顺序 不是必须的 

    管理员

    学生

    老师

  • 相关阅读:
    Viewer.js 图片预览插件使用
    SqlServer关于“无法删除数据库 "XXXX",因为该数据库当前正在使用”问题的解决方案
    MySQL数据类型详解
    Node.js安装详细步骤教程(Windows版)
    RGB颜色查询对照表
    HTML加载FLASH(*.swf文件)详解
    Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】
    SpringBoot访问jsp页面
    Servlet详解
    Session的生命同期
  • 原文地址:https://www.cnblogs.com/llx--20190411/p/10900771.html
Copyright © 2011-2022 走看看