第一篇:管理信息系統(tǒng)實驗報告姜湖
西安郵電大學(xué)
管理信息系統(tǒng)實驗報告
專 業(yè) 班 級 學(xué)生姓名 學(xué) 號 01145018 指導(dǎo)老師
人力資源管理 人力1401 姜湖 朱燁行
代碼設(shè)計
#include
struct book *next;};struct book *creatbook();
struct book *addbook(struct book *head);int yanzheng(struct book *head,int m);
void deletebook(struct book *head);
void fprint(struct book *head);
struct book *load();
void print_book(struct book *head);
void chaxun(struct book *head);
void num_chaxun(struct book *head);
void wname_chaxun(struct book *head);void sort_chaxun(struct book *head);
void time_chaxun(struct book *head);
void bname_chaxun(struct book *head);void xiugai(struct book *head);
void paixu(struct book *head);
void num_paixu(struct book *head);
void time_paixu(struct book *head);
void price_paixu(struct book *head);
void bname_paixu(struct book *head);
void wname_paixu(struct book *head);
int main(){ int choice,n,x,y=1,c,c1=1;
char a,d,b[10],b1[10]=“1”;struct book *head=NULL;while(y){
system(“cls”);
printf(“nnnnn”);
//創(chuàng)建鏈表 //添加圖書
//驗證新添加的圖書編碼是否已存在 //刪除圖書
//將鏈表寫入文件
//從文件中讀取信息并建成鏈表
//將鏈表信息輸出
//查詢圖書信息
//按圖書編號查詢圖書
//按作者名查詢圖書
//按類別查詢圖書
//按出版時間查詢圖書
//按圖書名查詢圖書
//修改圖書信息
//對圖書進行排序
//按圖書編號排序
//按圖書出版時間排序 //按圖書價格排序
//按圖書名排序
//按作者名排序
printf(“
--------n”);
printf(“
---||-------------||-------圖書信息管理系統(tǒng)--------||-----------||---n”);
printf(“
---||-------------||-------
登陸界面
--------||-----------||---n”);
printf(“
--------n”);
printf(“n”);
printf(“
============1-進入系統(tǒng)===========n”);
printf(“
============0-退出系統(tǒng)===========n”);
printf(“
--------n”);
printf(“
請輸入選擇:”);
scanf(“%d”,&n);printf(“n”);
getchar();
switch(n){
case 0:
y=0;
break;
case 1:
printf(“
請輸入您的用戶名(輸入1即可):”);
gets(b);
printf(“n”);
printf(“
請輸入您的密碼(輸入1即可):”);
scanf(“%d”,&c);
printf(“n”);
if(strcmp(b,b1)!=0||c!=c1){
printf(“
驗證失敗,請重新輸入!n”);
scanf(“%c”,&d);
getchar();
system(“cls”);
}
else{
printf(“
驗證通過!請按Enter鍵進入!n”);
scanf(“%c”,&d);
getchar();
x=1;
while(x){
system(“cls”);
system(“color 1F”);
printf(“
--------nn”);
printf(“
---||-------------||-------圖書信息管理系統(tǒng)--------||-----------||---nn”);
printf(“
---||-------------||-----------操作界面------------||-----------||---nn”);
printf(“
--------nn”);
printf(“
---------------n”);
printf(“
----||-----------系統(tǒng)菜單選項-----------||----n”);
printf(“
---------------n”);
printf(“
-|| 1-添加圖書
刪除圖書-2 ||-nn”);
printf(“
-|| 3-圖書列表
圖書排序-4 ||-nn”);
printf(“
-|| 5-查詢圖書
修改圖書-6 ||-nn”);
printf(“
-|| 7-錄入數(shù)據(jù)
退出系統(tǒng)-0 ||-nn”);
printf(“
---------------n”);
printf(“
---------------nn”);
printf(“請輸入所選擇的序號:”);
scanf(“%d”,&choice);
getchar();
system(“cls”);
switch(choice)
{
case 0:
x=0;break;
case 1:
head=load();
if(head==NULL){
printf(“文件為空,請先錄入數(shù)據(jù)!n”);
getchar();
break;
}
else{
head=addbook(head);
printf(“添加成功!n”);
printf(“是否將新信息保存到文件?(y/n)n”);
scanf(“%c”,&a);
getchar();
switch(a){
case 'n':
break;
case 'y':
fprint(head);
printf(“保存成功!n”);
getchar();
break;
}
break;
}
case 2:
head=load();
if(head==NULL){
printf(“文件為空,請先錄入數(shù)據(jù)!n”);
getchar();
break;
}
else{
deletebook(head);
getchar();
break;
}
break;
case 3:
head=load();
if(head==NULL){
printf(“文件為空,請先錄入數(shù)據(jù)!n”);
getchar();
break;
}
else{
print_book(head);
getchar();
break;
}
case 4:
head=load();
if(head==NULL){
printf(“文件為空,請先錄入數(shù)據(jù)!n”);
getchar();
break;
}
else{
paixu(head);
getchar();
}
break;
case 5:
head=load();
if(head==NULL){
printf(“文件為空,請先錄入數(shù)據(jù)!n”);
息?(y/n)n“);
getchar();
break;
}
else{
chaxun(head);
getchar();
}
break;case 6:
head=load();
if(head==NULL){
printf(”文件為空,請先錄入數(shù)據(jù)!n“);
getchar();
break;
}
else{
xiugai(head);
getchar();
break;
}
break;case 7:
printf(”注意:輸入圖書編碼為0時結(jié)束!n“);
head=creatbook();
printf(”是否將輸入的信息保存到文件以覆蓋文件中已存在的信
getchar();
scanf(“%c”,&a);
getchar();
switch(a){
case '0':
break;
case 'y':
fprint(head);
printf(“保存成功!n”);
getchar();
break;
}
break;default:
printf(“輸入有誤,請重新輸入!n”);
getchar();
break;
}
}
}
break;
default:
printf(“
輸入有誤,請重新輸入!n”);
getchar();
break;
} } }
//錄入數(shù)據(jù)并形成鏈表 struct book *creatbook(){ struct book *head,*tail,*p;int num,time,n;char bname[50],wname[20],press[50],sort[50];float price;int size=sizeof(struct book);head=tail=NULL;printf(“請輸入圖書編號:”);scanf(“%d”,&num);
printf(“請輸入圖書名:”);
scanf(“%s”,bname);getchar();
printf(“請輸入作者名:”);
scanf(“%s”,wname);getchar();
printf(“請輸入出版社:”);
scanf(“%s”,press);getchar();printf(“請輸入類別:”);
scanf(“%s”,sort);getchar();
printf(“請輸入出版時間:”);
scanf(“%d”,&time);getchar();
printf(“請輸入價格:”);
scanf(“%f”,&price);getchar();while(1){
p=(struct book *)malloc(size);
p->num=num;
strcpy(p->bname,bname);
strcpy(p->wname,wname);
strcpy(p->press,press);
strcpy(p->sort,sort);
p->time=time;
p->price=price;
p->next=NULL;
if(head==NULL)
head=p;
else
tail->next=p;
tail=p;
do{
printf(“請輸入圖書編號:”);
scanf(“%d”,&num);
n=yanzheng(head,num);
if(n==0)
break;
else
printf(“您輸入的編號已存在,請重新輸入!n”);}while(1);
if(num==0)
break;
else
{
printf(“請輸入圖書名:”);
scanf(“%s”,bname);
getchar();
printf(“請輸入作者名:”);
scanf(“%s”,wname);
getchar();
printf(“請輸入出版社:”);
scanf(“%s”,press);
getchar();
printf(“請輸入類別:”);
scanf(“%s”,sort);
getchar();
printf(“請輸入出版時間:”);
scanf(“%d”,&time);
getchar();
printf(“請輸入價格:”);
scanf(“%f”,&price);
getchar();
} } return head;}
//插入結(jié)點,并且插入后仍按一定順序 struct book *addbook(struct book *head){
struct book *ptr,*p1,*p2,*p;
char bname[50],wname[20],press[50],sort[50];int size=sizeof(struct book);
int num,time,n=1;float price;do{
printf(“請輸入圖書編號:”);
scanf(“%d”,&num);
n=yanzheng(head,num);
if(n==0)
break;
else
printf(“您輸入的編號已存在,請重新輸入!n”);}while(1);
printf(“請輸入圖書名:”);
scanf(“%s”,bname);getchar();
printf(“請輸入作者名:”);
scanf(“%s”,wname);getchar();
printf(“請輸入出版社:”);
scanf(“%s”,press);getchar();printf(“請輸入類別:”);
scanf(“%s”,sort);getchar();
printf(“請輸入出版時間:”);
scanf(“%d”,&time);getchar();
printf(“請輸入價格:”);
scanf(“%f”,&price);getchar();p=(struct book *)malloc(size);
p->num=num;
strcpy(p->bname,bname);strcpy(p->wname,wname);strcpy(p->press,press);strcpy(p->sort,sort);p->time=time;p->price=price;p2=head;ptr=p;while((ptr->num>p2->num)&&(p2->next!=NULL)){
p1=p2;
p2=p2->next;} if(ptr->num<=p2->num){
if(head==p2)
head=ptr;
else{
p1->next=ptr;
p->next=p2;
} } else{
p2->next=ptr;
p->next=NULL;} return head;} //驗證添加的圖書編號是否已存在 int yanzheng(struct book *head,int m){ struct book *p;p=head;while(p!=NULL){
if(p->num==m)
break;
p=p->next;} if(p==NULL)
return 0;else
return 1;}
//將新鏈表寫入文件中
void fprint(struct book *head){ FILE *fp;char ch='1';struct book *p1;if((fp=fopen(“f1.txt”,“w”))==NULL){
printf(“File open error!n”);
exit(0);} fputc(ch,fp);for(p1=head;p1;p1=p1->next){
fprintf(fp,“%d %s %s %s %s %d %fn”,p1->num,p1->bname,p1->wname,p1->press,p1->sort,p1->time,p1->price);} fclose(fp);} //從文件中讀取圖書信息 struct book *load(){ FILE *fp;char ch;struct book *head,*tail,*p1;head=tail=NULL;if((fp=fopen(“f1.txt”,“r”))==NULL){
printf(“File open error!n”);
exit(0);} ch=fgetc(fp);if(ch=='1'){
while(!feof(fp)){
p1=(struct book *)malloc(sizeof(struct book));
fscanf(fp,“%d%s%s%s%s%d%fn”,&p1->num,p1->bname,p1->wname,p1->press,p1->sort,&p1->time,&p1->price);
if(head==NULL)
head=p1;
else
tail->next=p1;
tail=p1;
}
tail->next=NULL;
fclose(fp);
return head;} else
return NULL;
} //將整個鏈表的信息輸出
void print_book(struct book *head){ struct book *ptr;if(head==NULL){
printf(“n沒有信息!n”);
return;} printf(“
圖書信息列表如下n”);printf(“ ==============================n”);printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);for(ptr=head;ptr;ptr=ptr->next)printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,ptr->num,ptr->bname,ptr->wname,ptr->press,ptr->sort,ptr->time,ptr->price);printf(“ ==============================n”);} //刪除圖書信息
void deletebook(struct book *head){ int a;char b,ch='1';struct book *p1,*p2;FILE *fp;printf(“請輸入要刪除的圖書編號:”);scanf(“%d”,&a);
p1=head;
if(p1->num==a&&p1->next==NULL){
//對于文件中只有一組數(shù)據(jù)
printf(“是否清空文件!(y/n)n”);
getchar();
scanf(“%c”,&b);
getchar();
switch(b){
case 'n':
break;
case 'y':
if((fp=fopen(“f1.txt”,“w”))==NULL){
printf(“File open error!n”);
exit(0);
}
fclose(fp);
printf(“文件已清空!n”);
} } else{
while(p1->num!=a&&p1->next!=NULL){
p2=p1;
p1=p1->next;
}
if(p1->next==NULL){
if(p1->num==a){
p2->next=NULL;
printf(“是否確定從文件中徹底刪除該圖書?(y/n)n”);
getchar();
scanf(“%c”,&b);
switch(b){
case 'n':
break;
case 'y':
fprint(head);
printf(“刪除成功!n”);
getchar();
break;
}
}
else{
printf(“沒有找到要刪除的數(shù)據(jù)!n”);
getchar();
}
}
else if(p1==head){
head=p1->next;
printf(“是否確定從文件中徹底刪除該圖書?(y/n)n”);
getchar();
scanf(“%c”,&b);
switch(b){
case 'n':
break;
case 'y':
fprint(head);
printf(“刪除成功!n”);
getchar();
break;
}
}
else{
p2->next=p1->next;
printf(“是否確定從文件中徹底刪除該圖書?(y/n)n”);
getchar();
scanf(“%c”,&b);
switch(b){
case 'n':
break;
case 'y':
fprint(head);
printf(“刪除成功!n”);
getchar();
break;
}
} }
} //圖書查詢
void chaxun(struct book *head){ int a;printf(“
============n”);printf(“
** 1-按圖書編號查詢
2-按圖書名查詢 **n”);printf(“
** 3-按圖書類別查詢
4-按作者名查詢 **n”);printf(“
** 5-按出版時間查詢
0-退出查詢
**n”);printf(“
============n”);printf(“請輸入所選擇的編號:”);scanf(“%d”,&a);getchar();switch(a){ case 0:
break;case 1:
num_chaxun(head);
break;case 2:
bname_chaxun(head);
break;case 3:
sort_chaxun(head);
break;case 4:
wname_chaxun(head);
break;case 5:
time_chaxun(head);
break;default:
printf(“您的輸入有誤!n”);
break;} } //按編號查詢圖書信息
void num_chaxun(struct book *head){ int a;struct book *p;
printf(“請選擇您要查詢的圖書編號:”);scanf(“%d”,&a);getchar();p=head;
while(p!=NULL){
if(p->num==a)
break;
p=p->next;}
if(p==NULL){
printf(“沒有找到該編號的圖書!n”);} else{
printf(“
你所查詢的圖書信息如下n”);
printf(“ ==============================n”);
printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);
printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,p->num,p->bname,p->wname,p->press,p->sort,p->time,p->price);
printf(“ ==============================n”);} } //按圖書名查詢圖書信息
void bname_chaxun(struct book *head){ char a[50];int flag=0;struct book *p;
printf(“請選擇您要查詢的圖書名:”);gets(a);p=head;while(p!=NULL){
if(strcmp(p->bname,a)==0){
flag=1;
break;
}
p=p->next;}
if(flag==0){
printf(“沒有找到該圖書名的圖書!n”);
} else{
printf(“
你所查詢的圖書信息如下n”);printf(“ ==============================n”);printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);
while(p!=NULL){
if(strcmp(p->bname,a)==0){
printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,p->num,p->bname,p->wname,p->press,p->sort,p->time,p->price);
}
p=p->next;}
printf(“ ==============================n”);}
} //按作者名查詢圖書信息
void wname_chaxun(struct book *head){ char a[50];int flag=0;struct book *p;
printf(“請選擇您要查詢的圖書作者名:”);gets(a);p=head;
while(p!=NULL){
if(strcmp(p->wname,a)==0){
flag=1;
break;
}
p=p->next;}
if(flag==0){
printf(“沒有找到該圖書名的圖書!n”);
} else{
printf(“
你所查詢的圖書信息如下n”);
printf(“ ==============================n”);
printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);
while(p!=NULL){
if(strcmp(p->wname,a)==0){
printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,p->num,p->bname,p->wname,p->press,p->sort,p->time,p->price);
flag=1;
}
p=p->next;}
printf(“ ==============================n”);}
} //按圖書類別查詢圖書信息
void sort_chaxun(struct book *head){ char a[50];int flag=0;struct book *p;
printf(“請選擇您要查詢的圖書類別:”);gets(a);p=head;
while(p!=NULL){
if(strcmp(p->sort,a)==0){
flag=1;
break;
}
p=p->next;}
if(flag==0){
printf(“沒有找到該圖書名的圖書!n”);
} else{
printf(“
你所查詢的圖書信息如下n”);printf(“ ==============================n”);printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);
while(p!=NULL){
if(strcmp(p->sort,a)==0){
printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,p->num,p->bname,p->wname,p->press,p->sort,p->time,p->price);
flag=1;
}
p=p->next;}
printf(“ ==============================n”);} } //按圖書出版時間查詢圖書信息 void time_chaxun(struct book *head){ int a,flag=0;struct book *p;
printf(“請選擇您要查詢的圖書出版時間:”);scanf(“%d”,&a);
getchar();p=head;
while(p!=NULL){
if(p->time==a){
flag=1;
break;
}
p=p->next;}
if(flag==0){
printf(“沒有找到該圖書名的圖書!n”);
} else{
printf(“
你所查詢的圖書信息如下n”);
printf(“ ==============================n”);printf(“ 編號
圖書名
作者名
出版社
類別
出版時間 價格n”);
while(p!=NULL){
if(p->time==a){ printf(“ %3d
%-12s
%-8s %-14s
%-2s
%-4d
%.2fn”,p->num,p->bname,p->wname,p->press,p->sort,p->time,p->price);
flag=1;
}
p=p->next;}
printf(“ ==============================n”);} } //修改圖書信息 void xiugai(struct book *head){ int a,b;char c;struct book *p;printf(“請輸入要修改的圖書編號:”);scanf(“%d”,&a);p=head;while(p!=NULL){
if(p->num==a)
break;
p=p->next;} if(p==NULL){
printf(“沒有找到該編號的圖書!n”);
getchar();} else{
printf(“
==============n”);
printf(“
** 1-編號
2-圖書名
者名
**n”);
printf(“
** 4-出版社
5-類別
版時間 **n”);
printf(“
** 7-價格
8-修改全部
棄修改 **n”);
printf(“
==============n”);
printf(“請選擇你要修改的信息編號:”);
scanf(“%d”,&b);
getchar();
switch(b){
case 1:
printf(“請輸入新編號:”);
scanf(“%d”,&p->num);
printf(“修改成功!n”);
getchar();
break;
case 2:
printf(“請輸入新圖書名:”);
gets(p->bname);
printf(“修改成功!n”);
break;
case 3:
3-作6-出0-放
printf(“請輸入新作者名:”);
gets(p->wname);
printf(“修改成功!n”);
break;
case 4:
printf(“請輸入新出版社:”);
gets(p->press);
printf(“修改成功!n”);
break;
case 5:
printf(“請輸入新類別:”);
gets(p->sort);
printf(“修改成功!n”);
break;
case 6:
printf(“請輸入新出版時間:”);
scanf(“%d”,&p->time);
printf(“修改成功!n”);
getchar();
break;
case 7:
printf(“請輸入新價格:”);
scanf(“%f”,&p->price);
printf(“修改成功!n”);
getchar();
break;
case 8:
printf(“請輸入新圖書編號:”);
scanf(“%d”,&p->num);
printf(“請輸入新圖書名:”);
scanf(“%s”,p->bname);
getchar();
printf(“請輸入新作者名:”);
scanf(“%s”,p->wname);
getchar();
printf(“請輸入新出版社:”);
scanf(“%s”,p->press);
getchar();
printf(“請輸入新類別:”);
scanf(“%s”,p->sort);
getchar();
printf(“請輸入新出版時間:”);
scanf(“%d”,&p->time);
getchar();
printf(“請輸入新價格:”);
scanf(“%f”,&p->price);
getchar();
printf(“修改成功!n”);
getchar();
break;
case 0:
break;
default :
printf(“您的輸入有誤!n”);
break;
}
printf(“是否將修改后的信息保存到文件中?(y/n)n”);
scanf(“%c”,&c);
getchar();
switch(c){
case 'n':
break;
case 'y':
fprint(head);
printf(“保存成功!n”);
getchar();
break;
}
} } //圖書排序
void paixu(struct book *head){ int a;
printf(“
==================n”);printf(“
** 1-按圖書編號排序
2-按出版時間排序
**n”);printf(“
** 3-按圖書價格排序
4-按圖書名排序
**n”);printf(“
** 5-按作者名排序
0-取消排序操作
**n”);printf(“
==================n”);printf(“請輸入您選擇的編號:”);scanf(“%d”,&a);getchar();switch(a){ case 0:
break;case 1:
num_paixu(head);
break;case 2:
time_paixu(head);
break;case 3:
price_paixu(head);
break;case 4:
bname_paixu(head);
break;case 5:
wname_paixu(head);
break;default:
printf(“您的輸入有誤!n”);
break;} }
//按圖書編號排序
void num_paixu(struct book *head){ struct book *a[1000],*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next)
n++;for(i=0;i a[i]=p1; p1=p1->next;} for(k=0;k index=k; for(i=k+1;i if(a[i]->numnum) index=i; } temp=a[index]; a[index]=a[k]; a[k]=temp;} printf(“排序成功!n”);printf(“是否顯示排序結(jié)果?(y/n)n”);scanf(“%s”,&b); getchar();switch(b){ case 'n': break;case 'y': printf(“ ==============================n”); printf(“ 編號 圖書名 作者名 出版社 類別 出版時間 價格n”); for(i=0;i printf(“ %3d %-12s %-8s %-14s %-2s %-4d %.2fn”,a[i]->num,a[i] ->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->price); } printf(“ ==============================n”); break;default: printf(“您的輸入有誤!n”); break;} } //按出版時間排序 void time_paixu(struct book *head){ struct book *a[1000],*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next) n++;for(i=0;i a[i]=p1; p1=p1->next;} for(k=0;k index=k; for(i=k+1;i if(a[i]->timetime) index=i; } temp=a[index]; a[index]=a[k]; a[k]=temp;} printf(“排序成功!n”);printf(“是否顯示排序結(jié)果?(y/n)n”);scanf(“%s”,&b); getchar();switch(b){ case 'n': break;case 'y': printf(“ ==============================n”); printf(“ 編號 圖書名 作者名 出版社 類別 出版時間 價格n”); for(i=0;i printf(“ %3d %-12s %-8s %-14s %-2s %-4d %.2fn”,a[i]->num,a[i] ->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->price); } printf(“ ==============================n”); break;default: printf(“您的輸入有誤!n”); break;} } //按圖書價格排序 void price_paixu(struct book *head){ struct book *a[1000],*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next) n++;for(i=0;i a[i]=p1; p1=p1->next;} for(k=0;k index=k; for(i=k+1;i if(a[i]->priceprice) index=i; } temp=a[index]; a[index]=a[k]; a[k]=temp;} printf(“排序成功!n”);printf(“是否顯示排序結(jié)果?(y/n)n”);scanf(“%s”,&b); getchar();switch(b){ case 'n': break;case 'y': printf(“ ==============================n”); printf(“ 編號 圖書名 作者名 出版社 類別 出版時間 價格n”); for(i=0;i printf(“ %3d %-12s %-8s %-14s %-2s %-4d %.2fn”,a[i]->num,a[i] ->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->price); } printf(“ ==============================n”); break;default: printf(“您的輸入有誤!n”); break;} } //按圖書名排序 void bname_paixu(struct book *head){ struct book *a[1000],*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next) n++;for(i=0;i a[i]=p1; p1=p1->next;} for(k=0;k index=k; for(i=k+1;i if(strcmp(a[index]->bname,a[i]->bname)>0) index=i; } temp=a[index]; a[index]=a[k]; a[k]=temp;} printf(“排序成功!n”);printf(“是否顯示排序結(jié)果?(y/n)n”);scanf(“%s”,&b); getchar();switch(b){ case 'n': break;case 'y': printf(“ ==============================n”); printf(“ 編號 圖書名 作者名 出版社 類別 出版時間 價格n”); for(i=0;i printf(“ %3d %-12s %-8s %-14s %-2s %-4d %.2fn”,a[i]->num,a[i] ->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->price); } printf(“ ==============================n”); break;default: printf(“您的輸入有誤!n”); break;} } //按作者名排序 void wname_paixu(struct book *head){ struct book *a[1000],*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next) n++;for(i=0;i a[i]=p1; p1=p1->next;} for(k=0;k index=k; for(i=k+1;i if(strcmp(a[index]->wname,a[i]->wname)>0) index=i; } temp=a[index]; a[index]=a[k]; a[k]=temp;} printf(“排序成功!n”);printf(“是否顯示排序結(jié)果?(y/n)n”);scanf(“%s”,&b); getchar();switch(b){ case 'n': break;case 'y': printf(“ ==============================n”); printf(“ 編號 圖書名 作者名 出版社 類別 出版時間 價格n”); for(i=0;i printf(“ %3d %-12s %-8s %-14s %-2s %-4d %.2fn”,a[i]->num,a[i]->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->price); } printf(“ ==============================n”); break;default: printf(“您的輸入有誤!n”); break;} } 《管理信息系統(tǒng)》 實驗報告 題 目 某公司辦公用品管理系統(tǒng) 實驗名稱 系統(tǒng)規(guī)劃及分析報告 成員學(xué)號 成員姓名 成績 指導(dǎo)教師 時間: 2010年12月 3日 目錄 引言.........................................................................................................1 1.1 系統(tǒng)開發(fā)背景及需求.....................................................................................1 1.2 系統(tǒng)目標.........................................................................................................1 1.2.1 系統(tǒng)的約束..........................................................................................1 1.2.2 系統(tǒng)的總體結(jié)構(gòu)..................................................................................1 1.3 項目開發(fā)計劃.................................................................................................2 1.3.1 對影響規(guī)劃的信息技術(shù)發(fā)展的預(yù)測..................................................2 1.3.2項目的角色分配...................................................................................2 1.3.3項目開發(fā)過程時間進度、人員及資金安排.......................................2 系統(tǒng)分析.................................................................................................2 2.1 系統(tǒng)可行性分析.............................................................................................3 2.1.1 經(jīng)濟可行性2.1.2 技術(shù)可行性.........................................................3 2.1.3 管理可行性..........................................................................................3 2.2 組織結(jié)構(gòu)調(diào)查.................................................................................................3 2.3管理功能調(diào)查..................................................................................................4 2.4 某公司辦工用品管理系統(tǒng)業(yè)務(wù)流程分析...................................................5 2.4.1 業(yè)務(wù)流程圖符號說明..........................................................................5 2.4.2 某公司辦工用品管理業(yè)務(wù)流程圖......................................................5 2.5 某公司辦工用品管理系統(tǒng)數(shù)據(jù)流程分析...................................................7 2.5.1 數(shù)據(jù)流程圖符號說明..........................................................................7 2.5.2 頂層流程圖..........................................................................................7 2.5.3 第一層數(shù)據(jù)流程圖..............................................................................8 2.5.4 第二層數(shù)據(jù)流程圖..............................................................................8 結(jié)束語.....................................................................................................9 《管理信息系統(tǒng)》實驗報告正文 引言 1.1 系統(tǒng)開發(fā)背景及需求 某公司是一個多種產(chǎn)業(yè)經(jīng)營的中小型企業(yè),但因為業(yè)務(wù)需求,每需要的辦公用品也是不少。但是辦公用品的購入和管理卻還是由人工記帳、管理的方式,管理人員的缺乏,使之相對工作量較大,且管理人員手工操作效率不高,出錯率卻不低。 1.2 系統(tǒng)目標 為了能更好地利用現(xiàn)代信息技術(shù)的成果,提高工作的效率和水平,以適應(yīng)公司的發(fā)展,決定開發(fā)辦公用品管理系統(tǒng)。 1.2.1 系統(tǒng)的約束 (1)公司負責(zé)人高度重視,負責(zé)指揮、協(xié)調(diào)各方關(guān)系,全力配合本系統(tǒng)開發(fā);(2)公司必須建立一套切實可行的規(guī)章制度,規(guī)范公司各個部門的管理環(huán)節(jié);(3)必須配置軟件、硬件及相關(guān)設(shè)備(PC、打印機、網(wǎng)絡(luò)設(shè)備等),確保系統(tǒng)運行的可行性; (4)用戶需要有基本的計算機操作能力,會進行文字輸入,能對數(shù)據(jù)庫進行基本的維護,如備份和恢復(fù)數(shù)據(jù)庫等,會使用打印機; (5)需要有足夠的資金保證系統(tǒng)開發(fā)和運行管理。 1.2.2 系統(tǒng)的總體結(jié)構(gòu) 管理層:辦公用品信息、辦公人員信息、供應(yīng)商資料 業(yè)務(wù)層:入庫、使用信息、盤點、移庫、統(tǒng)計 第1頁 《管理信息系統(tǒng)》實驗報告正文 辦公用品管理系統(tǒng) 辦公用品管理辦公人員管理用品供應(yīng)商管理入庫系統(tǒng)管理使用信息管理庫存用品盤點辦公系統(tǒng)移庫統(tǒng)計系統(tǒng) 1.3 項目開發(fā)計劃 1.3.1 對影響規(guī)劃的信息技術(shù)發(fā)展的預(yù)測 該系統(tǒng)應(yīng)適應(yīng)信息技術(shù)發(fā)展需求 1.3.2項目的角色分配 由自己一人開發(fā) 1.3.3項目開發(fā)過程時間進度、人員及資金安排 由一人開發(fā),時間為三個月 系統(tǒng)分析 根據(jù)調(diào)查,辦公用品入庫的過程是當(dāng)購入商品到貨后,負責(zé)進貨的人員首先填寫入庫單,然后經(jīng)倉庫管理人員對商品的質(zhì)量及數(shù)量進行核查后方可入庫,并更新商品入庫流水帳,另外如果是新產(chǎn)品,則還要在庫存臺帳中建立新帳頁。工作人員對辦公用品使用管理過程是管理人員根據(jù)工作人員提供的辦公用品使用申請單,經(jīng)核查后同意使用,同時登記辦公用品的出庫使用流水帳。按照要求,每天下班之前統(tǒng)計分析人員要根據(jù)辦公用品購入流水帳和辦公用品的出庫使用流水帳,累計匯總出各種辦公用品當(dāng)日的累計購入入庫量、累計辦公用品的出庫使用量和庫存結(jié)余量等數(shù)據(jù),并將這些數(shù)據(jù)填入庫存臺帳。 第2頁 《管理信息系統(tǒng)》實驗報告正文 原有的手工方式存在的問題有: 手工模式下的效率低、錯誤多、處理速度慢,不適應(yīng)企業(yè)發(fā)展的需要。 在具體工作中,存在大量數(shù)據(jù)的保存、匯總、查詢等工作,手工模式速度慢而且不利于數(shù) 據(jù)的分析,已不適應(yīng)現(xiàn)代管理模式 2.1 系統(tǒng)可行性分析 原有的手工方式存在的問題有: 手工模式下的效率低、錯誤多、處理速度慢,不適應(yīng)企業(yè)發(fā)展的需要。 在具體工作中,存在大量數(shù)據(jù)的保存、匯總、查詢等工作,手工模式速度慢而且不利于數(shù) 據(jù)的分析,已不適應(yīng)現(xiàn)代管理模式。 加入信息管理系統(tǒng),可以使效率提高,降低出錯率。 本系統(tǒng)小巧易用,只要4臺電腦組成,成本較低,管理人員工作量減少,可以給企業(yè)帶來利益,所以可以推廣 2.1.1 經(jīng)濟可行性2.1.2 技術(shù)可行性 管理人員工作量減少,可以給企業(yè)帶來利益,所以可以推廣 2.1.3 管理可行性 管理方面而言,隨著公司的日益壯大,公司對此套系統(tǒng)的需求日益增大,高層管理部門對新系統(tǒng)表現(xiàn)出充分的支持和積極參與的態(tài)度。系統(tǒng)的開發(fā)和現(xiàn)有制度并沒有沖突,而且現(xiàn)有員工可以通過培訓(xùn)很容易的掌握和使用系統(tǒng)。 2.2 組織結(jié)構(gòu)調(diào)查 經(jīng)調(diào)查,XX公司辦公用品管理主要由采購辦公室主任統(tǒng)一管轄,下設(shè)進出用品主管、庫存主管、使用信息統(tǒng)計主管。 1、進出用品主管主要管理辦公用品的采購和分配使用,下設(shè)兩名業(yè)務(wù)員,采購人員負責(zé)采購,出貨人員負責(zé)分配分配使用。 2、庫存主管主要管理辦公用品的庫存管理,下設(shè)一名業(yè)務(wù)員,協(xié)助庫存主管管理。 3、信息統(tǒng)計主管主要管理職員使用辦公用品的統(tǒng)計,下設(shè)一名業(yè)務(wù)員,協(xié)助主管管理。 第3頁 《管理信息系統(tǒng)》實驗報告正文 采購辦公室主任進出用品主管庫存主管信息統(tǒng)計主管采購人員出貨人員庫存管理人員信息統(tǒng)計人員 2.3管理功能調(diào)查 采購管理:包括商品信息、供貨商、商品訂購的管理。庫存管理:用品的出庫、入庫管理。 統(tǒng)計管理:包括用品的購入統(tǒng)計、使用統(tǒng)計。 某公司辦公用品管理采購管理庫存管理統(tǒng)計管理商品信息管理供貨商管理商品訂購管理入庫管理出庫管理用品購入統(tǒng)計用品使用統(tǒng)計 第4頁 《管理信息系統(tǒng)》實驗報告正文 2.4 某公司辦工用品管理系統(tǒng)業(yè)務(wù)流程分析 1、辦公用品購入業(yè)務(wù)流程分析 進出用品主管查詢貨品庫存與職員需求計劃,若不足,則編寫相應(yīng)的采購訂貨單據(jù),并交由發(fā)貨商提出訂貨請求。 供應(yīng)商按訂單要求發(fā)貨給進出用品主管,并附上發(fā)貨單。進出用品主管填寫收貨單送交庫存主管。 庫存主管根據(jù)收貨單信息登記貨品庫存和用品購入流水帳。庫存主管送交用品購入流水帳給信息統(tǒng)計主管。 2、辦公用品使用業(yè)務(wù)流程分析 職員向進出用品主管提交用品使用申請單。 進出用品主管核對用品使用申請單、貨品庫存(資料)等資料,根據(jù)貨品庫存(資料)填寫用品使用單,并送交庫存主管。 庫存主管根據(jù)用品使用單信息登記貨品庫存和用品使用流水帳。庫存主管送交用品使用流水帳給信息統(tǒng)計主管。 2.4.1 業(yè)務(wù)流程圖符號說明 2.4.2 某公司辦工用品管理業(yè)務(wù)流程圖 1、辦公用品購入業(yè)務(wù)流程流程圖 第5頁 ,《管理信息系統(tǒng)》實驗報告正文 職員需求計劃訂貨單進出用品主管發(fā)貨商發(fā)貨單收貨單庫存主管用品購入流水帳貨品庫存 2、辦公用品使用業(yè)務(wù)流程圖 進出用品主管用品使用申請單信息統(tǒng)計主管 職員用品使用單庫存主管用品使用流水帳貨品庫存信息統(tǒng)計主管 第6頁 《管理信息系統(tǒng)》實驗報告正文 2.5 某公司辦工用品管理系統(tǒng)數(shù)據(jù)流程分析 1、辦公用品購入管理數(shù)據(jù)流程 進出用品主管查詢貨品庫存(資料),若貨品的庫存量不能滿足用戶的需要,則編制相應(yīng)的采購訂貨單,并交送給供應(yīng)商提出訂貨請求;供應(yīng)商按訂單要求發(fā)貨給進出用品主管,并附上發(fā)貨單;進出用品主管填寫收貨單送交庫存主管。 2、辦公用品使用管理數(shù)據(jù)流程 職員向進出用品主管提交工作物品使用申請憑證,業(yè)務(wù)員檢查使用申請憑證和貨存庫存(資料),填寫使用物品清單,修改庫存資料;批準審核人員根據(jù)使用用品清單,填寫工作物品使用憑證;信息管理主管根據(jù)工作物品使用憑證,進行物品匯總,記錄使用明細;職員在使用后,想將物品退回,填寫用品退回憑證,用品退還人員開具退還用品清單,交回信息管理主管進行使用匯總,并更新使用明細。 3、辦公用品庫存管理數(shù)據(jù)流程 庫存主管根據(jù)進出用品主管送來的收貨單登記入庫流水帳和貨品庫存(資料);根據(jù)職員提供的辦公用品使用憑證及進出用品主管提供的辦公用品使用憑證發(fā)貨;根據(jù)進出用品主管提供的退還用品單辦理退還用品;所有出庫都需建立出庫流水賬,更新貨品庫存(資料)。 2.5.1 數(shù)據(jù)流程圖符號說明 2.5.2 頂層流程圖 發(fā)貨單工作物品使用憑證PE1供應(yīng)商訂貨單辦公用品管理系統(tǒng)E2職員工作物品使用申請憑證用品退還憑證 第7頁 《管理信息系統(tǒng)》實驗報告正文 2.5.3 第一層數(shù)據(jù)流程圖 用品退還憑證訂貨單E1供應(yīng)商發(fā)貨單P1進貨P2使用工作物品使用憑證E2職員工作物品使用申請憑證收貨單S辦公用品庫存(資料)準許用證品退回憑P3庫存 2.5.4 第二層數(shù)據(jù)流程圖 1、辦公用品購入管理數(shù)據(jù)流程圖 發(fā)貨單S采購訂貨單E1供應(yīng)商P1.1P1.2收貨訂貨單編制訂貨S貨品庫存(資料) 第8頁 《管理信息系統(tǒng)》實驗報告正文 2、辦公用品使用管理數(shù)據(jù)流程 工作物品使用憑證P2.1E2職員工作物品使用申請憑證P2.2使用用品清單申請憑證收集申請憑證批準用品退還憑證S貨品庫存(資料)工作憑物證品使用P2.4用品退還退還用品清單P2.3使用匯總S使用明細 3、辦公用品庫存管理數(shù)據(jù)流程圖 E1供應(yīng)商收貨單P3.1入庫流水帳入庫退還用品單P3.2退還S辦公用品庫存(資料)出庫流水賬E2職員P3.3辦公用品使用憑證發(fā)貨出庫流水賬 結(jié)束語 管理信息系統(tǒng)的好處是可以簡化人們?nèi)粘9ぷ髦械拇罅繖C械重復(fù)的操作,使一些過程繁瑣且數(shù)據(jù)量大的數(shù)據(jù)收集工作得已高效的進行,信息系統(tǒng)還可以通過對數(shù)據(jù)的有效控制,實現(xiàn)對工作流層的控制,協(xié)調(diào)。現(xiàn)在的信息系統(tǒng),如專家系統(tǒng)還可以給管理人員提供決策支持,通過對數(shù)據(jù)的整理分析給管理 第9頁 《管理信息系統(tǒng)》實驗報告正文 層提供有利于決策的決策模型,管理信息系統(tǒng)中的數(shù)據(jù)倉庫,可以對大量的日常數(shù)據(jù)進行數(shù)據(jù)挖掘操作,發(fā)現(xiàn)一些不為人知的,但是切實可用的規(guī)律,變化。例如:電話公司的自動繳費系統(tǒng),大大縮短了,客戶繳費的時間,省去了傳統(tǒng)的前臺收費后還要手動把所收取費用計入賬本的麻煩。沃爾瑪?shù)臄?shù)據(jù)挖掘系統(tǒng),根據(jù)客戶購買商品的數(shù)據(jù),發(fā)現(xiàn)了暴風(fēng)雨天氣,啤酒銷量上漲的規(guī)律,物流公司可以通過信息系統(tǒng),對貨物進行跟蹤控制.....等等,信息系統(tǒng)的好處通過上述例子不言而喻。通過學(xué)習(xí)讓我們初步學(xué)會了一些東西,在我們以后的工作中會有大作用。 第10頁 管理信息系統(tǒng)實驗報告 專 業(yè):信息管理與信息系統(tǒng) 班 級:信管122 組 長:丁曉璐 小組成員:尹 婷(2012215082) 劉嬌嬌(2012215078)李 堯(2012215079)丁曉璐(2012215043) 一、實驗名稱 金蝶ERP-K/3模擬實驗財務(wù)管理系統(tǒng) 二、實驗環(huán)境 2607機房 三、實驗?zāi)康?/p> 通過學(xué)會會計實驗軟件,了解從原始憑證、編制記賬憑證,然后到記賬、對賬、結(jié)賬等,這一系列會計處理過程。能夠使用軟件的基本功能,并擴大到往來、出納、固定資產(chǎn)等管理。利用會計實驗軟件,在實驗過程中全面了解和熟悉會計實務(wù),掌握會計基本概念,熟悉會計核算的基本程序和基本方法。通過實訓(xùn)能進一步理解鞏固ERP理論,培養(yǎng)對企業(yè)信息化的認識,能將所學(xué)的ERP知識的到綜合運用,提高動手實踐能力和企業(yè)實戰(zhàn)本領(lǐng)。 四、實驗內(nèi)容 (1)建賬:根據(jù)要求建立賬號。 (2)帳套初始化:根據(jù)給出的資料按順序完成帳套系統(tǒng)基礎(chǔ)資料的維護及初始化工作。 (3)日常賬務(wù)處理:根據(jù)資料錄入記賬憑證,對其進行審核,過賬并查看各種帳表,進行業(yè)務(wù)核銷,利用自動轉(zhuǎn)賬功能結(jié)算有關(guān)費用進行期末調(diào)匯、結(jié)轉(zhuǎn)損益等業(yè)務(wù)處理并進行期末結(jié)賬。 實驗主要過程截圖 新建帳套: 新增用戶過程: 進入總賬管理系統(tǒng): 增加兩種幣別港元和美元: 增加憑證字為記: 增加兩個計量單位: 增加支票結(jié)算方式: 新增客戶資料: 新增部門資料: 新增職員資料: 新增供應(yīng)商資料: 新增產(chǎn)成品核算項目: 會計科目維護: 增加會計科目: 會計科目修改: 新增物料資料: 初始余額錄入: 錄入記賬憑證: 1.提現(xiàn)類 2.應(yīng)付往來業(yè)務(wù)類 3.多核算項目類: 4.數(shù)量金額業(yè)務(wù)類 5.涉及外幣業(yè)務(wù)類 6.管理費用類 7.應(yīng)收往來業(yè)務(wù)類 查看錄入結(jié)果: 紅字沖銷法沖銷錯賬: 組員S2的審核 轉(zhuǎn)賬憑證: 過賬: 期末: 再換人審核,審核后過帳通過 五:實驗總結(jié) 通過該實驗,對所學(xué)的知識有了一部分的了解。在實驗過程中,出現(xiàn)了一些小問題,不過最后都得以解決。然后通過這些錯誤,使我們對這些知識有更加印象深刻。 在實驗過程中加強了同學(xué)之間的溝通與理解,體驗團隊協(xié)作精神,從而全面提高我們的經(jīng)營管理的素質(zhì)與能力。通過對ERP系統(tǒng)的學(xué)習(xí),我們已經(jīng)對其管理理念與具體操作流程有了一定的了解,感謝老師給與我們細心的講解與指導(dǎo),讓我們學(xué)習(xí)到更多與ERP相關(guān)知識。 目錄 任務(wù)一構(gòu)建用例圖.......................................................................2 一、實驗?zāi)康?................................................................................2 二、實驗器材.................................................................................2 三、實驗內(nèi)容.................................................................................2 任務(wù)二構(gòu)建類圖...........................................................................8 一、實驗?zāi)康?................................................................................8 二、實驗器材.................................................................................8 三、實驗內(nèi)容.................................................................................8 任務(wù)三構(gòu)建活動圖.....................................................................10 一、實驗?zāi)康?..............................................................................10 二、實驗器材...............................................................................10 三、實驗內(nèi)容...............................................................................10 任務(wù)四構(gòu)建順序圖.....................................................................13 一、實驗?zāi)康?..............................................................................13 二、實驗器材...............................................................................13 三、實驗內(nèi)容...............................................................................13 任務(wù)五構(gòu)建協(xié)作圖.....................................................................15 一、實驗?zāi)康?..............................................................................15 二、實驗器材...............................................................................15 三、實驗內(nèi)容...............................................................................15 任務(wù)六構(gòu)建狀態(tài)圖.....................................................................16 一、實驗?zāi)康?..............................................................................16 二、實驗器材...............................................................................16 三、實驗內(nèi)容...............................................................................17 任務(wù)一構(gòu)建用例圖 一、實驗?zāi)康?/p> 1.學(xué)會分析系統(tǒng)中的參與者和用例 2.掌握用例圖的繪制方法 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 1、分析ATM系統(tǒng)需求,按要求畫出用例圖; 2、建立一個學(xué)生管理信息系統(tǒng)的需求的用例圖 3、建立管理借閱書籍的用例圖 四、實驗步驟 (一)ATM系統(tǒng)的用例圖 1.分析 ATM自動取款機:客戶可以取錢,存錢,查詢余額,轉(zhuǎn)帳,修改密碼。 通過分析可找出如下幾個參與者:(1)ATM(2)客戶 通過分析得到如下用例:(1)存款(2)取款(3)查詢余額(4)轉(zhuǎn)帳(5)修改密碼(6)打印收據(jù) (二)學(xué)生管理信息系統(tǒng)的需求分析與完整的用例圖 1 學(xué)生管理信息系統(tǒng)簡介 學(xué)生管理信息系統(tǒng)主要為學(xué)校的學(xué)生處設(shè)計:方便學(xué)校學(xué)生處與學(xué)院學(xué)生口管理員方便管理學(xué)生,學(xué)生成績由教務(wù)系統(tǒng)提供,教務(wù)系統(tǒng)提供相關(guān)的WEB service供學(xué)生管理信息系統(tǒng)調(diào)用。通過分析可找出如下幾個參與者: 學(xué)生處管理員、學(xué)校領(lǐng)導(dǎo)(學(xué)校各種報表統(tǒng)計信息)、學(xué)院管理員、班主任(提供學(xué)生操行、查詢等)、學(xué)院領(lǐng)導(dǎo)(學(xué)院各種報表統(tǒng)計信息)、學(xué)生、后勤管理人員(衛(wèi)生管理、保衛(wèi)處異常情況處理)、財務(wù)人員、考勤管理員(由副班長提供考勤信息)等 通過分析得到如下一些大的用例: 學(xué)生基本信息管理、考勤管理、成績導(dǎo)入、學(xué)校各種報表信息(要求細化)、學(xué)院各種報表信息(要求細化)、個人成才規(guī)劃、新學(xué)期注冊,操行評定、學(xué)生任職信息系統(tǒng)、學(xué)生獎懲管理系統(tǒng)(要求細化,包括評優(yōu)評獎等)、學(xué)生變動信息管理(培訓(xùn)內(nèi)容、助學(xué)貸款情況、學(xué)校還款情況、勤工助學(xué)情況,黨員管理),后勤衛(wèi)生管理、保衛(wèi)處的學(xué)生的異常情況處理、其它的具體由學(xué)生自 己定。 2.建立設(shè)計一個學(xué)生管理信息系統(tǒng)的需求分析 分析學(xué)生管理信息系統(tǒng),建立系統(tǒng)需求分析,并要求畫出系統(tǒng)功能框圖,如學(xué)生管理信息系統(tǒng)的功能模塊圖如下 系統(tǒng)模塊圖如后勤衛(wèi)生查詢功能子系統(tǒng)模塊圖如下。3.建立一個學(xué)生管理信息系統(tǒng)的完整的用例圖 完整的要求,就為每一類用戶分配一個用例模型,如一般學(xué)生查詢功能用例 要求分析其它參與者的用例模型(4)建立用例的文字描述 1.“基本信息查詢”用例 用例編號:04010101用例名:基本信息查詢 執(zhí)行者: 學(xué)生自己、學(xué)生的班主任、輔導(dǎo)員及其它的特權(quán)用戶。目的: 查詢學(xué)生的基本信息,包括姓名、學(xué)號、家庭地址等信息。類型: 端點、基本的 級別:二級 過程描述: 用例名:財務(wù)信息查詢 執(zhí)行者: 財務(wù)人員、學(xué)生、學(xué)生的班主任、輔導(dǎo)員及其它的特權(quán)用戶。 目的: 查詢助學(xué)貸款情況、學(xué)校還款情況、勤工助學(xué)情況等信息 用例名:學(xué)生課程信息查詢 執(zhí)行者: 學(xué)生的班主任、輔導(dǎo)員及其它的特權(quán)用戶。目的: 查詢學(xué)生選課信息、課程信息、考勤信息等信息。 (三)管理借閱書籍用例圖 圖書管理員可以操作讀者信息,對信息進行添加、刪除、修改;也可以查詢讀者信息;并在讀者進行借還書以及圖書預(yù)約時過程中發(fā)揮一定的作用:如還書時超期罰款。 讀者可以查詢圖書信息、當(dāng)需要的書被借出時,可以進行預(yù)約;有需要的書時,直接借閱;但是如果讀者借閱的書超過5本則不能再預(yù)約和再借出;如果小于等于5本則可以。借出的書超期要罰款。任務(wù)二構(gòu)建類圖 一、實驗?zāi)康?1.理解類的基本概念 2.理解類間的關(guān)系 3.掌握類圖的繪制方法 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 (1)分析學(xué)生管理系統(tǒng)中的選課子系統(tǒng)中類及關(guān)系,然后畫出它們的類圖。(2)生態(tài)系統(tǒng)類圖 四、實驗步驟 (一).選課子系統(tǒng)類圖 分析學(xué)生管理系統(tǒng)中的選課子系統(tǒng),通過分析可抽象出如下類:(1)學(xué)生類(2)管理員類 學(xué)生類和管理員類的屬性較容易分析,這里只列出課程類的屬性和方法: 1)課程名稱(2)開課教室(3)課程號(4)授課教師(5)選課的學(xué)生 (3)課程類 (6)開課起始時間(7)允許選課的學(xué)生人數(shù)(8)設(shè)置課程號(9)設(shè)置課程名稱(10)查詢課程號(11)查詢允許選課學(xué)生人數(shù) (二).類圖2 動物生存需要水和氧氣,鳥屬于動物的一類,鳥有翅膀,大雁、企鵝、鴨都是鳥類,大雁南飛,以雁群為組織,唐老鴨也是鴨子。畫出問題中相關(guān)類的關(guān)系圖。任務(wù)三構(gòu)建活動圖 一、實驗?zāi)康?/p> 1.熟悉活動圖的基本功能和使用方法。2.掌握如何使用建模工具繪制活動圖方法。 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 (1)分析圖書管理系統(tǒng)中管理員和讀者的活動狀態(tài),畫出管理員和讀者的活動圖。(2)分析學(xué)生管理系統(tǒng),并畫出詳細的活動圖,并用活動圖細化用例圖 四、實驗步驟 (一)圖書管理系統(tǒng)活動圖 分析 在圖書管理系統(tǒng)中管理員的活動如下: 處理還書 處理借書 處理罰款 讀者的活動如下: (1)登錄(2)找書(3)預(yù)約(4)瀏覽 1.管理員活動 2.創(chuàng)建讀者的活動圖 (二)分析學(xué)生管理系統(tǒng),并畫出詳細的活動圖,并用活動圖細化用例圖 (1)學(xué)生基本信息保存的活動圖 錄入基本信息、點擊保存、鏈接數(shù)據(jù)庫、判定學(xué)號是否已存在、判定錄入信息是否符合規(guī)范(日期信息、身份證號、郵編等信息)-保存。 任務(wù)四構(gòu)建順序圖 一、實驗?zāi)康?學(xué)會用順序圖實現(xiàn)用例 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 1.分析系統(tǒng)需求,畫出ATM登錄的順序圖(一)ATM登錄的場景 “登錄成功”活動的執(zhí)行順序是:(1)插卡(2)讀卡 (3)初始化登錄屏(4)提示輸入密碼(5)密碼輸入(6)驗證密碼(7)密碼有效(8)返回 任務(wù)五構(gòu)建協(xié)作圖 一、實驗?zāi)康?/p> 1.學(xué)會協(xié)作圖的繪制方法 2.掌握順序圖和協(xié)作圖的相互轉(zhuǎn)換。 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 (1)分析系統(tǒng)需求,畫出ATM取款的協(xié)作圖。 四、實驗步驟 客戶在 ATM上取款的場景 ATM取款的場景分析: (1)客戶插入銀行卡(2)讀卡機讀取卡號(3)初始化屏幕 (4)讀卡機打開賬戶并提示輸入密碼(5)用戶輸入密碼(6)驗證密碼 (7)屏幕提示選擇操作(8)用戶選擇取款操作(9)銀行賬戶扣除錢款(10)吐錢機提供錢和收據(jù)(11)用戶取錢并退卡 任務(wù)六構(gòu)建狀態(tài)圖 一、實驗?zāi)康?/p> 1.熟悉狀態(tài)圖的基本功能和使用方法。2.掌握如何使用建模工具繪制狀態(tài)圖方法。 二、實驗器材 1.計算機一臺; 2.Visio 工具軟件; 三、實驗內(nèi)容 (1)分析圖書管理系統(tǒng)中的書和借書證的狀態(tài),畫出它們的狀態(tài)圖; (2)分析學(xué)生管理系統(tǒng),并畫出詳細的狀態(tài)圖 四、實驗步驟 (一)圖書管理系統(tǒng) 圖書業(yè)務(wù)有編目、書庫、借出、閱覽室、注銷五種狀態(tài)。引起狀態(tài)變化的事件/動作 (1)圖書到達后,經(jīng)驗收,等待編目(2)編目后可送入閱覽室供閱覽或進入書庫(3)閱覽室的書籍經(jīng)批準予以注銷(4)書庫中的書主要用于借閱 (5)借出的書歸還后入庫,如果遺失,則注銷 畫出圖書業(yè)務(wù)狀態(tài)圖 (二)分析學(xué)生管理系統(tǒng),并畫出詳細的狀態(tài)圖(1)建立學(xué)生黨員申請狀態(tài)圖: USST_第二專業(yè)_工商管理《管理信息系統(tǒng)》上機實驗報告 實驗名稱: 班級: 完成時間:6.15 組員分工(格式:NAME.NUMBER.TASK):最多6人 一、實驗理論支持(包括主要原理、參考文獻) 二、該MIS系統(tǒng)的環(huán)境分析(包括硬件環(huán)境、軟件環(huán)境、數(shù)據(jù)庫設(shè)計的情況分析) 三、該MIS系統(tǒng)的系統(tǒng)分析(要求繪制組織結(jié)構(gòu)圖和業(yè)務(wù)流程圖,然后選擇一個功能模塊 (不要求全部),畫出該功能模塊的數(shù)據(jù)流程圖,編制相應(yīng)的數(shù)據(jù)字典) 四、探討該MIS系統(tǒng)的系統(tǒng)設(shè)計(包括數(shù)據(jù)庫、輸入輸出、網(wǎng)絡(luò)是如何設(shè)計的)、系統(tǒng)實施 (包括系統(tǒng)是如何測試的)和系統(tǒng)維護(包括系統(tǒng)是如何維護的) 五、日志(記錄完成報告過程的日志) 六、總結(jié)(組員心得體會) 注:根據(jù)小組熟悉的具體情況,選擇一個具體管理信息系統(tǒng)(例如圖書借閱管理系統(tǒng),教務(wù)處學(xué)生管理信息系統(tǒng),倉庫進銷存管理系統(tǒng),公司人事管理子系統(tǒng),酒店管理信息系統(tǒng),超市收銀系統(tǒng))作為實驗對象。對該系統(tǒng)進行詳細的調(diào)研,獲取該系統(tǒng)的相關(guān)資料,根據(jù)課題系統(tǒng)功能需求,開展實地調(diào)查或通過Internet查閱相關(guān)資料或結(jié)合個人經(jīng)驗,進行系統(tǒng)分析。明確管理業(yè)務(wù)調(diào)查過程和方法,繪制系統(tǒng)的組織機構(gòu)圖、管理功能及業(yè)務(wù)流程圖。明確數(shù)據(jù)流程的調(diào)查與分析過程,繪制數(shù)據(jù)流程圖,編制數(shù)據(jù)字典。在上述工作基礎(chǔ)上,完成系統(tǒng)的系統(tǒng)化分析,提出新系統(tǒng)的邏輯模型。 相關(guān)圖表可以使用smartDraw、Visio2003或者Word等繪制,實驗報告題目不限,實驗報告以word文檔形式提交,不少于10頁,發(fā)送至zhuxd.cn@gmail.com。截至?xí)r間:6月15日。第二篇:管理信息系統(tǒng)實驗報告
第三篇:管理信息系統(tǒng)實驗報告
第四篇:管理信息系統(tǒng)實驗報告
第五篇:《管理信息系統(tǒng)》實驗報告