软件工程课程设计--高校课表编排子系统
软件工程课程表

软件工程课程表软件工程课程表1.课程概述1.1 课程名称:软件工程1.2 课程编号:SE1011.3 课程学分.3学分1.4 授课教师:教授1.5 上课时间:每周一、周三、周五上午8:00-9.401.6 上课地点:教学楼101室2.课程目标在本课程中,学生将会学习软件工程的基本原理和方法,了解软件开发过程中的需求分析、设计、编码、测试等关键环节,掌握常用的软件开发工具和技术,培养软件工程实践能力和团队合作精神。
3.课程大纲3.1 软件工程概述3.1.1 软件工程定义3.1.2 软件过程模型3.1.3 软件开发生命周期3.2 软件需求分析3.2.1 需求获取与分析3.2.2 需求规约与验证3.2.3 需求管理与变更控制3.3 软件设计3.3.1 软件设计原则3.3.2 结构化设计与面向对象设计 3.3.3 UML建模3.4 软件编码与测试3.4.1 编码规范与质量保证3.4.2 单元测试与集成测试3.4.3 软件测试方法与工具3.5 软件项目管理3.5.1 项目计划与进度管理3.5.2 风险管理与质量管理3.5.3 团队协作与沟通4.课程安排---- 日期 ---- 内容 ----------------------------------------- 第1周 ---- 软件工程概述 -------- 第2周 ---- 需求分析 -------- 第3周 ---- 软件设计 -------- 第4周 ---- 软件编码与测试 -------- 第5周 ---- 软件项目管理 -------- ---- ----5.课程评估方式5.1 平时成绩:占总评成绩的30%,包括课堂参与、作业完成情况等5.2 课程项目:占总评成绩的40%,完成一个小型软件项目5.3 期末考试:占总评成绩的30%6.参考资料6.1 《软件工程导论》6.2 《软件工程原理与实践》6.3 《软件工程教程》附件:1.课程项目要求2.课程作业说明法律名词及注释:1.软件工程:软件工程是指应用科学和数学原理,通过系统化、规范化的方法开发和维护软件的一门工程学科。
软件工程大一课程表

软件工程大一课程表摘要:1.引言2.大一课程概述3.学期课程安排4.课程分类与简介5.课程学习建议6.结语正文:【引言】作为一名软件工程的大一学生,你是否对课程安排感到好奇和困惑?本文将为你详细解析大一课程表,帮助你更好地规划学习生活。
【大一课程概述】大一课程主要涵盖计算机基础、编程语言、数据结构与算法、计算机网络、操作系统等核心知识点。
这些课程将为后续的专业学习打下坚实基础。
【学期课程安排】大一上学期:- 计算机基础- 编程语言(如C++、Java等)- 数据结构与算法入门- 计算机网络基础- 操作系统概述大一下学期:- 数据结构与算法进阶- 数据库原理与应用- 软件工程导论- 计算机图形学- 计算机组成原理【课程分类与简介】1.计算机基础:学习计算机组成、操作系统、计算机体系结构等基本概念。
2.编程语言:掌握一门或多门编程语言,如C++、Java、Python等,培养编程能力。
3.数据结构与算法:学习基本数据结构(如数组、链表、树、图等)及其操作,掌握经典算法(如排序、查找等)。
4.计算机网络:了解网络协议、网络通信原理、网络安全等。
5.操作系统:学习操作系统的基本概念、原理和设计方法。
6.专业课程:如数据库原理、计算机图形学、软件工程等,拓展知识面。
【课程学习建议】1.注重基础知识的学习,打好基本功。
2.动手实践,多编写代码,提高编程能力。
3.学会独立思考,解决实际问题。
4.培养良好的学习习惯,定期复习巩固知识。
【结语】了解大一课程表对于规划学习生涯至关重要。
希望本文能帮助你更好地适应大学生活,迈向成功的道路。
软件工程大一至大四课程表

软件工程大一至大四课程表
【最新版】
目录
1.软件工程专业简介
2.大一课程安排
3.大二课程安排
4.大三课程安排
5.大四课程安排
6.总结
正文
【软件工程专业简介】
软件工程是一门涉及计算机科学、系统工程和项目管理的学科,旨在设计、开发和维护复杂的软件系统。
软件工程师需要具备编程技能、系统分析和设计能力、项目管理能力以及团队协作能力。
软件工程专业是为了培养具备这些能力的专业人才而设立的。
【大一课程安排】
大一课程主要是为了打下坚实的计算机基础,包括计算机基础、数据结构与算法、程序设计语言、计算机网络等课程。
这些课程都是软件工程专业的基础课程,对于后续学习有着重要的影响。
【大二课程安排】
大二课程主要是围绕软件开发流程和软件工程方法展开,包括软件需求分析、软件设计、软件测试、软件项目管理等课程。
这些课程将帮助学生了解软件开发的全过程,并掌握软件工程的基本方法。
【大三课程安排】
大三课程主要是为了进一步提高学生的专业技能,包括软件体系结构、软件开发工具、软件工程实践等课程。
这些课程将帮助学生了解如何设计和构建复杂的软件系统,并掌握使用工具和实践方法进行软件开发的技能。
【大四课程安排】
大四课程主要是为了帮助学生更好地适应职场,包括软件工程案例分析、软件工程管理、软件工程实践等课程。
这些课程将帮助学生了解软件工程在实际工作中的应用,并提高学生的实践能力和管理能力。
【总结】
软件工程专业的课程设置旨在帮助学生打下坚实的计算机基础,掌握软件开发的基本方法和技能,了解软件工程的实践应用,并提高学生的实践能力和管理能力。
软件工程课设教务管理系统

软件工程课设教务管理系统教务管理系统在现代高校中起着至关重要的作用,它能够有效地协调学校各项教务工作,提高办公效率,减轻管理压力。
本文将介绍一个基于软件工程的教务管理系统的设计与实现。
一、系统概述教务管理系统是一个综合的学校管理平台,包括教务管理、学生管理、教师管理等多个功能模块。
系统的设计目标是提供一个高效、安全、可靠的教务管理解决方案,以满足学校日常的各种教务工作需求。
二、系统需求分析在进行系统设计前,首先需要进行系统需求分析。
通过与学校教务管理部门进行深入的交流与调研,我们确定了系统的主要功能需求,包括但不限于:学生信息管理、课程管理、教师管理、选课管理、成绩管理等。
三、系统设计与架构1. 数据库设计教务管理系统的数据基础是学生、教师、课程和成绩等信息,我们需要设计一个合理的数据库来存储这些数据。
数据库需要满足数据的一致性、完整性和安全性要求,同时具备较高的扩展性和性能。
2. 系统模块设计根据需求分析的结果,我们将教务管理系统划分为多个模块,每个模块负责一个具体的功能。
例如学生信息管理模块负责学生的基本信息录入、修改和查询等操作;课程管理模块负责课程的添加、删除和编辑等操作。
3. 系统界面设计系统界面设计需要考虑用户的易用性和友好性。
我们将采用现代化的界面设计风格,结合学校的视觉形象,设计直观、美观的用户界面。
四、系统实现与测试1. 开发工具与技术选型根据系统设计的需求,我们选择合适的开发工具和技术进行系统的实现。
例如使用Java作为后台开发语言,采用Spring框架进行系统的搭建,使用MySQL作为数据库存储。
2. 系统功能实现根据需求分析中确定的各个功能模块,我们逐一实现系统的各项功能。
例如学生信息管理模块需要实现学生信息的增删改查,选课管理模块需要实现课程的选修和退选等功能。
3. 系统测试与调试在系统实现完成后,进行全面的系统测试和调试,确保系统的稳定性和正确性。
测试过程中需要模拟各种使用场景,尽可能发现并纠正系统中的问题。
软件工程大一至大四课程表

软件工程大一至大四课程表
摘要:
一、引言
二、大一课程
1.计算机基础课程
2.编程语言课程
三、大二课程
1.数据结构与算法
2.计算机组成原理
四、大三课程
1.操作系统
2.计算机网络
五、大四课程
1.软件工程实践
2.软件项目管理
六、总结
正文:
【引言】
软件工程是一门理论与实践相结合的学科,从大一至大四,学生需要学习一系列课程以掌握软件开发的基本技能。
本文将概述我国高校软件工程专业大一至大四的课程设置。
【大一课程】
大一阶段主要开设计算机基础课程和编程语言课程。
计算机基础课程包括计算机概论、高等数学、线性代数、概率论与数理统计等,为后续专业课程打下基础。
编程语言课程主要包括C++、Java 等,让学生掌握基本的编程技能。
【大二课程】
大二阶段开始涉及专业核心课程。
数据结构与算法课程帮助学生理解各种数据结构以及基本算法,提高编程效率。
计算机组成原理课程介绍计算机硬件的基本组成和工作原理。
【大三课程】
在大三阶段,学生需要学习操作系统和计算机网络课程。
操作系统课程讲述操作系统的基本原理和实际应用,如进程管理、内存管理、文件系统等。
计算机网络课程则涉及计算机网络的体系结构、协议和网络编程等方面的知识。
【大四课程】
大四课程以实践为主,包括软件工程实践和软件项目管理课程。
软件工程实践课程让学生参与实际的软件开发项目,提高项目管理和协作能力。
软件项目管理课程则教授软件项目管理的理论和方法,培养学生的项目管理能力。
软件工程的15个课程设计课题样本

●题目一: “教务管理系统之子系统——学院课程安排”●系统简介每个学期期中, 学校教务处向各个学院发出下各学期教学筹划, 涉及课程名称、课程代码、学时、班级类别(本科、专科、成人教诲、研究生)、班号等;学院教学主管人员依照教学任务和规定给出各个课程有关限制(如: 任课教师职称、上课班数、最高和最低周学时数等);任课教师自报本人授课筹划, 经所在教研室协调任可, 将教学筹划上交学院主管教学筹划人员, 批准后上报学校教务处, 最后由教务处给出下个学期全学院教师教学任务书。
●假设上述排课过程所有由人工操作, 现规定为上述过程实现计算机自动解决过程。
●限定条件(1)每位教师主授课程门数不超过2门/学期: 讲师如下职称教师不能承担学院定主课主讲任务。
(2)学院中层干部主讲学时不能超过4学时/周。
(3)本学期浮现严重教学事故教师不能承担下各学期主讲任务。
(4)本系统输入项至少涉及: 教务处布置教学筹划, 学院教师自报授课筹划和学院定关于授课限制条件。
本系统输出项至少涉及: 教务处最后下达全院教师教学任务书和学院各个班级下各学期课程表(可以不含上课地点)。
●题目二: “学校教材定购系统”●系统简介本系统可以细化为两个子系统: 销售系统和采购系统销售系统重要工作过程为: 一方面由教师或学生提交购书单, 经教材发行人员审核是有效购书单后, 开发票、登记并返给教师或学生领书单, 教师或学生可以到书库领书。
采购系统重要工作过程为:若是教材脱销, 则登记缺书, 发缺书单给书库采购人员;一旦新书入库后, 即发进书告知给教材发行人员。
以上功能规定在计算机上实现。
●技术规定和限制条件(1)当书库中各种书籍数量发生变化(涉及进书和出书)时, 都应修改有关书库记录, 如库存表或进/出库表。
(2)在实现上述销售和采购工作过程时, 需考虑关于合法性验证。
系统外部项至少涉及: 教师、学生和教材工作人员。
系统有关数据存储至少涉及: 购书表、库存表、缺书登记表、待购教材表、进库表和出库表。
软件工程课程设计学生选课系统方案1.doc

软件工程课程设计--学生选课系统方案1 编号:《软件工程》课程设计学生选课系统目录1 可行性分析报告…………………………………………………………………………2 需求规格说明书3 总体设计说明书4 详细设计说明书5 源程序清单6 软件测试报告7 用户手册8 软件开发总结报告(插入分节符)1可行性分析报告1.引言1.1 编写目的明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。
经过对此项目进行详细调查研究,初拟系统实现报告,对网站开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
1.2 背景在现代计算机技术、通信技术日益发展,Internet普及,现代网络生活已经遍布每个家庭,远程教育成了一种必然的趋势,但对于许多用户来说毕竟还是一件比较陌生的事,因此要使用户了解系统是一个重要的关键。
我们将实现通过网络对学生进行选课以及确定课程老师及方案。
1.3课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
2.课题的可行性2.1 要求(1)与实践活动和相关的文件和资料由教师提供。
(2)本课题要求学生有熟练的ASP开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。
软件工程课程设计高校教务管理系统

实现学生基本信息的增删改查, 包括姓名、学号、班级、专业等
。
教师信息管理
实现教师基本信息的增删改查,包 括姓名、工号、职称、所教课程等 。
课程信息管理
实现课程基本信息的增删改查,包 括课程名称、课程代码、学分、学 时等。
主要功能实现
01
02
03
04
成绩信息管理
实现学生成绩的录入、修改、 删除和查询,支持按学期、按
可定制性
提供灵活的界面定制功能,允许用户根据需求调整界面布局和元 素样式。
04
系统实现
开发环境搭建
操作系统
Windows 10 或 Linux
开发语言
Java
Web服务器
Tomcat 或 Jetty
开发工具
Eclipse 或 IntelliJ IDEA
数据库
MySQL 或 Oracle
主要功能实现
可维护性
要求系统具有良好的可维护性,方便 后期功能扩展和bug修复。
用户群体分析
学生
学生是教务管理系统的主要用户群体之一,他们需要通过系统查询个人信息、课程表、成绩等信息,同时也可以进行 选课、评教等操作。
教师
教师是教务管理系统的另一个重要用户群体,他们需要通过系统录入和查询教学任务、课程资料、学生成绩等信息, 同时也可以进行课程安排、发布教务通知等操作。
软件工程课程设计高校教务管理 系统
2024-01-25
• 引言 • 需求分析 • 系统设计 • 系统实现 • 系统测试与优化 • 课程设计总结与展望
01
引言
目的和背景
提高教务管理效率
随着高校规模扩大和课程多样化,传统的手工或半手工教 务管理方式已无法满足需求,急需引入高效的教务管理系 统来提高工作效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程课程设计--高校课表编排子系统题目:高校课表编排子系统学院信息工程学院专业计算机科学与技术指导教师白娟2014年1 月 3 日摘要教学工作是高校的中心工作,而课表是高校日常教学活动运行的指挥调度表,是高校能否进行正常教学的关键,因此科学的,合理的课表在高校的重要性毋庸置疑。
高校教务管理是一向复杂而繁重的工作,课表编排作为其中腰组成部分是长期困扰学校教务管理工作的大问题,计算机排课无疑是必然优势。
课表编排是一个涉及多因素约束的,多目标的,结构复杂的典型的组合优化问题,并且已经被证明为一个NP完全类,是典型的组合优化的问题,其问题求解的时间复杂度呈指数函数增长。
每个学校在排课表时考虑的因素千差万别,各种约束条件也不尽相同,但是它所涉及的主要实体却具有相对稳定性。
关键字:NP完全类; 约束满足;课表编排;课程设置;目录目录 (4)第一章需求分析说明 (5)1.1编写目的 (5)1.2问题定义 (5)1.3可行性分析 (5)1.4任务描述 (5)1.5目标 (5)1.6运行环境 (6)1.7功能需求 (6)1.7.1功能描述 (6)1.7.2排课约束 (6)1.7.3操作规程 (6)第二章概要设计说明 (8)2.1数据描述与数据库设计 (8)2.2数据表 (8)2.2.1E-R图 (9)2.2.2数据流图部分 (9)2.3运行需求 (11)2.3.1硬件 (11)2.3.2软件 (11)第三章详细设计说明 (12)3.1模块的具体算法 (12)3.1.1登陆模块 (12)3.1.2管理员模块 (13)数据库中各表的物理结构 (17)第四章编码+测试 (19)4.1登录模块 (19)4.1.1 管理员模块 (20)4.1.2教师模块 (22)4.2测试方案设计 (24)测试结果分析: (24)第五章用户使用说明书 (25)第六章实验总结 (28)第七章参考文献 (30)第一章需求分析说明1.1编写目的供设计人员、开发人员参考。
为明确软件需求、安排项目规划进度、组织软件开发与测试,撰写本文档。
1.2问题定义随着社会的发展,我们越来越接近自动化的时代。
随着高校学生的日益增多、学校制度的日趋完善,我们的排课也不需要人工操作了,慢慢的交给系统自动完成。
为了给操作人员提供更简便的操作,排课系统必须不断完善以满足需求。
根据工作人员的实际需要,高校课表排课系统主要应包括以下几个方面:(1)任课教师只具有查询个人课程信息和教室信息以及修改密码的功能。
(2)管理员除了具有查询功能之外,还有设定排课约束,完成排课的功能。
1.3可行性分析排课管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。
对于一个课表编排子系统来说,基础表的设置是很重要的基础性问题。
而基础表的设置仅仅是一个数量级问题,查询的时间复杂度是一个线性复杂度O(n)或平方复杂度O(n2)。
在此基础上,较为困难的部分是排课。
由于排课问题已被证明为NP问题,找到最优解的时间复杂度为指数级,故采用优化的方式是必需的。
对排课来说,各个学校都有着不太相同的排列方法,有每天的课节数,允许课程连排数,时间段等等,而这些方法转换为计算机语言时,往往会因为各类限制而造成死循环或者程序速度缓慢,因为排课系统要适应大部分学校使用,所以这里提供的一些要求是需要满足大部分人的。
经过详细的分析与计算之后,小组成员一致认为,在一定程度的随机化算法(退火、贪心变形算法、类贪心算法)下,排课的时间复杂度可以减小到多项式级别,达到O(n3)甚至更低。
故该系统是可行的。
1.4任务描述1.5目标随着时代的发展,高校扩招的趋势正在加大。
与此同时,高校教务管理是一项复杂繁重的工作。
课表编排是一项繁重的工程,计算机排课已经成为必然趋势。
软件的目的是设计出一套易于使用与维护的排课子系统,能够完成课程管理、课程编排、教师、学生、课程基本信息维护等功能。
软件需要较大的通用性,能够适应多学年的排课,以及一个专业多个学期的排课。
同时,能够对于各种信息进行查询。
1.6运行环境(1)操作系统: Microsoft Windows 7 Ultimate / Microsoft Windows XP Professiona (2)支持环境:.NET Framework 4.0(3)数据库: Microsoft SQL Server 20051.7功能需求1.7.1功能描述作为一个课表编排子系统,应当在完成排课任务之外,进行一部分相应的查询与管理功能。
经过小组成员分析,列出主要功能如下。
(1)机构设置:建立系、系内部门、专业、班级等信息。
(2)课程信息:建立全校开设的课程并录入相关信息。
(3)教师信息:建立教师的基本信息。
(4)教室信息:建立可用教室的信息、类型等。
包括教学楼、教室。
(5)教学任务:录入教学任务,包括生成上课班级。
(6)课表编排:建立排课约束、预排课、自动排课、手动调整课表、冲突检测恢复。
上述功能不仅应包括新增,还应包括查询与维护。
1.7.2排课约束(1)基本约束a)同一时间一个教室不能够上两门课。
b)同一时间一个教师不能上两门课。
c)同一时间一个班级不能上两门课。
(2)优先顺序经小组讨论分析,考虑优先顺序问题,将优先顺序分类,再按照优先顺序设计算法排课。
1.7.3操作规程(1)对于新建立的数据库,需要设定各基本信息。
包括院系、职称、职位、课程类别、教室类别等。
(2)设立基本信息后,建立教学资源信息。
包括教师、教室、楼房等。
(3)建立学籍信息,包括学生、班级。
(4)建立教学计划,决定每个专业在学期间的课程。
(5)安排教学任务。
根据教学计划排定本学年学期的教学任务,包括对该学期每个专业的每一门课程指定上课班级和上课老师,生成教学任务。
(6)排课。
包括预排课、自动生成上课记录、手动调整、冲突分析检测步骤。
此步需要经过反复执行。
STD图如下。
录入基录入教录入学制定教安排教学年排课图1-5-3 系第二章概要设计说明2.1数据描述与数据库设计2.2数据表登录表(用户名,密码,身份)教师信息表(工号,姓名,性别,出身年月,职称,联系电话)课程信息表(课程号,课程名,是否选修课,课时,学分,考试形式,是否安排,开始周次)教室信息表(教室号,容量,是否多媒体)班级课程表(班级号,课程号,任务号)教师任务书(任务号,工号,课程号,所教专业,周数,人数,要求,是否多媒体)选课表(教室号,星期,时间段,任务号,占用情况)其中,加下划线的为关键码。
2.2.1E-R 图2.2.2数据流图部分数据流图说明:系统的流程为:管理员和教师通过登录表进入该系统,管理员查询、设置排课约束以及排课等职能,排课使选课表、课程信息表数据发生变化。
根据分析,可得系统顶层数据流图。
将顶层数据流图进行分解,可知教师登录后有查询课程安排、修改密码的功能,这样得出了系统的数据流图。
数据流图: 教师授教师登登安选安教室教课程讲班级N 1 1 N 111 N 1 1 N N 管系统排D 班级D教师教 查D 登D 排D 课程D 教师D 教室2.3运行需求2.3.1硬件a)x86架构CPUb)512MB以上内存c)1.7KB硬盘空间2.3.2软件a)操作系统:Microsoft Windows 7 Ultimate /Microsoft Windows XP Professionalb)数据库系统:Microsoft SQL Server 2005c)运行时环境:.NET Framework 4.0第三章详细设计说明3.1模块的具体算法3.1.1登陆模块该模块涉及到2个登录身份:教师,管理员教师和管理员,需要用用户名和密码和身份进行验证才能登录。
登录要有自己的身份识别,是教师还是管理员,可以先判断出用户是以什么身份登录的。
若未选择身份就进行查询,则提示出错。
程序流程图如下:3.1.2管理员模块管理员添加排课约束条件,进行排课;其中休息日时间不能和选修课时间冲突,同时两节选修课的时间同样也不能发生冲突。
程序流程图如下:① 给所有课程分开始周数开 始身YN根据用户名和跳转Y N跳出提根据用户名和跳转YN 开 查询教师任务书所for 要YN② 选修课排课requrequire 接requ开始周数周数NNYY开始周周N Y开始周i/开始周开始周YN结开 查询未安forea查询该课程的任务号、人③ 其他课程排课 上课时上课时select 符rando更新选课表、结开④排除矛盾的函数第二节链排除矛第三节链排除矛排除矛排除矛排除矛第二节链结开数据库中各表的物理结构(1)登录表(2)教师信息表(3)教室信息表(4)课程信息表下一couNY随机结(5)班级课程表(6)教师任务书(7)选课表第四章编码+测试4.1登录模块if (comboBox1.Text == "管理员"){string sql = "select 密码 from 登录表 where 用户名='" + name + "' and 身份='管理员'"; SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader reader = cmd.ExecuteReader();if (reader.Read()){if (reader["密码"].ToString().Trim()==textBox2.Text){Form2 f2 = new Form2();f2.GetName(name, "管理员");this.Hide();f2.Show();}else{MessageBox.Show("用户名错误或密码错误,请核对!");}}else{MessageBox.Show("用户名错误,请核对!");}}if (comboBox1.Text == "教师"){string sql = "select 密码 from 登录表 where 用户名='" + name + "' and 身份='教师'"; SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader reader = cmd.ExecuteReader();if (reader.Read()){if (reader["密码"].ToString().Trim() == textBox2.Text){Form2 f2 = new Form2();f2.GetName(name, "教师");this.Hide();f2.Show();}else{MessageBox.Show("用户名错误或密码错误,请核对!");}}else{MessageBox.Show("用户名错误,请核对!");}}4.1.1 管理员模块////////////////////////////////排课void MatchStartWeek() //给任务课程分前8和后8:根据周数和要求{string commString = "";SqlCommand cmd = new SqlCommand(commString, conn); //mandText = "select 课程号,周数,要求 from 教师任务书";SqlDataReader reader = cmd.ExecuteReader(); //if (reader.Read()){reader.Close(); //可以不使用reader,直接ds.Tables[0].Rows.Count!=0就可以了SqlDataAdapter da = new SqlDataAdapter(mandText, conn);DataSet ds = new DataSet();da.Fill(ds, "mytable");//for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //int i = 0;foreach(DataRow Row in ds.Tables[0].Rows){cource_num = Row["课程号"].ToString().Trim(); //week_num = Convert.ToInt32(Row["周数"].ToString().Trim());if (Row["要求"].ToString().Trim() == ""){require = 0;}else{require = Convert.ToInt32(Row["要求"].ToString().Trim());}if (require != 0){mandText = "update 课程信息表 set 开始周次 = " + require + " where 课程号= '" + cource_num + "'";cmd.ExecuteNonQuery();}else if (week_num == 16){mandText = "update 课程信息表set 开始周次= 1 where 课程号= '" + cource_num + "'";cmd.ExecuteNonQuery();}else if (week_num == 8){if (i / 2 == 0){mandText = "update 课程信息表 set 开始周次 = 1 where 课程号 = '" + cource_num + "'";cmd.ExecuteNonQuery();}else{mandText = "update 课程信息表 set 开始周次 = 9 where 课程号 = '" + cource_num + "'";}}else{mandText = "update 课程信息表set 开始周次= 1 where 课程号= '" + cource_num + "'";cmd.ExecuteNonQuery();}i++;}//MessageBox.Show("开始周数已分配!");}else{MessageBox.Show("教师任务书为空!");}}//约定无课时间安排、选修课时间安排,用变量接受,每次排课时间上排除掉/////////////////////////////////////////排课结束4.1.2教师模块private void button5_Click(object sender, EventArgs e){SqlConnect();string sql1 = "";//;SqlCommand cmd1 = new SqlCommand(sql1, conn);mandText = "select * from 选课表";SqlDataReader reader11 = cmd1.ExecuteReader();if (reader11.Read()){if (radioButton1.Checked == true){SqlConnect();string num = textBox1.Text;string sql = "";//;SqlCommand cmd = new SqlCommand(sql, conn);if (id == "教师"){mandText = "select * from 教师信息表 where 工号 = '" + num + "'"; //只有一条SqlDataReader reader = cmd.ExecuteReader();if (reader.Read()){name_N = reader["姓名"].ToString().Trim();}else{}reader.Close();}else{mandText = "select * from 教师信息表 where 工号 = '" + num + "'"; //只有一条SqlDataReader reader = cmd.ExecuteReader();if (reader.Read()){name_N = reader["姓名"].ToString().Trim();}else{MessageBox.Show("该职工号不存在,请核对!");}reader.Close();}SqlDataAdapter adapter = new SqlDataAdapter("select * from 教师任务书 where 工号='" + num + "'", conn);//确定这位老师所有任务号DataSet ds = new DataSet();adapter.Fill(ds, "mytable");if (ds.Tables[0].Rows.Count != 0){for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//对一个任务号进行一系列查询{//课程信息查询cource_num = ds.Tables[0].Rows[i]["课程号"].ToString().Trim();week_num = Convert.ToInt32(ds.Tables[0].Rows[i]["周数"].ToString().Trim()); string pross = ds.Tables[0].Rows[i]["所教专业"].ToString().Trim();mandText = "select * from 课程信息表 where 课程号='" + cource_num + "'"; SqlDataReader reader1 = cmd.ExecuteReader();if (reader1.Read()){course_name = reader1["课程名"].ToString().Trim();teststyle = reader1["考试形式"].ToString().Trim();score = reader1["学分"].ToString().Trim();totalhour = reader1["课时"].ToString().Trim();startweek = reader1["开始周次"].ToString().Trim();int startweeks = Convert.ToInt32(startweek.ToString().Trim());int endweeks = startweeks + week_num - 1;string endweek = endweeks.ToString().Trim();weeks = "" + startweek + "-" + endweek + "";}else{}reader1.Close();//该老师该任务号该课程的排课时间地点4.2测试方案设计测试方式:黑盒测试,白盒测试。