欢迎来到优发表网

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

信息工程管理专业范文

时间:2023-06-29 16:41:27

序论:在您撰写信息工程管理专业时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。

信息工程管理专业

第1篇

课 程 设 计

课程名称: C 程 序 设 计 课题名称: 职工信息管理 班 级: 计算机学院1507班 完 成 人: 姓名(学号) 指导教师: 李珊

湖南理工学院计算机学院

2016年6月27日

一、 设计要求与功能分析

定义菜单函数,主要源代码 void menu() /*菜单函数*/ {

printf(" \n"); printf("\n"); printf("\n");

printf(" ******************职工信息管理****************\n"); printf(" 1. 录入职工信息"); printf(" 2. 浏览职工信息\n"); printf(" 3. 查询职工信息"); printf(" 4. 删除职工信息\n"); printf(" 5. 添加职工信息"); printf(" 6. 修改职工信息\n"); printf(" 7. 查询排序\n"); printf(" 8. 退出\n");

printf(" ********************谢谢使用******************\n"); printf("\n"); printf("\n"); }

二、 总体设计

输出1到7数字可进入执行不同的功能的函数,并在执行结束后返回主页面

流程图

三、 详细设计与程序实现

职工输入功能:主要功能完成职工信息的输入,主要程序

void input() /*录入函数*/ {

int i,m;

printf("请输入需要创建信息的职工人数(1--100):\n"); scanf("%d",&m); for (i=0;i

printf("职工号: "); srand((int)time(0));

em[i].num=rand()%10000+20000000; if(em[i].num!=em[i-1].num) printf("%8d ",em[i].num); printf("\n");

printf("请输入姓名: "); scanf("%s",em[i].name); getchar();

printf("请输入性别(f--女 m--男): "); scanf("%c",&em[i].sex); printf("请输入年龄: "); scanf("%d",&em[i].age); printf("请输入学历: "); scanf("%s",em[i].xueli); printf("请输入工资: "); scanf("%d",&em[i].wage); printf("请输入住址: "); scanf("%s",em[i].addr);

printf("请输入电话: "); scanf("%d",&em[i].tel); printf("\n"); }

printf("\n创建完毕!\n"); save(m); }

void save(int m) /*保存文件函数*/ { int i; FILE*fp;

if ((fp=fopen("employee_list","wb"))==NULL) {

/*创建文件并判断是否能打开*/

printf ("cannot open file\n"); exit(0); }

for (i=0;i

int load() /*导入函数*/ {

FILE*fp; int i=0;

if((fp=fopen("employee_list","rb"))==NULL) {

printf ("cannot open file\n"); exit(0); } else { do {

fread(&em[i],sizeof(struct employee),1,fp); i++; }

while(feof(fp)==0); }

fclose(fp); return(i-1); }

截图如下

浏览职工信息:主要功能读取职工信息,主要代码 void display() /*浏览函数*/ { int i;

int m=load();

printf("\n 职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n"); for(i=0;i

printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); } 截图

查询职工信息:主要代码

void search()/*查询函数*/ {

int t,flag; do {

printf("\n按职工号查询请按1 ; 按学历查询请按2 ; 按电话号码查询请按3, 进入主函数按4\n"); scanf("%d",&t); if(t>=1&&t

flag=1; peak; } else { flag=0;

printf("您输入有误,请重新选择!"); } }

while(flag==0); while(flag==1) {

switch(t) {

case 1:printf("按职工号查询\n");search_num();peak; case 2:printf("按学历查询\n");search_xueli();peak; case 3:printf("按电话号码查询\n");search_tel();peak; case 4:main();peak; default:peak; } } }

void search_num() {

int num; int i,t;

int m=load();

printf("请输入要查找的职工号(20001111---20009999):\n"); scanf("%d",&num); for(i=0;i

if(num==em[i].num) {

printf("\n已找到此人,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); peak; }

if(i==m)

printf("\n对不起,查无此人\n"); printf("\n");

printf("返回查询函数请按1, 继续查询职工号请按2\n"); scanf("%d",&t); switch(t) {

case 1:search();peak; case 2: peak; default:peak; } }

void search_xueli()

{

char xueli[30]; int i,t;

int m=load();

printf("请输入要查找的学历:\n"); scanf("%s",xueli); for(i=0;i

if(strcmp(em[i].xueli,xueli)==0) {

printf("\n已找到,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); }

if(i==m)

printf("\n对不起,查无此人\n"); printf("\n");

printf("返回查询函数请按1, 继续查询学历请按2\n"); scanf("%d",&t); switch(t) {

case 1:search();peak; case 2:peak; default :peak; } }

void search_tel() {

long int tel; int i, t;

int m=load();

printf("请输入要查找的电话号码:\n"); scanf("%ld",&tel); for(i=0;i

printf("\n已找到此人,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wag

e,em[i].addr,em[i].tel);

peak;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1, 继续查询电话号码请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();peak;

case 2:peak;

default :peak;

}

}

删除职工信息,主要函数

void del() /*删除函数*/

{

int i,j,n,t,flag;

char name[20];

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

printf("请输入要删除的职工的姓名:\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

printf("\n已找到此人,原始记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n确实要删除此人信息请按1, 不删除请按0\n");

scanf("%d",&n);

if(n==1) /*如果删除,则其他的信息都往上移一行*/

{

for(j=i;j

{

strcpy(em[j].name,em[j+1].name);

em[j].num=em[j+1].num;

em[j].sex=em[j+1].sex;

em[j].age=em[j+1].age;

strcpy(em[j].xueli,em[j+1].xueli);

em[j].wage=em[j+1].wage;

strcpy(em[j].addr,em[j+1].addr);

em[j].tel=em[j+1].tel;

}

flag=0;

}

}

}

if(!flag)

m=m-1;

else

printf("\n对不起,查无此人!\n");

printf("\n 浏览删除后的所有职工信息:\n");

save(m); /*调用保存函数*/

display(); /*调用浏览函数*/

printf("\n继续删除请按1,不再删除请按0\n");

switch(t)

{

case 1:del();peak;

case 0:peak;

default :peak;

}

}

截图

添加职工信息,主要代码

void add()/*添加函数*/

{

FILE*fp;

int n;

int count=0;

int i;

int m=load();

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

fp=fopen("emploee_list","a");

printf("请输入想增加的职工数:\n");

for (i=m;i

{

printf("\n 请输入新增加职工的信息:\n");

printf("请输入职工号: ");

srand((int)time(0));

em[i].num=rand()%10000+20000000;

if(em[i].num!=em[i-1].num)

printf("%8d ",em[i].num);

printf("\n");

printf("请输入姓名: ");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女 m--男): ");

scanf("%c",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].addr);

printf("请输入电话: ");

scanf("%d",&em[i].tel);

printf("\n");

count=count+1;

printf("已增加的人数:\n");

printf("%d\n",count);

}

printf("\n添加完毕!\n");

m=m+count;

printf("\n浏览增加后的所有职工信息:\n");

printf("\n");

save(m);

display();

fclose(fp);

}

截图

修改职工信息:主要源代码

void modify() /*修改函数*/

{

int num;

char name[10];

char sex;

int age;

char xueli[30];

int wage;

char addr[30];

long int tel;

int b,c,i,n,t,flag;

int m=load(); /*导入文件内的信息*/

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

printf("请输入要修改的职工的姓名:\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

printf("\n已找到此人,原始记录为:\n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");

scanf("%d",&n);

if(n==1)

{

printf("\n需要进行修改的选项\n 1.职工号 2. 姓名 3. 性别 4. 年龄 5. 学历 6. 工资 7. 住址 8. 电话\n");

printf("请输入你想修改的那一项序号:\n");

scanf("%d",&c);

if(c>8||c

printf("\n选择错误,请重新选择!\n");

}

flag=0;

}

}

if(flag==1)

printf("\n对不起,查无此人!\n");

do

{

switch(c) /*因为当找到第i 个职工时,for 语句后i 自加了1, 所以下面的应该把改后的信息赋值给第i-1个人*/

{

case 1:printf("职工号改为: ");

scanf("%d",&num);

em[i-1].num=num;

peak;

case 2:printf("姓名改为: ");

scanf("%s",name);

strcpy(em[i-1].name,name);

peak;

case 3:printf("性别改为: ");

getchar();

scanf("%c",&sex);

em[i-1].sex=sex;

peak;

case 4:printf("年龄改为: ");

scanf("%d",&age);

em[i-1].age=age;

peak;

case 5:printf("学历改为: ");

strcpy(em[i-1].xueli,xueli);

peak;

case 6:printf("工资改为: ");

scanf("%d",wage);

peak;

case 7:printf("住址改为: ");

scanf("%s",addr);

strcpy(em[i-1].addr,addr);

peak;

case 8:printf("电话改为: ");

scanf("%ld",&tel);

em[i-1].tel=tel;

peak;

}

printf("\n");

printf("\n是否确定所修改的信息?\n 是 请按1 ; 不, 重新修改 请按2:

scanf("%d",&b);

}

while(b==2);

printf("\n浏览修改后的所有职工信息:\n");

printf("\n");

save(m);

display();

printf("\n继续修改请按1,不再修改请按0\n");

scanf("%d",&t);

switch(t)

{

case 1:modify();peak;

case 0:peak;

default :peak;

}

}

截\n"); 图

查询排序:主要源代码

void sort(){/*排序*/

int i;

printf("请选择关键字排列:1.工号 2. 年龄 3. 工资 ");

scanf("%d",&i);

while(i3){

printf("输入有误,请重新输入:");

scanf("%d",&i);

}

switch(i)

{

case 1:

sort_num();peak;

case 2:

sort_age();peak;

case 3:

sort_wage();peak;

default:

peak;

}

}

void sort_num()

{

int len,i,j,t,m=load();

for(i=0;i

for(j=1;j

if(em[i].num>em[j].num)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

void sort_age()

{

int i,j,t,m=load();

for(i=0;i

for(j=1;j

if(em[i].age>em[j].age)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

void sort_wage()

{

int i,j,t,m=load();

for(i=0;i

for(j=1;j

if(em[i].wage>em[j].wage)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

截图

退出系统。

四、 收获、体会及意见

心得体会:回顾此次程序设计,感慨良多,虽然对着电脑做程序,有点累也有点热,可是看到劳动成果时,真是别有一翻滋味在心头,世上无难事只怕有心人,的确如此。做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们C 语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊

五、 参考资料索引

【1】谭浩强. C语言程序设计教程[M]. 北京:清华大学出版社,2009年

【2】网上查资料

六、 程序清单

完整程序

#include

#include

#include

#define N 100

struct employee

{

int num;

char name[10];

char sex;

int age;

char xueli[30];

int wage;

char addr[30];

long int tel;

}em[100]; /*定义一个结构体*/

void menu();

void input();

void save(int);

void display();

void del();

void add();

void search();

void search_num();

void search_xueli();

void search_tel();

void sort();

void sort_num();

void sort_wage();

void sort_age();

void modify(); /*定义各函数*/

void menu() /*菜单函数*/

{

printf(" \n");

printf("\n");

printf("\n");

printf(" ******************职工信息管理****************\n");

printf(" 1. 录入职工信息");

printf(" 2. 浏览职工信息\n");

printf(" 3. 查询职工信息");

printf(" 4. 删除职工信息\n");

printf(" 5. 添加职工信息");

printf(" 6. 修改职工信息\n");

printf(" 7. 查询排序\n");

printf(" 8. 退出\n");

printf(" ********************谢谢使用******************\n");

printf("\n");

printf("\n");

}

void main()

{

menu(); /*调用菜单函数*/

int n,flag;

char a;

do

{

printf("请选择你需要操作的步骤(1--8):\n");

scanf("%d",&n);

if(n>=1&&n

{

flag=1;

peak;

}

else

{

flag=0;

printf("您输入有误,请重新选择!");

}

}

while(flag==0);

while(flag==1)

{

switch(n)

{

case 1:printf(" 输入职工信息\n");printf("\n");input();peak; case 2:printf(" 浏览职工信息\n");printf("\n");display();peak;

case 3:printf(" 按职工号查询职工信息\n");printf("\n");search();peak; case 4:printf(" 删除职工信息\n");printf("\n");del();peak;

case 5:printf(" 添加职工信息\n");printf("\n");add();peak;

case 6:printf(" 修改职工信息\n");printf("\n");modify();peak; case 7:

printf(" 查询排序\n");

printf("\n");

sort();

getchar();peak;

case 8:exit(0);peak;

default :peak;

}

getchar();

printf("\n");

printf("是否继续进行(y or n):\n");

scanf("%c",&a);

if(a=="y")

{

flag=1;

system("cls"); /*清屏*/

menu(); /*调用菜单函数*/

printf("请再次选择你需要操作的步骤(1--7):\n");

scanf("%d",&n);

printf("\n");

}

else

exit(0);

}

}

void input() /*录入函数*/

{

int i,m;

printf("请输入需要创建信息的职工人数(1--100):\n");

scanf("%d",&m);

for (i=0;i

{

printf("职工号: ");

srand((int)time(0));

em[i].num=rand()%10000+20000000;

if(em[i].num!=em[i-1].num)

printf("%8d ",em[i].num);

printf("\n");

printf("请输入姓名: ");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女 m--男): ");

scanf("%c",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].addr);

printf("请输入电话: ");

scanf("%d",&em[i].tel);

printf("\n");

}

printf("\n创建完毕!\n");

save(m);

}

void save(int m) /*保存文件函数*/

{

int i;

FILE*fp;

if ((fp=fopen("employee_list","wb"))==NULL) /*创建文件并判断是否能打开*/

{

printf ("cannot open file\n");

exit(0);

}

for (i=0;i

if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)

printf("file write error\n");

fclose(fp);

}

int load() /*导入函数*/

{

FILE*fp;

int i=0;

if((fp=fopen("employee_list","rb"))==NULL)

{

printf ("cannot open file\n");

exit(0);

}

else

{

do

{

fread(&em[i],sizeof(struct employee),1,fp);

i++;

}

while(feof(fp)==0);

}

fclose(fp);

return(i-1);

}

void display() /*浏览函数*/

{

int i;

int m=load();

printf("\n 职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

for(i=0;i

printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}

void del() /*删除函数*/

{

int m=load();

int i,j,n,t,flag;

char name[20];

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

printf("请输入要删除的职工的姓名:\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

printf("\n已找到此人,原始记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n确实要删除此人信息请按1, 不删除请按0\n");

scanf("%d",&n);

if(n==1) /*如果删除,则其他的信息都往上移一行*/

{

for(j=i;j

{

strcpy(em[j].name,em[j+1].name);

em[j].num=em[j+1].num;

em[j].sex=em[j+1].sex;

em[j].age=em[j+1].age;

strcpy(em[j].xueli,em[j+1].xueli);

em[j].wage=em[j+1].wage;

strcpy(em[j].addr,em[j+1].addr);

em[j].tel=em[j+1].tel;

}

flag=0;

}

}

}

if(!flag)

m=m-1;

else

printf("\n对不起,查无此人!\n");

printf("\n 浏览删除后的所有职工信息:\n");

save(m); /*调用保存函数*/

display(); /*调用浏览函数*/

printf("\n继续删除请按1,不再删除请按0\n");

scanf("%d",&t);

switch(t)

{

case 1:del();peak;

case 0:peak;

default :peak;

}

}

void add()/*添加函数*/

{

FILE*fp;

int n;

int count=0;

int i;

int m=load();

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

fp=fopen("emploee_list","a");

printf("请输入想增加的职工数:\n");

scanf("%d",&n);

for (i=m;i

{

printf("\n 请输入新增加职工的信息:\n");

printf("请输入职工号: ");

srand((int)time(0));

em[i].num=rand()%10000+20000000;

if(em[i].num!=em[i-1].num)

printf("%8d ",em[i].num);

printf("\n");

printf("请输入姓名: ");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女 m--男): ");

scanf("%c",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].addr);

printf("请输入电话: ");

scanf("%d",&em[i].tel);

printf("\n");

count=count+1;

printf("已增加的人数:\n");

printf("%d\n",count);

}

printf("\n添加完毕!\n");

m=m+count;

printf("\n浏览增加后的所有职工信息:\n");

printf("\n");

save(m);

display();

fclose(fp);

}

void search()/*查询函数*/

{

int t,flag;

do

{

printf("\n按职工号查询请按1 ; 按学历查询请按2 ; 按电话号码查询请按3, 进入主函数按4\n");

scanf("%d",&t);

if(t>=1&&t

{

flag=1;

peak;

}

else

{

flag=0;

printf("您输入有误,请重新选择!");

}

}

while(flag==0);

while(flag==1)

{

switch(t)

{

case 1:printf("按职工号查询\n");search_num();peak;

case 2:printf("按学历查询\n");search_xueli();peak;

case 3:printf("按电话号码查询\n");search_tel();peak;

case 4:main();peak;

default:peak;

}

}

}

void search_num()

{

int num;

int i,t;

int m=load();

printf("请输入要查找的职工号(20001111---20009999):\n");

scanf("%d",&num);

for(i=0;i

if(num==em[i].num)

{

printf("\n已找到此人,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

peak;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1, 继续查询职工号请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();peak;

case 2: peak;

default:peak;

}

}

void search_xueli()

{

char xueli[30];

int i,t;

int m=load();

printf("请输入要查找的学历:\n");

scanf("%s",xueli);

for(i=0;i

if(strcmp(em[i].xueli,xueli)==0)

{

printf("\n已找到,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1, 继续查询学历请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();peak;

case 2:peak;

default :peak;

}

}

void search_tel()

{

long int tel;

int i, t;

int m=load();

printf("请输入要查找的电话号码:\n");

scanf("%ld",&tel);

for(i=0;i

if(tel==em[i].tel)

{

printf("\n已找到此人,其记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

peak;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1, 继续查询电话号码请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();peak;

case 2:peak;

default :peak;

}

}

void sort(){/*排序*/

int i;

printf("请选择关键字排列:1.工号 2. 年龄 3. 工资 ");

scanf("%d",&i);

while(i3){

printf("输入有误,请重新输入:");

scanf("%d",&i);

}

switch(i)

{

case 1:

sort_num();peak;

case 2:

sort_age();peak;

case 3:

sort_wage();peak;

default:

peak;

}

}

void sort_num()

{

int len,i,j,t,m=load();

// memset((char *)&temp,0,sizeof(em));

for(i=0;i

for(j=1;j

if(em[i].num>em[j].num)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

void sort_age()

{

int i,j,t,m=load();

for(i=0;i

for(j=1;j

if(em[i].age>em[j].age)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

void sort_wage()

{

int i,j,t,m=load();

for(i=0;i

for(j=1;j

if(em[i].wage>em[j].wage)

{

t=em[i].num;

em[i].num=em[j].num;

em[j].num=t;

}

display();

getchar();

}

void modify() /*修改函数*/

{

int num;

char name[10];

char sex;

int age;

char xueli[30];

int wage;

char addr[30];

long int tel;

int b,c,i,n,t,flag;

int m=load(); /*导入文件内的信息*/

printf("\n 原来的职工信息:\n");

display(); /* 调用浏览函数*/

printf("\n");

printf("请输入要修改的职工的姓名:\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

printf("\n已找到此人,原始记录为:\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话 \n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");

scanf("%d",&n);

if(n==1)

{

printf("\n需要进行修改的选项\n 1.职工号 2. 姓名 3. 性别 4. 年龄 5. 学历 6. 工资 7. 住址 8. 电话\n");

printf("请输入你想修改的那一项序号:\n");

scanf("%d",&c);

if(c>8||c

printf("\n选择错误,请重新选择!\n");

}

flag=0;

}

}

if(flag==1)

printf("\n对不起,查无此人!\n");

do

{

switch(c) /*因为当找到第i 个职工时,for 语句后i 自加了1, 所以下面的应该把改后的信息赋值给第i-1个人*/

{

case 1:printf("职工号改为: ");

scanf("%d",&num);

em[i-1].num=num;

peak;

case 2:printf("姓名改为: ");

scanf("%s",name);

strcpy(em[i-1].name,name);

peak;

case 3:printf("性别改为: ");

getchar();

scanf("%c",&sex);

em[i-1].sex=sex;

peak;

case 4:printf("年龄改为: ");

scanf("%d",&age);

em[i-1].age=age;

peak;

case 5:printf("学历改为: ");

scanf("%s",xueli);

strcpy(em[i-1].xueli,xueli);

peak;

case 6:printf("工资改为: ");

scanf("%d",wage);

peak;

case 7:printf("住址改为: ");

scanf("%s",addr);

strcpy(em[i-1].addr,addr);

peak;

case 8:printf("电话改为: ");

scanf("%ld",&tel);

em[i-1].tel=tel;

peak;

}

printf("\n");

printf("\n是否确定所修改的信息?\n 是 请按1 ; 不, 重新修改 请按2: \n");

scanf("%d",&b);

}

while(b==2);

printf("\n浏览修改后的所有职工信息:\n");

printf("\n");

save(m);

display();

printf("\n继续修改请按1,不再修改请按0\n");

scanf("%d",&t);

switch(t)

{

case 1:modify();peak;

case 0:peak;

default :peak;

第2篇

    1.1加强学生创新精神和创新意识的培养

    传统的教学模式使学生机械记忆、被动模仿,这抑制了学生的创新精神,要倡导以学生为主体的教学方法,改变填鸭式的上课方式,多采用灵活的、开放式、启发式教学模式,如研讨课、讲座课、案例分析课等,并多采取现场教学、情景教学等教学方式。利用现代教学设备增大课堂教学的信息量,提高教学效果,通过网络多媒体实现资源共享,通过双语教学推进高等工程教育国际化;改革传统的教学实践内容,增强实践环节,培养学生运用经验与直观判断来解决工程问题的实践能力,加强创新精神和创新意识的培养,让大学生自己有机会去深入学习与思考。美国加州理工学院的玛·卡门教授有句名言:科学家研究已有的世界,工程师创造未来的世界。可见,工程师的重要品质在于其创造和创新能力。在大工程的背景下,创造和创新能力更是成为工程管理教育的关键所在。因此,在课程设置和教学改革方面,应更加重视学生的个性化选择,以使学生能够在自身个性和兴趣的基础上,构建自身的知识结构,发展创造性和创新能力。

    1.2加强工程管理专业学生的人文素质教育

    管理学科是一门边缘交叉学科,在实际工作中,需要融合多学科的成果。因为面对复杂的现代工程系统,工程师不可避免地涉及政治、经济、文化等多方面的因素,这不是仅有狭窄的技术知识背景就能胜任的,解决现代工程问题要求工程师能够打破学科壁垒,把被学科割裂开来的工程再还原为一个整体。这就要求高等工程教育在课程设置上要充分考虑学科的交叉与融合,要为学生提供综合知识背景,以有利于复杂工程问题的解决。将工程伦理学,工程社会学,工程哲学等课程整合到工程教育的课程体系中来,加强学生的人文素质教育。有效地培养现代工程技术人才的组织管理能力、语言文字表达能力、协调能力等。因此,在工程管理教育的课程改革中要实现人文类课程,经济类课程,法律类课程在工程教育课程体系中占有一定比例,而且应该将工程伦理、工程史学、经济管理、生物学、哲学、法律等课程纳入到必修课程体系中,在授课过程中要能够与工程课程相整合,与工程技术相联系。同时在课程改革过程中,也要注意不能矫枉过正,因为复合型人才是以专业知识、技能为基础的复合,不能过分强调通才的培养而忽略专业知识的传授。工程管理教育的目标仍应是培养专业人才,但要扩大适应面,以适应社会需要及应付各种变化的需要,实现从单一型专业人才到复合型通才的转变。

    1.3改革课程体系,培养学生的工程意识

    工程管理在某种意义上本身就意味着实践,工程管理教育所培养的人都是要去解决实践问题的。但长期以来,在科学主义的影响下,工程管理教育也走上了学科化、学术化的道路。不能否认,工程管理教育的科学化使过去以经验为基础的工程管理教育向前管理迈进了一步,但是,这并不意味着工程管理教育可以忽视工程管理实践。正是在这种意义上说,工程管理教育需要回归工程的本来涵义。这就要求课程设置和教学改革要面向工程更加重视学生工程管理实践能力的培养。对于那些过于注重课程自成体系,求全,求深,忽视基本原理的实际应用等倾向要加以认真改革,防止工程教育中理论与实践相脱离的倾向,面向工程,回归工程,重视学生的主动性和创造性,加强工程意识、工程实践能力的培养,要在课程改革过程中重塑教育观念,要面向工程对各类学科进行有机的重组,进行跨学科教育。只有这样工程管理专业教育的整个过程才能实现全面质量管理,也才能使培养出来的学生满足工程界乃至社会的需求。

    1.4“习而学”教学模式

    理论知识是实践活动的准备和基础,学习遵循从理性认识到感性认识的过程和规律。但是,从工程学科的特点来说,人的认知规律却并不绝对服从于这个次序,因为工程实践活动本身具有不依附于科学知识的独立性。对于工程学科的学习来说“,情境化”的认知方式更符合学习者的特点。对这个问题,我国着名工程学家茅以升先生早在上世纪50年代就提出了着名的“习而学”模式。所谓“习”,是指在现场作业,其主要任务为修习技能及培养工程意识,但同时也要学习相关理论;所谓“学”,是指在课堂作业,其主要任务是修学理论,但同时也要修习相关技能。他认为“:学的对象是理论,习的对象是实践。因此在学习里应求其统一。“习而学”是对“学而习”传统模式的彻底改革。工程管理教育的理论课程教学与实践课程教学如何进行?理论课与实践课、基础课与专业课的设置顺序如何安排?这都是工程管理教育教学中非常重要也非常实际的问题。茅以升先生的“习而学”教学模式,是一种有异于人们惯常思维的课程设计思想,即主张:为了遵从工程教学的特性,实践教学可以放在理论教学的前面,专业课程也可以在基础课程前面设置。它的精髓在于理论与实际的紧密结合,其本质特征是强调实践基础上的理论化:先习后学,再习再学,实习与理论相结合。“习而学”模式的一个重要指导思想是强调习学交替,“习而学”模式给我们打破传统的课程论思想、以新的视角重新审视教学改革和设置课程提供了方法论上的依据,提供了新的对策与思路,为从根本上解决我国高等工程管理教育长期存在的理论与实际脱节、科学与生产脱节的问题提供了一个独特的解决路径。

第3篇

1.1加强学生创新精神和创新意识的培养

传统的教学模式使学生机械记忆、被动模仿,这抑制了学生的创新精神,要倡导以学生为主体的教学方法,改变填鸭式的上课方式,多采用灵活的、开放式、启发式教学模式,如研讨课、讲座课、案例分析课等,并多采取现场教学、情景教学等教学方式。利用现代教学设备增大课堂教学的信息量,提高教学效果,通过网络多媒体实现资源共享,通过双语教学推进高等工程教育国际化;改革传统的教学实践内容,增强实践环节,培养学生运用经验与直观判断来解决工程问题的实践能力,加强创新精神和创新意识的培养,让大学生自己有机会去深入学习与思考。美国加州理工学院的玛·卡门教授有句名言:科学家研究已有的世界,工程师创造未来的世界。可见,工程师的重要品质在于其创造和创新能力。在大工程的背景下,创造和创新能力更是成为工程管理教育的关键所在。因此,在课程设置和教学改革方面,应更加重视学生的个性化选择,以使学生能够在自身个性和兴趣的基础上,构建自身的知识结构,发展创造性和创新能力。

1.2加强工程管理专业学生的人文素质教育

管理学科是一门边缘交叉学科,在实际工作中,需要融合多学科的成果。因为面对复杂的现代工程系统,工程师不可避免地涉及政治、经济、文化等多方面的因素,这不是仅有狭窄的技术知识背景就能胜任的,解决现代工程问题要求工程师能够打破学科壁垒,把被学科割裂开来的工程再还原为一个整体。这就要求高等工程教育在课程设置上要充分考虑学科的交叉与融合,要为学生提供综合知识背景,以有利于复杂工程问题的解决。将工程伦理学,工程社会学,工程哲学等课程整合到工程教育的课程体系中来,加强学生的人文素质教育。有效地培养现代工程技术人才的组织管理能力、语言文字表达能力、协调能力等。因此,在工程管理教育的课程改革中要实现人文类课程,经济类课程,法律类课程在工程教育课程体系中占有一定比例,而且应该将工程伦理、工程史学、经济管理、生物学、哲学、法律等课程纳入到必修课程体系中,在授课过程中要能够与工程课程相整合,与工程技术相联系。同时在课程改革过程中,也要注意不能矫枉过正,因为复合型人才是以专业知识、技能为基础的复合,不能过分强调通才的培养而忽略专业知识的传授。工程管理教育的目标仍应是培养专业人才,但要扩大适应面,以适应社会需要及应付各种变化的需要,实现从单一型专业人才到复合型通才的转变。

1.3改革课程体系,培养学生的工程意识

工程管理在某种意义上本身就意味着实践,工程管理教育所培养的人都是要去解决实践问题的。但长期以来,在科学主义的影响下,工程管理教育也走上了学科化、学术化的道路。不能否认,工程管理教育的科学化使过去以经验为基础的工程管理教育向前管理迈进了一步,但是,这并不意味着工程管理教育可以忽视工程管理实践。正是在这种意义上说,工程管理教育需要回归工程的本来涵义。这就要求课程设置和教学改革要面向工程更加重视学生工程管理实践能力的培养。对于那些过于注重课程自成体系,求全,求深,忽视基本原理的实际应用等倾向要加以认真改革,防止工程教育中理论与实践相脱离的倾向,面向工程,回归工程,重视学生的主动性和创造性,加强工程意识、工程实践能力的培养,要在课程改革过程中重塑教育观念,要面向工程对各类学科进行有机的重组,进行跨学科教育。只有这样工程管理专业教育的整个过程才能实现全面质量管理,也才能使培养出来的学生满足工程界乃至社会的需求。

1.4“习而学”教学模式

理论知识是实践活动的准备和基础,学习遵循从理性认识到感性认识的过程和规律。但是,从工程学科的特点来说,人的认知规律却并不绝对服从于这个次序,因为工程实践活动本身具有不依附于科学知识的独立性。对于工程学科的学习来说“,情境化”的认知方式更符合学习者的特点。对这个问题,我国著名工程学家茅以升先生早在上世纪50年代就提出了著名的“习而学”模式。所谓“习”,是指在现场作业,其主要任务为修习技能及培养工程意识,但同时也要学习相关理论;所谓“学”,是指在课堂作业,其主要任务是修学理论,但同时也要修习相关技能。他认为“:学的对象是理论,习的对象是实践。因此在学习里应求其统一。“习而学”是对“学而习”传统模式的彻底改革。工程管理教育的理论课程教学与实践课程教学如何进行?理论课与实践课、基础课与专业课的设置顺序如何安排?这都是工程管理教育教学中非常重要也非常实际的问题。茅以升先生的“习而学”教学模式,是一种有异于人们惯常思维的课程设计思想,即主张:为了遵从工程教学的特性,实践教学可以放在理论教学的前面,专业课程也可以在基础课程前面设置。它的精髓在于理论与实际的紧密结合,其本质特征是强调实践基础上的理论化:先习后学,再习再学,实习与理论相结合。“习而学”模式的一个重要指导思想是强调习学交替,“习而学”模式给我们打破传统的课程论思想、以新的视角重新审视教学改革和设置课程提供了方法论上的依据,提供了新的对策与思路,为从根本上解决我国高等工程管理教育长期存在的理论与实际脱节、科学与生产脱节的问题提供了一个独特的解决路径。

2结束语

第4篇

【关键词】工业工程;管理信息系统;教学改革

一、工业工程专业特点及学生就业去向

工业工程专业是以生产过程为对象,以提高劳动生产率、保证质量和降低成本为目标,特别注重研究人的因素,充分发挥投入资源的作用。近年来,物流工程、虚拟制造、企业资源计划、人力资源管理等成为该领域的热点。工业工程专业培养的学生具有经济、管理和系统工程的理论与方法,同时具备扎实的专业工程技术,是从事工业工程和管理的高级专业技术和管理人才。

其课程设置包括经济管理类和工业技术类两大部分。学生毕业后主要从事工业工程师等与工业工程有关的工作,在跨国公司、外资企业、国有、民营企业等从事管理工作,以提高生产率、降低成本。

二、《管理信息系统》课程的地位和作用

从工业工程专业的特性来看,管理信息系统虽然不是该专业的主干课程,但是随着信息技术在各行各业的应用,通过各类管理信息系统的实施,有效提高了企业的管理水平和经济效益。因此,管理信息系统已成为工业工程能够在实际中充分发挥作用的有力支撑工具。

三、《管理信息系统》课程教学现状及存在的问题

工业工程专业授课一般应结合实际案例,并经常让学生到跨国公司、外资企业实习,参与实际工业项目的运作和管理。但由于时间和条件的限制,学生无法真正到企业调研并解决企业信息化课题。

课堂使用的教材的内容一般都比较理论化,有些概念、方法或理论看起来似乎很简单,其实其真正的内涵只有通过信息系统的开发、实施的实践经历才能透彻地理解和把握;只有通过实践才能了解不同管理信息系统的差别,掌握管理信息系统的实质。但对于工业工程的非计算机类学生,很多高校并未开设程序设计语言课程,致使《管理信息系统》的教学仅限于理论学习,纸上谈兵,严重影响了学生学习兴致和效果。

四、《管理信息系统》课程教学改革办法

1.在教学体系上进行改革。管理信息系统是一门与管理学、计算机科学、系统科学、经济学等多学科密切相关的综合叉学科,是现代化管理观念、方法与信息技术的结合体。它有一个重要的特性就是对相关知识的有序性要求比较高。因此,学生只有先具备了一定的背景知识,才有可能充分理解和掌握它的思想和方法。然而,目前我国高等院校管理信息系统课程开设的随意性比较大,未能充分考虑学生的知识准备。有些高校在该课程设置上存在着该课程所必须的基础知识明显滞后的问题。这种现状造成的结果是:一是给教师的课程讲授带来了较大难度,有的教师为了能让学生顺利地学习这门课,不得不花大量时间对相关知识进行补充和说明;二是不利于学生对知识的理解吸收,学生理解起来比较困难,难以学到该课程的实质内容。

由于管理信息系统学科的综合交叉性较强,应该找准它在学生所学专业整个课程体系中的定位。开设该课程必须要考虑该学科对知识有序性的要求,有充分的先行课程作为基础。

2.在教学理念上进行改革。管理信息系统对不同的专业的学生,要求是不一样的,从工业工程专业的特性可以看出,对工业工程的专业人才来说,既要掌握一定的管理信息系统开发技术,又要掌握管理信息系统在实际应用中与管理相结合的运用方法。但是工业工程人员不同于专业的管理信息系统开发人员,不需要对系统的开发技术有深入的掌握,在实际工作中,主要是结合企业实际管理的需要,担任管理信息系统的设计者、规划者的角色,指导管理信息系统的开发和实施,以符合企业的管理实际。

所以,在教学过程当中,应当重点突出,主次分明,合理分配时间。

3.在教学方法和手段上进行改革。①课堂教学方法改革。管理学教学中很重要的方法是案例教学法。案例教学法不拘泥于严格的概念定义和精确的推理,采用以事实说话的方法收集现实的例子来说明问题,同时给学生在学习中以更大的自。许多学校的管理学教学,特别是工商管理硕士(MBA)教学的成功,证明案例教学是一种生动、有效的教学方法。但在管理信息系统的教学中,案例教学法并未得到广泛的应用。

管理信息系统从本质上属于管理学科,具有管理学科鲜明的实践性特征,教学中要充分利用管理学教学中普遍应用的案例教学法。教师要精心组织或挑选适用授课对象特征的案例。通过师生互动和模拟教学,使学生全方位地参与系统开发的过程。

②加强课程设计环节,做到理论和实践的有机结合。管理信息系统是一门实践性很强的课程,学生动手能力的培养非常重要。必须安排充足的实验课时,每次实验要安排好实验课题,安排学生进行指定的项目开发操作,最后组织学生进行总结。有条件的学校应该尽量安排学生深入企业调研和分析,并邀请有关工程技术、管理人员给予精心指导,为学生的生产实践技能的提高和素质培养打下良好的基础。

参考文献:

第5篇

[关键词] 管理信息系统; 教学研究; 教学改革

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 09. 077

[中图分类号] G642 [文献标识码] A [文章编号] 1673 - 0194(2012)09- 0123- 01

在经济全球化、信息化的强烈冲击下,社会经济运行模式和企业管理方式都发生了根本的变革,信息和知识已经成为创造社会财富的战略资源,信息系统在组织中的战略地位和作用空前提高。信息系统不仅仅是支持组织日常管理的工具,也是进行组织改革、制度创新和知识创新的战略举措。因此掌握管理信息系统的基本原理和系统建设的基本方法,就成为现代管理者知识体系中的重要组成部分。管理信息系统课程正是为了满足社会对管理信息系统专门人才的需求而设置的[1]。

随着科学技术的发展,教育改革的深化,管理信息系统在概念、内容、体系上都发生了重大的变化,因此对管理信息系统课程的教学也提出了新的要求。因此有必要针对该课程的教学管理现状进行分析,找出存在的问题,并进行行之有效的教学改革。

1 管理信息系统课程教学中存在的问题

(1) 课程体系复杂,学生知识储备不足。管理信息系统是一门综合管理科学、信息科学、系统科学、行为科学、计算机科学和通信技术的交叉性的边缘学科,具有复杂性、理论性和实践性相结合的特点。因此要求学生具备相应的知识储备,而作为工商管理专业的学生,经济和管理知识是他们特长,计算机知识相对薄弱,因此部分同学感觉课程内容深奥而难以理解,因此丧失了学习的兴趣,表现为被动、应付式的学习,甚至产生厌烦心理,难以实现预期教学效果。

(2) 教材内容相似,缺乏针对性。管理信息系统作为一门管理类课程,而非技术类课程,具有两层含义:面向管理的信息系统和信息系统的管理,两方面均表明了管理信息系统应侧重管理而非信息技术本身[2]。因此针对工商管理专业的学生,其授课内容和重点也应有所区别。而国内大部分教材的内容、体系大致相似,知识陈旧,在内容安排和案例设计上缺少针对性和创新性,此外教材内容的相对稳定性和知识更新的快速性也构成了教学过程的主要矛盾。

(3) 理论教学和实践教学难融合。从教学方法来看,该门课程主要以讲授法为主,案例分析法、讨论法和实践法结合为辅。由于学生缺乏对企业实际生产运营管理的了解,因此在学习过程中,总是由于缺乏感性知识,而被动地接受新知识,不能很好地理解管理信息系统是如何在企业中发挥支持决策作用的。例如在介绍MRP的基本思想、原理以及如何利用信息技术改变传统的生产方式和竞争战略时,由于学生不了解制造业的生产流程,所以在讲授该部分内容时,就需要教师传递大量相关信息辅助学生理解。究其原因,就是由于理论教学和实践教学难融合。

2 管理信息系统教学改革思路

针对以上问题,我们结合管理信息系统课程的特点提出了教学改革思路。

2.1 合理设置先导课程,教师加强引导

由于管理信息系统课程对相关知识的有序性要求比较高,因此该课程一般设置在第六或第七学期开课较为合理,这样才能保证学生在学习过程中将相关知识进行综合,充分理解该学科的基本思想和脉络。

在授课过程中,教师要适当地引导学生,采用多种教学手段和教学方法,培养学生的学习兴趣,及时地对课堂教学内容进行总结、反馈。例如通过课前回顾上次课程的重点内容,课中对相关知识点进行串联,选择恰当合理的案例进行分组讨论,课后安排阅读资料和案例巩固学习内容等方式来调动学生的学习主动性,并根据学生的反馈意见及时调整自己的教学方案和进度。此外,授课教师还可以根据授课效果向学生推荐参考书目、学术期刊和相关网站辅助学生课后扩大视野,真正做到以人为本,提高教学效果。

2.2 选择符合专业培养要求的教材

根据工商管理专业培养目标所选用的教材,内容应侧重于管理信息系统的基本概念、基本理论,并初步掌握系统分析、设计、实施和评价的方法以及开发过程的管理,并适当增加管理信息系统如何将先进的管理思想、方法、手段与现代信息技术相结合,以及如何对企业的决策起支持作用等相关内容。

管理信息系统是信息技术和管理理论紧密结合的科学,随着计算机技术和管理理论的发展,要求教师应该将相关理论的发展前沿和趋势纳入到课程教学过程中,如:新的网络技术、通信技术、开发工具、柔性制造思想、供应链思想等。

2.3 完善实践教学体系

管理信息系统的课程特点要求理论和实践相结合,加强理论教学效果和培养学生的实际操作能力。通过组织学生到实际企业进行调研,了解企业生产经营的基本流程,以及管理信息系统是如何提供信息支持组织内的各级管理者进行决策[3]。例如通过安排学生上机操作了解ERP系统中的财务子系统、采购子系统、销售子系统、生产子系统等功能模块,通过实际操作了解企业相应的业务流程,企业的管理功能如何利用信息系统加以实现等内容。

本文通过对工商管理专业管理信息系统课程教学现状的深入分析,揭示了目前该课程在教学过程中所存在的诸多问题,并针对各个具体问题提出了教学改革的思路,旨在克服目前教学过程中存在的弊端,提高教学效果,实现教学目标。

主要参考文献

[1] 黄梯云,李一军. 管理信息系统[M]. 第4版. 北京:高等教育出版社,2009.

第6篇

一、管理信息系统课程的理论基础与体系结构

从系统的角度,管理科学为基础,信息技术及计算机技术优化管理工作。遵从软件工程的原则,开发运行稳定、质量可靠、互动性好的MIS软件系统,配置合适的硬件环境,构建新的管理信息系统,涉及硬件技术、软件技术、网络技术、数据库技术和管理开发过程的项目管理、质量管理和网络技术。

项目管理包括配置管理、质量管理和人力资源管理等。规划阶段进行可行性研究,涉及技术经济学方面的指示,如投资分析。分析阶段,涉及管理信息系统、系统论、管理学、组织行为学等方面的知识;设计阶段涉及管理信息系统、系统论、管理学和通信网络技术;实施阶段涉及软件技术、数据库技术、网络技术和配置管理、测试管理。管理信息系统与其他学科之间的关系如下图所示。

二、工商管理类专业管理信息系统课程教学体系

结合管理信息系统课程的理论基础和体系结构,结合现有文献提出的管理信息系统改革方法,提出以下改革建议。根据工商管理类专业的特点,减少MIS开发方法和开发过程所占的比例,添加MIS与企业竞争优势、MIS管理、经管领域MIS应用等知识模块。工商管理类专业MIS理论教学内容主要包括以下四部分:

(一)管理信息系统基础理论篇

1.管理信息系统基本概念:信息、系统、信息系统以及管理信息系统的概念,管理信息系统的发展历程。

2.管理信息系统理论基础:管理理论、信息论、系统论、控制论、行为科学、数学以及运筹学等基础理论学科的把握。

3.管理信息系统的分类:基于管理层次的分类、基于管理职能结构的分类、信息资源的空间分类以及技术架构分类。

4.管理信息系统的系统结构:概念结构、层次结构、功能结构、软件结构和硬件结构。

(二)管理信息系统的开发基础篇

1.管理信息系统的技术基础:计算机硬件系统、计算机软件系统。

2.管理信息系统的开发条件:企业业务流程分析与企业业务改革,领导的支持与参与。

3.系统的开发方法:结构化开发方法、原型法、面向对象的开发方法和计算机辅助工程。

4.数据库技术基础:概念模型、关系模型、概念模型和关系模型的转换、关系模型的规范化。

5.通信与网络:数据通信与计算机网络。

(三)系统开发与管理篇

1.管理信息系统规划:管理信息系统规划的必要性、目标、内容与组织管理,管理信息系统规划模型,系统规划的主要方法。

2.管理信息系统的分析:系统分析的目标、任务及步骤,系统详细调查与分析,新系统逻辑方案的建立。

3.管理信息系统的设计:系统设计的任务与原则,系统功能结构设计、系统配置方案设计、系统流程设计、代码设计、数据库设计。

(四)典型应用篇

1.生产管理信息系统:生产管理系统的发展、物料需求计划、制造资源计划、企业资源计划。

2.决策支持系统:决策支持系统的概述,决策支持系统的发展历程,决策支持系统功能与支持,智能决策支持系统,群体决策支持系统。

3.电子商务:电子商务的概念、分类,电子商务的应用框架,电子商务中的支付,电子商务的安全问题。

三、工商管理类专业管理信息系统课程教学改革建议

课程教学改革尤其是教学内容改革具有必要性和迫切性。一些文献分析了管理信息系统教学中存在的问题,并从不同角度提出了教学改革的措施和方法,如梁妍和王知强针对信息管理系统学科的特点,对管理信息系统的教材、实践教学、教学方法、教师素质等方面进行了改革研究。

关于教学方法已有较多研究,如讨论法、案例法、项目驱动法、自主实验法等。管理信息系统是管理科学、系统科学、应用数学、计算机科学和通讯技术等多学科综合发展起来的边缘学科,它既具有较深和较宽的理论基础,又是一门实践性很强的学科。在教学过程中,应结合学生的特点,在教学内容上避免以纯理论和纯技术的观点描述信息系统,而应将信息技术、管理方法和组织行为有机地结合起来,从管理和应用的角度介绍信息系统。在教学手段上应多采用课堂讨论、案例分析、实际系统调查等加强对信息系统的整体认识,结合上述教学内容提出一种专题讨论和案例启发相结合的教学法。

(一)并非课程全部内容均适合采用这种教学方法,可根据教学实际从上述四部分内容中选取一些作为案例讨论的专题。如管理信息系统对管理的影响,管理信息系统与企业竞争优势、企业信息安全、管理信息系统成败的因果等。

(二)建议对学生分组,如每组4-5人,小组式任务安排可使任务量合理化,学生间团结协作。

(三)针对专题内容,选择有针对性。本土化的新颖案例可由教师指定或由学生小组自行确定。

(四)为保障教学效果,要求学生课前认真准备。

如,讲解管理信息系统成败原因分析这一专题时,安排学生准备企业管理信息系统建设成功或失败的案例。学生分小组准备资料和课后在课堂讨论互动,教师引导和启发学生思考:通过成功案例总结管理信息系统成功的经验有哪些?通过失败案例分析失败的教训是什么?如何准确把握企业信息系统的需求?如何确定信息系统的开发策略?如何分析和选择软件供应商等,最终由教师总结归纳管理信息系统成功的关键因素。这种教学方法注重营造开放、互动的课堂气氛,引导和鼓励学生主动思考,激发学生学习的积极性和能动性,培养信息化环境下自主学习的能力,有助于提高学生的综合素质,培养团结协作精神。

四、结论

如果对于案例教学的方法没有深入的了解和研究,很多人会将案例教学当做是教师讲述理论概念后的故事举例,进而总结结论,再要求学生提交阅读案例的心得,而实际上,案例教学是以具体问题为学习和讨论的焦点,选择贴近现实的问题要求学生分析并提出解决方案的学习过程。在案例教学中,学了什么并不重要,重要的是学生在寻求解决方案的过程中认知能力和解决问题能力得到提升,学生挖掘隐含在案例之内的知识点的过程更是一个深化知识理解和掌握的过程,希望以上的探讨能起到抛砖引玉的作用。

参考文献:

[1]邓三鸿,许鑫,王昊,等.案例教学在管理信息系统课程中的实践探讨[J].现代教育技术,2012(22):120-125.

[2]徐生菊,徐升华.经管类专业《管理信息系统》课程教学改革研究[J].图书馆学研究,2012(1):7-11.

第7篇

【关键词】应用技术型本科 管理信息系统 教学改革

管理信息系统能够帮助企业提高效率和效益,帮助企业获得战略资源,企业管理信息系统建设已经成为衡量企业信息化的重要标志之一[1]。随着我国信息化的推进,我国企业需要大量既懂信息系统又懂行业知识的复合型人才。因此,以应用技术型高校人才培养目标为中心,在新的人才培养理念的基础上,进行管理信息系统课程教学改革,对于实现教学目标,满足企业人才需求具有重要意义。

一、应用技术型本科

《现代职业教育体系建设规划(2014~2020年)》中指出,应用技术类型本科是直接服务区域经济社会发展,以举办本科职业教育为重点,融职业教育、高等教育和继续教育于一体的新型大学。应用技术型本科是近年来我国为了适应经济发展、科学进步、产业升级,高等教育大众化发展需要建立起来的,是相对于传统“理论型”和“学术型”人才培养模式而言的,具有创新性、职业性、应用性等特征[2]。应用技术型本科定位于培养高层次应用技术类人才,培养符合经济社会需要的技术技能人才。

二、管理信息系统课程教学现状

从培养高层次应用技术型人才的角度分析传统管理信息系统课程教学,可以发现其中存在很多问题,这些问题主要表现在:

(一)课程内容缺乏针对性与职业需求不匹配

随着信息技术的飞速发展和管理理念不断创新,管理信息系统在概念、内容、体系上都发生了重大的变化,但是管理信息系统教材更新比较慢,且不同的专业,讲授基本相同的知识,课程内容与专业结合不紧密,缺乏必要的针对性,无法满足职业需求。

(二)先修课程教多,学生的知识储备不足,实践环节薄弱

管理信息系统是一门集管理科学、计算机科学、系统科学等为一体的综合性、交叉性课程。工程管理类专业学生对行业管理知识了解较多,但是计算机知识较为薄弱。学生知识储备不足,开展实践教学困难,对很多知识的掌握会仅仅停留在对概念的理解上,很难学以致用。

(三)师资缺乏

复合型人才培养要求管理信息系统教师应具备多学科知识,然而一般来说高校教师只具备单一的专业背景,而且大部分教师信息系统开发经验较少,“双师型”教师短缺直接影响管理信息系统课程教学质量。

传统的教学模式无法满足高层次应用技术型人才培养的需求,应用技术型本科管理信息系统课程教学改革势在必行。

三、高层次应用技术型人才培养新要求

近年来,随着高等教育结构调整,很多本科院校向应用技术型转型。应用技术型本科在人才培养过程中要求课程内容与职业标准对接,教学过程与生产过程对接。应用技术型高校的很多工程管理类专业将管理信息系统作为专业核心课程列入培养方案,满足了企业对复合型管理信息系统人才的需求,但是也对管理信息系统课程教学提出了新的要求。

(一)教学内容和职业需求相匹配、与行业知识相结合

随着我国产业结构不断优化,就业形式也在不断发生变化。传统行业就业人数减少,高端产业和新兴产业就业人数增加,对劳动力素质要求更高,对于动手能力高超、创造能力突出、适应能力极强的高技能型人才需求极大。因此,管理信息系统教学内容的设置要注重培养学生的动手能力、创造能力和适应能力。

(二)教学方法和岗位实践、职业培训相对接

高层次应用技术型人才要求具备更多的专用性人力资本。专用性人力资本的积累大多来自于岗位实践和职业培训。高校教育培养的更多的是通用性人力资本。目前,我国高等教育比较容易使学生出现通用性人力资本过剩,但专用性人力资本缺乏的现象[3]。因此,在管理信息系统教学过程中,应该引入岗位实践和职业培训,使人才培养与产业升级过程中人才需求相适应。

四、高层次应用技术型人才培养观念下管理信息系统课程教学改革思路

针对管理信息系统教学现状以及高层次应用技术性人才要求,可以从教学理念、教学内容、教学方法等方面开展教学改革。

(一)改善师资水平,引入协同教学理念

所谓协同教学(team teaching),就是多位教师组成教学团队,共同策划和执行某门课程教学的教学形式。可以由不同专业的教师和企业的高级专业技术人员共同组成教学团队,改变一位教师负责的状况,可以发挥教学团队的优势,提高教学质量[4]。管理信息系统课程教学团队可以包括具有行业背景的教师、计算机专业背景的教师和企业中系统开发人员(外聘)组成。在教学中培养学生的同时,锻炼教师队伍。

(二)整合教学内容

针对专业特色,制定教学内容。例如交通运输专业的学生管理信息系统课程,侧重点应该以物流管理系统、道路实时监测系统等作为案例。重视先修课程的开设,设置课程组,压缩各课程理论教学学时,注重实践环节。

(三)引入“项目驱动”式教学方法

项目驱动教学方法是指师生共同完成一个具有实际意义的项目,该方法能够将理论知识与实践结合起来,加深对理论知识的理解,激发学生学习兴趣。在管理信息系统教学过程中引入一个典型的、完整的、具有使用价值的项目,让学生分组由导师带领实际进行系统调查、系统分析、系统设计等环节,实践过程中的需求驱动理论知识学习,培养学生的实践能力。

五、总结

高层次应用技术型人才培养要求使得管理信息系统课程教学改革势在必行,通过引入“协同教学”的教学理念和“项目驱动”的教学方法、针对专业特色整合教学内容可以提高学生的学习兴趣、实践能力、创新能力,夯实学生的理论知识。从而使学生能够适应社会发展带来的产业升级、行业变化,满足用人单位对复合型管理信息系统人才的需求。

参考文献

[1]薛华成.管理信息系统[M].北京:清华大学出版社,2011.

[2]张典兵.应用技术型高校创新人才培养的问题审思[J].教育与职业:研究与探索,2015(16):18-21.