软件前景还是很不错的。我国进入新时代了,对第三产业,服务业需求日益增多,大家花在手机上的时间也越来越多这些都需要软件提供服务,不断发展的文化产业对软件需要也很多,如动漫设计,片头片尾设计,虚拟现实等。前景好,还要个人业务过硬,毕竟软件行业技术更新快,需要不断学习的。
[编辑本段]基本信息 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
(2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
(4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。
其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 [编辑本段]目标 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。
(1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。
它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。
软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。
很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。
有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。
能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。
因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。
因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
(5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。
由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。
可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。
(6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。
软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。
可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。
可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。
一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。
适应性强的软件较容易推广使用。 (8)可移植性(portability)。
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。
对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。
可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软。
软件工程可以写的题目多啊。开始也不怎么懂,还是学姐给的文方网,写的《基于Windows平台的HIPS系统设计与实现》,靠谱的说
研究生教育网络管理系统的设计与实现
WMS-2000A轮机模拟器数据通信系统设计与实现
洗衣机模拟运行控制系统的设计与实现
机车信号记录器数据分析处理系统的设计与实现
分布式自动检测系统RS485通信网络的设计与实现
计划生育管理信息系统的设计与实现
医院“一卡通”系统的设计与实现
列车三维驾驶仿真系统的设计与实现
一种图书外采查重系统的设计与实现
基于C/S模式的网络文件管理系统的设计与实现
自动化仓库管理系统的设计与实现
四川省卫生统计数据采集与决策支持系统设计与实现
ATM应用系统EMV迁移的设计与实现
基于B/S模式的药品信息咨询系统的设计与实现
基于LFAP的网络流量统计分析系统的设计与实现
传真管理信息系统的设计与实现
工业机器人三维仿真系统的设计与实现
单位网络设备环境智能监控系统设计与实现
基于CC1020芯片无线传输系统的设计与实现
公安派出所综合信息管理系统设计与实现
基于WEB的库存管理系统设计与实现
基于工作流的AUTOBANK管理系统设计与实现
具有主动功能的连锁经营企业配送中心管理信息系统的设计与实现
基于JavaEE技术的在线考试系统的设计与实现
学生评教系统的设计与实现
微小型电动无人机动力系统试验台的设计与实现
基于F1103 GPRS MODEM的家校通系统设计与实现
基于嵌入式Linux的远程家庭医疗监护系统设计与实现
基于Windows操作系统的智能建筑物综合布线管理系统的设计与实现
基于.NET技术的网上购物管理系统的设计与实现
变电检修管理信息系统设计与实现
天津地铁1号线车站乘客向导系统的设计与实现
基于B/S结构的电路分析网上答疑系统的设计与实现
应用PDA组建无线IC卡表抄收系统的设计与实现
非计算机专业计算机课程考试系统设计与实现
基于GPRS网络的煤矿瓦斯监控系统的设计与实现
惯性组合导航系统接口子系统的设计与实现
人寿保险老业务综合处理系统的设计与实现
FORTRAN语言题库管理系统的设计与实现
楼宇信息系统的设计与实现
倒闸实训系统无线遥控的设计与实现
C/S模式下的电子邮件系统设计与实现
基于LINQ三层架构仓库管理系统的设计与实现
一种宽带无线移动视频调度系统的设计与实现
浅谈远程监控机房温湿度报警系统的设计与实现
学术论文共词分析系统的设计与实现
基于Web的SQLServer远程备份管理系统的设计与实现
基于Spring框架的北京林业大学图书馆门户系统设计与实现
基于XML的研究生网络选课系统设计与实现
最低元开通文库会员,查看完整内容> 原发布者:北大青鸟广安门校区 软件工程师应该具备的技能有哪些 软件工程师应该具备的技能有哪些?我认为,软件工程师用该具备的技能主要为以下几点: 1.编程语言能力 作为一名专业的软件工程师,应该能够熟练掌握JAVA语言,并且能够深入理解OOP、OOA、OOD等编程思想。
精通一门编程语言能为以后的软件开发打下坚实的基础。 2.编码能力 这里说的编码可不是照着书本敲代码,而是能够独立的运用代码,编写一个程序出来。
有很多软件工程师,他们都是随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,缺乏最基本的职责素养。 我认为,对于软件工程师或程序员来说,代码就像自己的孩子一样,一定要付出感情,这样才能编写出好的程序。
3.学习能力 IT技术可谓是更新换代最快的了,从市面上的电脑和手机就可以看出来。所以,只依靠自己之前学到的知识,很快就会被这个时代所淘汰,软件工程师应具备的技能里很重要的一点就是学习能力。
因为只有具备了学习能力,才能在离开学校之后仍然能够独立地学习最新的技术,同时能够自主的发现现在有什么新技术,市场上流行的技术元素与市场需求的变化。 4.设计能力 一个优秀的软件工程师不仅仅具备扎实的专业知识与技能,而且还要具备一定的设计能力。
因为只有这样,才能使一个软件或者应用更加完美,更加容易受到人们的欢迎,从而获得更广阔的市场。 5.团队协作能力 软件开发并不是孤军奋战,很多时候一个软件需要几个人。
当今中国软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
(2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
(4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。
其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。[编辑本段]目标 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。
(1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。
它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。
软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。
很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。
有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。
能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。
因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。
因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
(5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。
由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。
可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。
(6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。
软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。
可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。
可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。
一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。
适应性强的软件较容易推广使用。 (8)可移植性(portability)。
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。
对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。
可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。
降低系统的复杂性会提。
01立项调查报告
02立项建议书
03立项评审报告
04项目设计开发任务书
05项目计划
06质量保证计划
07配置管理计划
08需求分析说明书
09概要设计说明书
10详细设计说明书
11数据库设计说明书
12数据库表详细设计
13单元测试计划
14测试脚本
15单元测试报告
16系统测试计划
17验收申请书
18验收评审报告
19客户验收报告
21审核反馈表
22软件评审报告
23变更需求报告
24设计变更报告
26项目管理报告
27项目总结报告
一共这么多,三大报告是
需求分析说明书
概要设计说明书
详细设计说明书
1、论文题目:要求准确、简练、醒目、新颖。
2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录) 3、提要:是文章主要内容的摘录,要求短、精、完整。
字数少可几十字,多不超过三百字为宜。 4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。
关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。
主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。 5、论文正文: (1)引言:引言又称前言、序言和导言,用在论文的开头。
引言一般要概括地写出作者意图,说明选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。
〈2)论文正文:正文是论文的主体,正文应包括论点、论据、论证过程和结论。主体部分包括以下内容: a.提出-论点; b.分析问题-论据和论证; c.解决问题-论证与步骤; d.结论。
6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。
中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是: (1)所列参考文献应是正式出版物,以便读者考证。 (2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。
需要掌握以下的知识 : (一).NET方面的开发⒈熟悉开发体系,熟悉C# ASP .NET;⒉熟悉SQLServer,Oracle数据库开发;⒊具有企业管理系统项目经验;4.了解企业ERP及财务管理软件(用友,金蝶)者优先;5.善于沟通,能独立撰写方案。
为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神。(二)JAVA应用程序开发1.熟练使用Struts2+Spring+Hibernate2.掌握Jquery3.掌握Java4.熟悉Oracle5.掌握xml/webservice6.掌握OOD、OOP7.基本文档写作能力(三)web、数据库方面的开发⒈练掌握ASP,NET;等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术;2.热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术;3.熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力;4.精通SQL server数据库技术,了解数据库性能调优者优先.(四)php项目开发⒈使用PHP语言开发互联网应用程序;⒉网站产品和网站功能模块的开发与维护;⒊与页面设计师协调沟通,编写部分Javascript和HTML;⒋参与底层MVC框架的编写与维护。
软件工程师一般指从事软件开发职业的人。软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。
软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息;一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。
可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。工作内容:1、指导程序员的工作;2、参与软件工程系统的设计、开发、测试等过程;3 、协助工程管理人保证项目的质量;4 、负责工程中主要功能的代码实现;5 、解决工程中的关键问题和技术难题;6 、协调各个程序员的工作,并能与其它软件工程师协作工作;7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等考试科目。
工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。
图书馆自动化系统开源软件的比较研究摘要〕在调研与实际操作的基础上,对国外三种比较有代表性的图书馆自动化系统开源软件(Koha, PHPMyLibrary,PMB)进行介绍,并从基本技术特征、系统功能和技术服务三方面对这三个系统进行比较分析,以期深入理解图书馆自动化开源软件的设计理念,为开源软件在国内图书馆自动化系统建设中的推广应用提供参考。〔关键词〕图书馆自动化系统;开源软件; Koha; PHPMyLibrary; PMB1引言图书馆自动化系统,又叫图书馆集成管理系统(Inte-grated Library System),始于20世纪70年代,是实现图书馆业务与服务自动化管理的软件系统。长期以来,自动化系统的建设是图书馆建设的重要工作,但商业自动化系统的高额费用和非个性化服务使图书馆的自动化建设受到很大阻碍。而近年来在全球广泛兴起的开源软件为图书馆提供了新的选择。所谓开源软件,是在新型的———并行的、点对点的、动态的软件开发模式〔1〕下开发出来的软件,它鼓励软件开发者相互协作,开放软件的源代码,并允许任何人基于任何目的使用、拷贝、修改及重新分发软件。国外图书馆界对开源软件的研究始于1998年,美国耶鲁大学医学图书馆的系统馆员Daniel Chudnov在《图书馆杂志》(Library Jour-nal)上发表了名为“开源软件:图书馆系统的未来”的研究论文,引起了图书馆界的广泛关注,他指出“尽管开源软件至今仍未进入图书馆软件的主流市场,但这种开发模式对于图书馆软件市场的发展有着巨大的竞争力,新时期的图书馆应该把更多的资源用于用户与馆员的培训,而非购买昂贵的系统”〔2〕。目前,在国际范围内,已有十几种采用开源软件模式进行开发和应用的图书馆自动化系统,主要侧重于编目、公共存取等基本功能的实现。如: Koha系统、Avanti系统、Evergreen系统、LearningAccess ILS、PHP-MyLibrary系统、OpenBiblio系统等。这些系统在设计目标、采用标准、实现技术、系统规模以及数据的组织方式、发布方式等很多方面都不尽相同。本文在调研与实际操作的基础上,选择了3个比较有代表性的图书馆自动化系统开源软件进行比较分析。2系统介绍2·1Koha集成图书馆自动化系统Koha系统产生于1999年,被业内人士认为是全球第一个自动化开源软件,由Katipo通信公司采用Perl语言和MySQL数据库开发完成。该系统不仅集成了图书馆的传统业务流程,包括采购、编目、流通、OPAC、读者管理,同时还为用户提供个性化的定制机制。Koha系统是基于Web的客户/服务器体系结构。该系统中的perl脚本是Koha系统的核心部分,它是图书馆用户与后台系统交互作用的核心,包括OPAC系统、Intranet系统、Daemons系统以及DB系统〔3〕。OPAC系统是Koha系统中的重要组成,其开发基于标准的WWW技术,如XHTML、CSS和JavaScript,因而用户可以通过基于Web浏览器的用户端,很容易地找到特定资源。Intranet系统则是后台事务与前台操作的接口,图书馆员无需安装其它软件,直接利用浏览器便可以实现图书馆自动化的基本业务,如用户的登入、登出管理、虚拟书架的管理、图书馆资源采购、资源流通的管理,以及资源数据的导入、导出等。Daemons系统为利用Z39·50协议查询资源的用户提供到Z39·50服务器的连接。而DB系统则为数据库的存取操作提供支持。目前Koha系统主要安装在公共图书馆、个人和高校图书馆的系部。而公司等赢利性机构使用得不多。2·2PHPMyLibrary系统PHPMyLibrary系统是一个基于PHP语言和MySQL数据库的图书馆自动化应用系统,它包括编目、流通、WebOPAC、输入/输出和论文管理模块。主要具有如下特征:(1)基于Web编目并存储相关的书目信息。图书馆员不仅可以对数据库中的信息进行编辑、修改、检索、添加与删除操作,还能通过动态按钮很容易地增加或编辑新的书目格式。(2)提供基于USMARC标准的输入/输出。(3)提供ISIS2MARC程序,实现从ISIS数据库的系统导入功能〔4〕。(4)支持多语言管理,用户可以管理包含多种语言的信息,包括汉语、俄语、西班牙语、法语、德语等,并可以支持对这些语种的数据库进行检索。2·3PMB系统PMB系统,原名PhpMyBibli,自2002年在法国立项以来,受到国际同行的广泛关注。该系统由PHP和MySQL编写完成,目前已能实现资源订购、资源编目(主要是书籍与期刊编目)、资源流通以及授权管理和串行数字接口中(SDI)管理等功能。该系统支持UNIMARC标准,运行在Linux或Windows操作系统下。由于该项目源于法国,因此很多相关信息都以法语提供,为该系统的推广宣传带来障碍,但来自波多黎各的Jesir Vargas已把该系统翻译成英语和西班牙语,拓宽其使用范围, 2004年,该项目的用户社区在比利时成立。3系统比较与分析3·1基本技术信息基本技术信息包括软件所遵循的许可证类型、所支持的客户端与服务器端系统类型以及图书馆标准等,它们是评判系统的可扩展性和易用性的有效标准。通过比较,可以看出这三个图书馆自动化开源软件都具有较好的通用性、开放性和可扩展性。主要体现在: (1)都可以在当前的主流操作系统平台上运行; (2)都支持图书馆编目标准MARC、检索协议Z39·50; (3)都是基于Web的系统,为用户提供了简单的操作接口,极大提高了系统的操作性能。这与传统的基于CS架构的图书馆自动化系统不同。面对网络环境的日益渗透,传统图书馆自动化系统不得不考虑向Web系统转型,这无疑为本土企业和图书馆用户带来大量工作。而开源软件大多从一开始设计就是基于Web的客户/服务器体系结构,开发语言(如PHP等)普遍具有良好的可扩展性,这也是开源自动化系统区别于传统自动化系统的最大优势。3·2系统功能系统功能是图书馆选择自动化系统的重要依据,是系统功能模块有效实现的直接反映。作者参阅2005年国家工程技术图书馆发表的关于“图书馆自动化系统的调研报告”〔5〕中的用户需求,对上述三个开源系统进行了功能比较,帮助读者对这些系统所能实现的功能进行客观把握。从笔者的实际操作来看, Koha几乎具有用户所需的各项功能,包括多样的检索接口,对资源流通过程的系统跟踪;对采购过程的系统管理,如资源编目数据的获取、资源获取的预算与实际资金管理,同时该系统还为小型图书馆提供了简单的采购模块,另外,该系统还提供对期刊与网络资源的编目,因此, Koha系统是值得图书馆界关注的一个重要系统。而PHPMylibrary和PMB系统缺乏对期刊和成员馆的管理,系统功能不如Koha系统完善,因而更适合中小型图书馆选择利用。3·3技术服务系统的维护与服务是关系到图书馆自动化系统是否能长期有效运行的重要因素之一,是图书馆选择这类软件所必须考虑的因素,与商业软件相比,开源软件的技术服务有其特殊之处。面对各种市场需求,越来越多的商业软件许可证中包含了如安装、培训、运行支持、排错性维护和版本升级等技术服务内容,而由于开源软件的开放与自由获取性,用户通常需要自己在相关网站中下载安装与操作文档,当用户在使用过程中遇到问题时,可以通过邮件列表或是其它方式(如由专业软件公司提供的正式支持)获得相应的帮助,这种多样的服务方式为用户提供了个性化的选择。虽然上述三个系统都拥有正式的服务团队,而且Koha系统的技术力量相当强大,不仅由多国专家共同组成,同时还有全球的众多厂商参与,包括新西兰、法国、美国、英国、阿根廷等国家的软件服务公司。但由于地域、语言、时间等限制,国内用户很难真正及时有效获得帮助。尤其是PMB系统,其很多资料都是法语文献,严重影响用户对系统的参与和理解。4结论自从2000年初奥本大学(Auburn University)图书馆成功安装图书馆自动化开源软件以来,国际上许多知名图书馆陆续开始采用开源软件来改善已有的图书馆自动化系统。目前已有数百个图书馆采用Koha系统,散布全球五大洲,包括澳大利亚、美国、加拿大、爱沙尼亚、印度、尼日利亚、波兰等国家。其中美国的Ohio Nelsonville公共图书馆,有7个分馆,馆藏30万册,读者5万人,年流通量62万册,是Koha的最大客户。另外中国台湾地区的仁德医护管理专科学校、南投县南港国小等多个学校使用该系统获得了较好效果〔6〕。而PHPMylibrary和PMB系统用户相对较少,PHPMylibrary目前在坦桑尼亚、印尼和菲律宾等国开始使用。北苏门答腊大学(USU: University of Sumatra Utara)图书馆在线拥有70, 920件馆藏,是到目前为止利用该系统的较大在线馆藏〔7〕, PMB系统目前在全球的用户仅100余个〔8〕。通过对这些软件的比较分析,以期深入理解图书馆自动化开源软件的设计理念,为开源软件在国内图书馆自动化建设中的应用提供参考。传统的图书馆自动化系统开发过程,基于商业利益和技术保密的考虑,仅由开发商负责。由于无缘参与开发,图书馆只能在功能和性能上对软件的质量进行评价,却无法从更深的技术层面来研究软件,导致软件中的错误或低效率逃过检测而进入实际使用,最终延长了软件达到预期目标的周期。开源软件的开发模式令图书馆能够在更大范围和更深层次上参与软件的开发与维护,而用户的参与将有助于全面查找并快速修正软件中的错误,完成软件的多样性和适应性测试,并能根据特殊需求定制或集成软件,从而促使图书馆软件系统趋向成熟。〔参考文献〕〔1〕Eric S. Raymond. The Cathedral and the Bazaar〔EB/OL〕.〔2008-05 - 30〕. http: //www. firstmonday. org/issues/issue3-3/ray-mond/.〔2〕Daniel Chudov. Open Source Software: The Future of Library System〔J〕. Library Journal, 1999, 124 (13): 40-43.〔3〕Nicholas Rosasco, Erik Bakke. Koha architecture study〔EB/OL〕.〔2008-04-20〕. http: //www. kohadocs. org/.〔4〕About PhpMyLibrary〔EB/OL〕.〔2008-04-10〕. http: //phpmyli-brary. com/pml/? page-id=2.〔5〕国家工程技术图书馆信息服务中心.图书馆自动化系统调研报告〔R/OL〕.〔2008-05-03〕. http: //168. 160. 16. 228/libauto/wp-content/uploads/2006/04/dybg. pdf.〔6〕Koha: Documentaiton Subsite〔EB/OL〕.〔2008-04-05〕. http: //www. kohadocs. org/.〔7〕PhpMyLibrary Users〔EB/OL〕.〔2008-04-10〕. http: //phpmyli-brary. org/index2. php? option=com-content&do-pdf=1&id=16.〔8〕PMB users〔EB/OL〕.〔2008-04-20〕. http: //www. sigb. net.
楼主也在愁软件工程类的硕士论文开题报告啊,我也是遇到了同样的问题,感觉完全没有思路的,后来找一个网站写的,导师那里一次性就过了。建议你去瞧瞧,我是在淘宝上找到的店,你可以到淘宝上找店址 文易论文店。
开题报告,顾名思义就是回答你的论文所要论述的主题的价值。一般包括:1.选题:本选题国内外研究现状及选题意义。2.内容:本选题研究的主要思路(包括视角、方法、途径、目的),重要观点。3.价值:本选题创新程度,理论意义,应用价值。4.研究方法、研究计划、预计成果。重点在于:1通过对国内外研究现状以及选题意义的充分论述,体现本选题的重要理论和实践价值,2,清晰表述写作思路和重要观点,具体的论文框架不一定要写出来,因为论文写作过程中会发生变化。3,对本选题的价值要清晰凸显,这是开题答辩时大家最关注的内容。
软件工程的,,,在的哈
软件工程硕士的论文选题方向:. 专业硕士软件工程硕士方向的专业硕士论文选题,按照目前培养方案的要求,必须是与软件工程有关的内容。关于选题的官方说法,参见:==>【2011年校学术委员会签发的文件】。所谓与软件工程硕士有关的内容包括:1. 软件的开发这是最常见的选题方向,也是最正规、最容易得到认可的方向。一般来说,软件开发的题目,可以是一个系统,也可以是一个或者几个模块。不过,不论是系统还是模块,都要包括如下几个阶段:a) 需求分析b) 概要(总体)设计和详细设计c) 编码(是指重要的、关键的算法部分)d) 部署和测试2. 软件工程硕士的其它方向内容例如:a) 软件需求管理、变更b) 软件体系架构c) 软件测试 (软件测试方向的论文大纲参见博文《软件测试相关硕士论文大纲》)d) 软件过程改进e) 更多内容,参见《软件工程知识体系指南》3. 论文覆盖的内容及范围按照软件工程硕士学科的论文要求,软件工程方向的论文,需要至少覆盖软件工程的两个阶段,例如:需求+设计,设计+实现,需求+设计+实现,需求+设计+实现+测试,设计+实现+测试,......如果是测试领域的论文,则应该涉及到:测试设计+测试执行+结果分析如果是需求管理领域的论文,则应涉及到:需求获取、需求变更管理、需求分解、需求跟踪等方面. 工学硕士工学硕士选题一般均按照导师要求执行,与工程硕士依据自己实际工作或者实习内容选题有所不同。总体上,工学硕士选题与工程硕士类似,但论文的内容应当偏学术。工学硕士也可以选择研究性的课题。
计算机科学与技术这一门科学深深的吸引着我们这些同学们,原先不管是国内还是国外都喜欢把这个系分为计算机软件理论、计算机系统、计算机技术与应用。后来又合到一起,变成了现在的计算机科学与技术。我一直认为计算机科学与技术这门专业,在本科阶段是不可能切分成计算机科学和计算机技术的,因为计算机科学需要相当多的实践,而实践需要技术;每一个人(包括非计算机专业),掌握简单的计算机技术都很容易(包括原先Major们自以为得意的程序设计),但计算机专业的优势是:我们掌握许多其他专业并不"深究"的东西,例如,算法,体系结构,等等。非计算机专业的人可以很容易地做一个芯片,写一段程序,但他们做不出计算机专业能够做出来的大型系统。今天我想专门谈一谈计算机科学,并将重点放在计算理论上。1)计算机语言随着20世纪40年代第一台存储程序式通用电子计算机的研制成功,进入20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言Short Code出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。程序设计语言的研究与发展在产生了一批成功的高级语言之后,其进一步的发展开始受到程序设计思想、方法和技术的影响,也开始受到程序理论、软件工程、人工智能等许多方面特别是实用化方面的影响。在“软件危机”的争论日渐平息的同时,一些设计准则开始为大多数人所接受,并在后续出现的各种高级语言中得到体现。例如,用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。而且,伴随着这些语言的出现和发展,产生了一大批为解决语言的编译和应用中所出现的问题而发展的理论、方法和技术。有大量的学术论文可以证明,由高级语言的发展派生的各种思想、方法、理论和技术触及到了计算机科学的大多数学科方向,但内容上仍相对集中在语言、计算模型和软件开发方法学方面。(2)计算机模型与软件开发方法20世纪80年代是计算机网络、分布式处理和多媒体大发展的时期。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计成为当时程序设计语言的一种时尚。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础——计算模型。(3)计算机应用用计算机来代替人进行计算,就得首先研究计算方法和相应的计算机算法,进而编制计算机程序。由于早期计算机的应用主要集中在科学计算领域,因此,数值计算方法就成为最早的应用数学分支与计算机应用建立了联系。最初的时候,由于计算机的存储器容量很小,速度也不快,为了计算一些稍稍大一点的题目,人们常常要挖空心思研究怎样节省存储单元,怎样减少不需要的操作。为此,发展了像稀疏矩阵计算理论来进行方程组的求解;发展了杂凑函数来动态地存储、访问数据;发展了虚拟程序设计思想和程序覆盖技术在内存较小的计算机上运行较大的程序;在子程序和程序包的概念提出之后,许多人开始将数学中的一些通用计算公式和计算方法写成子程序,并进一步开发成程序包,通过简洁的调用命令向用户开放。子程序的提出是今日软件重用思想的开端。在计算机应用领域,科学计算是一个长久不衰的方向。该方向主要依赖于应用数学中的数值计算的发展,而数值计算的发展也受到来自计算机系统结构的影响。早期,科学计算主要在单机上进行,经历了从小规模数值分析到中大规模数值分析的阶段。随着并行计算机和分布式并行计算机的出现,并行数值计算开始成为科学计算的热点,处理的问题也从中大规模数值分析进入到中大规模复杂问题的计算。所谓中大规模复杂问题并不是由于数据的增大而使计算变得困难,使问题变得复杂,而主要是由于计算中考虑的因素太多,特别是一些因素具有不确定性而使计算变得困难,使问题变得复杂,其结果往往是在算法的研究中精度与复杂性的矛盾难于克服。几何是数学的一个分支,它实现了人类思维方式中的数形结合。在计算机发明之后,人们自然很容易联想到了用计算机来处理图形的问题,由此产生了计算机图形学。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。在各种实际应用系统的开发中,有一个重要的方向值得注意,即实时系统的开发。利用计算机证明数学定理被认为是人工智能的一个方向。人工智能的另一个方向是研究一种不依赖于任何领域的通用解题程序或通用解题系统,称为GPS。特别值得一提的是在专家系统的开发中发展了一批新的技术,如知识表示方法、不精确性推理技术等,积累了经验,加深了对人工智能的认识。20世纪70年代末期,一部分学者认识到了人工智能过去研究工作基础的薄弱,开始转而重视人工智能的逻辑基础研究,试图从总结和研究人类推理思维的一般规律出发去研究机器思维,并于1980年在《Artificial Intelligence》发表了一组非单调逻辑的研究论文。他们的工作立即得到一大批计算机科学家的响应,非单调逻辑的研究很快热火朝天地开展起来,人工智能的逻辑基础成为人工智能方向发展的主流。数据库技术、多媒体技术、图形学技术等的发展产生了两个新方向,即计算可视化技术与虚拟现实技术。随着计算机网络的发展,分布在全世界的各种计算机正在以惊人的速度相互连接起来。网络上每天都在进行着大量政治、经济、军事、外交、商贸、科学研究与艺术信息的交换与交流。网络上大量信息的频繁交换,虽然缩短了地域之间的距离,然而同时也使各种上网的信息资源处在一种很难设防的状态之中。于是,计算机信息安全受到各国政府的高度重视。除了下大力气研究对付计算机病毒的软硬件技术外,由于各种工作中保密的需要,计算机密码学的研究更多地受到各国政府的重视。实际上,在计算机科学中计算机模型和计算机理论与实现技术同样重要。但现在许多学生往往只注重某些计算机操作技术,而忽略了基础理论的学习,并因为自己是“操作高手”而沾沾自喜,这不仅限制了自己将研究工作不断推向深入,而且有可能使自己在学科发展中处于被动地位。例如,在20世纪50年代和20世纪60年代,我国随着计算机研制工作和软件开发工作的发展,陆续培养了在计算机制造和维护中对计算机某一方面设备十分精通的专家,他们能准确地弄清楚磁芯存储器、磁鼓、运算器、控制器,以及整机线路中哪一部分有问题并进行修理和故障排除,能够编制出使用最少存储单元而运算速度很快的程序,对机器代码相当熟悉。但是,当容量小的磁芯存储器、磁鼓、速度慢的运算器械、控制器很快被集成电路替代时,当程序设计和软件开发广泛使用高级语言、软件开发工具和新型软件开发方法后,这批技术精湛的专家,除少量具有坚实的数学基础、在工作中已有针对性地将研究工作转向其他方向的人之外,相当一部分专家伴随着新技术的出现,在替代原有技术的发展过程中而被淘汰。因此,在计算机科学中,计算比实现计算的技术更重要。只有打下坚实的理论基础,特别是数学基础,学习计算机科学技术才能事半功倍,只有建立在高起点理论基础之上的计算机科学技术,才有巨大的潜力和发展前景。计算机理论的一个核心问题我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有多大的问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全学,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所?高等数学",无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematica或是Matlab好了。退一万步。华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为对我们来说,最重要的几件事情:首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。在有就是他把很多的高等数学理论都交给了做工业生产的技术人员,推动了中国工业的进步。第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元写了《高等数学引论》(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他的理论完全的实例化,在生活中去找模型。这也是我为什么比较喜欢具体数学的原因,正如我在上文中提到的,理论脱离了实践就失去了它存在的意义。正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。能用语言写网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高,unique? 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异,今后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动?哪怕是去粗取精的取那么一点点。
论文对于硕士,尤其博士,是必须的一种技能,也是一道难关。所谓大道无形,小道可走。下面给出一些博士期间的写作心得,希望能有所裨益。论文可以有三个境界:毕业、科研、贡献。 现在只说第一个,为了毕业。 把论文分成三个阶段:读、写、改。 一、读 即:读哪些论文(对象),读论文的目的是什么(目标),怎么读(方法)1.读什么论文。 读论文,需要读经典的专业基础论文、survey(概述)论文,及5-10篇左右读新的高质量的专业论文。 好的论文怎么找?首先找专业领域中好的会议、期刊;其次,经常访问专业领域有名的实验室、研究员的主页,关注其发表的论文方向及内容;50-100篇,半年;就可以开始动手写论文了。 2.读论文的目的。 读论文的目的有两个主要目的: 一是了解世界上本专业领域的内容和发展情况; 二是在了解过程中,产生自己的idea,进入这个领域。 什么是idea?怎么样产生?idea一般是在读论文的过程中产生的,给出三种比较简单产生idea的方法。(1)第一种弥补缺陷法。即去发现别人论文中的weakness(缺陷)。你在读很多个论文时候,就会逐渐发现,每一篇论文都不是完美的,解决的都是某一方面的问题。很多论文,尤其是经典论,都有很多论文跟着去提高和改善原来论文的效率、方法什么的。因此,你可以根据这个特点,去找你感兴趣的论文的weakness,你提出相应的弥补缺陷的解决方案; (2)第二种新型方案法。就是提出与论文不同的解决方案,你觉得你在性能、方法、效益等方面有新的方法,那就产生了新的idea,不断地磨合,修正,完善你的idea,就慢慢成为一篇比较好的论文; (3)第三种减少约束法。即减少论文中的assumption(假设),一般来说,所有的假设都是约束条件,去除约束条件就是形成新的方法的过程。这三种方法是比较简单的、操作性比较强的方法,比较有针对性的产生idea,避免看论文中的茫然状态。值得注意的是,在产生idea过程中,不要想着憋大的idea,不要试图完全推翻或者建立自己的体系。在目前阶段,对大多数人来说,这是不可能的。好高骛远,往往会半途而废。你有一点点的贡献就好。没有一篇论文是完美的,而任何人的工作都必须在其他人工作基础上进行的。 3.怎么读论文。 (1)首先,最忌讳的是一篇论文反复读前面的几段。要读,尽量一次性读完,不管理解多少,尽量一次读完,你可以一篇论文多读几遍。不要放。很多人都是,觉得读起来难,读一读,放一放,然后再从头读。好像烧开水,没等开锅呢,就凉凉了,然后再烧。 (2)第二,读的时候带着想法读。读论文不是相面,你要看看内容是什么,和以前的有没有区别,有什么不同,有没有weakness。但是在阅读的过程中,往往就忘了这个事情。怎么办呢,就是每次看完,对这篇论文做个summary,总结一下论文的主要阐述的内容和方法,和以前的对比一下,这样,就把论文吃透了。好的论文不妨隔三差五的多读几次。 (3) 第三,看到好的句子,记下来,然后自己写论文时候改一下就可以用的。尤其是读native的论文,非常必要。论文的文风怎么样,整个文章的版式,句子的书写,词汇的使用。论文读多了,就很容易把专业词汇积累下来,所以,尤其在开始的时候,一定要把好的句子、单词记下来。好记性不如烂笔头,非常推荐大家这样去做。二、写写论文和读论文过程类似,包括确定论文的性质,论文的目标(发表到哪里),写论文的方法。要了解论文的组成是什么,每一部分应该怎么写,然后再进入写论文的过程。 在具体写作的时候,需要考虑下面的过程: 1.写什么性质的论文。 如会议论文、期刊论文、letter、regular paper,或者写的是综述(survey)、方法、理论等等。不同的论文的对象,载体,篇幅,侧重点是不一样的。比如,会议论文、短论文等对新的要求比较高,比较短,其他的次之,所以论文写作要集中在新的方面;而期刊论文等对新的要求之外,还要求完善、高质量,所以写作时候要系统性和创新性并重。 2.写论文的目的是什么。 第一,你想要发表的地方是什么,会议还是期刊。不同的地方有不同的要求,尤其是期刊论文。所以,在写论文之前,尽量确定要投的期刊或会议。然后,去阅读几篇最新的该期刊或者会议的论文,明确一下体例和内容大致规划。重要的是,你选择的题目和投稿对象的要求尽量切合。第二,你想要发表的时间,一定要有个发表的时间点。一方面,人都是有惰性的,你限制了时间点,就能很好的督促你,你可以多选择几个,这样你就会处于忙碌和兴奋状态,成果就会快而且好,否则非常容易消极怠工。另一方面,很多毕业生,需要在写大论文之前,需要得到论文的接收函。在时间规划上也是有要求的。如果想在时间上快一些,可以找一下相关刊物的special issue或者special section等,一般这特刊,出版的速度相对快些。一定要提前谋划,无论是会议还是期刊,一般要提前半年以上。 3.写论文的方法。 首先了解一下论文的结构。通常一篇论文包括7个大的部分,每页大概10段,每段大概4,5个句子。所以,一篇会议论文大概200-300个句子罢了。一小时写5句,一天写一页也就差不多了,一周也就写一篇论文吧,当然前提是idea什么都比较成熟后。其实,如果真的想明白了,差不多2-3天也就可以了。 4.论文的组成。 下面,针对论文给出7个大部分的一些内容组成:(1) Abstract—— 对自己工作及其贡献的总结:a)阐述问题;b)说明自己的解决方案和结果。(150-200words) (2)Introduction——背景,以及文章的大纲、你的贡献:a)题X是重要的;b)前人的工作A、B曾经研究过这个问题;c)A、B有一些缺陷;d)我们提出了方法D;e)D的基本特征,和A、B进行比较;f)实验证明D比A、B优越;g)文章的基本结构,大纲。(1page) (3)Previous Work——说明自己与前人的不同:a)将历史上前人的工作分成类别;b)对每项重要的历史工作进行简短的回顾(一到几句),注意要回顾正确,抓住要点,避免歧义;c)和自己提出的工作进行比较;d)不要忽略前人的重要工作,要公正评价前人的工作,不要过于苛刻;e)强调自己的工作和前人工作的不同,最好举出各自适用例子。 (4)Our Solution——描述自己的工作,可分成多个部分:a)从读者角度阐明定义和表示法;b)提供算法的伪码,图解和相应解释;c)用设问的方式回答读者可能提出的潜在问题;d)复杂的冗长的证明和细节可以放在附录中,这里关键是把问题阐述清楚;e)特例和例外应该在脚注中给予说明。 (5) Performance Analysis——验证提出的方法和思路:a)合理地设计实验(简洁的实验和详尽的实验步骤);b)必要的比较,突出科学性;c)讨论,说明结果的意义;d)给出结论。 (6) Conclusion——总结、前景及结文:a)快速简短的总结;b)未来工作的展望;c)结束全文。 (7) References——对相关重要背景文献的全面引用:a)选择引文(众所周知的结论不必引用,其他人的工作要引用,经典的和新的论文要引用);b)与前文保持一致。然后我们就开始写论文了。 1.写论文时候,最好一气呵成。千万不要犹豫,今天写点,明天写点的样子。那样往往写不好论文。一篇SCI论文,我想,一般最多用一周多一点的时间写完主题部分;而一般会议论文2,3天即可。当然,一些实验可能需要时间长些。无论如何,不可以拖延。可以说,每篇论文都可以发表,所以你写出的论文肯定是有成果的。 2.写论文时候,有些需要注意的语言表述的地方。首先,尽量拼写、语法正确。保证全文没有单词错误和明显的语法错误,这个非常重要。论文学术是非常严谨的,错误拼写容易让人觉得水平不高。另外,写作句子尽量简单,每个句子只包含一个意思,这个和中文论文差别很大。记住一定用简单的句子,一般情况下,即使算上从句也尽量不要超过两句话。第三,避免用口语。例如so、the same as、one hand…on theother hand等等。从native和好的论文里面,把重要的连词的应用学好。如therefore,however,moreover等等,尽量装着学术化一些。第四,尽量避免第一人称,we怎么怎么地。 3.论文的组成元素。通常,包括图形、公式、算法、证明等等。论文应该是图文并茂的。通常情况下,如果读者是同一领域的研究人员,他们看完论文的图片及图注就可以知道这篇文章大体所做的工作。因此,要标注好每一幅图片所展示的信息,但尽量简洁。图和文本要保持一致,并且互为补充,所有图在论文中都是必须提及的。不同的图有不同的要求:(1)对于说明性、功能性和流程性等的图,我建议一般先自己在纸上手绘大框,这样方便设计、修改,等定型后,在用专业工具绘画,这样一般效果很好而且节省时间。 (2)另外,当采用柱状图、折线图等,优先用黑白色,然后是灰色或阴影的,最后才是彩色的。据说有大概10%的男性是红/绿色盲,因此要避免使用红/绿色,而且打印时候大多时候是黑白的,所以,在采用颜色标识的同时,尽量加一些标识性的线条标志,要有区别于其他区域的大小和形状。对于这些性能分析、对比等,在解释时候一定要尽量说明图的形成原因,并包括数据。如与谁相比,能效提高百分之多少,什么原因造成的等等。 (3) 第三,作图工具一定要专业,尽量避免用excel等做,通常做的不是很好看。图的质量一般是300dpi以上,所以如果可能,尽量用专业工具作图,然后粘贴。在论文录取后,尤其期刊论文,一般需要提交高质量的图片,尽量是jpg和tif格式的。 (4)最后,论文排版要尽量和论文要求一致,直接使用投稿对象的模板。如果latex等熟悉的朋友,尽量用latex,排版的质量非常棒的。除了图,论文里面还应该有公式、算法、证明、定义等。一定尽量用专业的东西编写,这些地方尽量不要用图片。整篇论文要尽量用多种元素说明,避免整篇大片大片的文字描述。 最后,好的论文要有好的明确的题目,我一般是先写一个然后整篇论文写好后,再修改、定稿。三、改好的论文不是写出来的,是改出来的。完成一篇论文后,先通读一下,看看有没有什么要更改的。一般来说,更改有本人更改和他人更改两种。写完之后通读一次,先不要再读,放两三天再说。这样容易产生新的更好的想法,然后再仔细更改。更改是个打磨的过程,必须字斟句酌,可以参考其他好的文章,对照写。改论文绝对不是查缺补漏那么简单,要从审稿人、读者多个角度去看,想想读者能从你这个论文里面获得多少、想看的是什么。另外,一定请领域朋友帮助审查一下,以便检验论文的正确性和新鲜性,而且可以对一些术语用词进行改善。 改好之后,就是投稿。 一定要选择和自己论文非常搭的期刊或者会议投稿。如果是正常期刊的论文,一般随时都可以投稿。但是对于特刊、会议一般是有时间限制的。对有时间限制的,建议尽量提前一两天投稿。我见过很多人,都是非得到最后那天才投稿,这样如果发生意外就不好补救了。另外,有些期刊为了增加公正性,要求匿名投稿,这个一定要注意。 最后,不管论文接受还是被拒,都会有比较好的意见回来,一定要认真阅读这些意见并做相应的修改及反馈。 一些需要注意的地方 (1)论文的滚动问题。一个方向,发表一篇论文后,不是就完成大吉了。还有尽量深挖你这个课题。一个主题多种实现方法。一个好的idea,我觉得怎么应该发一到两篇conference和一个journal (2)论文合作:在质量和数量上大幅提高。 (3)作者排序的问题,为以后工作做准备。 (4)项目申请问题。 (5)最低满足论文之后,是为以后铺路的问题。平实心态,积极争取。 以上是自己在做研究时候的一点点小心得,为写而写,寸光短视,指望有所裨益。
软件工程论文参考文献范文
在学习和工作中,大家或多或少都会接触过论文吧,通过论文写作可以培养我们的科学研究能力。相信写论文是一个让许多人都头痛的问题,以下是我帮大家整理的软件工程论文参考文献范文,欢迎阅读,希望大家能够喜欢。
[1]刘洪峰,陈江波.网络开发技术大全[M].人民邮电出版社,2005:119-143.
[2]程成,陈霞.软件工程[M].机械工业出版社,2003:46-80.
[3]舒红平.Web 数据库编程-Java[M].西安电子科技大学出版社,2005:97-143.
[4]徐拥军.从档案收集到知识积累[M].是由工业出版社,2008:6-24.
[5]纪新.转型期大型企业集团档案管理模式研究[D].天津师范大学,2008:46-57.
[6]周玉玲.纸质与电子档案共存及网络环境电子档案管理模式[J].中国科技博览,2009:44-46.
[7]张寅玮.甘肃省电子档案管理研究[D]. 兰州大学,2011:30-42
[8]惠宏伟.面向数字化校园的档案信息管理系统的研究与实现[D]. 电子科技大学,2006:19-33
[9]刘冬立.基于 Web 的企业档案管理系统的设计与实现[D].同济大学,2007:14-23
[10]钟瑛.浅议电子文件管理系统的功能要素[J]. 档案学通讯,2006:11-20
[11]杜献峰 . 基于三层 B/S 结构的`档案管理系统开发 [J]. 中原工学院学报,2009:19-25
[12]林鹏,李田养. 数字档案馆电子文件接收管理系统研究及建设[J].兰台世界,2008:23-25
[13]汤星群.基于数字档案馆建设的两点思考[J].档案时空,2005:23-28
[14]张华丽.基于 J2EE 的档案管理系统设计与实现[J].现代商贸工业. 2010:14-17
[15]Gary P Johnston,David V. benefits of electronic recordsmanagement systems: a general review of published and some unpublishedcases. RecordsManagement Journal,2005:44-52
[16]Keith an electronic records management system: Apublic sector case study. Records Management Journal,2005:17-21
[17]Duranti Methods for the Management of Electronic RecordsR[J].Information Society,2001:57-60.
[18]Lynn C value and thepermanent record the preservation conundrum[M].International digital library perspectives,2007:34-89.
[19]Aleksej Jerman trustedpreservation service using service interaction proto-col and evidence records[J].Computers and Standards,2007:23-29.
[20]Carmela Secure Long-Term Archival of Digitally Signed Documents[M].Proceedings of the4th ACM international workshop on Storage secu-rity and survivability,2008:102-134.
[1]Schiller J H, Voisard A. Location-Based Services [C]. San Francisco: Morgan Kaufmann,2004
[2]Jiang B, Yao X. Location-based services and GIS in perspective [C]. Computers,Environment and Urban System, 2006, 30(6): 712-725[3]王惠南编著.GPS导航原理与应用[M].科学出版社,2003
[3], and . Positioning GSM Telephones [J], IEEE , , 1998[4], and . Cellular Telephone Positioning Using GPS TimeSynchronization [C], GPS World, 1998
[4]Christie J, Fuller R, Nichols J. Development and deployment of GPS wireless devices forE911 and location based services. Position Location and Navigation Symposium [C], 2002, 60 - 65
[5]胡加艳,陈秀万,吴雨航,吴才聪.移动位置服务在应急救援中的应用[J].中国应急救援.2008(05)
[6]冯锦海,杨连贺,刘军发等.基于WLAN移动定位的个性化商品信总推荐平台[J].计算机工程与科学.2014(10)
[7]张寅宝,张威巍,孙卫新.面向位置服务的室内空间数据模型研宂[J].测绘与空间地理信息.2014(11)
[8]ZhongLiang Deng, Weizheng Ren, Lianming Xu. Localization Algorithm Based onDifference Estimation for Wireless Sensor Networks in Pervasive Computing Computing and Applications [C], 2008, .
[9]Stoyanova T, Kerasiotis F, Efstathiou K. Modeling of the RSS Uncertainty for RSS-BasedOutdoor Localization and Tracking Applications in Wireless Sensor Networks. Sensor Technologiesand Applications (SENSORCOMM) [C], 2010, 45 - 50
[10]Jun-yong Yoon, Jae-Wan Kim, Won-Hee Lee. A TDoA-Based Localization Using PreciseTime-Synchronization. Advanced Communication Technology (ICACT) [C]3
[11]韩霜,罗海勇,陈颖等.基于TDOA的超声波室内定位系统的设计与实现[J].传感技术学报.2010(03)
[12]Hee-Joong Kim, Jihong Lee. Stereo AoA system for indoor SLAM [C]. Control,Automation and Systems (TCCAS), 2013 13th, 1164-1169
[13]张明华.基于WLAN的室内定位技术研究[D],上海,上海交通大学,2009,36-38
[14]Weston J L, Titterton D H. Modern Tnertial Navigation Technology and Its Application [J].Electronics & Communication Engineering Journal, 2000, 12(2):49-64
[15] , , . Location Fingerprinting on Infrastructure Local Area Networks (WLANS) Using Locus [C], Local Computer Networks, 2004. 29thAnnual IEEE International Conference on. IEEE, 2004, pp. 676-683.
[16]王赛伟,徐玉滨,邓志安等.基于概率分布的室内定位算法研究[C].国际信息技与应用论坛文集,2009.
[17]宁静.采用红外织网的室内定位技术[J].激光与红外.2011(07)
[18]卜英勇,王纪婵,赵海鸣等.基于单片机的高精度超声波测距系统[J].仪表技术与传感器.2007(03)
[19]HyungSoo Lim, ByoungSuk Choi, JangMyung Lee. An Efficient Localization Algorithmfor Mobile Robots based on RFID System [C]. SICE-ICCAS,Oct. 2006 pp. 5945-5950
[20]N4air N, Mahmoud . A collaborative Bluetooth-Based Approach to Localization ofMobile Devices [C]. Collaborative Computing: Networking, Applications and Worksharing(CoIlaborateCom), 2012,363 - 371
[21]Si nan Gezici, Zhi Tian, Georgios B. Biannakis, et al. Localization via Ultra-WidebandRadios [C]. IEEE Signal Processing Magazine July 2005.
[22]陈文周.WiFi技术研究及应用[J].数据通信.2008(02)
[23]李红,郭大群.WiFi技术的优势与发展前景分析[J],电脑知识与技术,2013(5)
[24]石欣,印爱民,张琦.基于K最近邻分类的无线传感器网络定位算法[J].仪器仪表学报,2014(10)
[25]Christopher . Burges. A Tutorial on Support Vector Machines for Pattern Recognition[J]. Data Mining and Knowledge Discovery. 1998 (2)
[26]Asano S,Wakuda Y’ Koshizuka N. A robust Pedestrian Dead-Reckoning PositioningBased on Pedestrian Behavior and Sensor Validity [C]. PLANS’ 2012,328 - 333
[27]Alvarez D, Gonzalez , Alvarez . Comparison of Step Length Estimators fromWearable Accelerometer Devices [C]. EMBS, 2006:5964-5967.
[28]刘长征,李纬,丁辰等.多种定位技术融合构建LBS体系[J].地理信息世界.2003(03)
[29]张世.基于惯性传感器和WiFi的室内定位系统的设计与实现[D],北京,北京邮电大学,2012.
[30]周傲英,杨彬,金澈清等.基于位置的服务:架构与进展[J].计算机学报.2011(07)
[31 ] W3C, Scalable Vector Graphics (SVG) [OL],
[32] Eisa S, Peixoto J. Meneses F. Removing Useless APs and Fingerprints from WiFi IndoorPositioning Radio Maps [C]. Indoor Positioning and Indoor Navigation (IPIN), 2013, 1-7
[编辑本段]基本信息 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
(2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
(4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。
其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 [编辑本段]目标 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。
(1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。
它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。
软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。
很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。
有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。
能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。
因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。
因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
(5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。
由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。
可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。
(6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。
软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。
可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。
可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。
一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。
适应性强的软件较容易推广使用。 (8)可移植性(portability)。
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。
对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。
可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软。
软件工程可以写的题目多啊。开始也不怎么懂,还是学姐给的文方网,写的《基于Windows平台的HIPS系统设计与实现》,靠谱的说
研究生教育网络管理系统的设计与实现
WMS-2000A轮机模拟器数据通信系统设计与实现
洗衣机模拟运行控制系统的设计与实现
机车信号记录器数据分析处理系统的设计与实现
分布式自动检测系统RS485通信网络的设计与实现
计划生育管理信息系统的设计与实现
医院“一卡通”系统的设计与实现
列车三维驾驶仿真系统的设计与实现
一种图书外采查重系统的设计与实现
基于C/S模式的网络文件管理系统的设计与实现
自动化仓库管理系统的设计与实现
四川省卫生统计数据采集与决策支持系统设计与实现
ATM应用系统EMV迁移的设计与实现
基于B/S模式的药品信息咨询系统的设计与实现
基于LFAP的网络流量统计分析系统的设计与实现
传真管理信息系统的设计与实现
工业机器人三维仿真系统的设计与实现
单位网络设备环境智能监控系统设计与实现
基于CC1020芯片无线传输系统的设计与实现
公安派出所综合信息管理系统设计与实现
基于WEB的库存管理系统设计与实现
基于工作流的AUTOBANK管理系统设计与实现
具有主动功能的连锁经营企业配送中心管理信息系统的设计与实现
基于JavaEE技术的在线考试系统的设计与实现
学生评教系统的设计与实现
微小型电动无人机动力系统试验台的设计与实现
基于F1103 GPRS MODEM的家校通系统设计与实现
基于嵌入式Linux的远程家庭医疗监护系统设计与实现
基于Windows操作系统的智能建筑物综合布线管理系统的设计与实现
基于.NET技术的网上购物管理系统的设计与实现
变电检修管理信息系统设计与实现
天津地铁1号线车站乘客向导系统的设计与实现
基于B/S结构的电路分析网上答疑系统的设计与实现
应用PDA组建无线IC卡表抄收系统的设计与实现
非计算机专业计算机课程考试系统设计与实现
基于GPRS网络的煤矿瓦斯监控系统的设计与实现
惯性组合导航系统接口子系统的设计与实现
人寿保险老业务综合处理系统的设计与实现
FORTRAN语言题库管理系统的设计与实现
楼宇信息系统的设计与实现
倒闸实训系统无线遥控的设计与实现
C/S模式下的电子邮件系统设计与实现
基于LINQ三层架构仓库管理系统的设计与实现
一种宽带无线移动视频调度系统的设计与实现
浅谈远程监控机房温湿度报警系统的设计与实现
学术论文共词分析系统的设计与实现
基于Web的SQLServer远程备份管理系统的设计与实现
基于Spring框架的北京林业大学图书馆门户系统设计与实现
基于XML的研究生网络选课系统设计与实现
最低元开通文库会员,查看完整内容> 原发布者:北大青鸟广安门校区 软件工程师应该具备的技能有哪些 软件工程师应该具备的技能有哪些?我认为,软件工程师用该具备的技能主要为以下几点: 1.编程语言能力 作为一名专业的软件工程师,应该能够熟练掌握JAVA语言,并且能够深入理解OOP、OOA、OOD等编程思想。
精通一门编程语言能为以后的软件开发打下坚实的基础。 2.编码能力 这里说的编码可不是照着书本敲代码,而是能够独立的运用代码,编写一个程序出来。
有很多软件工程师,他们都是随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,缺乏最基本的职责素养。 我认为,对于软件工程师或程序员来说,代码就像自己的孩子一样,一定要付出感情,这样才能编写出好的程序。
3.学习能力 IT技术可谓是更新换代最快的了,从市面上的电脑和手机就可以看出来。所以,只依靠自己之前学到的知识,很快就会被这个时代所淘汰,软件工程师应具备的技能里很重要的一点就是学习能力。
因为只有具备了学习能力,才能在离开学校之后仍然能够独立地学习最新的技术,同时能够自主的发现现在有什么新技术,市场上流行的技术元素与市场需求的变化。 4.设计能力 一个优秀的软件工程师不仅仅具备扎实的专业知识与技能,而且还要具备一定的设计能力。
因为只有这样,才能使一个软件或者应用更加完美,更加容易受到人们的欢迎,从而获得更广阔的市场。 5.团队协作能力 软件开发并不是孤军奋战,很多时候一个软件需要几个人。
当今中国软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
(2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
(4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。
其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。[编辑本段]目标 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。
(1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。
它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。
软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。
很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。
有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。
能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。
因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。
因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
(5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。
由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。
可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。
(6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。
软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。
可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。
可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。
一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。
适应性强的软件较容易推广使用。 (8)可移植性(portability)。
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。
对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。
可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。
降低系统的复杂性会提。
01立项调查报告
02立项建议书
03立项评审报告
04项目设计开发任务书
05项目计划
06质量保证计划
07配置管理计划
08需求分析说明书
09概要设计说明书
10详细设计说明书
11数据库设计说明书
12数据库表详细设计
13单元测试计划
14测试脚本
15单元测试报告
16系统测试计划
17验收申请书
18验收评审报告
19客户验收报告
21审核反馈表
22软件评审报告
23变更需求报告
24设计变更报告
26项目管理报告
27项目总结报告
一共这么多,三大报告是
需求分析说明书
概要设计说明书
详细设计说明书
1、论文题目:要求准确、简练、醒目、新颖。
2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录) 3、提要:是文章主要内容的摘录,要求短、精、完整。
字数少可几十字,多不超过三百字为宜。 4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。
关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。
主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。 5、论文正文: (1)引言:引言又称前言、序言和导言,用在论文的开头。
引言一般要概括地写出作者意图,说明选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。
〈2)论文正文:正文是论文的主体,正文应包括论点、论据、论证过程和结论。主体部分包括以下内容: a.提出-论点; b.分析问题-论据和论证; c.解决问题-论证与步骤; d.结论。
6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。
中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是: (1)所列参考文献应是正式出版物,以便读者考证。 (2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。
需要掌握以下的知识 : (一).NET方面的开发⒈熟悉开发体系,熟悉C# ASP .NET;⒉熟悉SQLServer,Oracle数据库开发;⒊具有企业管理系统项目经验;4.了解企业ERP及财务管理软件(用友,金蝶)者优先;5.善于沟通,能独立撰写方案。
为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神。(二)JAVA应用程序开发1.熟练使用Struts2+Spring+Hibernate2.掌握Jquery3.掌握Java4.熟悉Oracle5.掌握xml/webservice6.掌握OOD、OOP7.基本文档写作能力(三)web、数据库方面的开发⒈练掌握ASP,NET;等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术;2.热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术;3.熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力;4.精通SQL server数据库技术,了解数据库性能调优者优先.(四)php项目开发⒈使用PHP语言开发互联网应用程序;⒉网站产品和网站功能模块的开发与维护;⒊与页面设计师协调沟通,编写部分Javascript和HTML;⒋参与底层MVC框架的编写与维护。
软件工程师一般指从事软件开发职业的人。软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。
软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息;一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。
可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。工作内容:1、指导程序员的工作;2、参与软件工程系统的设计、开发、测试等过程;3 、协助工程管理人保证项目的质量;4 、负责工程中主要功能的代码实现;5 、解决工程中的关键问题和技术难题;6 、协调各个程序员的工作,并能与其它软件工程师协作工作;7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等考试科目。
工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。
软件工程毕业设计论文
大学生涯就要结束,大家是不是都在忙着自己的毕业论文呢?软件工程专业的同学们,我为大家整理了该专业相关的论文,供大家参考!
一、软件工程专业毕业设计存在的主要问题
(一)毕业设计题目设置与选题方面
题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。
(二)毕业设计过程监控方面
毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。
(三)毕业设计论文答辩方面
答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。
二、软件工程专业毕业设计的教学改革
针对上述各项实际问题,主要进行的相关工作具体如下:
(一)合理设置毕业设计题目,动态选题
依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。
(二)毕业设计过程实行三级监控管理机制
学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的`毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。
(三)毕业设计过程量化考核
以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。
(四)在毕业设计过程中进一步提高学生工程能力与创新能力
辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。
三、结束语
软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。
软件工程学的主要内容是软件开发技术和软件工程管理。 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。 主修课程该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。 毕业去向除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。 就业方向本专业学生毕业后可以从事各级各类企事单位的业办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。 就业前景分析 目前我国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。所以软件工程的研究和应用,以及我国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。软件工程的前途是光明的。第一年一般都会学习数学、英语这些公共课。数学和英语对你今后来说是非常重要的!英语别指望课能学到东西,要看你专业的东西。 除了都要学的高数,今后还要学习其他数学,例如线代,离散,概率。如果你不学好数学,你当然也可以写软件,但是当你想更深入的时候就需要这些数学功底了。相对于数学来说,英语是必须的,因为今后基本上所有优秀的教材和技术文章都是英文的。翻译过来的东西,一是陈旧,而是往往翻译的质量差强人意。所以英语是基本功,一定要强,主要是阅读能力。
就读软件工程专业将来的职业发展定位基本上就是电脑软件工程师(其它还包括软件开发人员,软件系统分析人员,高级程序员,系统程序员,数据库管理者),根据美国劳工部预计,从2008年到2018年,美国软件工程师的就业市场将扩大百分之31,远远超过美国就业增长的平均预期。在这10年时间里,预计该行业将增加295,000就业机会。而就2011年而言,美国总共有大约130万个电脑软件工程师。其中大约有514,800名应用软件工程师,394,800名系统软件工程师。另外还有426,700名电脑编程师。软件工程是一个很好的方向,很适合将来在美国就业立足。比如说,如果你作一个关于测试理论或者开发方法的论文,接触一些软件开发和测试过程中的问题,找工作面试的时候,你可以拿你的论文项目当成经验来说,容易跟别人谈的来。而且,由于很多软件工程的研究项目适用于各个领域,找工作局限性小。所以不管是EMC这样的存储公司,还是CISCO这样的网络公司,或者是ORACLE这样的数据库软件开发商,你都可以兜售自己的项目,都可以说你自己似如何在开发的过程中用什么样的方法开发,问题何在,用什么样的方法测试,coverage如何。
掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。就业方向:企业、政府、社区、各类学校等可视化编程程序员。