通信软件设计心得体会(精选12篇)
1.通信软件设计心得体会 篇一
软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性,只要合作协作才干保证整个项目标有条不絮。别的在课程设想的进程中,当我们碰着不大白的成绩时,指点教员老是耐心的解说,给我们的设想以极大的辅佐,使我们获益匪浅。因此很是感谢感动教员的教育。经过此次设想,我懂得了进修的主要性,体会到实际学问与实际相连系的主要意义,学会了坚持、耐心和勤奋,这将为自己尔后的进修和任务做出了最好的表率。我感受作为一名软件工程专业的先生,此次课程设想是很故意义的。更主要的是若何把自己日常平凡所学的工具利用到理想中。固然自己关于这门课懂的并不多,良多根本的工具都还没有很好的放纵,感受很难,也没有很有效的法子经过自身去了解,可是靠着这一个多礼拜的“进修”,在小组同窗的辅佐和解说下,渐渐对这门课逐渐发作了些许的乐趣,自己起头自动进修并逐渐从根本渐渐起头弄懂它。
所以我以为此次的课程设想意义很深,和其他4位同窗的配合进修、配合、勤奋的进程也很欢快,别的还要感谢感动教员的耐心教育。
整个设想经过了软件和硬件上的调试。我想这关于自己以后的进修和任务乡村有很大的辅佐。在此次设想中碰着了良多理想性的成绩,在理想设想中才觉察,书本上实际性的工具与在理想利用中的仍是有肯定的收支的,所以有些成绩不单要深切地舆解软件工程课程设计课程设想心得体味,并且要不竭地更正以前的过失思想。一切成绩必需求靠自己一点一滴的处置,而在处置的进程傍边你会觉察自己在飞速的提拔。关于教材办理零碎,其法式是比力繁杂的,次如果处置法式设想中的成绩,而法式设想是一个很矫捷的工具,它反映了你处置成绩的逻辑思想和立异才干,它才是一个设想的魂灵地点。因此在整个设想进程中大部门时分是用在法式上面的。良多子法式是能够自创书本上的,但如何跟尾各个子法式才是环节的成绩地点,这需求对零碎的结构很熟习。因此能够说零碎的设想是软件和硬件的连系,二者是密不成分的。经过此次课程设想我也觉察了自身具有的缺少之处,固然感受实际上曾经放纵,但在利用到实际的进程中仍故意想不到的利诱,经过一番勤奋才得以处置。
软件工程课程设想我以为这个收成理应说是相当大的。一路头我们从参考书上找来了课题,可是事实是参考书,做到当时觉察良多法式都是不完好的,这让我们伤透了脑子。看着此外小组都弄得有模有样了,可是我们连一个课题都还没有定好。十分困难又找到了课题,可是功效仍是很不尽人意。法式接线什么的都弄好了,调试也没有成绩,可是就是无法到达预期想要的功效。参考书事实只是一个参考,设想这种工具最后仍是要靠自己动脑子。然后我们巨匠一路齐心合力,从日常平凡做的考试考试、教员上课的举例、书本上的学问以及教员的教育和其他同窗的辅佐下事实完成了。理应说这是经过我们小构成员的配合勤奋和动脑完成的,固然形式并不是很繁杂,可是我们感受设想的进程相当主要,学到了良多,收成了良多。我感受课程设想反映的是一个从实际到理想利用的进程,可是更远一点能够联系到以后结业之后从黉舍转到踏上社会的一个进程。小组人员的配合、相处,以及自身的动脑和勤奋,都是以后任务中需求的。
每次都是心得体味,黉舍教员偷工减料,做的课题都是几年前的工具,还体味呢,自己收拾下,留着自己或许巨匠以后利用,关于教员还行,记得收藏啊·············
软件课程设计心得(2):
历时2周的课程设计终告完成,期间得到了实习公司,网络,书籍等多方面的帮助,获益匪浅。
本次课程设计选题自由度较大,实现什么功能,采用何种技术,是摆在我面前的首要课题。作为一名未出校园,缺乏实际经验的学生,如何做到实用性与经济性的平衡,始终是贯穿设计的难题。为此,我广泛查阅相关书籍,最终结合所学实际选定――定位控制系统作为设计项目。
设计过程中遇到未知的概念、操作方法就去网络、书籍查找,往往得到大于问题本身的收获,这对于经验累积,知识网络的完善大有裨益,令人愉悦。
来自实习公司的帮助同样重要且直观。我实习的公司有自己的设计团队和生产车间,与西门子公司的合作关系让它在竞争中更添优势砝码。因为去的时间巧,跟着工程师见习时可以观察到产品从图纸到实物的过程。虽然看不懂那些复杂的设计图纸,他讲述的设计心得让我对所做的事有更加立体、感性的认识,用通俗、有乐趣、有效率的方式完成课程设计及工作。在此深表感谢!
举一个例子谈谈我在设计过程中遇到的问题及解决方式。plc选型是本次设计的核心问题,如何兼顾实用性与经济性?查阅网上资料时发现,西门子系列产品的优秀性能是人所共识的,然而对比其他同类产品,在价格上,西门子显然偏高,因此也有很多人认为其性价比不如日本或国产品牌。搜索许久仍未有较为有力的实例。于是请教师傅,他告诉我,目前许多大型的、有实力的企、事业单位会乐于采用西门子为主要部件的产品,看重的就是它卓越的性能优势。从长远角度来看,良好的性能节约了维修、更换费用,延长了整个系统的使用年限;西门子的产品形象增加了用户的信任感。这些潜在效益都是西门子产品的魅力所在。工作计划表上的客户有广州地铁,上海石化等单位、企业的订单,在车间的参观更加坚定了我的信心。回去就查找西门子plc型号,最终选定了s7-200系列cpu-224。
尽管经过种种努力,在这份青涩的设计中,依然存在缺点和不足,欢迎老师和同学们的指正。
感谢老师提供的课程设计平台。感谢在本次设计给予指导、帮助的师傅、网友。书籍资料的作者。
2.通信软件设计心得体会 篇二
1 嵌入式软件
随着社会不断朝着信息化的方向发展,计算机在人们日常生活中的重要性越来越突出。在计算机软件设计中,由于嵌入式软件具有较强的稳定性,并且操作简单,深受计算机行业人士的喜爱。嵌入式软件在计算机软件设计中也有着重要的地位,不仅能够大大地提高软件产品的质量,还能够避免软件产品中的问题及不足。在计算机软件设计的时候,可以以嵌入式软件的执行预测、缓存机制及动态分配为基础,优化计算机软件实时处理功能。嵌入式软件在计算机软件设计中主要是硬件处理及软件处理两方面的应用,在计算机软件设计中,要以系统为支撑,然后通过程序员编写程序。在此过程中对多个任务进行同时处理的系统就是嵌入式处理器。嵌入式处理器能够在极短的时间内处理多个任务,并且还能够实时保存信息资源。嵌入式软件有两个优点,其一,由于嵌入式软件的模块化,它可以检测软件并且对其进行修复;其二,嵌入式软件可扩展软件处理器,在计算机进行软件设计和操作的时候,可以使用最低的功率进行,使嵌入式软件的优势可以最大程度地得到发挥,嵌入式软件在计算机软件设计中有着主导作用[1]。
2 在计算机软件设计中的应用
在计算机软件设计中使用嵌入式软件涉及了多个领域,可以大大缩短软件设计中的时间并提高软件设计的效率。
2.1 原理
嵌入式软件和计算机软件存在着一定程度的区别,所以也就导致了嵌入式软件在计算机软件设计运行原理中存在差异的原因。嵌入式软件在计算机软件设计中的预测指令、缓存机制及动态分配等功能中有着重要的作用,它可以在保证计算机软件设计的操作基础上提高软件设计的安全性。虽然嵌入式软件和计算机系统有所差异,但是两者还有一定的相同点:在设计中都要考虑软件设计及硬件设计。软件包括操作系统及程序编写系统,硬件包括输入/输出设备、存储器、外设、处理器等。计算机软件设计中,是由应用程序对系统的操作进行控制,操作系统对程序的编程及硬件进行控制。另外,嵌入式微处理器是嵌入式软件的核心,如今在计算机软件设计中普遍应用的是ATg IRM9200处理器。在软件设计中,模块的设计是核心内容,它的设计质量决定了计算机软件设计是否可操作,也决定了计算机软件设计是否安全[2]。
2.2 开发步骤及设计
2.2.1 嵌入式软件的开发依据
在计算机软件设计中应用嵌入式软件的原理主要是计算机在处理紧急的软件时,嵌入式软件可以利用实时处理功能构建CORBA模型【3】。另外,嵌入式软件还能运用远程调控功能为计算机软件设计提供多种设计任务,降低计算机软件设计的时间,提高计算机软件设计效率及质量。以CORBA模型为例子,研究嵌入式软件在计算机软件设计中的应用,探索嵌入式软件是否可以对计算机软件设计进行创新及完善。
2.2.2 开发步骤
在计算机软件设计中使用嵌入式软件,可以有效提高计算机软件的设计水平,优化计算机软件的开发流程,进一步提高软件系统的可靠性。在计算机软件设计中使用嵌入式软件的时候,首先就要确定软件的开发流程,全面了解计算机中的软件及硬件结构,使两者能够分离,使软件不再依靠硬件,从而提高计算机软件的安全性及可靠性。应用嵌入式软件还能初始化计算机软件中的数据,并格式化计算机软件中的数据结构,为了能够使计算机软件中的设计能够更加完善,可以直接对软件及硬件进行操作。嵌入式软件的开发流程如图1所示。
嵌入式软件的开发流程的步骤分为:(1)全面掌握计算机软件系统的需求,并且对其进行分析了解;(2)根据计算机软件的需求,程序员就可以编写程序代码;(3)对软件性能进行测试,并且对测试结果进行分析,从而能够优化计算机软件设计。由此可见嵌入式软件的开发流程是比较简单的,这也为计算机软件提供了可靠性的保障。在软件设计中,应该着重注意软件数据的初始化工作和格式化工作[4]。
2.3 嵌入式软件在计算机软件设计中的应用
2.3.1 对计算机软件多任务进行划分
嵌入式系统中的应用软件可以保障系统功能的完善,并且还肩负着资源管理及任务间的通信责任。对软件的资源管理及任务通信进行实现的是计算机系统中的微内核,其也是计算机软件的基础程序。应用嵌入式软件,就要对软件不断地进行优化设计及协调,并且优化嵌入式RTOS模型,使软件系统中的任务可以独立工作。
对计算机软件中的任务进行划分,需要将数据进行转换,之后再进行分析应用程序。影响任务划分主要是由于应用系统数据通信之间的异步关系,其可以从两方面进行考虑:(1)系统中的输入/输出系统。输入/输出系统中的驱动要以软件系统中的应用程序及中断为基础才能够实现,其中应用程序就占了CPU大部分的空间,所以就要通过中断以此来提高计算机软件中的实时性及实用性;(2)软件系统内部功能。计算机软件系统中的并行任务有周期任务、应用控制任务及用户接口任务等等,为了将这些任务合为一个任务,就要对任务的激活进行全面考虑。为了能够使计算机软件设计流程更加简单,可以使用同一种事件驱动,来提高软件的资源共享[5]。
2.3.2 存储映像布局及任务组织
在对系统应用功能划分为多个独立任务之后,就要对其进行组织,组织任务的方式主要是以各个任务之间的关系为基础进行的,这些任务的组织及管理功能与嵌入式操作系统有着一定的联系。另外,由于嵌入式操作系统并不完善,所以就要应用程序保存在Flash或者ROM中。为了之后操作系统可以正常运行,就要在组织任务的时候对其进行科学的安排,并且对计算机软件中的系统布局进行优化及完善。软件系统布局主要重点考虑存储映像布局和物理零地址存储器,系统在加电之后,可以在物理零地址上设置代码。嵌入式软件中的应用系统是由ROM启动,物理零地址可以存储计算机系统中的向量。此方式最大的优点就是简单快捷,能够提高处理器在调取向量的速度。
2.3.3 任务调度及实时性应用
在计算机软件设计中应用嵌入式软件,要重点考虑嵌入式系统的实时性,主要分为两方面:(1)软实时性。主要是使系统能够在规定的时间内完成任务,如果没有完成可以延迟;(2)硬实时性。主要是使系统能够在规定的时间内完成任务,如果没有完成,则会有严重后果。所以计算机软件系统的调度应该采用优先的方式,这种方式主要是指微内核可以根据系统中的紧急任务来对软件系统进行优先顺序的安排,并且可以根据不同的优先等级对系统进行划分,以使响应时间可以有效降低[6]。
2.3.4 初始化系统
在计算机软件设计中使用嵌入式软件,还要重点考虑对系统的初始化及执行。编写初始化系统代码是在嵌入式系统的微内核及硬件抽象层中的,主要是对系统进行初始化及引导。与计算机软件系统不一样的是其并没有BIOS系统,所以,开发软件的工作人员就要设计方案来引导系统和编写初始化代码,对这些代码进行执行之后,再进行工作,比如存储系统的初始化、RAM变量的初始化及设置异常中断向量等等。最后再通过设置相应的指令来缓冲嵌入式软件系统,随后进入系统进行调度。
2.3.5 时钟通信及任务
计算机软件设计的时候要注重考虑时钟服务,在嵌入式软件中也有时钟,通常是以“lick”形式出现。所以在计算机软件设计中使用嵌入式软件的时候,还要设计计算机软件的时间,使其中的每项任务都有时钟,并且通过时钟来对其进行控制动作。在嵌入式软件中,大多都有信号、信号量、邮箱等,这可以使软件资源及任务通信和同步得到有效实现。
3 结语
随着社会的不断进步与计算机技术的飞速发展,嵌入式软件在计算机中的应用也有较好的前景。通过以上描述,在计算机软件中应用嵌入式软件,使用分层结构进行设计,可以提高计算机软件的灵活性,还可以简化系统软件的设计过程。首先阐述了嵌入式软件的含义及特点,对嵌入式软件设计的方式进行了分析,研究了在计算机软件设计中使用嵌入式软件的作用。
摘要:随着我国社会的不断发展,计算机行业的技术水平也在不断地提高。在此背景下,嵌入式软件也得到了人们的重视,被人们广泛运用到计算机软件设计中。嵌入式软件具有专业性及实时处理的优点,将嵌入式软件运用到计算机软件设计中,可以使软件设计的流程更加简单明了,预防并及时解决计算机中出现的问题,有效地提高计算机系统的整体应用效率。
关键词:嵌入式软件设计,计算机软件设计,应用
参考文献
[1]朱勇.计算机软件设计中嵌入式实时软件的应用探析[J].信息技术与信息化,2015,(8):66-67.
[2]马宇驰.计算机软件设计中嵌入式实时软件的应用探析[J].信息通信,2014,(4):104-104.
[3]张爱兵.计算机软件设计中嵌入式实时软件的应用探究[J].电子技术与软件工程,2014,(6):113-113.
[4]李禹松.嵌入式实时软件在计算机软件设计中的应用[J].硅谷,2013,(18):37-37.
[5]章慧云.嵌入式实时软件在计算机软件设计中的应用[J].信息技术与信息化,2014,(12):184-185.
3.浅析电力通信设计 篇三
[关键词]电力通信;通信网络;管理信息;系统设计
一、电力通信管理信息系统的设计原则
1.采用TMN结构体系。TMN结构体系中的管理分层能够科学的把管理工作分成几个步骤,同时,保证每个步骤之间层次性和递进性,确保电力通信网络管理体系的科学性。这也是电力通信网络管理达到科学管理目标的必由之路。TMN对电力通信管理的分层是按照工作的需要来展开的,同时,还依照q参考点的分割来完成,并且,分出的每一层次都是相对独立的情况,都具备自己的OSF以满足处理工作的需要。
2.具备兼容其他网络管理系统的功能。TMN结构体系存在一定的不足之处,诸如接口单一就是其中一个重要的缺点。所以,电力通信网络管理信息系统不仅要构建一个高质量的TMN结构体系,同时,必须要求改该电力通信网络管理信息系统可以兼容其他的网络管理系统,只有具备这样的功能,才可能提高电力通信网络管理信息系统的效用。作为SNMP网络管理协议,其在互联网上的使用频率和范围是最广泛的,因此,电力通信网络管理信息系统首先要兼容的就是该网络管理协议。
3.以商用TMN网络管理作为开发平台。用什么来作为开发平台,这会直接影响电力通信管理信息系统建设完成后的使用效果。从目前的系统构建经验来看,使用商用TMN网络管理来当做开发平台是比较可行和有效的。由于当下电力通信技术更新换代非常迅速,而时代的进步,经济的发展又要求电力通信管理信息系统能够处理更加复杂和多样化的任务。而商用的TMN网络管理就可以很好的满足当下电力企业通信系统的需要。改网络管理的模式不仅具有管理高效的优点,而且 操作也很简便。
二、网管监控系统的设计原则
电力通信网管监控系统的设计必须符合系统的完备性原则,也就是系统功能的齐全性。通信网管监控系统不仅要实现对网络的监控功能,还要能实现对资源的管理。系统中的各个子系统需要整体运作,实现系统参数的可共享性。通信网管监控系统相当于是指挥中心,不仅能够进行监控还可以实现数据资源的共享。这样一来,不管是管理层,还是业务层都可以得到这些数据资源,实现系统的互连。系统的独立性是我们首要考虑的方向,因为根据传输设备的不一样,我们为了更好的区分管理,把网管系统分为中兴网管、华为网管、NEC网管等,除此之外,综合数据网和调度数据网也有独立的一套网管系统,实现所有系统的独立管理,清晰明了,不容易造成误操作。系统的可扩充性是我们在设计过程中不可忽视的一点。
三、电力通信网络管理信息系统的设计
1.设计前主要的注意事项。由于学科之间的融合,电力通信网络管理信息系统不仅只满足电力行业的需要,同时也被用于各种地理信息系统的中。所以,为了提高电力通信网络管理信息系统的全面性,要选择一个高质量的管理软件来管理电力通信信息。而在设计电力通信管理系统的时候,要遵循下面的原则:
(1)必须保证所有的通信数据和信息可以在PC机上进行流畅的传输。(2)来源于客户的资源一定要能够在可视化技术和地理信息技术之下得到体现,也就是说,可以在这两种技术下看到资源的全貌。同时,在系统设计之前,要对不同客户的不同需求进行调查、分析、汇总,以此调查的结果为参考数据设计满足客户需要的电力通信网络系统,保证该系统的完整性、优越性、以及可靠性。
2.设计、组织和实施。在电力通信网络管理信息系统设计的过程中,第一个环节,也是最关键的一步就是构建一个数据模型空间。模型中的数据库必须要有能够容纳大量数据资源的功能,同时,还要具备有管理这些庞大数据资源的能力。该数据模型数据必须要能同时管理信息、矢量和三维地形等等较为重要的资料数据。设计人员设计的目的就是让这个数据模型能够把抽象无形的数据资料转变成比较直观和容易理解的线路、变压器以及刀闸等,让客户能够一目了然。
数据模型的组成因素主要分成两种类别,分别是空间因素和对象因素: (1)空间因素是指由DBMS对电路的走势进行记录,让操作人员可以明确系统线路的走向和使用情况,主要包括信息移动的主要路线以及电杆的使用数量等。(2)对象因素是指能够详细地记录信息在移动中所经过的部分以及每根电杆使用的位置等。 因此将两者同时使用就能比较准确地知道电力通信网络管理信息系统的工作情况。
3.建立系统数据库。在进行电力网络通信系统进行管理和完善时候,必须立足于一个科学完善的电力数据信息库,而且在进行数据库建立过程中,需要搜集各种类型的数据来满足不同用户的需求,同时,在设计过程中,有着一个科学合理的模型是很关键的,一般而言,多半采取Visio进行语言和图层的建模,同时,要静心设计出uml符号标示,并确保能够储存到数据库中来。
在数据库建设过程中,图层的设计师十分重要的,因而要科学严密的区分出每一个层次的功能和用途,并合理建立起这些图层之间的关系 。
4.数据信息管理。将数据库进行科学合理的设计完毕后,将能够集合到一起的各种数据信息上传到数据库中,如此,方可对电力信息系统进行科学合理的管理。在进行数据传播输送过程中,在通常 情况下,一般都会采用ArcSDE系统进行数据的传输。首先,需要将所搜集到数据信息发送到orade,再采取较为先进的数据管理系统
ArcSDE进行分类,收集,整理,分析。一般而言,在分析整理过程中,每个数据信息都会严格对应有实际要素配比,如此可以提高管理的便利性,提高管理的效率。与此同时,数据库的目的是为了让用户能够更便利迅速的找到所需求的信息,需要建立好一个数据检索功能,一般会利用ArcSDE建立一个空间索引。如此,拥有权限的用户可以更好的进行搜集信息,提高利用的效率。
四、结语
网管技术在电力系统的广泛应用,不仅仅节约了企业的成本,并且也大大方便了企业的工作。电力通信网监控系统不仅能够实现对通信设备动态的监控,也能够方便网管人员整体、全面的了解设备状况,有助于工作人员及时发现和定位设备故障,保证系统的顺利运行。
参考文献:
[1] 耿芳,刘伟.电力通信网管理技术在郑州供电区的应用[J].科技信息,2010(35).
[2] 卢亮,雷通.南宁供电局通信网管平台一体化整合实践[J].广西电力,2012(1).
4.嵌入式主控软件设计心得 篇四
1.软件框架简述
根据本人近三年的嵌入式主控软件经验,基于VxWorks的嵌入式的主控软件大概有以下几个模块
图2 大功率通信控制器主控软件架构
各模块简述如下:
1)初始化模块
用于系统必备资源的初始化工作,设备通信前需要将各通信接口如CAN控制器、RS-232、RS-485控制器初始化至适当的状态,申请发送/接收数据缓冲区;显示程序图形库一般采用VxWorks自带的windML实现,因此需要初始化windML相关参数以便能在屏幕上正确显示。如果采用其他图形库,则需要考虑其它图形库的初始化工作。上述相关参数初始化完毕后系统进入按键检测、按键处理、控制处理模块。
2)按键检测和按键响应模块
对于用户的按键输入为什么需要设置两个模块来完成呢?只使用一个按键模块实现能否可行呢?实践表明,采用一个按键模块有一定的风险。假设用户在某时刻按键,系统立即对该按键进行处理(可能该处理需要较长时间),在按键处理进行的过程中用户又按下一个键。由于系统正在进行按键处理工作,无法对再一次按键进行响应,该按键响应会被忽略,无法完成用户的预期任务。因此,把按键处理划分为按键检测模块和按键响应模块的好处在于检测模块将按键检测值缓存,等按键响应模块完成响应后再从该缓存中读取下一个键值,保证用户的每一次按键都能被正确记录。
—1—
研发中心设计案例集2007年9月
3)控制模块
控制模块和各应用层相关,无法一概而论,只能视情况而定。
5)显示模块
显示同控制分离是主控软件设计的主要特点之一。显示模块作为系统软件中的一个任务来实现,与按键响应模块、业务模块、控制模块采用自定义协议通信,根据这些模块发送的遥控协议进行界面显示。将显示单独作为一个模块有以下两点原因:
1)一旦用户似于遥控盒的设备需求,该设备能实现对控制器的遥控显示功能,在遥
控盒软件设计时显示模块就可以直接移植到遥控盒的主控软件设计中,减少工作量。
2)显示模块涉及到屏幕刷新操作时会占用一定的时间,显示模块如果直接在相关控
制模块中实现则会影响到控制模块的实时性能。
3.优先级上的考虑
主控软件设计中需要考虑多个任务之间的优先级问题,从目前的设计经验上来看业务单元、信道机调度需要最高优先级,因为中长波、短波通信系统过程中业务单元对信道机的实时性要求最高,按键检测和按键响应优先级次之,显示模块优先级最低。显示任务放在系统比较空闲的时候显示不至于影响到整个系统的实时性能。对于同等优先级的任务最好加上taskDelay(0)语句,因为同等优先级的任务采用分时隙调度的方式,taskDelay(0)能该任务在运行时隙结束时被其它同等优先级的任务抢占到CPU资源。
除端口查询外,采用while(1)或者FOREVER类似结构的无限循环的任务必须拥有信号量、消息等挂起本身的能力。否则,系统运行时从windView中观察:该任务即使优先级最低为255时,也会无休止的占用大量的系统资源,影响系统实时性。
4.总结
5.通信软件设计教学大纲 篇五
【课程编号】XZ26199 【学分数】3
【学时数】60 = 38(理论)+ 6(研究)+ 16(实验)【适用专业】网络通信工程
一、教学目的、任务
本课程属于软件工程实践应用型课程。通过本课程的学习,使学生了解网络通信协议的类别与设计要求、掌握WINDOWS WINSOCK库的使用、掌握Windows下多线程开发的技术,并初步具备Windows下网络通信软件开发的能力。
二、课程教学的基本要求
通过理论和实践的结合,使学生了解网络通信协议的类别,网络通信协议制定的规则和目的。熟练掌握Windows下进行通信软件开发必需具备的技能,如Windows winsock库的使用、win32 多线程 API 的使用、STL模板库的使用等。通过课程设计,完成一个简单的网络通信软件的设计和开发,最终,初步掌握Windows下网络通信软件开发的技术。
三、教学内容和学时分配(4 + 10 + 16 + 12 + 4 + 14 = 60)第一章 初识网络通信协议 4 学时(课堂讲授学时)主要内容:
1.1 通信协议设计概述 1.2 HTTP协议概述 1.3 重温TCP协议 教学要求:
介绍通信协议相关知识、以HTTP协议为例,简单介绍应用层协议如何工作。以TCP协议为例,介绍传输层协议如何工作。
【课程类别】专业限选课 【编写日期】2010.3.30 【先修课程】计算机网络、C++
其它教学环节(如实验、习题课、讨论课、其它实践活动):1研究。
第二章 常用应用层通信协议-从“知道”到“了解” 10学时(课堂讲授学时+实验课时+研究课时)主要内容:
2.1 HTTP协议 2.2 FTP协议
2.3 SMTP及POP3协议 教学要求:
掌握HTTP协议、FTP协议、SMTP协议及POP3协议。掌握Sniffer软件的使用。其它教学环节:2实验 + 2研究
实验一:SnifferPro软件捕获数据并分析(2学时)
要求:使用SnifferPro软件,捕获HTTP网站访问数据,并在HTTP和TCP层对数据进行分析。
研究:完成“SnifferPro软件捕获数据并分析”的实验报告(2学时)
第三章 Windows网络编程 16学时(课堂讲授学时+实验学时)
3.1 网络原理和协议 3.2 地址家族和名字解析 3.3 Winsock基础 3.4 Winsock I/O方法 教学要求:
掌握Windows WINSOCK lib的使用。掌握TCP、UDP编程。掌握相关API的使用。其它教学环节:4实验学时
实验二:TCP协议通信实验(2学时)
要求:编写一个使用TCP协议进行通信的程序。实验三:UDP协议通信实验(2学时)
要求:编写一个使用UDP协议进行通信的程序。第四章 多线程编程 12学时(课堂讲授学时+实验学时)主要内容:
4.1 进程与线程 4.2 线程的WIN32 API 4.3 线程间通信的方法 4.4 线程的同步方法 教学要求:
掌握进程与线程的概念,掌握使用WIN32 API产生线程的方法,掌握线程间通信中的消息通信机制,掌握使用互斥锁、事件等进行线程间同步的方法。其它教学环节:6实验课时
实验四:线程间通信实验(2学时)
要求:编写一个多线程程序,分别使用共享内存、同步消息和异步消息进行通信。实验五:线程间同步实验(1)(2学时)
要求:编写一个多线程程序,分别使用关键区技术、互斥量进行同步。实验六:线程间同步实验(2)(2学时)
要求:编写一个多线程程序,分别使用信号量、事件进行同步。第五章 STL库应用 4学时(课堂讲授学时)主要内容:
5.1 STL简介 5.2 List容器 5.3 Map容器 教学要求:
掌握STL的概念、掌握STL中List和Map容器的使用方法。其它教学环节:无
第六章 点对点的文件传输软件设计与开发 14 学时(课堂讲授学时+实验学时+研究学时)主要内容:
6.1 软件需求分析
6.2 通信协议设计设计讨论 6.3 软件模型设计讨论 6.4 软件功能模块划分讨论 6.5 软件GUI设计讨论
6.6 软件设计模式与软件工程管理 教学要求:
从设计并开发一个简单的“点对点文件传输软件”入手,初步掌握通信软件的设计和开发。其它教学环节:4实验学时 + 3研究学时
实验七:点对点的文件传输软件开发(4学时)
要求:完成课程大作业“点对点的文件传输软件开发” 研究:完成课程大作业“点对点的文件传输软件开发”,提交课程设计报告,并进行答辩。(3学时)
四、教学重点、难点及教学方法
重点:HTTP、TCP协议及通信协议设计技术、WINSOCK LIB的使用、通信软件架构。难点:WINSOCK LIB的使用、通信协议分组结构设计、通信软件架构。
五、考核方式及成绩评定方式:考查
六、教材及参考书目
1、推荐教材:
无,由科任教师提供。—已备有电子版资料和教材。
2、主要参考书:
[1] Sniffer中文使用教程。中国协议分析网http://
[3] 周良忠 译。C++面向对象多线程编程。北京:人民邮电出版社,2003.4.[4] 侯捷 译。Win32多线程程序设计。华中科技大学出版社,1997.1.[5] 侯捷 译。C++标准程序库。网络电子版资料。
修(制)订人: 审核人:
6.软件学习心得体会 篇六
ERP是在1990年,在美国著名的Gartner Group、Inc计算机技术咨询顾问与研究机构在分析员L、Wylie编写的《ERP:设想下一代的MRP Ⅱ(A Vision of the Next―Generation MRP Ⅱ)》的分析报告中,针对当时某些软件公司有一些新的软件包问世,需要制定对传统的MRP Ⅱ软件评价内容时提出的,他们就把具有这样新的内容的软件包称为ERP。
ERP为Enterprise Resource Planning的缩写,中文翻译为“企业资源计划”。
与MRP Ⅱ相比,ERP除了包括和加强了MRP Ⅱ各种功能之外,更加面向全球市场,功能更为强大,所管理的企业资源更多,支持混合式生产方式,管理覆盖面更宽,并涉及企业供应链管理,从企业全局角度进行经营与生产计划,是制造企业的综成经营系统。ERP所采用的计算机技术也更加先进,形成了集成化的企业管理软件系统。
从功能远景来看,ERP要涉及整个供需链上所有的制造商、供应商和顾客,因而使生产制造可以更高效地运行。通过系统来平衡各个部门或实体的价值标准。制造业将成为ERP活动的轴心,并实现供需链上的所有支持单位能够像同步工程一样向业务流程同步化转变;为了实现“面向客户”,把供应商和客户当成是企业制造流程的组成部分,搬开部门之间的“路障”,使客户的需求直接同分销、制造甚至供应商沟通,从而缩短从客户下达定单到完工交货的周期;企业如果不能灵活地成为客户的伙伴,将难以生存。
ERP是将企业所有资源进行整合集成管理,简单的说是将企业的三大流:物流,资金流,信息流进行全面一体化管理的管理信息系统。它的功能模块以不同于以往的MRP或MRPII的模块,它不仅可用于生产企业的管理,而且在许多其它类型的企业如一些非生产,公益事业的企业也可导入ERP系统进行资源计划和管理。它是一个由内部向外部延伸的管理系统。
ERP系统的特点有:
1、企业内部管理所需的业务应用系统,主要是指财务、物流、人力资源等核心模块。
2、物流管理系统采用了制造业的MRP管理思想;FMIS有效地实现了预算管理、业务评估、管理会计、ABC成本归集方法等现代基本财务管理方法;人力资源管理系统在组织机构设计、岗位管理、薪酬体系以及人力资源开发等方面同样集成了先进的理念。
3、ERP系统是一个在全公司范围内应用的、高度集成的系统。数据在各业务系统之间高度共享,所有源数据只需在某一个系统中输入一次,保证了数据的一致性。
4、对公司内部业务流程和管理过程进行了优化,主要的业务流程实现了自动化。
5、采用了计算机最新的主流技术和体系结构:B/S、INTERNET体系结构,WINDOWS界面。在能通信的地方都可以方便地接入到系统中来。
6、集成性、先进性、统一性、完整性、开放性。
在企业中,ERP一般的管理主要包括三方面的内容:生产控制(计划、制造)、物流管理(分销、采购、库存管理)和财务管理(会计核算、财务管理)。这三大系统本身就是集成体,它们互相之间有相应的接口,能够很好的整合在一起来对企业进行管理。另外,要特别一提的是,随着企业对人力资源管理重视的加强,已经有越来越多的ERP厂商将人力资源管理纳入了ERP系统的一个重要组成部分,对这一功能,我们也会进行一下简要的介绍。这里我们将仍然以典型的生产企业为例子来介绍ERP的功能模块,据知名猎头烽火猎聘年度报告显示erp人才正处在人才缺少阶段,有很好的就业前景。
就针对我们专业需求而言,主要还是物流管理。物流管理包括分销、采购、库存管理。
(一)分销管理
销售的管理是从产品的销售计划开始,对其销售产品、销售地区、销售客户各种信息的管理和统计,并可对销售数量、金额、利润、绩效、客户服务做出全面的分析,这样在分销管理模块中大致有三方面的功能。
1、对于客户信息的管理和服务
它能建立一个客户信息档案,对其进行分类管理,进而对其进行针对性的客户服务,以达到最高效率的保留老客户、争取新客户。在这里,要特别提到的就是最近新出现的CRM软件,即客户关系管理,ERP与它的结合必将大大增加企业的效益。
2、对于销售订单的管理
销售订单是ERP的入口,所有的生产计划都是根据它下达并进行排产的。而销售订单的管理是贯穿了产品生产的整个流程。它包括:
a、客户信用审核及查询(客户信用分级,来审核订单交易)。
b、产品库存查询(决定是否要延期交货、分批发货或用代用品发货等)。
c、产品报价(为客户作不同产品的报价)。
d、订单输入、变更及跟踪(订单输入后,变更的修正,及订单的跟踪分析)。
e、交货期的确认及交货处理(决定交货期和发货事物安排)。
3、对于销售的统计与分析
这时系统根据销售订单的完成情况,依据各种指标做出统计,比如客户分类统计,销售代理分类统计等等,再就这些统计结果来对企业实际销售效果进行评价:
a、销售统计(根据销售形式、产品、代理商、地区、销售人员、金额、数量来分别进行统计)。
b、销售分析(包括对比目标、同期比较和订货发货分析,来从数量、金额、利润及绩效等方面作相应的分析)。
c、客户服务(客户投诉纪录,原因分析)。
(二)库存控制
用来控制存储物料的数量,以保证稳定的物流支持正常的生产,但又最小限度的占用资本。它是一种相关的、动态的、及真实的库存控制系统。它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确的反映库存现状。这一系统的功能又涉及:
a、为所有的物料建立库存,决定何时定货采购,同时作为交与采购部门采购、生产部门作生产计划的依据。
b、收到订购物料,经过质量检验入库,生产的产品也同样要经过检验入库。
c、收发料的日常业务处理工作。
(三)采购管理
确定合理的定货量、优秀的供应商和保持最佳的安全储备。能够随时提供定购、验收的信息,跟踪和催促对外购或委外加工的物料,保证货物及时到达。建立供应商的档案,用最新的成本信息来调整库存的成本。具体有:
a、供应商信息查询(查询供应商的能力、信誉等)。
b、催货(对外购或委外加工的物料进行跟催)。
c、采购与委外加工统计(统计、建立档案,计算成本)。
d、价格分析(对原料价格分析,调整库存成本)。
7.通信软件设计心得体会 篇七
单线程程序在处理多核心软件上的效率很低。为了提高软件运行速度, 在现代操作系统的支持下, 多线程软件已经占据大部分市场。比如, 在龙芯2号多线程处理器仅以增加18.8%的芯片面积, 平均提高了31.1%的性能。充分说明了龙芯2号多线程处理器是结合龙芯2号处理器的结构特点、充分挖掘程序的线程级并行能力、提高处理器中功能部件的利用率的设计方案[1];人脸识别、GPS导航等领域中用到的实时信息处理系统 (RIPS) 设计广泛采用多线程技术[2];多线程还被用于EPOLL机制的海量网络信息处理模型使数据接收与数据处理相分离, 具有良好的并发性能[3];用于系统及业务的快速恢复, 推动供电局信息化平台向云计算发展迈出了关键性的一步[4]。在虚拟实验快速发展的今天, 许多虚拟实验平台孕育而生, 如通信原理实验[5], 用组播技术[6]、CS技术[7]搭建虚拟实验室。将多线程技术用在虚拟实验上可以使实验更为真实。本文也在运用多线程并发实现程序的基础上提出了多线程全通信软件模型, 将模块之间的调度时间加少, 提高用户体验。
1 单线程, 多线程对比
线程 (thread) 就是运行在进程上下文中的逻辑流。在现代操作系统允许我们编写一个进程里同时运行多个线程的程序。线程由内核自由调度。每个线程有它自己的线程上下文, 包括一个唯一的整数线程ID、栈、栈指针、程序计数器、通用目的寄存器和条件码。所有的运行在一个进程里的线程共享该进程的整个虚拟地址空间。
另外, 线程是进程中的一个实体, 是被系统独立调度和分派的基本单位, 线程自己不拥有系统资源, 只拥有一点儿在运行中必不可少的资源, 但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程, 同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约, 致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程, 若程序只有一个线程, 那就是程序本身。
1.1 单线程程序与多线程程序对比
本单线程, 就是只有一个线程, 默认情况下, 系统为应用程序分配一个主线程, 该线程执行程序中以Main方法开始和结束的代码。线程具有生命周期, 它包含3个状态, 分别为出生状态、就绪状态和运行状态。
线程模型为编程带来便利, 它简化了单个程序中多个交织在一起的操作的处理, 由CPU轮流给每个任务分配其占用时间。每个任务以为自己一直占用CPU, 实际上CPU时间已经划分成片段分配给所有任务了。此外, 线程可以带来更好的通用性, 代码不必知道其运行在一台单个还是多个CPU的计算机上。
当然, 还是存在多线程程序运行时间大于单线程程序的情况:
当多线程程序运行在单CPU的计算机上就会有很大的线程切换开销。程切换开销不仅仅存在于单CPU的情况下, 在多片多核系统中还有属于相同CPU队列中的线程切换开销和另一种是属于不同CPU队列的线程切换开销[8]。
1.2 Java中的多线程
Java的一大特性点就是内置对多线程的支持。
抢占式和协作式是两种常见的进程/线程调度方式, 操作系统非常适合使用抢占式方式来调度它的进程, 它给不同的进程分配时间片, 对于长期无响应的进程, 它有能力剥夺它的资源, 甚至将其强行停止。Java是用协作式的方式, 采用wait/notify/sleep这样的两边线程配合行动。
每个Java程序都有一个默认的主线程。Java应用程序总是从主类的main方法开始执行。当JVM加载代码, 发现main方法之后, 就会启动一个线程, 这个线程称作“主线程”, 该线程负责执行main方法。在main方法的执行中再创建的线程, 就称为程序中的其他线程。如果main方法中没有创建其他的线程, 那么当main方法执行完最后一个语句, 即main方法返回时, JVM就会结束Java应用程序。如果main方法中又创建了其他线程, 那么JVM就要在主线程和其他线程之间轮流切换, 保证每个线程都有机会使用CPU资源, main方法即使执行完最后的语句, JVM也不会结束程序, JVM一直要等到程序中的所有线程都结束之后, 才结束Java应用程序。
线程创建的两种方式:继承Thread类和使用Runnable接口:
1.编写Thread类的子类时, 需要重写父类的run () 方法;
2.使用Thread创建线程对象时, 构造方法如下:thread (Runnable target) 。在创建线程对象时必须向构造方法的参数传递一个实现Runnable接口类的实例, 该实例对象称作所创线程的目标对象, 当线程调用start () 方法后, 一旦轮到它来享用CPU资源, 目标对象就会自动调用接口中的run () 方法 (接口回调) , 这一过程是自动实现的, 用户程序只需要让线程调用start () 方法即可, 也就是说, 当线程被调度并转入运行状态时, 所执行的就是run () 方法中所规定的操作。
2 线程存储器模型
本文以电路虚拟实验为例, 对如何进行线程的建立进行说明。在电路虚拟实验中, 一组并发线程运行在一个进程的上下文中。每个线程有各自独立的上下文, 每个线程和其他线程共享进程上下文余下部分。
2.1 线程上下文结构
实验主线程上下文中包含线程1上下文, 线程2上下文, CLI命令行交互通道。
线程1上下文中包含线程引用列表, 用户CLI接口, 程序线程池。线程池里创建线程1, 线程2, 线程3, 线程4;线程2上下文有线程1的管理器, 程序实例。
线程3:输出结果线程。
线程4:计时线程
2.2 两种模型类的建立
在设计软件功能的时候需要考虑到未来用户的所有需求及使用情况。我们假设用户在运行此软件时, 有可能同时使用到线程1和线程2, 也可能单独使用线程1而不使用线程2。若在第二种情况下, 线程2依旧执行, 软件效率将大打折扣, 同时计算机硬件资源也有很大的浪费。
于是, 我们设计了2种创建线程1上下文的方案:
1.Thread Context create Context With T2 ()
2.Thread Context create Context Without T2 ()
3 线程通信交互模型
由于软件在使用过程中, 线程之间存在调度的问题。为了让所有线程同步于一个时间线程, 进程被设计成全通信的模式, 即所有线程被视为同一模型, 两两之间都能转递消息。
3.1 线程间通信
线程1通知线程2的过程如下:
(1) 线程1创建一个Event, Event的内容与线程2相关。
(2) Event写入全通信通道队列。
(3) 线程2监听到通道队列中的Event, 对比Event类型, 知道是与自身相关的内容。
(4) 线程2进行相应的操作。
3.2 通道的建立
建立线程消息传递安全队列, 对于一个对时间同步有要求的程序, 队列中最大消息数量被设置为20。若需求改变, 也可以容易地改变最大消息量的值。也需要设置队列的ID号。
消息传递安全队列的类图如图1所示。
3.3 模块的设计
软件主要功能在线程1、线程2中实现。为了让线程1、线程2同步与一个相同的时间, 我们抛弃复杂的实时系统, 引入一个时间线程, 线程3用于同步时间。简化线程3的内容, 可以提高线程1、线程2的运行效率。
为了让用户方便的操作, 软件增加线程4用于人机交互, 通过命令行界面 (CLI) , 用户可以容易地使用。
4个线程交互如图2所示。
3.4 程序测试结果
实验内容:从8051单片机P0、P1、P2、P3中任选2个端口一个端口接逻辑电平开关输入设备另一个端口接LED显示电路输出设备无条件将逻辑电平开关输入的数据传送给LED显示电路例如使用P0口输入P1口输出实验电路如图3, 图4为单片机各管脚对应实验图:
实验仿真结果:
结果说明:实验开始前P1口输出都为0, 实验开始后PO口输入上拉电平, 经过单片机80C51的计算, P1口输出变成1.0, LED灯1~8亮, 符合实验结果。
4 结论
本文提出了一个在多线程消息全交互的模型, 由于Java语言对多线程的大力支持, 使得运用此模型的软件可以容易实现。运用线程池的管理, 使得线程容易定义。消息全交互使, 并减少非主要线程的功能, 使得软件运行速度得到很大提高。由于Java语言的广泛运用, 本文提出的多线程全通信软件模型不仅可以用于文中的虚拟实验中, 也能在其他领域得到应用。
参考文献
[1]李祖松.龙芯2号处理器多线程技术研究[D].中国科学院计算技术研究所博士论文, 2006.
[2]蔡雨辰, 赵保军, 邓宸伟.实时信息处理系统多线程框架的高效设计方法[J].高技术通讯, 2013, 23 (1) .
[3]张超, 潘旭.Linux下基于EPOLL机制的海量网络信息处理模型[J].强激光与粒子束, 2013, 25 (z1) .
[4]刘嘉.基于虚拟化进行系统及业务快速恢复[J].软件, 2013, 34 (1) :146-148.
[5]李任增, 文福安.通信原理虚拟实验仿真平台的设计和实现[J].软件, 2013, 34 (6) :1-4.
[6]龙艳军, 李刚.虚拟环境下组播实验搭建方法研究[J].软件, 2013, 34 (6) :56-58.
[7]彭聪.基于三层C/S模式的虚拟实验室平台设计[J].软件, 2013, 34 (11) :98-99.
8.通信软件设计心得体会 篇八
【关键词】V/UHF通信技术 信号基带电路设计 控制软件设计
一、V/UHF通信技术概述
WUHF通信技术也称为多频段信号传播技术,是现代科技水平逐步发展下的高度信号分配管理措施,这种信号管理措施通过对信号进行数字化智能分析,将信号分层不同的三分波段,分别接收来自不同信号传感器的信息,为信息资源的更新提供了充足的数据保障。V/UHF通信技术被广泛应用到现代科技产品中,例如:液晶电视,手机客户端等多种科技产品中。V/UHF通信技术能够被广泛应用是有它自身的特点决定的,第一,V/UHF通信技术能够将信号进行切分,降低了信号受干扰的程度,保障了信号的额完整性;第二,V/UHF通信技术能够实现对检测信号的软件和硬件的综合串行应用,提高了通讯的科技性和专业化水平,促进我国通讯事业的逐步发展。
二、V/UHF通信背景信号基带电路设计
V/UHF通信背景下信号基带电路的设计是促进我国现代信息技术应用与发展的重要技术手段之一,是促进我国通信技术进一步的重要体现,V/UHF通信背景下信号基带电路的理念主要是采用数字信号加密系统将信号进行分段管理,保障信号接收的强度和信号应用之间的灵活程度,实现通信资源管理全面性综合性发展;V/UHF通信背景下信号基带电路的设计结构主要从信号存储器、信号基带电路结构和基带电路编程人手进行分析,这三方面中包含了V/UHF通信背景中信号基带设计的各个基础组成部分,从信号数据存储、信号输送信号以及数据信息操作控制等多方面进行数据管理,实现V/UHF通信背景下基带电路设计的实用性。
三、V/UHF通信背景信号控制软件设计
1、控制软件的数据系统设计。V/UHF通信背景下对信号控制软件的设定是为了提高通信信号的强度,为信号连接提供不同层次的数据信号来源,保障数字化环境中不同环境系统的正常运转,V/UHF通信背景下信号控制设计首先采用SQL应用系统对信号数据资源管理进行数据资源沟通,实现V/UHF通信背景下对不同层次的信号进行合理化切分和补充,实现信号资源应用在不同波段下数据资源的相互转化,即背景信号数据库典型的对FH、VFH、UHF进行信号转化。例如,在V/UHF通信背景首先应用SQL数据系统编程技术收集到的信号资源进行信息资源编程设计,然后按照输出方式分别归类到FH、VFH、UFH数据信号之下,当FH波段的数据信息不稳定时,产品智能化系统进行自动调节将信号段调节在VFH波段下,当VFH波段下的信号数据资源不稳定时,则会自动调节到UFH波段下,从而保障V/UHF通信背景下信号供应的正常运转。
2、V/UHF信号分层控制。V/UHF通信信号分层控制是设计人员在进行软件程序设定时将SQL综合管理下的数据资源进行数据分类管理,即以FH、VFH、UHF为代表的不同信号数据管理层次,在同一设备中不同信号管理程序下实现数据信号管理层次管理,保障FH、VFH、UHF接收到的信号资源管理信号之间的信号互不干扰,并且可以在一定条件下进行数据资源管理互补应用。
3、IP地址的网络地理外置设定。V/UHF通信背景下对信号控制软件设计的一部分,在设计控制软件过程中设定IP应用范围,提高了信号应用的强度,从而实现数据互联网数据信号应用管理中通信信号管理的综合性发展。此外,设定IP地址的网络地理位置设定也是在结合GPS技术基础上进行综合信号应用管理,GPS能够实现对用户V/UHF通信信号强度的准确定位,增强V/UHF通信中不同波段的信号之间的自由转换,同时IP地址网络地理位置设定也能够用户使用范围内的信号资源进行信号强度保护,提高信息通信强度,推进我国通信技术的创新应用。
四、V/UHF通信背景下信号基带电路与控制软件的应用
第一,对V/UHF通信背景下信号基带电路的检测主要侧重对信号基带中对信号存储能力的检测。当V/UHF通信背景下有相应数据信号进行传输时,线号基带线路能够在SQL的数据信息资源操作下将数据进行综合划分存储,并且存储的信号资源具有较强的抗干扰能力,能够保障数据资源的顺利传输控制;第二,V/UHF通信背景下对控制软件的应用检测主要是对信号传输中不同控制部分发挥的实际作用进行测试。信号控制软件将从信号基带电路中接收到的信号资源进行数据再分配,然后经由GPS与IP地址顺利输送到用户应用产品上,完成信号传输的周期活动。
9.软件测试心得体会 篇九
体会一:软件测试在整个软件周期中的重要性。
它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在后续整个项目中占了很大的比重,能主导整个项目的走向,成败与否全在于开始阶段的决策。
体会二:软件测试的真正意义在于发现错误,而不在于验证软件是正确的。
再严密的测试也不能完全发现软件当中所有的错误,但是测试还是能发现大部分的错误,能确保软件基本是可用的,所以在后续使用的过程中还需要加强快速响应的环节。结合软件测试的理论,故障暴露在最终客户端之前及时主动的去发现并解决。这一点就需要加强研发队伍的建设。
体会三:在系统性能测试方面需要重视。
经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以规避风险,包括大数据量访问,高并发数等等。
当然也有很多应对手段,没有哪种手段可称为最完美,只有最合适的,需要灵活掌握,综合运用以达到最优程度,这是个很值得研究的领域。
下面是本人的几点想法:
想法一:加强系统上线前的性能测试。
目前我们在项目建设过程中对性能压力测试的重视程度还不太高,厂家也很少有雇佣第三方的测试机构。而是在现网进行试用,遇到问题再解决,可能会产生滞后问题,影响客户使用。希望以后能在性能测试方面提高重视程度,加大人力投入,以保证系统上线后能够稳定运行。
想法二:适当介入相关项目研发
对于快速响应这块,我们不能一味依赖厂家,而希望自己就能快速响应,及时将问题解决。这也是一个比较长远的问题,需要加强研发力量的投入。
我个人是做开发出身,有此类经验,当时是在客户现场,因为了解系统内部结构,能够在第一时间排查解决客户所反馈问题。
现在系统完全由厂家开发,很难了解内部结构,或许会造成后期维护困难。所以,是否应该针对某些项目介入厂家研发工作,比如请厂家提供源代码等相关要素,以增进维护人员对系统的了解。
10.软件测试心得体会 篇十
不管什么时候,学习能力是一个人必备的,你可以不懂,但你可以在很短的时间内学会它,这是我深深感受到我们在学校的理论学习是多么重要,技术有很多,但理论基本不变,这我觉得就是一个人的学习能力的基础。
在这次实训当中,我感受最深的就是技术的欠缺,还有应该提高学习能力,一直以为学校学的基础知识不会有多大用处,实践才是最重要的,现在发现没有好的理论,很难在实践中有进步。学习的能力我认为是在一个很短的时间里,学习自己欠缺的东西,能更好的完成工作。还有团队的协作,这也是以后我应该注意的,一个人即使技术很强,但如果他不能很好的进行团队合作的话,他不可能做好一个项目。
11.通信软件设计心得体会 篇十一
摘 要:高端软件设计人才不仅要有过硬的设计技能,还要有牢固的工程观、系统观和产品观。本文基于南京大学软件学院的教学实践,以软件系统的设计与构造为主线,提出了围绕软件设计设置和实施的软件工程专业关键课程方案。该方案强调在专业入门课程就开始培养学生的软件工程观念和系统观念,并一以贯之地教授学生在软件工程思想的指导下进行软件设计的能力。
关键词:软件工程;软件设计;教学改革;课程建设;教材建设
一、概述
作为国家战略性新兴产业,软件业急需一批领军型软件人才。教育部在2002年批准开办软件工程(以下简称SE)专业并设立国家示范性软件学院,2011年批准设立软件工程一级学科并把软件工程师培养列入了卓越工程师教育培养计划。至2013年,我国有425所高校开设软件工程专业,设点数、招生数及就业质量均进入前十。因此,研究与建设软件工程专业关键课程体系对于软件人才培养具有重要的现实意义和积极的推动作用。
国际上,IEEE和ACM共同制定了软件工程学科教程CCSE[1,2],给出了软件工程专业的教育知识体系,提出了组织和设计课程体系的若干建议,是公认的软件人才培养工作基础。CCSE推荐课程包括SE基础课程5门、CS中级课程3门和SE高级课程6门,并提出了SE优先的课程方案和CS过渡的课程方案。
但是,SE专业在教学实施中面临以下难题[3]:(1)传统计算机科学(以下简称CS)专业的软件工程课程如何合理过渡到SE基础课程和6门SE高级课程;(2)如何落实SE优先的教学理念,解决关键课程的教学实践与教学资源;(3)如何实施软件工程课程与程序设计类课程的融合教学。
具体来说,目前国际国内缺乏对SE关键课程的教学实践,SE优先的基础课程与部分高级课程属于全新构造,难觅教材和成熟的教学资源,从而导致SE专业教学在实施时面临很大困难,大多数学校只能因循计算机科学专业传统课程过渡。因此,贯彻SE优先的教育理念与落实系统化的SE专业教学体系成为摆在广大SE教育者面前的一个巨大挑战。针对这些问题,南京大学软件工程专业经过多年教学实践,以软件开发的核心工作——软件系统设计与构造为主线,提出了面向软件系统设计与构造的SE专业关键课程教学实施方案。
二、设置思路
CS传统课程按照知识领域安排,非常适合于培养研究性人才。软件产业则迫切需要能够综合运用各种工程技术知识解决具体问题的实用性人才。为此,南京大学SE专业教学体系从能力培养入手,强调持续培养学生的工程观、系统观和产品观;面向“软件系统设计与构造”主线,规划专业关键课程,实践并求精CCSE的SE优先课程设置方案;探索关键课程的教学内容与教学方法,建设相关教材与教学案例。
1.提出软件工程专业课程改革的基本策略。在专业教学早期开始培养学生工程观、系统观与产品观,引导学生持续以软件工程观的角度学习与体验软件系统分析、设计与构建的过程。在一年级开设软件工程课程,专业入门时就树立学生的工程观和系统观,将质量、成本、度量、折中、决策、纪律、规范等工程理念贯穿后续课程,通过反复强化来培养学生牢固的工程理念以及基于工程理念解决问题和进行开发的能力。
2.规划与实践SE优先的专业关键课程。遵循工程的集成与创新特征,面向“软件系统设计与构造”,按照软件系统规模由小及大的次序建立专业教学主线,即以小规模系统、中规模系统、中规模产品、大规模系统技术、应用领域来部署SE专业课程的展开。在单门课程中强调构建系统的全面知识融合教学,培养学生解决实际问题的综合能力。
3.探索适应培养卓越软件人才的教学方法。软件人才培养必须重视学生的工程实践能力、设计能力与创新能力培养,重视实验、实训、实习等培养过程,特别是理论教学与实践教学的完美融合。主要的教学方法包括:面向具体的软件系统构造项目开展综合性知识教学;加强课程教学案例与实践用例建设,实施理论、案例、实践相辅相成的教学;探索校企合作教学、面向问题教学、体验式教学、面向实际教学、研讨式教学、软件创新设计竞赛教学等适合卓越人才培养的新型教学方法。
三、课程体系框架
下图给出了南京大学SE专业的课程体系框架[4,5],其中左侧为重点建设的SE专业关键性基础课程,右侧为其他SE专业基础课程和高级课程,后者在教学上较为成熟,故不赘述。
面向“软件系统设计与构造”的SE专业关键课程共7门,分别为计算系统基础、软件工程与计算Ⅰ、软件工程与计算Ⅱ、软件工程与计算Ⅲ、软件需求工程、软件系统设计与体系结构、人机交互的软件工程方法,分别重点解决学生计算系统分层构建、个人级小规模软件系统设计与构造、小组级中小规模软件系统设计与构造、模拟团队级中规模软件产品设计与构建、大规模软件系统的需求技术、大规模软件系统的设计技术、交互式软件系统设计与评估技术等关键性能力培养。
南京大学软件工程专业课程体系结构图
这7门关键课程均围绕一个具体的软件系统教学案例,融合构建系统所需的多方面知识展开每门课程的教学。各课程都精心设计了一个教学讲解用的软件系统构建案例,并同步设计了一个培养学生工程能力的实践用例。课程围绕教学案例和实践用例的构建活动组织课程教学和实践教学。课程同时力图打破传统课程的技术藩篱,将程序设计、软件工程、交流与沟通、团队动力学、职业素质、过程管理、工程经济学等知识进行融合教学,在案例中引导学生使用软件工程的观念来观察、体验和实践计算系统软件的设计与构建过程,训练其软件系统设计与构造的综合能力。
四、课程描述
“计算系统基础”,以一个经典计算机指令集MIPS的简化版本DLX为线索,以C语言为载体,使初学者可以建立起完整的计算概念,了解经典计算系统的工作原理,理解计算系统自底向上、逐次构造的过程;理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序。具体教学内容包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制和子例程、结构化程序设计和语言处理。endprint
“软件工程与计算Ⅰ”,在软件工程理念指导下,侧重于程序设计教学。以一个计算示例和实践用例的迭代式增量开发实践为线索,全面培养学生在个人开发级别的小规模软件系统构建能力,让学生初步体验软件工程方法与技术在系统开发中的关键作用。具体教学内容包括:程序设计基础、面向对象程序设计语言;OOA、OOD、调试与测试等软件工程知识;个人级别的软件开发活动管理、个人级别的软件职业知识。
“软件工程与计算Ⅱ”,以经典软件工程方法与技术为主线,软件设计与构造知识为教学重点,软件系统构建实例(计算系统示例与学生实践用例)为切入点,培养学生基于瀑布模型的、简单小组开发级别的、中小规模软件系统构建能力。具体教学内容包括:软件工程历史、软件职业知识;适用于中小规模软件产品开发的软件工程方法、原则与实践;软件工程方法指导下的程序设计原则与实践;小组级别的简单软件开发活动管理;包括代码和重要文档在内的关键软件开发制品。
“软件工程与计算Ⅲ”,以螺旋模型和团队实践为特征,通过开发一个中等规模软件产品的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。将学生组织成8人左右的团队,按照6个阶段(即项目启动阶段、第一循环、第二循环、第三循环、第四循环、项目部署阶段)合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保障,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。
“软件需求工程”,以需求工程技术、软件经济学和迭代过程为特征,结合工业界实例综合分析,培养学生构建大规模软件系统所需要的需求获取、分析与建模能力,试图让学生把握需求工程工作给后继软件项目工作带来的影响。具体教学内容包括:需求工程基础、需求获取方法与技术、需求分析方法、需求分析模型与建模技术、需求管理与需求工程过程知识、软件工程经济学等。
“软件系统设计与体系结构”,以软件设计、体系结构、可复用软件过程为特征,结合复杂工程案例及其重构,培养学生构建大规模软件系统所需要的综合设计技术能力。具体教学内容包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。
“人机交互的软件工程方法”,以用户为中心的设计与软件再工程为特征,培养学生交互式产品开发的软件分析、设计和评估技术。具体教学内容包括:可用性工程、人机交互界面的经典模型、人机交互的需求工程方法、人机交互的设计方法以及基于行为观测与眼动分析的交互评估技术等。
五、教学方法
软件人才培养需要重视教学方法改革,面向软件系统设计与构造的SE专业采用了一系列新型教学方法。
面向问题教学要求各课程都以工程问题开始,并依照工程问题的解决过程和活动来组织教学,这既体现了多种知识的融合运用,又培养了学生的问题解决能力。体验式教学要求各课程在实验设计时必须考虑模拟现实环境的不确定性因素,让学生体验真实的开发氛围,这既能培养他们综合运用各种知识与方法解决问题的能力,又能重点训练他们的折中、决策、沟通等非技术能力。面向实际教学要求各课程在讲授软件开发方法与技术时,要结合实践调查数据说明企业对不同方法、技术的选择与权衡情况以及应用效果,要突出企业界的主流方法与技术,遵循企业界的行业标准与规范,这既能让学生更深入地理解方法与技术,又能开拓他们的视野。研讨式教学要求各课程针对教学难点和重点,给出启发式问题,让学生自行收集资料,研讨解决,这既培养了学生的问题解决能力,又培养了他们的创新能力。基础课程结合软件创新设计竞赛教学鼓励低年级学生在导师指导下,结合课程教学内容,自由选题,参加软件创新设计竞赛,鼓励学生创新。部分高级课程采取实训实习后回顾教学,通过理论教学考试和实训实习后再回顾总结报告综合评定分数,促使学生学习理论、实践体验、再总结提高,以提高他们的工程认知能力与创新能力。还有部分高级课程采取校企联合设计课程、联合实施教学的校企合作教学。
这些教学方法可以培养学生牢固的工程观念、综合运用设计技术进行创新以解决复杂工程问题的能力、基本的职业素质与交流沟通团队组织能力以及良好的开发过程驾驭能力等。
面向软件系统设计与构造的SE专业关键课程建设秉承教材系列化、案例行业化、实践系统化、资源公开化的原则,围绕教材、案例和实践,打造了软件工程专业课程精品教学资源。多门课程入选国家精品课程,出版系列教材,建设教学案例和学生实验教学用例,建设课程教学资源示范网站,提供丰富的教学资源(课件、教学与实践案例、实验设计、教学视频),可供我国软件工程专业教育者参考。
参考文献:
[1] ACM/IEEE Joint Task Force on Computing Curricula[EB/OL]. Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, http://sites.computer.org/ccse/.
[2] 骆斌,臧斌宇,丁二玉. 软件工程专业教学知识体系的分析、重构与求精[J]. 计算机教育,2010(23):2-8.
[3] 刘强,陈越,骆斌等. “软件工程”课程教学实施方案[J]. 中国大学教学,2011(2).
[4] 骆斌,葛季栋,丁二玉等. 软件工程专业课程体系的研究与创新实践[J]. 计算机教育,2010(23):9-13.
[5] Eryu Ding, Bin Luo, Daliang Zhang, etal. Research and Practice on Software Engineering Curriculum NJU-SEC2006, CSEE&T2011[R]. Proceedings of 24th IEEE-CS Conference on Software Engineering Education and Training.
12.通信软件设计心得体会 篇十二
关键词:PowerPC,DSP,双口存储器,故障管理
Power PC是IBM和Motorola公司共同开发的高性能、低功耗、开放架构的处理器,采用简单的指令集(RISC),同时集成了PCI -Express、千兆网络、Rapid IO及CAN等多种网络通信控制器,支持DMA、I2C、UART等数据交换组件,具有处理能力强、网络通信接口多等优点,被广泛应用于汽车电子、航空航天、工业控制等要求高性能和高可靠性的领域[1,2,3]。鉴于此,文中设计了一种基于Power PC750 配有VME总线的CPU模块,满足现代武器装备的需求。
TMS320F240系列DSP是美国TI公司于1997年推出的,专为数字电机控制和其他控制应用系统而设计的16位定点数字信号处理器。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起,从而成为传统的多微处理器单元和多片设计系统的理想替代品。F240片内外设包括双10位A/D转换器,带有锁相环PLL时钟模块,带中断的看门狗定时器模块,串行通信接口SCI及串行外设接口SPI,另外,还集成了一个事件管理模块EVM。因此,F240不仅具有高速数据处理能力,还具有控制和事件管理能力,可完成人机界面,与上位机进行串行通信[4,5]。
1 总线通信系统架构
总线通信系统由一个CPU(Power PC)模块、一个DSP模块以及电源模块组成。CPU模块采用Power PC750 处理器,同时集成了网卡和大容量FLASH,具有高速的数据采集及处理、仿真任务调度以及数据存储等功能。DSP模块采用TMS320F240系列芯片,通过局部总线,与外界设备通过RS422、ARINC429等数据交换总线相连。用户通过Power PC发送和接收任务数据,Power PC再通过双口存储器与DSP相连接,进行数据交换,DSP则负责RS422串行通信总线和ARINC429总线通信的控制管理、数据接收和发送等,以上整个系统完成了总线的通信功能。总线通信系统架构如图1所示。
2 总线通信系统软件设计
2.1总线通信系统软件概述
总线通信系统软件由驱动软件和控制软件组成,是实现RS422 串行通信和ARINC429 总线通信的专用软件。其中,驱动软件实现DSP与主机应用软件间的接口控制与数据传递,它可提供各类消息数据的读、写支持,对DSP内程序的调度。控制软件负责RS422 串行通信和ARINC429 总线通信的控制、数据接收和发送等。
2.2驱动软件
驱动软件运行在Power PC模块上,是应用软件与控制软件的接口软件,为实现应用软件的管理功能,驱动软件控制DSP模块的初始化、启动、停止、自测试,监控DSP模块状态,控制DSP模块和主机的数据交换。驱动软件操作状态及转换关系如图2所示。
当DSP在处在停止状态,调用DSP_Bit进行DSP自检测,调用DSP_Initialize进行DSP初始化。 初始化完成后可调用DSP_Go将DSP转入运行状态。在运行状态下可调用操作信息驱动程序、RS422驱动程序和ARINC429总线驱动程序,进行消息传输,也可调用DSP_Stop将DSP转入停止状态。
驱动软件按其功能分为:模块控制程序、RS422控制程序、ARINC429总线控制程序、操作信息控制程序。
模块控制程序的主要功能是启动DSP模块上的初始化程序,使DSP初始化,然后启动DSP上的启动程序使DSP开始工作,还可以停止DSP运行以及启动DSP上的BIT程序进行自检测。
RS422控制程序的主要功能包括对RS422各通道进行初始化(各通道的接收/发送数据缓冲区划分,每个数据块的新数据、错误、中断等标志字的设置,波特率、奇偶校验位、数据位和停止位的设置),接着从双口存储器读DSP端RS422 接收到的消息,并将要通过RS422 发送的消息数据写入双口存储器,最终由DSP上的RS422 进行数据发送。通过检查RS422 的接收缓冲区,可以检查是否有新数据。
ARINC429 总线控制程序主要功能包括对ARINC429 总线通道进行初始化,从双口存储器读ARINC429总线接收到的消息,并将要通过ARINC429总线发送的消息写入双口存储器。
操作信息控制程序主要包括读DSP模块的自检测结果,读取DSP的Heart Beat计数器的当前值,读取DSP的状态,建立主机和DSP之间的通讯,复位DSP模块。
2.3控制软件
控制软件运行在DSP模块上,它负责RS422串行通信总线和ARINC429总线通信的控制、数据发送和接收等。控制软件的主程序中包括对DSP的初始化、启动、自检测、停止及复位等功能。控制软件响应来自运行在Power PC上驱动软件的下发的命令,进行相应功能操作。在DSP模块初始化中,定时器中断被使能。定时器中断服务程序会以固定的周期执行,其中包括RS422通信握手,RS422在线状态判断,RS422发送和接收数据,ARINC429总线发送和接收数据等程序。
RS422通信握手程序首先从Power PC写入双口存储器的相应地址中读取通信状态字,然后判断各通道状态,若三次接收到的通信状态字均为预值,则通信建立成功。
RS422在线状态判断程序负责读取各通道的在线状态,如果该通道已建立好通信,则清空接收寄存器,发送该通道在线状态命令;接收在线状态程序接收的现行状态数据长度若等于该通道的数据长度,则判断该通道的设备在线。
RS422串行通信总线和ARINC429总线均采用查询方式进行数据的发送和接收。
2.4故障管理
故障管理分为两部分:Power PC故障管理和DSP故障管理,每部分包含了故障检测、故障过滤和故障处理。如图3所示。
DSP的故障检测的手段主要有BIT和软件注入,Power PC模块主要有BIT,Vx Works5.5 捕获软件故障、DSP注入、应用软件注入。BIT包含PUBIT、PBIT和IBIT,PUBIT上电后对系统硬件资源的检测,PBIT系统运行过程中对硬件资源周期性的检测,IBIT由用户启动对系统硬件资源的检测,BIT能够完成整个周期硬件资源的检测。应用软件在运行过程中,发现故障,将该故障注入故障队列中,实现应用软件故障的管理。DSP发生致命性的,自己无法处理或者需要Power PC处理的故障时,将此类故障注入Power PC的故障队列中,以提高系统处理故障的能力。系统运行过程中,Vx Works5.5将捕获的异常信息注入故障队列中,以解决运行过程中产生的异常。
系统中的故障按照存在程度分为暂时性故障和永久性故障。暂时性故障带有间断性,是在一定条件下产生的故障,通过系统的调整或者运行环境的改变消失的故障。永久性故障具有永恒性,一旦发生故障,则系统无法自身的恢复,一直处于故障状态。按照故障的严重程度将故障分为破坏性故障和非破坏性故障,破坏性故障一旦发生,将对系统造成致命的破坏,导致系统无法正常工作;非破坏性故障一般是局部的,影响系统的部分功能,但不会对系统造成致命性破坏。故障管理需要将同时具有非破坏性和暂时性的故障采用门限值的方式过滤掉,将过滤后的故障和其他类型的故障提交给故障处理机制处理。
门限值的过滤方式:在故障检测时,发现设备故障后,设备的故障数N=N+1,当N超过门限值W时,则向故障处理机制提交故障;再次检测时,发现该设备正常则N=N-1,当N<0 时,则将N设为0。
3 小结
在总线通信软件中采用Power PC + DSP的结构,既能发挥Power PC高速信号采集和处理能力,又能发挥DSP高速数字信号处理能力。Power PC上运行的驱动软件是应用软件与控制软件的接口软件,实现了应用软件的管理功能;DSP上运行的控制软件,它负责RS422 串行通信总线和ARINC429 总线通信的控制、数据发送和接收等。该软件充分利用系统资源,实现了通信总线的控制与管理,满足了航电总线通信与管理的要求。
参考文献
[1]沈华,汤艳飞,李乔杨.Power PC处理器的发展历程[J].计算机光盘软件与应用,2013,12(1):73-75.
[2]潘越,宋萍,李科杰.基于Power PC和FPGA的小型无人直升机飞行控制计算机系统设计[J].计算机测量与控制,2013,21(1):112-115.
[3]楚要钦,谭震,贺莹,刘永强.一种基于Power PC的弹载飞控计算机设计[J].航空计算技术,2013,43(4):109-112.
[4]陆超芬.DSP与计算机串行通信设计及编程研究[J].中国科技信息,2010,1(1):114-115.
【通信软件设计心得体会】推荐阅读:
卫星通信解析服务软件07-17
通信设计院实习心得08-20
软件课程设计的心得体会04-25
软件工程课程设计心得11-20
软件工程课程设计个人体会09-29
通信线路设计规范04-08
现代通信原理课程设计08-28
通信专业课程设计题目06-17
通信原理课程设计参考题目08-12
通信线路设计工作总结12-08