TTMS框架设计思路及实例介绍

TTMS框架设计思路及实例介绍

TTMS框架设计思路

系统目标用户及功能设计
✔:完全的权限  ✖无权限  〇表示仅有查询权限

用户名称 剧目管理 影厅管理 座位管理 演出管理 售票管理 用户管理
系统管理员
剧院经理
售票员
顾客(拓展) 可浏览 可查看近期演出 买票退票

任何用户均可维护个人信息,如:登录口令的修改
管理的具体功能:单项查询、翻页浏览全部、修改、新增、删除

框架设计原则

本框架设计思路完全基于面向过程的程序设计思想,贴近自然思维。程序运行的每个阶段、每次人机交互都是一个独立过程,根据这些过程设计函数,并追求函数的通用性。任何功能均由各种函数的产生相应的调用关系及先后顺序组成,正如所有过程都是由更小的过程组成。

以剧目管理为例
剧目管理流程

其中 绿色表示打印界面的显示层层函数 黄色表示进行I/O及处理的功能层函数 红色表示链表操作函数 橙色表示文件操作函数

调用关系实例
//剧院经理总过程
void process_manager(){
    while(true){
        int choice=choice_judge();//判断用户选择的功能,返回对应编号
        switch(choice){
            case 0:break;
            case 1:process_program();break;//剧目管理过程
            case 2:process_studio();break;//放映厅管理过程
            case 3:process_plan();break;//演出计划管理过程
        }if(choice==0){break;}
    }
}

//剧目管理过程
void process_program(){
    while(ture){
        int choice=choice_judge();
        switch(choice){
            case 1:printf("提示信息");print_program();//打印剧目信息
            case 2:printf("提示信息");modify_program();//修改剧目信息
            case 4:printf("提示信息");add_program();//增加剧目信息
            case 5:printf("提示信息");delete_program();//删除剧目信息
        }
    }
}
//实际上的使用是这样
Program *search_program(char *obj);//根据传入的字符串查找剧目,找到则返回节点指针,否则返回NULL;
char *get_string(int ,int ,int);//获取并检查用户输入,非法输入报错,直到获得有效输入,(适当给出输入提示)
//返回得到的在堆中的字符串首地址。三个参数控制字符串的检查
//实际调用
char *str;
printf("请输入想要查询的剧目的ID/名称:");print_program(search_program(str=get_string(1,30,0)));

search_program(str=get_string(1,30,0))这些不写进print_program()的定义中是为了提高函数的复用性。

最后给出项目暂定框架
暂定框架

及项目暂定数据结构
暂定数据结构

posted @ 2018-06-14 21:01  kafm  阅读(136)  评论(0编辑  收藏  举报