武汉大学信息安全操作系统实验报告优质资料_第1页
武汉大学信息安全操作系统实验报告优质资料_第2页
武汉大学信息安全操作系统实验报告优质资料_第3页
武汉大学信息安全操作系统实验报告优质资料_第4页
武汉大学信息安全操作系统实验报告优质资料_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉大学信息安全操作系统实验报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)

武汉大学信息安全操作系统实验报告优质资料(可以直接使用,可编辑优质资料,欢迎下载)实验一二三四五六七八九十总评成绩武汉大学计算机学院课程实验(设计)报告专业(班):计算机学院信息安全X班学号:姓名:XX课程名称:操作系统实验2021年5月30日实习一处理器调度一、实习内容选择一个调度算法,实现处理器调度。二、实习目的本实习模拟在单处理器环境下的处理器调度,加深了解处理器调度的工作。三、实习题目设计一个按优先数调度算法实现处理器调度的程序。 四、实习内容 1.设计思想(1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的结构为:·进程名——如P1~P5。·指针——按优先数的大小把5个进程连成队列,用指针指出下一个进程PCB的首地址。·要求运行时间——假设进程需要运行的单位时间数。·优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。·状态——假设两种状态:就绪和结束,用R表示就绪,用E表示结束。初始状态都为就绪状态。(2)开始运行之前,为每个进程确定它的“优先数”和“要求运行时间”。通过键盘输入这些参数。(3)处理器总是选择队首进程运行。采用动态改变优先数的办法,进程每运行1次,优先数减1,要求运行时间减1。(4)进程运行一次后,若要求运行时间不等于0,则将它加入就绪队列,否则,将状态改为“结束”,退出就绪队列。(5)若就绪队列为空,结束,否则转到(3)重复。要求能接受键盘输入的进程优先数及要求运行时间,能显示每次进程调度的情况,如哪个进程在运行,哪些进程就绪,就绪进程的排列情况。2.上机代码#include<stdio.h>#include<string.h>#definenum5//5个进程structPCB//进程控制块{charID;//进程名intruntime;//进程运行时间intpri;//进程优先级charstate;//进程状态};structPCBpcblist[num];//进程控制块数组intfnum=0;//已运行完成的进程structPCBtemp;//在冒泡排序时用于替换的PCBvoidchushihua()//初始化程序{inti;for(i=0;i<num;i++){printf("PCB[%d]:IDpriruntime\n",i+1);scanf("%s%d%d",&pcblist[i].ID,&pcblist[i].pri,&pcblist[i].runtime);pcblist[i].state='R';//将所有进程的状态初始化为就绪状态getchar();}}voidshow()//显示当前进程状况程序{inti;printf("\nIDpriruntimestate\n");for(i=0;i<num;i++){printf("%s%6d%9d%s\n",&pcblist[i].ID,pcblist[i].pri,pcblist[i].runtime,&pcblist[i].state);}getchar();}voidrun()//主体执行部分程序,含将优先级进行冒泡排序及运行最高优先级的进程{inti,j,k;intt=0;//所有程序运行总时间for(j=0;j<num;j++)//计算所有进程总的运行时间{if(pcblist[j].runtime==0)pcblist[j].state='F';t+=pcblist[j].runtime;}for(j=0;k<t;j++){for(i=0;i<num-fnum;i++)//将状态为就绪的进程进行冒泡排序for(j=0;j<num-i-1-fnum;j++)if(pcblist[j].pri>pcblist[j+1].pri){temp=pcblist[j];pcblist[j]=pcblist[j+1];pcblist[j+1]=temp;}for(j=num-1;j>=0;j--)//在排好序的进程中找到为就绪的最大优先级的进程{if(pcblist[j].state=='R')break;}if(pcblist[0].state=='R')//修改当前运行的进程的各项参数{pcblist[j].pri=pcblist[j].pri-1;pcblist[j].runtime=pcblist[j].runtime-1;printf("%s",&pcblist[j].ID);if(pcblist[j].runtime==0){pcblist[j].state='F';fnum++;}}show();} }intmain()//主函数{chushihua();show();run();return0;}五、上机实验所用平台及相关软件上机平台:Windows7+DEV-C++六、运行结果Q1— Q5分别是12345,经运行的顺序为Q2Q2Q2Q3Q3Q1Q1Q4Q1Q5Q5Q1Q1Q5Q5测试结果正确无误七、实验心得运用优先级调度算法,最根本的问题在于挑选优先级最高的就绪状态的进程,故而本程序采用符号fnum对已完成的程序数目进行计数,并采用冒牌排序法挑选出优先级最高的就绪状态的进程将之运行并输出。经过本次试验,我更深的理解了操作系统按优先级的调度过程,我会继续努力深入学习。实习二主存空间的分配和回收一、实验内容主存储器空间的分配和回收。二、实习目的通过本实习帮助理解在不同的存储管理方式下应怎样进行存储空间的分配和回收。三、实习题目可变分区管理方式下采用首次适应算法实现主存分配和回收四、实习内容1.设计思想可变分区方式是按作业需要的主存空间大小来分割分区的。当要装入一个作业时,根据作业需要的主存容量查看是否有足够的空闲空间,若有,则按需分配,否则,作业无法装入。假定内存大小为128K,空闲区说明表格式为:·起始地址——指出空闲区的起始地址;·长度——一个连续空闲区的长度;·状态——有两种状态,一种是“未分配”状态;另一种是“空表目”状态,表示该表项目前没有使用。采用首次适应算法分配回收内存空间。运行时,输入一系列分配请求和回收请求。要求能接受来自键盘的空间申请及释放请求,能显示分区分配及回收后的内存布局情况。2.上机代码#include<stdio.h>#include<stdlib.h>#include<string.h>constintCANTUSE=0;constintCANUSE=1;constintMSIZE=128;//内存分区structMZone{//空闲区起始地址intbegin_addr;//一个连续空闲区的长度intlength;//状态intstate;//内存中任务名chartask_name[32];//指向下一个空闲分区structMZone*next;}; //内存头指针structMZone*Mhead=NULL; //showmemory函数,显示当前内存分配情况voidshowmemory(){structMZone*Mpoint=Mhead;printf("内存的使用情况\n");printf("beginaddr\tlength\tstate\ttask\n");while(NULL!=Mpoint){printf("%dk\t\t",Mpoint->begin_addr);printf("%dk\t",Mpoint->length);if(Mpoint->state==CANTUSE)printf("CANTUSE\t");elseprintf("free\t");printf("%s\n",Mpoint->task_name);Mpoint=Mpoint->next;}system("pause");}//Minsert函数,功能插入任务到空闲分区intMinsert(structMZone*Mnew){structMZone*Zinsert=Mhead;while(Zinsert->length<Mnew->length||!Zinsert->state){if(NULL!=Zinsert->next){Zinsert=Zinsert->next;}else{Zinsert=Zinsert->next;break;}}if(NULL==Zinsert){return0;}if(MSIZE==Zinsert->begin_addr+Mnew->length){Zinsert->state=CANTUSE;strcpy(Zinsert->task_name,Mnew->task_name);Zinsert->next=NULL;return1;}else{strcpy(Zinsert->task_name,Mnew->task_name);Zinsert->length=Mnew->length;structMZone*Ztail=(structMZone*)malloc(sizeof(structMZone));Ztail->next=Zinsert->next;Zinsert->next=Ztail;Zinsert->state=CANTUSE;memset(Ztail,0,sizeof(char)*32);Ztail->begin_addr=Zinsert->begin_addr+Mnew->length;Ztail->state=1;if(Ztail->next==NULL)Ztail->length=MSIZE-Ztail->begin_addr;elseZtail->length=Ztail->next->begin_addr-Ztail->begin_addr;return1;}} //memoallocate函数,用于分配内存voidmemoallocate(void){structMZone*Mnew=(structMZone*)malloc(sizeof(structMZone));printf("输入要分配内存大小(kb):\n");scanf("%d",&Mnew->length);printf("输入任务名:\n");scanf("%s",&Mnew->task_name);Minsert(Mnew)?printf("分配内存成功\n"):printf("没有符合大小的空闲分区,内存分配失败。\n");system("pause");free(Mnew);} //Mreturn函数,功能回收内存intMreturn(chartaskname[]){structMZone*front=NULL;structMZone*position=Mhead;structMZone*tail=Mhead->next;while(0!=strcmp(position->task_name,taskname)){front=position;if(NULL!=position->next){position=position->next;}else{position=NULL;break;}tail=position->next;}if(NULL==position){printf("内存中没有此任务!");}else{if(NULL!=tail&&NULL!=front){if(front->state&&tail->state){front->length=front->length+position->length+tail->length;front->next=tail->next;free(position);free(tail);}if(front->state&&!tail->state){front->length=front->length+position->length;front->next=position->next;free(position);}if(!front->state&&tail->state){position->length=position->length+tail->length;memset(position->task_name,0,sizeof(char)*32);position->next=tail->next;position->state=1;free(tail);}if(!front->state&&!tail->state){memset(position->task_name,0,sizeof(char)*32);position->state=1;}}if(NULL!=tail&&NULL==front){if(!tail->state){memset(position->task_name,0,sizeof(char)*32);position->state=1;}else{memset(position->task_name,0,sizeof(char)*32);position->length=position->length+tail->length;position->next=NULL;position->state=1;free(tail);}}if(NULL==tail&&NULL!=front){if(front->state){front->length=front->length+position->length;front->next=NULL;free(position);}else{memset(position->task_name,0,sizeof(char)*32);position->state=1;}}if(NULL==tail&&NULL==front){memset(position->task_name,0,sizeof(char)*32);position->state=1;}printf("内存回收成功!\n");}}//memoreturn函数,用于回收内存voidmemoreturn(){chartname[32];printf("输入要收回的任务名\n");scanf("%s",&tname);Mreturn(tname);system("pause");}intmain(){intfunc_=0;//初始化MheadMhead=(structMZone*)malloc(sizeof(structMZone));Mhead->begin_addr=0;Mhead->length=MSIZE;Mhead->state=1;memset(Mhead->task_name,0,sizeof(char)*32);Mhead->next=NULL;while(1){printf("******************首次适应算法实现主存分配和回收系统(内存MSIZE)***************");printf("|1:查看内存分配情况\n");printf("|2:申请分配内存\n");printf("|3:申请回收内存\n");printf("|4:退出程序\n");printf("********************************************************************************");scanf("%d",&func_);switch(func_){case1:showmemory();break;case2:memoallocate();break;case3:memoreturn();break;case4:return1;}system("cls");}}五、上机实验所用平台及相关软件上机平台:Windows7+DEV-C++运行结果依次建立进程123均分配10个内存单元,并进行重命名和超范围测试,并成功。位视图显示正确。删除2号后,位视图修改正确。试验成功。 1.分配内存2.查看内存分配情况:3.回收内存:4.回收内存后查看内存状况:七.心得体会此代码主要分为三个板块,查看,分配和回收,主要问题在于回收时要考虑是否有两个或三个空闲的块,若有,则将其合并。本程序主要应用指针完成各块的链接,经过本次试验,我进一步加深了对使用指针方式表示和实现主存分配回收的理解,同时也得到了将系统理论实践的机会,让我不断进步。实习三磁盘存储空间的分配和回收一、实习内容模拟磁盘空闲空间的表示方法,以及模拟实现磁盘空间的分配和回收。二、实习目的磁盘初始化时把磁盘存储空间分成许多块(扇区),这些空间可以被多个用户共享。用户作业在执行期间常常要在磁盘上建立文件或把已经建立在磁盘上的文件删去,这就涉及到磁盘存储空间的分配和回收。一个文件存放到磁盘上,可以组织成顺序文件(连续文件)、链接文件(串联文件)、索引文件等,因此,磁盘存储空间的分配有两种方式,一种是分配连续的存储空间,另一种是可以分配不连续的存储空间。怎样有效地管理磁盘存储空间是操作系统应解决的一个重要问题,通过本实习使学生掌握磁盘存储空间的分配和回收算法。三、实习题目用位示图管理磁盘存储空间四、实习内容1.设计思想(1)为了提高磁盘存储空间的利用率,可在磁盘上组织成链接文件、索引文件,这类文件可以把逻辑记录存放在不连续的存储空间。为了表示哪些磁盘空间已被占用,哪些磁盘空间是空闲的,可用位示图来指出。位示图由若干字节构成,每一位与磁盘上的一块对应,“1”状态表示相应块已占用,“0”状态表示该块为空闲。位示图的形式与实习二中的位示图一样,但要注意,对于主存储空间和磁盘存储空间应该用不同的位示图来管理,绝不可混用。(2)申请一块磁盘空间时,由分配程序查位示图,找出一个为“0”的位,计算出这一位对应块的磁盘物理地址,且把该位置成占用状态“1”。假设现在有一个盘组共8个柱面,每个柱面有2个磁道(盘面),每个磁道分成4个物理记录。那么,当在位示图中找到某一字节的某一位为“0”时,这个空闲块对应的磁盘物理地址为:柱面号=字节号磁道号=位数/4物理记录号=位数%4(3)归还一块磁盘空间时,由回收程序根据归还的磁盘物理地址计算出归还块在位示图中的对应位,把该位置成“0”。按照(2)中假设的盘组,归还块在位示图中的位置计算如下:字节号=柱面号位数=磁道号4+物理记录号(4)设计申请磁盘空间和归还磁盘空间的程序。要求能接受来自键盘的空间申请及释放请求,要求能显示或打印程序运行前和运行后的位示图;分配时把分配到的磁盘空间的物理地址显示或打印出来,归还时把归还块对应于位示图的字节号和位数显示或打印出来。2.上机代码#include<stdio.h>#include<stdlib.h>#include<string.h>structweishitu//一张位示图表{intbit[64];charname[64];}weishitu;structweishitu*head=NULL;//指向位示图的指针voidshowweishitu()//显示位示图{printf("位示图如下(0表示块可用):\n");for(inti=0;i<64;i++){if(0==i%8){printf("\n");}printf("%2d:%d\t",i+1,head->bit[i]);}}voidfenpei()//分配位示图{intn;inti;intbusy=0;//位示图有多少个1charname;printf("请输入你所需的物理块数:\n");scanf("%d",&n);printf("请输入这些文件的名字:\n");scanf("%s",&name);for(i=0;i<64;i++){busy=busy+head->bit[i];//计算位示图有多少个1}if(64-busy<n)//判断空闲区是否满足需要{printf("内存不足,分配失败!");}else{for(i=0;i<64;i++){if(n!=0)if(0==head->bit[i]){printf("已分配:第%d个柱面,第%d个磁道,第%d个物理记录\n",i/8+1,i%8/4+1,(i%8)%4+1);head->bit[i]=1;head->name[i]=name;n--;}}printf("分配成功!\n");}}voidhuishou()//回收文件{charhname;inti;intflag=0;//标志回收是否成功printf("请输入你要回收的文件名\n");scanf("%s",&hname);for(i=0;i<64;i++){if(head->name[i]==hname){head->bit[i]=0;printf("回收第%d字节的第%d位的物理块\n",i/8+1,i%8+1);flag++;}}if(flag==0)printf("回收失败,你输入的文件不存在\n");}intmain()//主函数{inti;head=(structweishitu*)malloc(sizeof(structweishitu));//初始化for(i=0;i<64;i++){head->bit[i]=0;head->name[i]=0;}charchoose=0;while(1){printf("a:查看磁盘位示图\n");printf("b:申请分配磁盘空间\n");printf("c:申请回收磁盘空间\n");printf("d:退出程序\n");scanf("%s",&choose);switch(choose){case'a':showweishitu();break;case'b':fenpei();break;case'c':huishou();break;case'd':return0;}system("pause");system("cls");}}五、上机实验所用平台及相关软件上机平台:Windows7+DEV-C++六、运行结果1.查看位示图:2.申请分配磁盘空间3.申请回收磁盘空间4.回收后的位示图心得体会本程序采用位示图分配磁盘空间,主要考虑位示图与物理块的对应关系,比较简单。通过本次实验,我进一步加深了对连续磁盘空间的分配回收过程的理解,同时也得到了将系统理论实践的机会,以后还将更加深入的理解这部分的问题,不断加强能力。当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。于是,我降临在了人间。我出生在一个官僚知识分子之家,父亲在朝中做官,精读诗书,母亲知书答礼,温柔体贴,父母给我去了一个好听的名字:李清照。小时侯,受父母影响的我饱读诗书,聪明伶俐,在朝中享有“神童”的称号。小时候的我天真活泼,才思敏捷,小河畔,花丛边撒满了我的诗我的笑,无可置疑,小时侯的我快乐无虑。“兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。”青春的我如同一只小鸟,自由自在,没有约束,少女纯净的心灵常在朝阳小,流水也被自然洗礼,纤细的手指拈一束花,轻抛入水,随波荡漾,发髻上沾着晶莹的露水,双脚任水流轻抚。身影轻飘而过,留下一阵清风。可是晚年的我却生活在一片黑暗之中,家庭的衰败,社会的改变,消磨着我那柔弱的心。我几乎对生活绝望,每天在痛苦中消磨时光,一切都好象是灰暗的。“寻寻觅觅冷冷清清凄凄惨惨戚戚”这千古叠词句就是我当时心情的写照。最后,香消玉殒,我在痛苦和哀怨中凄凉的死去。在天堂里,我又见到了上帝。上帝问我过的怎么样,我摇摇头又点点头,我的一生有欢乐也有坎坷,有笑声也有泪水,有鼎盛也有衰落。我始终无法客观的评价我的一生。我原以为做一个着名的人,一生应该是被欢乐荣誉所包围,可我发现我错了。于是在下一轮回中,我选择做一个平凡的人。我来到人间,我是一个平凡的人,我既不着名也不出众,但我拥有一切的幸福:我有温馨的家,我有可亲可爱的同学和老师,我每天平凡而快乐的活着,这就够了。天儿蓝蓝风儿轻轻,暖和的春风带着春的气息吹进明亮的教室,我坐在教室的窗前,望着我拥有的一切,我甜甜的笑了。我拿起手中的笔,不禁想起曾经作诗的李清照,我虽然没有横溢的才华,但我还是拿起手中的笔,用最朴实的语言,写下了一时的感受:人生并不总是完美的,每个人都会有不如意的地方。这就需要我们静下心来阅读自己的人生,体会其中无尽的快乐和与众不同。“富不读书富不久,穷不读书终究穷。”为什么从古到今都那么看重有学识之人?那是因为有学识之人可以为社会做出更大的贡献。那时因为读书能给人带来快乐。自从看了《丑小鸭》这篇童话之后,我变了,变得开朗起来,变得乐意同别人交往,变得自信了……因为我知道:即使现在我是只“丑小鸭”,但只要有自信,总有一天我会变成“白天鹅”的,而且会是一只世界上最美丽的“白天鹅”……我读完了这篇美丽的童话故事,深深被丑小鸭的自信和乐观所折服,并把故事讲给了外婆听,外婆也对童话带给我们的深刻道理而惊讶不已。还吵着闹着多看几本名着。于是我给外婆又买了几本名着故事,她起先自己读,读到不认识的字我就告诉她,如果这一面生字较多,我就读给她听整个一面。渐渐的,自己的语文阅读能力也提高了不少,与此同时我也发现一个人读书的乐趣远不及两个人读的乐趣大,而两个人读书的乐趣远不及全家一起读的乐趣大。于是,我便发展“业务”带动全家一起读书……现在,每每遇到好书大家也不分男女老少都一拥而上,争先恐后“抢书”,当我说起我最小应该让我的时候,却没有人搭理我。最后还把书给撕坏了,我生气地哭了,妈妈一边安慰我一边对外婆说:“孩子小,应该让着点。”外婆却不服气的说:“我这一把年纪的了,怎么没人让我呀?”大家人你一言我一语,谁也不肯相让……读书让我明白了善恶美丑、悲欢离合,读一本好书,犹如同智者谈心、谈理想,教你辨别善恶,教你弘扬正义。读一本好书,如品一杯香茶,余香缭绕。读一本好书,能使人心灵得到净化。书是我的老师,把知识传递给了我;书是我的伙伴,跟我诉说心里话;书是一把钥匙,给我敞开了知识的大门;书更是一艘不会沉的船,引领我航行在人生的长河中。其实读书的真真乐趣也就在于此处,不是一个人闷头苦读书;也不是读到好处不与他人分享,独自品位;更不是一个人如痴如醉地沉浸在书的海洋中不能自拔。而是懂得与朋友,家人一起分享其中的乐趣。这才是读书真正之乐趣呢!这所有的一切,不正是我从书中受到的教益吗?我阅读,故我美丽;我思考,故我存在。我从内心深处真切地感到:我从读书中受到了教益。当看见有些同学宁可买玩具亦不肯买书时,我便想到培根所说的话:“世界上最庸俗的人是不读书的人,最吝啬的人是不买书的人,最可怜的人是与书无缘的人。”许许多多的作家、伟人都十分喜欢看书,例如毛泽东主席,他半边床上都是书,一读起书来便进入忘我的境界。书是我生活中的好朋友,是我人生道路上的航标,读书,读好书,是我无怨无悔的追求。实验报告<学生信息管理系统>实验项目一:可行性分析报告实验目的:根据理论课程所学内容,针对某一项目进行可行性分析训练实验原理:从理论课的学习中掌握规范的可行性分析技术,通过编写报告的形式得到练习。实验器材:MicrosoftOffice实验步骤:(1)参照理论学习的内容进行阅读思考;(2)针对某一软件项目,着手编写;(3)提交。实验一:学生信息管理系统可行性分析报告A1、引言学校的不断发展,学校规模不断扩大,学生数量不断剧增,有关学生的各种信息也成倍增长。面对庞大的数据信息,有一个学生信息管理系统是非常有必要的,不仅可以提高学生管理的工作的效率,还可以通过这个系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。A1。1编写目的学校的不断发展,学校规模不断扩大,学生数量不断剧增,有关学生的各种信息也成倍增长。面对庞大的数据信息,有一个学生信息管理系统是非常有必要的,不仅可以提高学生管理的工作的效率,还可以通过这个系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量.A1。2项目背景开发软件名称:学生信息管理系统项目任务提出者:计算机与信息学院项目开发者:学生组用户:管理员、老师和学生A1.3定义学生信息管理系统(SMIS):学生管理系统是帮助教学人员、行政人员和人事人员的管理软件,使用HTML5语言编写,独立完成其功能。SQL语言:SQL全称是“结构化查询语言”,SQL是一个非过程化的语言.A1。4参考资料[1].<软件项目管理>覃征徐文华翰毅唐晶编著清华大学出版社2009。10[2].〈软件工程>钱乐秋赵文耘牛军钰编著清华大学出版社2013。08A2可行性研究的前提A2.1要求(1)主要功能:本系统应该实现学生信息的管理与查询,具体包括学生信息查询,同时可以对信息进行修改,删除和添加,以及各种信息统计,学籍管理,新生注册等功能。(2)性能要求:查询效率尽可能做到精准,保持全校数据的一致性、准确性、实时性,信息维护功能做到简单易用。(3)输入要求:查询效率尽可能做到精准,保持全校数据的一致性、准确性、实时性,信息维护功能做到简单易用.(4)输出要求:学生基本信息和学籍各种处理的结果表格文档形式安全与保密要求:对该软件系统设置不同级别的访问权限,通过对不同权限的管理,实现对学生学籍的管理的安全性与保密方面的要求.(5)完成期限:2015年12月11日到

2016年1月10日A2.2目标该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化。实现保证软件质量的前提下的资金投入最小化。

A2。3条件,假定和限制建议软件寿命:10年经费来源:无硬件条件:笔记本电脑服务器运行环境:各种浏览器数据库:MySQL投入运行最迟时间:2016年1月15日A2.4可行性研究方法(1)客户调查;(2)专家咨询;(3)市场相关产品

同类产品的调查;A2.5决定可行性的主要因素(1)技术可行;(2)经济可行;(3)社会(法律)可行A3技术可行性分析A3.1系统简要描述学生管理信息系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。A3。2处理流程和数据流程(1)报到填各种各样的表,做各种各样的数据记录.同样的数据要不止一次的重复记录,费时费工。

(2)奖惩通人工对大量成绩单,报表及文件进行查找,并进行汇总及评比。耗费大量的时间,并且容易产生错误。

(3)学生信息查询及统计

通过人工走n多程序,并对从大量数据中检索选出信息。耗费大量时间,并且过程复杂,不容易实现。A4经济可行性分析A4.1支出(1)硬件:需要一台小型服务器,或者直接以一台配置比较好的P4电脑作为服务器

(2)人力:有一定基础的教师和学生,经过一定的培训,自己制作一个小型的系统。

(3)软件:第一、操作系统要使用最新的windows

xp,安全、可靠。

第二、数据库可以购买IBM等大公司推荐的数据库。这些数据库从安全性到易用性及可靠性都是最好的。第三、应用软件我们依然使用office

xp,同时可以在终端机中安装如foxpro、

photoshop、mathmatic等软件,以备不时之须。这软件对处理数据及图表时是很有用的。管理系统是从外面购买的软件包。总价格约6000元

A4.2效益(1)一次性收益(2)提高学生信息管理效率收益A5社会因素可行性分析A5。1法律因素该软件只是提供信息交流平台,且交流的信息单纯,不涉及政治反动,不存在盈利和商业诈骗,没有侵犯专利权,没有侵犯版权,因此法律可行性.A5。2用户使用可行性用户单位的行政管理和工作制度对本系统的使用没有影响。而且本系统的用户以及管理人员素质均能满足要求,可以熟练操作学生信息管理系统。故具有可使用性。A6结论意见由于技术、经济、操作和社会都有可行性,此学生信息管理系统可以进行开发。<学生信息管理系统>实验项目二:需求规格说明书t实验目的:根据理论课程所学内容,针对某一项目进行需求规格说明书的编写训练s实验原理:从理论课的学习中掌握规范的可行性分析技术,通过编写报告的形式得到练习。实验器材:MicrosoftOffice实验步骤:(1)参照理论学习的内容进行阅读思考;(2)针对某一软件项目,着手编写;(3)提交。实验二:学生信息管理系统需求规格说明书B1系统的功能要求(1)学生管理信息系统功能要求(2)老师管理信息系统功能要求(3)管理员管理信息系统功能要求B2各个子系统的功能要求(1)学生管理信息系统功能要求:查询个人基本信息

查询成绩,获得学分情况,生成成绩报表

查询课程安排,认课教师,学分情况

(2)老师管理信息系统功能要求:

查询授课信息

查询所授课程成绩

查询学生基本信息

(3)管理员管理信息系统功能要求:

添加、删除、修改、查询学生信息

添加、删除、修改、查询教师信息

添加、删除、修改、查询专业课程信息

添加、删除、修改、查询选修课程信息B3学生信息管理系统的性能需求为了保证系统能够长期、稳定、安全、可靠、高效的运行,系统应该满足一下的性能需求:(1)系统处理的准确性和及时性(2)系统的开放性和系统的可扩展性(3)系统的易用性和易维护性(4)系统的标准性(5)系统的先进性B4系统的数据需求系统的数据需求包括如下几点:(1)数据录入和处理的准确性和实时性(2)数据的一致性与完整性(3)数据的共享性与独立性B5系统的数据字典系统开发时,常用卡片的形式书写保存描述一个数据元素。下面给出本系统的主要数据元素的数据字典索引卡片;名字:系别别名:系别描述:唯一地标识专业状况表的一个特定关键域定义:系别=20{字符}20位置:系别和班级表名字:班级别名:班级描述:唯一地标识班号基本状况表的一个特定关键域定义:班级=10{字符}10位置:班级和学生信息表名字:成绩别名:成绩描述:唯一地标识成绩基本状况表的一个特定关键域定义:成绩=3{数字}3位置:学生成绩表名字:学号别名:学号描述:唯一标识学生基本状况表的一个特定关键域定义:PID=10{字符}10位置:学生信息表和学生成绩表名字:课程别名:课程描述:唯一标识员工基本状况表的一个特定关键域定义:课程名称=20{字符}20位置:学生成绩表名字:用户别名:用户描述:用户指定条件下的系统用户口令表定义:用户=20{字符}20位置:用户信息表B6系统的逻辑模型数据流图(1)用户登陆数据流图(2)学生录入流程流图(3)学生选课数据流图(4)学生成绩查询系统流图B7学生信息管理系统的运行要求(1)软件系统要求(2)数据库管理系统要求(3)硬件要求:B8建立系统的约束(1)总体设计方案对她约束(2)人力,硬件,时间的约束(3)技术发展规律的约束实验报告〈学生信息管理系统>实验项目三:项目开发计划1.实验目的:根据理论课程所学内容,针对某一项目进行项目开发计划安排训练2.实验原理:从理论课的学习中掌握规范的可行性分析技术,通过编写报告的形式得到练习。3.实验器材:编写文字的工具。4.实验步骤:(1)参照理论学习的内容进行阅读思考;(2)针对某一软件项目,着手编写;(3)提交。实验三:学生信息管理系统项目开发计划C1引言C1。1编写目的为了更好地完成学生信息管理系统的项目,为项目的开发工作作出计划,同时确定出工资实施计划与进度,并以此作为项目详细设计与具体实施的依据,编写本报告C1.2项目背景开发软件名称:学生信息管理系统项目任务提出者:计算机与信息学院项目开发者:学生组用户:管理员、老师和学生C1。3定义学生信息管理系统(SMIS):学生管理系统是帮助教学人员、行政人员和人事人员的管理软件,使用c语言编写,独立完成其功能。SQL语言:SQL全称是“结构化查询语言”,SQL是一个非过程化的语言。C1.4参考资料[1].<软件项目管理>覃征徐文华翰毅唐晶编著清华大学出版社2009.10[2].〈软件工程>钱乐秋赵文耘牛军钰编著清华大学出版社2013.08C2项目概述C2.1工作内容到院校进行业务调查;整理用户需求,生成用户需求报告;对系统进行详细设计,提出详细计划方案报告;进行学生信息管理系统进行编码进行内部测试进行系统应用调查进行系统后期维护C2.2条件与限制计算机系统支持需由用户承担工作逐项列出需要用户承担的工作和完成期限,包括需由用户提供的条件与提供时间需由外单位提供的条件。C2。3产品程序名称:学生信息管理系统使用语言:HTML5语言编写储存形式:数据库文档:中文文档C2.4运行环境运行硬件环境:电脑,服务器运行软件环境:各种浏览器,Eclipse,MySQLC3实施计划C3.1任务分解对学生信息管理系统进行分析对学生信息管理系统进行计划对学生信息管理系统编写代码及单元测试软件程序对学生信息管理系统总测试及修改学生信息管理系统对学生信息管理系统维护阶段C3.2进度与预算(1)分析阶段3天(2)设计阶段5天(3)写代码及单元测试阶段15天(4)总测试及修改阶段5天C4人员组织及分工调研人员:对学生信息管理系统进行需求分析设计人员:对学生信息管理系统进行软件需求设计开发人员:对学生信息管理系统进行软件的编写代码开发和进行单元测试.测试人员:对学生信息管理系统进行总测试以及提出软件系统修改。维护人员:对学生信息管理系统进行后期出现漏洞或者不满足的维护。C5交付期限2016年1月10日C6专题计划要点人员开发计划分析和调查计划测试计划质量保证计划配置管理计划安全保密计划实验报告<学生信息管理系统>实验项目四:概要设计说明书实验目的:根据理论课程所学内容,针对某一项目进行概要设计说明书训练实验原理:从理论课的学习中掌握规范的可行性分析技术,通过编写报告的形式得到练习。s实验器材:MicrosoftOffice。实验步骤:(1)参照理论学习的内容进行阅读思考;(2)针对某一软件项目,着手编写;(3)提交。实验四:学生信息管理系统概要设计说明书D1引言学校的不断发展,学校规模不断扩大,学生数量不断剧增,有关学生的各种信息也成倍增长。面对庞大的数据信息,有一个学生信息管理系统是非常有必要的,不仅可以提高学生管理的工作的效率,还可以通过这个系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量.D1.1编写目的本文档的编写是为了完善学生信息管理系统软件的开发用途和应用方法,以求在最短的时间高效的开发学生信息管理系统。D1.2项目背景开发软件名称:学生信息管理系统项目任务提出者:计算机与信息学院项目开发者:学生组用户:管理员、老师和学生D1.3定义学生信息管理系统(SMIS):学生管理系统是帮助教学人员、行政人员和人事人员的管理软件,使用c语言编写,独立完成其功能。SQL语言:SQL全称是“结构化查询语言",SQL是一个非过程化的语言。D1。4参考资料[1].〈软件项目管理〉覃征徐文华翰毅唐晶编著清华大学出版社2009.10[2]。<软件工程〉钱乐秋赵文耘牛军钰编著清华大学出版社2013。08D2任务概述D2.1目标该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理数据的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化。实现保证软件质量的前提下的资金投入最小化.D2.2运行环境运行硬件环境:电脑,服务器运行软件环境:各种浏览器,Eclipse,MySQLD2。3需求概述(1)系统首先可以根据需求由管理员来管理学生、班级、课程等基础资料,是整个系统的基础。(2)系统在学生入学初期为学生建立基本档案.(3)系统还可以根据专业课课程安排。(4)系统还可以根据选修课课程安排。(5)学生可以在每学期期末,对自己的专业课和选修课成绩做查询工作,成绩查询应该包括学号,课程号等。(6)系统还应该提供强大的数据统计、查询、生成报表等功能D2.4条件与限制硬件条件:电脑,服务器软件条件:各种浏览器,Eclipse,MySQL资金:无D3总体设计D3.1处理流程(1)用户查询处理流程图(2)管理员处理信息系统流程图(3)总体处理流程D3.2总体结构和模块外部设计(1)客户机部分(2)程序部分(3)功能分配数据更新功能分为三部分:数据添加、数据删除和数据修改。数据添加功能提供便捷的录入界面,通过应用程序将原始加到数据库中.数据删除将满足用户要求的相应记录从数据库中删除。数据修改功能允许用户对他所指定记录的相关信息进行修改。数据导入/出:允许用户将全部记录导入至数据库或者其他存储设备。D4接口设计D4.1外部接口接口传递信息硬件接口与打印机接口成绩信息,学生基本数据信息,课程信息,班级信息与键盘接口学号,班级信息,课程信息,成绩信息,学生基本数据信息软件接口与数据库接口学号,班级信息,课程信息,成绩信息,学生基本数据信息D4.2内部接口(1)用户验证模块:提供用户登录时身份验证功能,用户进行角色切换时必须调用此模块进行身份验证。(2)初始化模块:系统初始化时由操作系统调用,执行完毕后进入事件等待状态.(3)关闭系统模块:由系统功能模块调用,执行完毕返回操作系统.(4)浏览模块:由相应事件驱动,完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论