学生学籍系统软件工程报告完成态.pdf
《学生学籍系统软件工程报告完成态.pdf》由会员分享,可在线阅读,更多相关《学生学籍系统软件工程报告完成态.pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、w 软件工程课程设计报 课题名称 学生学籍管理系统 院 系 信息工程学院 _ 专 业 计算机科学与技术(嵌入式)成 员 _ 森坤宋晨光 班 级 2015级计嵌班 学 号 宋晨光 201541014 坤 201541016 W 森 201541018 学生学籍管理系统是常见的一种管理系统,包括学生的学 号、姓名、院系、专业、班级、年龄、性别、民族、出生日期和 籍贯信息。由于目前的学生学籍管理系统并不十分完善,在高等 学校的教务管理工作中,学生信息的网上查询都是十分复杂、棘 手的工作。遵从以往的工作式,该工作的工作量大,管理繁琐,既耗人力,又耗物力;如今面对大量的学生数据、报表,手工处 理式已经很
2、难跟上现代化的步伐。随着计算机技术及网络通讯技 术的飞速发展,多学校已经有了较好的计算机应用甚至网络硬件 建设基础。因此为提高学校管理工作的现代化、科学化水平,保 证信息处理的即时化、准确化,开发一套对学生学籍进行管理的 软件是极其重要的,而且是必需的。本系统正是为解决这一问题而设计的,大大减少了以往学生 管理工作的工作量,提高了工作效率,适应时代的步伐。w 1、可行性分析 1.1 问题描述 随着高校规模的不断增加,学生人数的增加,学校对学生管 理的难度也越来越大,而学校对学生的管理,其实主要是对学生 信息的管理,所以,学生信息管理是高校管理中很重要的一部分,它关系到整个高校的现代化程度。现代
3、科技的发展,尤其是软件 行业的发展使得很多的管理工作都由计算机来完成,这样不仅能 节省人力和物力,而且能够得到一些对决策起重要作用的信息。而高校作为一个人数比较多的单位,也需要开发出相应的软件对 学生学籍进行适当的管理。只有管好学生才能更进一步的做强教 育。现在很多高校都在使用计算机对学生学籍进行管理,运用计 算机来管理学生学籍,从而取代了人工管理模式下由于各种原因 出现管理漏洞的可能性,因而减少了工作人员的难度性,提高了 工作效率。我们在现行系统初步调查的基础上提出了新系统目 标,即新系统建立后所要求达到的运行指标,这是系统开发和评 价的依据。1.2 可行性分析研究 1.2.1 技术可行性
4、技术上的可行性分析主要分析现有技术条件能否顺利完成 开发工作,硬、软件配置能否满足开发者需要等。根据客户提出的系统功能、性能及实现系统的各项约束条 件,根w 据新系统目标来衡量所需的技术是否具备,本系统是一个 数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件 的性能要求、环境条件等各项条件良好,估计利用现有技术条件 应完全可以达到该系统的功能目标。同时,考虑给予的开发期限 也较为充裕,预计系统是可以在规定期限完成开发。1.2.2 经济可行性 主要是对开发学籍管理系统的高校资金进行评价,一面是估算开 发它的支出费用,其中包括设备购置费、软件开发费、管理和维 护费、人员工资和培训费等。另一
5、面是估算学籍管理系统这个软 件可能取得的收益中可以用来衡量的那部分。并对目前的软件市 场进行调查,所做软件是否有很大的销售市场和相当规模的用户 群。所做软件的开发成本与客户提出的要否可达到双都满意。并 且,分析系统开发是否会对其它产品或利润带来一定影响。经过调查我们了解到,现在很多高校都在寻找功能更加齐全 的管理系统来取代旧系统,而且这个软件带来的收益远远超过它 的开发所花费的代价。经过对上述几个面的调查研究和分析,我 们得出高校这个软件的市场前景是相当客观的,在经济角度来 说,开发学生学籍管理是可行的。123 操作可行性 w 主要是了解高校学籍管理的相关人员对开发信息系统是否 支持,现有高校
6、学籍管理制度和法是否科学,规章制度是否齐全,原始数据是否正确等。高校学籍管理人员积极支持该系统开发,使新系统能够充分的发挥作用;系统界面友好美观,操作简单易 行,易于理解,功能更加齐全。由于管理人员已经在使用旧系统,对计算机的简单操作已经非常熟悉,所以操作者经过短时间的培 训就可以使用高校学籍管理系统。1.3 结论意见 经过认真地全面地可行性研究,系统基本上做到了在技术、经济、运行、法律上的可行。因此,相信在按照计划上实施的前提下,全系统的设计将会按时、高质量完成。所以,系统研制和开发是 可以马上进行的。2、需求分析 2.1 任务需求分析 经需求分析,所得本系统所实现的基本功能,如图 1 思维
7、图 所示:w 图 1 学生学籍管理系统 上图为本系统所完成功能的一个基本信息图。用户可通过本 软件,对学生的在校情况信息有一个清晰的了解,帮助用户查询 和修改学生的相关信息,从而对学生实现信息化的管理。4t3Tf0.-tsctuAsi yaww 沖宿臣=号绘|舌占筒云餡-*fi-TKEK Wf-Tjrs.l ff-甸 HMD 耳*t曰曲査&JX.If _._ 士生殴沱m负 L=_,/砂界-学主利壬誉千 1 祐、晋H菱点融fl it tn*E低上饰 在住展”峑龙则3H1尊 ifcjna-:rap aiQ 3妊咖.MIL 程主*予岂盂迪.巴啣 刪业輩比|初“*叭便十书 车片斗茁tj*值 Q 蛋址曙
8、耳-丘亠临-蛀兰 w 经分析先给出该系统的系统流程图,如图 2 所示:该系统主要包括学生基本信息模块。系统要实现基本信息录 入、修改、删除、保存和查询等功能:信息的输入,包括学生基本信息。信息的修改、删除。根据要求,查询符合条件的各类信息。图 2 系统流程图 2.2 数据流图 该系统数据流图如图 3 所示:该系统数据流图如图 3 所示:图 3 系统数据流程图 2.3 实体联系 E-R 图 根据对数据流图和数据字典的分析,我们可以确定该应用中 的实体,属性和实体之间的关系,并画出如下所示的 E-R 图。w 图 4 学生实体图 3、概要设计 3.1 总体结构设计 经需求分析,所得本系统所实现的基本
9、功能,如图 5 思维图 所示 学生学籍管理系统 w 系统管理 洗 学 生 信 息 管 理 查 询 信 息 和修改学生的相关信息,从而对学生实现信息化的管理 修 改 信 息 w 3.2 概要数据模型设计 本系统的实体有:学生实体和专业实体。学生实体具体的描述 E-R 图如图 6 所示w 图6学生实体E-R图 专业实体具体描述如图 7 所示 w 图 7 专业实体 E-R 图 w 学生学籍管理系统的整体 E-R 图如图 8 所示 图 8 总体 E-R 图 4、详细设计 4.1 系统的主要功能及实现 根据上面的需求分析,设计好数据库系统,然 后开发前台应用程序。所开发的前台界面要求用户 可便操作,同时
10、很好的完成每一个窗口所实现的功 能。进入系统主页后,用户登录,登录成功选择角色,若是管理员,有学籍管理、课程管理。学籍管理包 括增加和删除以及修改学籍信息,课程管理具体包 括增w 加、删除和修改课程信息。接下来的操作有修 改密码、查看个人信息、查看课程信息。具体的学 生学籍管理系统总体流程图。如图 9所示。w 开始 系统主页 用户登录 成功 学生 学生 管理员 学籍管理 课程管理 查 查 改 看 看 密 个 课 码 人 程 信 信 息 息 修 改 密 退出系统 w 结束 图9总体流程图 用户登录后输入用户名和密码并选择角色,进入学 生学籍管理系统。具体流程图如图 10所示 w 图10用户登录流
11、程图 进入学生学籍管理系统后,若是管理员,则其有学 籍管理或课程管理。管理员权限具体流程图如图 11 所示。w 图11管理员权限流程图 用户进入学生学籍管理系统后,若是学生登录,有 修改密码,查看个人信息,查看课程信息等功能 图12学生权限流程图 5.项目编码#i ncludestdio.h#i ncludec on io.h#i ncludestdlib.h#i ncludestri ng.h#define N 1000 N 为可输入的学生总人数,可根据需要更改#defi ne M 2 M 为宏定义的(在创建密码函数中)可建立的登陆用户个 数,可更改 struct student/定义学生信
12、息结构体数组 w char num9;/学号 char name20;/姓名 char depar15;/院系 char zhuanye15;/专业 char classes5;/班级 char age3;/年龄 char sex4;性别 char nation5;/民族 char birth9;/出生日期 char add10;/籍贯;struct code/定义密码结构体数组 char n ame20;char code7;coM,sO;/确认是否新创建密码文件模块 int code()FILE*fp;if(fp=fopen(”学生学籍管理系统 _code.txt,rt)=NULL)pri
13、ntf(密码文件不存在,请输入新的用户名及密码:n);/若不存在此密码文件,则提示用户创建密码 printf(请输入任意键继续 r);getch();system(cls);return 1;密码文件返回 1 else return 0;有密码文件返回 0 /新创建初始密码/无/已 w void code_ in put()FILE*fp;int i;if(fp=fopen(”学生学籍管理系统 _code.txt,wt)=NULL);/当 建立密码文件成功时,进入 for 循环 for(i=0;iM;i+)/M 为宏定义的可建立的登陆用户个数,可更改 printf(请录入第%d 个用户名:,i
14、+1);/创 建不同的用户名及密码 sca nf(%s,coi.name);printf(请录入第%d 个密码(最多 6 位):,i+1);scan f(%s,coi.code);prin tf(n”);fwrite(&coi,sizeof(struct code),1,fp);/将密码 保存进文件中 fclose(fp);getch();system(cls);/用户登陆验证模块 int en ter(char name120,char code1 6)FILE*fp;int flog=0;int i;fp=fope n(”学生学籍管理系统_code.txt,rt);/打开存放密码的文 件
15、for(i=0;i=M)/当比较完成后,都没有符 合条件的用户名与密码,则直接跳出程序 prin tf(*您无权进入此管理系统!!*);fclose(fp);getch();exit(1);/从文件读入数据 int read_file(struct stude nt stu)FILE*sp;int i=0;system(cls);if(sp=fope n(”学生学籍管理系统学生信息.txt,rt)=NULL)/读 文件,若文件不存在,则需要创建一个新的文件(文件创建在 save_file 函数中完成)prin tf(n 学生学籍管理系统 _学生信息文件不存在,请创 建!n);getch();s
16、ystem(cls);return 0;while(fread(&stui,sizeof(struct stude nt),1,sp)=1)判断文件 是否处在结束位置 if(stui.num=0)/若文件容为 空,则跳出循环 break;w /若文件容不 else w 构体数组的数量 fclose(sp);return i;代表文件中学生的人数 /保存学生信息(保存在文件中)void save_file(struct stude nt stu,i nt sum)FILE*sp;int i;if(sp=fope n(”学生学籍管理系统 _学生信息 若不存在此 TXT 文档,则创建;printf(
17、读文件错误!n);建不成功,返回 menu 函数;return;for(i=0;isum;i+)if(fwrite(&stui,sizeof(struct stude nt),1,sp)!=1)件,sum 为现有总学生人数,若未保存成功,提示 printf(”写文件错误!n);fclose(sp);return;/创建并录入信息 int foun d(struct stude nt stu)int i=0,x;system(cls);printf(请输入要录入的学生的个数:n);scan f(%d,&x);if(x=0)为空,i 自加 1。i+;/i 为文件结/返回 i 值,txt,wb)=N
18、ULL)/创/保存文 写文件错误!;w return 0;do 入信息 printf(n 请录入第%d 个学生的信息:n,i+1);printf(请录入学号:);scan f(%s,stui.num);printf(n 请录入姓名:);scan f(%s,stui.name);printf(n 请录入院系:);scan f(%s,stui.depar);printf(n 请录入专业:);scan f(%s,stui.zhua nye);printf(n 请录入班级:);scan f(%s,stui.classes);prin tf(n 请录入性别:”);scan f(%s,stui.sex);
19、printf(n 请录入年龄:);scan f(%s,stui.age);printf(n 请录入出生日期(yyyymmdd):);scan f(%s,stui.birth);printf(n 请录入民族:);scan f(%s,stui.natio n);printf(n 请录入籍贯:);scan f(%s,stui.add);i+;system(cls);while(i=x(用户要求创 建学生的人数)时,跳出输入信息的 for 循环;save_file(stu,x);/保存学生信息致文件 printf(录入完毕,请按任意键返回”);getch();return i;/返回创建学生的人数 /
20、修改学生信息/输 w void modify(struct stude nt stu,i nt sum)w if(strcmp(stui.nu m,s1)=0)/若找到该生,输出该生的 int i,item,a=1;item 控制子菜单的选择 char s18;FILE*sp;system(cls);read_file(stu,sum);do i 控制数组下标,/读函数 prin tf(nnn 请输入你要修改的学号:n);scanf(%s,s1);II 要修改的学生学 for(i=0;isum;i+)/查找此学生 信息 printf(”printf(”printf(”printf(”print
21、f(”printf(”printf(”printf(”printf(”printf(”a=0;break;该学生学号 该学生姓名 该学生院系 该学生专业 该学生班级 该学生性别 该学生年龄 :%sn,stui.nu m);:%sn,stui.name);:%sn,stui.depar);:%sn,stui.zhua nye);:%sn”,stui.classes);:%sn,stui.sex);:%sn,stui.age);该学生出生日期:sn,stui.birth);该学生民族:%sn,stui.nation);该学生籍贯:%sn,stui.add);II找到该生,a=0;II出 for 循
22、环 if(a=1)输出提示语句 prin tf(nn while(a);II 若没有找到该生,a=1,该学号不存在!请重新输入学号:n);/当 a=0,即没有找到 该生,则继续循环重新输入学生学号 w prin tf(nt 请选择你要进行的操作:);scan f(%d,&item);/item switch(item)case 1:/修改姓名 printf(t 请输入新的姓名:”);scan f(%s,stui.name);printf(nnn 修改成功!n);save_file(stu,sum);break;case 2:/修改年龄 printf(t 请输入新的年龄:);scan f(%s,
23、stui.age);printf(nnn 修改成功!n);save_file(stu,sum);break;case 3:/修改性别 printf(t 请输入新的性别:);scan f(%s,stui.sex);printf(nnn 修改成功!n);save_file(stu,sum);prin tf(t*n)prin tf(t 你选择你要修改的选项 prin tf(t1.*修改姓名n);prin tf(t2.*修改年龄n);prin tf(t3.*修改性别n);prin tf(t4.*修改出生日期 n);prin tf(t5.*修改籍贯n);prin tf(t6.*修改院系名称 n);pri
24、n tf(t7.*修改专业名称 n);prin tf(t8.*修改班级n);prin tf(t9.*修改民族n);prin tf(tO.*退出菜单n);prin tf(t*n)while(1):n);控制子菜单的选择 w break;w case 4:/修改出生日期 printf(t 请输入新的出生年月(yyyy.mm):”);scan f(%s,stui.birth);printf(nnn 修改成功!n);save_file(stu,sum);break;case 5:/修改籍贯 printf(t 请输入新的籍贯:);sca nf(%s,stui.add);printf(nnn 修改成功!n
25、);save_file(stu,sum);break;case 6:/修改院系 printf(t 请输入新的院系:);sca nf(%s,stui.depar);printf(nnn 修改成功!n);save_file(stu,sum);break;case 7:/修改专业 prin tf(t 请输入新的专业名称:);sca nf(%s,stui.zhua nye);printf(nnn 修改成功!n);save_file(stu,sum);break;case 8:/修改班级 printf(t 请输入新的班级:);sca nf(%s,stui.classes);printf(nnn 修改成功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 系统软件 工程 报告 完成
限制150内