作文吧实用文档心得体会内容页

数据库的心得体会

2023-09-17 20:30:46 心得体会 打开翻译

数据库的心得体会 篇1

本程序以c语言的栈的相关知识为基础,通过控制两个栈(运算数栈和运算符栈)的进出的栈操作,来实现对包含加、减、乘、除、括号运算符及sqrt和abs函数的任意整型表达式的求解运算。

从程序的编写来看,感觉这次自己真的学到了好多,特别是对程序的开发流程。从最初的选定程序,到最终的程序运行成功,让我感到如果是仅仅掌握课本上的知识是远远不能够很好的应用到实际的编程中去的。在这个过程中还需要我们更多的去考虑到实际条件的种种限制和约束。

我在写本程序的过程中也遇到了很多的问题,当然本程序的核心问题就是对两个栈的压出栈操作,需要做优先级判断,并要考虑什么时候进栈,什么时候出栈等操作。我采用了课本上第52-54页讲的通过一个二维字符串数组来控制比较“+-*、as=”共9个运算符的优先级控制。对异常,如除数为0、被开方数小于0等异常也进行了精心的处理。对操作过程中要用到的y、n、a、s等字符也进行了改进,最终本程序可以不区分大小写就完成相关操作。

总之,经过本次专业课程设计,让我掌握了开发应用软件的基本流程,运用所学编程技能的基本技巧,也让我初步了解了软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为以后毕业设计和工程实践等打下良好的基础。相信通过这次的课程设计,我对所学的《数据结构(c语言版)》和各种编程语言都有了一个全新的认识。我也会积极吸取本次课程设计的经验,继续研究数据结构和所学的各种编程语言。

数据库的心得体会 篇2

由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。[ wWW.zUoweNbA.NEt ]

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我——针对探究型项目——的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。

回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像"范式不太容易用通俗易懂的方式解释"一样,在"让工具用图标表述我的思维"时费了一番力气。

从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:

使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。

使用了新的开发语言(python,actionscript3),因为我一直比较喜欢"学以致用",而且这样的"数据驱动型"软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。

编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交"可运行的代码"。

实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实"遇到的问题数跟人的能力是成正比的"。

数据库的心得体会 篇3

两个星期时间非常快就过去了,这两个星期不敢说自己有多大进步,获得了多少知识,但起码是了解了项目开发部分过程。虽说上过数据库上过管理信息系统等相关课程,但是没有亲身经历过相关设计工作细节。这次实习证实提供了一个很好机会。

通过这次课程设计发现这其中需要很多知识我们没有接触过,去图书馆查资料时候发现我们前边所学到仅仅是皮毛,还有很多需要我们掌握东西我们根本不知道。同时也发现有很多已经学过东西我们没有理解到位,不能灵活运用于实际,不能很好用来解决问题,这就需要我们不断大量实践,通过不断自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用东西。 从各种文档阅读到开始需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统设计开发过程。很多东西书上写很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统时候才发现其中难度。经常做到后面突然就发现自己一开始设计有问题,然后又回去翻工,在各种反复中不断完善自己想法。

我想有这样问题不止我一个,事后想想是一开始着手做时候下手过于轻快,或者说是根本不了解自己要做这个系统是给谁用。因为没有事先做过仔细用户调查,不知道整个业务流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免,不然会给后来工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后课程设计要特别注意这一块设计。

按照要求,我们做是机票预订系统。说实话,我对这个是一无所知,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计下场我已经尝过了,结果就是出来一个四不像设计方案,没有什么实际用处。没有前期调查,仅从指导书上那几条要求着手是不够。

在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们生活经验,根据可行性研究结果和客户要求,分析现有情况及问题,采用client/server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言规范性以及我们在编程时要有严谨态度,同时在写程序时如有一定量注释,既增加了程序可读性,也可以使自己在读程序时更容易。

我们学习并应用了sql语言,对数据库创建、修改、删除方法有了一定了解,通过导入表和删除表、更改表学会了对于表一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价一般过程,为毕业设计打下基础。

很多事情不是想象中那么简单,它涉及到各种实体、属性、数据流程、数据处理等等。很多时候感觉后面设计根本无法继续,感觉像是被前面做各种图限制了。在做关系模型转换时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。

物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引部分,对一些比较经常使用搜索列,外键上建立索引,这样可以明显加快检索速度,最后别忘记重要安全性设置,限制用户访问权限,新建用户并和数据库用户做相应映射。

不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难事在你尝试之后你可能会发现原来她并没有你以前觉得那样,自己也是可以。如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我最大感想!

以上基本是这次实习体会了,设计进行非常艰难,编码非常不容易,才发现做一个项目最重要不在于如何实现,而是实现之前需求分析和模块设计。创新很难,有些流行系统其实现并不难,难在于对市场分析和准确定位。设计,是一个任重道远过程。

数据库的心得体会 篇4

持续一个月的数据库实训,让我参与了软件工程化的开发过程。其中体会最深的便是我们这个实训网的几个之最:

一.项目最大:项目大是因为我们这个事业起点网站涉及到用户众多-高校,企业,学生,老师,专家,第二个原因是网站的功能多-用户管理,网上实习,网上竞赛,毕业实习设计,项目管理,人才库管理,人才推荐,搜索...项目大很容易造成系统范围的泛滥,在我们的开发初期,由于需求不太明确,功能实现没有重点,造成了需求范围的扩大,给项目开发进度造成了严重的滞后性。然后我们召开了会议讨论了这个问题,一致认同先把项目的基本功能实现,将网站的基本架构搭建起来,最后再在这个基础上继续增加我们网站的其他功能。因此在这个过程中,我深刻体会到了软件工程初期阶段的需求分析以及概要设计的重要性,这两个文档是指导我们后期开发的最重要的依据。

二.数据库表最多:如此庞大的系统,就需要庞大的数据库来支持,所以项目大的直接后果就是我们的数据库表特别多,而且表与表之间的依赖关系也复杂,实体类之间的关系众多,设计起来有一定的难度。数据库的另外一个问题是-数据表的属性,数据表属性的设计完全是依赖于我们刚开始做的需求分析文档,如果需求分析不完整的话,就会造成数据库表属性的缺失,从用户的角度看,就会觉得你的系统提供的数据不够全面,信息量小。

三.开发团队最大:我们团队一共有十四个人,这个对于我们的项目经理来说,是一个相当严峻的问题,毕竟十四个人的团队相当于其他几个小组加起来的人数总和,管理起来有相当大的难度。对于我们这些小组成员来说,由于沟通渠道太多,造成了我们项目中遇到问题,不知道去跟哪个小组成员沟通。为了解决这个问题,我们在团队中又选出了三个小组长,小组成员遇到问题,先去咨询小组长,然后小组长提供反馈信息。

四.项目各个模块间藕合度高:网站涉及的各个功能模块之间的联系紧密,模块之间的接口设计的好坏是项目最终集成成功与否的最重要因素。用户管理这一个部分要为每个模块提供接口,主要是用户的编号以及用户的类型等。每个页面之间的链接也是其中重要的模块接口。这个问题由于我们前期做好了充分的沟通以及按照概要设计中的接口说明去设计自己的模块,所以后期的模块整合没有遇到什么太大的不兼容性等问题。

接下来就谈谈我这一个月中的工作:

需求分析阶段:需求分析阶段我完成了网上竞赛模块的需求分析,其中遇到的主要问题是阅读材料后发现网上实习,网上竞赛,毕业设计指导这几个模块的功能是类似的,提取需求分析后不够明确,经过几次跟汤老师的交流后,确定了这几个模块之间的具体差别,网上竞赛模块的基本需求也大致确定了,网上竞赛模块的基本功能就是学生通过网站报名参加竞赛,企业审核通过后,专家对作品进行评分,排名。

概要设计阶段:在需求分析的基础上,对网上竞赛模块进行了比较具体的概要设计,流程图(ipo图以及用例图);这个阶段的主要难点是对网上竞赛业务流程的描述,如何实现学生报名,企业发布,专家评审的步骤操作,与及跟其他模块对该模块的限制。

数据库设计阶段:我负责整合初步数据库设计说明书,分配组员按照各自的功能模块的具体需求设计自己模块需要的数据表,然后对这些数据表进行整合。在这个过程中遇到的问题就是数据库实在是太大了,最后下来一共有30多张表,表与表之间的关系复杂,关联性大,需要设置的外键较多,很难将所有的属性字段给提取出来,属性的类型设置也是一个问题,采用数值型还是采用字符串性在数据库设计中尤为重要,因为在后台搜索方面,数值型比较快捷,而在数据显示方面,字符串型又有直接读出不用转换的好处。每个表的主键我们采用了用实体的编号去标记它,因为这样实体间关联起来会更加简单。数据库的设计关键是要对整个项目的整体的把握,并且要细化对每个实体类的具体属性要求。

详细设计阶段:我觉得是最重要的一个方面,一个完整的详细设计说明应该可以帮助程序员完成具体的实现,程序员可以不用考虑模块之间的耦合问题,只需要将单一的功能按照逻辑顺序编写出来就可以了。网站整体构架搭好了,我们就可以在里面填充自己的功能了。但是因为时间太仓促了,我们这个阶段也就缩水了,带来后面的问题就是后期代码编写的时候比较混乱,函数接口较难统,界面风格多样化。这个阶段,我的主要工作是跟队友一起设计出了网上竞赛模块的学生,企业,管理员,高校以及专家的界面。

编码阶段:我们是用asp.net开发的,主要任务就是从工具中选出你想要的控件,然后在控件响应函数中填充代码,完成相应的事件响应。这里遇到的最大问题是页面的排版问题,因为自己是第一次开发网站,造成了自己设计的界面风格单调,不太美观,现在就尽量做到页面的整齐。这个阶段主要做的就是:写代码→编译→调试→写代码。

这一个月中我学到了很多东西,技术方面就是学会了用asp.net编写网站,最重要的是让我经历了软件工程化的所有阶段,让我对整个软件工程有了感性的认识,而且将大学三年所学到的知识进行了一次系统的串联,更重要的是学会了如何跟项目团队中的成员沟通问题,这是一个宝贵的实践经验。

数据库的心得体会 篇5

本次课程设计,使我对《数据结构》这门课程有了更深入理解。《数据结构》是一门实践性较强课程,为了学好这门课程,必须在掌握理论知识同时,加强上机实践。

我课程设计题目是线索二叉树运算。刚开始做这个程序时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间帮助最终基本解决问题。

在本课程设计中,我明白了理论与实际应用相结合重要性,并提高了自己组织数据及编写大型程序能力。培养了基本、良好程序设计技能以及合作能力。这次课程设计同样提高了我综合运用所学知识能力。并对vc有了更深入了解。《数据结构》是一门实践性很强课程,上机实习是对学生全面综合素质进行训练一种最基本方法,是与课堂听讲、自学和练习相辅相成、必不可少一个教学环节。

上机实习一方面能使书本上知识变“活”,起到深化理解和灵活掌握教学内容目;另一方面,上机实习是对学生软件设计综合能力训练,包括问题分析,总体结构设计,程序设计基本技能和技巧训练。此外,还有更重要一点是:机器是比任何教师更严厉检查者。因此,在“数据结构”学习过程中,必须严格按照老师要求,主动地、积极地、认真地做好每一个实验,以不断提高自己编程能力与专业素质。

通过这段时间课程设计,我认识到数据结构是一门比较难课程。需要多花时间上机练习。这次程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计基本技能,提高了我适应实际,实践编程能力。总来说,这次课程设计让我获益匪浅,对数据结构也有了进一步理解和认识。

数据库的心得体会 篇6

在这次课程设计中,我们小组设计的是一个仓库管理系统,通过设计这个系统,可以更方便地实现信息的浏览,查询,添加等操作和报表输出等功能,具体包括能实现产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月,年的库存情况;可以查询产品入库情况,出库情况,当前库存情况,可以按出库单,入库单,产品,时间进行查询;虽然这个系统的功能还不是很完善,还有很多功能尚未实现,但这也是我们共同努力的结果,只要有更多的时间,我相信我们能完成的更好。

通过这次将近一个星期的课程设计实训,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对access20xx的认识,了解了相关的access的知识,尤其是对数据库的`原理与开发程序的应用有了更进一步的认识和了解。由于不会vb编程,很多功能实现起来很困难,但好在access有查询、宏和窗体,特别是宏操作可以将几个操作结合在一起,可以执行多个查询,可以调用多次窗体。例如,在某个窗体中要显示设备代码表信息,所以这个窗体中建立一个子窗体用于设备代码表的显示,我们打开窗体后又对设备代码表进行了跟新,所以窗体中显示的并不是最新数据,我们往往需要及时看到设备代码表跟新后的最新数据,窗体不会自动跟新我们就不会看到最新数据,所以这时候我们就会用一个宏操作在对设备代码表跟新之后关闭窗体在打开窗体,这样窗体就相当于完成了一次跟新操作。又例如,在一个表a中刚刚追加了一条记录,我们要将每次刚刚新添加的记录跟新到另一个表b中,用一个查询是很难完成的,经过认真思考,得到了解决的办法是,需要三个步骤,第一步,在表a中添加标志字段,设置默认值为‘否’。第二步,编写跟新查询将标志字段为‘否’的数据跟新到表b中。第三步,编写跟新查询将表a中标志字段为‘否’的跟新为‘是’。

经过这次课程设计,是我明白团队的力量是最大的,至少三个臭皮匠顶个诸葛亮,何况我们都是充满激情的团队。我想在以后的工作中我一定要做到多思考多与团队交流,遇到难题一定要有必胜的信心

猜你喜欢