软件开发平台在企业中的应用对于刚毕业的大学生来讲,从事软件开发行业等于是踏上了IT业的头等舱,很多计算机系相关专业的学生都在纷纷面试软件开发及维护的相关岗位。
IT企业在招聘的时候会给面试者设置沟通考核,上机测试等重重关卡,不但要求应聘者具有扎实的理论背景、优秀的动手能力,还要有恰当的表现力。
这些条件对于缺乏实践训练的大学生来说很难达到。
还有一年的时间我们07级的学生就要毕业走向社会了,面临日益激烈的竞争,我们如何在竞争中脱颖而出? 面对推陈出新的技术,我们如何跟上时代的步伐?为此,我们根据软件工程师的必备素质,给有志成为软件精英的学生们提出一些建议。
首先,要了解软件开发的具体流程。
实际的软件项目开发过程,它是遵循一定的软件开发流程的。
这个流程基本上应该是标准化的。
一个软件项目的形成,它分为前期的项目搜寻阶段,这个阶段的主要任务是收集一些市场信息,跟踪用户的需求等。
再就是项目立项,提出立项的建议,提供合适的资金和资源,使项目建议成为正式项目。
然后就是项目的售前工作,合同的生成以及合同的执行。
具体到工作岗位,比如说需求分析员,根据客户的说明,发现软件需求并最终写成《软件需求说明书》;软件设计员,根据《软件需求说明书》的要求,设计软件方案,写成《软件设计说明书》;程序员根据《软件设计说明书》的要求编写程序代码;测试员根据《软件需求说明书》的要求,检查软件产品是否符合设计的要求。
这只是大致的流程,实际情况要比这还复杂。
其次,要了解当今的主流开发平台都有哪些,主流开发技术都有哪些。
J2EE 和.net都是当前web应用系统开发的主流平台。
Web应用系统就是利用各种动态Web技术开发的基于B/S(浏览器/服务器)模式的事务处理系统。
用户直接面对的是客户端浏览器,使用系统时,请求之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。
运算后得到的结果再通过浏览器的方式返回给用户。
比如:ERP系统、CRM系统以及常见的网站系统(如电子政务网站、企业网站等)都是Web应用系统。
不同的软件开发平台,所应用的技术也不一样。
以J2EE为例,J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition)的缩写。
它是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全性与再利用价值。
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
当前使用J2EE框架开发Web应用的IT企业还是很多的,如果想做J2EE方向的开发,除了要掌握J2EE的相关技术外,公司还会要求你熟悉一些主流框架,比如:Hibernate、Spring、EJB、Struts、JSF、Seam、还有容器的熟悉:Weblogic、JBOSS、Tomcat等。
需要学习页面的技术,就是html、DHTML、JA VASCRIPT,JSP这些技术,现在较火的是AJAX,也就是异步刷新,同学们刚入门不需要了解这么多,只需要先把基础学好。
再来就是数据库的知识一定要掌握,SQL语言要熟练,学习安装和配置一个数据库连接池等等。
数据库推荐学习ORACLE 和MYSQL 。
再次,我想谈谈的是工作态度。
我认为软件工程师的工作态度胜于能力。
对于新毕业的大学生来说,社会经验比较缺乏,在知识结构上和其他的大学生差别不大,对于软件工作的热爱可以让自己在众多优秀学子中脱颖而出。
个人气质与岗位气质的相似程度,是一个人素质的一种表现。
现在同学们正在某个工作岗位上实习,也许这个工作和自己的专业不是很对口,但是大家一定要有一个好的工作态度,这种工作态度的培养对于你将来的就业是很有用的,是一笔宝贵的财富。
如果同学们有条件,我建议大家参加一些IT培训。
通过IT培训来衡量自己对于软件工作的兴趣、提高快速学习的能力并积累项目经验。
这种培训过程和企业实际操作项目的过程非常相似,能够模拟工作环境,既可以增加实践经验,也可以体验软件工程师的工作状态,为职业选择和应聘提供依据。
最后,我们以一个简单的小例子(在线投票系统)来体会一下软件开发的具体流程以及软件开发平台在企业中的应用。
现在很多网站上,我们都会遇到在线投票系统,例如许多新闻类型的门户网站、BBS站点等。
一般在线投票系统用于对一些问题进行调查,用户可以提交一项或者多项他们认同的选项,并可以查看在线投票的统计结果。
在线投票系统的管理员可以登录系统并且对投票进行增加、删除、修改的操作。
1、需求分析本系统我们定义两种用户,一种是普通用户,一种是管理员用户。
对于普通用户,在线投票系统在网页中显示需要调查的问题、接收用户的投票,并以统计图示的方式显示当前调查的结果。
对于管理员用户,在线投票系统提供管理接口,管理员可以任意的增减、修改、删除投票。
普通用户的业务逻辑如图1。
图1根据图1所示的业务逻辑可以清楚地得出在线投票系统提供给客户如下所示的两种功能。
(1)显示问题并接收用户的投票。
在线投票系统首先以网页的形式显示管理员设置的问题以及投票项,然后接收用户的一项或者多项的投票并存入数据库中。
(2)显示问题的调查结果。
用户可以查看某个问题的投票结果,在线投票系统会以统计条状图的形式显示。
管理员的业务逻辑如图2。
图2根据图2所示的业务逻辑可以清楚地得出在线投票系统提供给管理员管理投票的功能。
此功能包括增加新的投票、删除已经过期的投票、修改某问题的属性(问题是否可见,问题是否接收用户投票)。
2、系统设计在线投票系统大致可以分为客户投票模块、管理员模块以及数据处理模块三个部分。
这里我们使用UML 的建模图形来表述在线投票系统。
用例图:提供一个系统环境的建模方式,它能够帮助系统分析师确定系统内部和外部元素以及系统范围。
简单说,用例图由用例和参与者构成,其中用例是外部可见的一个系统功能单元;参与者是与系统发生交互作用的外部用户、进程密码错或其他系统的理想化概念。
在线投票系统的用例图如图3。
查看投票结果图3根据图3所示,系统有两个参与者,即系统管理员(admin)和系统使用者(user)。
系统管理员除了可以参加投票外还能对整个系统实施完全的管理。
系统使用者只能参与投票并查看投票结果。
顺序图:描述对象之间动态交互关系,着重体现对象间消息传递的时间顺序。
顺序图是一个二维图,纵向是时间轴,时间沿竖线向下延伸;横向表示对象间的消息传递。
对象间的消息从一个对象的生命线(时间轴上的双道线)用箭头指向另一个对象的生命线。
用户参与在线投票系统从进入投票模块开始,投票模块以网页的形式显示所有开放的问题,用户在选取符合他要求的投票项后单击“提交”按钮,他的投票数据将提交给数据模块,由数据模块保存到数据库中,从而完成投票提交的过程。
用户还可以查看某问题的投票统计结果,用户进入显示模块,显示模块从数据模块读取开放问题的投票数据,并以柱状统计图的形式显示。
用户参与投票的流程可以用顺序图图4来描述。
图4管理员增加新投票的过程从登录管理模块开始,管理员先把用户名和密码提交给登录模块,登录模块根据用户名到数据库中搜索其对应的密码,然后对比用户名是否存在以及管理员输入的密码是否正确。
如果用户名和密码正确,登录模块把用户信息提交到管理模块并提示用户登录成功,管理员在管理模块提交新投票数据,管理模块把新投票数据提交到数据模块并保存到数据库中,管理模块提示管理员操作成功,从而完成新投票的整个过程。
管理员添加新投票的流程可以用顺序图图5来描述。
图53、详细设计针对在线投票系统3个模块:客户投票模块、管理员模块以及数据处理模块进行详细设计。
用户投票模块包括showquestion.jsp、showresult.jsp、thanks.jsp、convert.jsp4个程序页面,具体的系统结构如图6所示。
图6其中,showquestion.jsp是用户投票的首页,用户登录在线投票系统后就自动跳转到该页面,该页面通过数据处理模块读取数据库中所有开放的问题并显示,用户可以选取一项或多项回答项并提交。
thanks.jsp是数据接收页。
用户在showquestion.jsp中选择投票的回答项并提交,用户所选择的数据项被提交到thanks.jsp,该页把这些数据项储存到数据库中,并提示用户投票数据提交成功。
showresult.jsp是数据的显示页。
当用户在参加投票后可以查看该项投票的统计结果,该页就是用柱状图的显示给出统计图和所有选择的百分比。
convert.jsp是字符转换页,主要用于解决中文字符无法显示的问题。
客户投票模块各页面间的互相协作以及消息交互的顺序图,如图7所示。
图7管理员模块由用户登录页面、新增投票页面、编辑投票页面组成,具体的系统结构图如图8所示。
图8其中login.jsp是管理员的登录页,管理员要对在线投票系统进行管理必须先进行登录,通过用户名和密码的验证。
checkadmin.jsp是管理员登录的验证页。
管理员在login.jsp填入用户名和密码后,这些数据将被提交到该页,然后与数据库中的数据进行对比。
如果验证通过将跳转到管理主页面。
mainform.jsp是在线投票系统的管理主页面,在管理员通过用户名和密码的验证后,login.jsp将跳转到该页面。
mainform.jsp包含所有投票的链接,管理员单击问题就能查看投票的结果,管理员还可以选择编辑该投票或者删除该投票。
result.jsp是查看投票结果的页面。
管理员在登录到管理主页面mainform.jsp后,单击某投票的问题,系统会跳转到该页面。