学生考勤管理信息系统可行性分析报告

时间:2024.3.31

脸谱智能考勤系统分析报告

                             

一、项目背景

随着经济和科术的发展,高校大学生上课考勤情况存在一些的不足,其中学生的上课考勤又对学习绩效有着重要的作用,因此关注学生的考勤管理。

而现有的纪检点名考勤存在替答、漏点以及现场混乱等漏洞以及其他人为因素导致的考勤不够全面、客观等情况,我们的脸谱考勤系统的建立就显的十分必要。

二、系统简述

脸谱考勤管理系统是利用摄像监控通过对出入人员的脸部识别,记录学生的出入时间,进而与数据库系统中的学生数据库对比分析,得到学生的出勤记录,此系统具有全面、客观、节省人力和时间、一次记录多人优点,及时记录缺勤,迟到,早退情况。

类似于十字路口监控车辆闯红灯的监控系统。脸谱智能考勤管理系统一个比较简单基于学生的智能考勤系统,包括对统进行分析,以及各个功能的应用情况,为使用者提供一个方便运用考勤管理系统的平台。该系统能实现学生考勤的自动录入、查询、评估等。主要功能有:

1、 用户登录

2、 学生基本信息

3、 学生考勤信息管理

4、 查询功能

5、 考勤信息的追加、删除和修改

6、 统计功能

、项目的目标

1、通过对学生的日常考勤管理,提高学生到课率,严肃纪律,使学生自觉遵守上课时间、学校纪律

2、弥补现有纪检点名考勤的种种不足,杜绝替答、漏检、现场混乱的情况,节省时间、全面客观。

3、摄像监控在考勤的同时也可更大的监控其他人员的出入,能够更好的保障学校学生的安全

四、可行性分析

1、经济上的可行性

现在的大学校园和教室都安装有监控系统,学校教务处也有学生基本信息数据库系统,脸谱考勤管理系统是建立在监控系统和学生数据库之上,两者有机结合,只需要稍加改进,这样可以极大减少开发成本。由此可见,开发一个小型的学生管理系统在经济上是完全可行的。

2、技术上的可行性

根据系统目标要求分析,设计题目完全可以通过制作一个数据库的应用管理系统。本系统是基于现有的校园监控系统之上的,且与监控车辆的监控系统有着异曲同工之处,如果决定了可以很快实践。有了该系统可以使目前的学生考勤管理工作大为改观。利用计算机中方便的Windows界面进入本系统,并可以让管理人员通过鼠标和键盘来完成浏览、查询、记录、信息的增、删、改及数据统计等工作,实现学生考勤管理的自动化,大大提高管理效率。

3、管理上的可行性

该系统的使用能够很好地帮助学校提高学生的管理效率,并且能够更好地保障学校、学生的财产安全,形成良好的校园风气。上述的这些优势完全能够保证管理者的支持,现阶段具备这样的管理条件

五、系统分析

   

脸谱智能考勤管理系统的主要任务使用教教室监控设备、学校学生数据库系统、和计算机对学生出勤状况进行日常的监控、记录和管理。如查询、修改、增加、删除以及存储等,准确迅速地完成各种信息的统计汇总工作,针对日常考勤的具体要求,设计了学生考勤管理系统。

脸谱智能考勤管理管理系统涉及的人员众多,通过本系统可以使学生考勤工作自动化、准确化、智能化。本系统功能较为强大,使用户在一种轻松状态下完成相应操作。

1、业务流程图

2、数据流程图

六、系统设计

脸谱智能考勤管理系统能够提供学生考勤的情况记录,方便地对学生考勤进行评定。考勤情况主要由监控设备记录;还能够添加请假、休学和退学等情况的记录,并实现查询、添加、删除、浏览、打印等功能。

考勤管理者可直接操作各考勤情况,本系统对全校师生人员开放,可直接进入进行查阅。浏览、查询、统计、添加、删除和修改学生的基本信息,这部分功能由学生处、教务处管理人员执行。

功能结构图

数据库设计

整个系统各实体可用以下关系来表示(其中主键已用下划线标识):

学  生(学号,姓名,性别)

班  级(班级编号,班级名称,专业,班长,人数)

课  程(课程名称,任课老师)

考  勤(学号,课程编号,考勤日期,考勤记录)

请销假(学号,请假日期,销假记录,销假日期)

七、总结分析

在科技日益发展的今天,管理信息系统在管理中的应用越来越深入。管理人员如何及时掌握各种信息,并且对所掌握的信息加以处理,建立一套符合要求的系统显得尤为重要。因此作为工商管理专业的学生,我们有必要对管理信息系统有相关了解。

通过学习我们加深了对管理信息系统的了解,课堂上老师讲授了许多关该系统的理论,也让我们熟悉了管理信息系统的开发环境、开发流程以及其运行实施,我想这些对我们以后从事管理工作是有益的。

此外,这次的作业是我们小组6人合作完成的,这从另一方面凸显了这次作业的意义。因为在管理中,组织与协调相当重要。我们每一个小组成员负责自己的任务,然后大家在一起讨论,做出小组的最后定论。

总之,我们对管理信息系统方面的知识又多了一些了解,这对我们将来到社会工作将会有很大的帮助。


第二篇:c++学生考勤信息管理系统


/*题目:学生考勤管理系统

考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续多节课用 begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:

1. 录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:

缺课日期 第几节课 课程名称 学生姓名 缺课类型

每行一条纪录。

例如:

2008-04-29 3-4 C++程序设计实验 张三 迟到

2008-04-28 3-4 C++程序设计 李四 旷课

2.修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改。

3.查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。

4.统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;

5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序;

6.系统以菜单方式工作。

通过几天的奋斗终于将这个设计做出来了,如下是该程序的详细过程*/

#include <algorithm>

#include <iomanip>

#include <iostream>

#include <vector>

#include <stdexcept>

#include <string>

#include <iterator>

#include <map>

using namespace std;

struct Student_info{

int year,month,day,lesson1,lesson2;

std::string course,name,type;

std::istream& read(std::istream&);

};

istream& Student_info::read(istream& in)

{

in>>year>>month>>day>>lesson1>>lesson2>>course>>name>>type;

return in;

}

istream& read_record(istream& in,vector<Student_info>& s)//第一个模块--------------输入学生的缺课记录

{

Student_info record;

s.clear();//调用s.clear()来清空s的记录 while(record.read(in)) { s.push_back(record); }

in.clear();//将记录的错误状态恢复正确,以继续读取记录

return in;

}

bool is_empty(vector<Student_info>& s)//判断输入学生的记录是否为空,为空则返回真 {

return s.empty();

}

bool compare(Student_info& x,Student_info& y)//按照时间排序,若日期相等则看课程时间

{

if(x.year==y.year&&x.month==y.month&&x.day==y.day){

return x.lesson1<y.lesson1;

}

else if(x.year==y.year&&x.month==y.month&&x.day!=y.day){

return x.day<y.day;

}

else if(x.year==y.year&&x.month!=y.month){

return x.month<y.month;

}

else {

return x.year<y.year;

}

}

bool time(const Student_info& stud,int y1,int m1,int d1,int y2,int m2,int d2)//筛选符合输入时间段的数据

{

if ((y1 == stud.year && stud.month == m1 && stud.day < d1) || (y2 == stud.year && stud.month == m2 && stud.day > d2))

return 0;

}

else if ((y1 == stud.year && stud.month < m1) || (y2 == stud.year && stud.month > m2)) return 0; else if (y1 > stud.year || y2 < stud.year) return 0; else return 1;

void rewrite(vector<Student_info>& s)//第二个模块--------------修改某个学生的缺课情况 {

if(!is_empty(s))

{

int n,m,j,k;

map<string,vector<Student_info> > s_name;

map<string,vector<Student_info> >::iterator ix2;

vector<Student_info>::iterator ix,iter,itera;

string name;//-------------------定义这些参数和迭代器必须在SWITHC外,不然它可能被忽略跳过

while(true)

{

cout<<"

*********************************************************"<<endl;

*"<<endl; cout<<" * 1.请输入你要修改缺课记录的学生姓名 *"<<endl; cout<<" *

菜 cout<<" * 2.返回上一级

*"<<endl;

cout<<"

*********************************************************"<<endl;

cout<<"请选择菜单选项: ";

cin>>n;

if(n==1)

{

s_name.clear();//------------------------------清空MAP容器

for(ix=s.begin();ix!=s.end();++ix)

{

s_name[(*ix).name].push_back(*ix);

}

s.clear();

cout<<"请输入该学生的姓名: ";

cin>>name;

cout<<endl;

if(s_name.find(name)!=s_name.end()) 单

{ ix2=s_name.find(name); //----------找到符合名字要求的数据,并显示出 for(iter=(*ix2).second.begin();iter!=(*ix2).second.end();++iter) { cout<<(*iter).year<<"-"<<(*iter).month<<"-"<<(*iter).day<<"\t"; cout<<(*iter).lesson1<<"-"<<(*iter).lesson2; cout<<"\t"<<(*iter).course<<"\t"<<(*iter).name<<"\t"<<(*iter).type<<endl; } itera=(*ix2).second.begin();

cout<<"请输入要更改记录的序号: ";

cin>>j;

for(k=0;k!=j-1;++k)

{

++itera;

}

cout<<"

**************************************************************************"<<en

dl;

cout<<" * 需要更改的项目 *"<<endl;

cout<<" * *"<<endl;

cout<<" * 1 日期 2 节次 3 课程名称 4 姓名 5 缺课类型 6 返回

上一级 *"<<endl;

cout<<" * *"<<endl;

cout<<"

**************************************************************************"<<en

dl;

cout<<"请选择要更改的项目号: "; cin>>m; switch(m) { case 1: cout<<"请输入更改的日期(年 月 日): "; cin>>(*itera).year>>(*itera).month>>(*itera).day; break; case 2: cout<<"请输入更改的节次(L1、L2): "; cin>>(*itera).lesson1>>(*itera).lesson2; break; case 3: cout<<"请输入要更改的课程名称: ";

cin>>(*itera).course; break; case 4: cout<<"请输入要更改的学生姓名: "; cin>>(*itera).name; break; case 5: cout<<"请输入缺课类型: "; cin>>(*itera).type; break; case 6: break; default: cout<<"你的选择错了,请看清楚!"<<endl; break; }

for(ix2=s_name.begin();ix2!=s_name.end();ix2++)//将改写后的数据放入vector容器中

{

for(iter=ix2->second.begin();iter!=ix2->second.end();iter++) {

s.push_back(*iter);

}

}

}

else

{

}

cout<<"没有这个学生的缺课记录"<<endl; cout<<endl; } break; } else if(n==2) { return ; } else cout<<"你的选择错了,请看清楚!"<<endl; } } else cout<<"记录为空,没有学生的缺课记录!"<<endl;

void Search_record(vector<Student_info>& s)//第三个模块-------------查找某学生的缺课情况 {

if(!is_empty(s))

{

int i;

vector<Student_info>::iterator iter;

map<string,vector<Student_info> >::iterator it1;

map<string,vector<Student_info> > s_name;

map<string, vector<Student_info> >::iterator itera;

vector<Student_info>::iterator it;

string name;

while(true)

{

cout<<"

**********************************************************"<<endl;

cout<<"

*"<<endl;

cout<<" * 1 输入你要查询的学生姓名 2 返回上一级 *"<<endl; cout<<"

*"<<endl;

cout<<"

**********************************************************"<<endl;

cout<<"请选择菜单: ";

cin>>i;

if(i==1){

s_name.clear();

for(it=s.begin();it!=s.end();++it)

{

s_name[(*it).name].push_back(*it);

}

for(itera=s_name.begin();itera!=s_name.end(); ++itera)

{

sort(itera->second.begin(),itera->second.end(),compare);

}

cout<<"请输入名字: ";

cin>>name;

cout<<endl;

if(s_name.find(name)!=s_name.end())

{

it1=s_name.find(name);

for(iter=(*it1).second.begin();iter!=(*it1).second.end();++iter) {

cout<<(*iter).year<<"-"<<(*iter).month<<"-"<<(*iter).day<<"\t"; * *

cout<<(*iter).lesson1<<"-"<<(*iter).lesson2; cout<<"\t"<<(*iter).course<<"\t"<<(*iter).name<<"\t"<<(*iter).type<<endl; } } else { cout<<"没有这个学生."<<endl; cout<<endl; } } else if(i==2) { return ; } else } } else cout<<"对不起,没有这个选项!"<<endl;

cout<<"没有这个学生的缺课记录"<<endl;

}

struct Search_struct{

string name,course;

int times;

};//定义另一个结构模块

bool compare2(Search_struct& x,Search_struct& y)//按照次数排序,次数相等的则按照名字排序

{

if(x.times==y.times)

return x.name<y.name;

else

return x.times>y.times;

}

void Search_s_t(vector<Student_info>& std)//第四个模块----------------查找某段时间内旷课学生姓名及旷课节数

{

if(!is_empty(std))

{

vector<Student_info>::iterator it;

vector<Search_struct>::iterator itera;

map<string,int>::iterator iter; vector<Search_struct> vec; int y1,m1,d1,y2,m2,d2; map<string,int> ret; cout<<"请输入你要查找的一个时间段(y1 m1 d1 y2 m2 d2): "<<endl; cin>>y1>>m1>>d1>>y2>>m2>>d2; for(it=std.begin();it!=std.end();++it) { if(time(*it,y1,m1,d1,y2,m2,d2)) { ret[it->name]+=(it->lesson2-it->lesson1+1); } } for(iter=ret.begin();iter!=ret.end();iter++) { Search_struct tmp; tmp.name=iter->first; tmp.times=iter->second; vec.push_back(tmp); } sort(vec.begin(),vec.end(),compare2); for(itera=vec.begin();itera!=vec.end();itera++) { cout<<itera->name<<"\t"<<itera->times<<endl; } } else

cout<<"对不起,没有你要查找的记录!"<<endl;

}

void Search_c_t(vector<Student_info>& std)//第五个模块---------------查找某段时间内旷课的课程及旷课人次

{

if(!is_empty(std))

{

vector<Student_info>::iterator it;

vector<Search_struct>::iterator itera;

map<string,int>::iterator iter;

vector<Search_struct> vec;

int y1,m1,d1,y2,m2,d2;

map<string,int> ret;

cout<<"请输入你想要查找的时间段(y1 m1 d1 y2 m2 d2): "<<endl;

cin>>y1>>m1>>d1>>y2>>m2>>d2;

for(it=std.begin();it!=std.end();++it)//建立map容器

{

if(time(*it,y1,m1,d1,y2,m2,d2))

{

ret[it->course]+=1;

}

}

for(iter=ret.begin();iter!=ret.end();iter++)

{

Search_struct tmp;

tmp.course=iter->first;

tmp.times=iter->second;

vec.push_back(tmp);

}

sort(vec.begin(),vec.end(),compare2);

for(itera=vec.begin();itera!=vec.end();itera++)

{

cout<<itera->course<<"\t"<<itera->times<<endl;

}

}

else

cout<<"这段时间内没有学生的缺课纪录!"<<endl;

}

int main()

{

vector<Student_info> stu;

int choice;

while(true)

{

cout<<"

*************************************************************"<<endl;

cout<<" * 学生考勤管理系统 *"<<endl;

cout<<" ************************************************************

"<<endl;

cout<<" * 1. 录入学生的缺课记录 *"<<endl;

cout<<" * *"<<endl;

cout<<" * 2. 修改某个学生的缺课记录 *"<<endl;

cout<<" * *"<<endl;

cout<<"

*"<<endl;

cout<<"

*"<<endl; * 3. 查找某学生的缺课情况 *

cout<<" * 4. 查找某段时间内旷课学生姓名及旷课节数 *"<<endl;

cout<<" * *"<<endl;

cout<<" * 5. 查找某段时间内旷课的课程及旷课人次 *"<<endl;

cout<<" * *"<<endl;

cout<<" * 6. 退出系

*"<<endl;

cout<<"

*************************************************************"<<endl; 统

cout<<"请选择菜单选项: ";

cin>>choice;

if(choice==1){

cout<<"请输入数据: "<<endl<<"年 月 日 节次 姓名 课程名称 缺课类型

"<<endl;

read_record(cin,stu);

cout<<endl;

}

else if(choice==2){

rewrite(stu);

cout<<endl;

}

else if(choice==3){

Search_record(stu);

cout<<endl;

}

else if(choice==4){

Search_s_t(stu);

cout<<endl;

}

else if(choice==5){

Search_c_t(stu);

cout<<endl;

}

else if(choice==6){

return 0;

}

else

cout<<"对不起,没有这个菜单项!"<<endl; }

return 0;

}

更多相关推荐:
管理信息系统可行性分析报告

研究生管理信息系统可行性分析报告一系统建立的背景及意义1系统建立的背景随着学校校研究生招生人数的不断增长研究生的管理工作以日趋繁重由于研究生培养方式灵活更给管理工作带来了难度为学校研究生管理部门建立一套网络化的...

教务管理信息系统可行性分析报告

教务管理系统之子系统系内课程安排可行性分析报告指导老师孙宝军小组人员范志媛吴树兵鹿超张凯王林王博教学管理系统课程安排子系统可行性分析报告一教务信息总系统的概述1教务信息系统的背景信息社会的高科技商品经济化的高效...

学生信息管理系统可行性分析报告

学生信息管理系统可行性分析报告一引言1编写目的随着学校的规模不断扩大学生数量急剧增加有关学生的各种信息量也成倍增长面对庞大的信息量就需要有学生信息管理系统来提高学生管理工作的效率通过这样的系统可以做到信息的规范...

超市管理信息系统可行性分析报告

超市管理信息系统可行性分析报告一背景分析随着信息化的来临和计算机在日常管理中的广泛应用零售业是一个规模效应比较突出的行业要形成强有力的核心竞争力必须提高企业控制成本价格购买群体和收益水平的能力零售行业作为国民经...

图书管理信息系统可行性分析报告

图书管理信息系统可行性分析报告一、前言系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的…

图书馆管理信息系统可行性分析报告

view9c6808cfa1c7aa00b52acb1dhtmlview34762c2d7375a417866f8f44html图书馆管理信息系统可行性分析报告1引言背景A所建议开发的软件系统的名称韶关学院图书...

管理信息系统可行性分析报告内容模版

管理系统可行性分析报告内容模版1引言11编写目的描述编写本可行性分析报告的目的指出读者对象12项目背景应包括所建议开发软件的名称本项目的任务提出者开发者用户及实现软件的单位本项目与其他软件或其他系统的关系13定...

信息管理系统可行性分析

1引言11编写目的可行性分析报告是为物资管理信息系统开发的可能性可行性必要性提供论据为开发人员进行系统总体规划设计及具体实施开发工程提供必要的参考资料在系统开发完成后期为系统的测试验收提供帮助12背景a本项目名...

管理信息系统可行性研究报告

兰州拉面馆管理系统可行性研究报告河南城建学院工商管理系市场营销专业十五组小组组员王宽121410136刘凯锋121410128张洁辉121410146刘戴维121410231周焕卿121410255魏巍1214...

管理信息系统可行性分析

1找一自己熟悉的需管理方向以建立管理住处系统为目的进行可行性分析例如图书管理库存管理宿舍管理教学管理财务管理等等也可采用所给示例系统或系统中的一部分作为一个系统2要按可行性分析的规则进行相关分析得出正确结论3可...

学生管理信息系统可行性分析

学生管理信息系统可行性分析实验报告三一新系统方案一新建系统目标拟在一年内建立高安教育集团学生管理信息系统本系统将在传统系统模式的基础上更加自动化标准化和科学化而此次建立的一个整体性的学生管理信息系统可以提高和改...

期刊信息管理系统可行性分析报告

期刊信息管理系统可行性研究报告1.引言1.1编写目的随着科学技术的发展,计算机已经是日常工程和生活不可或缺的工具,将图书管理从人工管理方式转变成为软件控制,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、…

管理信息系统可行性分析报告(42篇)