




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.net技术基础课程设计 (论文)项目名称:计算机二级考试培训班报名模块 学号姓名: 专业班级: 计算机科学与技术08802 指导教师: 完成日期: 2010年12月24日 22目 录一、系统需求分析1二、系统设计22.1、系统功能分析22.2、系统流程图3三、数据库设计5四、详细设计74.1、主窗体设计74.2、注册窗体设计84.3、登录窗体94.4、管理员管理窗体设计13五、总结20六、致谢22七、参考文献23一、系统需求分析 “计算机二级考试培训班报名模型”是以报名为主,宣传和文件管理为辅的一个项目。由此,我们可以推断出它的大致要求:(1)由于项目使用对象较多,因此需要较好的权限管理;(2)原始数据要修改方便;(3)便捷的数据查询;(4)在相应的权限下,删除数据简单,数据稳定性较好;(5)网页框架合理,方便用户便捷浏览。二、系统设计2.1、系统功能分析系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。此项目中有三种权限选择:a、普通成员;b、学员;c、管理员。其中普通成员是由注册页面生成的,其权限最低,信息最为简单,因此单独存放在一个数据表结构中;学员权限是由管理员从普通成员中进行信息补充后,转入另一个数据表结构中生成的,此权限为已经报名的成员享有;管理员权限是建立数据库,进行数据初步填充的时候直接固定下来的,在项目中没有对该权限进行信息修改操作的环境。该项目需要完成的功能有:成员登陆:普通成员由于信息简单,未生成id,因此由其注册的用户名直接进行登陆;而学员和管理员都是用其数字id账号登陆。这导致了两个用户群的登陆界面差异。成员权限识别:在登陆的时候,如果是管理员,则直接跳转到管理员管理界面,如果是普通成员或者学员,则直接在登陆界面下方的panel容器中显示其具体信息。成员信息管理:成员信息管理包括成员查询、成员删除、成员信息修改、普通成员权限提升等方面。这些功能都是在管理员管理界面中集中操作。对上述各功能进行集中、分块、按照结构化程序设计的要求。图2-1项目功能模块图2.2、系统流程图系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。图2-2系统流程图三、数据库设计本项目的数据库中包含三个用户表,分别为普通成员表:pre_member表、管理员和学员表:member表和班级表:class表。图3-1报名系统数据库流程图用户信息管理系统数据库中各个表格的设计结果如下面的几个表所示。每个表表示在据库中的一个数据表。图3-2普通成员信息表pre_member表 普通成员信息表包括name和password数据项,分别存放用户名和密码。当注册时,注册成功的信息将存放在此表中,权限都为普通成员权限。并且,在权限提升的时候,初始数据将来源于此表。图3-3学员和管理员信息表member表 学员和管理员信息表包括id、name、password、tel、fee、book、class、和pre_teacher共8个数据项,其中id为主键,分别存放数字id账号、用户名、密码、电话号码、培训费缴费与否(为1时代表已缴,为0时代表未缴)、教材费缴费与否(为1时代表已缴,为0时代表未缴)、班级号、前任老师。id账号前两位为10时代表学员权限,为50时代表管理员权限。图3-4班级表class表 班级表包括tept、p_fee、book_fee、teacher、class共五个数据项,其中class为主键,分别存放系别名、培训费、教材费、任课老师、班级号。此表为member表的拓展表,可以减少member表的冗余度。该表的信息为固定的,任何成员不得修改。四、详细设计4.1、主窗体设计本窗体为主窗体,id为main_form。本窗体主要由四个button按钮和两个label框组成,分别为链接注册窗体的注册按钮、链接登录窗体的登录按钮、链接网页浏览但是实际未启用的非登录浏览按钮、窗体退出功能实现的退出按钮、显示窗体总标题的label框和显示现在时间的label框。由于本窗体为主窗体,因此我设计得尽量简洁,并将按钮和背景相合,尽量使两者之间的存在不发生视觉冲突。且在本窗体中,登录按钮的index值最小为0,因此登录按钮为第一启动按钮。图4-1主窗体效果截图 4.2、注册窗体设计本窗体生成由主窗体的注册按钮的单击事件发生,id为register_form。由于本项目设计时,就计划好只支持普通成员注册,学员的权限生成由管理员对普通成员的信息补充操作进行,因此本注册窗口的信息输入就变得很少,所实现功能中,大多为注册信息验证。本窗体中,提交按钮的功能为将信息验证一遍,若有不合规则的,则提示相应错误提示,无错误之后,将信息提交给数据库的pre_member表中,并关闭本窗口;清空选项按钮的功能为清空窗体中三个textbox的text属性值;取消按钮的功能为关闭当前窗口。图4-2注册窗体效果截图4.3、登录窗体本窗口为注册窗体,id为login_form。由于本项目中用户群体因数据库表的结构而被分为两个群体:普通用户群体与学员和管理员群体,所以,两个群体登录的方式有所不同。故,本项目在登陆界面上安排了两个按钮,用以对用户群体的认证,并对窗体控件的部分属性进行修改,其效果分别如图4.3.1和图4.3.2所示。而在窗体下方的登录按钮点击后,立马先与相对应的表进行数据验证。取消按钮点击后,关闭当前窗体。图4-3学员或管理员登录界面效果截图图4-4普通成员登录界面效果截图在登陆按钮的点击事件触发时,课分为两种情况:a、当权限为管理员时,窗体跳转到管理员管理界面,当前窗体隐藏;b、当权限为普通成员或者学员的时候,触发登录界面下的panel容器hide属性为false,呈显现状态,并对该窗体的大小进行y轴方向拉长,使得panel容器出现在窗体中,并将普通成员或者学员的信息输出在panel容器中。当权限为普通成员的时候,效果如图4.3.3所示;当权限为学员的时候,效果如图4.3.4所示。图4-5普通用户登录成功效果截图 由于普通成员的属性值不足以填满整个panel容器中控件,则把其余的所有控件text属性值清空。又由于此处是查询,并不作修改操作,故容器中所有控件(注销按钮除外)的visible属性或enable属性值为false。图4-6学员登录成功效果截图由于设计时认为一次只可以登录一个人,故在用户登录后,若是管理员的话,登陆界面会隐藏起来,若是普通成员或者学员的时候,原登录界面的所有控件visible属性为false,呈灰色状态,使整个界面呈不可登录状态,起到限制登录的效果。同时,与之对应的,在panel容器中加入一个注销按钮相应。注销按钮的单击事件为将panel容器隐藏,窗体大小y轴方向缩短,并恢复原登录界面控件的visible属性值,并将输入密码的textbox的text属性值清空,使整个界面呈可登录状态。这样便实现了一次只可以登录一个人的目的。4.4、管理员管理窗体设计本窗体为管理员窗体,id为member_form。本窗体的主界面包括一个menutrip控件、两个datagridview控件、六个button控件和一个label控件,初始效果如图4.4.1所示。图4-7管理员窗体初始效果截图在单击成员查询按钮时,会将两个datagridview控件中的显示member表信息的dgvmember隐藏属性呈显示状态,显示pre_member表信息的dgvpre_member隐藏属性呈隐藏状态,并刷新一次datagridview控件中显示的内容。成员删除按钮时直接删除右侧datagridview中所显示的数据项中被选中的一项,并刷新一次datagridview控件中显示的内容。信息修改按钮在单击后,窗体在y轴方向拉长,被隐藏在窗体下方的panel容器2隐藏属性呈显示状态,并将datagridview控件中被选中项的具体信息输出于其中。权限修改按钮的作用与成员查询按钮的恰恰相反。退出按钮的作用为关闭当前窗体。上述的五个button被放置在panel容器1中。图4-8 panel容器2在单击dgvmember数据项后效果截图panel容器1下方的label框加入了timer控件,用以显示当前具体的日期时间。而datagridview控件下方的打开按钮的功能只是单纯的对panel容器显示与否的控制:在初始时,panel容器呈隐藏状态,按钮置于600*450大小窗体的右下角,text属性为打开;当单击此按钮,或触发panel容器呈显示状态时,打开按钮会下移到已经拉伸到600*600大小的窗体的右下角,text属性为关闭;当再次单击此按钮时,此按钮恢复原态,其效果如图4.4.1和图4.4.2所示。当点击权限提升按钮,导致dgvpre_member呈显示状态后,单击其中数据项后的效果如图4.4.3所示。图4-9 panel容器2在单击dgvpre_member数据项后效果截图在panel容器2中,我们可以对选中数据项信息进行一定的修改,在点击修改按钮后,将提交数据给数据库表中。若此时所提交的数据原先属于pre_member表中时,程序会作权限提升处理,将该数据项完善后的数据插入到member表中,原表中数据不变,也就是说该用户拥有了两个身份:普通成员身份和学员身份。修改操作完成时,对datagridview中内容进行刷新,修改按钮单击事件核心代码如下:private void btnupdateget_click(object sender, eventargs e) bool dgvvisible = dgvmember.visible; if (dgvvisible = true) int m_member_form = 0, n_member_form = 0; if (combobook.text = 已缴) m_member_form = 1; else if (combobook.text = 未缴) m_member_form = 0; else messagebox.show(请对培训费缴费与否选项进行正确选择!); if (combofee.text = 已缴) n_member_form = 1; else if (combofee.text = 未缴) n_member_form = 0; else messagebox.show(请对书本费缴费与否选项进行正确选择!); string sql = string.format(update member set tel=0,fee=1,book=2,class=3,pre_teacher=4where id=5, txttel.text.trim(), m_member_form, n_member_form, comboclass.text.trim(), textbox4.text.trim(), txtid.text.trim(); sqlcommand cmd = new sqlcommand(sql, dbhelper.connection); dbhelper.connection.open(); int count = cmd.executenonquery(); dbhelper.connection.close(); if (count 0) messagebox.show(恭喜您,修改成功!); this.membertableadapter.fill(_sience_examdataset.member); else messagebox.show(对不起,修改失败!); else if (txtid.text = ) messagebox.show(请将id账号正确输入!); int m_member_form = 0, n_member_form = 0; if (combobook.text = 已缴) m_member_form = 1; else if (combobook.text = 未缴) m_member_form = 0; else messagebox.show(请对培训费缴费与否选项进行正确选择!); if (combofee.text = 已缴) n_member_form = 1; else if (combofee.text = 未缴) n_member_form = 0; else messagebox.show(请对书本费缴费与否选项进行正确选择!); string sql = string.format(insert into member values(0,1,2,3,4,5,6,7), int.parse(txtid.text.trim(), txtname.text.trim(), dgvpre_member.selectedrows0.cells1.value.tostring(), txttel.text.trim(), m_member_form, n_member_form, comboclass.text.trim(), textbox4.text.trim(); sqlcommand cmd = new sqlcommand(sql, dbhelper.connection); dbhelper.connection.open(); int count = cmd.executenonquery(); dbhelper.connection.close(); if (count 0) messagebox.show(恭喜您,权限提升成功!); else messagebox.show(对不起,权限提升失败!); 我觉得这样两个表中都存在一个人的数据信息在此项目中不会出现什么冲突,故不作删除操作。 在菜单栏中,成员管理中的选项与其下方panel容器1中五个按钮的触发事件一致;网站管理中的功能本来是连接水晶报表和网页浏览的,但是由于水平问题,暂未实现;其后的帮助选项内有关于选项,单击后,弹出窗体如图4.4.4所示,显示的为此版本问题,制作一个玩笑罢了;至于其后的退出选项,效果与退出按钮无二。图4-10关于选项弹出窗体效果截图五、总结回顾该系统从选题,到调研、需求分析、设计、编码实现、测试等,论文的撰写,这系列连贯的过程,感想颇多,收获也很多。大致的总结几点,如下:1设计开发一个软件,首先要了解所涉及到行业的现状,一定要想办法进行行业调研,从不同途径获取该行业的专业知识。合理安排系统设计开发时间,进行实际开发会发现需求分析与系统设计占主要的时间,如果前面的工作做好了,编码实现占用的时间很短。所以我们要借助软件工程的思想-对软件开发过程进行控制。2. 在开发一个系统时,前期的分析准备工作非常的重要。对于系统的需求要明确,这样才能做到有的放矢。特别是对于系统中数据的存储和重要算法的设计,设计的不好会出现大量的冗余,不仅浪费存储空间,还影响查询效率。3.在设计的初期,对一个功能模块的设计,要想出两种或两种以上方案,这样可以进行比较,从而获得更佳的设计方案,设计开发过程中一定要吸取经验教训,避免返工。尤其是一些重要算法或功能。在对具体实现功能模块进行编程时,要养成良好的加注释的习惯,这样的话不仅能理清思路,而且可以为以后的调试程序带来很大的方便。5. 懂得充分利用网络资源,因为实地调研的时间是非常有限的,所以需求分析中大部分分析结构都是在我阅读专业书籍,网络资料后得出的。由于在外面工作以及其他原因,我无法借到专业书籍,只好在浩瀚的网络中寻找我所需要的资料,这无形当中培养了我通过网络获取资料信息的能力。由于本人是初次开发系统,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。谨请老师提出宝贵的意见。六、致谢在这里我应该首先感谢培养我的学校,特别是计算机科学与技术系的全体领导和老师们,感谢他们在四年的大学生活、学习中对我的教育、指导和关心,使我能顺利的完成四年的大学学习七、参考文献1 孙三才,许熏伊.精通c#与asp.net程序设计m.北京:中国铁道出版社,2003:37-46 2 华国栋,刘文予.基于ado.net的数据库访问及其性能优化j.电脑知识与技术学术交流,2007(09):20-213 朱印红,苏振巍. asp.net+sql serve网站模块化开发全程实录. 北京:清华大学出版社,2009.74 常永英.asp.net程序设计教程:c#版.北京:机械工业出版社,2009.9.论文成绩评定综合成绩评定: (百分制)论 文 等 级: 指导教师签字: 检 查 时 间: 08本.net技术基础课程设计网站验收情况记载表系 别: 计算机系 课程名称:.net技术基础课程设计学生姓名: 徐聪 指导教师: 张海燕 提出的主要问题与学生回答问题情况一、教师提出的问题及学生的回答(不少于3个问题)1、数据库组成情况?答:数据库中包括三个表:注册用户存储表pre_member表、学员和管理员表member表和班级表class表。三个表中,刚注册的用户只能放在pre_member表中,信息只包括用户名和密码;在member表中事先录入了管理员信息,在管理员对pre_member表中成员进行权限提升
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年林业碳汇行业当前发展现状及增长策略研究报告
- 收纳与劳动课件
- 操作工安全知识培训课件
- 2025年药物临床试验GCP专项测试题附答案
- 2025年消防人员岗位职业救援安全基础知识考试题与答案
- 2025消防安全知识考试题附答案
- 2024年事业单位招聘考试公共基础知识试题及答案1
- 2024年二建《市政实务》考试真题及答案
- 2025年注册安全工程师法规、管理、技术、实务真题及答案
- 2025国家公务员考试行测题库(附答案)
- 2024-2025学年度人教版物理八年级下册期末综合检测题(含答案)
- 业务协同与合并抵销报表方案汇报v1.9
- 漆膜铅笔硬度培训
- 2025-2030年中国少儿英语培训市场发展状况及投资前景规划研究报告
- 常用公文写作规范培训
- 系统性硬化症个案护理
- 矿山用电安全培训课件
- 宁德新能源verify测试题库
- 乡镇道路清扫合同范例
- 治安管理处罚法课件
- 2024年全国职业院校技能大赛中职组(母婴照护赛项)考试题库(含答案)
评论
0/150
提交评论