随机点名系统(软件需求说明书)
- 格式:doc
- 大小:110.50 KB
- 文档页数:9
点名系统项目背景在高校的教学管理中,点名也是很普通的事情,学生的出勤情况,以及平时上课是回答问题的情况,都要有记录,以作为学生的平时成绩,在期末考评的时候是一项重要指标,利用计算机辅助,做出一个点名系统的程序,将老师上课时需要用到的程序都做出来,将给老师上课及平时给学生评分带来方便。
我国高校都实行了学分制,平时成绩作为一项重要参考被录入期末考试中,这样子即使学生一次考试失误也不会造成学生的的得分不公平。
在这里,学生上课时的制约因素比较复杂,记录学生平时成绩的工作量也很大,而且往往期末考试时再计算学生的平时成绩,需要的时间也比较多。
运用计算机辅助上课点名及记录平时上课的出勤情况还有回答问题的情况,即能实时地对大量学生平时成绩的数据进行检验和统计,十分方便地输出平时结果,同时也避免了人工处理时容易产生的错误。
利用计算机辅助进行上课点名工作,既提高了点名的科学性,又可大大减轻管理老师统计的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
系统建模需求模型建立一个模型 ,需求分析是第一步 ,首先对点名系统系统需求进行分析 ,识别系统的用户和相关外部系统 ,以确定系统的角色,它可以帮助界定软件系统的边界 ,引导和发掘用户需求;其次再依据系统功能来确立系统的用例模型。
功能需求分析本系统的需求分析说明大致如下:登录系统、点名子系统、成绩统计、报表打印等;系统管理员输入相应信息,权限分配;任课教师可以录入成绩、修改成绩、学分统计、查询成绩、报表打印等;学生查询本人成绩、学分统计。
系统的角色可以分为3个: 系统管理员、任课教师、学生。
三种不同的用户所具有的操作权限以及操作内容均不一样。
系统管理员只负责向系统中添加学生和教师的个人信息以及班级课程信息。
系统管理员不参与点名记分过程等,一切由教师上课自行完成。
教师用户登录系统后可以输入上课信息和点名方式,从而选择学生名单,然后点名或者提问,给与分数,记录成绩,还可以查询查询自己学生的平时成绩情况。
姓名__________ 指导教师___尹航___年月日沈阳航空工业学院课程设计任务书电子工程系电子信息工程专业84020103班学号2008040201106一、课程设计题目:教师上课随机点名二、课程设计工作自2009年9月7日起至2009年9月11日止三、课程设计内容:用C语言编写软件完成以下任务:教师在每次上课时,需要对学生点名提问。
学生信息应事先保存到文件file20.txt 中。
学生共有7人,名单如下:101 杜永宁N 102 段楠N 103 冯红N 104 郝苇N 105 胡龙N106 李南N 107 刘盈N所谓点名,是指将某位同学的姓名和学号打印到屏幕上,则表示该同学是否缺席。
四、课程设计要求:1.程序质量:●贯彻结构化的程序设计思想。
●用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
●用户界面中的菜单至少应包括“开始点名”、“信息统计”、“学生信息添加”、“退出”4项。
●代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2.课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容如下:●课程设计任务书●程序设计题目●需求分析(分析题目的要求)●程序框图●核心技术的实现方法及程序源代码及注释●个人总结●[参考资料]五、指导教师:学生签名:六、成绩:七、教师评语:_目录一、需求分析 (2)二、程序流程图 (3)三、核心技术的实法现方 (8)四、个人总结 (13)五、参考文献 (14)六、源程序 (14)一、需求分析此程序是为点名而设计,经分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,显示点名情况模块,随机算法模块。
1、程序界面设计模块主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;2、文件读写模块实现的功能是对file20.txt文件数据的读取和存储,将文件中的数据保存到结构体student 中,并将点名次数通过save函数保存到文件中;3、显示点名情况模块按照题目的要求将数据文件中所有学生的学号、姓名、是否缺席打印到屏幕上;4、点名算法模块通过调用自定义函数open()和rew()实现点名,并将被点到的学号、姓名、是否缺席打印到屏幕上;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
源程序
【
hy
】
注:
1.运行该点名系统前务必将所有.m/.fig/.asv/.mat文件放于当前运行的matlab工作目录中。
2.本系统在matlab2010b环境下编写的,因此建议在matlab2010b及以上版本运行,以免出现兼容问题。
3.为了避免计算机伪随机现象,系统内设置了clock函数来解决这个问题。
每次每位同学被点到的概率理论上是相等的。
也因为每次点名的独立性,相邻两次或多次点到同一同学的情况也是时常发生的。
下面是部分运行结果:
1.在command widow窗口输入源程序【hy】:
2.点击“点击进入”,进入选择界面:
3.选择班级或随机后进入点名界面:
4.点击“点名/继续点名”实现点名。
点名界面由两个text和三个pushbutton控件组成,两个text分别显示当前点名情况和最初被点名同学的列表。
三个pushbutton分别实现点名/继续点名、换班级和推出系统的功能。
C#课堂随机点名系统题目:课堂随机点名系统班级:姓名:学号:指导教师 :朱新峰成绩:2021年12月一、任务描述本次任务要求完成一个课堂随机点名系统。
具体内容为:教师在每次上课时,有时需要叫学生起来答复下列问题,为了公平起见,使每个学生被叫起来答复下列问题的概率相同,故采用 c#来编写一个随机点名系统。
具体要求如下:〔一〕完成一个点名系统界面的设计,具体设计如下:1.安置一个“开始〞按钮,当按下“开始〞按钮时,按钮上面的字显示为“停止〞,并且开始在界面上随机抽取数字。
2.安置一个“被点名单〞按钮,可以查看已经被点过的学生的学号以及被点次数。
3.添加两个标签,分别在上面显示“欢送进入点名系统〞和抽取的随机数字。
4. 添加一个listbox用来存放已经被点过的学生的学号以及被点次数。
5.安置一个“去除〞按钮,用来去除 listbox 中的数据。
6.安置一个“保存被点名单〞按钮,保存本次点名的数据。
〔二〕该点名系统能够实现随机点名,并且当一个学生被点次数超过三次时,会提醒老师重新点名。
〔三〕能将本节课点名的情况记录到文件中,有利于老师下课后查看分析学生上课答复下列问题的情况并且有利于老师下节课点其他未被点过的学生。
二、系统概要设计〔一〕模块整体设计图课堂随机点名系统界点保面存设被计名点名单记被抽录点随被三机点次取名后学单提号醒〔二〕模块功能介绍1.窗体类〔1〕窗体事件 Form1()功能:对各变量进行初始化〔2〕开始按钮事件 button1_Click(object sender, EventArgs e)功能:进行随机点名,将点到的学号和被点次数写入 listbox ,并在某学号点到三次后提醒老师〔3〕定时器事件 timer1_Tick(object sender, EventArgs e)功能:产生随机学号并将数据在界面上显示出来〔4〕被点名单按钮事件button2_Click(object sender, EventArgs e)功能:显示和隐藏listbox〔5〕去除按钮事件 button3_Click(object sender, EventArgs e)功能:去除 listbox 中的内容〔6〕保存被点名单事件button4_Click(object sender, EventArgs e)功能:将被点名单写入文件并记录点名时间2.写文件类〔1〕写文件函数 WriteData(string filestr,string st)功能:将点到的学号和被点次数写入文件三、系统详细设计〔一〕数据结构设计1.本系统采用文件保存点到的学号及其被点次数2.定义全局变量 n , num以及名为 count 的数组分别用来存放班级人数,产生的随机学号以及每个学号被点次数〔二〕模块接口设计:1.各类的原型为:public partial class Form1 : Form/*窗体类*/public class FileWrite/* 写文件类 */2. 各事件原型为:public Form1()/* 窗体事件 */private void button1_Click(object sender, EventArgs e)/*“开始〞按钮事件*/ timer1_Tick(object sender, EventArgs e)/* 定时器事件 */private void button2_Click(object sender, EventArgs e)/*“被点名单〞按钮事件*/ private void button3_Click(object sender, EventArgs e)/* “保存被点名单〞按钮事件*/ public static void WriteData(string filestr,string st)/*写文件函数 */四、系统实现1.界面设计2.点名界面3.开始点名4.显示被点名单5.文档数据6.提醒界面五、系统调试在做这个系统的时候,由于对 C#的语法不太了解,所以即使是这样一个简单的系统,还是花了我一个星期的时间,并且还有许多不完善的地方。
沈阳航空航天大学课程设计任务书学院:航空宇航工程学院专业:航空维修班级:04030501 学号:2010040305004 题目:教师上课随机点名一、课程设计时间2011年3月12日~18日(第2周),共计1周。
二、课程设计内容教师在每次上课时,需要对学生随机点名,学生信息保存到文本文件或access 数据库中,学生信息至少包括:学号,姓名,点名次数(初始值为0)。
所谓点名,是指将某位同学的姓名和学号显示到屏幕上,则表示该同学被点名一次,并累加点名次数,注意点名的随机性(可使用随机函数)。
用户界面中的菜单至少包括“编辑学生数据”,“开始点名”,“查询学生点名情况”,“退出”4项。
三、课程设计要求程序质量:✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧用户界面中的菜单至少应包括“编辑学生数据”、“开始点名”、“查询学生点名情况”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录需求分析 (4)设计分析 (4)技术要点 (5)主要界面截图 (9)图(一)学生点名系统主界面 (9)总结 (10)参考文献 (14)需求分析教师在每次上课时,需要对学生随机点名,学生信息保存到文本文件或access数据库中,学生信息至少包括:学号,姓名,点名次数(初始值为0)。
1.运用随机函数从数据库中提取学生的数据。
2.对学生的点名情况进行查询,并在用户界面中显示。
3.对学生的学号和姓名等信息进行编辑,并添加到数据库中。
设计分析(1)概述:通过使用ADO控件建立程序设计与数据库的联系,用SQL语句在数据库中查找,添加和更改数据,运用随机函数,随机地提取学生的数据,体现点名的随机性。
C#随机点名系统设计报告班级: 软件1202*名:**学号: *********2013 年12 月一、设计描述:此系统为课堂随机点名系统:采用了windows窗体界面设计创建了此系统。
系统功能包括:1、从已设置的学号文本信息文件中随机抽取一个学号。
2、记录某一个学号被点名信息。
3、显示当前被点学号的被点信息,以及所有同学被点信息。
4、每一个同学最多被点三次,当被点次数超过3时,显示警告窗口,提示用户重新点名。
二、系统详细设计——控件选取:1、listBox1:用来存放及显示所有同学被点信息。
2、Button1:就是开始点名按钮,用来控制随机抽数,当点下开始按钮,其会变成停止按钮,按下停止按钮,显示最终被点学号。
3、Button2:就是用来显示当前被点同学的被点情况。
4、Button3:就是重置按钮,用来清除listBox1中的数据信息。
5、Button4:就是显示listBox1中记录的所有同学被点情况。
6、timer1:用来控制抽取过程中数据在空白处闪动。
7、label1:用来显示被点学号。
三、系统详细设计——代码实现:using System;using System.IO;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;using System.Timers;namespace点名系统{public partial class Form1 : Form{bool first_click = true; //初始化int x;int[] c = new int[31];String num;Random r = new Random();ArrayList content = new ArrayList();ArrayList result = new ArrayList();public Form1(){InitializeComponent();timer1.Interval = 10;timer1.Stop();} //初始化 endprivate void textBox1_TextChanged(object sender, EventArgs e){}private void pictureBox1_Click(object sender, EventArgs e){}private void timer1_Tick(object sender, EventArgs e) //timer1:控制随机点名,在已创建的文件中,随机读取相关学号信息{FileStream fs1 = new FileStream(@"D:/2.txt", FileMode.Open);StreamReader sr = new StreamReader(fs1);string str1 = sr.ReadToEnd();sr.Close(); fs1.Close();string[] strQ = str1.Split('\n');Random rdn = new Random();int index = rdn.Next(0, strQ.Length);x = index;num = strQ[index];label1.Text = strQ[index];} //timer endprivate void button1_Click(object sender, EventArgs e) //button1:开始点名按钮,用来控制timer1的运行,以及提示警告{first_click = !first_click;if (!first_click){timer1.Start();button1.Text = "停止";}else{timer1.Stop();button1.Text = "开始";c[x]++;if (c[x] > 3)MessageBox.Show("该同学已被点过 3 次,请重新点名"); //警告提示。
课堂随机点名pptxcontents •课堂随机点名系统介绍•随机点名方式与方法•学生信息管理模块•点名结果展示模块•系统设置与优化建议•总结回顾与展望未来目录课堂随机点名系统介绍目的与意义提高课堂互动性通过随机点名方式,让学生更加专注于课堂,增加课堂互动和参与感。
公平公正避免老师主观选择学生回答问题,确保每个学生都有平等的机会被点名。
实时反馈老师可以及时了解学生的掌握情况,根据学生的回答调整教学进度和策略。
系统功能与特点01020304随机点名自定义设置数据统计界面友好适用场景及范围课堂教学小组讨论会议发言其他场景随机点名方式与方法时间消耗大公平性不足互动性差030201传统点名方式局限性随机点名算法原理及实现随机数生成名单数据导入算法实现操作流程与注意事项操作流程注意事项学生信息管理模块编辑学生信息录入学生基本信息支持对学生信息进行修改、删除和更新操作,确保信息的准确性和完整性。
验证学生信息检索学生信息支持模糊查询和精确查询两种方式,可根据需求灵活选择。
查询学生信息提供按姓名、学号、班级等多种查询条件,快速定位到目标学生信息。
筛选学生信息结合查询条件,对学生信息进行筛选和过滤,提高查询效率和准确性。
导出学生信息01备份学生信息02恢复学生信息03点名结果展示模块点名结果实时更新机制实时更新点名数据每当教师发起点名操作,系统都会实时更新点名结果,确保数据的准确性和时效性。
动态展示已点名学生在展示界面上,已点名的学生会以动态的方式呈现,如闪烁、变色等,以便教师快速识别。
自动记录点名时间系统会自动记录每次点名的时间,方便后续查询和统计。
点名结果可视化展示效果清晰展示学生信息多种展示模式切换自定义展示内容1 2 3导出点名数据分享点名结果权限控制与安全保障点名结果导出与分享功能系统设置与优化建议系统参数配置选项说明点名方式设置学生名单导入点名结果显示界面风格及布局调整建议界面风格选择布局自定义字体和颜色设置性能优化及安全性考虑程序响应速度优化安全性保障异常处理机制总结回顾与展望未来本次课程重点内容回顾知识点梳理案例分析互动环节回顾学员心得体会分享环节学员感悟疑难解答经验分享下一讲内容简介预备知识提示学习资料准备简要介绍下一讲的主题、内容及学习目标,激发学员学习兴趣。
python写⼀个随机点名软件的实例最近有个随机点名软件的需求,故写了⼀个,上代码:# -*- coding: utf-8 -*-# @Time : 18-12-31 下午4:21# @Author : Felix Wangfrom tkinter import *import tkinter.font as tkFontimport randomimport gcimport os, sysimport chardetimport copyfrom threading import Threadimport timedef resource_path(relative):"""图⽚路径:param relative::return:"""if hasattr(sys, "_MEIPASS"):return os.path.join(sys._MEIPASS, relative)return os.path.join(relative)def center_window(root, width, height):"""中⼼⼤⼩:param root: tk对象:param width::param height::return:"""screenwidth = root.winfo_screenwidth()screenheight = root.winfo_screenheight()size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)root.geometry(size)def clear():lb.delete(0, END)def get_names():names = []name_path = os.path.join(BASE_DIR, 'name.txt')with open(name_path, 'rb') as f:data = f.read()cod = chardet.detect(data)['encoding']if 'gb' in str(cod):cod = 'gbk'for name in data.decode(cod).strip().split('\n'):if name.strip():names.append(name.strip())return namesclass MyThread(Thread):def __init__(self):self.ifdo = Falseself.auto_choise = Falseself.is_auto = -1super().__init__()def run(self):while True:if self.is_auto is True:while self.ifdo:index = random.randint(0, len(names) - 1)echo["text"] = names[index]root.update_idletasks()time.sleep(1 / 23 - 0.003)self.is_auto = -1elif self.is_auto is False:if self.auto_choise:self.auto()self.is_auto = -1time.sleep(0.1)def stop(self):"""⼿动抽奖时点击停⽌按钮时的操作:return:"""if self.is_auto:self.ifdo = Falsebutton2["text"] = '⼿动抽奖'pict['image'] = huaji_gif_name = random.choice(names)echo["text"] = _namelb.insert(END, _name)root.update_idletasks()root.update()for x in locals().keys():del locals()[x]gc.collect()pict['image'] = huaji_gifscrolly.update()def go(self):"""⼿动开始时的停⽌标记:return:"""if self.is_auto == -1:self.is_auto = Trueself.ifdo = Truepict["image"] = huang_gifbutton2["text"] = '点击停⽌'def auto_start(self):"""⾃动开始设置更改标记:return:"""if self.is_auto == -1:self.is_auto = Falseself.auto_choise = Truepict["image"] = huang_gifbutton["text"] = '先别点我'global ft1ft1 = tkFont.Font(family='Fixdsys', size=80, weight=tkFont.BOLD)def auto(self):"""⾃动开始时执⾏的操作:return:"""copy_names = copy.deepcopy(names)ren = int(v.get())for i in range(ren):for a in range(23):index = random.randint(0, len(names) - 1)echo["text"] = random.choice(names)root.update_idletasks()time.sleep(1 / 23 - 0.003)choise_name = copy_names.pop(random.choice(range(len(copy_names)))) echo["text"] = choise_namelb.insert(END, choise_name)if i == ren - 1:pict['image'] = huaji_gifbutton["text"] = '开始抽奖'for a in range(5):root.update()time.sleep(0.06)root.update_idletasks()for x in locals().keys():del locals()[x]gc.collect()scrolly.update()self.auto_choise = Falseflag = Falsedef name2():global flagflag = not flagif flag:tr.go()else:tr.stop()def name():tr.auto_start()try:BASE_DIR = os.path.dirname(os.path.abspath(__file__))names = get_names()root = Tk()root.title("随机抽奖器(by 王以涛)")center_window(root, 570, 160)ft = tkFont.Font(family='Fixdsys', size=40, weight=tkFont.BOLD)ft1 = tkFont.Font(family='Fixdsys', size=80, weight=tkFont.BOLD)echo = Label(root, text='随机抽奖', font=ft, width=8) # 默认显⽰echo.grid(row=1, column=1, columnspan=2)scrolly = Scrollbar(root)scrolly.grid(row=1, column=5, rowspan=2, ipady=30)lb = Listbox(root, yscrollcommand=scrolly.set, exportselection=False, height=6)lb.grid(row=1, column=3, rowspan=2, columnspan=2, pady=0)scrolly['command'] = lb.yview# button = Button(root, text='删除所选名字', command=lambda x=lb: x.delete(ACTIVE))# button.grid(row=3, column=3)button = Button(root, text='删除所有名字', command=clear)button.grid(row=3, column=4)v = StringVar()Scale(root, from_=1, to=len(names), resolution=1, orient=HORIZONTAL, variable=v).grid(row=2, column=1, columnspan=2) # 抽奖时的图⽚data_dir = os.path.join(BASE_DIR, "img")huaji_gif = PhotoImage(file=resource_path(os.path.join(data_dir, 'huaji.gif')))huang_gif = PhotoImage(file=resource_path(os.path.join(data_dir, 'huang.gif')))pict = Label(root, image=huaji_gif)pict.grid(row=1, column=0, rowspan=3)button = Button(root, text='⾃动抽奖', command=name)button.grid(row=3, column=1, columnspan=1)flag = Falsebutton2 = Button(root, text='⼿动抽奖', command=name2)button2.grid(row=3, column=2, columnspan=1)tr = MyThread()tr.setDaemon(True)tr.start()root.mainloop()except Exception as e:print('错误信息', e)time.sleep(60)效果如下:以上这篇python写⼀个随机点名软件的实例就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
C语言课程设计实习报告专业:地球物理与空间信息学院学号:班级序号:姓名:* * *指导教师:张*C语言程序设计报告(实习日期: 2013-12至2014-1)一、C语言课程设计的目的: (3)二、题目:教师上课点名系统 (3)三、总体设计 (4)四、详细设计 (4)1、结构体 (4)2、主函数 (5)3、各功能模块设计 (8)(1)点名模块 (8)(2)次数统计模块 (9)(3)次数清零模块 (10)五、上机操作 (11)1、进入界面 (11)2、进行点名 (12)3、点名次数查询 (13)六、算法和系统的优缺点 (16)七、源程序(附录) (16)一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。
其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
二、题目:教师上课点名系统制作一个自动点名系统使之有以下功能:1、每次选取相应的功能,系统随即抽取一个学生,显示给老师,用做点名。
2、学生名单存在一个文本文件students.txt中。
3、可以使用另一个文本文件,记录学生被点名的次数,或在students.txt文件中加入一个记录学生被点名次数的字段。
4、一般用文本界面显示菜单,自行设计和完成菜单功能,供老师点选,可以考虑动态显示系统选择的过程,最好能设计成图形界面。
5、每个学生被点中的概率和次数尽量一样,不能出现一个学生被点两次了,还有学生没被点中的情况。
三、总体设计根据分析,整个系统可以设计为以下四个部分:四、详细设计1、结构体struct student {int num;char name[20];int time;}std[SIZE]; 上课点名系统读取数据进行点名次数统计次数归零2、主函数主函数的设计用来打开文本文件,并提供数据输入和数据处理以及三个函数的调用,其中各功能模块用菜单方式选择。
教学点名神器——随机点名器3.0随机点名器功能又一大提升,而且之前若干bug均已修复。
修复内容:1.当默认开启的txt文本文件被删除或的文件名被更改或由于某种未知的原因不能访问时,程序不会报错,而是将一些提示信息以学生名导入。
例如:程序默认访问“电科一班.txt”:如果在可执行文件的路径下有“电科一班.txt”文件,则运行正常。
如果在可执行文件的路径下没有找到“电科一班.txt”文件,则运行提示信息。
在这种非正常情况下,如果仍然点击正式记录,则弹出提示帮助信息窗口。
这样,用户在看到提示信息后,会自行修复该问题。
修复2:若读取的文件中存在空行,则程序在读取文件内容的时候会自动删除空行。
现在,我把先前文件名“电科一班121314.txt”修改为“电科一班.txt”,然后在文件内容中加两个空行,如下图所示:程序在运行的时候再也不会出现空姓名。
程序运行一圈后,会给出提示信息。
功能提升:1.可以选择班级,班级内容自定义。
现在,我又新建了一个班级文件“1班.txt”,文件内容如下:现在可以选择班级,我就把“1班.txt”选进来。
一般,“选择班级...”,在程序打开后只会用一次,点击“打开”后,“选择班级...”按钮被隐藏。
2.增加出勤记录,答问记录功能。
若没有点击“正式记录”按钮,抽取信息不会被记录,也没有弹出出勤相关的选择按钮。
功能与旧版一样。
一旦点击正式记录,由于这个记录涉及到学生的平时成绩,因此非常重要,所以弹出是否确定选择对话框。
点击确定后,”正式记录“按钮被隐藏。
再次抽取后,会弹出“缺勤”和“差评”两个选择按钮,并自动在该班级目录下新建一个“班级名+点名记录清单”文本文件。
文本内容自动记录第一次被点到的学生,并创建时间,原创者,班级信息相关信息。
如下所示:若点击差评或缺勤,记录会自动加一,而且,一旦选择之后,该两个按钮即被隐藏,防止误操作。
当然你也可以不行,直接抽下一个人,但选择按钮照样被隐藏,同样该学生的点名信息也会被记录。
《软件工程》课程设计随机点名系统的设计与实现专业:计算机科学与技术班级:软件051、052班学生姓名:杨银玲、温鹏、王东东、韩冀指导教师:***2008 年12 月31 日目录一、随机点名系统需求分析 (6)1、引言 (6)1.1、项目名称 (6)1.2、项目背景和内容概要 (7)1.3、相关资料、缩略语、定义 (7)2、项目概述 (7)2.1、被开发软件一般描述 (7)2.2、被开发软件的功能 (8)2.3、实现语言 (8)3、系统进程 (8)3.1、系统模块图: (8)3.2、系统主要流程: (9)4、数据描述 (12)4.1、原始数据描述 (12)4.2、数据流向图 (12)4.3、数据概念模型和描述 (13)5、功能需求 (14)5.1、功能描述 (14)5.3、处理要求 (14)5.4、输出要求 (15)6、界面要求 (15)6.1、报表格式 (15)6.2、图形要求 (15)6.3、输入输出要求 (15)7、接口要求 (15)7.1、硬件接口 (15)7.2、软件接口 (15)7.3、通讯接口 (15)8、性能要求 (16)8.1、数据精确度 (16)8.2、数据量 (16)8.3、时间特性要求 (16)8.4、灵活性 (16)9、运行环境要求 (16)9.1、网络和硬件设备平台 (16)9.2、操作系统平台 (16)9.4、编程工具 (16)9.5、其他支持软件 (16)二、随机点名系统详细设计 (16)1、引言 (17)1.1、项目名称 (17)1.2、编写目的 (17)1.3、项目背景及内容摘要 (17)1.4、相关资料、缩略词、术语 (17)1.5、参考资料 (17)2、程序结构 (17)2.1、程序结构图 (17)2.2、程序文件清单 (18)3、程序设计说明 (19)3.1、程序功能描述 (19)3.2、输入项与输出项 (19)3.3、主要数据结构 (19)3.4、存取的数据库表和字段 (20)3.5、调用的函数及控件 (20)3.7、测试要点 (21)4、用户界面设计说明 (22)4.1、登录界面 (22)4.2、教师界面 (22)4.3、管理员界面 (24)4.4、学生界面图 (27)三、随机点名系统实现与测试: (28)1、管理员模块中数据的添加、删除、修改的功能测试 (28)2、用户登陆测试 (29)3、随机点名、记录给分功能测试 (30)4、打印功能测试 (30)5、导入导出数据功能测试 (31)四、随机点名系统调试与运行: (32)五、随机点名系统总结: (33)六、附录(相关代码) (33)一、随机点名系统需求分析1、引言在高等院校、职中专、大专学校里,学生考勤是一项日常必要性的工作,学校的各院系需要了解和掌握各班级的学生出勤情况,以加强对学生的教育和管理。
青岛理工大学琴岛学院毕业设计指导书系部:计算机工程系专业: 计算机科学与技术课题名称:随机数字产生器的设计与实现学生姓名:李新新学号: 20090311050 起迄日期: 2012 年 1 月 10 日~ 2011 年 5 月31 日设计地点:指导教师: 张秀国发指导书日期: 2012 年 1 月5日《课堂随机点名系统》毕业设计指导书适用专业:计算机应用技术学分数:8学分学时数:8周一、课题任务教师可以通过本系统查询学生考勤,点名、记录成绩等。
方便教师对自己的每一个学生在期末时统计学生的平时成绩。
本系统操作方便,具有智能化的优点, 本点名系统要求有教师端、学生端以及管理员二个入口,学生端只能通过学生自己的用户名和密码登陆. 对课堂教学进行随机提问,导入照片,并与名字同时显示,操作简单,界面友好。
教师端可以完成对学生的点名,并可以对出勤情况进行统计等功能。
二、课题设计的主要内容、设计步骤和要求(一)主要内容:(1)实现教师在课堂教学中通过照片进行随机提问和点名的功能,并能进行统计。
(2)实现学生进行输入信息,导入照片,进行留言等功能。
(3)管理员完成对教师、学生信息的登录和权限设置管理。
(4)报告中体现出所查阅的资料和设计过程,以及实现方法等。
(二)设计步骤:1.搜集资料,对目前点名系统的实现所使用的方法进行调研。
2.对调研材料进行分析,学习其实现方法,找出完成功能的优缺点。
3.书写系统的需求分析说明书。
4.根据要求画出程序流程图。
5.编写代码6.对系统进行测试。
7.根据设计过程书写设计报告。
(三)设计要求:1.系统的设计过程。
2.给出点名系统的实现方法。
3.根据研究内容的方法和过程所写作的设计报告。
1 刘辛,杨素锦. 通用点名系统的设计及实现[J]. 福建电脑, 2007, (02) .2 亓传伟.计算机点名系统在C#中的实现[J]. 科技信息(学术研究),2008, (21) .3 戴冰.基于Visual FoxPro平台的点名系统的设计[J].装备制造技术,2008,(07) .4 胡强,罗毅. 应用ASP+XML+JavaScript技术开发网络教室电子点名系统[J]. 大众科技, 2007, (03) .5 李香勇,王艳. ActionScript3.0+XML制作课堂随机点名小工具[J]. 科技信息, 2010, (23) .6 翁健红.基于Intraweb技术的WEB点名系统[J].电脑知识与技术, 2005, (36) .7 傅旭东. 优化大学体育课点名法的构想与实践[J]. 漳州职业技术学院学报, 2007, (04) .8 叶军明,杨建华. 课堂教学点名策略举隅[J]. 中国教师, 2008, (S1) .9 杜春斌. 析体育课的点名[J]. 体育师友, 2007, (01) .10 韩静. 教师点名及评价方式对学生焦虑的影响[J]. 科教文汇, 2008.11 亓传伟. 计算机点名系统在C#中的实现[J]. 科技信息(学术研究), 2008,。
1引言 (2)
1.1编写目的 (2)
1.2背景 (2)
1.3定义 (2)
1.4参考资料 (3)
2任务概述 (3)
2.1目标 (3)
2.2用户的特点 (3)
2.3假定与约束 (4)
3需求规定 (4)
3.1对功能的规定 (4)
3.2对性能的规定 (5)
3.2.1精度 (5)
3.2.2时间特性要求 (5)
3.2.3灵活性 (6)
3.3输人输出要求 (6)
3.4数据管理能力要求 (6)
3.5故障处理要求 (7)
3.6其他处理要求 (7)
4运行环境规定 (7)
4.1设备 (7)
4.2支持软件 (7)
4.3接口 (7)
4.4控制 (8)
软件需求说明书
1引言
1.1编写目的
在高等院校、职中专、大专学校里,学生考勤是一项日常必要性的工作,学校的各院系需要了解和掌握各班级的学生出勤情况,以加强对学生的教育和管理。
因而学生考勤是学校一项非常重要的工作。
传统的学生考勤以及平时在课堂上的表现,主要是依靠老师在课堂上点名或学生会抽查点名制度,还有上课提问等。
学生人数多、考勤不全面、数据不准确,特别是点名考勤制耗费了老师和学生大量的时间且起不到太大的效果。
1.2背景
软件系统的名称:随机点名系统
随着社会的发展和信息技术的进步,全球信息化的趋势越来越明显。
几乎没有一个学校不再走信息化的路子,都在用自己的智慧将工作效率一步一步的提升。
在现在的高校中,由于学生的分布式教学,造成了教学管理的非严谨性,使得一些学生产生了逃课旷课的侥幸心理。
所以教师的任务不仅仅是教学,还要同时负担考勤等烦杂的日常事务,这样就会严重影响到教师的授课时间,同时也影响了学生的听课时间。
因此,信息化给这样的一个状况带来了一个契机,基于信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效的处理考勤和课堂提问的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。
因此,开发随机点名系统,来实现相应的需求功能,达到所需目的。
1.3定义
流程图:反映现行系统各机构的业务处理过程和它们之间的业务分工与联系,以及连接
学生,教师和管理员信息流的传递和流通关系,体现现行系统的界限、环境、输
入、输出、处理和数据存储等内容。
功能需求:用以说明系统“做什么”
用户接口:在数据库系统中,数据库管理系统作为用户与数据库的接口,提供了数据库定义、数据库运行、数据库维护和数据安全性、完整性等控制功能。
模块:模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。
系统安全性:是指系统有能力防范意外或人为地破坏信息系统的运行,或非法使用信息资源的能力。
Random-Rollcall System,随机点名系统:是局域网环境下的计算机管理信息系统,其功能主要包括对班级学生进行清点,以及上课时随机提问点名,给出学生回答的分数,记录查询等系统功能。
1.4参考资料
参考资料:《软件工程导论》(第四版)张海藩编著清华大学出版社
《数据库系统概论》萨师煊王珊主编高等教育出版社
《软件文档编写》. 潘孝明辛明海主编. 高等教育出版社
《管理信息系统》陆安生主编,水利水电出版社
《数据库原理与应用基于SQL Server 2000》李春葆曾平主编清华大学出版社
2任务概述
2.1目标
本系统具备较完备的信息管理功能,通过使用本系统,高校教师能够在很短的时间内完成学生的考勤以及上课提问打分任务,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生的评定,又节省了考勤所耗费的时间,使之能够更好的完成教学任务。
通过对高校学生考勤工作流程的具体分析,详细表述了系统的流程图,通过系统的规划,充分体现了信息化在工作中的重要性、及时性和实效性。
2.2用户的特点
随机点名系统一共拥有3种用户,其特点及实现的功能如下:
系统管理员:数据库管理,包括学生信息的增删改。
教师:查看全部学生信息、考勤情况,上课随机点名和提问,并给与相应成绩,打印文档。
学生:查看学生信息、考勤情况,打印文档。
2.3假定与约束
由于系统较小,且在windows系统下开发,故在windows环境下基本没有什么限制。
由于系统针对用户为师生,所以适合范围较广,暂无特殊假定。
3需求规定
3.1对功能的规定
⑴根据教务处提供的学生名单(excel)文件生成数据库(文本文件)
⑵随机抽取学生点名,能够记录下缺席情况
扩展要求:
①、改进随机数的生成方式,点名覆盖率尽量高
②、可以随机点名,也可以整班点名
③、可以作为随机提问使用,记录回答问题的所得分数
④、可以多个班的数据合并一起使用
系统功能的划分如下:
随机点名系统
A.教师登陆
A.1查看学生信息
A.2记录考勤情况
A.3随机点名抽问
A.4评分.打印
B.学生登陆
B.1查看信息
C.管理员登陆
C.1学生信息导入
C.2学生信息添加和删除
C.3学生信息修改
系统结构连接图如下:
图1系统结构连接图
3.2对性能的规定
3.2.1精度
由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
3.2.2时间特性要求
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。
而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
并且在编写代码时注意到了处理时间的问题,有效的避免了死循环以及无效命令。
3.2.3灵活性
该软件是使用ASP在windows xp系统下完成的所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。
而且应用户的特殊需求软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
本系统要求灵活性强,能根据适当情况进行数据更改。
3.3输人输出要求
某些输入类型出现错误,系统会自动给与提示,输出力求简单明了。
⑴输出数据的描述,包括目的地(存储媒体和用途)、数量、度量单位和精度
⑵非法数据的处理:系统在输入数据后及时的给予判断。
⑶指明引用的输出设备接口资料,包括设备型号和数量。
输入输出数据类型如下表:
Student表
表1 Student表
3.4数据管理能力要求
数据的管理包括对源程序的管理与数据库的管理两部分组成,开发此系统需要具备能对源程序与数据库进行数据备份与数据恢复的能力。
3.5故障处理要求
考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的接口即可。
只要操作系统没有大的故障程序一般是比较稳定的。
考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能,这点在数据库软件中已经达到了,只要稍微在其上再增加用户所需要的附加功能即可。
3.6其他处理要求
由于随机点名系统不涉及到局域网的假设问题,用户的保密性比较好,故障处理可以由操作系统完成,数据库可以有效的管理数据的备份与数据的回复,所以在开发此系统时需要兼顾系统的界面处理能力,对于界面要求如下:
报表格式:Excel表格。
图形要求:不能太过花哨,界面追求实用性。
详见详细设计中的界面设计。
4运行环境规定
4.1设备
网络设备平台:无;
硬件设备平台:普通计算机、打印机。
4.2支持软件
操作系统:微软的Windows9X---XP操作系统。
编译(或汇编)程序:PB9.0、SQL Server2000
数据库系统平台:SQL数据库
4.3接口
硬件接口:计算机接打印机接口。
软件接口:PB9.0连SQL Server2000。
通讯接口:无。
4.4控制
运行控制将严格按照各模块间的函数调用关系来实现。
总体控制流程如下:
图2随机点名系统流程图
数据控制概念模型如图所示:
图2数据概念模型
数据控制流向如图所示:
图3数据控制流向图。