本帖最后由 zhqfangv587 于 2022-3-25 16:48 编辑
项目流程
1.提出需求 需求分析说明书 “产品经理”/“项目经理——项目领导者”
2.需求分析说明书 概要设计 项目经理
3.概要设计 详细设计 项目经理 OOA/OOD 架构师
4.详细设计 开发计划 项目经理
5.编码 程序员
6.软件测试 测试用例 软件测试工程师
7.系统运维 运维工程师
8.用户测试 客户
9.项目维护 程序和服务器
案例:信息管理系统
程序架构:数据模型(Model)+界面视图(View)+逻辑控制(Controller),即MVC
分配职责:
界面视图类:负责处理界面逻辑,比如显示菜单,获取输入,显示结果等
逻辑控制类:负责存储学生信息,处理业务逻辑。比如添加、删除等
数据模型类:定义需要处理的数据模型。比如学生信息
练习:
[Python] 纯文本查看 复制代码 """
学生信息管理系统
数据模型类:StudentModel
数据:编号id,姓名name,年龄age,成绩score
逻辑控制类:StudentManagerController
数据:学生列表__stu_list
行为:获取列表 stu_list,
添加学生add_student(添加id 整数 递增 类变量)
删除学生remove_student(根据id删除学生,删除后返回结果:成功True或失败False)
修改学生信息update_student()
根据成绩由高到低排序order_by_score()
"""
class StudentModel:
'''
学生模型
'''
def __init__(self, name, age, score):#id不需要传值,放在最后
'''
保存学生信息
:param id:学号 int
:param name: 姓名 str
:param age: 年龄 int
:param score: 成绩 float
'''
self.id = StudentManagerController.id
self.name = name
self.age = age
self.score = score
class StudentManagerController:
'''
学生管理控制器 执行学生信息处理逻辑
'''
id = 10220001
def __init__(self):
self.__stu_list = []
@property
def stu_list(self):
return self.__stu_list
# @stu_list.setter #修改列表不需要在这里设置方法,列表本身就可以修改
# def stu_list(self, value):
# self.stu_list.append(value)
def add_student(self, stu):
"""
添加学生信息
:param stu: 学生信息 StudentModel生成
:return:
"""
self.__id_generate(stu)
self.__stu_list.append(stu)
StudentManagerController.id += 1
def __id_generate(self, stu):
"""
产生学号信息
:param stu:
:return:
"""
stu.id = self.id
def remove_student(self, stu):
"""
删除学生信息
:param stu:
:return:
"""
for item in self.__stu_list:
if item.id == stu.id:
self.__stu_list.remove(item)
return True
return False
def show_list(self):
"""
输出学生学号和姓名
:return:
"""
for item in self.__stu_list:
print(item.id, item.name, item.age, item.score)
def update_student(self, stu):
"""
修改学生信息
:param stu:
:return:
"""
for item in self.__stu_list:
if item.id == stu.id:
item.name = stu.name
item.age = stu.age
item.score = stu.score
def order_by_score(self):
for j in range(len(self.__stu_list)-1):
for i in range(j+1, len(self.__stu_list)):
if self.__stu_list[j].score < self.__stu_list[i].score:
self.__stu_list[i], self.__stu_list[j] = self.__stu_list[j], self.__stu_list[i]
manager = StudentManagerController()
stu01 = StudentModel('张三', 25, 90)
manager.add_student(stu01)
stu02 = StudentModel('李四', 30, 91)
manager.add_student(stu02)
manager.show_list()
print(manager.remove_student(stu01))
manager.show_list()
stu02.age = 35
manager.update_student(stu02)
manager.show_list()
print('----------------')
stu03 = StudentModel('赵大', 30, 93)
stu04 = StudentModel('钱二', 30, 94)
stu05 = StudentModel('孙五', 30, 95)
stu06 = StudentModel('王六', 30, 96)
stu07 = StudentModel('许七', 30, 97)
stu08 = StudentModel('白八', 30, 98)
manager.add_student(stu03)
manager.add_student(stu04)
manager.add_student(stu05)
manager.add_student(stu06)
manager.add_student(stu07)
manager.add_student(stu08)
manager.order_by_score()
manager.show_list()
|