老男孩Python基础
第七章 学以致用——学生选课系统
1
CONTENTS
1
功能概述
3
搭建框架
4
细节实现
5
系统优化
目
录
总结
6
2
需求分析
3
当你看到这的时候,恭喜你,Python重要的基础课程已经学习完毕。而面向对象部分则
是基础课程中的一个重要转折点。从面向对象开始,你要试着从面向对象的思想出发,
来编写程序,尤其是将来开发一些功能复杂的系统。而本章的系统则是精心设计而成
的。我们学过的内容都能在该系统中体现。所以,要用心完成本系统。
在完成系统的时候,请务必回顾之前章节所学,让我们在实现系统的过程中更加得心应
手。
“学生选课系统”,顾名思义,本系统必须实现的功能就是选课。
功
能
概
述
老男孩Python学院
4
既然我们主要实现的功能是“选课”,那么我们要实现的核心逻辑都要围着选课展开。
首先我们来思考:学生选课,那么学生由谁来创建?课程由谁来创建?学生能否创建课
程?很明显,从我们现实角度来说,学生只能选择课程而不能创建课程!那么,课程应
该由那个“谁”来创建。而学生也不能是凭空而来的。这里我们也让那个“谁”来创建
学生。所以,我们在这里可以确定三个角色:
1. 可以选择课程的——学生
2. 可供学生选择的——课程
3. 可以创建学生和课程的那个谁——管理员
需
求
分
析
老男孩Python学院
角色设计
5
这里考虑到大家都是初学者,所以,尽量的选择一些简单的功能实现。
1. 登录,管理员和学生都可以登录,并且登录后可以自动区分身份。
2. 选课,学生可以自由的浏览课程信息,并挑选课程。
3. 信息的创建,无论是学生信息还是课程信息,或是其他的信息,都由管理员创建。
4. 查看选课情况,学生可以查看自己的选课情况,而管理员可以查看所有的学生信息(
包括选课情况)。
需
求
分
析
老男孩Python学院
功能设计