程序开发范文

时间:2023-03-07 06:44:33

程序开发

程序开发范文第1篇

异常的工作原理,在有问题的地方产生异常,马上停止当前的工作,转向异常处理代码,如果找不到异常处理代码,就会见异常向一层汇报,上一层接到异常会做同样的事,转向异常处理代码,或者再将异常向上汇报,这样逐层间错误传递出去,直到有一层处理了异常或是一直报告给程序的使用者——用户。这个层就是调用栈,当用户A运行程序B,B从函数C开始执行,调用函数D,再调用函数E,再调用函数F,这时F出现了异常,那么这个异常的调用栈就是A(栈底)—〉B—〉C—〉D—〉E—〉F(栈顶),这个异常就会沿着这个栈从栈顶开始向栈底的方向报告,如果在函数C中有对这个异常的处理代码,那么这个异常的报告链就是F—〉E—〉D—〉C。可以看出,如果在完整的调用栈中没有处理这个异常的代码,用户A就成了异常报告的终点,向windows界面系统,会弹出一个恼人的消息对话框哈。

那么用户A向谁报告呢,哈哈,这个已经不属于程序的范围了,感觉用会对程序而言好像上帝一样,诉说痛苦已经让上听到了,就心满意足了哈哈,看来程序真虔诚哈哈。对于异常这个特性,也可以比喻成下属向上级报告问题,如果下属知情不报,问题就严重了,你要是领导知道下属是这样的八成就踢了他,相反如果你有一个报告机制健全的下属队伍,哈哈你就威风了。日本企业文蛤中有个宗旨——联络,商谈,报告,其实就是想让员工都具有向上级汇报的习惯。现在再看看程序,哈哈,你不用给她们灌输什么企业文化,不用她们讲述什么报告的重要性,她们本身就是忠实报告的,如果把程序员比作企业老总,那么程序就是训练一队有素的员工。

怎样处理异常。在这里有个原则就是“永远不要去处理你不知道怎么处理的异常”,

也就是只处理你知道如何处理的异常,对那些你不知道的异常必须广开言路,并积极地向上级汇报。什么叫知道如何处理呢?先说一下处理异常有哪些方式,大体有,弹出提示消息框(这个消息框不同于那个恼人的异常报告消息框,她是捕获异常后,根据处理的具体环境程序员主动编写的友好的提示消息框),记录错误日志,吞掉,做善后工作等等,那么出现异常时就要站在出现异常的模块的立场上考虑一下我应该选择哪种处理方式呢?如果不能做出选择就选择不处理,即向上级报告。

举个例子,函数Fun1是创建并返回一个活动的数据连接对象的方法,他接受一个数据库连接字符串,如果调用者(上级)给他一个错误的连接字符串,这时Fun1创建不了连接对象,产生了一个创建不了连接对象的异常,那么这时他应该怎样处理这个异常呢?弹出友好的消息框?说什么友好,Fun1根本就不知道是什么原因使他接收到了错误的连接字符串,弹一个“连接字符串有误”,用户肯定都有杀你的心,这个提示和用户的业务逻辑有嘛关系!记录错误日志,这个还行,但是记录下来的文字无非就是“连接字符串有误,连接字符串是:SQL……”,好点的话,从连接字符串中看出了问题,一般情况下还得根据代码上下文去找问题原因。这个方式不是不行是不好。吞掉,哈哈开什么玩笑,你既创建不了连接,又不吱一声,想让调用者疯了呀,这个肯定不行。做善后工作,行,确实应该清理一下现场,免得浪费资源,但是还是没吱一声,所以这个方式做的不彻底。没招了,哈,其实上面的分析给我们指明了一条路,帮助我们祛除了错误的选择,这条路就是向上汇报,或是不加任何出来代码,或是记录日志,做些善后,再重新将异常抛出。

那么什么时候就知道怎样处理异常了,这就得看实际的情况和用户的要求了,这句话等于没说,就像其他的标题醒目但给出的结论却模棱两可文章一样,哈哈,这里可以给几个建议,

1,一般地,底层模块或是方法中不要处理异常,

2,编写公共模块、DLL等是,不能采用弹出对话框等依赖于平台,框架的方式处理异常,

3,编写公共模块、DLL等时,必须在使用文档中注明每个方法属性可能抛出的异常。

4,永远不要写try这样的语句。

{}catch(Exception){onothing}自定义异常。明白了异常的原理和机制后,就可以自己定义异常了,这样的实践往往在编写控件、公共模块、DLL等的时候,用错误编号在网上搜索一下,能找出一大堆关于错误代码的描述。其中大多数是M(icro)S(oft)制定的,MS从操作系统到各种各样的框架都有对各种异常的编号,对每种异常做出了详细的定义,如果你还用过像Spread等商业控件,也可以看到他里边的各种各样的异常定义,也就是说我们自己也可以定义异常,在必要的时候,这样就可以让自己写的模块也加入到训练有素的员工队伍中了。至于如何定义异常,具体的编成语言有具体的做法,比如C#中指定一异常一个从Exception继承来的类,VB中异常是个全局变量等等,参见感兴趣语言的语法指南就可以了。

程序开发范文第2篇

乙方:

甲方据本合同相关条款的约定委托乙方进行客户管理软件(crm)程序(以下简称crm程序)的开发及维护。为明确双方责任,维护双方利益,双方达成以下协议:

第一条crm程序的开发周期及相关事宜

甲方在 年 月 日之前,将crm程序开发的相关资料交予乙方。

乙方在 年 月 日之前,完成对crm程序的开发及维护。

甲方在 年 月 日之前,完成对crm程序进行验收。

第二条:甲方的权利和义务

1. 提供专人与乙方联络。

2. 提供所有需要写进crm程序上的资料给乙方,并保证资料的合法性。

3. 甲方将在著作权法的范围内使用本合同标的及相关作品、程序、文件源码,不得将其复制、传播、出售或许可给第三方。

4. 甲方如要向第三方出售该程序、文件源码,必须向乙方告知并征求乙方的同意。

第三条:乙方的权力和义务

1.按第一条的规定,使用甲方所提供的资料,进行crm程序的开发。

2.按第一条规定的期限内,完成crm程序的开发,并通知甲方进行验收。

3.在验收期内按照甲方的要求对crm程不合格的地方进行修改。

4.本合同标的及相关作品、程序、文件源码的版权属乙方所有。

第五条:违约责任

1. 任何一方有证据表明对方已经、正在或者将要违约,可以终止履行本合同,但应及时通知对方。若对方继续不履行、履行不当或者违反本合同,该方可以解除本合同并要求对方按本合同签约金额的十倍赔偿对方损失。

2. 鉴于计算机能互联网的特殊性,包括但不仅限于黑客、病毒、电信部门技术或政策调整等引起的事件,或由于internet上通路的阻塞造成服务延迟或中断,不属于乙方违约,乙方对此产生的一切后果,不承担责任;

3. 如果本合同某一条款根据现行法律被确定为无效或无法实施时,本合同的其他所有条款将继续有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定尽可能接近原约定和本合同相应的精神和宗旨。

4. 因不可抗力而无法承当责任一方,应在不可抗力发生的三天内,及时通知另一方。且因此造成的损失,不付赔偿责任。(本合同所称不可抗力是指不能预见、不可克服并无法避免且对一方当事人造成重大影响的客观事件,包括但不仅限于自然灾害如洪水、地震、火灾和风暴等以及社会事件如战争、动乱、政府行为等。)

5. 甲乙双方应严格保守在合作过程中涉及到的对方的商业和技术机密,否则因此造成的损失须承担本合同签约金额的十倍赔偿金。

第六条:甲乙双方的其他权力和义务

1. crm程序免费服务时间以乙方为甲方安装调试成功之日算起15天之内,在此期间甲方有权要求乙方对crm程序细部功能进行调试。若需更新crm程序的参数及功能,甲方应按双方协商约定的费用支付给乙方作为软件升级费用。

2. 乙方承诺为甲方提供在莆田市区内三次以内(含三次)的上门服务并承诺2个工作日内受理,在非工作日内依乙方工作安排的具体情况而定。

3. 超过约定服务次数的上门服务,甲方应按双方协商约定的确良费用向乙方支付服务费用,乙方不得擅自提高服务价格。

4. 乙方在法定工作时间内,以电话、电子邮件、在线洽谈等方式免费提供技术支持服务。

5. 自签约之日起,甲方应向乙方一次性支付人民币贰仟伍佰圆(2500元)作为乙方开发crm程序的报酬。

6. 如若乙方通过甲方的介绍与第三方达成合作并收取全部费用时,乙方须向甲方支付成交额的50%作为甲方的报酬,但签约金额不得低于叁仟圆人民币(3000元)。

7. 本合同一式两份,双方当事人各执一份,具有同等法律效力。

8. 本合同未尽事宜,依照中华人>文秘站:

9. 因本协会产生的任何争议,双方应协商解决,若双方协商十五天后仍未解决,双方同意将纠纷提交乙方所属管辖区的人民法院诉讼。

第七条:以上条款如有未尽事宜,经甲、乙双方协商后加以补充(具有同等法律效力):

补充内容:

甲 方:(盖章) 乙 方:(盖章)

代表人:(签字) 代表人:(签字)

程序开发范文第3篇

在信息化的教育环境下,应把教师从知识的“传递者”向“引导者”转化,把学生从知识的“被动接受者”向“主动需求者”转变。这要求教师为学生选取启发式的授课方式、紧密结合专业的程序实例、富有引导式的上机指导书,以及严格的评审制度,这样才能使学生充满对专业知识的探究中,自觉主动地思考问题,让学生发挥其积极性和主动性参与到课程中。通过培养上机动手能力,不仅可以使学生获得操作能力、实践能力和创造能力的提升,而且有助于锤炼实事求是、脚踏实地的工作作风。

一、启发式授课方式

程序开发课程的理解性、设计性和专业性强,程序代码都由英文字母组成,使用黑板书写,稍有疏忽导致代码错误,而学生又是刚接触程序,难以发现问题,更不可能解决,如首次上机,上课讲授的例子都无法通过,会给学生的心理带来很大的影响,很容易失去对本门课程学习的兴趣。在授课中,应该改变传统的"教室+黑板+粉笔"的教学模式,而采用以实验室、多媒体教室为主战场的教学模式。这种多媒体教室为案例教学模式的主场所,以实验室为上机以及案例实践锻炼主场所。

在课程讲授过程中,教师应以边输入代码边讲解和分析的方式进行授课,避免仅在课件上存放事先输写好的代码或放视频的方式讲解。教师每输入一个字母都会在学生的记忆中留下印象,而放视频学生的印象就好差很多。在输入代码时,可根据往届学生在上机常犯的错误加入,这样程序运行出错后,会提高学生的注意力。当老师把程序调试通过后,学生对教师在课堂上犯的错误将有很深刻的印象,在学生自己熟悉程序时,能很好的避免。当然程序中,一个字母、甚至一个空格都可能造成程序无法运行。所以穷举错误是不可能做到的,再加之学时安排的限制,授课老师仅需有针对性的讲解几个即可。

二、程序实例的选择

在程序的理解,函数的理解上,通过例子是最后的办法。但实例的选择要与学生的专业相关,实例彼此之间应具有较强的耦合性,促进上机实践教学与理论教学的融合。

(一)专业性强的实例

每门程序课,为加强对语句和函数的讲授,都离不开一定的实例。但实例必须针对专业知识,使学生从课程开始就觉得与专业有密切的关系。如果每门程序课程都是从“求a+b的和”开始,学生就会轻视该门课。因没有特点的例子,学生自然也不会有兴趣。这样教师在后边讲解复杂的实例时,也很难引起学生的注意。待列举专业的实例时,程序往往更难以理解,很多学生仅能选择放弃,有些学生开始奋发学习,但因前面关于语句和函数的理解都需从新开始,坚持补充到老师所讲的内容,可老师的课程也在继续向前讲,基本没有几位学生能坚持下来。一般坚持到追赶上授课内容仅仅是有较好编程基础的同学,其他的学生就有心无力了。

讲授程序开发课的老师,对授课学生的专业一定要事先有一定的知识储备,修改自己课件中的实例,使得所有实例都尽量贴近学生的专业。这样可以紧抓学生兴趣,提高授课的效果。

(二)实例彼此相互联系

程序课中的内容,几个实例是不可能涵盖该门课的所有知识点。所以,每次实例内容都必须从属于该课程体系。每次单独的实践都应有独立而特定的任务,但每次实践与整个课程体系之间,以及彼此的实践课时之间通过内在运作机制建立起和谐的关系。最后所有实例完成后,确实解决了某个专业问题。当课程系统间的耦合实现平衡时,整个课程体系的综合功能就能达到最佳。

实例相互耦合,即方便了授课老师对学生掌握不好的知识点进行回顾,又加强了学生对每次上课内容的兴趣。让学生发现,少上一次课就少学了一定的知识,就不能编写某功能。实例之间互相联系,授课老师在讲授完本次课程内容,也可以预先告诉学生下次课的内容。例如:“这一问题将在下次课讲解”。这些就提高了学生的学习兴趣,即使在部分知识理解欠佳的情况下,依据其他同学的前期基础,继续其后端的开发工作。

总之,在实例的选择上,首先内容要与理论授课紧密相连;其次实例间要有很强的耦合性;最后,要通过实例的学习,学生确实能设计和开发程序来解决一些专业理论应用问题。

三、撰写上机指导书

从上机指导书入手,更变指导书中按部就班的指导方法,用创新的引导性思维,仅详细给出每次上机任务,具体理论和最终成果,留有必要的学生发挥空间。在上机教学中,很多教师把上机指导书的内容、操作方法与步骤、报告格式甚至每一步得到什么结果等都写得一清二楚。学生完全是在教师设定的范围内机械地完成操作,缺少主动积极的思考。造成上机方法单一,学生机械性的重复工作、缺少积极性。因此,授课老师在撰写指导书中因把主要理论、上机要求、程序运行结果详细阐述即可。对试验的步骤和具体程序代码一定不要写在指导书中,否则上机中学生的成绩就很难评定了。对于步骤相同、代码又一致的程序,授课老师将很难给出不同的成绩,这样就导致全部成绩一致。这样的结果对学习成绩好的学生打击了积极性,下次上机时,代码也不用理解,直接拷贝就可以了;对原本自己按部就班完成上机任务的同学的影响是,还不如把好同学的作业改写姓名后直接交上去,反正也没什么技术含量;对于学习不好的同学的影响是,看他们多无聊,来回敲这些字母干嘛,最终成绩还不都一样。

因此,除了上机指导书的内容,还一定要注意指导书的撰写方法。撰写的要详略得当,详细写清要求和运行结果,省略程序代码。要尊重和铸塑学生个性特长,激发和培养创新精神,训练和养成观察思辨能力。

四、成绩评定

上机考核方法的多样性,可以分为上机课现场评分、上机报告和抽考具体上机内容。把现场评分可根据学生的预习准备、实验过程中的表现等给予评定;上机报告可以反映学生具体做的内容和成果;抽考具体上机内容可采用学生随机抽题的方式,反映学生实际掌握情况。在这三个方面中,上机课现场评分是很难量化的,因此仅把其作为授课教师掌握学生学习态度的反映,为其抽查学生的做参考;不雷同的上机报告中较真实地体现学生对内容的掌握程度,但雷同的上机报告的成绩就需考虑该生上机课现场和抽题的方式进行确定;随机抽题的目的是督促主要是调动大家学习积极性,给学习好的学生一个表现空间,给抄袭学生以警示。所以随机是相对的,抽题的一面要选择上机表现好、上机报告写的认真的,另一面要选择上机报告中具有较高雷同性。这样学习好的同学在程序开发的上机中的成绩不仅得到授课教师的肯定,也会得到同班学生的认可;上机中抄袭作业,课堂表现不好的学生,即让授课老师得到了注意,也在同班学生得不到承认,进而督促学习不好学生的进步。制定的量化评价指标要关注学生的程序创意和理念,激励学生完成上机实验的自主性。

五、总结

让上机教学环节进一步联系专业实际。使上机环节不仅是对理论知识的验证,更是理论教学的一种延续。让学生领会理论到上机应用转化的过程,以及在上机中发展理论的创新思维的过程。

1、落实任课教师必须到实践现场辅导的要求,解决学生的实际问题,同时也为理论课教学积累上机案例;

2、使学生每次上机都有具体任务,改变以往上机课任务性不强的现状,彻底解决理论课与上机课脱节的问题;

3、学生上机,每次完成上机指导书中的任务。要求上机课结束后就提交成果,教师要认真批阅,打分,作为上机环节成绩的记载。

4、通过随机抽题的方式进行现场试验考核,调动学生的学习积极性,提高上机课的实际效果。

总之,把理论课和上机课要结合起来上,把基础知识和上机放在一起上,实施理论与上机相结合的教学方式,改变以往枯燥的纸上谈兵式教学方式;多给学生一些实用的例子,做到理论联系实践。上机课内容要与专业有密切的关系,让学生对理论课和上机课都有兴趣,进而提高教学质量。

程序开发范文第4篇

Web应用程序既不是一个真正意义上的Web网站。也不是一个传统的应用程序,它是Web网页和用来完成某些功能的其他资源的一个集合,是在B/S结构中构建的基于浏览器的服务器端程序。对Web应用程序的开发,实际上也就是对客户端程序和服务端程序的开发。

1 客户端程序开发。通过浏览器在客户端展现的是信息内容。而HTML语言则是信息展现的有效载体,此外,还有XML语言。HTML语言关心的是信息的表现形式,而XML语言关心的是信息本身的格式和数据内容。通过XSLT标准,可将XML信息转换为HTML等不同的信息展现形式,最终在浏览器中执行和显示。为了提高开发人员对信息展现格式的控制能力,可采用CSS技术,CSS技术可以在浏览器的支持下,使页面获得更好的展现效果。动态交互的HTML页面实现方法有多种,DTHML技术无需启动Java虚拟机或其他脚本环境,就能获得更高的执行效率,而Javastop技术需启动Java虚拟机,但能获得更好的动态效果。除此之外,还有Applets技术,它是处在服务器端的可以被浏览器下载并在浏览器上运行的Java小应用程序,像网易的聊天室采用的就是这一种方式,当然这还必须有与此相应的服务器端程序。

2 服务器程序开发。到目前为止,服务器端程序根据运行时的具体情况,动态生成HTML页面的技术有CGI、PHP、ASP、JSP、ASP,NET等。每一种都有它的特点及擅长的地方,开发人员要根据需求和具体情况来定哪一种系统环境和开发技术。开发人员对于相似编程语言或范例的熟悉程度同样可以作为选择的因素。没有完美的方法和个人实际情况可以表明哪种技术是最佳选择。CGI是公共网关接口,是定义Web服务器、浏览器和应用程序之间的相互操作中共同遵守的规则集。CGI程序的最大特点是可以用C、C++、Pascal等任何一种语言编制,可运行在任何一种平台上,只要它符合CGI的规范即可,且大多是经过编译后的可执行程序,运行速度快,开销小,安全性高。PHP是一种开放源代码服务器端的HTML嵌入式的脚本描述语言,它将HTML代码和PHP指令合成为完整的服务端动态页面。在保持了与Perl相当能力的前提下。大大加强了对数据库的操作能力。丰富的数据库操作函数,可以进行当前几乎所有的数据库操作。使用PHP语言创建基于数据库的网页将是一件极其简单的事情。更为重要的一点是,PHP语言可以在当前几乎所有的平台上运行,这就决定了使用PHP语言编写的程序可以方便地进行系统之间的移植。

SP是微软公司推出的一种来取代CGI的技术,它是基于IIS的开放式的服务器端脚本环境,使用ASP可以很好地将HTML、脚本命令和组件融合在一起,集简单性、高效性和易扩展性于一体。它使开发人员可以使用几乎所有工具来组合HTML代码,这些脚本可以利用本地服务器或远程服务器上运行的组件来存取数据库、应用程序或处理信息。因此开发简单、功能强大。对于ASP。可以便捷地使用Acfivex组件来执行复杂的任务,只要安装了符合Activex脚本标准的相应脚本引擎,就可以在ASP页中使用任何一种脚本语言。通过创建自己的Acfivex组件,可以将应用程序中的商业逻辑封装到能够从脚本、其他组件或从其他程序中调用的模块。ASP由于使用了COM组件所以它变得十分强大。但是,这样的强大由于Windows NT系统最初的设计问题而引发大量的安全问题。同时。无法实现跨操作系统的应用,它只能工作在Windows环境下。

JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。在传统的网页HTML页面中加入Java程序式段和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页等,这就是建立动态网站所需要的功能。JSP技术可以将网页中的动态部分和静态的HTML相分离,这有助于程序开发人员和页面设计人员同时展开工作而互不干扰。同时也保护了作者的源代码。JSP页面采用可重用的组件,这种基于组件的方法加速了总体开发过程。

二、性能及安全

让Web应用程序完成想做的事情是一回事,而让它们快速、有效的去做常常又是另外一回事。有关性能方面有两个重要指标:响应时间和伸缩性。响应时间是从初始化请求到完成响应所用的时间。伸缩性是指应用程序的响应时间随负载的增加而线性增加。没有Web应用程序可以处理无限数目的请求,但是一般可以预测一个范围,并保证Web应用程序可以在此范围内的伸缩,即始终把响应时间维持在可接受的级别。在Web应用程序中,CGI程序目前运用得比较少,大部分网站采用的是PHP,ASP,JSP及技术构建的。它们都提供在HTML代码中混合某程序代码、由语言收擎或虚拟机上动态解释执行,而且编译操作仅在对JSP、页面的第一次请求时发生,同时JSP、提供了基于内存缓冲技术。

程序开发范文第5篇

关键词 面向对象;MVC框架;数据库设计工具;Erwin

中图分类号TP312 文献标识码A 文章编号 1674-6708(2011)44-0203-01

The Java Application Development Thought

ZHANG Guofang

Henan Industry And Trade Vocational College Department of Computer Science, Zhengzhou 450012,China

Abstract Mainly introduces that JAVA application development based on MVC is to separate model, controller, view, a design and use of separation has made great flexibility, and database design tools to choose.

Keywords OOP; MVC mode; Database design tools; Erwin

设计应用程序首先要选择合适的程序设计语言。Java程序的执行与平台无关,可移植性好的特点,这一特点是其它程序设计语言所不具备的;Java程序设计语言还提供了大量的类以满足网络化、多线程、面向对象程序设计的需要。它的优势使其倍受程序设计人员的青睐。Java的核心是面向对象编程。面向对象编程的一个实质性的要素是抽象,通过抽象处理事物的复杂性。类能够封装并隐藏具体实现过程,类具有封装性、继承性和多态性。在由封装性、继承性和多态性共同组成的编程环境中,精心设计的类层结构是重用程序代码的基础,可以在不破坏依赖于类公共接口的基础上对程序进行升级迁移,多态性使程序清晰、易修改。使用Java进行应用程序开发应考虑以下几个总题。

1 选择开发工具

使用Java语言开发应用程序时,选择合适的开发工具是必要的。选择开发工具可以从以下几个因素考虑:1)开发环境界面是否友好,即用起来是否方便;2)编译效率是否高;3)有没有编程向导;4)是否有可视化调试器等。工具好用能给使编程过程更容易。选择合适的框架也是开发Java应用程序必须考虑的问题。基于综合考虑,今年刚刚的EasyJWeb 2.0应该是个不错的选择,它不仅能满足基于MVC框架的程序设计,同时还会使程序开变得比以往更容易,可以很容易实现生成基于EJS、SSH、SSH2等三种技术构架的快速应用。

2 选择合适的框架

选择基于MVC框架开发Java应用程序,能够使系统的内核功能、对功能的控制输入、系统的输出等3大部分分离,因此可以增加程序设计及程序应用的灵活性。使用MVC框架的好处大概有以下几点:1)可以为一个模型在运行时同时建立和使用多个视图;2)可以使所有相关联的视图和控制器做到行为同步。允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换;3)可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。由于使用MVC框架能给程序设计变得方便且程序的适应性更强,所以MVC框架得到程序设计人员的广泛应用。

基于MVC框架开发程序,需要解决的主要问题就是如何实现三大部分既分离又能够产生关联。Java的程序设计是以类为基础的。JAVA可视化组件可以分为两种:Component和Container,这两种组件均是类。组件要显示的话,就必须添加到视图中。所有Container都使用add(Component,…)的方式将其它组件加到自己上面。add(Component,…)的形式有很多,不可能提前就知道程序员使用哪种形式的方法添加组件。但是所有的add(Component,…)最后都调用addImpl方。因此,可以重写视图类中的这个方法,使得添加进来的每个组件都具有接收激活消息的能力。例如,当文档类中的数据发生改变时,视图类会收到文档类更新视图的消息,然后从文档类中获取新的数据并显示,可能要管理其它的可视化组件,如按钮,文本框等。由于视图类具有容器和组件的性质。所以视图类应该继承JPanel类。除此之外,视图类还要具有捕获选中事件的能力。

3 选择数据库设计工具

数据库设计对于应用程序很关键,若选择了一款好用的工具,做起来就会容易些。ERWin 的全称是AllFuusin ERwin Data Modeler,是CA公司AllFuusin品牌下的数据建模工具。ERwin是功能强大、易于使用的数据库设计工具。它可以实现设计、生成、维护高水平的数据库应用程序,且具有很好效率。从逻辑模型到物理模型,Erwin能够帮助用户可视化地确定合理的结构、关键元素,并优化数据库,从而能使数据库的设计变得快速、容易。ERwin不仅仅是好用的数据库设计工具,同时还是一个功能强大的数据库开发工具,能自动生成数据库表和成千上万条存储过程和触发器代码。把数据库与开发环境集成在一起,还能加速以数据为中心的应用开发。ERwin也能与CA的Model Mart集成。ERwin不仅是最好的数据库设计工具,同时它也是建立数据库最快速的方法。可以做到无须写 Create Table或Create Index语句来生成表和索引,就可以设计并生成数据库。Erwin与其它工具相比ERwin可以自动保持逻辑模型和物理模型同步,并可方便地把逻辑结构转化到物理模型。ERwin在数据库设计和数据库之间建立起强大的native连接,使用该连接能自动生成表、视图、索引、参照完整性规则等。ERwin还包括一整套优化的参照完整性触发器模板和丰富的宏语言,用于定制触发器和存储过程。另外,它的数据库容量计算功能能够帮助用户精确估计数据库或数据仓库的初始大小和增量,使用户能高效地分配系统资源和完成容量规划。选择合适的数据库设计工具是数据库设计的关键。

参考文献

[1]阎宏.Java与模式[M].电子工业出版社,2002,10.

[2]陈云芳.精通Struts 2――基于MVC的Java Web应用开发实战[M].人民邮电出版社,2008,7.

程序开发范文第6篇

中图分类号:S68 文献标识码:A 文章编号:1009-914X(2016)02-0225-01

一、设计模式基本情况介绍

设计模式是一套经过很多次循环使用、很多人非常了解、经过规划编写、代码设计编写经验的总结描述。简单而言, 这种设计模式即为一个被证明可行的解决方案, 这些方案可以不限次数的重用, 有良好的延展性。一般情况下,一个设计模式需要4 个基本元素:

模式名称( Pattern Name):这是个助记名称, 它是用一个或多个词语来讲述模式的问题, 解决问题的方案和效果。模式名称有助于我们思考,同样也便于编写人员同其他人交流设计的主题思想。找到一个合适且恰到好处的模式名称也是设计模式编目工作难点中的重点。

问题设计思想( Problem)。问题设计思想讲述了模式的使用情况以及使用时间。解释设计存在的问题以及问题存在的原因和可能造成的后果, 描述了特定的设计时存在的问题, 也可能描述了不可用设计的类或对象结构。

解决方案( Solution):解决方案讲述了设计的组成部分,也叙述了组成成分之间的相互关联以及各自工作和工作协调方式。解决方案并不是一种叙述一个特定而具体的设计, 而是一种供设计问题抽象的描述和怎样用一个具有无特殊意义的元素组合( 类或者对象) 来使问题解决。

效果(Consequences):效果描述了模式应用的效果以及使用模式应用程序权衡的问题。软件效果主要关注对时间和空间的平衡, 同时效果也表述了语言功能和实现问题。因为复用是面向对象设计的重要元素之一, 所以模式的效果包含对系统的灵活掌握性、扩充延展性或跨平台可移植性的影响,这些效果的实现对理解设计模式和评价这模式都有很大的帮助。

二、设计模式类别

设计模式通常情况下分为三大类:

1、创建型模式:这种模式有五种方法(方法工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式)。

2、结构型模式:这种模式有七种方法(适配器模式、装饰器模式、模式、外观模式、桥接模式、组合模式、享元模式)。

3、行为型模式:这种模式有十一种方法(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)。

4、并发型模式和线程池模式。用一个图片来整体描述一下:

三、设计模式的六大原则

1、开闭原则(Open Close Principle)

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2、里氏代换原则

里氏代换原则面向对象设计的最基本原则之一。其严格描述的情况如下文所示:若对每个类型为P的对象P1,都有类型为T的对象T2,能够使以T定义的所有程序S在所有对象P1代换T2时,程序S的行为没有发生变化,那么类型P就是类型T的子类型。对于这个定义大家通常难以理解,因此一般使用另一个易于理解、易于接受的定义。所谓里氏代换原则(L S P):所引用父类的方式和地方必须可以调用其所有子类的一切对象。

在软件开发及应用中一个父类对象替换成子类对象后,程序的运行将不会产生任异常及错误,但是反过来则不可以,若软件实体使用的是一个子类对象,那么就不一定能够使用或者调用父类的对象。

3、依赖倒转原则(Dependence Inversion Principle)

依赖倒转原则是开闭的基础原则,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

接口隔离原则主要含义是调用两个或者多个隔离的接口,比调用单个接口作用效果更好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

5、迪米特法则(最少知道原则)(Demeter Principle)

为什么叫最少知道原则,原理为:一个实体应该尽可能的避免与其他实体发生相互的作用和联系,可使系统功能模块各自相对独立。

6、合成复用原则(Composite Reuse Principle)

合成复用的原则是尽量不考虑使用继承,多使用合成\聚合方式,

四、Java程序设计常见十种设计模式实例

设计模式描述了一个被广泛证实的可行方案。这些方案非常普遍,并且具有非常完整的定义,设计模式通常情况下具有4个基础元素:模式的名称、模式的问题、模式的解决方案以及模式效果。Java设计模式通常有以下10种:

1、桥梁设计模式(Bridge):桥梁把抽象组成部分和实现组成部分割开分离,便使它们都可以相对独立,这样就不会受到两部分影响发生变化。

2、合成设计模式(Composite):合成模式把类的对象组合成树形结构使其形成“部分--整体”的框架结构。能够让对象的调用和使用更加规范,更加系统化。

3、抽象工厂设计模式(Abstract Factory):抽象模式是提供一个可以能够创建一系列彼此相关或者彼此相互依赖的对象接口,并且不需要编写具体的方法。

4、装饰设计模式(Decorator):装饰模式是运用动态方式给对象添加一些除本功能之外的功能。如果从扩展功能方面考虑,在生成子类的方式上更具有灵活性。

5、适配器设计模式(Adapter):把类的接口转换成所希望的另一个接口。类因为其子类或借口不兼容而不能相互协调工作。但是在适配器模式下接口或类不兼容却可以一起工作。

6、责任链设计模式(Chain of Responsibility):责任链接模式为除去请求发送方和接收方出现的耦合效应,需要让很多对象都能够有序地去处理一个请求。并且把此类对象编制组合成一条“链”,并且可以沿着这条“链”有序高速的传递请求,最终能出现一个对象去处理请求为止。

7、工厂设计方法(Factory Method):通过工厂方法来编写一个有创建对象功能的接口,来让子类去实现,决定哪一个父类将会被实例化。这样可使类的实例化延伸到它的子类。

8、建造设计模式(Builder):建造模式即为把一个极为复杂对象的构建与对象的表示进行分离,使相同方式的构建方法能够通过创建不同的表达方式进行实例化操作。

9、门面设计模式(Facade):为了提供一个与子类中的接口的操作界面,门面模式定义了一个层次更高使用更为方便的接口,这个接口让子类调用、使用更加方便。

10、命令设计模式(Command):即将一个请求封装到一个类里,进而可以使用不同的请求方法对客户的需求进行数据化操作。对排队等候的请求或者记录请求的日志,以及支持可以被随时取消的操作方法。

五、结语

设计模式可能会导致代码机构庞大且编写量增加, 而且程序相对比较难以理解, 但是这样的设计也有较大的优点,可以使创建不确定对象工作变得具有灵活性、富有弹性;同样也可以让部分不熟悉系统新加入的开发者在比较短的时间里投入到系统工作中。设计模式最为重要的实现原则方式是封装的变化,也就是对容易改变的功能机制进行封装。多数程序开发人员对模式的应用经常存在这样的误解, 单纯的认为模式是在某种特定情况下某个问题特定的解决方案及方式。但是实际上模式的设计不是只对于某些特定的问题, 而是具有相当大的可重复性。

参考文献

[1] 彭晨阳.Java 实用系统开发指南[M].北京: 机械工业出版社, 2004.

[2] [美]Bruce Eckel 著.陈吴鹏, 饶若楠译.JAVA 编程思想( 第3 版) [M].北京: 机械工业出版社, 2005.

程序开发范文第7篇

关键词:局域网;OPGW光缆;结构设计;功能模块;输出设计

中图分类号:TN818 文献标识码:A 文章编号:1007-9599 (2013) 09-0000-03

随着国内OPGW的广泛应用,光缆制造技术的不断提高,OPGW结构设计也越来越成熟。但OPGW设计相对于其它光电缆来讲,设计参数多,设计过程复杂,同一个环境条件下不同人员设计的结构很可能就不一样,成本也会有一定的差异,在实际的设计过程中,很多公司采用EXCEL计算,但由于不同规格的铝包钢和铝合金线参数不同,在不断调整的过程很容易出错;同时由于每根OPGW需要单独设计,财务在计算成本的过程中也容易出现错误。怎样快捷、有效地设计出满足用户要求的光缆结构,在设计出结构后,材料成本、价格能一步到位,成为我们急需解决的问题。

针对OPGW光缆设计与使用过程中出现的种种问题,结合公司的实际情况,根据公司现有内网数据库的运行情况,结合我们自身编程的能力,决定对OPGW光缆设计实现同一界面的操作,简化设计过程,在选择材料的同时自动计算各种参数和相对应的价格,从而减少工作量,优先选用具有运行效率高、代码资源丰富的Delphi为程序开发软件,后台数据库采用SQL SERVER 2000,用于存放各种铝包钢、铝合金及其它材料的各种参数,这样在实际设计过程当中保证数据的统一性。该软件设计必须与现有内网连接,能被设计者共享使用并保存。

1 设计原则

该OPGW光缆设计的总原则是不仅要满足OPGW设计需要,同时满足局域网内联系使用,同时,留出ADSS光缆程序接口,以便以后ADSS光缆程序设计的直接接入。结构设计操作须简便,结果输出时即自成WORD文档,并可根据需要直接包含产品结构、产品图型、设计参数及价格。

2 界面设计

整个界面主要分为三大块:光缆结构、图型、计算参数输出。

目前国内流行的OPGW光缆一般由光单元(以下简称OP单元)、承力及载流单元组成。按其结构可分为中心管式和层绞式。在光缆结构布局设计时应当考虑到该两种结构不同的设计方式。界面左侧为光缆结构设计,分为中心层、第一层、第二层、第三层及第四层。第四层的设置,主要考虑大跨越所需抗拉能力较大时采用。在中心层右侧为光纤类型及光纤芯数。根据光缆结构及材料的选择,自动计算出的光缆结构图形显示于界面右上方,右下方则设计要求参数及输出参数值,并且自动判断所设计的光缆参数是否满足设计要求。

3 功能性模块设计

3.1 光单元(以下简称OP单元)

一般OP单元由不绣钢管内包含光纤及油膏组成。当中心层为OP单元时,在其余1-4层不可以输入OP单元,否则程序进行报警。当中心层为承力单元时,第二层可以放置1-2个OP单元,最外层不考虑OP单元的设置。光纤芯数及类别可选择为G.652及G.655光纤。在编程时,应当考虑OP单元放置光纤的极限值,通过与不锈钢管直径、容纳的光纤芯数结合光结余长控制,自动判断该OP管是否能生产,如不能满足生产要求,则跳出对话框报警,需重新调整OP管直径或者光纤芯数。

3.2 承力、载流单元

承力单元和载流单元并非绝对分开的,而是相辅相成的。所谓的承力单元同时也能承受一定的载流量;载流单元也能承受一定的力,在设计时应充分考虑承力与载流的配比。在满足用户要求的情况下,所用单丝型号或规格应尽量统一。每层单丝排序规则,应遵循选择内部抗拉强度较高的铝包钢、外部选择过载能力较强的铝包钢或铝合金等材料,材料的选用以最终满足用户参数要求为准。在本软件设计时,每层根据实际设计要求,不同层的单丝直径不一定完全相同,这就需要判断不同层容纳的单丝根数是否合理,过疏过密均不符合设计要求。在程序设计上,同样对每一层的根数进行判断,如超出范围,则跳出对话框予以警示并要求重新调整,同时在界面上可以直观显示每层放置不同直径单丝的数量,这为设计带来极大的方便。

3.3 图形设计

本软件开发中,对图形进行了重点设计。根据要求,在完成结构设计时,就要求将图形显示出来,从图形上可以给设计者一个直观形象。在此过程中,重点考虑在同一层中,如有两种或三种以上不同单丝时(当然有三种不同单丝的情况较少,在设计中应避免),如何排列单丝组合?

每层中如有两种单丝:

考虑到受力均匀的原则,如单丝数量相等,则不同单丝自动选取间隔排列。如单丝数量不等,需通过一步步的计算,逐步计算出该放置的根数。将单丝数量多的除以单丝数量少的,取整数部分为X,按X(数量多的单丝):1(数量少的单丝)的比例进行排列。后分别减去已排列根数,再将单丝数量多的除以单丝数量少的,同样取整数部分排列,以此类推直至全部排列完成。

举例:如有一层绞式OPGW光缆,内层为1+6结构,最外层有两种单丝,分别是铝包钢7根和铝合金5根。

计算一:7÷5=1.4,X=1,按间隔1根排列;如图1所示;

计算二:6÷4=1.5,X=1,再按间隔1根排列;如图2所示;

计算三:5÷3=1.7,X=1,同样按间隔1根排列,如图3所示;

计算四:4÷2=2,X=2,按铝包钢2根,铝合金1根排列,如图4所示;

计算五:2÷1=2,X=2,最后将剩余2根铝包钢及1根铝合金排列完,如图5所示。

至此,图形计算设计完成。当然我们在真正设计中应尽量避免这种不对称结构的出现。

图一 图二 图三 图四 图五

程序开发范文第8篇

1 作品: Eco2Go

作者: Taneem Talukdar,Gary Pong, Jeff Kao和Robert Lam

入选分析:

有鉴于全球暖化日益严重,因此解决全球暖化最直接的做法就是“节能减碳”。5名加拿大的学生参加Android程序开发竞赛以手机计算个人日常行动所产生的碳使用量,以期能够达到在不影响正常的生活下,尽可能以大众运输工具取代自行开车。 这个应用也可以记录你旅游后的碳使用总量。 它尽可能的提供用户参与Eco2go的社群, 该社群活动的重点在于交换节能减碳的故事与想法,并鼓励社群成员承诺节能减碳的目标。

2 作品: CallACab

作者: Konrad Huebner and Henning Boeger

入选分析:

只要按手机一个键就可以叫出租车,无论你身在何处,甚至于不知道车行的名称,只要按键出租车就自动上路。 还可以透过地图的数据显示最近的出租车的位置。

这个应用对于不熟悉科技的使用者来说的确符合他们的需求,只要按个键就可以知道出租车的位置,并且立u叫车而没有繁琐无用的人机接口,对于幅员广大的国家相当实用。

3 作品: PocketJourney

作者: Anthony Stevens and Rosie Pongracz

入选分析:

用户每到一个新的地点,都会想对当地作一个认识,诸如建筑、艺术、运动、历史、地理环境、音乐、科学等的信息均有助于帮助人们去了解,熟悉新地方的风土人情。 不仅如此,这个程序还可以帮助人们以语音或影像将这些信息呈现出来。 当手持Android 手机到一个陌生的地点,它不仅会提供当地的重要的信息,如果用户要顺道观光,它还会推荐附近著名景点。并用语音介绍其特色。

关于这个应用其实未必有用,试想我们到一个陌生的地点例如美国的旧金山或大英博物馆,可以用购买的方式向当地旅游单位购买这类中文旅游电子书下载到手机,一样的效果,而且实现的机率更高。因为不见得所有的地方无线的覆盖率都是100%。

4 作品: ANDROID SCAN

作者: Jeffrey Sharkey

入选分析:

Android Scan 可以用手机的照相机去扫描CD 或 书本的bar code,而且能实时到因特网寻找相同的CD产品的价格,并依找到的卖方的名称、位置、价格排列、用户可依最近的位置找到最便宜的价格。

这是相当有创意而且扩展性极高的应用,一旦GooGle 愿意将所有物品条形码数据价格、地点等全部上网,对我们的生活购物行为将产生更重大的影响。

扫描BAR Code 之后, Android Scan 会寻找标的物的介绍以及卖方的信息,价格等,必列出附近的可以买到的地点。

Android SCAN 找到CD 之后可以进行比价,如果在当地附近有价格合理的商店,点选后它会显示距离以及位置。

这个应用相当有趣而且具有更大的发展性,试想如果Google 将所有的东西的条形码都提供上网,利用Android 手机作为扫描仪并以此应用做为比价搜寻系统。对多数人的生活将起很大的改变。

5 作品: SPLASHPLAY

作者:

入选分析:

歌曲在Android 手机播放之后透过USB 或蓝芽接口将歌由以及旋律送到各种乐器的光板,光板会产生对应的亮点,想学歌或乐器的人可以用这种方式学习音乐。 由于这种方式很有机动性,车上,在帐蓬中都可以利用。只需包括一个吉他调音器,吉他节拍器和免持听筒,蓝牙足踏板。该产品将提供一种简单,便利和有趣的方法学习音乐。

关于这个应用实在看不出有何特点,直接在Android 手机播放音乐和仿真光板不就好了,况且学音乐和唱歌真的只用这种方式学习,那就没什么乐趣了。

6 作品: COMMANDRO

作者: Alex Pisarev, Andrey Tapekha

入选分析:

提供多重的方法达到人和人沟通的目的

以地理位置为中心的社群网络和人际互动的通讯应用软件将Android 平台的功能发挥漓漓尽致。

实际人际互动通信的革新。

多维的工具可用在娱乐以及通信实务。

提供多重的方法达到人和人沟通的目的。

Commandro 显示出你的朋友目前在那里正在做什么,它利用GPS定位系统确认你和你的朋友已经抵达事先约好的地点。

Commandro 允许你建立多维的活动计划并可以互相重复,根据它的算法,基于GPS的位置信息和用户配置的活动半径。以决定那些活动是最相关的。它也提供设定特定活动和特定个人的警示(例如个人进入了预先约定地点的半径就发出警示,你可以知道你的朋友已经快到了)。

Commandro 让你邀请你的朋友加入你的活动,当你的朋友确认之后,相关的活动就产生并加入计划中。并使用Notification 告知你的朋友是否按照你的计划。

Commandro 也可以帮助别的Commandro 的用户估计所经过的路径的时间。 它也提供 Instant Message 交换信息,并可以上传个人相片生日等信息到服务器供其他Commandro 用户浏览。既使不使用它的人机界面,依然能够在背景执行搜寻等工作。

7 作品: GolfPlay

作者: Inizziativa Networks

GolfPlay 提供了现有高尔夫爱好者高需求的软件。它具有稳定、正确以及免费的特性。 在高尔夫球场提供位置、风向、风速、角度、温度等信息给玩家目的是给予支持所要有的实质帮助,高尔夫球场的球员在一场比赛,利用GPS定位和网上查询的地点记录其统计数据并与其他球友交换经验,这是比赛创作和社交网络交流展示与其他用户关于体育活动链接。

程序开发范文第9篇

不得不说这一次求职我是认真的把它当作一个工程去做,客观得对自己进行了定位,而且非常重要的是明确我想要的工作到底是什么样的。我需要的是让我每天的8小时能够享受工作的快乐。

投简历面试的过程非常折磨人,尤其是我的处境(每天很大压力,完全是自我打磨的阶段)。

我清楚地记得面试现在这份工作那天是某个周六,我的经理"娃娃"和技术主管T同意我周末面试。一共4个小时,那绝对是一个互相争取的过程。他们对于工作的热情打动了我,觉得和这样的团队合作一定可以有火花。

真是幸运,当我正视错误,用行动做出改变的时候,找到了一份我要的工作。入职三周已经和团队磨合得很好了,用同事的话说就是觉得我已经加入很久了。

这里不得不说一句我们的团队,一个老中青结合富有战斗力的集体,而且还不乏八卦调节生活。每个人都特别,合作也会有摩擦,但是整体运作非常协调,开发速度和效率都高。从他们身上我看到不同的工作态度,生活态度。这些对我的职业规划都有着潜移默化的影响。领导“娃娃”也非常合适我目前阶段对于领导的需求。如果说几年前我初出茅庐需要的是一个有时间且肯耐心带我的领导的话,现在的我需要的是一个可以给予我充分信任的上司。“娃娃”信任我,从刚进入公司就如此。在熟悉产品阶段我提出的问题和建议他都认真的听了,而且给我时间让我按照自己的想法作出修改。后来我也喜欢把新想法跟他说,当我们带着创意去和老板谈的时候他是我坚强的后盾。

程序开发范文第10篇

【 关键词 】 面向对象;应用程序开发

Easily Respond to Visual FoxPro Object-oriented Application Development

Sheng Juan

(Northeastern University at Qinhuangdao, Computing Education Center HebeiQinhuangdao 066004)

【 Abstract 】 According to the problems faced by students in object-oriented application development, In this paper many key and difficult knowledge point are discussed, they are including application development thought, data analysis and database design, system interface design, interface data and database record data by value and so on.

【 Keywords 】 object-oriented;application development

1 引言

数据库由于能方便地对数据进行存储、分类、查询等操作,因而在现实中得到了较为广泛的应用,数据库技术也成为广大学生的必学课程,Visual Foxpro由于本身小巧、易用、功能全面的特点被很多学校作为教学内容,但在教学过程中学生一方面要识记数据库自身支持的命令、语句,另一方面在进行应用程序开发时又要面临对程序所涉及的各功能模块的整合,尤其是要采用面向对象的设计思想,常常会陷入困境,为此本文对面向对象的课程设计的设计思路、设计要点等内容进行了阐述。

2 应用程序开发思想

在应用程序开发过程中,主要涉及两部分内容:(1)数据部分:包括各种关系表、数据库,主要是为数据处理提供数据准备;(2)应用程序界面部分:此部分主要用来实现程序的相关功能,包括数据的添加、删除、修改、查询、统计,其中查询是数据处理中应用较多的部分。开发的步骤需要完成五方面内容:(1)需求分析;(2)数据分析与数据库设计;(3)应用程序设计;(4)软件测试;(5)应用程序。应用程序的开发流程和步骤如图1和2所示。不论应用程序的题目有何不同,都可以遵循这个框架流程进行。

3 确定需求及划分功能模块

在进行应用程序开发前,首先要分析题目,确定系统的需求,并按据“自顶向下,逐步细化”的原则,对系统所应达到的功能按层次模块进行合理的划分和设计。 这样才能下一步的程序开发有的放矢。如要要完成 “学生信息管理系统”,经分析此系统要完成以下的功能。

(1)各种信息的输入,主要包括几部分:学生信息;成绩信息;开设课程科目。

(2)各种信息的查询、修改与删除等。

(3)输出相关报表与打印,如学生表、成绩表等。

系统的功能模块图如图3所示。

4 组织数据

在对应用程序的功能确定分析之后,接下来则需要对数据进行组织,包括创建数据库及关系表、完成数据库设计,数据设计需遵循几个原则:(1)相同主题设计在一个表中;(2)避免数据冗余;(3)表中字段设置合理;(4)功能相似表合为一个表;(5)确定表间的合理关系。

根据数据库设计原则,对学生信息管理系统的的数据库设计如图4所示。

5 系统界面设置

根据设定的系统功能,可利用表单设计器方便快速的完成界面设置,通常应用程序中均会包含数据添加、数据定位、数据删除、数据查询、数据统计等操作,学生可根据对控件的掌握情况采用简单控件,如图5采用文本框、标签、按钮;或是稍复杂控件,如图6列表框、表格、选项卡等完成。对完成的各功能表单还需要通过在表单上加载菜单统一调用,来实现对各功能的调用,如图6所示。

在窗体界面设计过程中的两个难点分别是:数据操作语句的选用和面向对象的事件编程。针对第一个难点,整理了如表1中常用功能语句,可在应用程序开发过程中根据情况进行选用。

对于第二个难点,即面向对象编程,需要掌握”面向对象,事件驱动的编程思想”,将表单中控件的值通过变量和数组做好数据传递,再结合数据库语句便能较为容易的实现应用程序。如在图6中,若将文本框中对应学号,科目代码等内容添加到数据表“学生信息中”,可先将文本框中的内容赋值给变量,然后通过insert语句完成向数据表中添加数据的操作,操作代码如图7所示。

6 项目连接

在将各个功能模块开发完毕后,即可通过项目管理器对整个应用程序进行项目连编,使得整个应用程序能以exe或app的形式。在项目连编时需要设定主程序,同时还要注意应用程序所需要的图片、音乐等资源的保存位置,对于程序所需的相关数据最好分门别类加以保存,形成清晰的文件夹层次结构,如图8所示。

7 结束语

虽然数据库的应用范围多种多样,数据库中对于数据的使用也各有侧重,但只要了解了应用程序的开发步骤,在开发过程中做好需求分析、合理设计数据库、有效进行任务分解、掌握面向对象的编程思想,做好界面数据和数据库中数据的映射,是能够实现轻松应对应用程序的开发任务的。

参考文献

[1]王娟.数据基础及Visual Foxpro程序设计教程[M],东北大学出版社,2011.

[2] 黄力明.《SQL Server 数据库原理及应用》精品课程建设改革与实践[J]. 计算机教育, 2009(23): 77-79.

[3] 易开宇. 案例教学法的探索[J]. 信息与电脑,2010(04):211-212.

作者简介:

上一篇:程序化交易范文 下一篇:招标程序范文