pop3协议范例6篇

pop3协议

pop3协议范文1

关键词:多核;邮件还原;Webmail;IMAP

中图分类号:TN946;TP311.52 文献标识码:A 文章编号:1671-2064(2017)10-0030-01

在网络安全方面对往来邮件的关注度日益增高,如何能在网络安全审计系统中将前端输入网络数据流进行相应处理恢复得到最终直观可读的邮件内容。为了解决这个问题本文设计了基于Tilera多核板卡平台开发,借助其高速收包引擎和多核并行处理的高性能进行数据流捕获,并对libnids数据流重组进行代码结构重写完成数据流重组,最后对邮件相关协议POP3、STMP、IMAP、Webmail进行分析,设计还原算法,实现邮件内容获取解析拆分重组等操作,并将内容按邮件eml标准格式输出。

1 Tilera多核板卡收包模块

基于Tilera平台开发,使用高速收包引擎接口mPIPE进行开发实现大数据量的网络数据包捕获,收包流程如图1。

该模块主要通过接收用户设置参数进行相应配置和初始化硬件资源,给多核板卡的NotifRng、buckets等进行内存分配,同时对tcp重组的部分进行初始化和回调函数注册,最后调用mPIPE高速收包接口,peek方式收包进行网络数据包的接入。

2 数据流重组模块设计

该模块(如图2)主要重构修改libnids开源代码,添加与mPIPE的对接接口,将网络数据包流量引入tcp流重组模块,同时对libnids的数据结构进行修改,加入数据还原算法需要用到的用户字段。后进入回调函数进行邮件协议的分类判断,根据端口走入不同的邮件还原模块算法中。

3 邮件还原模块设计

(1)pop3邮件还原模块根据协议的特征设计算法,当识别到TOP或RETR协议命令时缓存邮件内容并判断结束符,最后将完整邮件存入eml文件。

(2)stmp邮件还原模块的算法和pop3类似,不同的是需要识别的协议命令是DATA。

(3)imap]件还原模块根据协议交互特征,识别带用FETCH等请求获取邮件全部内容或部分内容的协议命令时,组合缓存邮件内容结束符,当邮件内容到达时,判断结束符,进行单封邮件的循环拆分和eml存储。

(4)Http邮件还原模块根据邮箱操作的协议命令格式,每个操作对应一个或多个post或get的url命令格式,其中包含如func=mbox:listMessage"等特征标识,解析并组合其中携带的邮件内容,抽取mime格式中的From、To等字段信息写入eml文件。

4 结语

本文基于Tilera多核板卡硬件平台进行开发,结合mpipe收包引擎接口和libnids数据流重组功能,针对邮件协议特征设计算法实现POP3、STMP、IMAP、Webmail的邮件还原。

参考文献

[1]丁岳伟.基于SMTP协议电子邮件的还原[J].小型微型计算机系统,2002(03):290-293.

pop3协议范文2

关闭发送检测功能

在打开的杀毒软件操作窗口按快捷键F5,在弹出的程序配置窗口就可以进行设置操作。在左侧列表中选中“电子邮件客户端防护”的“电子邮件客户端”这个项目。接着将“已发送的电子邮件”和“已阅读的电子邮件”选项的钩去除,减少NOD32对电子邮件的扫描频率,毕竟我们是不会给其他人发送含有病毒的电子邮件的。然后选中左侧列表中的“操作”项目,在操作选项中选中“删除电子邮件”就可以。

NOD32更好地支持Gmail

当我们用Foxmail收Gmail时,NOD32的邮件查杀功能并没有启用,这是什么原因呢?通常情况下接收电子邮件使用的是POP3协议,该协议使用的是110这个网络端口,但是包括Gmail等电子邮箱却使用的是加密协议。所以选择“POP3,POP35”下面的“电子邮件客户端”项目,接着点击窗口下方的“添加”按钮,在弹出的窗口选择需要保护的邮件客户端程序,比如这里添加的就是Foxmail程序的文件。

当Foxmail程序接收或发送邮件的时候,NOD32就会对传输的数据扫描,一旦发现传输的数据里面存在病毒信息就会提示用户。所以选中“POP3,POP35”项目,在“POP3协议使用的端口”中,输入加密协议使用的995端口。以后电子邮件就可以全方位地得到保护。

虽然不少邮件客户端都提供了垃圾邮件过滤功能,但经常还会漏掉一些垃圾邮件。配合NOD32的垃圾邮件检测功能,双管齐下就能起到更好的效果。

pop3协议范文3

POP3协议

以前,当我们还在使用普通邮件的时候,我们常常会用一把带锁的箱子作为我们自己的信箱,邮递员会根据邮寄地址把我们的信件放入邮箱中。同样,电子邮件也有它们的暂时存放地,这便是POP服务器。我们使用账号和口令打开POP服务器,就好比是我们在日常生活中拿钥匙打开自己平日的信箱锁一样,开锁的过程便是验证的过程。

POP的全称是Post Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP协议的110端口。现在常用的是第三版,也就是POP3。我们的邮箱的POP3服务器地址就是。POP3采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端工作的,而Server(服务器)则是由网管人员进行管理的。打个比方,我们的居民区将各个住户的信箱都集中在某个地方,由物业公司的人负责管理,当用户要取信的时候只要带上自己的钥匙去这个地方找到自己的信箱开锁取信就可以了。

那么,我们使用客户端软件来远程收取邮件时,其具体过程又是怎样的呢?首先,我们会在邮件客户端软件比方说Outlook、Foxmail的账号属性上设置一个POP服务器的地址(),以及自己所注册邮箱的账号(abc)和密码(123)。当我们在软件中执行收取邮件的命令后,软件首先会调用DNS协议对POP服务器进行IP地址的解析工作,也就是获知服务器在互联网上的真实位置。当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口。

当邮件程序成功地连上POP服务器后,会先使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的密码传给服务器。如果账号和密码通过了服务器的认证,邮件程序就可以使用STAT命令请求服务器返回邮箱的统计资料,比方说邮箱中邮件的总数、大小等,得到许可后便用LIST命令列出服务器里邮件数量。

接下来邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。最后,当邮件接收完毕后,通过QUIT命令退出,邮件服务器便会将置为删除标志的邮件删除掉。因此,邮件程序从服务器接收邮件,其实就是一个对话过程,POP协议就是用于电子邮件的一门语言。当然了,这门语言我们不需要掌握,因为客户端程序会替我们来完成这一切。

SMTP协议

和POP相对,SMTP是一个用于邮件发送的协议,它是Simple Mail Transfer Protocal的简称,中文译名为简单邮件传输协议,目标是向用户提供高效、可靠的邮件传输服务,其通常使用的是25端口。不过,这种传输的范围非常广,除了邮件客户端软件常用的客户端到服务器之间的邮件传输外,SMTP还作为从某一个服务器传输到另一个服务器的邮件传输协议(见图1)。因此我们可以说,SMTP是事实上的在Internet传输Email的标准,远比我们所认为的“用客户端发送邮件”的看法要广阔得多。

我们还是以大家所熟悉的邮局传递邮件为例来说明SMTP协议的工作过程。首先,要在客户端软件中设置好SMTP服务器()。此外,还要设置注册邮箱的账号和密码(通常可以选择与POP设置相同),虽然发送邮件不需要打开信箱的钥匙,但是服务器也不可能给不属于自己的用户来当“雷锋”,这就好比我们要在普通信封上贴上邮票,邮局才会受理一样。邮件编辑完成后在软件中执行发送操作,软件便会首先对SMTP服务器的地址进行解析,当找到其真实IP地址后,便会向该服务器发送连接请求。这就好比写好信件后要先找到邮电局,然后要求邮电局发送你的邮包。

服务器收到连接请求后,会响应该请求并通过命令接收到客户端传来的账户密码信息。如果核对是自己的注册用户后,便开始进入邮件发送程序。这一步骤好比邮局验证邮包上的邮资是否足额一样。此后,SMTP服务器会判断要发送的邮件是否为本地邮件,也就是判断收件方和发件方是否都处于同一个网络上(比方说都是126邮箱的用户)。如果是,则直接将邮件传送至收件方。这就相当于邮局收到你邮包后,判断是否为本辖区内的邮件,若是,就可以直接投递到用户的信箱了。如果发件方和收件方不在同一个网络上,就需要通过一个或几个中间服务器进行转发了,类似于邮包通过多个地区的中间站进行中转。

SMTP有一个非常重要的特点,便是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。在通过DNS服务器查询到远端邮件服务器的IP地址后(相当于邮局通过数据库查询到邮包收件人所在地的邮局),SMTP首先由发件方提出申请,要求与接收方SMTP建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信了(如图2)。

同样,SMTP也是通过多个命令来实现多个服务器之间数据的交流的。具体的命令格式我们在此就不再赘述了。

SSL协议

也许细心的朋友注意到了,Gmail邮箱与通常的邮箱不同,它的SMTP服务器端口为465,而POP3服务器端口为995(如图3)。这是因为Gmail服务器要求安全连接(SSL)而使用了特殊端口的缘故。

SSL即Secure Socket Layer的简称,中文译为安全套接字层,是一种用来在Internet上传输个人信息的通信协议。该协议最初由Netscape企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。对于那些通过SSL连接来进行传输的数据,SSL要对其进行加密,大大提高了数据的安全性。

Web邮箱本地收

还有一类特殊的邮箱,并没有提供POP收件功能,通常情况下用户只能使用浏览器通过Web方式登录,才能进行邮件的收发。Hotmail/MSN免费邮箱是这类邮箱的代表,只有付费用户才可以使用POP收件功能。

对于这类邮箱,是无法直接使用邮件客户端软件收取邮件的,我们还需要一些辅助措施。FreePOPs这款小软件就可以帮助我们实现Hotmail邮件的POP方式收取。

我们以在Foxmail中的设置为例。先按照通常的方法建立一个Hotmail账户,然后在该账户的“账户属性邮件服务器”栏目中将服务器设为127.0.0.1或者localhost,账户名为Homtail账户的全称,即,并取消对“自动启动Foxmail-Hotmail Proxy”的勾选。然后单击“高级”按钮,将POP3端口设置为2000即可(如图4)。以后,当要接收Hotmail/MSN邮件之前,只要先启动FreePOPs就可以通过POP方式接收邮件了。

FreePOPs小档案

软件版本:0.0.98

软件大小:813KB

软件性质:免费软件

适用平台:Windows 9x/Me/NT/2000/XP/2003

下载地址:/down/FreePOPs-0.0.98-openssl.exe

pop3协议范文4

一边是软件帝国微软,一边是搜索引擎老大谷歌,Windows Live Hotmail与Gmail究竟是谁优谁劣?在这里,我们选择了国外关于Live Hotmail与Gmail分门别类比较测试的文章编译呈现给大家,希望能对大家的选择有所帮助。

下面我们就从Interface(界面)、Storage(容量)、Integrated Calendar(整合日历)、Organization(组织邮件)、Search(搜索)、Personalization Options(个性化)、Chat Integration(整合聊天)、Integrated RSS(集成RSS)、POP3 Account Access(POP3协议访问)等方面分门别类地对Live Hotmail和Gmail进行比较。

Interface(界面)

从界面的外观来看,Live Hotmail看起来比Gmail漂亮许多。尤其对于那些经常使用Outlook的用户来说,Live Hotmail显得更加熟悉和亲切。

其实,Live Hotmail更像是一个基于PC的电子邮件客户端,你可以将信件轻松地拖拉到不同的文件夹里,还可以使用一系列的下拉菜单进行基本的操作,而不需要再打开新的页面,更可以迅速地访问和Outlook一样风格的日历和任务列表等。通过使用大量的AJAX技术,Live Hotmail的功能表现更像是一个桌面应用软件。

而Gmail则选择了一个相对朴素的界面,大部分的主要功能都需要使用文本链接来实现。这使得Gmail的加载速度更快,尤其是在网络连接缓慢的情况下。值得一提的是,通过DSL登录使用Live Hotmail的账户时会有一定的延迟;而在Gmail中,延迟的情况基本不会发生,几乎所有的功能都是瞬间实现的。

另外,Gmail能够将所有回复的邮件同其原始邮件划归一组,从而建立会话。而Live Hotmail使用的则是更传统的方式,将原始邮件和回复分开。显然,Gmail在这个方面更方便人们使用,虽然对有些初次使用的人,尤其是用惯了Outlook的人来说可以说会造成混淆。

编辑点评:虽然Live Hotmail的界面外观更漂亮,也比较符合Outlook用户的使用习惯,不过Gmail在功能上的确更方便使用,它现在需要做的就是要改变原有Outlook用户的使用习惯。

Storage(容量)

Windows Live Hotmail首次扩容到了2GB,而Gmail却已经达到2849MB,并且这一数字还在持续增加。其实,对于微软来说似乎扩容到3GB从而赢得市场是很容易的,但是可惜的是,在空间容量的比较上,微软一直跟在Google的后面磨蹭。

编辑点评:在容量方面,Gmail的获胜几乎是没有什么争议的。

Integrated Calendar(整合日历)

Live Hotmail提供的是一个可共享的日历,这使得用户可以直接在界面内进行访问。这与Outlook的日历功能很相似,并具有Outlook日历的诸多特性,当你选定一个时间点的时候,可以输入有关事件的详细信息,并编辑你的日程。

而“Google Calendar”还没有完全地嵌入到Gmail中,只能通过网页上方的文字链接点击打开新的窗口进入。

编辑点评:在整合日历方面,Live Hotmail的优势比较突出,不过,其还可以做得更好,AJAX技术可以让Calendar更赏心悦目,点击后就只能打开一个新的页面的问题应该要尽快得到解决。

Organization(组织邮件)

Live Hotmail提供了一个Outlook式的消息管理方式,允许用户创建文件夹并将消息拖放进文件夹。而Gmail则采用了一个更加接近Web 2.0的方式,允许用户为各个消息分配诸多“标签”,以此来对邮件进行标记。

编辑点评:按照本人的经验,创建文件夹并进行长距离拖拽来管理消息的方式并不太好用,因此我们认为Gmail的方式略好一些。

Search(搜索)

Live Hotmail拥有一个不错的搜索框,用户既可以搜索邮件也可以搜索网页。同样,Gmail也具有类似这样的功能,而Google在搜索业界的领先地位尽人皆知。不过,因为笔者的Live Hotmail账户是一个新建的帐户,所以还不能在微软的邮件搜索方面发表看法。

编辑点评:在搜索这项中,只能是“待定”。

Personalization Options(个性化)

可能丰富的文本编辑功能如今已经很常见,不再是什么特殊的功能了。不过,在这里值得一提的是,在某些方面Live Hotmail的编辑器确实比Gmail多了一些闪光点。除了字符图标这个最大亮点外,Live Hotmail还允许你定制个性的字体和背景颜色,甚至包括“Lucida Handwriting(明星手写体)”。另外,Live Hotmail还拥有一系列的不同的界面主题可供选择。

编辑点评:或许这正是这两家公司所服务的用户不同的体现,不过Live Hotmail在个性化方面确实有它的优势。

Chat Integration(整合聊天)

对于Live Hotmail来说,当你将好友添加到其中后,你就可以看见他们是否在线(如果你的好友使用MSN Messenger的话)。不过,Live Hotmail并不像Gmail的联系人都固定在侧边拦的工具条上,所以Live Hotmail的聊天功能并不是显示在界面上的。

编辑点评:在整合聊天方面,Live Hotmail和Gmail可以说是不分伯仲,打了个平手。

Integrated RSS(集成RSS)

令人失望的是,Gmail和Live Hotmail在集成RSS方面都没有做太多的努力。虽然Gmail拥有“web clips(网络剪辑)”功能,用户可以随时点击进入Google Reader并在新的窗口中打开标题链接。不过,如果当用户需要的内容更新后就可以在Gmail中接收到通知,那就再好不过了。

在Live Hotmail的“今日焦点”选项卡下,你可以订阅来自其合作媒体的新闻,也可以订阅好友的MSN Space,这继承了微软一贯的风格,不过好像并没有令用户感到什么新的价值。

编辑点评:在集成RSS方面的不足是这两家公司的共同缺陷,还是让我们共同期待一下,谁会是第一个给用户带来完整的RSS功能。

POP3 Account Access(POP3协议访问)

我们可以把Gmail当做一个通用的电子邮件中心来使用,因为它拥有多样化的访问方式。Gmail能够检查你的POP3邮件账户,而且你还可以在Gmail中阅读POP3邮件。尽管POP方式访问邮箱已成为一种落后的技术,但是还是有很多的用户更加青睐于这种陈旧的方式去浏览邮件。而这是Live Hotmail所不能做到的,Live Hotmail仍然坚守IMAP方式,而对POP3无动于衷。

pop3协议范文5

[关键词]嵌入式系统 项目引导 实践教学 SMTP

[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)15-0119-02

一、前言

嵌入式系统作为实践性很强的课程,涉及到计算机、电子技术、自动化等多领域的知识。从计算机专业来看,该课程涵盖了网络、操作系统、微机原理、C语言等多门课程,涉及面广,学习难度大。然而,相当多的学校只给予该课36~54个学时。作为教师,却需要根据教学大纲的安排,全面介绍处理器、接口、操作系统、驱动、应用程序开发等基础知识。显然,采用传统教学方法,既要完成理论的讲解,又完成相关实验,就如走马观花,很难深入理解嵌入式系统的基础知识,更不可能进行嵌入式技术的开发。为了提高学生学习积极性,并使学生有具体的学习目标,作者在嵌入式系统的课程教学中以项目为引导,通过对一简化的远程工业控制项目的实施来验证项目引导在嵌入式系统基础教学中是正确可行的。[1]

二、项目引导

(一)项目引导理论及特点

“项目引导教学”是一种新的教学模式,来源于建构主义学习理论。作为“行动导向”教学法之一,通过“项目需求”为指引,在有限的课时计划内,师生一起为实施一个完整的项目进行教学活动。项目需要的专业技术作为规定的教学内容和学生的专业能力培养要求,并且在教学结束后会产生一个较完整的项目作品。其特点是:项目引导,任务(技术)驱动,学生主体,素质渗透,学工结合。

在教学过程中以项目作为主线来展开,将所需的知识点融入到教学的各个环节中,从而推进项目的实施与开发。在此过程中,激发起学生积极的学习态度和求知欲,引导学生去探索专业技术,从而达到学习知识和学习能力培养的目的。[2]项目引导法最大的特点在于,改变了传统的教学方法,即“教―学”的这种“灌―填”的模式,引导学生由被动的学习,转化为自主学习,而教师在此过程中根据项目的需求进行引导。[3]

(二)项目引入及知识点分解

通过引入一个简化的远程工业控制项目实例来描述项目引导的教学实施过程。在教学实施过程中,教师作为项目的引导者,学生是项目实施的主体。通过给学生详细分析项目需求、项目技术要点、项目设计和实施方法、项目调试技术等基础,逐步引导学生完成嵌入式系统各个知识点的学习,让学生有目的、有计划的学习,学以致用从而激发了学生的学习兴趣。

在项目的引导及教学过程中,根据嵌入式人才需求及计算机专业自身的特点,对项目中涉及的众多知识点进行删减,偏重软件开发的技术讲解和接口的开发,做到条理清晰。

该项目通过邮件的方式,由远程客户端通过邮件工具(如:Outlook)在主题字中发送控制命令,设备的嵌入式中央控制板上实现一个简化版的SMTP Server和POP3 Server,在接收远程客户端邮件后,解析出邮件主题字中的命令,然后通过RS-232通信将控制传递到各子设备,从而实现控制。控制完成后,POP3 Server将结果以邮件形式反馈给远程用户,如图2所示。

图2:SMTP/POP3嵌入式远程控制结构

首先,对该远程控制系统进行需求分析,可以完成以下功能:

1)远程控制:在邮件主题字中传递控制命令;

2)远程更新:可以实现设备上的本地控制程序的远程更新;

3)安全认证:传递邮件过程中,实现用户名、密码的安全认证;

4)控制反馈:无论成功与失败,将控制结果以邮件形式反馈给远程控制用户。

在完成需求分析的时候,逐层分解,指出项目开发所涵盖的各项技术,学生需要掌握的知识点,对各个知识点分别以了解、理解、掌握的层次区别对待。各知识点如下:

1)实现远程控制的中央控制板所需的核心板硬件电路,以了解为主;

2)中央控制板与子设备通信的RS-232接口电路,理解为主;

3)中央控制板功能的实现:Bootloader烧写、内核/文件系统移植,已掌握操作为主;

4)项目实施,程序的引导。主要是嵌入式Linux启动引导过程,理解并掌握基本配置;

5)远程通信,项目中通过SMTP及POP3协议完成通信,要求在设备端的中央控制板上实现SMTP Server和POP3 Server。在该技术实现上,主要涵盖两方面知识。其一,必须掌握基本的Linux socket编程技巧,由C语言实现,对于计算机专业的学生完全能达到较好的学习效果;其二,对于SMTP协议和POP3协议,需要提高学生在项目中自主学习、阅读文献资料的能力,该部分知识可通过公开的RFC文档获取。在教学过程中,教师对协议进行精简,并带领学生一起完成协议通信部分的流程模块划分,提升学生在陌生领域解决问题的能力。

6)远程更新,该技术主要包括三方面的知识。其一,网络字符流的处理,由C语言字符串处理的基础知识即可完成;其二,必须掌握Linux底层文件处理;其三,涉及到SMTP协议对于附件的Base64的编解码技术,同样可由教师对Base64编码进行讲解,提升学生程序编写的素养。

7) 串口通信,设备的中央控制板收到远程命令后,通过串口将命令传递给各子设备。在有限的课时内,可以将最常用的串口作为接口的重点案例讲解。包括:ARM针对串口的内部寄存器设置;在Linux内核中串口驱动的编写分析;重点掌握嵌入式Linux中串口设置及通信应用程序的编写。

8)进程及进程通信,在项目的实现中需要进程及进程间的通信技术完善整个程序结构,该部分也是嵌入式Linux学习中必须掌握的重点部分。

通过该嵌入式远程工业控制项目,基本涵盖了嵌入式系统学习的ARM硬件环境、嵌入式linux、内核移植、嵌入式编程环境、I/O读写、进程及进程通信、接口及编程等内容,是嵌入式系统学习和提升的一个典型项目。通过项目引导的教学实施,让学生对嵌入式系统的学习有了感性与直观认识,极大的激发了学生的学习热情。

(三)项目实施及教学

确定项目并初步分析后,按项目进度的需求逐步讲解,同时鼓励学生主动探索,并搜索相关资料学习对应知识,自主挖掘所需的理论知识。

在此过程中,根据学生的学习基础和相应的学习能力,采用分组的形式完成整个阶段的学习和项目实施。分组以4人为一组,指定能力较强的1人为组长,由组长安排组内的讨论,分配组内成员的任务。根据项目相关的工作情况,按照项目设计的需要完成设计书并完成相应阶段的实验,给出调试结果。为保证所有学生学习的同步进行,在每个项目阶段,教师都对每组的进展和实验进行抽查,了解各组进展,并做好记录。在项目的中期阶段开始,所有组都要进行项目的进展汇报,随机抽取组员进行PPT演示和答辩,并将其成绩计入考评成绩。在项目的最后阶段,进行项目和课程学习的总体答辩。

(四)实施效果

在项目引导教学的过程中,教师在教学的同时,帮助学生建立团队并形成讨论沟通机制,给出一些方向性的建议。不同的团队形式了各具特色的分工机制,有同学适合从整体把握项目,有学生更擅长代码软件的开发,有学生能给出合理的测试调试建议,使学生能合理的自我定位。对于学生个体而言,提高了学生的学习热情,由被动学习转变为主动学习,并激发了学生的求知欲和创新能力。特别在主动搜索整理资料、制订项目设计方案方面,培养了自我学习的能力。对于嵌入式系统相关知识点,能够按要求深入了解与熟练掌握,达到了预期的教学效果。

四、结束语

项目引导嵌入式系统的教学方法目前已取得初步成效,通过项目引导来给学生确立明确目标,激发学习热情,提高学生的学习积极性、主动性与创造性,并在教学中通过项目实践提高了学生的动手能力,团队协作能力,同时也加强了师生之间的情感交流与互动。如何在教学过程中建立阶段性的考核及衡量机制,是后续教学过程中需要继续探讨的重要课题。

[ 参 考 文 献 ]

[1] 郭中华,伍冯洁,李宁智. 项目驱动法在嵌入式教学中的应用[J]. 电脑知识与技术, 2012,8(13):3107-3108.

pop3协议范文6

软件设计师考试是计算机技术与软件专业技术资格水平考试的中级资格考试,该考试在计算机领域具有权威性。在校大学生通过报考、复习、应考软件设计师资格,在一定程度上可以拓宽他们的专业知识领域,提高他们的实践能力。在当前就业难的形势下,拥有软件设计师资格证书的大学毕业生能跨过某些就业考试的门槛,抓住工作机会,获得更好的发展。笔者有软件设计师考试的经历,总结出了一些应对软件设计师考试的方法,以期在以后的计算机专业课的教学过程中融合软件设计师知识点进行教学,以考促教,同时也希望这些方法能够对报考2014年上半年软件设计师的在校考生有一定的参考价值,使他们更有效地进行复习,顺利地通过软件设计师考试。

1 迎战软件设计师

为了能够更好地把握软件设计师的考核知识点,以便将来能够更灵活地将其融入计算机相关专业课程的教学中,笔者与本学院软件工程专业大三的一些学生一起参加了2013年下半年的软件设计师考试,获得了较好的通过率,总结下来,我们作了以下几个方面的努力。

1.1 坚定信念

报名之后,因为种种原因,考生可能会缺乏自信心,不知从何下手。此时,考生要自我鼓励,坚定考试的信心;然后,参考自身以往类似成功的经验,选择一些适合自己的复习方法;接着,根据剩余的时间做好全面的复习计划。例如,浏览所在地的软考网及相关的权威网站、逛51CTO论坛、看上学吧、咨询前辈等等。自从有了最新的2013版的软件设计师考试大纲以来,我们需关注2009年以后的相关消息,较好的网站有中国计算机技术职业资格网http://rkb.gov.cn/。因为有研究发现软件设计师的历年考试内容比较稳定,所以历年的真题非常重要,考生必须要融会贯通历年真题。

1.2 两轮复习

收集最新版的考试大纲[1]、命题组指定教程[2]、历年真题[3]、模拟练习试卷等资料,通过练习促进复习。第一轮,对照大纲,通过做各章节的真题和模拟题来促进对新知识、新考核知识点的学习。笔者先了解了大纲中标注的知识点,再做此章节练习,遇到不懂的翻看指定教程和相应的真题精解。先易后难,查缺补漏。有些题目各种参考书的答案不统一,始终没有办法理解的,要请教其他同学或相应课程的任课教师。因为软件设计师考核的知识面很广,考查掌握和运用基础知识的情况,所以一定要吃透各章节的考核要点。考虑到自己以前考试时复习过软件工程、数据结构、数据库、专业英语,对于上午试题本人花了更多的时间复习计算机组成、操作系统、计算机网络等。例如UML序列图的过程调用、消息返回、对象应实现的方法,UML活动图同时运行的最大线程数,IPV4、IPV6,多个矩阵相乘的动态规划算法等,大家认为有疑问的问题都在章节要点练习之后逐一讨论解决并做好笔记。考虑到本人以前做毕业论文时使用过数据流图和数据库设计,对于下午试题花了更多的时间复习面向对象和UML、数据结构中的算法、程序设计题(C++和Java选做)。例如背包问题、装箱问题、回溯问题、不常见的设计模式等逻辑性较强的问题都是在其他问题练习之后再逐一讨论解决的并做好笔记。讨论时,为了培养自己灵活运用基础知识解决实际问题的能力,看一些结合实际的书,如《大话设计模式》等。第二轮,通过做历年真题试卷和模拟试卷来巩固对考核知识点的把握。在模拟考试的过程中,根据考核的知识点绘制知识结构图,强化记忆。按照考试时间提前一周反复演练,提高自己分析问题、解决问题的能力。

1.3 检测自我

有些题目虽然我们会经常做但就是认识模糊,例如软件成熟度模型CMM、动态规划算法、状态设计模式和装饰器设计模式等。要找出这类薄弱环节,进行再测试再理解。

1.4 从容应战

考前调整好身体状况,应考时认真审题,先易后难。在2013年下半年软件设计师考试下午试题的试卷内容中,比以往多了几个小的问答题,这就要求考生进行全面的分析解答,以确保回答要点的完整性。

2 将软件设计师考试融入计算机专业教学

在参加软件设计师考试之前,笔者承担了软件结构与设计这门课程的教学,学生普遍认为此课程的理论课过于抽象,对此,王春林老师提出“以活动来培养兴趣”、“以考促学”、“以信息系统开发和设计来积累经验”等方案来对学生进行有效的培养[4]。笔者觉得如果自己能够把软件设计师的一部分实例作为学生学习这门课的兴趣点,并结合“以考促学”,那么学生学习的效果应该会更好一些。例如上午试题的B/S、C/S、MVC、CORBA、Web服务等常见的软件体系结构风格,下午试题的抽象工厂、策略、组合、观察者、状态等常见的设计模式。对于对以后此门课程的教学,本人准备先讲解课本上的基本知识点,然后结合经典案例和相关的真题案例,进行软件设计,最后选取某个典型的信息系统进行综合性的应用设计。在使用讲授法对知识点进行讲解的过程中,结合案例教学法和任务驱动法,补充更多的图示、数据、案例、软件设计师考题等相关材料。

2.1 软件体系结构和设计模式

软件体系结构是软件的总体框架,就好比建造房屋风格的选择。在软件开发过程中,须考虑使用何种体系结构才能保证系统的易修改性,每种应用领域到底需要什么样的构件,构件怎样设计才能保证搭配的合理性,以及构件如何修改才能保证这个系统框架不受影响等。多年来总结出了许多成熟的软件体系结构风格,其中:两层C/S是一种胖客户机——瘦服务器的工作模型,客户机侧重数据的显示和分析,服务器侧重数据的管理;B/S是三层C/S体系结构的一种实现方式,主要利用了WWW技术,结合浏览器的多脚本语言,使系统的安装、修改、维护都在Web服务器和数据库服务器上进行,是“零客户端”的运作模式;MVC提供了一个结构,用于交互应用程序的用户界面的裁剪[5]。例如2013年下半年的上午题:POP3采用C/S模式,当客户机需要接受电子邮件服务时,客户端软件(Outlook Express)与POP3服务器建立TCP连接。POP3是一种规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议,是因特网电子邮件的第一个离线标准。POP3允许用户把服务器上的邮件存储到本地主机,同时删除先前保存在邮件服务器上的邮件。POP3服务器是遵循 POP3协议的邮件接收服务器,是用于接收电子邮件的。

使用规范化的软件体系结构描述来描述系统构件之间的接口,可以帮助设计师完成设计工作。常常使用UML来描述软件体系结构。UML通过提供一些图(用例图、类图、顺序图、活动图等),使得可以通过多个视图从不同角度来描述一个系统。有时,某些对象具有生命周期,它们对应于软件的功能需求是非常重要的,但它们却很复杂,这就需要我们能够经常跟踪其状态的变化。例如2013年下半年的下午试题之UML:状态图。在设计软件体系结构时,可以使用一些设计模式(创建型设计模式、结构型设计模式、行为性设计模式),来帮助设计师选择可使系统重用的设计方案。而当我们使用领域驱动和用例驱动的方法在构造软件体系结构时都用到了领域模型[6]。领域建模(概念模型)显示最重要的业务概念和它们之间的关系的类图。例如2013年下半年的上午试题之软件工程:领域模型通常不包含操作。领域模型是真实世界的各个事物的表示,而不是软件中各构件的表示。领域模型是现实世界的一个可视化抽象字典,是没有方法的类图的集合。

3 结束语