软件工程学生选课系统课程设计


    
    网选课系统课程设计手册
    团队:
    学校:
    队长:
    时间:2014

    目 录

    1 项目概述 ………………………………………………………………………3
    11开发背景 ………………………………………………………………………3
    12 开发目 ……………………………………………………………………3
    13 开发运行境 ……………………………………………………………………3
    14 系统功 ………………………………………………………………………3
    2需求分析 …………………………………………………………………………3
    21 系统需求 ………………………………………………………………………3
    22 功需求 ………………………………………………………………………3
    23 业务流图 ………………………………………………………………………3
    3总体设计 …………………………………………………………………………4
    31 基设计概念处理流程 ……………………………………………………4
    32 系统层次模图 …………………………………………………………………4
    33系统层次模块图 ………………………………………………………………4
    34模块设计 ………………………………………………………………………5
    4数库计 …………………………………………………………………………5
    41 数库逻辑设计 ……………………………………………………………5
    42数库配置……………………………………………………………………6
    5 详细设计 ………………………………………………………………………8
    51 学生登录模块设计实现 …………………………………………………8
    52 学生注册模块设计实现 …………………………………………………9
    53 学生查询模块设计实现…………………………………………………9
    54 学生选课模块设计实现…………………………………………………10
    6 测试提交 ……………………………………………………………………10


    1项目概述
    11 开发背景
    Internet飞速发展深刻影响日常生活商业运作方式开网页浏览天新闻发电子邮件远方朋友搜索引擎查找资料进入网商城购买商品——切Internet社会方方面面渗透着互连网应烦琐手工程序变方便快捷学校网选课系统正基思想发展起
    12 开发目
    传统手工选课仅复杂牵涉力理造成诸变助网选课系统学生规定选课时间段受点时间限制完成选修课申请学校方便系统进行理控制提高工作效率
    13 开发运行环境
    开发工具java语言
    开发环境JDK
    14 系统功:
    (1) 登录注册功
    (2) 选课功
    (3) 查询功

    2需求分析
    21 系统需求
    户需求具体体现种学成绩提供保存更新查询方面求数库结构充分满足种信息输入输出收集基数数结构数处理流程组成份详数字典面具体设计基础
    22 功需求
    通系统功分析针般网选课系统总结出需求信息:
    (1) 学生需求:网选课选课情况查询
    (2) 系统实现学生信息理选课查询
    学生信息包括学号姓名班级
    课程信息包括课程名
    23 业务流程图
    学生
    登录
    选课
    查询课程
    系统
    理员
    选课信息

    3总体设计
    31 基设计概念处理流程
    互联网技术飞速发展Java等设计工具方便实数库技术发展系统设计实现提供技术支持
    系统基流程:户登录->界面->选择项子系统
    32 系统层次模块图
    学生选课系统
    登陆注册
    选课
    查询
    数库设计


    33系统层次模块图

    34模块设计
    (1) 户注册模块:填写户名密码确认密码
    (2) 户登录模块:填写已注册户名称填写正确密码进入控制页面
    (3) 户选课模块:
    (4) 户查询模块:进行查选课程操作

    4数库设计
    41 数库逻辑设计
    选Microsoft Access 2000
    数通信接口采ODBCODBC微软开发套读取数库解决方案目数库底层操作全部隐藏ODBC驱动程序核里程序员说构建指数库连接采统应程序编程接口实现数库读写目前ODBC驱动已提供数常见类型数库支持包括dBaseInformixAccessSQL ServerOracle等包括类型数库支持文Excel电子表格等支持
    根系统功设计求功模块划分系统信息数库列出数项数结构:
    1 名称:户信息表
    表名称标识:login
    名称
    字段名称
    数类型

    非空
    户名
    UserName

    No
    Yes
    密码
    Password

    No
    No
    记录:


    2名称:课程信息表
    表名称标识:kechengbiao
    名称
    字段名称
    数类型

    非空
    学号
    number
    数字
    No
    Yes
    姓名
    name

    No
    No
    课程名称
    lesson

    No
    No
    记录:


    42数库配置
    真正完整站点离开数库ODBC应程序提供种标准方法操作相关数库:理器根数源提供数库位置数库类型ODBC驱动程序等信息建立起ODBC具体数库联系样应程序数源名提供ODBCODBC建立起相应数库连接
    步骤建立新系统数源
    首先控制面板中双击ODBC图标开ODBC数源理器话框选择系统DSN选项卡单击添加钮图示


    创建新数源话框中选择Driver do Microsoft Access(*mdb)作数库驱动程序单击完成钮图示


    ODBC Microsoft Access安装话框中数源名称填写student程序中引单击选择…钮弹出文件窗口中选择studentmdb文件位置图示

    然单击确定钮样完成Access数库ODBC数源设置
    步骤通ODBC理器注册名字student数源指定数库驱动程序
    5 详细设计
    51 学生登录模块设计实现
    511 登录模块
    功:模块户身份进行鉴户通表单提供户名密码信息系统根户提供登录信息户进行身份查询鉴果身份合法户导系统选课页面
    输入:户名密码
    处理:
    (1) 输入户登录信息:页面提供表单出输入户户名密码信息点击登录钮提交表单信息身份验证页面点击重置钮重新输入
    (2) 户身份进行验证:连接数库开户数表login检验户登录信息输入数户名查询条件创建数集查输入户名否存果存继续检验输入密码否正确密码户名正确进入选课页面果户名存密码正确出登录失败提示框
    输出:学生选课页面
    512.学生登录页面图图示:


    52 学生注册模块设计实现


    53 学生查询模块设计实现


    54 学生选课模块设计实现


    6 测试提交
    7 项目组成员详细分工
    工作务
    徐寒亭
    胡中涛
    卢文琳
    李爽
    需求分析
    数库设计
    查询功
    选课功
    登陆注册功
    查询模块




    注册登录模块




    数库设计模块




    选课模块





    8 附:模块源代码
    (1)登录模块
    import javaawt*
    import javaawtevent*
    import javaxswingJOptionPane
    import javasql*

    public class Login extends Frame implements ActionListener{
    Frame ff1
    Button b1
    Button b2
    Button b3
    TextField t1
    TextField t2
    Label l1
    Label l2
    Connection con
    Statement sql 声明Statement象
    ResultSet rs

    public Login(){
    fnew Frame(学生选课系统)
    Toolkit toolfgetToolkit()
    Dimension dimtoolgetScreenSize()
    fsetBounds(00dimwidthdimheight)

    Panel pnew Panel()
    fadd(p)

    l1new Label(户名)
    l2new Label(密码)

    t1new TextField(20)
    t2new TextField(20)

    b1new Button(登陆)
    b2new Button(取消)
    b3new Button(注册)

    padd(l1)
    padd(t1)
    padd(l2)
    padd(t2)
    padd(b1)
    padd(b2)
    padd(b3)

    b1addActionListener(this)
    b2addActionListener(this)
    b3addActionListener(this)

    fsetVisible(true)
    t2setEchoChar('*')
    faddWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    Systemexit(0)
    }
    }
    )
    }
    public void actionPerformed(ActionEvent e){
    if(egetSource()b1){
    if(t1getText()equals()||t2getText()equals()){
    JOptionPaneshowMessageDialog(null输入空)
    }
    else{
    try{
    ClassforName(sunjdbcodbcJdbcOdbcDriver)
    } catch(ClassNotFoundException a){
    Systemoutprintln(+a)
    }
    try{
    conDriverManagergetConnection(jdbcodbcsun)
    sqlconcreateStatement()
    rssqlexecuteQuery(Select * FROM login) 查询数库
    boolean check false
    while(rsnext()){
    String UserNamersgetString(1) 获数库第二列
    String PasswordrsgetString(2) 获数库第三列
    if(t1getText()equals(UserName) && t2getText()equals(Password)){ 判断语句
    check true
    JOptionPaneshowMessageDialog(null登陆成功)
    fdispose()
    new WindowBox(选课窗口)
    t1setText()
    t2setText()
    break
    }
    }
    if(check false){
    JOptionPaneshowMessageDialog(null登陆失败请重新输入)
    }
    conclose()
    } catch(SQLException el){}
    }

    }
    if(egetSource()b2){
    t1setText()
    t2setText()
    }
    if(egetSource()b3){
    fdispose()
    new Regist(学生选课系统注册界面)

    }

    }
    public void windowClosing(WindowEvent e){
    Systemexit(0)
    }

    public static void main(String[] args) {
    new Login()
    }
    }
    (2)注册模块
    import javaawt*
    import javaawtevent*
    import javaxswingJOptionPane
    import javasql*

    class Regist extends Frame implements ActionListener{
    Label lb1 lb2 lb3
    TextField tf1 tf2 tf3
    Button bt1 bt2 bt3

    Regist(String s){
    super(s)
    setLayout(null)
    setBounds(00900900)
    setVisible(true)
    setResizable(false)

    lb1 new Label(户名)
    lb1setBounds(1501005020)
    lb2 new Label(密码)
    lb2setBounds(1502005020)
    lb3 new Label(确认)
    lb3setBounds(1503005020)

    tf1 new TextField()
    tf1setBounds(2009820020)
    tf2 new TextField()
    tf2setBounds(20019820020)
    tf2setEchoChar('*')
    tf3 new TextField()
    tf3setBounds(20029820020)
    tf3setEchoChar('*')

    bt1 new Button(注册)
    bt1setBounds(20040010040)
    bt2 new Button(返回)
    bt2setBounds(35040010040)
    bt3 new Button(退出)
    bt3setBounds(43540010040)

    add(lb1)
    add(lb2)
    add(lb3)
    add(tf1)
    add(tf2)
    add(tf3)
    add(bt1)
    add(bt2)
    add(bt3)
    tf3addActionListener(this)
    bt1addActionListener(this)
    bt2addActionListener(this)
    bt3addActionListener(this)

    addWindowListener(new javaawteventWindowAdapter(){
    public void windowClosing(javaawteventWindowEvent e)
    {
    Systemexit(0)
    }
    }
    )
    }
    public void actionPerformed(ActionEvent e){
    if(egetSource() bt1 || egetSource() tf1 || egetSource() tf2 || egetSource() tf3){
    if(tf1getText()equals()|| tf2getText()equals() || tf3getText()equals()){
    JOptionPaneshowMessageDialog(this请输入户名密码提示JOptionPaneERROR_MESSAGE) 判断文容语句
    }
    else{
    if(tf2getText()equals(tf3getText())){
    try{
    ClassforName(sunjdbcodbcJdbcOdbcDriver)
    Connection con
    Statement sq
    ResultSet r
    String u p

    con DriverManagergetConnection(jdbcodbcsunnullnull)
    sqconcreateStatement(ResultSetTYPE_SCROLL_INSENSITIVEResultSetCONCUR_UPDATABLE)
    r sqexecuteQuery(SELECT * FROM login)
    while(rnext()){
    u rgetString(1)
    if(tf1getText()equals(u)){
    JOptionPaneshowMessageDialog(this户已存错误JOptionPaneERROR_MESSAGE)
    conclose()
    break 判断户否存
    }
    else if(risLast()){ 判断否已读完整表
    u tf1getText()
    p tf2getText()
    sqexecuteUpdate(INSERT INTO login(UserNamePassword) VALUES(+'+u+'++'+p+'+)) 写入户信息
    JOptionPaneshowMessageDialog(this注册成功提示JOptionPaneINFORMATION_MESSAGE)
    conclose()
    dispose()
    new Login()
    break
    }
    }
    tf1setText(null)
    tf2setText(null)
    tf3setText(null)

    }
    catch(SQLException b){
    JOptionPaneshowMessageDialog(thisb错误JOptionPaneERROR_MESSAGE)
    }
    catch(ClassNotFoundException a){
    JOptionPaneshowMessageDialog(thisa错误JOptionPaneERROR_MESSAGE)
    }
    }
    else{
    JOptionPaneshowMessageDialog(this两次密码致提示JOptionPaneERROR_MESSAGE)
    tf2setText(null)
    tf3setText(null)
    }
    }
    }
    else if(egetSource() bt3){
    Systemexit(0)
    }
    else if(egetSource() bt2){
    dispose()
    new Login()
    }
    }
    }
    public class xuhanting1
    {
    public static void main(String args[])
    {
    new Regist(学生选课系统注册界面)
    }
    }

    (3)选课模块
    import javaawt*
    import javaawtevent*
    import javasql*
    class WindowBox extends Frame implements ActionListenerItemListener
    {
    Checkbox box1box2box3box4box5box6
    Label l1
    Label l2
    TextField t1
    Label l3
    TextField t2
    TextArea t new TextArea()
    Button b1b2
    WindowBox(String s)
    {
    super(s)
    setLayout(new FlowLayout())
    l2new Label(学号)
    t1new TextField(10)
    l3new Label(姓名)
    t2new TextField(10)
    b1new Button(确定)
    b2new Button(重置)
    l1new Label(选课程)
    box1new Checkbox(离散数学false)
    box2new Checkbox(汇编语言false)
    box3new Checkbox(java语言设计false)
    box4new Checkbox(软件工程false)
    box5new Checkbox(操作系统false)
    box6new Checkbox(马克思政治学false)
    box1addItemListener(this)
    box2addItemListener(this)
    box3addItemListener(this)
    box4addItemListener(this)
    box5addItemListener(this)
    box6addItemListener(this)
    add(l2)
    add(t1)
    add(l3)
    add(t2)
    add(b1)
    add(b2)
    add(l1)
    add(box1)
    add(box2)
    add(box3)
    add(box4)
    add(box5)
    add(box6)
    add(t)


    b1addActionListener(this)
    b2addActionListener(this)
    setSize(500500)
    setVisible(true)
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {Systemexit(0)}
    }
    )
    validate()}


    public void itemStateChanged(ItemEvent e)
    {
    Checkbox box(Checkbox)egetSource()
    if(boxgetState())
    {
    int ntgetCaretPosition()
    tinsert(boxgetLabel()n)}
    else
    {tsetText()}

    }
    public void actionPerformed(ActionEvent a)
    {
    if(agetSource()b1)
    {
    Connection con
    Statement sql
    ResultSet rs
    String number1name1lesson1 recodeinsertStr
    try{
    ClassforName(sunjdbcodbcJdbcOdbcDriver)
    }
    catch(ClassNotFoundException g){
    Systemoutprintln(+g)
    }
    try{
    conDriverManagergetConnection(jdbcodbcsun)
    sqlconcreateStatement()
    number1t1getText()
    name1t2getText()
    lesson1tgetText()
    recode(+'+number1+'++'+name1+'++'+lesson1+'+)
    insertStrINSERT INTO kechengbiao values+recode
    sqlexecuteUpdate(insertStr)
    conclose()
    dispose()
    RuanJian rjnew RuanJian(查询窗口)
    }
    catch(SQLException h)
    {Systemoutprintln(h)}
    }
    else if(agetSource()b2)
    {
    t1setText()
    t2setText()
    tsetText()
    }
    }
    }
    public class xuhanting3
    {public static void main(String args[])
    {new WindowBox(选课窗口)}
    }

    (4)查询模块
    import javaawt*
    import javaawtevent*
    import javasql*
    import javaxswingJOptionPane
    class RuanJian extends Frame implements ActionListener
    { Label lab1
    TextField text1
    Button b1b2
    TextArea tnew TextArea()
    RuanJian(String s)
    {
    setTitle(s)
    setLayout(null)
    lab1new Label(请输入学号)
    text1new TextField(10)
    b1new Button(确定)
    b1addActionListener(this)
    b2new Button(重置)
    b2addActionListener(this)
    lab1setBounds(12010010030)
    text1setBounds(25010020030)
    b1setBounds(2201805030)
    b2setBounds(3201805030)
    tsetBounds(100250380300)
    add(lab1)
    add(text1)
    add(b1)
    add(b2)
    add(t)
    setBounds(100100600600)
    setVisible(true)

    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    Systemexit(0)
    }
    }
    )
    validate()
    }
    public void actionPerformed(ActionEvent m)
    {
    if(mgetSource()b1)
    { String s
    stext1getText()

    int r1
    Connection conjavasql包中Connection 连接
    Statement sql数库发送sql语句
    ResultSet rs处理查询结果
    try{
    Class forName(sunjdbcodbcJdbcOdbcDriver)建立jdbcodbc连接
    }
    catch(ClassNotFoundException e)
    {
    Systemoutprintln(+e)
    }
    try{
    conDriverManagergetConnection(jdbcodbcsun)
    sqlconcreateStatement()
    rssqlexecuteQuery(select * from kechengbiao)
    while(rsnext())
    { String numberrsgetString(1)
    String namersgetString(2)
    String lessonrsgetString(3)
    if(sequals(number))
    {
    tappend(学号+number+\n)
    tappend(姓名+name+\n)
    tappend(课程+lesson+\n)
    r0
    break
    }
    }
    if(sequals())
    {JOptionPaneshowMessageDialog(this请输入学号警告话框JOptionPaneWARNING_MESSAGE)
    }
    else if(r1)
    {JOptionPaneshowMessageDialog(this学号输入错误警告话框JOptionPaneWARNING_MESSAGE)
    break
    }


    conclose()
    }
    catch(SQLException e)
    {
    Systemoutprintln(e)
    }

    }
    else if(mgetSource()b2)
    { String s
    text1setText(s)
    tsetText(s)
    }
    }
    }
    public class xuhanting
    {
    public static void main(String args[])
    {
    RuanJian rjnew RuanJian(查询窗口)
    }
    }
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    学生选课系统《软件工程》课程设计

    详细版!目 录一、问题定义 51.1问题的定义 51.2 系统要解决的问题 5二、可行性研究 62.1 引言 62.1.1目的 62.1.2背景及功能 62.1.3 参考资料 62.2 可行...

    6个月前   
    339    0

    软件工程专业课程设计——学生选课系统设计

     学生选课系统实验报告 项目名称:学生选课系统 姓名:学号:班级:指导老师:一. 课程设计的目的与要求通过软件开...

    2年前   
    576    0

    学生选课系统DFD图

    2.2.2 顶层DFD图根据分析得到的系统功能要求,画出学生选修课管理系统的分层DFD图。首先画出顶层的DFD图如图2-2所示。顶层确定了系统的范围,其外部实体为管理员、教师和学生。选课信息成...

    2年前   
    496    0

    uml课程设计网上选课系统

     UML课程设计学 院 信息学院 班 级 10级计本班 专 业 计算机科学与技术 课 题 网上选课...

    2年前   
    599    0

    JAVA数据库课程设计-学生选课管理系统的

     一、课程设计目的 通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理...

    5年前   
    1642    0

    基于CS框架的学生选课系统

     ...

    5年前   
    1265    0

    软件工程银行系统 课程设计

    一、可行性研究报告一、可行性研究报告 11.引言 11.1编写目的 11.2项目背景 11.3定义 11.4参考资料 22.可行性研究的前提 22.1要求 22.2目标 32.3条件、假定和限...

    6个月前   
    276    0

    软件工程课程设计管理系统

    软件工程课程设计论文软件工程课程设计管理系统软件工程课程设计报告姓 名: 年 级: 05级 ...

    3年前   
    743    0

    软件工程课程设计学生信息管理系统

     课程设计报告 学生信息管理系统 学 院 年级专业 学生姓名 指导教...

    1年前   
    393    0

    学生信息管理系统软件工程课程设计

    信息科学与工程学院课程设计任务书 题目: 学生信息管理系统 学 生1: ...

    1年前   
    328    0

    学生选课系统可行性研究报告

    课程标题: 软件项目管理 班 级: 软件1301班 ...

    3年前   
    665    0

    学生选课系统专科毕业论文

    XX学院东港学院毕业设计(论文)说明书题 目: 学生选课系统 ...

    3年前   
    861    0

    医院在线预约系统软件工程课程设计报告

     软件工程 课程设计报告课 题: 医院在线预约系统 姓 名: 学 号: ...

    2年前   
    386    0

    饭卡管理系统软件工程课程设计

    软件工程课程设计任 务 书1、课程设计题目饭卡管理系统2、设计任务和内容一个饭卡管理系统是根据学校的饭卡管理工作专门设计的一个管理信息系统。该系统能够完成饭卡管理的工作过程。饭卡管理过程中主要...

    3年前   
    724    0

    软件工程(汽车租赁系统)课程设计

    《软件工程》学院:计算机科学与技术专业:计算机科学与技术姓名: 2011年X月X日题目:汽车租赁系统写在前面:本项目设计预计7周完成(8-14周)组长 侯茜主要负责内容: 选题的确定、人员分工...

    1年前   
    337    0

    人事管理系统软件工程课程设计

    软件工程课程设计              ―――人事管理系统                   指导老师:                  班  级:                  ...

    3年前   
    629    0

    考生档案系统软件工程课程设计

    目 录第一章 系统概述 11.1系统开发背景和意义 11.2开发语言简介 21.3本系统简介 2第二章 系统可行性分析 32.1技术上的可行性 32.2经济上的可行性 32.3管理上的可行...

    6个月前   
    181    0

    酒店客房管理系统(软件工程课程设计)

    酒 店 客 房 管 理 系 统 第X组 组长: 组员: 计算机科学与技术 目录 一、摘要: 5 二、可行性分析...

    5年前   
    1298    0

    电子相册管理系统软件工程课程设计

    XX大学《软件工程》课程设计报告 题    目 :  电子相册管理系统 院 (系): 计算机与信息科学学院 年级专业 : 20XX级计算机科学与技术组 员 :  ...

    2年前   
    567    0

    图书管理系统(软件工程课程设计报告)

    图书管理系统(软件工程课程设计报告)一、可行性研究报告1.引言1.1编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解 经过对此项目进行详细调查研究...

    2年前   
    531    0

    文档贡献者

    文***享

    贡献于2021-05-07

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档