学生考勤系统说明书

学生考勤系统说明书

目录

1 设计内容与要求 …………………………………………………………………………7

2. 设计说明 …………………………………………………………………………………8

2.1 问题描述与功能设计………………………………………………………………8

2.2 算法与数据结构……………………………………………………………………9

2.3 函数定义………………………………………………………………………………11

2.4 测试……………………………………………………………………………………16 3 总结……………………………………………………………………………………………18

1设计内容与要求

设计题目:Android 文件管理器

1.基本要求:

(1) 要求用数据结构二叉树树形结构思想来完成设计;

(2) 要求树型结构,目录下可以是目录,也可以是文件

(3) 以树的形式显示所有的文件和文件

(4) 通过输入文件名,实现文件搜索的功能

(5) 在树中增加一个新文件,正确的显示出来

(6) 在树中删除一个文件,正确的显示

(7) 输入一个文件名,实现文件搜索功能

(8) 程序调试通过后,完成程序文档的处理,加必要的注释

高级要求:

(1)显示文件的大小、创建日期,修改时间

(2)输入一个文件名,实现文件搜索功能

2. 创新要求

在基本要求达到后,可以进行创新设计。

3.设计方法和基本原理

1)问题描述:

Android 手机上默认没有文件管理器,因此需要设计一个文件管理器,要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中,请用C 实现主要结构和算法

2)设计思想

1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。

2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必须要有一棵初始的文件树存在,以便在文件树的根节点下实现创建和删除文件。

3. 数据结构与树结构。数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树中每个分叉点称为结点,起始结点称为树根,任意两个结点间的连接关系称为树枝,结点下面不再有分枝称为树叶。结点的前趋结点称为该结点的" 双亲" ,结点的后趋结点称为该结点的" 孩子" ,同一结点的" 孩子" 之间互称" 兄弟" 。

4.文件目录结构采用多级目录结构。为了简单起见,可以使用文件结构体,结构体内容包括:文件名,文件目录识别标示,文件链接数,以及他的左孩子右孩子左兄弟右兄弟指

5. 要有分解函数对输入的命令进行分解。以识别那部分是哪部分是命令,哪

部分是路径和文件名。

6. 最后要有执行函数。来执行输入的创建文件命令。

设计工作量:

(1)软件设计:完成问题陈述中所提到的所有需求功能。

(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。

工作计划:13-14周

安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~6,第二周完成7~10,论文同步进行;

(1)写出需求分析(做什么)

(2)分析系统中的各个实体之间的关系及其属性和行为

(3)设计系统的函数层次

(4)完成函数中函数的描述(包括属性和方法)

(5)完成类中各个成员函数的定义和实现

(6)代码编写

(7)功能调试

(8)撰写课程设计报告书

(9)答辩

2设计说明

2.1 问题描述与功能设计

1)问题描述:Android 手机上默认没有文件管理器,因此需要设计一个文件管理器,

要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中

2)功能设计:

1分析系统中的各个实体之间的关系及其属性和行为;

2设计系统的类层次,充分运用C++的复合、继承、多态等机制进行软件渐增式开发;

3完成类层次中各个类的描述(包括属性和方法)和具体实现用户界面需求

用户界面需求

对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做得简单、层次清晰明了

对考勤管理系统应实现的功能描述如下:

1用户信息管理

用户信息管理的基本功能是添加、修改、删除、浏览用户详细信息。

2信息管理

包括缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课) 3查询功能

考勤人员能够按学号、姓名查询某学生的考勤记录或按专业、班级查询某个班级的考勤记录 4统计功能

考勤人员可以统计学生的考勤记录

5修改功能

考勤人员具有修改学生考勤记录、如请假、旷课等记录

2.2 算法与数据结构

2.3 函数定义

//student.h文件中student 类的定义

class Student{

public:

// 学生信息

char stuName[20];

int stuNum;

char stuClass[20];

// 缺课信息

char courseName[20];

int courseNum; // 第几节课

char courseType[20];

// 缺课日期

int year;

int month;

int day;

/*

* 创建链表用来存储学生信息

*/

bool CreateList(node &L)

{

L = new Node; // 动态分配内存,创建链表头结点

if(!L)

{

// 内存分配失败

return false;

}

L->next = NULL; // 创建空链表成功,头结点指针域为空

return true;

}

//学生缺课类型

int chidaoCount = 0;//迟到

int zaotuiCount = 0; //早退

int kuangkeCount = 0; //旷课

int qingjiaCount = 0; //请假

char *queke[4] = {"迟到", "早退", "旷课", "请假"};

2.4 界面设计

while(1)

{

cout

cout

cout

cout

cout

cout

cin>>order;

switch(order)

{

case 1:

cout

InputStu(stu);

InsertAscend(head, stu);

cout>k;

if(k)

{cout

return 0;

}

break;

case 2:

cout

cin>>stuNum;

DelFromNum(head, stuNum);

cout>k;

if(k)

{cout

return 0;

}

break;

case 3:

cout

=============\n";

cout

cin>>stuNum;

FindFromNum(head, stuNum, preNode, curNode);

Modify(curNode->data);

cout>k;

if(k)

{

cout

return 0;

}

break;

case 4:

cout

cout>k;

if(k)

{

cout

return 0;

}

break;

case 5:

cout

cout

cin>>stuNum;

FindFromNum(head, stuNum, preNode, curNode);

cout

print(curNode->data);

cout>k;

if(k)

{

cout

return 0;

}

break; case 6:

cout

curNode = preNode->next;

if(curNode && !strcmp(curNode->data.courseType, queke[0]))

chidaoCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[1]))

zaotuiCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[2]))

kuangkeCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[3]))

qingjiaCount++; preNode = curNode; }

cout

cout>k; if(k) {

cout

break;

default:

cout

cout>k; if(k) {

cout

break;

} } }

return 0; return 0;

}

2.5 测试 输入学生信息

录入学生信息

查询学生信息

修改学生信息

统计学生信息

3 总结

本次实验是我上大学以来做的第二个课程设计,虽然平时也做过许多的实

验,但是题目刚拿到手时仍然是手足无措,不知从何下手,首先面对的是编写程序的问题,面向对象的程序设计思想是我们这学期C++课程的主要内容,但我的底子薄,掌握的不是很好,所以运用起来有些困难;其次是以前没做过课程设计,有关课程设计方面的一些问题,例如,课程设计都包括哪些内容,需要写些什么,我都不是非常清楚。后来在老师、同学以及班导的帮助下,才对此有了一定的了解,有了属于自己的看法,不过程序编写过程中我也遇到了许多的麻烦,例如链表的使用,是上个学期最后的内容,不是很熟悉,经过反复的看书,终于得到了解决!

这次的课程设计是我真正发现在课堂上听懂是一回事,而当自己真正动手做时又是另外一回事。虽然最后问题都得到的解决,但未能实现保存文件,没能达到老师的要求,这也是本次课程设计的不足之处。

通过本次的课程设计,使我能够进一步掌握用程序设计语言解决实际问题的方法,在操作当中把所学到的用于实际的编程里去。使我能够提高分析问题、查阅资料、吸收新知识的能力,在分析解决问题时比以前有了很大的进步,一些常用的知识和一些常规的错误都能够解决。我认为实践周的程序设计是给我们学习的一个大好机会,使我们在这样的机会里学到了一定的知识,毕竟理论要通过实践来锻炼,也只有自己参与了这样的一个锻炼,才能更好的发现自己的不足并加以改进和完善!我清楚的认识到自己在这方面的不足之处,在这方面可以说欠缺的知识还很多很多,不能编出完全符合要求的程序。在以后的学习中我会更加努力,争取能编出更加符合要求的程序,给自己的课程设计交上一份满意的答卷,也给自己一点小小的信心!

学生考勤系统说明书

目录

1 设计内容与要求 …………………………………………………………………………7

2. 设计说明 …………………………………………………………………………………8

2.1 问题描述与功能设计………………………………………………………………8

2.2 算法与数据结构……………………………………………………………………9

2.3 函数定义………………………………………………………………………………11

2.4 测试……………………………………………………………………………………16 3 总结……………………………………………………………………………………………18

1设计内容与要求

设计题目:Android 文件管理器

1.基本要求:

(1) 要求用数据结构二叉树树形结构思想来完成设计;

(2) 要求树型结构,目录下可以是目录,也可以是文件

(3) 以树的形式显示所有的文件和文件

(4) 通过输入文件名,实现文件搜索的功能

(5) 在树中增加一个新文件,正确的显示出来

(6) 在树中删除一个文件,正确的显示

(7) 输入一个文件名,实现文件搜索功能

(8) 程序调试通过后,完成程序文档的处理,加必要的注释

高级要求:

(1)显示文件的大小、创建日期,修改时间

(2)输入一个文件名,实现文件搜索功能

2. 创新要求

在基本要求达到后,可以进行创新设计。

3.设计方法和基本原理

1)问题描述:

Android 手机上默认没有文件管理器,因此需要设计一个文件管理器,要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中,请用C 实现主要结构和算法

2)设计思想

1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。

2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必须要有一棵初始的文件树存在,以便在文件树的根节点下实现创建和删除文件。

3. 数据结构与树结构。数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树中每个分叉点称为结点,起始结点称为树根,任意两个结点间的连接关系称为树枝,结点下面不再有分枝称为树叶。结点的前趋结点称为该结点的" 双亲" ,结点的后趋结点称为该结点的" 孩子" ,同一结点的" 孩子" 之间互称" 兄弟" 。

4.文件目录结构采用多级目录结构。为了简单起见,可以使用文件结构体,结构体内容包括:文件名,文件目录识别标示,文件链接数,以及他的左孩子右孩子左兄弟右兄弟指

5. 要有分解函数对输入的命令进行分解。以识别那部分是哪部分是命令,哪

部分是路径和文件名。

6. 最后要有执行函数。来执行输入的创建文件命令。

设计工作量:

(1)软件设计:完成问题陈述中所提到的所有需求功能。

(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。

工作计划:13-14周

安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~6,第二周完成7~10,论文同步进行;

(1)写出需求分析(做什么)

(2)分析系统中的各个实体之间的关系及其属性和行为

(3)设计系统的函数层次

(4)完成函数中函数的描述(包括属性和方法)

(5)完成类中各个成员函数的定义和实现

(6)代码编写

(7)功能调试

(8)撰写课程设计报告书

(9)答辩

2设计说明

2.1 问题描述与功能设计

1)问题描述:Android 手机上默认没有文件管理器,因此需要设计一个文件管理器,

要求以树形结构显示每个文件和文件夹,并且可以方便的对文件或文件夹进行增,删操作,此外还可以将文件移至任意文件夹中

2)功能设计:

1分析系统中的各个实体之间的关系及其属性和行为;

2设计系统的类层次,充分运用C++的复合、继承、多态等机制进行软件渐增式开发;

3完成类层次中各个类的描述(包括属性和方法)和具体实现用户界面需求

用户界面需求

对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做得简单、层次清晰明了

对考勤管理系统应实现的功能描述如下:

1用户信息管理

用户信息管理的基本功能是添加、修改、删除、浏览用户详细信息。

2信息管理

包括缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课) 3查询功能

考勤人员能够按学号、姓名查询某学生的考勤记录或按专业、班级查询某个班级的考勤记录 4统计功能

考勤人员可以统计学生的考勤记录

5修改功能

考勤人员具有修改学生考勤记录、如请假、旷课等记录

2.2 算法与数据结构

2.3 函数定义

//student.h文件中student 类的定义

class Student{

public:

// 学生信息

char stuName[20];

int stuNum;

char stuClass[20];

// 缺课信息

char courseName[20];

int courseNum; // 第几节课

char courseType[20];

// 缺课日期

int year;

int month;

int day;

/*

* 创建链表用来存储学生信息

*/

bool CreateList(node &L)

{

L = new Node; // 动态分配内存,创建链表头结点

if(!L)

{

// 内存分配失败

return false;

}

L->next = NULL; // 创建空链表成功,头结点指针域为空

return true;

}

//学生缺课类型

int chidaoCount = 0;//迟到

int zaotuiCount = 0; //早退

int kuangkeCount = 0; //旷课

int qingjiaCount = 0; //请假

char *queke[4] = {"迟到", "早退", "旷课", "请假"};

2.4 界面设计

while(1)

{

cout

cout

cout

cout

cout

cout

cin>>order;

switch(order)

{

case 1:

cout

InputStu(stu);

InsertAscend(head, stu);

cout>k;

if(k)

{cout

return 0;

}

break;

case 2:

cout

cin>>stuNum;

DelFromNum(head, stuNum);

cout>k;

if(k)

{cout

return 0;

}

break;

case 3:

cout

=============\n";

cout

cin>>stuNum;

FindFromNum(head, stuNum, preNode, curNode);

Modify(curNode->data);

cout>k;

if(k)

{

cout

return 0;

}

break;

case 4:

cout

cout>k;

if(k)

{

cout

return 0;

}

break;

case 5:

cout

cout

cin>>stuNum;

FindFromNum(head, stuNum, preNode, curNode);

cout

print(curNode->data);

cout>k;

if(k)

{

cout

return 0;

}

break; case 6:

cout

curNode = preNode->next;

if(curNode && !strcmp(curNode->data.courseType, queke[0]))

chidaoCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[1]))

zaotuiCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[2]))

kuangkeCount++;

if(curNode && !strcmp(curNode->data.courseType, queke[3]))

qingjiaCount++; preNode = curNode; }

cout

cout>k; if(k) {

cout

break;

default:

cout

cout>k; if(k) {

cout

break;

} } }

return 0; return 0;

}

2.5 测试 输入学生信息

录入学生信息

查询学生信息

修改学生信息

统计学生信息

3 总结

本次实验是我上大学以来做的第二个课程设计,虽然平时也做过许多的实

验,但是题目刚拿到手时仍然是手足无措,不知从何下手,首先面对的是编写程序的问题,面向对象的程序设计思想是我们这学期C++课程的主要内容,但我的底子薄,掌握的不是很好,所以运用起来有些困难;其次是以前没做过课程设计,有关课程设计方面的一些问题,例如,课程设计都包括哪些内容,需要写些什么,我都不是非常清楚。后来在老师、同学以及班导的帮助下,才对此有了一定的了解,有了属于自己的看法,不过程序编写过程中我也遇到了许多的麻烦,例如链表的使用,是上个学期最后的内容,不是很熟悉,经过反复的看书,终于得到了解决!

这次的课程设计是我真正发现在课堂上听懂是一回事,而当自己真正动手做时又是另外一回事。虽然最后问题都得到的解决,但未能实现保存文件,没能达到老师的要求,这也是本次课程设计的不足之处。

通过本次的课程设计,使我能够进一步掌握用程序设计语言解决实际问题的方法,在操作当中把所学到的用于实际的编程里去。使我能够提高分析问题、查阅资料、吸收新知识的能力,在分析解决问题时比以前有了很大的进步,一些常用的知识和一些常规的错误都能够解决。我认为实践周的程序设计是给我们学习的一个大好机会,使我们在这样的机会里学到了一定的知识,毕竟理论要通过实践来锻炼,也只有自己参与了这样的一个锻炼,才能更好的发现自己的不足并加以改进和完善!我清楚的认识到自己在这方面的不足之处,在这方面可以说欠缺的知识还很多很多,不能编出完全符合要求的程序。在以后的学习中我会更加努力,争取能编出更加符合要求的程序,给自己的课程设计交上一份满意的答卷,也给自己一点小小的信心!


相关文章

  • 学生信息管理系统(文档模板供参考)
  • 江西理工大学应用科学学院信息工程 系课程设计说明书 课程名称: 课题名称: 数据库原理与技术 学生信息管理系统 指导老师评语: 得分: 目 录 1 系统概述 ......................................... ...查看


  • 过程控制课程设计题目
  • 指导教师 李世涛 一.设计题目 1.单容水箱液位定制控制系统 二.设计目的 1)了解系统的工作原理. 2)通过课程设计培养学生自学能力和分析问题.解决问题的能力. 3)通过设计使学生具有一定的计算能力.制图能力以及查阅手册.使用国家技术标准 ...查看


  • 教务管理系统 - 软件需求分析
  • 软件需求分析报告 教务管理系统 学生姓名 __ __ 学 号 专业班级 院 (系) 指导教师 完成时间 成 绩 前 言 项目小组分工: 需求分析.文档的整理及后期的功能测试. 教务管理系统的建模实现. 伴随着高校信息化建设的日益完善,高等学 ...查看


  • 14-概要设计说明书模板
  • 文档编号:_____2_______ 保密级别:______1______ 学生信息管理概要设计说明书 版 本 号: 1 编 写 者:***,***,*** 学生信息管理概要设计说明书 目 录 目 录 1引言................ ...查看


  • 教室管理系统 1
  • 目录 一.序言................................................................................................................. ...查看


  • 软件需求分析说明书
  • 学生信息管理系统 需求分析说明书 1.引言 1.1编写目的 确定学生信息管理系统功能的有效性需求:以供本系统的开发人员参考. 1.2项目背景 开发软件名称:学生信息管理系统. 用户:教学办公室 项目和其他软件:系统的关系. 本项目采用客户机 ...查看


  • 成绩管理系统软件需求规格说明书
  • 软件开发方向 "成绩管理系统"软件需求规约 --教育集团 修订历史记录 目录 1 引言................................................................... ...查看


  • 选课系统设计说明书
  • 学生选课管理系统 目 录 一. 引言.............................................................. 错误!未定义书签. 1.1背景........................ ...查看


  • 网上实验室系统设计说明书
  • 网上实验室预约系统 (Online Laboratory Booking System) 系统设计说明书 Xx 项目小组 修订表 审批记录 1. 引言 ............................................ ...查看


  • 太原理工大学毕业设计题目及任务书
  • 毕业设计(论文)任务书-1 设计(论文)题目:温度调节仪表设计(液晶显示) 题目性质:一般设计 指导教师:牛昱光 毕业设计(论文)要求及原始数据(资料): 本题目属单片机应用开发类型.选题学生需自行购置一款带有液晶显示模块的单片机开发板和测 ...查看


热门内容