JAVA课程设计报告学生成绩管理系统.doc

上传人:laozhun 文档编号:2387054 上传时间:2023-02-17 格式:DOC 页数:30 大小:940.50KB
返回 下载 相关 举报
JAVA课程设计报告学生成绩管理系统.doc_第1页
第1页 / 共30页
JAVA课程设计报告学生成绩管理系统.doc_第2页
第2页 / 共30页
JAVA课程设计报告学生成绩管理系统.doc_第3页
第3页 / 共30页
JAVA课程设计报告学生成绩管理系统.doc_第4页
第4页 / 共30页
JAVA课程设计报告学生成绩管理系统.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《JAVA课程设计报告学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计报告学生成绩管理系统.doc(30页珍藏版)》请在三一办公上搜索。

1、数学与计算机学院课程设计说明课 程 名 称: JAVA程序设计-课程设计 课 程 代 码: 题 目: 学生成绩管理系统 年级/专业/班: 07计科6班 学 生 姓 名: 学 号: 开 始 时 间: 2010 年 12 月 7 日完 成 时 间: 2010 年 12 月 23 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 目 录1 引言11.1 问题的提出11.2国内外研究的现状11.3系统的具体任务21.4 系统开发目的22需求分析32.1总体功能需求32.2初始化42.3添加学生42.4删除学生记录

2、42.5修改学生记录42.6查看学生记录52.7退出系统53系统分析53.1系统用例图53.2 系统总体用例图63.3学生信息用例图63.4管理员信息用例图74系统概要设计74.1 软件设计的原则74.2 系统HIPO图94.3 数据库表设计105系统详细设计125.1 系统程序流程图125.2 系统过程设计136 模块分析156.1 用户管理模块156.2增加学生信息模块166.3 修改学生信息模块176.4 综合查询模块196.5 存储过程及触发器:207系统测试218结论259参考文献261 引言1.1 问题的提出 人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是

3、信息技术和网络技术的讯速发展和广泛应用,对社会的政治、经济、军事、文化等领域产生越来越深刻。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本论文叙述到的学生成绩管理系统是用JSP网页编程+ACCESS数据库+SQL查询语言实现的。重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、功能设计、数据库设计、系统实现、系统测试和调试等。本系统主要功能有教师管理、学生管理、班级管理、学生信息管理、成绩管理、留言管理,包括功能需求描述、数据库设计等内容。1.2国内外研究的现状 现在的社会日新月异,发展的非常快。学校的发展也是非常的快了,而且每年

4、都有不同的要求。学生的量也非常的大,资料可能经常性的发生更换,原来手工的管理模式就显的不怎么的合适了。而且手工的数据是存放在多处的,没有使用统一管理的模式,数据整理非常的麻烦,统计也困难,很多的情况下,老师都是在重复一些相同的工作。做一些相似的报表,这样不但降低了工作效率,而且非常的容易出错。在这种条件下,使用微机管理就显的非常的合适了。只要你正确的录入,统计,报表输出一点问题都没有的。 学生做为学校的最主要的管理对象,学生档案管理系统就成了学校信息化管理系统中中不可缺少的部分,它的内容对于学校的管理者说都至关重要。但一直以来人们使用传统人工的方式进行学生的档案管理,这种管理方式存在着许多缺点

5、,如:效率低,容易出错,格式不规范。另外时间一长,不容易进行统计和分析。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高学校学生档案管理的效率。因此,开发这样一套管理软件成为很有必要的事情。而且只要软件的设计合理,可以为学校提供合理的管理模式。1.3系统的具体任务 该系统的具体任务就是设计一个学生成绩的数据库管理系统,由计算机来代替人工执行一系列诸

6、如增加新学生成绩信息、删除学生成绩信息、学生资料、查询、修改等的处理操作,以方便管理人员的管理信息工作。 本设计以客户为中心,界面要美观大方,操作尽量简单明了,且要有良好的容错性,在用户出现误操作时能及时给出警告并修改。在现有的技术和资金的情况下完全可以设计出这套功能完善的应用软件。 1.4 系统开发目的建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。1.5 系统环境需求 编程语言:JAVAJava + Eclipse + SQL server数据库开发工具:Eclipse SD

7、K(英文版)SQL 2000(中文版) 运行环境:Windows xp或windows 20002需求分析2.1总体功能需求系统登录包括管理员、教师和学生三种类型的登录。录入学生信息 (初始化)在系统中不存在任何对象时,实现该功能。具体功能为:1:检测文件系统/数据库中是否存在相关文件/表;2:若不存在相关文件/表,则要求用户录入学生信息,并序列化或通过JDBC存储到文件/表;3:若已存在相关文件/表,则反序列化或通过JDBC读取到程序中。注意:学生纪录不允许重复,判断的关键字为学号添加学生记录往已有的学生纪录添加新的学生纪录。具体功能为:1:要求用户从键盘输入一个或多个学生信息;2:输入完成

8、后序列化或JDBC存储到文件/表。注意:学生纪录不允许重复,判断的关键字为学号删除学生记录在已有的学生纪录中删除一个或多个学生纪录。具体功能为:1:要求用户输入欲删除的学生的学号;2:删除学生记录;3:更新到文件/表。修改学生记录在已有的学生记录中修改某学生的相关信息。具体功能为:1:要求用户输入欲修改的学生的学号;2:判断该学生是否存在于记录中;3:若学生记录存在,提供修改学生信息功能。查看学生记录查看单个学生记录。具体功能为:1:输入学生学号;2:若该学生存在,打印该学生相关信息。查看多个学生记录。具体功能为:1:打印出所有学生的记录;2:能分别按学号、姓名、性别、年龄和分数进行排序。退出

9、系统退出系统。2.2初始化业务流程描述:1:初始化系统执行对对象进行序列化2: 反序列化获得对象业务规则说明:1:进入系统第一步必须序列化 。2:获得反序列化的对象,如果文件不存在兴建一个,单必须是需要的对象类型。2.3添加学生业务流程描述:1:要求用户从键盘输入一个或多个学生信息;2:输入完成后序列化到文件/表。3:学生纪录不允许重复,判断的关键字为学号业务规则说明:1:从菜单选择添加学生,获得容器对象 。2:进入添加页面提示添加属性。3:性别限制男女。4:科目成绩可变性。课程可自动调节5:学号作为唯一标示符:1. 不能出现重复学号。2. 必须是数字组成。 6:添加完成后把容器对象序列化到文

10、件2.4删除学生记录业务流程描述:1:要求用户输入欲删除的学生的学号;2:删除学生记录;3:更新到文件/表。业务规则说明:1:传递一个容器对象。2:给定一个学生学号删除一个学生信息 2:遍历容器是否有输入学号的学生信息。1. 如果存在,提示是否删除。2. 如果没有重新输入。3:如果删除成功返回一个容器对象,序列化到文件。2.5修改学生记录业务流程描述:1:要求用户输入欲修改的学生的学号;2:判断该学生是否存在于记录中;3:若学生记录存在,提供修改学生信息功能。业务规则说明:1:传递一个容器对象给修改方法。2:给定一个欲修改学生的学号 3:遍历容器是否有输入学号的学生信息。1. 如果存在学生对象

11、,继续下一步。2. 如果没有重新输入。4:通过判断知道存在学生对象后遍历获得学生对象。5:提示要修改的类容1. 提示旧的信息添加新的信息 6:修改后获得容器对象,序列化到文件2.6查看学生记录业务流程描述:1:输入学生学号;2:若该学生存在,打印该学生相关信息。查看多个学生记录。具体功能为:1:打印出所有学生的记录;2:能分别按学号、姓名、性别、年龄和分数进行排序。业务规则说明:1:输入选项获得查看方式,获得容器对象。2:全部查看显示获得全部学生信息 3:查看特定学生。1. 输入学生学号;2. 判断学生是否存在3. 如果存在显示单个学生,如果不存在提示不存在,重新输入。2.7退出系统1. 提示

12、是否退出3系统分析3.1系统用例图用例图主要用来图示化系统的主事件流程,它主要用来描述需求,即希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,是设计系统分析阶段的起点,设计人员根据需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系。3.2 系统总体用例图本系统包括三类角色:教师、管理员和学生。教师可以进行分报表,记录分数和更新分数的操作,管理员可以查看分数和进行成绩的总报表,学生可以查看个人成绩。同时系统还可以加载分数和保存分数。其系统总体用例图如图2.1所示:图 3.1 系统总体用例图3.3学生信息用例图学生信息管理模块包括三类角色,可分别根

13、据自己的权限对个人信息进行增加、删除和修改等操作。其用例图如图3.2所示:图 3.2 学生信息用例图3.4管理员信息用例图管理员信息管理模块包括两种角色,根据不同的权限可以添加管理员、查看管理员、删除管理员,还包括登录, 管理员信息用例图如图3.3所示:图 3.3 管理员信息用例图4系统概要设计4.1 软件设计的原则1模块化模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。Meyer提出了五条标准,可以用这五条标准来评价一种设计方法定义有效的模块系统的能力。下面列出这五条标准。(1)模块可分解性如果一种设

14、计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。(2)模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。(3)模块可理解性如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。(4)模块连续性如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。(5)模块保护性如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最。采用模块化原理可以使软件结构清

15、晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。2抽象人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。3逐步求精逐步求精是人类解决复杂问题时采用的基本技术,也是

16、许多软件工程技术(例如,规格说明技术,设计和实现技术、测试和集成技术)的基础。可以把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。”求精实际上是细化过程。我们从在高抽象级别定义的功能陈述(或信息描述)开始。也就是说,该陈述仅仅概念性地描述了功能或信息,但是并没有提供功能的内部工作情况或信息的内部结构。求精要求设计者细化原始陈述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。4信息隐藏应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要

17、这些信息的模块来说,是不能访问的。4.2 系统HIPO图HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。根据系统的模块层次结构可得到系统HIPO图,本软件的HIPO图如图4.1所示。学生成绩管理系统登录1.0查询2.0编辑3.0存储4.0管理6.0打印5.0学生登录1.1人力资源管理者1.2学生基本信息2.1添加3.1删除3.2修改3.3系统管理6.1管理员1.3教师基本信息2.2图 4.1 系统HIPO图模块是数据说明、可执行语句等程序对象的集合。是可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是将程序划分成若干个模块,

18、每个模块完成一个子功能,把这些模块集合起来组成一个整体,可以完成指定的功能满足问题的要求。模块化设计不仅降低了系统的复杂性,使得系统容易修改,而且推动了系统各个部分的并行开发,从而提高了软件的生产效率。以下为成绩管理的IPO表,如图4.2所示:图 4.2 成绩管理IPO表4.3 数据库表设计逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。E-R图所需解决的问题是如何确定实体和实体间的关系,如何确定这些关系模式的属性和码。数据库中两实体间1:n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作

19、为属性,主码为n端实体的主码。以下为本系统中部分表的简单介绍。1、管理员基本信息表包含管理员编号、管理员姓名、管理员密码,设计时注意AdminID设为主键,如表3.1所示:表 4.1 管理员基本信息表字段名数据类型说明AdminIDInt管理员编号NameVarchar(10)管理员姓名PasswordVarchar(10)管理员密码2、学生基本信息表包含的信息是学生编号、学生姓名、学生性别、学生年龄、家庭住址、联系电话等信息,设计时注意ID字段设为主键,设为Int类型,如表3.2所示:表 4.2 学生基本信息表字段名数据类型说明IDInt学生编号NameVarchar(10)学生姓名 Sex

20、Char(10)性别AgeInt年龄 AddressVarchar(50)家庭住址PhoneChar(15)联系电话3、教师基本信息表包含教师编号、教师姓名、教师年龄、家庭住址、联系电话、所教科目等信息,设计时注意ID字段设为主键,设为Int类型,如表4.3所示:表 4.3 教师基本信息表字段名数据类型说明IDInt教师编号ONameVarchar(10)教师姓名AgeInt年龄 AddressVarchar(50)家庭住址 PhoneChar(15)联系电话ObjectVarchar(15)所教科目4、成绩基本信息表包括学生编号、科目类型、任课教师、所得分数,ID设为主键,如表4.4所示:表

21、 4.4 成绩基本信息信息表字段名数据类型说明IDInt学生编号OTypeVarchar(10)科目类型ONameVarchar(10)任课教师Gradeint所得分数5系统详细设计5.1 系统程序流程图5.1.1 管理员登录模块管理员登录的流程是:如果管理员存在,则直接输入账号密码,系统判断账号密码是否正确,如果输入不正确,重新输入,直到输入正确之后才可以进入系统;当管理员不存在时,作者选择注册,根据个人详细情况输入个人信息,系统将会判断输入的信息是否正确,直到输入的信息正确之后才注册成功,然后输入注册的账号密码登录系统,系统仍会判断账号密码是否正确,直到输入正确的账号密码才会进入系统。其流

22、程图如图5.1所示:图 5.1 管理员登录流程图5.1.2 成绩管理模块成绩管理的流程是:管理员输入账号密码之后,系统判断输入账号密码是否正确,不正确,重新输入直到正确才可以进入后台管理系统,选择成绩管理,选择要进行审核的成绩,进行编辑修改,之后再进一步审核,确定成绩是否录用,如果是存储成绩,则会显示在系统前台的首页。其流程图如图4.2所示:图5.2 成绩管理流程图5.2 系统过程设计 过程设计的任务不是具体地编写程序,而是要设计出程序的“蓝图”,程序员根据这个蓝图写出实际的代码。因此,过程设计的结果基本上决定了最终的程序代码的质量。在软件的生命周期中,实际上对于长期使用的软件系统而言,人读程

23、序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是过程设计的逻辑基础。N-S图是一种符合结构化程序设计原则的图形描述工具,又称之为盒图。它有以下特点:1) 功能域明确,可以从盒图上一眼就看出来。2)不可能任意转移控制。3)很容易确定局部和全程数据的作用域。4)很容易表明嵌套关系,也可以表示模块的层次结构。系统前台的N-S图,如图5.3所示:图 5.3 系统前台N

24、-S图PAD 是问题分析图(Problem Analysis Diagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,是一种用结构化程序设计思想表现程序逻辑结构的图形工具,将这种图翻译成程序代码比较容易。PAD图的主要优点如下:(1)使用表示结构化控制的PAD符号所设计出来的程序必然是结构化程序。(2)PAD图描述的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一层结构。随着程序层次增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线,PAD图中竖线的总条数就是程序的层次数。(3)用 PAD 图表现程序逻辑易读、易懂、易记。 PAD图是二维树形结构的图形,程序从图

25、中最左竖线上端的结点开始执行,自上而下,从左到右顺序执行,遍历所有结点。(4)有利于提高软件的可靠性和软件生产率。容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可以省去人工编码的工作,有利于提高软件的可靠性和软件生产率。(5)既可用于表示程序逻辑,也可用于描述数据结构。(6)PAD 图的符号支持自顶向下、逐步求精方法的使用。开始设计者可以定义一个抽象的程序,随着设计工作的深入而使用 def 符号逐步增加细节,直至完成详细设计,系统前台的PAD图,如图5.4所示:图 5.4 系统前台PAD图6 模块分析6.1 用户管理模块添加用户,删除用户:public void man

26、agementUser(String sa) interFram = new JInternalFrame(sa, true, true, true, true);interFram.setBounds(0, 0, frm1.width, frm1.height);interFram.validate();interFram.setVisible(true);jkjkjk = new 管理用户();interFram.add(jkjkjk);add(interFram, BorderLayout.CENTER);添加用户返回添加用户显示用户信息是否开始返回删除用户显示用户信息 图6.1 用户管

27、理流程图6.2增加学生信息模块对学生信息进行增加:public void addC(String sa) interFram = new JInternalFrame(sa, true, true, true, true);interFram.setBounds(0, 0, frm1.width, frm1.height);interFram.validate();interFram.setVisible(true);jkjkjk1 = new 信息();interFram.add(jkjkjk1);add(interFram, BorderLayout.CENTER);stu 学生 exte

28、nds JPanel private static final long serialVersionUID = -2018754547089377035L;JTable table;JScrollPane scroll;String rili = new String1003;String str1, str2, str3;Object name = 学号, 学科, 成绩 ;Connection con;int lyl, lwc;Statement sql;ResultSet rs;图6.2 学生信息增加流程图是否删除是否添加返回返回输入删除学生信息输入添加信息输入修改信息显示删除信息显示修改

29、信息是否是否开始返回显示添加信息6.3 修改学生信息模块对学生的成绩及信息进行修改:String rili = new String1004;JButton f = JButton(修改信息);学生信息视图表() try con = DriverManager.getConnection(jdbc:odbc:qyl, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs = sql.executeQuery(select * from 已修改视图 WHERE

30、SNO = + + qyl + );int i = 0;while (rs.next() rilii0 = rs.getString(1);rilii1 = rs.getString(2);rilii2 = rs.getString(3);rilii3 = rs.getString(4);i+;Stringoldvalue = table.getValueAt(table.getSelectedRow(),table.getSelectedColumn().toString();int row = table.getSelectedRow();int column = table.getSel

31、ectedColumn();if(column=0)System.out.println(oldvalue);System.out.println(row+t+column);System.out.println(rilirowcolumn+2);int n = JOptionPane.showConfirmDialog(jk, 您选择删除+ rilirow1+(+rilirow2+b)+成绩n是否继续?, 提示对话框,JOptionPane.YES_NO_OPTION);if (n = JOptionPane.YES_OPTION) System.out.println(rilirow1);

32、String del = DELETE FROM SC WHERE CNO = +rilirow1+ ;图6.3修改学生成绩流程图6.4 综合查询模块class 查询 extends JPanel private static final long serialVersionUID = -4737165668992172494L;JTable table;JScrollPane scroll;String rili = new String1005;Object name = 学号, 姓名, 性别, 年龄, 系别 ;int lht, lyl, lwc;Connection con;String

33、 oldvalue = null;Statement sql;String str1, str2, str3, str4, str5;ResultSet rs;6.5 存储过程及触发器:l 触发器:删除S表中的数据以后SC表中的相应的数据也被删除CREATE TRIGGER delS_SC ON SFOR DELETE AS declare SNO_DEL char(12)select SNO_DEL =SNO from deleteddelete from SCwhere SNO=SNO_DELl 触发器:更新S表中的SNO后SC表中的也相应改变CREATE TRIGGER UptateS_

34、SC ON S FOR UPDATE AS IF UPDATE(SNO)BEGINDECLARE SNO_NEW CHAR(12),SNO_OLD CHAR(12)SELECT SNO_NEW = SNO FROM INSERTEDSELECT SNO_OLD =SNO FROM DELETEDUPDATE SC SET SNO =SNO_NEW WHERE SNO =SNO_OLDENDl 触发器:删除C表中的信息后SC表中的相应信息也会被删除掉CREATE TRIGGER delC_SC ON CFOR DELETE AS declare CNO_DEL char(2)select CNO

35、_DEL =CNO from deleteddelete from SCwhere CNO=CNO_DELl 触发器:更新C表中的信息后SC表中的相应信息也会随着改变CREATE TRIGGER UptateC_SC ON C FOR UPDATE AS IF UPDATE(CNO)BEGINDECLARE SNO_NEW CHAR(12),SNO_OLD CHAR(12)SELECT SNO_NEW = CNO FROM INSERTEDSELECT SNO_OLD =CNO FROM DELETEDUPDATE SC SET CNO =SNO_NEW WHERE CNO =SNO_OLDE

36、NDl 触发器:删除T表中的教师信息后TC表中的相应信息也会别删掉CREATE TRIGGER delT_TC ON TFOR DELETE AS declare SNO_DEL char(12)select SNO_DEL =TNO from deleted7系统测试首先进入NETBEANS,打开工程person.dsw,然后进入源程序,接着选择Build下的Execute person.exe即可,也可以不打开工程,直接双击person文件夹下的debug或release子文件夹下的person.exe文件即可运行程序。1. 系统登录界面,如图7.1-7.3所示。图 7.1图 7.2图 7

37、.32.系统主界面,如图7.4所示。图 7.43.增加学生信息界面,如图7.5所示。图 7.54.修改学生信息界面,如图7.6所示。图 7.65.查找学生信息界面,如图7.7所示。图 7.7本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系

38、统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。8结论继C+之后学习Java 程序设计语言会感觉很轻松,因为Java 与C+语法类似,并把C+中一些较低级和较难以理解的功能都去掉了,如多继承、指针等,同时Java增强了部分功能,如“+

39、”运算符的重载。对于初学Java的人而言,难点是 Java中的 引用、初始化一个类过程等。总的来说,Java 其易于学习、高效率的执行方式、平台无关性、分布式与高安全性及其丰富的API文档和类库等特点都说明Java 是程序设计语言的伟大进步的表现。可以说这么说,本次课程设计综合考察了我们对Java程序设计知识的掌握熟练程度和实际运用能力。其间,涉及到了Java 中的绝大多数的知识点,如Java图形用户界面设计、Java的异常处理机制、Java中的多线程程序设计、Java输入输出流等。程序实现的关键在于功能的合理划分以及各个包或者类之间的通讯问题,只要分析清楚这两点,剩下的就是按部就班的写代码了

40、。所以设计是关键。功能实现了,再就是如何对程序进行性能优化的问题。如有的类需要多个对象实例,这时我们就可以使用Singleton模式产生唯一的对象实例,如“文件分割合并器”中MyWindowListener类;文件操作中加入缓冲机制;对与图像可以使用使用双缓冲区等等。学习Java,我推荐使用 “六步走”的方法,循序渐进:第一步是安装好JDK,写一个Hello World。 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是packa

41、ge和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的Java深度历险,对这两个问题进行了深入的探讨。 第二步是学习Java的语法。第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。第四步就是熟悉Java的类库。第五步,Java Web 编程。第六步,J2EE编程。总之,作为一门程序设计语言,Java 的学习务必要做到多看多写多想多请教。多看,看高手、大师的程序,借鉴其解题思路和程序架构;多写,学习程序设计很重要的就是要自己亲自动手写代码,切忌犯眼高手低的弊病,而且这样记忆非常深刻;多想,程序调试中出现一些“莫明其妙”的问题,为什么会这样而不是那样;多请教:程序设计说到底是要彻底搞清设计该语言的人的思想,遇到问题想不通应该请教同学、老师等。这样可达到事半功倍的目的。9参考文献1. 黄晓东JAVA课程设计案例精编(第二版)M中国水利电出版社,20052. 徐迎晓JAVA语法及网络应用设计。清华大学出版社。3. 技术交流网站CSDN:网址: 4. 技术交流网站博客园:网址: 4. 技术交流网站博客园:网址:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号