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

一堆日志文件

 

从用户层开始写  功能选择

用户的登录 注册 

先后顺序 不是必须的 

管理员

学生

老师

原文地址:https://www.cnblogs.com/llx--20190411/p/10900771.html