Java程序设计案例教程.ppt

上传人:本田雅阁 文档编号:3481891 上传时间:2019-09-01 格式:PPT 页数:67 大小:956.02KB
返回 下载 相关 举报
Java程序设计案例教程.ppt_第1页
第1页 / 共67页
Java程序设计案例教程.ppt_第2页
第2页 / 共67页
Java程序设计案例教程.ppt_第3页
第3页 / 共67页
Java程序设计案例教程.ppt_第4页
第4页 / 共67页
Java程序设计案例教程.ppt_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《Java程序设计案例教程.ppt》由会员分享,可在线阅读,更多相关《Java程序设计案例教程.ppt(67页珍藏版)》请在三一文库上搜索。

1、书名: Java程序设计案例教程 ISBN: 978-7-111-33838-3 作者:包海山 出版社:机械工业出版社 本书配有电子课件,Java程序设计案例教程 高职高专 ppt 课件,38168,Java程序设计案例教程 高职高专 ppt 课件,模块一 Java应用实例总体概览,目标 通过需求分析把用户的功能、性能、质量描述转化为程序员所能理解的功能描述,并在用户描述的基础上去除不合理的地方,补充系统缺失的地方。然后,通过概要设计对系统的对象模型、数据结构、功能模块、界面接口等进行总体设计,为下一步的详细设计、编码测试提供准确、有效的数据基础。因此,程序员应该从软件开发项目的需求分析和概要

2、设计入手,才有可能正确地进行详细设计、编程测试等开发工作,切实满足用户的应用需求。 任务,Java程序设计案例教程 高职高专 ppt 课件,学习本模块涉及哪些重要内容?,本模块导读 软件开发项目的需求分析、概要设计是软件详细设计和编码测试的必要前提和依据。通过需求分析把用户的功能、性能、质量描述转化为程序员所能理解的功能描述,并在用户描述的基础上去除不合理的地方,补充系统缺失的地方。然后,通过概要设计对系统的对象模型、数据结构、功能模块、界面接口等进行总体设计,为下一步的详细设计、编码测试提供准确、有效的数据基础。因此,程序员应该从软件开发项目的需求分析和概要设计入手,才有可能正确地进行详细设

3、计、编程测试等开发工作,切实满足用户的应用需求。 本模块通过贯穿全书的应用程序开发案例“单机版考试系统”,主要介绍一个简单的应用程序开发项目中的需求分析、概要设计的基本方法和相关知识。 通过本模块的学习和实训,学员应该掌握简单的应用程序开发项目的需求分析和概要设计的实践技能和理论知识。 本模块要点 掌握简单的应用系统需求分析方法 掌握简单的应用系统概要设计方法 熟悉“单机版考试系统”开发案例的设计目标和基本内容,Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任务1 开发背景及目标简介 知识导读 目应用软件开发项目中的“开发背景及目标”在某些需求规格说明书

4、中称为“引言”。这里主要是简述项目提出方对新系统开发(或升级原有系统)的迫切需要和预期达到的开发目标。 开发背景:随着国家各类认证考试的普及,考生和教师人数倍增,出现了多种网络在线考试/自测平台。经分析传统的网络考试/自测平台有如下缺点:试题由考试平台开发者单方组卷,对应的课程类型单一,无法满足各门课程教学考试的现实需要。学员或教师无法自己确定考试内容的深浅度,学员之间无法自行组卷相互测试。网络依赖性太强,单机(离线)环境下无法进行练习或考试。为了弥补这些缺陷,提高学员和教师考前练习和自测的自主性、灵活性,XX培训中心决定开发单机版考试系统。 开发目标:该单机版考试系统可运行于Windows9

5、8/2000/XP等桌面操作系统平台(和Access数据库),试题库由文本文件(或数据库)格式生成,教师预先将试题分发到学员用机上进行考试,学员也可自己增删考试题或自行组卷,随时进行自测或相互测试。,Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任务2 应用需求分析 需求分析 经过市场调研,并与教师和学员的详细交流,确定该系统包含三类用户,分别是学员用户、教师用户和后台管理员用户,其各项具体功能描述如下。其中,带“*”标记的内容可作为实训任务或拓展练习的内容,让学员在课外独立完成。 学员用户功能 注册和登录,学员可自由地注册用户并登录本考试系统; *个人

6、信息的修改,注册后学员可以修改自己的注册信息; 查询和选答试题,查询自己感兴趣的试题; 申请试题,如果学员还不属于某个试题,可提交该试题的申请表; 查看结果,学员交卷后可以对照标准答案查看本次答卷的结果和成绩; *计时功能:学员开始答题后系统自动计时,到时自动收卷。(系统基本功能,显示在学员用户窗体界面),Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任务2 应用需求分析 教师用户功能 *个注册和登录,教师可自由地注册用户并登录本考试系统; 个人信息的修改,注册后教师可以修改自己的注册信息; *组卷功能,教师可以自行组卷与标准答案,并将其追加到题库中;(

7、系统数据库扩展功能,教师可以在自己的窗体中组卷) 修改功能,教师可以修改某一套考试卷内容以及相应的标准答案内容; *阅卷功能,客观题由系统自动阅卷。(系统扩展功能,教师可以手工评阅主观题) 管理员用户功能 题库管理,管理员可以对题库中的考试信息进行维护; 用户管理,管理员可以对学员用户和教师用户进行管理。 成绩管理,管理员可以对考试成绩和答题结果内容进行管理; *管理员管理,主要是超级管理员对普通管理员的管理;(*系统具有可扩展性) 计时管理,管理员可以调整考试时长。(数据库扩展开始时间、结束时间、加时),Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任

8、务2 应用需求分析 可行性分析 经可行性分析是由项目承接方(或设计方)进行的项目分析结果,是项目提出方决策者进行决策的依据,同时也决定了项目是否继续进行。一般情况下,可行性分析的结果是生成可行性分析报告。本案例的可行性分析报告内容如下: 引言 XX培训中心为了提高教师与学员的自主练习、自测与互测的效率和便捷性,更好地开展考前培训工作而提出开发该单机版考试系统。 编写目的 从公司的现有技术水平、开发经验以及XX培训中心的需求分析等几个方面来分析单机版考试系统的开发可行性,为公司以及该XX培训中心的决策层提供决策依据。,Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求

9、分析,子任务2 应用需求分析 项目简况 项目提出方:XX培训中心 项目承接方:YY软件公司 系统最终用户:XX培训中心的学员、教师及管理人员,注意!,项目简况是对该项目参与方的简要介绍,一般是进行项目中的各种角色的定义。如,对项目提出方(或称项目需求方,即为本案例的用户方)、项目承接方(或称项目开发商,即为本案例的开发方)以及用户、项目设计方在本项目中的角色和职责分别进行定义。,Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任务2 应用需求分析 可行性分析的前提 系统要求 :系统中应该有各种试题的信息,用户可以自己查询试题。学员可以自己选择试题后进行答题

10、、查看成绩、查看标准答案等操作,教师可以为自己辅导的课程追加模拟试题和标准答案以及阅卷等操作,而管理员可以进行日常的系统维护工作,对试题库进行增删改查等操作,对用户进行管理,从而确保考试系统的正常运行。 系统目标 能够进一步提高培训考试的效率和便捷性,更好地了解学员对所学课程的掌握程度,从而提高考前培训的质量。,Java程序设计案例教程 高职高专 ppt 课件,任务一 Java应用实例需求分析,子任务2 应用需求分析 对XX培训中心的项目支出与收益的分析 培训中心现有的模拟考试方式是教师和学员约定时间和地点进行现场考试,对于这样的考试方式,时间、地点等因素决定模拟考试工作是否能顺利进行,而每个

11、学员的掌握水平和教师的培训进度难以同步等因素,使得模拟考试工作开展起来难度较大,教师不了解学员的学习情况,造成培训效果不理想等果。培训中心支出部分经费开发该系统之后,可以在很大程度上改善培训质量,确保模拟考试工作的顺利开展,而且可以非常方便地采用国家历年认证考试试题作为基础为所有课程建立题库。同时对于学员来说,随时可以利用自己的PC机进行自测练习,掌握国家试题的动向和深广度。对于教师来说,可以方便地查阅学员自测练习的结果,掌握每个学员的学习进度,并针对性地调整培训重点和个别辅导内容。这样,可以迅速提高培训的实效。,任务一 Java应用实例需求分析,子任务2 应用需求分析 对公司现有技术支持的分

12、析 公司自创办以来一直致力于Java平台的应用软件开发,尤其是教学、考试管理类系统的开发,有着一批优秀的研发人员,经验丰富,完全可以在规定时间内完成开发任务。 对公司项目支出与收益的分析 该项目培训中心标的开发费为q万元,要求在m个月内完成,免费维护期为一年。经过公司相关部门的预算审核,需要投入n个人月工作量,而公司最后大约可得净利润p万元。而且该系统具有一定的通用性,通过开发该系统,可以进一步积累公司对该类管理软件的开发经验,提高公司的声誉,因此公司决策层认为可以开发该系统。 社会因素的分析 该系统完全由本公司自主开发,严格按照本公司的开发流程进行开发,因此在法律方面没有任何的侵权行为,完全

13、符合开发合同的相关条款。,任务一 Java应用实例需求分析,子任务2 应用需求分析 结论 经过上述分析,公司在技术上完全有能力开发该考试系统,而且时间上也比较充裕,利润也比较可观,同时也有利于公司进一步积累对该类管理软件开发经验。,任务一 Java应用实例需求分析,知识点详解 软件生命周期相关知识 软件生命周期(Software Life Cycle)是人们在研究软件开发过程时所发现的一种规律性的事实。如同人的一生要经历婴儿期、少年期、青年期、中年期、老年期直至死亡的全过程一样,一个软件产品也要经历计划、分析、设计、编程、测试、维护直至被淘汰的全过程。软件的这一全过程被称为软件生命周期。 目前

14、,软件生命周期各阶段的划分尚不统一,有的分得粗些,有的分得细些,所包含的实际内容也不完全相同。,任务一 Java应用实例需求分析,知识点详解,表1-1 Boehm定义的软件生命周期模型,1970年,Boehm提出了如表1-1所示的软件生命周期模型。,任务一 Java应用实例需求分析,知识点详解,表1-2 GB 85661988定义的软件生命周期模型,1988年制订和公布的国家标准GB 85661988计算机软件开发规范中将软件生命周期划分为如表1-2所示的八个阶段。,任务一 Java应用实例需求分析,知识点详解,20世纪90年代初出现软件工程的概念之后,1995年制订和公布的国家标准GB/T

15、8566 1995信息技术软件生存期过程定义了软件生命周期的七个主要过程,如表1-3所示。,表1-3 GB/T 85661995定义的软件生命周期模型,任务一 Java应用实例需求分析,知识点详解,1995年ISO对软件生命周期过程做了调整,公布了新的国际标准ISO/IEC 12207信息技术软件生存期过程。2001年11月,国家质量监督检验检疫总局将其等同采用为国家标准GB/T 85662001信息技术软件生存周期过程。该标准全面、系统地阐述了软件生命周期的三组共十七个过程活动和任务,如表1-4所示。,表1-4 GB/T 85662001定义的软件生命周期模型,任务一 Java应用实例需求分

16、析,知识点详解,1999年,Rational软件公司的三位软件工程大师Ivar Jacobson、Grady Booch和James Rumbaugh联合编写了一部划时代的著作统一软件开发过程(The Unified Software Development Process)。该书清楚地说明了支持整个软件生命周期的统一软件开发过程是一个实例驱动的、以架构为中心的、迭代与增量的开发过程。统一软件开发过程是在重复一系列组成软件生命周期的循环,每次循环都包括如下的四个阶段和五种工作流,分别如表1-5和表1-6所示。,表1-5 统一过程定义的软件生命周期模型的四个阶段,任务一 Java应用实例需求分析

17、,知识点详解,表1-6 统一过程定义的软件生命周期模型的五种工作流,任务一 Java应用实例需求分析,知识点详解 软件项目需求分析相关知识 目前认为,软件生命周期由初始、细化、构造和移交四个阶段组成。需求分析是开发者在初始阶段正确捕捉用户实例的需求,使开发导向正确的系统,并生成一个有助于细化阶段进行架构设计的需求描述过程。因此,它是应用软件开发项目初始阶段的工作流主体,是细化阶段和构造阶段的主要依据,也是估算开发成本和进度的基础,是最关键工作流之一。 定义Cookie 所谓“需求分析”,是指对要解决的问题进行详细分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以

18、说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的计算机系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要,然后才能够分析和寻求新系统的解决方法,任务一 Java应用实例需求分析,知识点详解 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及需求评审。 在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过

19、程。如果在需求分析过程中系统分析员未能全面地理解顾客的需要,那么最后的软件实际上不可能解决顾客的问题,或者软件无法在规定的时间里完成开发工作。 特点 用户与开发人员很难进行交流。在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么“。但是在开始时,开发人员和用户双方都不能准确地提出系统要“做什么?“。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔

20、阂。,任务一 Java应用实例需求分析,知识点详解 用户的需求是动态变化的。对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。 在系统变更的代价呈非线性增长。需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技

21、术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。 任务 确定对系统的综合要求。虽然功能需求是对软件系统的一项基本需求,但却并不是唯一的需求,通常对软件系统有功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求等多方面的综合要求。,任务一 Java应用实例需求分析,知识点详解 分析系统的数据要求。任何一个软件本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息很大程度上决定了系统的面貌,对软件设计有深远的影响。因此,必须分析系统的数据要求,这是软件分析的一个重要任务。分析系统的数据要求通常采

22、用建立数据模型的方法。 复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。 利用数据字典可以全面地定义数据,但是数据字典的缺点是不够直观。为了提高可理解性,常常利用层次方框图和Warnier图等图形化工具辅助描述数据结构。 导出系统的逻辑模型。综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、E-R图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。 修正系统开发计划。根据在分析过程中获得的对系统的更深入的了解,可以比较准确地估计系统的成本和进度,修正以前定制的开发计划。,任务一 Java应用实例需求分析,知识点详解 方法 首先调查组织机构情况。包

23、括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。 然后调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么 协助用户明确对新系统的各种要求。包括信息、处理、完全性与完整性方面的要求。 确定新系统的边界。确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。 常用的调查方法有跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写以及查阅记录等等。 通过调查了解了用户需求后,还需要进一步分析和表达用户的需求。 分析和表达用户需求的方法主要

24、包括自顶向下和自底向上两类方法。,任务二 Java应用实例总体设计,子任务1 功能设计 系统的功能目标类 经过详细的需求分析与项目调研,最终确定该单机版考试系统的最终实现目标如下: 是实现需求分析阶段提出的所有功能; 用户操作要有权限控制,教师和学员用户的权限不同; 教师进入管理界面有提示已答卷(已阅卷、未阅卷)和未 答卷的试题个数; 界面要清晰明朗,使用方便。,任务二 Java应用实例总体设计,子任务1 功能设计 系统的功能结构图,XX培训中心单机版考试系统,学员用户功能,教师用户功能,管理员用户功能,注册和登录,*修改个人信息,查询试题和申请考试,查看自己的成绩和标准答案,注册和登录,修改

25、个人信息,修改试题,*组卷,*阅卷,注册和登录,修改个人信息,题库管理,用户管理,计时管理,成绩管理,*管理员管理,任务二 Java应用实例总体设计,子任务1 功能设计 用户操作功能设计效果 经该单机版考试系统主要分为学员端、教师端和管理端,下面首先向读者介绍该系统的最终设计效果,按照操作步骤具体效果如下: 启动系统,然后在打开的登录窗体输入用户名、密码,即可进入主窗体; 如果登录者是学员用户,进入的是学员端的考试主窗体界面,显示考试试题、题目、剩余时间等。在该窗体界面,学员可以进行与自己相关的各项操作; 如果登录者是教师用户,则进入的是教师端的组卷/阅卷主窗体界面,显示考试试题组卷或阅卷相关

26、内容。在该窗体界面,教师可以修改试题、组卷、阅卷等各项操作;,任务二 Java应用实例总体设计,子任务1 功能设计 在后台登录窗体输入管理员用户名和密码,可登录进入管理端界面,显示用户、题库、成绩、计时管理功能。在该窗体界面,管理员对题库、用户、计时、成绩进行相应的管理操作。如果登录者是超级管理员,则还显示管理员管理(用户管理、角色管理、权限管理等)功能。,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 试题文本文件格式设计 试题文本文件的格式定义如下: 文件名可由命题者(教师或管理员)任意指定,但扩展名必须是.txt,无控制格式。 文件内容必须遵守如下的书写约定: 试题

27、文件的第一行是全部试题的答案,答案之间不可以有空格; 第二行是试题文件的考试用时,如0:50:30表示考试用时为50分30秒; 每道题目之间用“*”开头的字符串分隔; 最后一行是endend。 文件名可由命题者(教师或管理员)任意指定,但扩展名必须是.txt,无控制格式。 本案例定义了三个类,如图1-2所示。这些类之间的依赖关系定义如下:,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计,EnglishTest(主类),TestArea,ReadTestquestion,图1-2 类之间的依赖关系,EnglishTest.java: 该Java文件生成的类主要负责创建标准化

28、考试系统的主窗口。该类含有main方法,程序从该类开始执行。在主窗口,用户可以通过下拉列表选择一套试题,然后开始以每道题目为单位读取试题内容进行考试。 TestArea.java 该Java文件生成的类负责创建考试区域对象。是EnglishTest窗口中的主要成员变量,考试区域提供了试题选取、查看分数、计时器、试题显示等功能。 ReadTestquestion.java 该Java文件生成的类ReadTestquestion是TestArea试题区域中的主要对象之一,负责读取试题、计算分数等。,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 试题数据库设计 数据模型分析:

29、 首先明确在单机版考试系统中的相互关联的若干个实体,并分析和设计表示这些实体间关系的E-R图。然后根据E-R图创建对应的数据库表,再将关系型的数据库表一一映射为Java数据对象,对这些Java数据对象进行编程,实现用户需求。在此期间,从数据库表映射到Java数据对象的过程就是对象-关系映射图(O/R Mapping)。 E-R图设计 单机版考试系统是学生和老师之间组卷、考试的桥梁,所以该系统的实体主要包括用户、试题、题目、选题答卷、成绩等。,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 用户实体的信息结构主要包括用户编号、用户名、密码、用户角色、用户权限以及注册时间等,

30、还可添加性别、出生日期、电子邮件、图像URL,具体如图1-3所示,用户编号,用户名,密码,性别,出生日期,图像URL,电子邮件,用户角色,用户权限,注册时间,用户,图1-3 用户实体信息结构图,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 试题实体的信息结构主要包括试题编号、试题名称、试题类别、阅卷方式、满分值、分数线、限定时长,以及教师编号、创建日期等创建该试题的信息,具体如图1-4所示。,试题编号,教师编号,试题名称,试题类别,评卷方式,满分值,分数线,答题时限,创建日期,试题,图1-4 试题实体信息结构图,任务二 Java应用实例总体设计,子任务2 试题文本文件和

31、数据库设计 选题答卷实体的信息结构主要包括选题编号、学员编号、试题编号、开始时间、结束时间等,具体如图1-6所示。,选题编号,学员编号,试题编号,选题答卷,开始时间,结束时间,图1-6 选题答卷实体信息结构图,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 成绩实体的信息结构主要包括成绩编号、学员编号、试题编号、总分数,以及答题时长等,具体如图1-7所示。,成绩编号,学员编号,总分数,答题时长,成绩,图1-7 成绩实体信息结构图,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 根据上述各实体的信息结构图,可以发现上述实体之间存在的相互关系,如教师可以

32、处(组卷、阅卷)试题;学员可以对选择试题后答题,且学员可以查询成绩;管理员可以对成绩进行归档管理等等。实体之间的具体关系如图1-8所示。,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计,试题,编辑,n,成绩,n,归档,用户,查询,n,1,1,答题,n,n,处理,教师,学员,管理员,1,1,图1-8 E-R图,任务二 Java应用实例总体设计,子任务2 试题文本文件和数据库设计 数据库表逻辑结构设计: 首先介绍数据库表的逻辑结构。每个数据库表是表示一个实体的属性集合的二维表,每个属性对应二维表的一个列(Column),通常称为字段(Field)。每个字段需要定义字段名称、数

33、据类型、字段大小(亦称字段长度),还需要指出该字段是否作为该数据库表的主键(Primary Key,PK)唯一标识符(Identifier,ID),以及是否必须输入(非空,Not Null)等等。 二维表中的每个行(Row,或Line)称为数据库表的一条记录(Record),所以一条记录是具有实体所有属性值的一个实例,一个数据库表中可以存放相互不冗余的多条记录。 数据库物理结构设计 根据上述数据库表的逻辑结构,可以在Access数据库中创建这些数据库表,并插入一些数据,用于数据库和程序的测试。创建数据库表并插入数据的方法参见模块八相应内容。,任务二 Java应用实例总体设计,知识点详解 数据库

34、设计方法与步骤简介: 需求分析: 了解用户的数据需求、处理需求、安全性及完整性要求; 调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。 概念模型设计: 通过数据抽象,设计系统概念模型,一般为E-R模型; 对于用户要求描述的现实世界的事物,如一个工厂、一个商场或者一个学校等,通过对其中信息的分类、聚集和概括,建立抽象的概念模型。这个概念模型应反映现实世界各事物的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算

35、机上的具体实现细节,用一种抽象的形式表示出来。,任务二 Java应用实例总体设计,知识点详解 逻辑结构设计: 设计系统的模式和外模式,对于关系模型主要是基本表和视图; 主要工作是将现实世界的概念模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是“逻辑数据库”。 物理结构设计: 设计数据的存储结构和存取方法,如索引的设计; 根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和

36、数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是“物理数据库”。,任务二 Java应用实例总体设计,知识点详解 系统实施与验证设计: 组织数据入库、编制应用程序、试运行; 在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般情况下,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在进行上述数据库设计时就应考虑到今后修改设计的可能性和方便性。,任务二 Java应用实例总体设计,知识点详解 运行维护设计: 系统投入运行,长期的维护工作; 在数据库系统正式投

37、入运行的过程中,必须不断地对其进行调整与修改。 时至今日,数据库设计的很多工作仍需要人工进行,除了关系型数据库已有一套较完整的数据范式理论可用来指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式设计。因此,数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更加工程化、规范化和方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法。,任务二 Java应用实例总体设计,知识点详解 Java程序中连接数据库的方法: 通过JDBC-OD

38、BC桥来连接: JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。对于Windows平台,该本地库是一个动态连接库DLL,库名为JDBCODBC.DLL。 由于JDBC在设计结构上与ODBC比较相似,该桥接器程序内部把JDBC的方法映射到ODBC调用上,所以JDBC就可以和任何可用的ODBC驱动程序进行交互了。其优点是使JDBC具备了访问几乎所有数据库的能力。通过桥接器的连接方式如图1-9所示;,任务二 Java应用实例总体设计,知识点详解 通过有关厂商提供的相应驱动程序来连接: 通过厂商驱动程序实现的方法是直接使用各数据库厂商为专用网络协议

39、提供的驱动程序,通过它可以直接将JDBC API调用转换为直接网络调用。这种调用方式一般性能比较好,而且也是最简单实用的方法。因为它不需要安装其他的库或中间件。几乎所有的数据库厂商都为自己的数据库提供了专门的JDBC驱动程序,用户也可以从第三方厂商获得所需驱动程序, ,用户也可以从第三方厂商获得所需驱动程序。如,从网址http:/ Java应用实例总体设计,知识点详解 首先,需要安装JDBC的驱动程序,这里推荐安装SP3版本。用户可以到微软官方网站http:/ Java应用实例总体设计,知识点详解 Microsoft SQL Server-HOMEjdbclibmssqlserver.jar;

40、 Microsoft SQL Server-HOMEjdbclibmsutil.jar; 安装完毕即可用微软的驱动程序连接数据库了。,任务二 Java应用实例总体设计,知识点详解 Java连接其他数据库的关键代码: 下面给出Java连接其他流行数据库的关键代码: 连接Oracle8/8i/9i数据库(thin模式); Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance(); String url=“jdbc:oracle:thin:localhost:1521:orcl“; /orcl为数据库的SID String user

41、=“test“; String password=“test“; Connection conn= DriverManager.getConnection(url,user,password);,任务二 Java应用实例总体设计,知识点详解 连接DB2数据库 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance(); String url=“jdbc:db2:/localhost:5000/TestQuestion“; /TestQuestion为用户的数据库名 String user=“admin“; String pass

42、word=“; Connection conn= DriverManager.getConnection(url,user,password);,任务二 Java应用实例总体设计,知识点详解 连接Sybase数据库 Class.forName(“com.sybase.jdbc.SybDriver“).newInstance(); String url =“ jdbc:sybase:Tds:localhost:5007/TestQuestion“; /TestQuestion为用户的数据库名 Properties sysProps = System.getProperties(); SysPro

43、ps.put(“user“,“userid“); SysProps.put(“password“,“user_password“); Connection conn= DriverManager.getConnection(url, SysProps);,任务二 Java应用实例总体设计,知识点详解 连接Informix数据库 Class.forName(“com.informix.jdbc.IfxDriver“).newInstance(); String url = “jdbc:informixsqli:/123.45.67.89:1533/TestQuestion:INFORMIXSER

44、VER=myserver; user=testuser;password=testpassword“; /TestQuestion为用户的数据库名 Connection conn= DriverManager.getConnection(url);,任务二 Java应用实例总体设计,知识点详解 连接MySQL数据库 Class.forName(“org.gjt.mm.mysql.Driver“).newInstance(); String url=“jdbc:mysql:/localhost/TestQuestion?user=soft,任务二 Java应用实例总体设计,知识点详解 连接Pos

45、tgreSQL数据库 Class.forName(“org.postgresql.Driver“).newInstance(); String url =“jdbc:postgresql:/localhost/TestQuestion “ /TestQuestion为用户的数据库名 String user=“myuser“; String password=“mypassword“; Connection conn= DriverManager.getConnection(url,user,password);,任务三 认识Java应用实例的窗体界面,目标任务 【案例】分析/设计(详细设计)单

46、机版考试系统的登录窗体、主窗体和对话框窗体界面。 根据功能设计图,本案例中将窗体划分登录窗体、主窗体、对话框窗体三种类型。其中,登录窗体是为用户(学员、教师)或管理员根据各自的身份登录本应用实例而设计;主窗体是为学员答题、查看分数和标准答案而设计;对话框窗体是为考试结束(交卷或倒计时结束)时弹出的结束窗体而设计。 在每个窗体中,通常设计一个或若干个主要元素、附加元素等窗体组成元素,并应对窗体中的每个元素的布局、区域大小进行定义。 最后,根据应用实例的操作流程需求,设计出个窗体之间的状态转换图。,任务三 认识Java应用实例的窗体界面,子任务1 登录窗体元素及布局设计 登录窗体元素 登录窗体 主

47、要元素 窗体的标题:是应用实例的名称,所以对应用实例的所有窗体,都应采用统一名称。本案例命名的标题名为“标准化模拟考试”,并附标题栏图标。 用户名:输入栏,与用户信息数据库表中注册的相应用户名进行一致性检查。 密码:输入栏,与用户信息数据库表中注册的相应用户密码进行一致性检查。 “确定”/“撤销”按钮:输入正确的用户名、密码之后,单击“确定”按钮,即可进入考试窗体;单击“撤销”按钮,退出登录窗体。,任务三 认识Java应用实例的窗体界面,子任务1 登录窗体元素及布局设计 附加元素 窗提示信息:当用户登录过程中,根据当前窗体状态分别提供相应的提示信息及图标,如在登录窗体中仅显示一个提示图标,在登

48、录失败窗体中显示提示图标和信息,等等用户名: 窗体按钮:最小化按钮、最大化/还原按钮、关闭按钮。 开发商相关信息:开发商相关信息(联系方式、版本、版权声明等)。 失败窗体和成功窗体 附失败窗体和成功窗体除了标题名以外,都可以只包含提示信息、“确定”按钮。在失败窗体中,用户单击“确定”按钮即可回到登录窗体;在成功窗体中,用户单击“确定”按钮即可进入主窗体考试环境。,任务三 认识Java应用实例的窗体界面,子任务1 登录窗体元素及布局设计 登录相关窗体布局 窗体的标题:如,“登录服务器”、“登录失败”、“登录成功”,分别出现在登录窗体、失败窗体和成功窗体,与标题栏图标显示在标题栏。 当登录失败、登录成功时的窗体中将提示图标和信息显示在窗体信息栏位置。 “确定”、“撤销”按钮设置在窗体登录窗体、登录失败/成功窗体的信息栏下方正中位置。,任务三 认识Java应用实例的窗体界面,子任务1 登录窗体元素及布局设计 主窗体是本案例单机版考试系统的核心,是学生选择试题、读取和显示试题内容(题目)、答题、查看分数的主要窗体界面。 主窗体的主要元素及其布局设计如表1-12所示 :,任务三 认识Java应用实例的窗体界面,任务四 了解Java应用实例开发流程,目标任务 【案例】给出分析单机版考试系统的开发流程。 在完成系统

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1