四川大学实时软件工程

2024-07-31

四川大学实时软件工程(精选10篇)

四川大学实时软件工程 篇1

水电八局“成本实时监控软件”科研项目简介

一、成本实时监控系统开发过程

项目实时监控程序的构想是为及时了解、掌握各项目的生产运营情况,从2004年3月就开始,要求各项目按周上报实时监控周报(一张表)。

2004年9月,王意桥总会计师要求编制出专门的实时监控程序,经过近三个月的程序资料的编写,于2005年元月正式立项,通过公开招聘的方式于2005年6月确定软件开发商并签订一期开发合同。一期开发合同总价为28万元。

2005年12月,项目实施小组正式进驻四分局惠州施工局进行一期开发和试运行。由于水电施工复杂多变,项目实施小组针对现场施工情况和项目管理需求,不断完善软件。复杂问题提交科研课题小组会议讨论,商定解决方案。经过半年左右的开发调试,软件框架和内容初步形成。项目实施小组2006年9月对程序进行验收(除砂石系统子模块)。

2006年11月,项目实施小组到小湾施工局进行扩大试点,并对砂石料生产系统模块做进一步的完善。

2007年12月至2009年1月,项目实施小组开始软件二期开发。二期开发以溪洛渡项目为试点项目,主要针对收入计量、工区考核等业务。二期开发合同金额为28万元。

成本实时监控软件的开发、完善、应用,是一项系统的、长期的过程。项目成本实时监控软件应用的难点在于:水电施工项目复杂多变、变更项目多,成本难以动态追踪、及时归集;项目往往地理位置偏僻,网络条件差,专业信息人员缺乏,维护困难;成本控制涉及部门多,对专业素质要求高,对人员配备有较高要求等。

公司成立课题小组,拨付专项经费,用于软件开发。项目实施小组在实施过程中:(1)加强专业指导,通过外包方式利用软件公司技术优势,同时派驻公司财务人员长驻项目,提供业务支持,疑难问题发挥课题小组的专业优势:(2)加大各实施项目基础设施投入,通过购置新电脑,优化网络,配置服务器,对通信不方便的项目配备无线路由器等措施,解决项目通信障碍;(3)加大人力资源投入,建立成本实时监控体系,成立公司本部、二级单位、项目的三级成本管理体系,在各项目设立成本控制办公室、在各业务部门设立相应岗位,配备专业人员,为成本控制软件的顺利运用创造条件等。

在软件开发完善的几年中,在多个项目进行了试点和推广,包括惠州施工局、小湾施工局、金安桥项目、官地项目、溪洛渡项目、京沪高铁项目、草街项目、西昌机械厂等,公司投入了大量的人力物力,也取得了较好的成果。

该科研成果2007年荣获“全国电力企业管理现代化创新成果”三等奖(中电联会企【2007】108号文)。

二、软件已实现的功能

项目实时监控程序由客户化、基础数据、合同管理、物资管理、机电设备管理、分包管理、生产施工管理、成本管理、砂石料生产管

理、作业层考核等模块组成,可以说是一个以项目成本控制为主线的简版ERP系统。程序与财务用友U8软件无缝接口,可直接取数。程序自带部份公共参数,如量的单位、价的单位、方与吨的换算、物料的类别、设备的类别等,各项目可根据需要进行增加和修改。支持Excel文件的导入导出,基础资料(材料明细、设备明细、目标成本单价、合同单价等)可以直接从Excel文件导入系统。能生成项目成本实时监控报表。软件已实现的主要功能包括:收入计量、材料核算、分包管理、材料核销、工区成本考核等。

三、功能模块简介

项目成本实时监控系统由客户化、基础数据、合同管理、物资管理、机电设备管理、分包管理、生产施工管理、成本管理、砂石料生产管理等模块组成。

(1)客户化

客户化是系统初始化的重要组成部分,包括账套的建立,用户权限的分配,公共参数的设置等。

(2)基础数据

基础数据是系统初始化成功的关键,是整个系统正常运转的基础。包括部门类别、部门档案、人员类别、人员档案、物料类别,物料档案、机电设备类别、机电设备档案、业务伙伴、仓库类别、仓库货位、项目档案、成本要素、水电表档案等。

(3)合同管理

合同管理是企业管理的一项重要内容,包括业主合同、分包商合同,内部承包合同,机械设备租赁合同等。

(4)物资管理

物资管理主要是对物资采购、领用、调拨、库存等进行管理。包括采购、验收入库、物料领用、领料退回、内外部调拨、库存盘点、报废报损、周转性材料的租赁等。提供综合数据查询、统计汇总报表,物料的收发存业务一目了然,使项目及时掌握材料消耗情况。单据打印样式设计功能采用流行的报表设计器进行设计,项目可根据需要进行自定义调整。

(5)机电设备管理

机电设备管理包括机电设备验收、机电设备领用、机电设备调拨、机电设备日常运行记录、机电设备修理、机电设备报废、机电设备租赁等。提供综合数据查询、统计汇总、分析功能,及时反映设备使用及配件、油料消耗等情况。

(6)分包管理

分包管理以分包合同为起点,主要对分包计量、分包结算及支付进行管理。提供分包台账、对上对下结算对比分析等报表。

(7)生产施工管理

生产施工管理包括施工生产计划、现场管理、计量管理、结算管理等内容。提供完成工程量、经营结算等统计分析报表。

(8)成本管理

成本管理是系统的核心部分,包括预算成本、目标成本、成本结转、成本分析等内容。在基础资料录入系统后,通过结转当期收入、成本数据,生成成本分析报表,将实际成本与目标成本各项目指标进行对比分析,形成实时监控报表,及时反应项目当期实际盈亏情况,为项目领导决策提供多层次的成本分析资料。通过成本管理模块,可以了解各项成本费用节约和超支的情况,及时发现存在的问题,以针对性地提出解决问题的办法。

(9)砂石料生产管理

砂石料生产管理是专门针对砂石项目生产特点开发的子模块,对砂石料生产运行期间的各产品、各工序的成本进行归集、统计、分析管理,包括毛料运输、砂石料销售、砂石料库存、砂石料成品成本分析等内容。

四、已应用的项目

砂石分局金安桥项目

砂石分局官地项目

溪洛渡项目

小湾施工局

京沪高铁项目

二分局草街项目

西昌机械厂

惠州施工局

四川大学实时软件工程 篇2

关键词:计算机软件,嵌入式,实时软件

在现今的计算机软件设计中往往都会运用着嵌入式的实时软件.在计算机系统中,软件和硬件的正常运行都对嵌入式实时软件有着较强的依赖性,而且嵌入是软件还同时具备着实时控制的特点.这也就使得嵌入式实时软件在计算机飞速发展的今天有着很好的发展前景。

1计算机软件设计中嵌入式实时软件的特点

在对计算机软件进行设计时,设计者可以将嵌入式实施软件与计算机软件进行有机结合,将其应用到需要进行预测指令的设计中,例如:软件的缓存处理、动态分配等。这样就能有效的对计算机软件进行实时处理,从而有效的提高软件设计的可靠程度。在计算机软件设计实际应用部分,嵌入式的设计就分为了两部分,分别是软件和硬件,其主要的工作方式就是利用应用程序来实现对计算机软件工作状态的运营,在通过计算机操作系统的控制程序编程来使其跟硬件进行交互。在嵌入式实时软件中,其主要的核心控件就是嵌入式微处理器,其主要的特点就是能够对多个任务进行实时的支持能力,同时还能在较短的时间对多个任务实施中断响应。而且其还有着强大的存储功能,可以有效的对软件进行保护。嵌入式的实时软件结构通常都是模块化的,这就能够很好的对软件检测和修复上带来极大便利。并且设计者在对嵌入式实时软件进行设计时还可以让其具备可拓展的处理器结构,这就能够有效的降低嵌入式微处理器的功耗,如此才能将嵌入式实时软件的优势发挥出来,从而让其成为计算机软件设计中不可或缺的一部分,为计算机技术的不断发展做出贡献。

2计算机软件设计中嵌入式实时软件应用

嵌入式实时软件能够从很多方面和领域融入进计算机软件设计中,其能够对计算机软件的工作效率有效的进行提高。下面我们就从原理、开发等方面能对计算机软件设计中嵌入式实时软件的应用进行分析。

2.1应用原理

通常我们说的嵌入式实时软件的应用都是针对需要处理的软件对象时,从而通过实时处理技术建立更完善的实时对象请求代理体系结构(CORBA)。另外,在计算机软件设计中融入嵌入式实施软件的话,还能够促进计算机软件的远程调控能力,这样就能为软件的设计提供更多的资源。比如,在实时CORBA拓展计算机软件的设计过程中,嵌入式实施软件不仅能够对计算机软件的设计时间上给予支持,还能对其设计的模式进行有效的革新。这样就能够对计算机软件设计的独立性和安全性进行保障。从而使得计算机软件发展得到有效的提升。

2.2开发流程

在计算机软件设计,嵌入式实时应用其中能够将其变得简易。在开发过程中,设计人员首先需要做到就是软件的需求进行合理的分析,然后通过研究将嵌入式合理的融入到计算机软件设计中,以上述为基础环节进行最后的设计阶段和代码谱写生成阶段。在上述阶段都完成后就需要设计人员对计算机软件进行测试,从而完成计算机软件的设计工作。这种简洁的开发流程能够有效的对计算机软件的设计效率进行提高,同时还能保障其稳定性。只有这样才能促进嵌入式实施软件在计算机软件设计中应用水平不断提高,进而提升计算机软件的质量。

2.3设计要点

在软件的设置过程中,设计人员首先需要做到的就是注重要点的设计。只有遵循相应的设计要点,才能有效的减小设计误差。比如在计算机软件结构设计中,设计者就需要有效的对程序编程进行合理的测试和分析,这样才能避免软件和硬件出现脱离状态,进而改善传统计算机设计中常出现的“硬件是软件的根本”这一说法。这样就能有效的对计算机软件系统对实时性和可靠性进行保障。除此之外,嵌入式实时软件应用还可以对计算机软件的数据初始化和格式化带来帮助,这就会使得在设计过程中,设计者不需要对硬件设备进行直接的操作。这就能够有效的对计算机软件设计功能进行提高。

3嵌入式实时软件开发的应用前景

在计算机软件设计过程中,嵌入式实施软件有着极高的使用价值和开发前景。首先,嵌入式实时软件应用到计算机软件设计中,能够很好的提高计算机软件的便利性和高效性。同时由于嵌入式实施软件的领域广泛性,就使其在使用中“无处不在”。其次,嵌入式实施软件还具有较强的灵活性,将其应用到计算机软件设计中就能很好的提升软件和环境之间的交互能力,同时其实具备良好的实际操作能力和多任务操作的能力,这也使得其未来开发的前景一片光明。最后,嵌入式实时软件还有着良好的实时性和可操作性等特点,在软件开发过程中最主要的一点就是保证其是可控的,而嵌入式实时软件就能很好的解决这个问题。这也就使其具备了很高的开发前景和应用前景。但是在将嵌入式实时软件应用到计算机软件设计时也需要注意一个问题,那就是嵌入式实时软件虽然有着上述优点,但是其也有不足,那就是实时软件的应用对硬件平台有着较强的依赖性,这就需要设计者在设计时一定要合理规划软件和硬件之间的有效联系,并及时的对软件做好测试和维护工作,只有这样才能更好的保障嵌入式实施软件的质量。综上所述,嵌入式软件的开发不仅可以促进软件开发设计的效率,还能对产品的质量进行有效的保障。因此嵌入式实时应用在计算机软件开发领域具有极高的开发前景和应用前景。

4结束语

计算机技术的不断发展,软件开发的不断提升,这也就为计算机软件设计和嵌入式实时软件的结合打下了坚实基础。因此,计算机软件开发人员应注重嵌入式实时软件的应用,并且在此基础上不断对其进行改善,然后将其应用到计算机软件开发上。只有这样才能促进我国计算机软件开发的稳定发展,进而摆脱“一切靠进口”的问题。

参考文献

[1]张岚.嵌入式实时软件在计算机软件设计中的应用[J].计算机光盘软件与应用,2015(01):71.

[2]李禹松.嵌入式实时软件在计算机软件设计中的应用[J].硅谷,2013,6(18):52-55

浅谈嵌入式实时软件的任务构造 篇3

关键词:嵌入式实时软件;模型;一致性

中图分类号:TP316.2 文献标识码:A 文章编号:1674-7712 (2012) 12-0119-01

一、什么是嵌入式实时软件

所谓的谓嵌入式实时软件指的是区别于之前的在执行一项任务时必须要用一个独立的数据流程图去描述,也就是我们经常说的一个独立的数据模型,嵌入式实时软件是并不需要列出单独的数据模型,是操作系统和应用程序这两个软件相互合作的一体程式。

二、嵌入式实时软件的任务构造的必要条件

操作系统和应用程序界限划分不是特别清楚的体现在嵌入式实时系统。具体的原因是,在不一样的应用系统中,我们所要求的配置有这较大的差异,也就决定了操作系统差异很大, 同时在输入/输出操作上也没有一个既定的标准,通常使用的就是有应用程序说提供的驱动软件。这时候我们就要求将之前所有的系统和程序链接装配成统一的运行软件系统。也就是说嵌入式实时软件的开发必须综合考虑系统的总设计目标。

三、嵌入式实时软件的任务构造模型

我们将通过图1来看一下嵌入式实时软件任务构造的模型,嵌入式实时软件业叫做ERS,它的一个突出的特点就是一定要在执行任务的规定时间内去完成相应的控制功能;在这里一个主要软件结构体系我们可以把它的看作是一个并发事务的集合,然后组件再去将数据流完成端到端的转换。在这个环境中,组成这个组件的4个部分,分别是被控制对象,控制部件,传感部件和嵌入式实时软件。在这里传感部件作为一个单独的任务被执行,这里我们可以把这个任务可看作由外部事件(如控制部件产生的任务)或由其它的传感部件从被控制对象中来获得所要监测的一些事物,同时把之前的事物当做输入传送给嵌入式实时软件,这时软件就依据输入来做合适的处理动作,而且把之前的结果当做控制信息去转送给控制部件,控制部件发出控制命令以达到将控制对象控制住的目的。最后我们来看一下,4个组件部分的操作并不复杂:信号的系统输入,被控对象的内部状态更新,信号系统输出,嵌入式实时软件的任务构造模型不仅仅是一个我们常说的数据流模型,同时也是功能模型的一种。

下面我们再来看一下一个数据流模型还可用另外一种方式来表达。在这里我们可以列举三不同的事务:A1,A2和A3。这三个事务会从外部传感器那里将数据接收过来,再经过一系列的运算之后输出。其中,事务A1是由B1,B2,B3,B4,B5这样5个不同的事务去组成;事务A2又由B6,B7,B8这三个不同的事务组成;事务A3则由B9,B10这两个不同的事务组成。我们再来看这个系统一共是4个输入的事务分别是D1,D2,D3,D4,分别让事务C1,C2,C3,C4去触发。在这个数据流模型中输入事务全部都是循环发生的事务,产生事务的周期都为500。我们所阐述的全部均以逻辑时间为时间单位。接下来我们再去看一下,在这里我们的输入组件是让外部的一个触发信号去触发的。但是作者前提是要你所提供的事务要用可以完成任务的速度执行这个组件,使数据的及时性得以保证,在此时间事务的优先约束执行条件也同时要被保证,也就是并发的事务计算模型也可以算做是一个同步模型了。

四、嵌入式实时软件的任务构造模型实时数据的时序一致性

嵌入式实时数据是一个三元组:分别可以用A、B、C来表示,在这里A表示的是实时数据的当前值;B是实时数据的时标也就是实时数据的生成时间或采样时间;C则表示实时数据的有效期限的绝对值。由上面所给的定义我们总结,时间特点是实时数据的一个最大特点,实时数据将一个真切、及时的事务提供给了计算机以外的部分。计算机以外的事务、状况变化时,实时数据也会发生一系列相应的改变;在实时系统中,实时数据的生成时间或采样时间B,在这里一定与真实时间足够地接近,也就是我们所说的当前值A。时标B在一定的时间C的范围以以才是有效的,如果要超过C的话,就必须将数据更新直到在C的范围内。实时系统一直都要根据数据时序一致性对这个构造模型的有效性和存在性加以控制。同时,主要限制因素——时间,时间所使用的数据必须能够通常很近似地体现出说用到的所测试的真实情况。二我们所测试的数据都是在离散间隔的时间里进行搜集整理的,所以,其实我们采集到的数据只是会很接近时间值。但是如果时间越来越差,我们所体现出来的实际环境的实时数据值偏差会越来越大,最后到我们采集的实时数据中也就无法很准确地体现出我们所测试的计算机外部的真实情况。在这个时候数据值也就无法满足时序的一致性条件了。

五、嵌入式实时软件的开发环境

嵌入式实时软件的开发的必要条件是开发平台是独立的。由于嵌入式实时软件开发在开发的过程中会受到一下限制,所以经常发生在用开发专门其它软件的平台上进行交叉的软件开发,下面我们就来看一下它所处的环境。在这里开发的平台就是宿主机,应用系统称作目标机。我们可以看出,在软件开发上会配备完整的软件工具来开发,同时用高级语言了开发,使软件的可移植性提高很多。

六、结束语

本文介绍了嵌入性软件的任务构造并阐述了其模型的建立原理及开发环境,提出实时数据满足相对时序一致性的一些充分必要条件。在需要设计嵌入式实时软件时,本文方法可以方便地构造任务模型,精确地计算实时调度的时序要求。

参考文献:

[1]陈小平,谢彬,李斌.嵌入式软件协同开发支撑技术[J].计算机工程,2007,33(1 8):90-92

[2]章亮飞,李银国.嵌入式实时操作系统AutoOSEK的设计[J].计算机工程,2007,330(6):53-55

[3]晏立.实时数据库中的时序一致性[J].江苏理工大学学报:自然科学版,2001,22(5):73-76

四川大学实时软件工程 篇4

既然不是,那他们有什么区别呢?

一般来讲,实时监控主要是监控病毒对硬盘的改写操作,内存扫描主要是扫描内存中的所有进程及system32文件夹下的文件(内存杀毒指把进程与病毒源文件起清除掉,只杀掉进程不清除病毒源文件的内存扫描是欺骗用户的表现)。

据我所知,norton把实时监控与内存扫描做成了一个东西,叫实时防护。

据我所知,驱逐舰则把两者分开了,实时监控与内存扫描是两个不同的功能。

一、实时监控与内存扫描做成了一个东西

>优点:实时防护能力显然很强,不管是病毒写硬盘还是执行病毒操作,杀软都会报警,

>缺点:很占资源,因为你执行任何一个文件,杀软都要工作一次。一旦实时防护进程被恶意代码kill掉,那么就裸奔吧。因为你即使通过全盘扫描,发现了病毒也处理不掉(病毒文件正在被调用)

二、把实时监控与内存扫描分开

>优点:占用资源小,即使实时监控进程被恶意结束掉,还可以通过内存扫描结束病毒进程,清除掉病毒从硬盘上调用的原病毒文件。

软件工程大学规划 篇5

1.什么是软件工程,软件工程专业的主干课程有哪些,软件工程的就业方向有哪些?

软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

主要课程: 高等数学、大学物理、电路理论与应用系列课程、操作系统原理、编译原理、数据结构、程序设计方法、软件工程学理论、系统设计与分析、计算机组成原理、计算机系统结构、网络原理、软件质量与成熟度模型、面向对象程序设计、Java程序设计、信息科学理论、密码编码学与网络安全、软件工程项目管理等

就业方向:主要在信息产业和国民经济部门从事信息系统研究、分析、设计、开发和测试及软件工程项目的组织和管理工作。

2.软件工程专业大一大二开设哪些专业基础课程,这些课程有什么重要性,该如何学习?

专业基础课程:高等数学(1-2)、微积分、线性代数、概率论与数据统计、复变函数与积分、大学物理、电子技术基础、计算机引论。

学习方法:这些都是为了我们以后能够更好的学习高级专业知识的基础课程,只有学习好了这些知识,我们才能在以后的学习和工作中如鱼得水,不会因为基础不够而放弃学习。不管是什么课程,我都会好好的上,不缺课,不迟到,不早退,每天第一个到教室,每次都坐第一排!而且在晚自习的时候认真的学习,晚自习下课之后再继续学习一个小时,为了充实自己的人生,付出一切的努力,我觉得只要我能够做到这些学习就不用担心了!

3.作为Web应用开发程序员需要掌握哪些Web开发技术,需要选修哪些专业方向课程?

Jave语言,面向对象分析设计思想,设计模式和框架结构,XML语言,网页脚本语言,应用服务,集成开发环境,C#(C++或java),基础的HTML,Javascript,csss 动态语言 ASP,ASP.NET,数据库SQL SERVER,ACCESS。

需要选修:java,计算机网络工程,web的应用与开发等。

4.你的学习目标是什么,以后想往哪个专业方向发展。请根据自身情况设计一个专业学习计划.我的学习目标:我的目标是做软件的第一名,精通老师教给我的专业知识,最重要的是我想做一个有抱负,有追求的人。我接触的很多的学长和学姐都说任何一门课程以后可能都会用到的,所以不管是什么课程我都会好好的学习,不放弃任何一门课程,争取在开心生活的同时,快乐的学习!

我的专业发展方向:我主要想往web的开发和应用方面发展,因为据我所知,Web应用开发在我国才起步不久,而且专业知识较强的人才更是市场的巨大需求,我们国家对这方面的人才需求正在以一种前所未有的惊人速度在增长!最重要的一点是我对这方面的知识很感兴趣,所以,为了给我们国家做出我自己的贡献,也为了我以后找工作能更顺利,我就决定我要往这个方面去发展。

我的学习计划:总体的学习计划是踏踏实实的学习每一门课程,将专业知识牢地掌握。逐步的通过英语四级,英语六级,冲击英语八级。通过计算机三级或者程序员考试。不浪费每一天的每一分每一秒!浪费了一分一秒就是在无耻的挥霍生命,不管在生命时候我都会加油让自己的生命更有价值!

大一:大一的学习主要是以基础课程为主,所以我的计划就是把高数,线性代数,C++,英语认认真真的学好,一步一个脚印的把基础知识打好,为我以后的学习垫好基础,这样我的目标才有可能实现!而且,我还想在大一通过英语四级考试,为此,我让我自己每天六点半起床,到教室去记背单词,每周末的时候做一套英语四级原题,每天看英语。切切实实的提高自己的一切能力。

大二:我打算在大二的时候将计算机三级或者软件程序员考试和英语六级考试通过,并且自学一点其他的知识,多学一点以后真正要用到的使用的技能,因为我感觉学校的教材和我们以后真正要用到的技能还是有一定的差距的,也是为了大三的专业课学习打下基础。当然,在大二的时候课程比较多,高数,大学物理之类的也是我要狠狠抓的重点,对于科学知识我是不会嫌多的。

大三:这个时候专业课程很多,要求也应该更高才对。所以我就决定这个时候加倍的努力,绝对不缺一节课。我知道这些专业课是与我们以后找工作息息相关的,如果学不好,还不如不上大学!同时,大三的时候我还打算冲击一下英语八级,第一是因为软件工程对英语的要求也很好,第二是因为我叔叔对我说过,在学校里面英语过级是你自己的本事,那是你的能力,如果是工作的时候再去过级,有的人可能会说你是不务正业!而且,对以后找工作也很有帮助,一个英语八级的软件工程师也是很厉害的。虽然过程可能是枯燥的,但是结果却是我最想看到的,所以我想为之努力奋斗!

大学生软件工程论文 篇6

大学生软件工程论文

【摘要】软件工程法是对计算机的软件质量进行保障等重要方式。软件工程法的相关思想与金融产品质量控制之间的融合,是对金融产品的产品质量进行保障的重要措施。本文主要从软件产品工程化和金融产品的创新内涵和动因入手,对基于软件工程化的金融产品质量控制措施问题进行了探究。

【关键词】软件工程化;金融产品;质量控制

前言

随着科技的不断发展,高新科技在金融行业中的应用,让金融知识产品体系成为了金融机构展示自身市场竞争力的重要载体从计算机软件行业的发展来看,软件工程化技术的应用,对软件产品的产品质量的提升起到了积极的促进作用。将软件工程化系统中的核心要素应用于金融产品的质量控制工作之中,可以让金融产品和相关服务的服务质量得到有效提升。

1软件产品工程化

计算机软件产品的生产过程是一种较为严密的智力活动。作为一种特殊的工业产品,计算机软件中也包含着一般工业产品所具备的共性特征[1]。软件产品是对逻辑思维进行描述的过程。结构化的设计方法是软件工程理论中的一项重要内容。在对工程化方法进行应用以后,软件生产单位可以在第一时间发现出软件的设计缺陷。软件产品的工程化在其他的生产领域也具有着一定的参考价值。在软件的开发工作中,技术管理问题涉及到了计划的制定、技术接口的协调和阶段评审等问题。质量保证计划的构建、基于分级管理的软件质量保证体系的构建和配置管理机制的完善是质量管理工作中的主要内容。在高效化的工程组织体系建立以后,软件开发的进度和产品的质量可以得到充分的保障。

2金融产品创新的内涵和动因

2.1金融产品创新的含义

金融产品泛指的是一切可以进行金融交易的对象。除了货币等支付工具以外,存贷款、保险产品和证券资产化等衍生类金融工具都可以被看作是金融产品的主要内容。金融产品的创新,涉及到了已有产品的改进、新型金融产品的研发、生产方式的创新和新市场的.开拓和经营等多项内容[2]。

2.2金融产品创新的动因

需求刺激、规避管制、风险规避和新技术的诞生是金融产品创新的主要动力。在市场经济体制下,市场因素成为了金融资产自身价格的主要影响因素。它的价值会和利率和汇率之间存在一定的关联性。金融产品的创新,可以将金融产品的价格风险和收益风险进行有效降低。针对物价与利率水平的波动性问题,金融产品的创新可以让投资者的投资需求得到充分的满足。

3基于软件工程化的金融产品质量控制措施

3.1对金融产品的生产过程进行规范

工程化的管理手段在金融产品质量控制工作中的应用,是对金融产品的产品质量进行提升的一种有效措施。在工程化的建设阶段,金融机构需要对金融产品文档的规范问题、测试方法和评审方法进行完善。在工程化的完善阶段,先关机构需要在工程化质量控制体系在运转过程中所需要的工程标准规范进行逐步的完善。从软件产品与金融产品之间的相似性来看,两者的质量控制工作都需要经历一个由无形变有形的过程。针对金融产品的服务形态的差异性,相关工作人员需要对不同的控制方法进行应用。在软件开发领域,软件研发人员需要从文档规范的要求入手,用文件形式对软件的需求、设计、编程和测试等问题进行明确[3]。对文档资源的运用是一种变无形为有形的方式。在金融产品的创新过程中,研发人员也需要遵循整体性和分级性相统一和权责一致的原则。在新业务开辟以后,金融机构需要在新业务的各个环节和各个岗位之间构建一种科学化的制衡机制。软件工程化理论是建立在市场经济环境基础之上的,在对软件工程化的核心因素进行吸收借鉴以后,金融机构需要把产品和客户看作是产品创新的主要着眼点。在对我国的国情和消费者的实际需求进行充分了解的基础上,对金融品种进行创新,可以让市场竞争的积极作用成为促进金融产品质量提升的有效工具。

3.2对金融产品的质量管理机制进行完善

监督机制的优化,是银行在构建金融产品质量控制措施的过程中不可缺少的一项重要措施。在对传统的工业产品质量控制方法进行借鉴的基础上,对金融产品的监管体系进行创新,可以让金融机构的集体监督作用得到充分发挥。在对软件工程领域构建的监管机制进行探究以后,我们可以发现,在软件的开发过程中,评审环节是相关单位所关注的一个重要环节。软件的研发部门在这一环节中,通常会组织同行专家对软件开发的各个阶段所取得的阶段性成果进行评审,这一评审机制的构建,也是对传统的工程质量控制方法进行应用的表现。在计算机软件的开发过程中,计划管理、质量管理和配置管理是其中的重要环节。这也表明软件工程化与传统的管理方法之间存在着一定的相似性。在对金融产品的质量问题进行解决的过程中,金融机构可以以软件工程领域的相关方法为蓝本,利用工程化的发展道路,对这一问题进行解决。针对金融产品创新过程中音考虑不周所带来的不良后果,银行等金融机构可以构建一种自上而下的风险预警机制,这一机制的构建,可以让研发人员对可能出现风险的各个环节得到有效关注。

3.3对中央银行的监管作用进行强化

在软件工程化机制与金融产品创新机制相融合以后,中央银行也需要在金融产品的创新过程中发挥自身的引导作用和监管作用[4]。在为金融机构提供信息的基础上对金融产品的创新问题进行监管,是央行在金融产品创新工作中所要承担的一项重要责任。对此,央行可以借助自身的先进系统对国内外的重要金融信息进行整理分析,并在对国外的金融产品创新动态进行收集以后,将这些信息发布各个金融机构。在这一过程中,央行所发挥从作用是金融机构金融产品创新的引导作用。第二,在对软件工程化的相关机制进行应用以后,央行对自身的监管作用的发挥,可以让商业银行的自律管理能力得到有效提升。从这一机制的作用来看,央行的监管作用的发挥,可以让金融机构妒忌盲目行事所造成的成本增加问题进行有效避免,也可以在坚持依法创新的基础上,为各个商业银行的创新工作提供支持。

4结论

软件工程化是软件产业发展的必然趋势。工程化的管理方法是软件工程化的核心要素。工程化的管理方法与金融产品质量控制体系之间的有机结合,可以让金融产品的产品形象得到有效的强化。金融产品、服务和和科技研究是不同金融机构的主要竞争内容。在科技研究问题的影响下,银行开发的主攻方向也成为了银行竞争力的影响因素。在对工程化管理理念进行应用的基础上,对金融产品的质量问题和管理问题进行有效控制,可以在对自身的品牌形象进行强化的基础上,通过提升市场竞争力的方式扩大市场份额。

参考文献

[1]艾邓太,章永明,胡明.从软件工程化谈创新金融产品质量控制的方法[J].现代金融,2000,10:40~41.

[2]彭雁.农村金融产品和服务创新研究[D].西北农林科技大学,2015.

[3]韦茜.金融产品创新对我国货币政策有效性的影响[D].西南政法大学,2012.

四川大学实时软件工程 篇7

飞行试验是航空研究的四大技术手段之一, 它贯穿于研究、设计、鉴定、生产和使用的全过程, 是最直接、最准确、最终的试验手段[1], 具有技术综合性强、风险性大、耗资大、周期长等特点[2]。遥测数据实时处理软件系统为各类试飞的测试数据进行实时和事后处理提供了手段和平台, 该系统自投入使用以来, 已成功完成了多个型号的实时监控任务, 为试飞指挥、工程技术人员及时提供了必要的数据依据, 也为试飞安全提供了重要保障。本文介绍了一种基于TCP和UDP协议的遥测数据实时处理软件系统, 实际应用表明整个系统运行稳定、可靠, 满足飞行试验实时监控任务要求。

1系统的组成及功能

遥测数据实时处理软件系统在结构上由三部分组成:前端服务程序、视图驱动程序和图形显示程序, 如图1所示。

前端服务程序运行于服务器上, 主要完成对解调后的遥测PCM数据进行采集、原始数据存盘, 根据预先提供的带头文件完成对PCM数据的取位、拼接、工程量转换等操作, 并根据总监控参数名文件将所需要的参数数据通过网络发送到局域网各监控计算机, 供视图驱动程序和图形显示程序使用原始数据存盘是以逻辑数据帧的形式保存在本地磁盘上, 其数据结构如图2所示, 横排数据称为子帧, 竖排数据称为副帧, 两者的最小单位是PCM字, 根据带头文件经过相应处理之后即为具有实际意义的遥测参数数据。对于感兴趣的飞行数据还可实现现场再现, 完成指定时间段的数据回放。而且在前端服务程序中可完成具体参数的简单事后处理工作。

视图驱动程序位于前端服务程序和图形显示程序之间, 运行于各监控计算机上, 完成网络数据流的接收、查看和存储工作, 并在和图形显示程序的通信过程中完成各监控画面所需数据的分配与传输。同时, 视图驱动程序可对各型号飞机的图形显示程序进行集中分类管理, 简化了图形显示程序的维护与管理工作。视图驱动程序的最大特点是它大大提高了图形显示程序的开发效率, 各图形显示程序只需简单地将所需要的参数传递给视图驱动程序即可获得相应的数据, 而不必关心该参数在网络数据流中的具体位置。

图形显示程序由不同的监控画面程序组成, 运行于各监控计算机上, 供试飞指挥和工程技术人员使用。主要完成监控参数的图形显示, 包括数字、时间历程曲线、飞机平显、飞机三维姿态和地图等图形显示形式。

2 系统的网络通信及工作流程

本系统的网络通信基于TCP和UDP协议的, 并采用WinSock的网络编程接口实现了其网络通信功能。TCP (Transmission Control Protocol, 传输控制协议) 是一种面向连接的协议, 允许从一台计算机发出的字节流无差错地发往网络上的其他计算机。

在两个TCP主机之间可以交换数据之前, 必须先相互建立会话, 通过确认和按顺序传递数据来确保数据的可靠传输。TCP一般应用在要求数据传输具有较高可靠性的场合。UDP (User Datagram Protocol, 用户数据报协议) 提供尽量传递的无连接数据服务, 它不能确保或确认数据传递或数据顺序, 由使用UDP的程序负责提供传输数据所需的可靠性。对同一个局域网来说, 使用UDP能够获得良好的性能, 它能够满足数据传输量不太大、数据实时性较高的应用场合, 在这种情况下, UDP的低开销和多播能力比TCP更合适[3,4]。

充分考虑TCP和UDP协议的各自特点, 本系统采用了TCP和UDP相结合的通信方式以满足试飞实时监控的实时性和数据可靠性的要求。在实时性方面, 前端服务程序采用UDP的通信方式, 将遥测数据广播给局域网中各监控计算机, 以降低系统的资源开销, 获得较高的数据传输效率。在数据可靠性方面, 一是前端服务程序采用TCP的通信方式, 在和各视图驱动程序的一次通信连接中, 将总监控参数名可靠地传输给视图驱动程序。二是视图驱动程序和图形显示程序之间只采用TCP的通信方式, 以使视图驱动程序可靠地获取各监控画面所要求的参数名, 并结合总监控参数名从前端服务程序发送的UDP数据流中筛选出相应的数据, 然后可靠地传输给各个监控画面, 完成数据的图形显示。该系统在实时状态下的网络通信及工作流程如图3所示。

前端服务程序首先需要完成系统状态检测, 加载型号飞机的带头文件和总监控参数表文件。带头文件包含了同步字、位速率、帧长、字长, 起止帧号等信息, 用于对PCM采集卡的设置。同时, 利用WinSock提供的套接字函数 (socket函数) 创建好流式套接字 (TCP通信) 和数据报套接字 (UDP通信) 。对于TCP的通信部分, 首先将流式套接字置入监听 (listen函数) 模式, 当有视图驱动程序的连接请求 (connect函数) 时, 接受 (accept函数) 请求并向请求方发送 (send函数) 监控总参数表, 最后断开 (closesocket函数) 与该视图驱动程序之间的TCP连接, 以减少系统资源的占用。在本系统中, 视图驱动程序采用定时器定时向前端服务程序发送连接请求, 当连接成功后则关闭定时器。这样, 可避免因前端服务程序于视图驱动程序后启动而造成无法连接的情况。当解调后的PCM遥测数据经过位、帧同步之后, 前端服务程序便可进行实时采集。采集的原始数据一方面进行存盘, 另一方面则根据带头文件的ICD定义, 将码值转换成具有实际意义的参数数据, 然后以UDP的形式将数据广播到局域网。

视图驱动程序收到 (recv函数) 总监控参数表和UDP数据包后, 一方面将数据包的时间和总监控 参数表显示在面板上, 以判断网络通信是否正常;另一方面和试飞指挥员和工程技术人员选择的监控画面程序建立TCP通信连接, 其过程和前端服务程序与视图驱动程序之间的TCP通信部分相似, 只不过这里的TCP连接直到试飞监控结束后或监控画面关闭时才断开。对于多画面的显示, 视图驱动程序则需要完成多个套接字的连接, 分别接收来自不同监控画面程序的监控参数表, 并找出它们与总监控参数表的位置的对应关系, 然后按照该对应关系从UDP数据包中筛选出数据并存放在相应的缓冲区中, 最后将缓冲区中的数据发送给各个监控画面程序。

图形显示程序的通信部分比较简单, 主要完成与视图驱动程序的TCP连接。需要注意的是采用WinSock提供recv函数有时并不能从连接的套接字中一次返回所有的数据, 这种情况下, 可根据监控参数名数目和数据类型为recv函数指定接收的字节数, 并从recv函数的返回值中判断实际接收的字节数, 如果少于指定的字节数, 则需要再次接收剩下的字节数, 直至接收完为止。相对应的send函数也存在此种问题, 可采用相同的方法处理。

从系统各个组成部分之间的相互作用关系看, 整个系统构成了两级Server-Client模式, 即作为中间层的视图驱动程序相对于前端服务程序为Client端, 而相对于图形显示程序则为Server端, 如图3中两个虚线框所示。

3 实际应用

本系统集实时数据采集、存储、预处理、网络传输、图形显示、数据回放等众多功能于一体。采用两级Server-Client模式, 既满足试飞实时监控的实时性要求, 又保证了系统具有较高的数据可靠性, 同时大大提高了图形显示程序的开发效率。该系统已成功完成了多个型号飞机的实时监控任务, 图4和图5是某型号飞机的实际应用效果, 分别为平显画面显示和三维姿态画面显示。整个系统操作简单、运行稳定流畅, 易于管理和维护。

4 总结

遥测数据实时处理软件系统实现了飞行试验遥测数据的采集、存储、预处理、网络传输、多形式的图形显示和数据回放等功能。采用基于UDP和TCP 协议相结合的方式, 满足了试飞监控的实时性 和数据传输的可靠性要求。在结构上灵活地运用了处于中间级的视图驱动程序, 使图形显示程序不必关心其参数在UDP数据流中的具体位置, 数据的筛选工作由视图驱动程序负责完成, 大大提高了图形显示程序的开发效率, 也便于系统的扩展和维护。该系统已得到成功应用, 为试飞实时监控提供了强有力的手段。

参考文献

[1]朱铁夫, 尹春铭, 邓建华.飞行试验图形监视系统设计与仿真.计算机仿真, 2003;20 (6) :71—73

[2]张建林.试飞监控系统及其应用.飞行试验, 2004;20 (3) :35—39

[3]陈锡辉, 张银鸿.LabVIEW8.20程序设计从入门到精通.北京:清华大学出版社, 2007

四川大学实时软件工程 篇8

【关键词】实时数据;线损理论;分析

电网线损涉及面非常广,电网的发、供、变、用等各个环节的运行情况都与线损有密切的联系。也正因为此,线损的统计、计算和分析涉及环节多,数据多,工作量大,人为因素也较多,靠传统的手工计算已不能适应现代企业管理的要求。另一方面,目前电力系统已经建设了SCADA系统,电能量计费系统等,这些系统的建立使得快速而准确地获取电力系统运行参数成为可能,基于这些实时数据开发实用线损管理的条件已经基本成熟。开展实时线损管理系统的建设对于电网公司具有重要意义。

1.理论线损计算的现状

对于线损计算,国外现在研究重点多是对线损的分析和降损措施与方法研究,如:以线损为目标的配电网网络重构、无功优化、补偿电容投放位置的确定等问题,其中涉及到的线损计算问题大都转化为功率损耗问题,以潮流的方法来求解,专门研究传统意义上的线损计算方面的文章并不多。国内电网线损理论计算按管理应分为省市局和县区级两部分,按照电网的不同特点,对35kV及以上输电网和6~10kV配电网分别采用不同的计算方法。总体来说,省市局电力部门线损计算较正规,有比较完善的制度和软件方面的保证;县一级电力部门则基本上没有专门的线损计算软件,有的以手算为主。从计算方法看,目前,电力网理论线损计算方法主要可分为2类模型:一类是依据网络主要损耗元件的物理特性建立的各种模型;另一类是根据馈线数据建立的各种统计模型和神经网络模型等。由于电网结构、计量设备和计算平台等各方面的原因,目前计算的基本思路是在原始的结构和运行数据信息不足的情况下,进行合理的近似计算,为了提高精度需要从数学模型的准确性、数学方法的精确性以及算法上改进计算精度。传统的理论线损计算的方法正在逐步发展成熟,一些智能性的建模方法被引入,例如遗传算法、人工神经网络算法等。

2.线损的分类和构成

全网的电能损耗计算建立在每一电网元件的电能损耗计算基础上,电网电能损耗是电力网同一时段内各元件电能损耗的总和。电能损耗按能否进行理论计算分为两类:第一类是可以计算的技术损耗,这类损耗可以通过理论计算求得其数值,所以也称为理论线损,它主要包括电阻发热损耗,还包括介质磁化损耗、介质极化损耗及电晕损耗等;第二类是难以计算的不明损耗,包括不明管理损耗不明技术损耗,后者如线路绝缘不良引起的泄漏损耗、设备接地或短路故障的电能损耗。

3.理论线损计算系统简介

线损计算分析软件系统是基于各级电能损耗管理部门的损耗计算与损耗统计的数据基础,通过数据共享等手段进行数据汇总,从而进行全网的损耗分析并制定相应的降损决策。因此,线损计算、数据汇总和分析决策等功能的实现是整个系统功能设计的重中之重。实现全网线损计算分析的系统主要由以下几个部分构成:图形编辑模块、图形建模与拓扑分析、数据接口模块、理论线损计算分析模块、统计线损计算分析模块、报表统计与综合查询模块、系统基本信息处理模块、系统服务与标准数据维护模块、数据汇总和上报模块、线损分析与降损决策模块等。理论线损计算不仅需要元件的基础数据,而且需要计算时间段内的运行参数,因此需要从多个系统中抽取数据,才能实现理论线损计算数据的自动录入。用户在客户端,也就是浏览器,选择某个计算时段后(以月为单位),时段信息通过网络传到中间层的Weblogic应用服务器,服务器将时段信息传递到服务器上的Java程序,Java程序得到时段信息后,从多个数据系统中抽取理论线损计算所需数据,然后检查每个元件数据的完整性和正确性,过滤掉残缺数据后,将数据完整的元件数据存放到数据层的Oracle数据库中。由于数据从多个系统中抽取,因此保证数据的正确对应是数据抽取的关键。具体的数据抽取过程为:从供电公司的生产管理GIS系统中抽取出元件的铭牌电气参数,从调度SCADA系统中抽取电网的运行参数,从电能计量遥测系统中抽取电量数据,从用电营销系统中抽取所有用户的售电量。抽取数据时以月为单位,在数据抽取过程中对数据残缺的元件自动进行过滤,保证抽取后所有的元件都可以进行理论线损计算。数据抽取结束后,用户会在客户端看到提示信息,点击计算按钮, Weblogic服务器自动调用部署的Java程序进行理论线损的计算。计算结束后,用户可以立即在客户端看到线损计算结果,以及简单的理论线损分析。同时计算结果存入数据层的Oracle数据库中,供其它系统调用发布。

4.常用电力网线损理论计算方法

4.1均方根电流法

均方根电流法是电网理论线损计算的基本方法,也是最常用的方法。均方根电流法的基本思想是,线路中流过的均方根电流所产生的电能损耗相当于实际负荷在同一时间内所产生的电能损耗。

4.2平均电流法(形状系数法)

平均电流法也称形状系数法,是利用均方根电流与平均电流的等效关系进行电能损耗计算的,由均方根电流法派生而来。平均电流法的基本思想是,线路中流过的平均电流所产生的电能损耗相当于实际负荷在同一时间内所产生的电能损耗。

4.3最大电流法(损失因数法)

最大电流法也称损耗因数法,是利用均方根电流与最大电流的等效关系进行电能损耗计算,由均方根电流法派生而来。最大电流法的基本思想是,线路中流过的最大电流所产生的电能损耗相当于实际负荷在同一时间内所产生的电能损耗。

4.4电压损失法

对于低壓配电网理论线损计算,《电力网电能损耗计算导则》推荐使用电压损失法。电压损失法主要是利用功率损耗与电压损耗百分数之间的关系来粗略计算低电压配电网理论线损,计算方法如下:假设负荷集中在低压配电网线路末端,按照电压向量图可以得到电压损失率近似计算公式。电压损失法的优点是需要的计算数据少,简单易算;缺点是需要假设条件,计算精度低,适用于粗略计算。

5.理论线损计算结果的分析

理论线损计算完毕后,在IE浏览器中选择相应的年、月或时段便可查对理论线损计算结果和各类线损分析表格。“线损分析”页面展示输电线路、主变压器、站用变压器、电容器等元件计算时段的理论线损电量和线损率,可同时展示同一时段相同元件的实际线损电量和线损率;满足“四分”线损分析的需要,满足分别按某一元件(变压器、输电线路、配电线路、配电变压器等)进行分析的需要,自动得出这些元件的损耗率、损耗所占比例以及整个电网的损耗率等数据。

6.结语

在我国能源可持续发展战略和电力行业逐步走向市场与其它能源竞争背景下,开展电网理论线损计算工作,对于降低电能损耗、节约资源,提高供电企业经济效益,提高竞争力,优化电网结构以及电网规划设计等方面有着重要意义。在供电企业网损理论计算工作中,根据电网网络结构、运行参数和现有数据采用适当的方法定期进行理论线损计算十分必要。 [科]

【参考文献】

[1]虞忠年,陈星莺.电力网电能损耗.北京:中国电力出版社,2000.

[2]四川电力试验研究院.电力网电能损耗文献选编,1996,9.

软件工程专业最好的大学排名 篇9

序号 学校代码 学校名称 评选结果
1 10001 北京大学 A+
2 10003 清华大学 A+
3 10335 浙江大学 A+
4 90002 国防科技大学 A+
5 10006 北京航空航天大学 A
6 10013 北京邮电大学 A
7 10213 哈尔滨工业大学 A
8 10248 上海交通大学 A
9 10284 南京大学 A
10 10487 华中科技大学 A
11 10614 电子科技大学 A
12 10004 北京交通大学 A-
13 10007 北京理工大学 A-
14 10145 东北大学 A-
15 10183 吉林大学 A-
16 10247 同济大学 A-
17 10358 中国科学技术大学 A-
18 10486 武汉大学 A-
19 10533 中南大学 A-
20 10698 西安交通大学 A-
21 10699 西北工业大学 A-
22 10701 西安电子科技大学 A-
23 90005 解放军信息工程大学 A-
24 10002 中国人民大学 B+
25 10005 北京工业大学 B+
26 10008 北京科技大学 B+
27 10055 南开大学 B+
28 10056 天津大学 B+
29 10141 大连理工大学 B+
30 10217 哈尔滨工程大学 B+

软件工程专业就业前景

当前,5G标准即将落地,产业互联网也正蓄势待发,整个IT行业在未来将持续释放出大量的就业岗位,这也为未来软件工程专业的发展奠定了一定的基础,从这个角度来看,未来软件工程专业的就业前景依然十分值得期待。

软件工程师的大学规划 篇10

想做软件工程师的技术上需要学习计算机组成与操作系统原理、开发语言、数据库和网络等四大块的知识。实际中的开发则一般用到开发语言和数据库两部份,后面我也会对这两块着重进行介绍。

由于我们开发的管理系统基本上都是C/S模式,所以在我们对网络这部分的知识也要掌握。至少应学会如何架设一个局域网。

企业管理软件与互联网产品,基本上都是应用型的产品,不像操作系统、办公软件等基础类软件涉及大量底层技术,这也是信管电商专业的计算机方面的学习要求整体上没有计算机科学与技术、软件工程等专业高的一个原因。像计算机组成原理、操作系统原理、计算机网络、汇编语言和编译原理等课程,如果仅仅是想从事上面两种产品的开发的话,可以不用钻研得太深入。当然,这并不代表可以忽略或轻视,对所有想从事开发的人来说,这些其实都是基础,基础不打好,以后想走得更远就会很难,例如想成为架构师基本上不可能。

我们学校信管电商两个专业是不学汇编语言和编译原理这两门课的,同时在实际的开发中,基本上也用不到,但对于搞系统开发的我们来说,了解一下也是需要的,但不用太深。

基础性的东西,学习的难度比较大,好在这些课程一般都安排在大

一、大二,大家有充裕的时间去钻研。

在开发语言技术当中,我们接触得最早的就是C语言和数据结构。现在实际开发当中基本不会用到C语言,但在学习C语言过程中所学习的常量、变量、运算符、表达式、条件/循环语句、数据类型、函数等概念是一切开发语言的骨架。学了C语言后,再结合数据结构这一门课程(这门课程也穿插了一些算法的讲解),基本上就掌握了程序开发的核心,书上常说的程序=数据结构+算法,就是这个道理。当然,这两门课程许多时候面对的都是很抽像的数学模型,学习的过程中我们就可以通过研究书本上的代码例子来理解,并尝试着将看过的例子自己用代码写出来。到了课程快结束时,老师会布置课程设计,任务一般是写一个像推箱子游戏这样的比较综合的小软件,这个时候,如果自己不会的,就要找别人的代码来研究,然后尝试着自己再写一次。开发技术基本都这样,单靠看是掌握不了的,还得动手,动手的过程中可以通过研究别人的代码来获得一种思路。

我们学校08、09级的信管、电商两个专业都是在大一第二学期学习C语言,并且相对来说信管的要求会高一些。由于我们系的发展发向是偏向管理系统(从专业名称也可知),所以我们的课程设计基本上都是管理系统,很少会做推箱子、贪吃蛇类的小游戏软件。而在课程设计的过程中同于需要我们自己动手敲写代码(只复制别人代码的人需要注意了!),所以是我们真正能学习到C语言的时候,我们的编程思维和编程习惯也是在这时开始培养起来的,因此一定要重视第一次的课程设计。数据结构电商是大二第一学期学习,信管是大二第二学期学习。学习这门课程一定需要有C语言的基础,不然学起来会相当费力。电商专业的学生会好一点,毕竟上一个学习才学了C语言,不会遗忘得太多,而信管专业的人就要注意了,由于大二第一学期基本上只学数学类的课程,没什么机会再次接触编程,所以要求信管的学生,在大二第一学期最后自已有空的时候复习一下C语言,或者先学习一些别的较先进的编程语言,如

C++,C#,Java,当然自己去编写一下小程序是最好的,总之是要保持自己的编程感觉。同时要说明的是学习数据结构最主要学的是数据结构的思想,虽然在实际的编程中用不太到它,但它其中的思维方式是需要我们掌握的。相同的,大二第二学期,信管专业还会学习操作系统这一门课,学习其中的思想才是最重要的,一定要想办法用C语言或Java(推荐用C语言)实现其课程要求。

到了大二的时候,就会进入到在实际中经常用的面向对象语言的学习,一般是Java或C#。有了前面的基础,这两种语言学起来就会很快。这个时候,除了书本上的理论和例子,还可以找一些如《C#程序开发范例宝典》等这样的实例型的书来配合学习。

应该是学习Java,信管、电商都是在大二第二学期学习。在学习该课程时将会学到“面向对象”这一非常非常重要的概念,一定要彻底掌握这一概念。它是我们整个系统开发的核心思想。但同时也不要废弃掉了“面向过程”这一概念(C语言就是面向过程的),因为“面向对象”的里面就是“面向过程”,没有“面向过程”的基础是学不好“面向对象”的。

在学习这两种语言的过程中,会接触到一种叫JDBC或ADO的技术,主要是用来将Java、C#等语言的应用程序跟数据库相连的。这个时候,数据库的概念就水到渠成地引了出来,数据库的原理和工具的学习也就提上了日程。常用的数据库,一般有MySQL、SQL Server和Oracle三种,对于初学者,建议多用MySQL,因为它的操作是以写代码的形式进行的,这更有利于对SQL语句的掌握。

数据库电商是大二第二学期学习,信管是大三第一学期学习。数据库是我们系统开发的基础。一个系统的好坏,可以从数据库的设计中看出来。同时是否和数据库交互数据也是静态和动态网页最主要的差别。

JDBC只是将数据库中的数据抽取出来,那应该怎样将这些数据显示出来呢?一般有传统的图形界面和网页两种形式,分别对应我们常见的桌面软件和网页。实际中许多大型的企业管理软件、网络游戏和个人应用软件都是桌面软件的形式,而大部份的互联网产品则是网页形式。桌面类的Java和C#都有自己的如AWT等的图形库用以显示。如果是网页产品的话,就会用到另一种技术:客户端语言,最基本的是HTML、CSS、JavaScript和Ajax。近年来,客户端领域又出现了一种以AIR、WPF、Flex和SliverLight为代表的RIA的技术,集成了桌面软件和WEB软件的优点。

我们基本上开发的都是网页产品,比较少开发桌面系统。HTML、CSS、JavaScript和Ajax就是系统开发中的“前台”技术,当然也应该包括美工方面的技术,如PhotoShop。同时需要说明 的是图形界面由于SUN公司和微软公司的竞争,基本不再使用图形界面技术,所以在学习Java时,对图形界面只需了解即可。

有客户端,就有服务器端,与Java相对的服务器端技术是JSP、Servlet和JavaBean,而C#的则是ASP、.NET等。

对于这种网页形式的开发,一般叫WEB开发,想往这个方向发展的,就要继续研究三层架构和MVC模式。对于Java的,常用的MVC模式应用除了前面提到的JSP+Servlet+JavaBean外,还有一些相对来说更重量级的开源框架,如Struts+Spring+Hibernate/iBatis,即是我们经常说的SSH/SSI框架了。对于C#的,主要就是ASP.NET。

以上介绍的就是“后台”技术,而当下 我们使用最多的就是SSH框架,而JSP、Servlet和JavaBean是基础核心,SSH是MVC的一个实例,可以把它看成是一种将各种常用功能封装好后的工具。

Java和c#的在WEB方面的应用相对来说都比较重量级,适应不了当下互联网“快”的需求,所以一般用于B/S架构的如Saas的企业管理软件或逻辑相对复杂的WEB产品的开发。而逻辑相对简单但对用户体验要求较高的WEB产品,一般都用另一种语言PHP,它最符合敏捷开发的要求,开发速度很快。

在此大家应该通过分清JSP、ASP+.net、PHP三大阵营的区别和优劣势。

客户端和服务器端之间怎样通讯?对于网页的,除了上述的客户端和服务端技术外,还需要学习XML、JSON。而对于桌面软件,则涉及到网络编程的问题,像Java中的Socket、RMI等技术就是专门介绍这方面的。另外,想从事像网络游戏、QQ等即时通讯软件、下载软件、安全软件等这样的综合了传统图形界面和网络通讯的互联网产品的开发的话,用Java和C#是不够的,得学习C++语言。

前面提到重量级这个概念,其实,对于一些如企业级的应用(主要是企业管理软件),Java还有一种叫EJB的技术,要了解的话就要深入的学习J2EE的知识了。想专攻企业级产品的,还要学习另一个领域的知识:中间件,典型的代表有CORBAR和COM。

那么,为什么会有客户端和服务器端这两个概念?这其中就要涉及到计算机网络的知识了,想要深入了解网络的原理和实际中的组建技术,就要学习计算机网络和组网技术这两门课程。计算机网络的知识很重要,因为许多产品在架构的过程中,需要对产品的网络架构进行设计。如果单纯是看书的话,很难掌握得了实际的网络布局知识,大家可以利用大一或大二的时间加入到学校的网络中心中去学习。

电商大二第二学期将会学习《计算机网络》,而信管是大三第一学期(非常多的课程,电商比信管早一个学期学,但信管对课程的要求比较高)。但课程中学的理论比实践多,大家应该多去尝试。

软件开发的过程也不是一蹴而就的,除了写代码,还要有前期的需求分析、系统设计和后期的测试和部署,所以除了单纯的技术学习,我们还得学习软件工程的相关知识,了解实际中,一款软件从确定要开发到最终上线要经过哪些环节。当然,我们不必去找软件工程这本书,管理信息系统(MIS)这门课和课程设计就足够了。

管理信息系统(MIS)是信管专业的核心,重要性就不用多说了,学好该门课程可以促进往后开发出高质量的系统

需要学习的理论整体上就这么多,接下来就是不断的实践了。上面介绍的这些技术,都是专门针对开发过程中的某一个对象或环节的,但真正开发一款产品时,就会综合利用上面的种种技术,通过一些如企业网站、网上商城等的项目案例(可以买如《Java数据库系统开发案例精选》等案例介绍型的书获得)的学习,我们就能知道,在实际中,这些技术是怎样被利用起来的,一个软件又是怎样被编写出来的。

当然,这只是走出第一步,接下来,就需要你自己动手去编写一些系统。

动手编写是学好编程的不二法门,只有编得多才能学得好,学得快,同时达到一定程度后会发现再学一门技术的时候,这时已经可以不用跟着编写代码了,但这是建立在对代码非常熟悉的基础上。

在实际的编写过程中,你会遇到大量的像注册登录、验证码、分页显示、购物车、搜索、统计查询等的模块,找一些像《Java Web开发典型模块大全》这样的模块介绍的书来研究,你的技术就会得到迅速的提升。

在我们的平台上,会有非常多的实践机会,但能不能把握看个人的努力。

一定的实践后,我们很容易的就会陷入这样一种困境:总觉得有数不尽的技术要学习,觉得自己完全是被拖着走。这其实是还没有对自己所学的技术形成一个体系的表现,所以在实践了一段时间后,就得对自己所学过的种种技术进行整理和总结,像《Java Web开发技术方案宝典》这样的书,就很清晰地为我们总结出了开发模式选择、页面设计、数据持久化、数据检索等9种方案。

除了自学,技术的学习更多的时候需要到团队中去实战,像数据库和MIS的课程设计就是一个很好的机会。到了大三的时候,一些老师就会招一些同学去帮忙做一些项目,真正想要做开发的,就要努力把握住这些机会。在一个现实当中真正存在的项目中,会接触到远远多于书本上的东西,人在这种环境当中的进步也会非常的大。当然,如果你觉得自己技术水平已不错了,还可以组建一个团队到外面去接一些小单,像为一些小公司做个网站或内部的进销存系统等的。当然,那样所涉及到的就不只是技术的层面的东西了,还有管理,也需要你得先有个各有所长的团队。

许多同学看到这里觉得太不实际,事实上,我们06届就有这么几位师兄,在大三的时候就真真正正的为一间超市做了一个系统。所以那句“没有做不到,只有想不到”真的是很有道理。

对我们的师兄来说,现在已经到了“只有想不到,没有做不到”的境界,而我们通过努力一样可以做到,甚至做得更好。要清楚,我们相对师兄们,我们拥有更好的资源,更好的环境。

技术的学习是一个漫长的过程,需要能耐得下性子忍得住寂寞。当你终于熬了下来时,你就会发觉,手里掌握着远远多于其他同学的筹码和机会,大学也过得非常的充实,到毕业时轻轻松松地找到一份好工作也是易事。

这也是我个人的深刻体会,也是最想和大家分享的。

注:黑字部分为网上资料,红字部分为本人手打,个人意见,仅供参考,欢迎指正。

上一篇:高考语文常见成语汇总下一篇:债权债务公告