前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的概念结构设计的方法和步骤主题范文,仅供参考,欢迎阅读并收藏。
1.“数据库应用与发展综述”项目。学生自己查阅资料,并对数据库技术在某一领域的应用进行探究,撰写综述报告。目的是激发学生学习“数据库原理”课程的兴趣,培养其对数据库应用领域的探究兴趣,训练其文献综述的写作能力,是毕业设计综述撰写的一次训练,即训练CDIO的C。
2.“基于ER模型的概念设计与逻辑设计”项目。要求学生在提供的项目实例中选择一个,独立进行需求分析、概念结构设计、逻辑结构设计。引导学生领会设计步骤,掌握设计方法,优化各个环节,让学生在学习过程中体验到数据库应用系统设计的工程性、实用性和有趣性,即训练CDIO的D。
3.“课程设计”项目。要求以团队形式选择或自拟一个课题,遵循数据库系统设计的思想完成一个完整的CDIO项目周期,包括:构思—需求分析、设计—实施方案、实现—编写代码、运作—作品测试、展示、最后答辩、验收文档等。项目实施过程训练学生的工程意识和数据库应用系统开发的基本能力,整个过程体现CDIO。
CDIO能力培养的教学实施
1.课堂教学多样化。第一,讲授教学法。对新的、有一定难度的理论知识来说,讲授法是一种好方法。在讲授数据库系统概论、数据库体系结构、关系运算、关系规范化等内容时,主要采用了讲授法。第二,任务驱动教学法。在概念设计、逻辑设计的教学中,先通过一个案例,应用ERwin工具创建概念模型和逻辑模型,并将模型转化为具体的数据库脚本。然后给出一个简单任务,由学生动手完成任务。第三,启发式案例教学法。在讲解数据库设计时,运用一个案例,详细讲解如何进行需求分析、概念结构设计、逻辑结构设计、物理设计、程序编码及调试运行。引导学生领会设计步骤,掌握设计方法,学会评审各个环节,让学生在学习过程中体验到数据库应用系统设计的工程性、实用性和有趣性。启发式教学,可以帮助学生直观地理解概念、原理和方法,提高学生的学习兴趣,改善学习效果。第四,团队教学法。以项目为主线、团队为小组、任务目标为使命,以教师为主导、学生为主体的一种教学方法。在课程设计中采用了团队教学法,培养学生CDIO能力。
2.实践教学层次化。第一,课内实验。主要是基础性、设计性实验,以SQL的基本操作为重点,涵盖了SQLServer的安装与配置,数据库、数据表的创建维护,索引、视图和约束的创建与维护,数据的查询与更新等10个实验项目,以及“数据库应用与发展综述”项目。第二,开放实验。主要是设计性实验。以SQL的高级应用为重点,涵盖了函数操作、数据转换、SQL编程、数据库的恢复与安全、数据库对象的操作等10个实验项目,以及“基于ER模型的概念设计与逻辑设计”项目。第三,课程设计。综合性实验。学生从项目库中选择或自拟一个课题,每个课题应具有一定的综合性和复合性,训练学生的工程意识和数据库应用系统开发的基本能力。
3.课程设计体会“做中学”。“基于项目的教育和学习”和“做中学”是CDIO的核心思想。在课程结束之后,安排数据库应用课程设计。按照数据库应用系统开发过程,进行需求分析、概念结构设计、逻辑结构设计、功能设计、数据库创建、编写代码、调试、文档编写等,最终基本实现系统的功能。其别强调数据流图、数据字典、实体联系模型、基本表的分析与描述和系统基本功能的实现。图2描述了以CDIO工程教育理念的,以学生为主体、教师为主导的课程设计整体思想。课程设计采用团队操练的方式进行。一个团队由4~5名学生组成,在每个项目实施之初,由指导教师指定组长,再由组长组建团队。在组长的带领下,每个团队针对选定的具体课题,展开“用户”需求分析、研究项目实施方案、进行成员任务分派。项目实施中,团队成员之间要相互支持、共同讨论,学会思考与倾听别人的意见,学会交流沟通并解决问题,培养团队整体责任意识。项目完成后,团队要总结经验,查找不足,撰写项目报告,学会提炼成果,并在全班答辩,提高逻辑思维和知识发现的能力。经过课程设计训练之后,学生的团队合作能力、组织管理能力、创新探索意识、社会责任感等得到明显提高。
4.基于CDIO的考核方式。CDIO的教育模式要求培养学生的多种能力,而传统的笔试只能测试学生对知识的掌握程度,较难体现学生工程、团队协作、交流等能力。CDIO主张不同的能力用不同的方式进行考核,为此,在“数据库原理”课程考核评价中,我们从以下六个方面进行考核。(1)理论基础。通过阶段性小测验、期末考试。(2)技术能力。通过完成15个实验任务和3个课程级项目。(3)工程素质。通过项目开发生命周期的过程实施。(4)沟通能力。通过课程中的讨论和课程级项目、课程设计答辩。(5)协作能力。通过考查项目完成情况、团队成员的分工和任务完成情况。(6)创新能力。通过考查课程设计中学生在基础需求上所做的扩展和在基础功能上做的扩展及其实现情况。这六个方面的考核通过作业、课堂讨论、实验、项目训练和期末考试四种形式的考核来进行,并按不同的权重计入最终成绩。
关键词:建筑; 结构设计; 质量; 措施;
中图分类号: TU318 文献标识码: A 文章编号:
一、建筑结构设计的基本概念
结构设计的具体程序是需要严格遵守的。建筑物的设计工作实际上存在诸多分支,这些分支具体涵盖了结构设计、电气设计、建筑设计、暖气通风设计、给排水设计等。每个分支的具体设计过程都必须围绕四个根本目标: 审美要求、功能要求、环保要求以及经济要求。建筑的结构是建筑物发挥其使用功能的基本条件,因而,结构设计也是建筑物设计过程中极为重要的组成部分之一,结构设计细分为以下四个步骤: 设计结构方案、结构分析、设计构件、绘制施工图纸。建筑结构的类型这一概念相对而言范围广、内容丰富。根据不同建筑物在具体功能要求上的差异,随着科学技术的发展,逐渐产生了诸多结构类型与结构的分类方法。从建筑物具体用途的角度,可以划分为民用建筑与工业建筑。如果依据建筑物的层数来分类,则可以分为超高层、高层、多层、单层建筑。建筑物使用的结构材料是有所区别的,从结构类型的角度来分类,大体上有: 混合结构、砌体结构、木结构、钢结构、钢筋混凝土结构等。此外,建筑物的结构构件组成方式也存在较大的区别,从这个角度,可以划分为框筒结构、剪力墙结构、框架结构、筒中筒结构、筒体结构、框剪结构、束筒结构等。由此可见,建筑结构类型的划分方法颇多,内容也相对复杂。而建筑结构设计中还有一个很重要的名词: 概念设计。概念设计的具体含义指的是通过清晰、明确的概念结构,在不进行数值计算的情况下,根据分系统与整体结构系统间的结构破坏机理、力学关系、实验现象、震害以及工程经验所获得的原始设计思想与基本设计原则,对结构的计算结果做出合理、准确的分析,同时将计算假设与结构的实际受力状况间的差异也考虑在内,对结构或构造进行设计,尽可能保证建筑物的受力更安全、更合理、更协调。
二、概念设计在建筑结构设计中的重要意义
在结构设计中,概念设计占据极其重要的地位,结构设计步骤通常可以划分为三步: 前期选择方案阶段,中期结构计算阶段以及后期制绘施工图阶段。结构设计与分析的首要步骤就是概念设计,以上三个步骤均与科学的概念指导不可分割。一名好的结构工程师在每个项目工程设计的初始阶段,也就是建筑设计方案确定阶段,先按照自身的经验和专业基础,在心里经历一段优化过程,应用概念设计手段,能够快速、合理地构思,比较,抉择每一个结构体系,并且协助建筑师扩展或者实现建筑行业所需要的空间形式,想要的使用,构筑和形象功能,且将其定为目标,同建筑师共同决定建筑的总体结构方案,此外,还要确定整体结构体系和分体结构体系最佳的受力方案。得出来的方案一般具有清晰的概念和正确的定性,从而避免了后期不必要的运算,经济可靠性能较好。另外,这种方法也可以作为判断计算机的内力分析所得到的数据可靠性的依据。作为结构设计的灵魂和核心,概念设计统领着整个结构设计过程,也显示了设计工程师的理论和设计水平。通过结构概念设计的运用,可以从全局上明确结构的各项性能,从而科学的判断计算分析得到的结果并进行合理的利用,确保了设计过程中工程师的主体地位。
三、提高建筑结构设计质量的策略分析
建筑工程的一个特点就是受到地理因素的制约与影响,这个特点也导致设计过程中涉及的参数很可能具有一定的特殊性。简单举例有: 基本雪压、基本风压、场地土类别、地震烈度等铸锻参数的选取过程都要严格依照《全国基本雪压分布图》《全国基本风压分布图》以及工程地质报告这三份材料进行敲定,又如墙体围护的主材在不同地区存在差异,工程师则需要根据实际选用的主材确定墙体荷载。在开始设计之前,设计人员应当大量收集设计相关资料、深入研究设计规范,根据具体的工程类型、地域条件确定具体参数,这样的做法能够在加强计算结果可靠性的同时,避免参数不合理、参数错误造成的返工、浪费等现象。建模计算的前期处理是提高结构设计质量的重要措施之一。对荷载的计算要保证准确有效,估计、推测等无依据的做法是需要每个工程师尽可能避免的。建模的过程要严格按照科学的方法来给定输入,楼梯洞口输入处的局部开洞处理,转换层构件与悬挑构件设计中活荷载的不利影响,飘窗部分的荷载分析等都是需要格外注意的步骤。在尚未了解各个参数具体含义的情况下,毫无依据的对参数进行盲目的修改是结构建模过程中的一个大忌。在调整参数的过程中,要格外注意不同参数的具体适用范围,具体的某一项参数大多具有较为严格的适用性,砖混结构下准确的参数,很可能不适用于框架结构,多层结构下准确的参数,对高层结构的适用性也未必能够保证。对相关计算软件的应用也要注意这个问题。不同的计算理论是具有其特定的假设条件的,软件的编制默认状态下均符合这些特定条件,为了避免出现参数不匹配、不适用的问题,在使用软件前必须了解清楚这款软件的具体技术条件,即使是最熟悉的 PKPM 软件系列也不能忽略这个问题。缺乏对于软件技术条件的深刻理解,就无法合理、正确的应用软件进行实际设计。因过分信任计算机的计算结果,而忽视结构概念导致的严重错误,近年来在结构设计领域也屡见不鲜。相关领域工作者在必要的情况下要进行手算复核,而不是迷信软件的计算结果,这种情况对于带转换的构件设计工作最为重要。在结构设计的过程中,建筑物计算分析的结果是为了确保在静力荷载以及自然灾害造成的动力荷载作用下具有较强的整体安全性。然而,仅仅依靠计算分析结果展开的设计,在实际生活中是很难避免荷载作用下建筑物局部开裂、破坏等现象的。针对不同的自然灾害,要进行专门的防护性设计。以地震为例,可以根据工程抗震等级的要求指标,按照设计规范中的具体要求,在结构设计过程中采用必要的构造措施。特别是针对计算性相对比较弱的结构类型时,多数的设计都要求通过构造措施保证建筑的安全性。
四、结语
随着我国市场经济状况的高速发展,城市化的进度正在逐渐加快,尽管房价商场非常猛烈,房地产市场的交易量依然与日俱增,对广大人民百姓来说,购置住房是生活中最重要的活动之一,不少工薪阶层将大半生的劳动所得消耗在房产上。同时,我国的内陆地区地震频发,住房的质量不但与广大人民的切身利益息息相关,还可能在自然灾害发生时直接影响到百姓的人身安全。建筑的结构设计在很大程度上影响着建设工程的安全可靠、美观实用、施工难度、工程造价等诸多品质,提高建筑结构设计质量自古以来,都是结构工程师最为关注的话题之一。同时,项目的特殊要求、施工环境的变化以及结构设计人员水平上的差异等诸多因素都与结构设计的出图质量密切相关。为了尽可能避免设计图纸上出现“漏、碰、错、缺”,相关领域的技术工作者应当通过有效的措施尽可能提高建筑结构设计的质量。通过文章中的分析,概念设计在建筑结构设计的过程中扮演了很重要的角色。除此之外,针对软件计算参数、计算结果的荷载分析、数学建模工作的有效进行,都是提高建筑结构设计质量的好办法。本文在此谈了谈自己的观点和看法,可供同行参考。
参考文献:
[1] 马玉刚. 浅谈如何提高建筑结构设计质量[J]. 工程技术,2010
[2] 张丽莉. 浅谈提高建筑设计质量的措施[J]. 建筑工程,2010
【关键词】 建筑设计;基础教学;结构教学
在建筑学科中设计基础是非常重要的内容,对于建筑学领域的发展有着巨大的意义。从目前我国各大高校的建筑设计基础教学情况来看,教学方法、思路以及内容等方面还需要进一步完善,而在设计基础课程中结构教学是不可忽视的,在新的教育背景下,建筑设计基础结构教学的工作者也需要积极转变教学思想,引入更加先进的教学方法,才能够达到提升学生实践操作技能的目的。
一、教学背景分析
1、结构是建筑的基本要素
我国人民自古以来就非常重视房屋的结构设计与建设,经过了几千年的发展,我国建筑领域学者一直秉持“实用、坚固、美观的原则”。坚固:主要是针对建筑材料、结构等各个部分依据一定的规则,以最为合理的方式进行房屋建设,其最终目的就是为了最大限度提升房屋结构的稳定性。实用:主要是针对建筑的各部分功能要以人们的生活和工作需求为主,最大限度的满足人们对于建筑的各项需求,目前在建筑结构设计上越来越强倾向“人”这个因素,也就是服务于人,坚持以人为本。美观:是建筑物自古以来的特点,是为了配合建筑物周围景观的特色和形式,尽可能达到美化城市景观的目的,也能够满足人们对于建筑物美的要求。基于这些原则,建筑设计基础训练、结构概念是一个不可分割的整体,在学生尚未对学生进行建筑结构的系统化教学时,教师应该积极探索运用什么样的方法能够帮助学生建立结构概念,这才是教学得以成功的关键。
2、通过“感知”思考结构
结构概念本身是比较容易理解的,高校中学生在经历义务教育阶段之后,会积累很多理解概念的经验,因此一般学生根据自己的经验都能够很快理解结构概念,但是如果是在建筑设计基础教学中,概念这方面的理论知识传授的局限性相对较大,学生运用现代意识对新的知识概念进行感知,视觉感知会占据主导地位,教师在进行概念教学的时候,应该充分关注到感知经验的运用,特别是触觉在设计中的作用和意义,必须要充分认识到这一点,正是因为这样的原因,建筑设计基础教学中一些结构体验、结构实验以及实体模型的建造训练要进行重点设置。
3、 “概念结构”与设计结构
学生在学习了结构基础知识之后,学生就会获得更多的实践体验与经验,在建筑设计的阶段,“概念结构”被提出,它与学生在其他实践操作中所体验的真实结构有所不同,同时与通过力学计算的建筑结构也有所区别,概念结构是同一事件内发生了形式与空间,是结构样式与空间样式一体化的呈现。
二、结构教学实施分析
在高校中,建筑设计基础课程主要是在一年级、二年级阶段开展,其中包括建筑学、城市规划以及历史建筑保护等相关内容。通常来说,高校在这个方面的教学有三个学期理论与设计;第一个学期进行概论、设计基础;第二个学期进行建筑概论、建筑设计基础;第三个学期进行建筑生成原理以及建筑生成设计。在进行这些基础教学的过程中,结构感知、结构设计以及实验应该作为教学重点,通过这些手段来提升学生的结构意识。
1、“设计启蒙单元”中的结构思考
针对以上所阐述的结构教学实施步骤,在第一个学期开始之初,就要积极培养学生的结构思维方式,打破学生的惯有思维,学校根据学生的情况设置一个月的“启蒙单元”,其中包括视觉形态、结构形态以及设计与制作等内容。
“结构形态采集”是针对学生发现能力的培养,是要帮助建立其生活中动植物有机结构的内容,要基于自然的生命体创建结构之美,要充分认识到世间万物生命集体的运行规律,实现对这些生命机体的运行与延续。
“设计与制作”部分(鸡蛋坠落保护装置设计)要求学生为一枚生鸡蛋设计一个保护装置(结构体),当该装置从12m高空进行自由落体实验时(不得借助空气动力学设置减速装置),结构体装置可以损坏,但必须保证生鸡蛋的完好。该作业的目的是让学生建立结构意识,即结构是生命的保障,结构是建筑空间实现的基础。
2、“建构单元”中的结构体验
第二学期的“建构单元”由一个案例分析作业和两个实验作业组成。
“建构采集”部分要求学生选定一个传统经典作品、对查阅的资料进行图纸记录和力学结构分析,并按比例制作模型。通过这样的案例分析,使学生了解传统经典作品中的材料选择、运用以及结构关系和构筑方法。
“木构桥设计与建造”实验要求学生使用统一规定的标准木杆件,设计并建造一座跨度3.9m的单跨桥。学生对材料进行性能实验,运用建筑结构力学和建筑构造一般原理进行设计与建造,使桥体具有清晰的力学特征和明确的结构关系。通过实验,学生获得对材料性能、建造方式的认识,把握桥的结构体系、单元结构体、杆件连接与桥结构整体造型的关系,创造合乎逻辑的空间结构形态。
“纸板建筑设计与建造”实验旨在通过建造实践,让学生获得对瓦楞纸板材料性能、建造方式及过程的感性与理性认识。每栋纸板建筑内部形成公共、私密的空间组合关系。通过在自己建造的建筑空间中进行活动体验,初步把握使用功能、人体尺度、空间形态以及建筑物理、技术等方面的基本要求。
3、“结构与空间”中的结构设计
在进行了第一个学期与第二个学期的学习之后,在第三个学期必须要开展系统结构空间生成设计的教学。目的是为了有效提升学生设计水平的拓展,实现自由延展以及垂直延展的结构生成。这个阶段学生首先要掌握概念结构,也就是符合视觉形态的逻辑与建筑结构形式。以现代艺术展示为例,其空间设计包括竖向两维空间与多层结构的形态生成,设计的内容基本都是以最大限度提升居民服务水平为目的。
三、结束语
从我国现阶段的建筑教育情况来看,建设设计基础教学中结构教学是重要的教学内容,从学生方面来看,结构意识的确立是比较困难的,基于这样的教学现状,教师应该采取由浅及深、分阶段的教学模式,学生在进入了高层次的教学阶段之后,学生对于结构的理解也会更加专业化,高等学习阶段中“环境与建筑设计”“及城市综合体等课程设计”对结构的要求也更加深入,通过结构、空间以及形态共生基本概念的掌握和理解,学生在建设设计方面的学习会更加游刃有余。
【参考文献】
[1] 胡尚瑜,覃荷瑛,曹霞.“建筑结构”课程教学模式研究及实践[J].中国电力教育,2013(14).
[2] 夏江涛.建筑学专业建筑力学课程教学设计探讨[J].黑龙江教育(高教研究与评估),2010(11).
[3] 罗福午.建筑结构的任务和建筑结构教学内容的改革[J].中国建设教育,2012(Z1).
关键词:高职院校;数据库原理;教学设计
中图分类号:G712 文献标识码:A 文章编号:1672-5727(2013)08-0100-03
随着计算机在各行各业的普及应用,数据库技术已成为各种应用系统开发的重要基础平台和核心技术。因此,《数据库原理与应用》成为高职高专计算机专业一门非常重要的主干课程。
依据高职高专“实用为主,够用为度”的教学原则,该课程主要由数据库原理、设计和应用三个部分组成,重点是数据库设计和数据查询语句。
目前,高职高专《数据库原理与应用》教材在内容编排上一般都是先原理、后设计、再应用,孤立数据库设计与数据库原理各知识点的关联,抽象且不易理解。尽管教师花费不少课时讲解,学生仍普遍反应原理抽象,大都不能深刻领会理论对实践的指导作用。在学生以后的系统开发实践中,对数据库设计这一环节常常无从下手,茫然无措。实践证明,学生要想真正掌握如何做,还应知道必要的“为什么”。只有学好必要的数据库基本理论知识,学生在日后的开发及应用中才能应对自如。
教师感觉原理难教,学生感觉原理难学。由此,市场上甚至出现了不少跳过原理直接以一个数据库管理系统平台讲应用的高职教材,也引发许多关于数据库课程教学的讨论并屡见于期刊中,但都局限于讨论该课程的教学手段与教学方法,对如何重点解决“数据库原理内容教学难”的问题鲜有讨论。
针对这一情况,笔者通过多年的数据库教学经验,摸索并总结出:采用案例教学法,以数据库设计为主线,通过数据库设计的几个环节来穿插讲授数据库原理中的各知识点。把原来抽象学习的一些理论,变成数据库设计实践中适时的需要和指导,加深学生对原理的理解,同时也提高学生分析问题和解决问题的能力,取得了一定的教学效果。
数据库原理教学设计方案包括三个部分,即明确重要知识点,教学过程设计,教学课时分配。
明确重要知识点
依据高职教育“实用为主、够用为度”的原则,《数据库原理与应用》这门课程的原理部分学生需要重点掌握的几个知识点是:DB(数据库)、DBMS(数据库管理系统)、DBS(数据库系统)、关系数据结构、关系的完整性规则、E-R图、关系规范化理论。
教学过程设计
如何串讲数据库原理的各知识点,变抽象为生动,把数据库理论变成实践过程中适时的需要和指导,使学生能够理解和接受,是本文探讨的重点内容。通过多年的教学实践,下面给出一套数据库原理与应用的教学过程设计:采用案例教学法,以数据库设计为主线,通过数据库设计的几个环节来穿插讲授数据库原理各知识点。
内容简介 开发信息管理系统大体分为前台与用户的交互界面及后台相关数据的管理,前台与用户的交互界面由高级语言来完成。本课程的学习内容是后台的数据管理技术。通过学习,要掌握后台数据库管理系统管理数据的特点及数据库的设计方法,学完原理后还要通过一个具体的数据库管理系统(如SQL Server2005)平台详细介绍数据库原理的应用。
教学案例 选取的教学案例最好能贴近学生实际的学习生活,便于学生理解记忆,缩短教学情境与实际情境的差距,让学生清楚地认识到这些知识在实际数据库应用系统开发中的用处,同时也可以引导学生在理论与实际结合中理解知识,培养学生分析、解决实际问题的能力。本文以设计一个简单的“学生成绩管理系统”的后台数据库“学生成绩”作为教学案例。
设计数据库 随着计算机硬件技术的飞速发展及数据管理的发展,数据管理的技术经历了人工管理、文件系统及数据库系统三个阶段。介绍各阶段数据管理技术的特点,需要重点介绍目前数据库阶段数据管理技术的特点,接下来就可以过渡到讲授数据库的一些基本概念,给出数据库、数据库管理系统、数据库系统等术语的定义。通过学习,使学生明白通过数据库管理系统来管理数据是比较优越的,所以要为“学生成绩管理系统”设计一个后台数据库。该数据库的设计需六个步骤:需求分析、概念结构设计、逻辑结构设计、物理设计、数据库的实施和数据库的运行及维护。通过前三个阶段讲解数据库原理的有关知识,掌握数据库设计的方法。
1.需求分析。详细调查与分析“学生成绩管理系统”的业务与数据处理需求,收集系统需要处理的信息:学生姓名、性别、出生日期、所在班级、选修课名称、课程学分、选修课程成绩。给出实体与属性的概念:标识对象(实体),标识每个对象需要存储的详细信息(属性)。
2.概念结构设计。本阶段的任务是把需求分析的结果用E-R图描绘出来。先给出主码的概念(能唯一标识实体集中个体的属性或属性的集合),通过学号与姓名的区别来说明其唯一性的特征。给出实体之间的关系(举例说明三种关系:1:1,1:N,M:N),最后用E-R图来描述实体及实体间的联系。介绍E-R图中实体、属性及联系的表示方法。通过前面需求分析,得到“学生成绩”数据库的E-R图(如图1所示)。最后需要向学生强调一下E-R图与后面具体采用什么样的数据库管理系统无关。
3.逻辑结构设计。先回忆数据库的概念,强调数据库是有一定组织结构的数据集合,由此给出常用的三种数据模型:层次模型、网状模型、关系模型,介绍几种当今流行的商用数据库管理系统,告诉学生它们都是关系型的,重点了解关系模型的特点。逻辑结构设计阶段的任务就是要把概念结构设计得到的结果(E-R图)转换成关系数据模型(若干个关系模式构成)。接下来详细讲解E-R图转换成关系模型的转换规则(分为实体与联系的转换)。依据转换规则得到“学生成绩”数据库的关系模型如下:
学生(学号,姓名,性别,出生日期,所在班号)
课程(课程编号,课程名称,学分)
选课(学号,课程编号,成绩)
班级(班号,班级名称)
应通过选课关系说明主码有时由属性的集合构成。然后详细讲解关系数据模型的三个部分:关系数据结构、关系的完整性规则和关系操作。一个关系模式的数据结构就是一张二维表,介绍二维表的若干性质;介绍关系的完整性规则(举例说明外码的概念);介绍常用的关系操作(选择、投影和连接)。
关系规范化理论是学生学习数据库原理时最难理解的部分。可通过评估关系模式的优劣,引出关系规范化理论内容的讲解,举例说明一个不良关系模式存在数据冗余和插入、删除、更新异常问题,原因是一个关系模式中包罗万象,而属性间存在着各种依赖关系;给出部分依赖和传递依赖的概念,然后再列出第一范式(1NF)、第二范式(2NF)和第三范式(3NF)的概念。告诉学生一个简单的系统可以采用“一事一地”(“事”指实体或联系,“地”指关系)的直观设计方法。
教学课时分配
通过多次教学实践,提供数据库原理部分各知识点的课时分配表(如表1),以供参考。
本文针对数据库原理知识抽象、不易讲解的特点,采用以数据库设计为主线,通过数据库设计的几个环节来穿插讲授数据库原理各知识点的方法,给出了一套数据库原理的教学设计方案。多年的教学实践证明,高职高专学生一样可以把数据库原理学好。学好原理,不仅能解决数据库设计的难题,更能得心应手地运用,为今后从事信息系统的开发及相关工作打下坚实的基础。
参考文献:
[1]萨师煊.数据库系统概述[M].北京:高等教育出版社,2000.
[2]周慧.数据库应用技术(SQL Server2005)[M].北京:人民邮电出版社,2009.
[3]北京阿博泰克北大青鸟信息技术有限公司. SQL Server数据库设计与高级查询[M].北京:科学技术文献出版社,2008.
[4]喻勇,王群,刘向阳.《数据库原理及应用》课程教学改革初探[J].中国水运,2008,8(12):103-104.
[5]王向辉,崔魏,徐俊立.基于CDIO的数据库课程教学改革方案研究[J].计算机教育,2011(2):38-41.
[6]刘芳.高职院校“数据库原理及应用”课程教学改革的研究与实践[J].职业教育研究,2007(1):99-100.
[7]巴音查汗.高职院校数据库课程教学改革实践[J].信息与电脑,2010(9):111.
关键词:数据库;实践教学;项目化;教学模式
1 背景
国家教育部《关于进一步加强高等学校本科教学工作的若干意见》(教高[2005]1号)指出,要“大力加强实践教学,切实提高大学生的实践能力。高等学校要强化实践育人的意识,区别不同学科对实践教学的要求,合理制定实践教学方案,完善实践教学体系……要不断改革实践教学内容,改进实践教学方法……”[1]
在师范类计算机专业毕业生面临的就业竞争越来越激烈的形势下,“数据库原理及应用”课程只有改革实践教学模式,培养学生将数据库知识和技能应用于所从事的专业社会实践的能力[2]。
2“数据库原理及应用”实践教学“项目化”教学模式的可行性研究
基于建构主义的教学法要求,在学习过程中,要以学生为中心,教师应起帮助者的角色,利用情境、协作等学习环境要素,充分发挥学生的主体性和创造性。它关注的是学生积极的从1事“做”的活动,而不是被动的“接受”知识。项目化教学,实质上是一种基于建构主义理论的探索性学习方式,在项目化教学中,活动给学生提供一种学习的经历,学生能够建构自身的知识。学生通过发现问题、分析问题、解决问题的过程,实现知识的构建。[3]
3“数据库原理及应用”项目化教学模式各实施要素的设计
3.1设计实践教学目标
应该以数据库就业岗位需求为依据,“数据库原理及应用”的实践教学目标应该定位为,帮助学生加强对数据库基本理论知识的理解,掌握数据库设计的工程化方法,具有使用一种市场占有率高的RDBMS,独立完成一个小型关系数据库应用系统设计和开发的初步能力。
3.2设计实践教学体系
数据库应用系统综合应用了多门专业课程的知识。学生在获得数据库技能相关知识的同时,能够复习以往的程序设计、操作系统、离散数学、数据结构与算法等知识。以“学生成绩管理系统”为仿真项目,构建的行动知识体系如图1所示。
图1行动知识体系
新知识点数据库技术的知识体系内容包括数据库基础、数据库设计、数据库应用三个部分。其中,数据库基础包括关系数据库、SQL、数据库安全性、数据库完整性;数据库设计包括需求分析、概念结构设计、逻辑结构设计、物理设计、数据库的实施和维护;数据库应用包括数据库编程、数据库恢复技术、并发控制技术。[4]
3.3设计实践教学流程
依据项目的具体实施设计实践教学流程,按照下述流程展开教学[5]:
1. 教师演示子项目功能,学生感性认识子项目功能。
2. 教师通过功能演示说明实践教学任务,学生明确本次实践教学任务。
3. 教师对本次实践教学任务进行新理论知识的讲解,学生通过学习理解理论知识。
4. 教师讲解完理论知识后,引导学生分组实践,并指导实践;学生开展实践活动、小组交流合作、上网查资料自学等活动。
5. 学生完成子项目,教师对子项目进行评价。
3.4 设计教学过程
“数据库原理及应用”实践教学过程分两个阶段进行:
第一阶段,教师利用“学生成绩管理系统”项目进行实践教学,学生模仿教师完成各个子项目。实践教学中,教师严格按照数据库设计的步骤,首先给出客户要求,引导学生分析客户需求,然后进行概念结构设计、逻辑结构设计、物理设计、数据库的实施和维护,数据库编程。通过各个子项目,帮助学生理解“数据库原理及应用”的各个小知识点,并串联起来形成知识线。最后,将各个子项目的功能整合起来,完成一个小型数据库应用系统,把知识线形成知识面,形成完整的数据库理论知识体系,实现学生对数据库知识到数据库技能的迁移。
第二阶段,学生在教师指导下选定一个与数据库相关的项目,根据虚拟的客户需求,进行分析、设计,教师引导学生模仿在第一阶段学习的工程化设计方法,设计、制作、提交项目,在项目制作中获得综合应用数据库知识的能力。
3.5教学评价
要准确的评价学生在数据库应用系统设计、开发方面的工作态度、学习能力、创新能力,项目打分应该由平时成绩、项目功能的全面和易用性、项目设计报告质量、答辩情况四个部分构成。
4 结束语
除了在“数据库原理及应用”课内实践教学中采用“项目化”教学模式,还应该加强校企合作,让学生到企业,接触实际的数据库应用系统项目,进一步了解社会的需求。提高“数据库原理及应用”任课老师的实践教学技能是需要进一步解决的问题。
参考文献:
[1]雷刚,郭斌,黄明等. 一种新型软件工程专业人才培养模式--导师制下的项目驱动教学模式[C].王核成.信息化与管理创新:2006年全国第十届企业信息化与工业工程学术年会论文集.北京:电子工业出版社,2006:855-859.
[2] 周秋生,马俊海.构建工程型实践教学体系,培养应用型高级专门人才[J].测绘工程,2008,17(2):70.
关键词:实验教学;数据库
中图分类号:G642.477
数据库技术自计算机产生以来,其发展十分迅速,并广泛应用于社会各个领域,高校很多个专业都开设了该课程,并受到多个专业的高度重视。数据库课程理论性强、应用实践要求高,具有很强的应用性和工程性。信息与计算科学专业是以信息领域为背景数学与信息、管理等科学相结合的交叉性专业,数据库原理与技术课程作为本专业的核心主干课程,许多理论必须通过实践才能获得更深入的理解,因此数据库实验教学就十分重要。但是由于本专业属于理学,往往更加重视课程的理论学习,容易轻视了数据库等工程性、应用性较强的课程的实验教学,
1 信息与计算科学专业数据库课程实验教学现状
信息与计算科学专业是1998年新增设的数学专业,是由数学、计算机科学、信息工程交叉渗透而形成的一门新的专业。本校信息与计算机科学专业于2001年由理学院开设,其办学时间短,由于专业教师多数从事数学方面的研究和教学,在数学方面理论教学水平较高,而对于交叉渗透的计算机科学、信息工程等工程型学科的工程应用型教学经验较少,在数学与计算机科学、信息工程的交叉融合方面的教学经验就更少。由于本专业人才培养的特点,学生在学习数据库技术之前,仅进行了少数高级编程语言基础及一些计算机基础课程的学习,对软件开发、软件工程、信息系统设计与开发等知识还为涉及或涉及较少,导致学生对数据库系统的设计与开发的积极性不高,学习兴趣降低。在本专业的数据库课程实验教学中,主要存在以下几个问题:
1.1 实验内容相对孤立
传统的数据库实验教学作为理论教学的补充,将理论教学中的若干重要知识点以实验的形式构成,让学生在实验中巩固理论知识,增强其数据库系统的开发能力,在教学过程中起到了一定的积极作用。但是,这些实验较为独立,实验内容之间缺少联系,不能体现整个数据库知识点之间的脉络关系。这也造成学生虽然能较好地完成单独的实验内容,但是在实际项目开发中却缺乏分析问题、解决问题的能力。同时,独立的数据库实验难以培养学生的知识综合应用能力,导致学生陷入将数据库看成一门编程语言的误区,也不利于提高学生对数据库学习的积极性。
1.2 实验脱离工程应用
在数据库实验中,学生只对知识点进行验证,而不知如何运用知识点,未能直接与信息系统软件开发结合起来,课程的实践性体现不强,不利于毕业设计、实习等后续环节的教学。
1.3 实验课时相对不足
由于数据库的实践性,在教学过程中应安排更多的实验学时,以锻炼学生的实际操作能力。然而在实际教学过程中,由于该课程同时具有很强的理论性,安排了更多的理论教学学时。以我校本专业为例,数据库原理与技术共56学时,理论课时48学时,实验课时8学时,在有限的实验学时内,需要利用一种DBMS软件(如SQL server2008)完成数据库技术的多个实验内容,诸如数据库的创建和连接、表、视图、索引、触发器、存储过程、数据库的维护、数据库的优化以及数据库系统设计等,由于实验学时较少而容易造成实验效果不理想。
1.4 考核方式单一
数据库作为一门实践性非常强的课程,要求学生利用其解决实际生活面临的问题,数据库技术的实践能力应作为考核的重点。然而在实际教学过程中,数据库实验作为数据库课程教学的一部分,数据库课程成绩主要以期末卷面考试成绩为主,而数据库课程实验所占比例较少。通常,数据库实验的考核以实验报告成绩加上平时成绩,考核方式较为简单,缺少过程管理,不易体现学生的实际能力,实验报告也容易出现抄袭现象。
2 信息与计算科学专业数据库课程实验教学对策探讨
根据本专业人才培养方案,结合数据库技术课程的教学目标和数据库实验特点,笔者结合自身的教学实践经验,将项目教学法[1-2]贯穿实验教学的始终,针对专业教学中的若干问题对提出了对策,首先构建基于项目的数据库实验教学体系,然后根据该教学体系制定明确的考核办法。
2.1 构建数据库实验教学体系
实验教学是巩固理论知识、强化实践操作能力的重要手段。通过实验教学,使得理论与实践紧密相连,是高等教育培养工程型创新型人才的重要一环。为提高实验教学质量,达到人才培养的目标,构建科学合理的实验教学体系就变得至关重要。数据库实验教学既要保证知识的基础性,也要突出工程应用;既要突出知识重点,也要保证其内容的整体性和连贯性;同时,也要体现出一定的创新性。按照上述原则,数据库实验教学体系构建如下:
(1)认知性实验
认知性实验的任务是让学生熟悉当前主流的商业DBMS系统,能正常使用某种行业的数据库应用系统软件,了解数据库应用系统软件的行业需求,了解某种具体的数据库应用软件的功能模块与数据库的设计。结合具体实际,认知型实验主要包括以下两个实验:SQL Server2008的安装与配置;用友财务软件的安装与使用。通过认知性实验使得学生了解一种或多种DBMS系统,对数据库应用系统软件有一个感性的认识,激发学生的学习热情;另一方面,让学生了解行业知识,培养其职业素养。
(2)基础性实验
基础性实验的任务是对理论教学知识点内容进行实践,利用一种DBMS对理论教学中知识点进行验证从而熟悉SQL。本模块主要结合理论教学内容与传统的实验教学模式展开,其具体实验内容包括:数据库的建立、删除与备份;数据表的建立、修改、查询与删除;视图和索引的建立与使用等。 在本部分实验教学中,采用项目教学法,其主要方法是在一个确定了需求与功能的软件中,完成数据库部分,该软件已完成大部分编码,在软件中预留出实验内容部分;学生在实验上机时按照需求分析文档和系统详细设计文档建立数据库、数据表、建立视图与索引等实验内容。利用此方法的优点是让学生在做基础性实验时候就开始树立工程意识,初步了解软件开发的需求分析、设计、编码、调试等步骤,学会利用技术文档进行开发。
(3)设计性实验
设计性实验的主要任务是使学生掌握数据库设计的整个过程,熟练使用数据库设计辅助工具,学会使用帮助手册。在此阶段实验中,掌握数据库设计过程包括需求分析、概念结构设计、逻辑结构设计、物理结构设计和数据库的实施与维护,学会撰写需求分析文档、设计文档等,能熟练在数据库设计各个阶段使用辅助工具(如Power Designer)。具体方法为,让学生选择一个熟悉的背景,提出一个具体的课题,例如图书管理系统、学生成绩管理习题、超市零售管理系统等,学生自己确定需求分析,使用E-R图进行概念结构设计,进行逻辑结构的转化,最后建立数据库及数据表,并且撰写技术文档。
(4)综合性实验
综合性实验主要任务是综合运用多门计算机专业知识完成数据库应用系统的设计与开发。此阶段会涉及软件工程、数据结构、程序设计语言、数据库等多种技术,对学生的要求相对较高,且需要更多的实验教学时间,综合实验可与数据库课程设计同时进行。学生自行组建4~6人的项目团队,选定一个熟悉的课程,制定工作计划和任务分配方案,各司其职,按照软件工程和数据库设计过程的规范进行软件的设计与开发。综合实验的优点在于锻炼学生的团队意识,提高其工程能力。
(5)数据库实验教学体系的实施方法
教师首先准备好认知性实验所需要的DBMS软件和一种商业数据库应用软件,学生可先自行完成安装配置,熟悉软件及其功能,教师就认知性实验内容的重点和难度进行讲解,学生进行操作;进行基础性实验之前,教师拟定好实验项目,完成实验项目的应用系统开发及数据库设计的各种技术文档,设计出实验内容,学生按照技术文档和数据技术理论教学知识点进行相对应的实验,从而达到基础性实验与项目开发相结合的目的,实验内容的连贯性和工程实践性增强;进行设计实验前,教师拟定一些学生熟悉的课题,进行实验时教师示范数据库设计流程,介绍撰写各个阶段的技术文档要求,学生选题后,按照需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施等过程展开系统设计,撰写每个阶段的技术文档包括项目说明书、需求分析报告、系统设计文档、测试文档等;综合实验阶段,将学生进行分组,组建模拟项目团队,选择实验题目,按照软件工程和数据库设计流程进行实验,综合运用所学知识,培养工程能力及工程意识。按照如下方法分配实验课时,认知性实验、基础性实验、设计性实验、综合性实验的课内教学时间可按1:3:3:2的比例进行分配,可酌情安排适当的课外学时,其形式可采用开发实验室的方式进行。
2.2 建立科学的实验考核标准体系
针对实验教学考核的问题,采用结构化评分方式,对认知性实验、基础性实验、设计实验和综合实验采用不同的方式且在总成绩中占相应的比例,重视实验过程。对于认知性实验,采用上机操作进行考核,根据其操作熟练程度给予不同的分数,占实验总成绩的10%;基础性实验采用上机操作和实验报告的方式考核,根据实验给予的技术文档完成规定的实验任务,在实验过程中实时管理,对有一定创新的给予适当的加分,此部分占实验总成绩的25%;设计实验采用答辩和技术文档的方式考核,学生就选择的设计实验进行开题答辩和结题答辩,同时提交需求分析报告、进度计划、数据库设计文档等技术管理文档,根据数据库设计过程,视系统设计完整性程度给予不同的分数,占实验总成绩的35%;综合实验以汇报和最终软件作为考核,考查学生软件工程、程序设计、数据设计等知识的综合运用能力和解决实际问题的能力,根据学生在项目团队中的不同作用和贡献,对项目有重大贡献者和创新者给予适当的加分,此部分占总成绩的30%。
3 结论
为适应社会对工程型创新人才的需要,达成专业人才培养要求,进行课程实验教学探索拥有重要意义。基于项目的数据库实验教学,让学生从一开始就树立工程意识,明确数据库在信息系统中的作用与地位,熟悉数据库设计与开发的基本流程以及软件工程思想,不仅能巩固本门课程的理论教学,而且锻炼学生的综合素质。
参考文献:
[1]苏丹.项目教学法在数据库课程实验教学中的应用[J].黑河学院学报,2012(3):39-41.
[2]刘婷,胡玉娟.项目教学法在计算机教学中的应用研究[J].长春教育学院学,2011(2):125-126.
[3]常志玲,伍临莉,常国虎.非计算机专业数据库实验探究实验室研究与探索.2012(5):114-116.
作者简介:张鹏(1983-),男,四川南充人,助教,硕士,从事数据库与数据挖掘的研究和教学工作。
【关键词】数据库应用程序开发,综合案例设计,案例使用
1引言
案例教学是指在教师的指导下,把学生带人特定的事件现场,深人角色,再现案例情景,以提高学生实际运用能力的一种教学方法。案例教学法最早是由担任美国哈佛大学法学院的克里斯托弗・郎道尔(Chirstopher Columb Langdell)教授创立的,在教育界产生巨大影响。案例教学法在培养应用型人才方面起着重要作用,是一种常用的教学方法,特别是在高校转型发展过程中,案例教学法越来越受到重视。在培养高校计算机专业学生数据库应用程序开发能力上,案例教学法也被广泛应用。但是,目前所采用的案例存在一些不足。本文在分析高校数据库应用程序开发教学过程中所用案例存在问题的基础上,设计了基于.net的数据库应用软件开发的综合案例。
2目前教学案例存在的不足
(1)案例小,内容零碎。纵观这些案例,只是针对某个或某些知识点,不是针对某一个问题,案例之间甚至风马牛不相及。采用这样的案例教学,由于学生没有一个完整的参照模板,最后不能形成软件开发的整体概念,不能开发出一个完整的软件。
(2)案例没有达到应用的层次。由于案例是分散的,不是完整地解决一个问题,没有从应用层面进行考虑,所以没有达到应用层次,学生不能获取应用层面的参照模板。
(3)案例不具有综合性。数据库应用程序的开发需要涉及软件工程、数据库原理、程序设计语言及具体的数据库管理系统(Oracle、SQL Server等)等学科及技术,是一个综合性的工程。目前这些案例显然是不具有这样的综合性,不能起到开发数据库应用软件的模板作用。
3综合案例设计
针对数据库应用程序开发教学过程中案例存在的不足,设计了一个具有综合性的模板案例,以便培养学生的数据库应用程序开发能力。选题上本着大小适中,便于需求的原则,我们选择了“高校学生基本信息管理系统”作为综合案例。由于学生所学的开发语言是C#,所以该案例是基于.net技术的。
3.1系统功能。“高校学生基本信息管理系统”是管理高校学生学籍的一个系统。需求分析基于高校学生学籍管理的实际情况,并进行了简化,以便于教学。高校学生学籍包含多方面内容,该系统只管理学生的基本信息,即学号、姓名、性别、出生日期、家庭住址、联系电话等信息。另外,高校学生是处在高校机构中的学生,也就是说学生基本信息中还应体现出学生所属学院、所属系别、所属专业、所属班级等信息。该系统用户有三类,分别是校级用户、院级用户和学生个人用户。校级用户除了要维护全校学生的信息外,还要管理学校的机构信息。院级用户只能查询本院学生的信息。学生个人用户只能查询本人的信息。该系统有四个子系统,分别是客户端配置工具;高校学生基本信息维护系统;高校学生基本信息院级用户查询系统;高校学生基本信息个人用户查询系统。
客户端配置工具的功能是接收用户输入的到服务器的配置信息,形成连接字符串,测试能成功连接服务器后,加密之并写入配置文件。其它子系统运行时打开配置文件,读取加密的连接字符串,解密之后作为到服务器的连接字符串来使用。该客户端配置工具是一个通用的配置工具,可以用于其它系统。
高校学生基本信息维护系统是校级用户使用的一个子系统。用来维护全校学生的基本信息,高校学生基本信息院级用户查询系统的功能是实现本学院内学生信息的查询、统计和汇总,由院级用户使用。高校学生基本信息个人用户查询系统的功能是实现个人用户信息的查询。案例系统的需求分析以软件工程作为指导,按软件工程的方法步骤进行。学生通过该案例的实训,掌握了需求分析的一般方法,为以后从事软件项目开发打下基础。
3.2系统开发平台。(1)数据库开发平台:SQL Server 2008。(2)应用程序开发平台:Visual Studio 2012(C#语言)。
3.3数据库设计。根据需求分析,设计了一个名为STUDB的数据库,在数据库的设计过程中,充分考虑了规范化问题,满足3NF要求。并且能够满足各层次的查询和统计汇总要求。在数据库的设计中,充分保证了数据的完整性,只有这样才能使系统更稳定。数据的完整性是通过约束来实现的。实体完整性通过主键约束或UNIQUE约束来实现;参照完整性通过外键约束来实现;用户自定义完整性通过CHECK约束、DEFAULT约束来实现。数据库设计过程中,完全按数据库原理的指导进行。学生在学习案例时,自然地把数据库原理的知识应用到实际中去了,实现了由知识到能力的提升。
4案例的使用
该案例可以作为“基于.net的数据库应用软件开发”实训课程的主要教学内容,也可以用于“SQL Server”课程或“C#程序设计课程”的教学案例。在使用该案例时,要以软件工程作为指导,按软件开发步骤进行。需求分析阶段。学生要以高校的学生基本信息管理为背景进行需求分析,快速建立软件原型,形成规格说明书。根据需求分析结果给出E-R图,完成数据库的概念结构设计,并进行规范化。总体设计阶段。在总体设计阶段,首先确定系统的解决方案,然后设计软件结构和数据库的逻辑结构。详细设计阶段。设计每个具体的模块,包括处理流程图、异常处理、工作界面等,另外还要实施数据库的物理结构设计和实现。实现阶段。在这个阶段,教师首先要给出一个具体的实现模板,学生参照该模板完成其它部分的设计。在这个阶段,还要完成软件的测试。
一、考试要求:
1 . 对 C 语言的语法、语义有较好的理解。
2 . 能熟练地阅读 C 源程序,并具有初步分析程序的能力。
3 . 初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算法,进而用 C 语言编写结构良好的面向过程的程序。
4 . 通过上机实验,掌握程序的调试和测试方法。
二、 考试内容
第一章 C 语言概述
• 了解 C 语言的发展、特点;
• 掌握 C 程序的基本结构;
3. 掌握 TURBO C 环境下 C 程序的上机步骤。
第二章 算法
• 理解算法的概念;
• 了解算法的表示方法;
• 理解组成结构化程序的三种基本 控制 结构;
4. 了解结构化程序设计的过程;
第三章 数据类型、运算符与表达式
• 了解 C 语言中数据类型的分类;
• 掌握整型、实型、字符型、字符串常量的表示方法;
• 掌握符号常量的定义和使用;
• 掌握变量的定义、初始化;
• 掌握算术、赋值、复合赋值、自增、自减、逗号运算符及表达式;
6. 掌握各类数值型数据间的混合运算。
第四章 输入输出
• 掌握赋值语句及使用;
• 了解字符输入输出( get char 函数和 putchar 函数) ;
3. 掌握格式输入输出( scanf 函数和 printf 函数) 。
第五章 选择结构
• 掌握关系、逻辑运算符及表达式;
• 掌握 if 语句的三种形式;
• 掌握 switch 语句及 break 语句的使用 ;
4. 要求能编写含有 if 语句嵌套结构的 程序。
第六章 循环结构
• 掌握 while 语句及应用;
• 掌握 do-while 语句及应用;
• 掌握 for 语句及应用;
• 掌握 break 语句在循环中的作用;
• 了解 continue 语句在循环中的作用;
6. 要求能编写含有二重循环结构的程序。
第七章 数组
• 掌握一维数组的定义、初始化及元素引用;
• 掌握二维数组的定义、初始化及元素引用;
• 掌握字符数组的定义及使用;
4. 了解字符串处理函数;
第八章 函数
• 掌握函数的定义与调用;
• 掌握函数调用时的实参与形参的结合;
• 理解函数原型声明与函数在源程序中的相对位置的关系;
• 理解函数的嵌套调用和递归调用;
• 理解 局部变量和全局变量的概念及应用;
• 了解变量的存储类别( auto 、 static 、 register 、 extern );
7. 要求能编写编写多函数结构的程序。
第九章 预处理命令
• 理解 .#define 命令的使用;
2. 了解 #include 命令的作用。
第十章 指针
• 掌握地址、指针、指针变量的概念;
• 掌握指针变量的定义、初始化、赋值;
• 掌握两个与指针有关的运算符( & 和 * );
• 掌握指针和一维数组的关系;
• 了解指针和二维数组的关系;
• 掌握指针和字符串的关系;
• 掌握参数为指针类型的函数应用;
8. 了解指针数组和指向指针的指针。
第十一章 结构体、共用体和枚举类型
• 掌握结构体类型的定义;
• 掌握结构体变量、数组、指针变量的定义、初始化及成员引用;
• 理解参数为结构体变量或结构体指针的函数;
• 了解共用体的概念及共用体类型的定义;
• 理解枚举类型的概念及共用体类型的定义;
6. 了解 typedef 语句的使用。
第十二章 文件
• 理解 C 文件的概念;
• 掌握文件类型指针的概念;
• 掌握文件的打开和关闭( fopen 函数和 fclose 函数);
• 了解文件的字符读写( fgetc 函数和 fputc 函数);
• 掌握文本文件的格式化读写( fscanf 函数和 fprintf 函数);
6. 了解二进制文件的数据块读写( fread 函数和 fwrite 函数);
7. 了解文件的定位( rewind 函数和 fseek 函数) 。
三、考题类型
• 选择题(概念、语法等): 60%
• 程序阅读题: 20%
3. 程序设计题(或程序填空): 20%
《 C 语言程序设计》,谭浩强编,清华大学出版社出版
《程序设计基础》,张杰敏编,高等教育出版社
(二)数据结构考试大纲( 100 分)
一、考试要求
1 、能分析数据的内在逻辑关系。
2 、掌握常用数据结构在计算机中的表示方法。
3 、理解数据表示和数据处理之间的关系,理解算法效率的分析方法。
4 、能利用常见的数据结构,进行算法设计。
二、考试内容
第 1 章 引论
1 、了解数据结构的基本概念。
2 、了解数据的逻辑结构、存储结构、算法的概念。
3 、理解数据类型、抽象数据类型的概念。
4 、理解时间复杂度、空间复杂度的概念。
第 2 章 表
1 、理解 ADT 表的概念及基本运算。
2 、掌握表的顺序存储结构及其运算的实现。
3 、掌握表的链接存储结构及其运算的实现。
4 、理解单链表、循环链表、双向链表的特点。
第 3 章 栈
1 、掌握栈的定义和基本运算。
2 、掌握栈的顺序实现及其运算的实现。
3 、掌握栈和队列的链接实现及其运算的实现。
4 、掌握栈的应用。
第 4 章 队列
1 、掌握队列的定义和基本运算。
2 、掌握队列的顺序实现(循环队列)及其运算的实现。
3 、掌握队列的链接实现及其运算的实现。
4 、掌握队列的应用。
第 5 章 递归
• 理解递归的概念。
• 了解分治与递归的关系。
• 了解用栈模拟递归技术。
第 6 章 排序与选择
• 理解排序的基本概念(关键字、内外排序、稳定性、时间效率、空间效率)
• 掌握选择排序的方法(简单选择排序、堆排序)
• 掌握插入排序的方法(直接插入排序)
• 掌握交换排序的方法(冒泡排序、快速排序)
• 了解合并排序的方法。
• 理解各种排序方法的优缺点。
第 7 章 树
1 、掌握树的表示法,包括父亲结点数组表示法、儿子链表表示法、左儿子右兄弟表示法。
2 、理解二叉树的定义和术语、性质。
3 、掌握二叉树的存储结构,包括顺序存储实现和指针实现。
4 、掌握二叉树的遍历算法及其应用。
5 、了解线索树的概念。
第 8 章 集合
1 、了解以集合为基础的抽象数据类型。
2 、了解集合上的基本运算。
3 、了解集合的实现(位向量实现、链表实现)。
第 9 章 符号表
• 理解抽象数据类型符号表的概念。
• 掌握符号表的数组实现。
• 掌握开散列表和闭散列表的实现。
• 理解散列函数构造方法以及处理冲突的办法。
• 掌握线性再散列技术。
第 10 章 字典
• 理解抽象数据类型字典及其运算。
• 掌握二叉搜索树及其实现。
第 11 章 优先队列
• 理解抽象数据类型优先队列及其基本运算。
• 理解堆的概念及其实现。
• 掌握哈夫曼树及其应用。
第 12 章 图
• 解图的概念、术语。
2 、掌握图的存储结构(邻接矩阵、邻接表)
3 、掌握图的遍历方法(深度优先遍历、广度优先遍历)
4 、掌握图的最小生成树的算法( prim 算法、 kruskal 算法)。
5 、掌握图的单源最短路径的 dijkstra 算法。
• 了解所有顶点对之间的最短路径 floyd 算法。
三、考题类型
• 选择题(概念、存储表示、算法描述): 24 %
• 填空题(概念、存储表示、算法描述): 16 %
• 应用题(综合): 40 %
• 算法设计题: 20 %
参考用书:
《数据结构与算法》,王晓东编,高等教育出版社
第二部分:“操作系统”或“关系数据库与 SQL 语言”(报考计算机科学与技术考生考“操作系统”,报考软件工程专业考生考“关系数据库与 SQL 语言”)
第二部分:操作系统考试大纲( 100 分)
一、考试要求:
1. 了解操作系统的概念,以及它在计算机系统组成中的地位和作用。
2. 了解操作系统的组成部分,掌握操作系统的基本原理、基本概念。
二、考试内容
第一章 操作系统概述
• 操作系统概念:
• 理解操作系统的定义
• 了解操作系统的地位和作用
• 理解操作系统的功能
• 操作系统的类型:
• 了解批处理系统的概念和特点
• 理解分时系统的概念和特点
• 理解实时系统的概念和特点
• 了解网络操作系统的概念
• 操作系统的特征:
了解操作系统的基本特征:并发性、共享性、异步性、虚拟性
• 操作系统接口:
了解作业级接口(操作接口),程序级接口(系统调用)
第二章 处理机管理
• 理解进程的定义
• 理解进程的特征
• 掌握进程的基本状态及其相互转换:就绪态、阻塞态、运行态
• 理解进程的组成和进程控制块所包含的主要信息
• 了解进程队列的概念和形式
• 掌握进程调度算法思想及其应用 :
• 先来先服务算法
• 时间片轮转法
• 优先数算法
• 多级队列算法
注:主要掌握前两个算法,后两个算法要求理解算法思想。
• 了解特权指令的概念
• 理解 CPU 的两种运行状态:管态、目态及相互转换
• 了解作业、作业步和作业控制块的概念
• 理解作业调度的概念及它与进程调度的关系
• 了解作业的状态及变化过程
• 掌握作业调度算法思想及其应用 :
• 先来先服务算法
• 短作业优先法算法
• 响应比法算法
第三章 存储管理
• 理解存储管理的功能
内存分配、内存保护、地址映射、内存扩充
• 理解地址重定位的概念:
静态重定位、动态重定位
• 了解单一连续分区存储管理及其缺点
• 固定分区存储管理:
( 1 )理解固定分区的概念
( 2 )了解分配和回收的过程
( 3 )理解采用的重定位方式及其存储保护方法
( 4 )了解固定分区方式的缺点
• 可变分区存储管理:
• 理解可变分区存储管理的基本思想
• 了解空闲分区表及其内容
• 了解采用的重定位方式
• 理解分配和和回收算法:最先适应法、适应法、最坏适应法
• 理解零头(碎片)的概念:内零头,外零头
• 分页式存储管理:
• 理解分页式存储管理的基本思想
• 理解页与块的概念
• 理解页表的概念、作用和内容
• 掌握地址重定位过程(不含快表结构)
• 了解快表的概念和作用
• 虚拟存储管理:
• 理解虚拟存储器的概念
• 理解请求分页式存储管理的基本思想
• 理解缺页中断的概念及和影响因素
• 掌握缺页中断率的计算
• 掌握页面淘汰算法的思想和应用: FIFO 、 LRU 、 LFU
第四章 设备管理
• 了解设备的分类
• 理解设备管理的目标与功能
• 理解设备独立性的概念
• 理解独占设备分配算法及相关数据结构:
• 先来先服务算法
• 优先级算法
• 共享磁盘的调度:
• 了解磁盘结构
• 理解磁盘访问时间的构成:查找时间、等待时间和传输时间
• 掌握磁盘调度算法的思想及其应用:
先来先服务算法、最短查找时间优先算法、电梯算法、单向扫描算法
注:主要掌握前三种算法及应用。
• 了解数据传输控制方式:
• 程序循环测试方式
• 中断方式
• DMA 方式
• 通道方式
• 了解缓冲技术:
• 缓冲的作用
• 缓冲的类型:单缓冲、双缓冲、多缓冲、缓冲池
• 虚拟设备与 SPOOLING 技术:
• 理解虚拟设备的概念
• 理解 SPOOLING 系统的概念及其前提条件
• 掌握 SPOOLING 系统的组成(软件和硬件)
第五章 文件管理
• 了解文件与文件系统的概念
• 了解文件的分类
• 文件的组织结构:
• 理解文件的逻辑结构及分类
• 理解文件的物理结构及分类
• 理解文件的存取方式
• 掌握磁盘存储空间管理方法及计算:
位示图法、空闲区表法、空闲块链接法、成组链接法
注:主要掌握前两个管理方法的计算。
• 文件管理与目录结构
• 了解文件控制块( FCB )的基本信息
• 理解多级目录的概念
• 了解文件的基本操作
• 文件的使用
• 了解文件共享与保护的概念
• 了解文件的保密概念
• 了解文件的保护的方法:存取控制矩阵、存取控制表、权限表、口令
• 文件的操作
了解文件的基本操作:创建、删除、打开、关闭、读、写
第六章 进程的并发
• 理解进程间的制约关系:互斥、同步
• 理解信号量的概念
• 掌握 P 、 V 操作的定义
• 掌握用 P 、 V 操作实现进程互斥、同步
• 理解死锁的概念
• 理解产生死锁的必要条件
• 理解解决死锁的策略:预防、避免、检测、恢复(解除)
• 了解进程间的通信方式:低级通信方式、高级通信方式
第七章 操作系统实例分析
• 了解 UNIX 系统及实现管理所采用的相关方法
• 了解 DOS 系统及实现管理所采用的相关方法
参考用书:
《操作系统》宗大华、宗涛编 人民邮电出版社
第二部分:《关系数据库与 SQL 语言》( 100 分)
一、考试要求:
1 .对关系数据库系统的基本概念、基本原理、基本方法以及应用有较好的理解。
2 .能熟练地使用 SQL 命令对数据库进行操作。
3 .能初步掌握数据库设计的方法,并能用数据库系统建立数据库及简单的应用。
4 .对关系数据库理论有一定的理解。
二、 考试内容
第 1 章 数据库系统概述
1 掌握数据库系统中的几个基本概念:数据库、数据库管理系统、数据库系统、数据模型、关系数据库等。
2 了解数据管理的发展过程,重点掌握数据库系统的特点、发展阶段,掌握数据库管理系统的主要功能。
3 掌握数据库三级模式结构、优点、数据物理独立性、数据逻辑独立性。
4 掌握信息世界中的实体、属性、联系,以及关系数据模型中的关系、属性、元组和键码等基本概念。
第 2 章 关系模型
1 掌握关系、关系性质、候选键、外部键、主属性、非主属性、关系模型完整性、关系模式、关系数据库等基本概念。
2 掌握关系代数及其运算:并、差、交、笛卡尔积、投影、选择、自然连接、 θ 连接等。
3 了解元组关系演算和域关系演算。
第 3 章 关系数据库标准语言 SQL
1 了解 SQL 语言的特点,掌握基本表、视图、索引等概念。
2 掌握数据定义命令:创建数据库、创建基本表、表结构的修改、基本表的删除;索引的建立与删除。
3 掌握数据查询命令: SELECT 语句,要求:
1 )简单查询(单表查询),包括正确书写选择条件、排序输出、聚合运算以及分组处理;
2 )连接查询(多表查询);
3 )嵌套查询(子查询)。
4 掌握数据操纵命令:基本表数据的插入、删除、修改。
5 掌握有关视图的操作:定义视图、查询视图、更新视图、撤消视图。
第 4 章 关系数据库理论
1 了解关系模式设计中可能出现的问题及其产生原因以及解决的途径。
2 掌握函数依赖、完全函数依赖、部分函数依赖、传递函数依赖的定义,能计算属性的封闭集,并由此得到关系的候选键。
3 掌握第一范式( 1NF )、第二范式( 2NF )和第三范式( 3NF )的定义,能判别关系模式的范式等级。
4 掌握关系模式的分解(规范到 3NF )的步骤、分解的原则和分解的方法。
第 5 章 数据库设计
1 掌握数据库设计的任务和步骤。
2 了解需求分析阶段的任务:定义信息与应用;定义操作任务;定义数据项。
3 掌握概念结构设计阶段的方法和步骤,并能设计 ER 图。
4 掌握逻辑结构设计阶段的任务和步骤,重点掌握从 E/R 图到关系模式的转换。
5 了解数据库物理设计的任务。
6 了解数据库的实施、运行和维护等过程。
三、考题类型
1 .选择题: 40%
2 .填空题: 20%
3 .根据题意写出正确的 SQL 语句: 25%
4 .计算题: 15%
参考用书:
在需求分析、概念结构设计的基础上得到数据库的逻辑结构设计之后,我们就可以在Visual FoxPro6.0数据库系统中实现该逻辑结构。
打开如图所示的“仓库管理”项目后,在项目管理器中展开数据文本夹,用鼠标选中数据库,单击右侧的“新建”按钮,在弹出的对话框中将该数据库文件存储为c:仓库管理仓库管理.dbc。
在弹出的如图所示的数据库设计器中单击鼠标右键,选择“新建表”,为数据库添加数据表(表的内容见上节)。下面以表设备代码表为例来介绍表的建立过程。
选择“新建表”,在弹出的对话框中将表存储为c:仓库管理设备代码.dbf 。在弹出的如图所示的表设计器中填写表的内容。
字段设置完成后,单击“确定”按钮后为表输入数据,如不想现在输入,可以先“取消”,以后再输入。具体方法如下:
(1) 如图所示,选中要输入数据的表,单击“浏览”按钮。
(2) 此时弹出无数据的表,在Visual FoxPro6.0的主窗口中选择“表”,选择“追加新记录”后,就 可以在表中输入数据了。如图所示。不过这种方法只能一次输入一条记录,如果要输入第二条记录时,需再次选择追加新记录。如果有一个已有的数据表,就可以使用“使用追加记录”将这个有数据的表追加到当前表中,不过执行该操作要求这二个表的结构完全相同。
第四章 系统主要功能模块的创建
按照前面的分析,我们将管理系统的逻辑模块统一到6个实际功能模块中,如图所示。切换面板用于切换不同的操作,每项具体操作结束后,都会返回到切换面板。
下面对各模块的作用进行说明:
(1) 设备入库模块:添加设备到库存中。
(2) 设备出库模块:将设备从库存取出并记录。
(3) 设备还库模块:将归并到库存的设备保存到数据库。
(4) 设备需求模块:记录各部门的设备需求。
(5) 设备采购模块:记录要采购的设备。
(6) 切换面板:用于切换到不同的操作,如设备入库、设备出库等。
(7) 显示报表:显示库存过多、库存不足等信息。
下面就按照功能模块图来设计该仓库管理系统。首先在Visual FoxPro6.0中建立一个项目管理器,以便管理本系统中所有的数据,命名为“仓库管理”。一下操作均在该项目管理器中进行。以下所有表单的“desktop”属性全部设为“.T.-真”。
4.1功能选择界面的设计:
这一模块的主要功能是作为系统主界面为进入本系统不同功能界面选择提供一个接口,使用一个窗口来实现这一功能。
首先建立一个表单,设取“caption”属性为“仓库管理”。在该表单上添加6个“按钮”控件,它们的“caption”属性分别为“设备入库”,“设备出库”,“设备还库”,“部门需求”,“设备采购”,“显示报表”。然后在表单上添加“图象控件”,并设其“stretch”属性为“2-strech(扩展)”,“pictrue”属性为图片所在的位置,本例中为“c:仓库管理01.jpg”。
在“comm.and1”(“caption”属性为“设备入库”)控件的“click”事件中添加如下代码:
do form 设备入库表
thisform.release
在“comm.and2”(“caption”属性为“设备出库”)控件的“click”事件中添加如下代码:
do form 设备出库表
thisform.release
在“comm.and3”(“caption”属性为“设备还库”)控件的“click”事件中添加如下代码:
do form 设备还库表
thisform.release
在“comm.and4”(“caption”属性为“部门需求”)控件的“click”事件中添加如下代码:
do form 部门需求表
thisform.release
在“comm.and5”(“caption”属性为“设备采购”)控件的“click”事件中添加如下代码:
do form 设备采购表
thisform.release
在“comm.and6”(“caption”属性为“显示报表”)控件的“click”事件中添加如下代码:
do form 显示报表
thisform.release
在“form1”的属性里选择“autocenter”设置为“.T.-真”,同时将“backcolor”
设置为“255,255,255”,“windowstate”设置为“0-普通”。
添加“form1”的“init”事件的代码如下:
set directory to c:仓库管理
*将程序的默认的路径指向资源所在的文件夹
该表单设计结果如图所示:
4.2 设备入库模块的设计
在设备入库模块中将实现设备数据的添加和入库等功能。本模块设计采用先用向导生成表单,然后修改的方法实现。
首先在项目管理器的文档视图下单击“新建”按钮,
在接下来的向导中,“数据库和表”选择“仓库管理”以及“设备入库表”,这是前面定义好的数据库和表。
由于设备入库需要显示所有的字段,因此我们将可用字段全部移至选定字段,如图所示,单击“下一步”按钮,
在表单样式中,选择“阴影式”以及“图片按钮”,如图所示。左上角的窗口提供了表单样式的预览功能,图片按钮和文本按钮的区别在于显示的时候是以图片来表达功能还是文字来表达,实现功能的函数没有区别。选择“上一步”按钮可以跳回上一个界面对表单中显示的字段进行修改。
单击“下一步”按钮后,向导进行到“步骤3-排序次序”,如图所示,选择“设备号”为索引,并选择升序排列。最后预览表单,核对每项的设置,完成表单向导,如图所示。
值得注意的是,在结束表单向导前,可选择“保存表单以备将来使用”,“保存并运行表单”,或者“保存表单并用表单设计器修改表单”。由于Visual FoxPro6.0向导生成的表单只具有普遍性,对于当前设计的仓库管理系统还需要一定的改变,因此以我们选择“保存表单并用表设计器修改表单”。
单击“完成”按钮系统提示保存表单,将表单保存为“设备入库表.scx”,存于c:仓库管理目录下。然后打开表单修改器生成的表单,如图所示。
在修改BUTTONSET时,可以通过属性窗口的下拉列表选定单个按钮,调整其位置和其它属性。如图所示。
根据功能需求,把“cmdprint”、“”cmdexit、“cmdDelete”和“cmdedit”的Visible属性都设为“.F.-假”。添加2个命令按钮,Caption属性分别设为“修改库存”和“回主界面”。
在“回主界面”命令按钮的click事件中添加代码如下:
thisform.release
do form 仓库管理
在修改库存命令按钮的click事件中添加代码如下:
select 现有库存表
getid=thisform.设备号1.text1.value
set order to 设备号
seek getid
if found()
getnum=thisform.入库数量1.text1.value
update 现有库存表 set 现有库存=(现有库存+getnum) where (设备号=getid)
else
insert into 现有库存表 (设备号,现有库存,最大库存,最小库存);
value (thisform.设备号1.text1.value,thisform.入库数量1.text1.value,1000,10)
endif
insert into 操作日志表(操作员,操作内容,操作时间);
values (thisform.采购员1.text1.value,'设备入库',date())
保存后运行表单,界面如图所示:
4.3设备出库模块的设计:
在设备出库模块中将实现设备出库数据的添加和修改库存等功能。该模块的功能和设备入库的功能相似。具体操作可以参考设备入库模块的设计,设计最终的界面如图所示。
在表单的左上角加上了显示当前时间的功能,添加标签label2的caption属性设为“当前时间”;添加label3的caption属性设为空;为当前表单的label3init事件添加如下代码:
this.caption=dtoc(date())
该模块具体实现过程不再一一详细说明。下面列出了表单中所用到控件的属性值。
(1) Form1控件的主要属性:
下面时设备出库表单中“修改库存”命令按钮的click事件的代码:
select 现有库存表
*先在该表单的数据环境中添加现有库存表
getid=thisform.设备号1.text1.value
set order to 设备号
seek getid
*在现有库存表中查找设备号等于getid的纪录
if found()
getnum=thisform.出库数量1.text1.value
update 现有库存表;
set 现有库存=(现有库存-getnum) where (设备号=getid)
*如果库存表中有该项设备,则更新库存表
insert into 操作日志表(操作员,操作内容,操作时间);
values (thisform.领取人1.text1.value,'设备出库',date())
else
messagebox("出错",1,"错误的设备号")