前言
通过之前学的封装,现在做一个信息管理系统。
软件设计流程
一、系统需求
实现对学生信息的增加、删除、修改和查询。
二、项目分析
界面可能使用控制台,也可能使用Web等等。
- 识别对象:
- 界面视图类
- 逻辑控制类
- 数据模型类
- 分配职责:
- 界面视图类:负责处理界面逻辑,比如显示菜单,获取输入学生信息。
- 逻辑控制类:负责存储学生信息,处理业务逻辑。比如添加学生。
- 数据模型类:定义需要处理的数据类型。比如学生信息。比如学生信息。
- 建立交互。
界面视图对象<---->数据模型对象<---->逻辑控制对象
三、项目设计
- 数据模型类:StudentModel
–数据:编号id,姓名name,年龄age,成绩score - 逻辑控制类:StudentManagerController
–数据:学生列表__stu .list
–行为:获取列表 stu_list,添加学生add_student,删除学生remove_student,修改学生update_student - 界面视图类:StudentManagerView
–数据:逻辑控制对象__manager.
–行为:显示菜单__display_menu,选择菜单项__select_menu,输入学生__input_student,输出学生__output students,根据编号删除学生信息__delete_student,根据编号修改学生信息__modify_student
四、项目计划
- 完成数据模型类StudentModel
- 创建逻辑控制类StudentManagerController
- 完成数据:学生列表__stu .list
- 行为:获取列表 stu_list
- 添加学生add_student
- 根据编号删除学生delete_student
- 根据编号修改学生update_student
- 创建界面视图类StudentManagerView
- 完成数据:逻辑控制对象__manager.
- 显示菜单__display_menu
- 选择菜单项__select_menu
- 输入学生__input_student
- 输出学生__output students
- 根据编号删除学生信息__delete_student
- 根据编号修改学生信息__modify_student
五、项目编码
- 完成数据模型类StudentModel
class StudentModel:
"""
学生模型
"""
def __init__(self,name="",age=0,score=0,id=0):
"""
创建学生对象
:param name::姓名,str类型
:param age:年龄,int类型
:param score:成绩,float类型
:param id: 编号(该学生对象的唯一标识)
"""
self.name = name
self.age =age
self.score = score
self.id = id
- 创建逻辑控制类StudentManagerController
- 完成数据:学生列表__stu .list
- 行为:获取列表 stu_list
class StudentManagerController: