时间:2023-05-30 10:43:13
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件开发工程师,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
中图分类号:G642
1 选岗对接课程是前提
选对就业岗位对接实训课程非常重要,就业岗位是行业或产业急需的岗位,能够引领产业发展。计算机专业从学生专业基础、产业发展潜力、岗位人才需求等方面进行调研,最终选择iOS软件工程师岗位, 通过4个月的实训,快速培养专业技能过硬、有一定项目开发经验、综合素质高的iOS开发工程师,引领与支撑移动互联网产业的发展。
1.1 产业发展潜力大
随着4G智能手机的普及和5G技术的研发进入测试阶段,移动互联网的应用将进入“无所不能”的时代。移动互联网继承了互联网所有的应用,还有自己独特的优势,互联网的应用系统全都要延伸到智能终端应用,如手机银行、移动商务等。工信部最新数据显示,截至2015年12月底,我国手机用户达13.06亿人,其中4G手机用户总数达3.86亿人[1],远高于宽带用户数,移动应用系统发展潜力更大,将成为全球信息通信行业的万亿元级新兴产业。
目前,主流的智能手机操作系统有谷歌公司的Android、苹果公司的iOS、微软公司的Windows Phone。企业在开发移动应用时,Android和iOS两种操作系统的App必不可少。2016年6月14日,苹果CEO库克在2016年开发者大会(WWDC)上介绍苹果App Store已经诞生8年,已经有超过200万款应用,98%的财富500强企业拥有iOS??用;App Store下载量已经突破1300亿次,同比上年增加300亿次[2];已经为开发者创造了500亿美元的收入,同比上年增加200亿美元[2]。从以上数据可以预计,随着4G智能手机的普及和2020年左右5G技术的商用,iOS App的用户数量会出现爆炸式的增长。
1.2 岗位人才需求多
移动互联网产业发展潜力巨大,与之对应的软件开发工程师紧缺,而目前只有少数高校开设移动应用开发专业或方向,培养周期长且人数少,远不能满足移动互联网行业发展对人才的需求。《2015年领英中国互联网行业人才库报告》显示,2015年我国移动互联网行业应用开发人员需求量200多万,可实际从业者不到70万人,预计2016年整个互联网人才缺口在400万人左右,未来5年中国互联网人才缺口将达1000万人[3]。
1.3 学生有一定专业基础
计算机专业的学生通过前两年的学习,对于计算机编程和数据库技术等有一定的基础,通过实训强化了专业技能,积累了项目开发经验,提升了综合素质。
2 实训教学内容是核心
教学内容与岗位对接,基于岗位工作过程开发教学资源,实现“教、学、做、创”一体化教学,以能否完成工作任务为考核依据,有利于提高学生的专业技能和就业率。
2.1 实训教学内容建设思路
iOS软件开发工程师实训课程体系是在原来的计算机专业基础之上构建的,结合iOS App开发岗位及流程进行设计,采用基于模块化、导师制、项目化的iOS 开发工程师人才培养模式[4],共分成4个递进的模块,每一个模块又细化为几个教学单元,如图1所示。
每一个模块都有基础知识学习和项目实战,前导模块过关之后再进行下一个模块的学习,重点加强对学生的专业技能训练,积累项目开发经验,注重对学生综合素质的培养。本文所涉及的“好售掌上批发平台”(简称“好售平台”)和“找车位”软件都是商业项目,具体功能可从iOS App Store下载查看。
2.2 实训教学内容模块体系
1)模块一:编程语言与算法技能强化。
本模块重点加强专业基础技能训练,巩固程序设计基本概念与语法、数据结构与算法。训练目标达到国家计算机二级考试优秀水平,采用团队协作方式学习,进行模拟考试训练,只要有一个成员没有达到要求则整个团队不进入下一个模块的学习,这迫使团队成员相互促进、共同学习,同时树立他们的团队意识,具体教学内容见表1。
2)模块二:Web端及服务平台开发。
本模块着重积累项目开发经验,利用前一模块的知识解决实际问题,根据教师提出的需求完成“好售平台”服务器端业务逻辑和数据库开发,具体完成Web端和服务平台对移动端访问的接口,接口的开发决定终端App开发和运行的效益,具体教学内容见表2。
3)模块三:移动端App开发。
本模块重点引导学生学习、掌握和运用新知识的方法,即学以致用:一边学习iOS基础控件使用、UI设计、视图控制器、数据持久化、数据解析、网络编程、多线程等知识,一边根据“好售平台”需求和服务平台接口实现用户注册、店铺管理、在线沟通、在线下单、订单管理、商品管理、寻找产品、一键分享等功能,具体教学内容见表3。
4)模块四:项目实战与作品汇报。
通过对前3个模块的学习和“好售平台”开发的实战已积累一定的项目开发经验,本模块重点模拟在 企业真实环境下训练学员,在规定的时间内完成“找车位”平台的需求分析、总体设计、详细设计、编码、测试、验收等项目开发全过程,进一步积累项目开发经验,提升抗压能力。最后,通过就业辅导和作品汇报会暨学员就业推荐会提高学生的综合素质和就业能力,具体教学内容见表4。
3 教学方法创新是关键
为了达到“强化学生专业技能、积累项目开发经验、提升综合素质、提高就业质量”的实训目标,我们在实训教学过程中融合多种教学方法,实施创新教学。
3.1 模拟企业真实环境开发项目
以模拟企业真实环境为平台,以仿真的“好售平台”和“找车位”案例项目为载体[6],将企业文化及职业素养训练、IT 技能培训、行业知识及业务流程实践等实训内容完全贯穿在模拟公司的运营过程中,使学生在实践中体验企业工作环境,从而获得一定的实际经验和职业磨炼。
3.2 团队集体学习与项目分工合作
前3个教学模块采用5人小组为团队进行集体学习,只要有一个成员没有通过过关测试则整个小组无法进入下一模块的学习,这迫使成员之间相互帮助、相互促进;第4个模块“找车位”项目也采用以5人小组为团队进行项目分工合作开发,在规定的时间内,成员之间相互沟通与配来合完成项目,使其达到验收的标准。在实施中,选一位学生为组长,担任项目经理的角色,对项目负责,各小组之间形成竞争,最终根据完成标准与时间对小组进行排名和评奖。
3.3 实训内容循序渐进与过关测试
在实训内容上充分考虑学生的基础,重基础,强实战。我们设计了4个循序渐进的教学模块,同时在每一个模块中须通过高标准的测试才进入下一模块的学习,这保障了学生的学习进度和学习效果。
3.4 开发过程规范化与质量市场化
项目实?鹧细癜凑杖砑?开发过程的要求,对需求开发、总体设计、详细设计、编码与测试、项目管理、项目验收及技术文档整理等每一个环节进行规范化。各小组完成的项目要经过标准化的测试,达到商业项目的要求,验收后才可以投入市场运营[7]。
3.5 举办产品汇报会暨企业招聘会
在完成模块四“找车位”项目之后,可以举办产品汇报会暨企业招聘会。一方面,各团队把认真完成的产品向学生和企业面试官展示汇报,介绍产品的功能、项目进度、成员分工、技术难点等信息;另一方面,企业面试官通过对学生展示的产品和提问进一步了解学生的真实水平,以作为企业录用的重要依据。
4 结 语
本次大会以“提振经济效能,创新智引转型” 为主题,通过权威的政策解读,案例分析、圆桌对话等环节深入探讨了中小企业转型升级、中小企业竞争力塑造,以及中小企业接轨国际等话题。大会指出,中小企业是国家推进“互联网+”行动的主战场,要加速中小企业与“互联网+”的融合,助力行业中小企业打造竞争力,推动中小企业转型升级。
北京软达启航科技发展有限公司(以下简称软达启航),也是一家专业软件开发与测试解决方案提供商,从事软件产品开发、软件产品测试、软件开发测试咨询、软件开发测试项目外包、软件开发测试人才外包、软件开发测试人才猎头服务。软件测试工具销售和软件测试中高级人才培训等业务。在功能测试、性能测试、商业自动化测试、开源自动化测试、白盒测试和网络信息安全测试等领域居于国内领先地位。
微软公司开发Visual Studio 2005的过程历时3年,投入100亿美元,使用了400名项目经理、7000余名软件开发工程师、7500余名软件测试工程师。开发工程师与测试工程师的比例达到了1:1。软件测试的重要性由此可见一斑。
软件上市必先测试
随着国内软件产业和全球软件外包的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存的核心。为了保证软件在出厂时的“健康状态”,几乎所有的 IT 企业在软件产品前都需要大量的质量控制工作。美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件后的维护费用越低。
作为软件质量控制中的重要一环,软件测试工程师应运而生。软件测试工程师的工作就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品满足需求。
人才拥有“双高”地位
软件测试工程师本身是一个在软件产业化过程中突显出的一个新型软件技术职业,对刚刚开始进入产业化的我国软件企业而言,更是一种必需的技术岗位。
然而,目前国内软件测试市场中的人才情况却令人尴尬,据信息产业部门调查数据表明,国内软件测试工程师的行业需求超过 30 万人,而实际从业人数不超过 5 万人,其中具备 5 年以上从业经验的软件测试工程师不超过 1 万人,可以说在软件行业,内部的人才积累很少,而国内的大学教育在这方面基本上还处于空白状态,即使目前在软件测试工程师岗位上从业的技术人员,多数也是处于边工作边学习的摸索状态,其专业能力的提升非常缓慢,亟需进行系统的培训和学习。
软件测试工程师的巨大缺口造就从业人员的可观薪水。中国软件行业协会游戏软件分会副会长刘金华表示,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,目前有一年工作经验的软件测试人员的月薪一般都能够达到 6000-8000 元,有的人月薪可高达 10000-15000 元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显趋势。
1.1盲目性应用
盲目性应用,即无论是产品型软件企业还是项目型软件产业,都没有一个适合自身企业特点的软件开发管理模式。随着信息化时代的来临,第三次革命的广大蔓延,使IT产业在我国得到了迅速的发展,相对应的各个软件的应用也逐渐增加。由于,我国的软件企业建设起步较晚,相关技术性软件缺乏有效的创新性。因此,在不合理的管理下,往往会造成为了追赶进度,而在短时间内生产一批软件,大大降低了软件开发的应用价值,造成程序在进入实际应用时,一改再改,上机漏洞百出,运行时间过长,甚至完全的开发使用受挫等问题。
1.2无规范性操作
无规范性操作,即相关企业缺少对软件开发的相关规定,检查督导力度不够,企业管理人员、企业技术人员的应用力度不到位等。我国大多数软件开发企业都属于中小型企业,所开发利用的产品大多效法与国外的软件产品,缺乏有效地创新能力,评估工作量能力欠缺。虽然,某些公司意识到了这一点,但在自己企业的软件开发与管理中,虽然建立了一些软件开发管理的规范,由于过于硬式化,可执行力不强,造成软件开发的操作上出现问题。操作中的无纪律、无规范性,使得很多软件的基本构架被砍掉,导致了所开发产品的质量不稳定,对以后的升级与维护造成负担,使用户对公司不满,最终损害了企业的利益。
2项目管理在软件开发中的应用措施
项目管理应用于软件的开发与利用中,即相关的软件开发项目人员,在有限的资源的前提下,运用所要规定的软件内涵、理念、方法及观点,进行有效的开发与管理。宣传并树立企业范围内的项目管理文化十分重要。实现项目全过程,包括软件开发项目的计划、软件开发项目的组织、软件开发项目的指导、软件开发项目的调控及软件开发项目的评价,得到全面的项目实现,创造企业利益最大化。将项目管理融入到软件的开发应用中应做到:
(1)对软件开发项目的成功标准做准确的设定。
(2)对项目之间的各种要求把握要合理。
(3)对软件的标准进行新的定义。
(4)建立适合的沟通渠道。
(5)制作个人计划。
(6)具备完备的需求说明。
(7)对任务进行有规律的分配。
(8)选择正确的技术并进行相应的估算。
项目管理在软件开发中的具体作用为:
(1)可实现人力、物力、财力的合理分配。
(2)对企业软件的启动、研发进行高标准的组织。
(3)合理的对各个项目进行合理的划分,实现层次管理、合理分配。
(4)调动员工的积极性,实现企业利益的最大化。因此,可以看出项目管理可有效地促进软件开发的进程与管理,是实现软件开发任务、资源管理、成本预算、项目跟踪及企业利益的良好标尺。实现项目管理与软件开发结合是企业形成良好的业务循环的重要手段。项目管理在软件开发中具体的应用措施有:
2.1完善制度
完善制度,即相关的管理人员应按照企业的任务需求合理的制定出一套相对应的管理流程。例如:企业的相关负责人可以根据企业的业务需求来制定《产品立项报告》,并根据各个部门的负责人的审批建议,做出《产品可行性调研》。后对风险进行有效的评估,然后做出产品的《初步设计报告》,并落实于人。(注:一般情况下为保障软件的质量与开发进度,新技术在软件中的使用比例应小于35%)
2.2初步设计
初步设计,即相关的管理人员根据所要开发软件的成本、进度、风险等进行准确的评估,并制定评估范围数值,并根据评估的范围,制定出项目总成本的耗资范围。例如:企业的相关责任人应集中硬件工程师、软件工程师与架构工程师三者进行商榷,并根据业务需求,企业软件系统开发规范,编码规范等,来制定出《项目建议书》、《软件总体设计》等方案,提交决策层评审,评审立项通过后方可进行下一步工作
2.3硬件选型
硬件选型的过程就是根据软件的运行状况选择其运行于哪种硬件上的过程。硬件设备的选择需要根据所开发软件的类别进行选择,例如:开发小型单机软件,需要一台电脑就够了,但是开发大型单机软件则不一样了,需要多台电脑、外网网线、路由器、局域网。项目管理的软件开发首先要构建软件系统,做好预算,不断改进设计模型,做好项目资源管理的控制和软件的优化方案。其次,需要对软件系统进行测试,根据项目管理对软件的需求设计科学合理的测试方案,不断完善硬件选型上的不足,做到硬件与软件的科学有效运行。
2.4软件设计
软件的设计是IT行业中的重中之重,是至关企业形象的良好标志。软件设计,即相关的管理人员对所要开发软件的成本、进度、风险进行精确的细化分析,制定出确实可行的软件开发项目。例如:项目经理需要根据企业的软件复用价值来确定,待开发与难开发两者,并根据《初步设计》的要求,写出《软件的详细设计》方案并编织代码,测试代码,软件设计的最终环节要在总工程师的辅助下完成,总工程师要做出详细的批示和完善措施,由此进行改进之后再进行大规模的生产与制作。不断提高软件设计产品的质量。
2.5软件的测试
软件的测试是检测所开发软件好坏的良好标尺。软件的测试,即由软件工程师编制代码后,按照《测试大纲》进行自测,并将自测后的数据进行可靠性的综合分析测试。其主要包括:
(1)功能性测试,即对产品的每一项功能进行逐一测试。
(2)应用性测试,即将所开发产品运行与实际操作中,进行现场模拟的EMC、EMI测试。并根据测试的结果,做好详细真实的记录,列出不合格项目,有待加强项目、研发人员定位等确立故障的具体原因,为故障的分析与改正打下基础。
2.6文件归档
文件的归档,即对所开发的软件项目做出完整的整合记录,实现软件的可升级性、可维护性、可继承性及可完善性的良好数据说明系统,是加强积极管理的有效手段之一。对于软件来说,确保一次性研发成功最好,若中途发生了变差,则需要进行修改,在对软件系统进行修改的时候,就需要对文件再次进行归档。所要归档的文件一般有:
(1)软件的研发报告。
(2)软件的可行性分析报告。
(3)软件的初步设计方案。
(4)硬件的详细设计方案。
(5)软件的详细设计方案。
(6)系统的结构详细设计。
(7)软件的测试结果。
(8)审批明确的生产文件。
(9)详细的使用说明书等。
3结束语
单一的软件测试课程只能简单罗列软件测试不同阶段的技术和方法,缺乏对知识的针对性和连贯性,学生很难理解不同的测试技术和方法在软件开发的各个阶段应该如何应用,导致学生只会死记硬背软件测试的条条框框而不懂如何活学活用。软件测试是一门实践性非常强的课程,然而测试工具和测试对象都是看不见、摸不着的软件产品,实践课程的组织和实施有较大的难度[2]。虽然大多数教师充分认识到了实践教学的重要性,在教学过程中也加强了实践的力度,但是由于没有考虑到大多学生没有参与过实际的软件开发的项目,没有接触过软件开发的流程,实践中选择的实验案例十分单一,缺乏领域结合,与真实工程相差较大。学生在学习过程中很难理解测试在软件开发中需要使用方法及其作用,很多学生因不能感性认识测试的重要性因此对课程缺乏兴趣。
案例教学是软件测试教学中的常用手段,对学生理解测试方法有着很重要的作用,但是目前高校教学普遍存在着教学案例陈旧过时,大部分教学都沿用了传统的教学案例。这些案例大都没有介绍软件测试的工程方法和实现过程,并且没有进行难度的区分,很难达到好的教学效果。
本专业的教师经过多年的实践,总结了大量的教学经验,按照实际工作中典型的工程师团队所需的各种技能知识为导向,按照复杂度渐增、螺旋递进的原则设置卓越软件工程师课程体系与内容,把传统的以学科知识的系统性为导向的横向课程体系改造为以个人职业角色发现和能力提升为导向的、适应团队教育培养的新型纵向课程体系。软件测试课程是软件工程卓越工程师培养课程体系的重要组成部分,课程总体跟随整体培养课程体系的大方向,并结合自身的特点进行建设。
1复杂度渐增式开设课程
在传统的以面向开发为主的培养模式下,测试课程设置单一,知识针对性连贯性不强。为了解决这些问题,在专业课程开设过程中将软件测试课程课程拆分,穿插到整个培养过程中,紧密联系软件工程其他阶段的课程,并且使用案例贯穿所有阶段,复杂度逐渐递增,让学生在学习过程中循序渐进,逐步建立学习的兴趣和信心。在第5学期分成两个阶段分别开设《单元测试与软件质量》和《软件验证与确认》。在第一阶段旨在培养学生小规模程序测试的能力不涉及复杂系统,以提高个人开发测试的基本能力为目标,学生可以运用测试课程中学习的方法在开发过程中使用,针对性强。第二阶段旨在培养学生对系统整体测试的能力,此时学生以完成基本开发能力的训练,其他相关课程的培养中也进入了系统级别。在该阶段以上一阶段培养的能力为基础,提高复杂度,跟软件开发其他阶段紧密结合。完成第5学期的测试基础课程开设之后,在第6学期还开设了《web软件测试》、《测试案例分析》、《数据库测试》等专业选修课,给有兴趣的学生提供更多的学习选择。
2基础与实践并重,充分利用虚拟实践平台课程
的开设充分考虑到测试重实践,并且与软件开发其他阶段联系紧密等特点;同时也考虑到了此时学生正处于学习阶段,直接参与实际项目对学生的学习并不能起到很好的作用,因此在课程学习阶段充分利用了校内软件实训基地,创建网上“虚拟企业”,引入企业管理模式,在这种虚拟平台下,针对基础的知识点开设虚拟项目[3],模拟软件测试的真实工程环境。学生在自己组合团队中有各自的工程任务,针对性实用性很强,学生能够在完成自己任务的同时感性的认识测试岗位工作,体会到软件测试在整个软件开发过程中的作用,将单项知识技能之间关联在一起,系统的运用专业知识和技能。
3采用螺旋式的案例教学,案例与其他软件开发阶段贯穿
课程采用螺旋式案例教学方法,教学案例与其他软件开发阶段贯穿,即针对同一个项目分解为基础与高阶的两个不同难度程度的案例,课程讲解的案例从需求分析,设计,实现,一直贯穿到软件测试,体现了软件开发连续的工程过程。同时贯穿的教学案例都是从高年级学生参与的实际开发的项目中提取,教师总结了在开发的过程中学生出现的各种问题,在案例讲解过程中更容易被学生所接受。教学案例一个阶段一个阶段的被不断完善,相比较传统的教学案例更加贴近学生学习实际,有一定的真实性又同时具备知识点针对性。
本教学团队在“卓越工程师教育培养计划”背景下,结合专业现状与社会需求,总结以往开设软件工程试验班的经验和教训,一直以来不断研究探索,逐渐形成一套适合的本校卓越软件工程师培养的课程体系。其中软件测试课程的建设既遵循了软件工程师培养课程体系的大方向,又结合了课程自身的特点,而本教学团队在今后的教学过程中还将不断的改进,遵循行业发展的需要。(本文作者:楚燕婷、阳小华、刘立、刘志明 单位:南华大学计算机科学与技术学院)
1、仪器仪表工程师
仪器仪表工程师是指在工业自动化仪表与控制系统、科学仪器、电子测量与电工测量仪器、医疗仪器、各类专业仪器、传感器与仪器仪表元器件及功能材料等行业从事仪器仪表的设计、安装、保养等工作的专业技术人员。
2、硬件工程师
硬件工程师Hardware Engineer职位 要求熟悉计算机市场行情;制定计算机组装计划;能够选购组装需要的硬件设备,并能合理配置、安装计算机和外围设备;安装和配置计算机软件系统;保养硬件和外围设备;清晰描述出现的计算机软硬件故障。
3、销售工程师
销售工程师,是指能够独立管理和策划商品的区域销售,营销业务的高级销售人才。其应具有极高的市场经验和敏感的市场观察力,分析力,要求能够独立管理商品的销售业务。
4、电气工程师
从事勘测、规划、设计、电力工程建筑、安装、调试、技术开发、实验研究、发供电运行、检修、修造、电网调度、用电管理、电力环保、电力自动化、技术管理等工作的电力专业工程技术人员
5、嵌入式软件工程师
现代化社会的发展,软件工程广泛应用到嵌入式系统、人机界面、翻译器、电子邮件及数据库和各项操作系统中。在此基础上,还受到了航空、工业、政府部门及银行等各个行业的大力追捧,大大减少了各行业工作人员的工作总量,有效提高了他们的工作效率,并促使人民群众的生活质量得到提高,带动了社会经济的发展。软件工程的开发离不开软件工程师,根据领域的不同又分成系统测试员、分析员、工程师及程序员等,统称为软件工程师。他们肩负着对费用合理、质量良好的软件产品的开发,通常情况下,其主要以产品的可靠性、安全性、可维护性、实用性、功能性等指标来衡量软件产品的整体质量。
2软件工程开发技术
2.1软件标准化应用技术
软件标准化应用技术又分成软件标准和软件过程标准,其是软件构件和软件重用技术开发与发展的先决条件,可有效保障软件工程产业的健康发展。软件标准化应用技术直接关系到软件工程各项指标能否达到相关标准,其也是衡量软件工程成熟度的重要条件。国际标准化工程和系统工程委员会详细指出了软件工程的标准结构,加之美国国防部关于软件标准相关内容的提出,并列成为当代软件工程的两大重要标准。
2.2软件构件和软件重用技术
软件构件和软件重用技术一直是软件工程开发中的重要环节。软件重用是开发和研究软件的必要手段,构件作为一项基础条件有着不可小觑的重要作用。其中,软件重用技术可让软件工程师从大量写代码的工作中解脱出来,促使其更好的投入到更具适用性软件系统的开发中,从而确保空间和相关问题的一致性。软件构件技术是实现重用技术的前提,两者相辅相成,互相促进。这一过程中,各类开发工具是软件开发和应用的依托,如集成开发环境、构件库管理及运行环境等。
2.3中间件技术的采用
中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。
3软件工程开发过程
3.1用户需求分析
用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。
3.2软件系统分析
软件系统分析主要是指归纳和整合需求调查中的各项数据和相关资料,并针对软件内部实际管理和信息处理情况进行分析。软件系统分析的主要目的是为了落实用户的相关需求,并寻求出最具适用性的解决方法,其是软件设计过程中不可或缺的组成部分。
3.3软件测试
在整个软件系统进入使用之前,软件测试是最为重要的环节之一,在进行软件测试时,不仅能对软件的需求进行分析,还能对软件的功能及性能进行验证。软件测试是指,根据运用软件的测试方法和测试工具,按照测试流程及测试方案,对被测试软件的功能与性能进行检测。在对软件进行测试的过程中,编程人员可以按照不同的软件和不同的架构编写出各种测试系统以及测试方案和工具,以控制将有可能出现的问题。在软件开发的整个过程中,都要紧抓各个开发环节及时进行同步的测试内容,并且针对测试中发现的问题加以解决,同时完善相关的开发程序。在此之后进行重复测试,在反复测试中不断完善各种问题,直到软件最终成为完整产品。
4软件工程开发的基本特征与应用情况
4.1明确性
软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。
4.2完整性
在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。
4.3规范性
应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。
4.4易维护性
由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。
4.5创新性
科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。
5结束语
作为本地开设的专题讨论,面向构件的专题讨论吸引了500多国内软件工程师前来参加。普元公司作为主导面向构件开发的本地厂商之一,主持了这两场专题研讨会,加深了软件工程师对构件技术的理解。
敢吃“构件的螃蟹”
在5月24日,面向构件的电信、金融和电子政务的专场,更是让来自这三个行业的软件工程师们获得了一个极好的交流机会。中国银行江苏省分行风险管理部主管琚江、湖北联通CRM支撑中心陈伟玲、常州公积金中心信息处处长钱林成,分别就各自的业务,讲述了采用面向构件的技术进行构造的案例,让与会的工程师们获得了第一手有关构件的经验和资料。
“很多企业还不敢相信或者说不敢采用面向构件的方法。” 琚江表示,“不过我们在看到交通银行总行已经在使用面向构件的方法,并且取得了不错的成果,我们也就放心采用了。”
交通银行总行可以说是第一个吃“构件螃蟹”的大企业。早在2004~2005年,交通银行总行就使用普元的EOS开发了总行的CIIS(新一代综合信息客户信息系统)的1、2、3期,目前已经在开发第四期:管理会计系统。
“对于金融行业的软件开发来说,非常容易遭遇‘IT黑洞’,越是大型的软件项目,其风险越大。”交通银行总行的CIO侯维栋认为,“采用面向构件的技术,适合大规模定制软件开发,而且能够控制成本,还能够提高软件开发的速度以及业务知识的积累和复用。”
解放思想是关键
“因此,从某种意义上说,与其说面向构件是一种技术,不如说面向构件是一种思想。”普元软件公司CTO黄柳青表示,“企业应用要学会解放思想,要将关注的重点放在企业的业务流程之上,而不是代码上面。”
陈伟玲是偶然接触到的普元的面向构件的开发平台。在此之前,她正忍受着湖北联通VIP维系挽留系统中不断的需求变化和流程变化的折磨。
“接触到普元EOS之后,觉得这就是我们所需要的。”谈起当时的选择,陈伟玲依然有些兴奋。在VIP维系挽留系统中部分地采用了面向构件技术之后,在最新的湖北联通CRM项目中全部采用了面向构件的技术。
“未来软件开发不是编码,而是由过程化、参数化、可视化的构件配置和构件组装完成软件解决方案。”黄柳青认为。
ILOG公司何仁杰认为,要使得构件可以被面向业务进行管理,就需要使得被剥离的业务规则可以被管理、复用,业务规则的开发应该从程序开发员转移到业务策略分析者身上,并且,业务规则的变更要脱离构件本身。
【关键词】软件工程;开发;应用;特点
软件是通过程序设计与计算机程序的发展演变出来的,是由程序与程序设计发展到相当规模时产生的,也逐步的商品化。软件工程的正式提出是由北大西洋公约组织于1968年在一场学术会议上提出的,从软件工程概念的提出到现在,它的发展已经成为了在计算机科学领域中的一门独立学科,具有较强的工程型和综合性。目前到未来的时间里,软件重用与软件构成技术、中间件技术以及软件标准化技术都是软件工程的重点研究对象,通过有效分析软件工程的开发和应用可以准确预测软件工程未来的发展趋势。
一、软件工程的开发技术
软件工程是一门研究学科,使用工程化方式研究、维护构建实用有效、高质量的软件。软件工程有设计软件开发、程序设计、设计模式、系统平台和数据库等几个方面的内容,现在的政府、工业、航空、银行都行业都在使用软件程序,人机界面、电子邮件、编译器、嵌入式系统和操作系统与数据库等都应用了软件工程。软件工程的应用能够有效的提高工作效率,提高人们的生活水平,促进经济发展和社会进步。软件工程师就是创建和应用工程软件的人,根据行业的不同,软件工程师可以划分为系统架构师、程序员、系统分析师、测试员和软件工程师。软件工程是一门交叉学科,是解决软件方面出现的各种问题的一个系统工程,是一种软件维护、开发使用的系统化、规律化、可定量研究的方法。软件工程的目标就是生产开发高质量、价格合理的产品,对工程软件的评定可以根据高效率性、可靠性、易移植性、可维护性、多功能性和易使用性等六项指标来评定品质。
(一)软件构件与软件重用技术
软件长期发展的重点就是软件构建与软件重用技术,软件重用是软件工程的一种方法与手段,它的核心和基础就是构件,它的设计就是为了要让软件开发者减少或重复写代码的工作,有利于技术开发人员有更多的时间和精力投身于更高层次的系统构建中,把求解空间与促使空间保持在统一发展水平。软件业需要用构件技术来完成软件重用技术,需要用搭积木的方式完成软件生产,还要用应用管理、构件库管理、运行环境和集成开发环境等开发工具。
(二)使用中间件发展技术
中间件平台是软件构建和重用系统的开发与运行的应用的有效支撑,是实现构件技术的前提条件,为构件作用的发挥提供了平台。只有当中间件被放在适当的位置上,软件才能够成为构件,因此中间件技术成为了软件工程发展的重点。按照功能可以将中间件分为远程过程调用、事物处理、访问中间件、分布对象和通信等五大类,中间件构件对软件构件和软件重用技术的发展有重要意义。
(三)软件标准化应用技术
软件工程可以分为软件标准和软件过程标准,软件标准化是重用技术和构件发展的必要条件,同时也是推动软件产业发展的重要前提,软件标准化的建立是软件工程成熟的标志。
二、软件工程开发的特点
(一)目标明确
软件工程的开发与应用有着明确的目标,就是为了要满足人们的多种需求。在工程实施之前或者产品投产前提供有关这项工程或者产品的各种需求的标准是软件工程设计的主要任务,体现出了软件工程“需求分析”的特点,并且需求分析的质量决定了软件开发的成败。在这个阶段,技术开发的工作人员和用户之间要不断地交流与澄清概念,形成一个清晰、一致、完整的需求说明。
(二)完整性的特征
在客户或者服务器系统的应用中,确保信息准确的重要环节就是数据和数据处理的完整性,所以严密的逻辑在软件开发中极其重要。例如在某个事务处理中需要修改多个表,如果在其中一个环节出现错误,那么就必须要放弃整个处理操作,而不是其中一个过程,需要返回到工作开始的状态,保证工作操作的完整性,保证数据和数据处理的完整性。
(三)规范性的特点
应用软件的开发要求是很规范的,这样会使应用软件的开发工作很容易的能够被其他人接手或者修改,因为开发出的软件要按照有规则的对象组合,通常都比较符合标准,而且在群体开发软件中,标准更加重要,起到了开发应用软件的程序员之间进行沟通的作用。
(四)容易维护的特点
应用软件具有对象的继承性,对最初对象的修改能够直接作用于继承的对象,这样有利于提高应用软件的维护性,因为软件的维护费用在整个软件的开发预算费用中占的比重比较大,它的易维护性可以降低成本。同时由于相同语法与逻辑规定使多人合作开发的应用软件的维护性得到了很好的保障,不会因个人特有的作风和思想而造成限制,而且也提高了相互弥补的发生性。
(五)创新性的特点
技术进步的灵魂就是创新,随着工程技术与科学技术的创新,开发的产品也在不断地创新。目前开发出的产品也在最大程度的满足人们日益增长的需求。为了满足客户的需求和得到客户的支持与信赖,相关工作人员还对用户的各方面需求做了一个全面的、详细的了解,根据不同的用户需求提出合理、适用的设计方案,并不断地与客户交流,在交流过程中根据不同的需求将设计方案进行合理的改进,增加用户的满意度。
三、结语
随着社会的进步,计算机已经普及,软件工程的开发与应用在社会发展中有着重要的意义。在传统的软件开发中所遇到的问题也逐渐被解决,这使得软件开发的空间有了更大的发展空间。在软件开发与应用中,对工作人员有非常高的要求,对技术开发人员的个人技能有很大的依赖性,这就要求技术研究人员要不断地提高自己的技术,开发出更多满足人们需求的产品,提高社会的经济效益和人们的生活质量。
参考文献:
指导思想
针对国家战略性新兴产业新一代信息技术快速发展的状况以及对网络工程专业人才的需求情况,在教育部“卓越计划”通用标准指导下,结合广东石油化工学院以工为主、石化特色鲜明的“应用型”的人才培养定位,以人力资源和社会保障部《全国计算机技术与软件专业技术资格(水平)考试—网络工程师规范》为指导,引进华三通信技术有限公司H3C网络学院先进的教育理念和优质课程资源,与企业深度合作,探索“1+X”和“3+1”的“实践—理论—再实践”的应用型人才培养新模式,构建具有创新性、科学性和可操作性的网络工程专业应用型工程技术人才培养方案和相应的课程体系。该方案人才培养目标定位为:培养具有国际视野的侧重于工程应用的创新型网络工程技术人才[3-5]。通过学习系统的基础理论和国际知名企业网络工程师认证课程体系,学生能系统掌握计算机应用技术和网络通信技术的基础理论知识,具备网络工程实践能力和获取新知识、新技术能力,成为具有网络规划构建、网络安全设计和网络应用软件开发基本技能的高素质应用型技术人才,尤其是面向石化行业的网络工程应用型技术人才。
培养方案改革内容
构建具有创新性、科学性、可操作性的网络工程专业“卓越计划”的应用型工程技术人才培养方案和相应的课程体系[3]。根据学院网络工程专业卓越工程师培养的目标,结合执业工程师资格认证考试要求,学校与企业联合制定培养计划和课程体系,合理设置课程模块,如图1所示。各课程模块设置和教学进度安排应遵循教育教学的规律,具有内在逻辑性和连续性。计算机应用技术基础理论、网络工程基础理论、网络应用软件开发和嵌入式网络等知识模块学习不断线。根据上述课程模块,确定了网络应用软件开发和嵌入式系统设计两个培养方向。其中,网络应用软件开发包含网络规划设计、网络安全设计和网络应用开发模块;嵌入式系统设计包含网络规划构建、网络安全设计和嵌入式网络三个模块。通过这些课程模块的学习和专业方向的培养,学生具备了考取全国计算机技术与软件专业技术资格(水平)考试(简称“软考”)的网络工程师和嵌入式系统工程师,以及H3C网络工程师、SunJava认证证书等的能力。推广“3+1”的工程教育模式。“3+1”教学过程不是孤立的3年校内和1年企业学习,而是逐步融合、相互交叉的,学校与企业进行多阶段和多方面的合作,采取校企合作、项目教学和理论实践一体的教学手段。培养方案将专业基础课程由第5学期提前到第3学期,与参加考研和各种资格、技能证书考试相关的主要课程安排在第6学期全部完成。前3年,在学校采用“专业能力进阶”工程教育模式,如图2所示。横向上,每个实践环节与对应的理论课程相互支撑,有机结合;纵向上,则加强各实践教学环节的联系,全过程采用“项目教学法”,以一个校内工程项目贯穿整个实践教学过程,项目由学校和企业共同协商制定。
嵌入“实践—理论—再实践”培养体系。在探索上述“3+1”工程教育模式的基础上,嵌入“实践—理论—再实践”培养体系。学生在具备一定的基本数理知识、外语交流能力和工程素质的基础上,在前3个学期还应陆续学习软件技术基础、高级语言程序设计、Web原理与应用开发基础(HTML、CSS、JS、UI等)、.NET应用技术开发等课程,培养设计、开发小型网络应用软件系统的能力。通过这些应用编程软件课程的学习,一方面,学生对本专业学习的内容有一定的感性认识,快速建立所学专业内容的概念模型,知道自己专业学习的主要方向,明确学习目标;另一方面,学生的专业学习兴趣被激发起来,提高学生专业学习的信心。到了第3—6学期,学院开设数据结构、数据库原理、操作系统原理、计算机组成原理、软件工程等计算机应用技术理论基础课程。学生在前3学期通过开发小型网络应用软件的实践,对所学专业有了一定感性认识。在此基础上,反过来学习该学科技术理论基础课程,有助于学生对计算机科学理论基础知识的学习、理解和总结。
在第5—7学期,学院开设面向对象原理与Java实践、JavaWeb应用编程基础和JavaWeb应用框架技术等以Java技术为主线的网络应用软件开发课程,设置相应的网络规划构建类、网络安全设计类、网络应用软件开发类等实践环节,使学生能够熟练掌握.NET和J2EE的网络应用软件开发的技术和网络应用程序设计的基本方法,具备进行网络服务系统和网络应用软件开发的基本技能,并具备考取SunJava认证证书的能力。在掌握计算机科学与技术、电子信息等基础理论课程和网络规划构建、网络安全设计、网络应用开发等专业基础理论知识基础上,根据之前开发的小型项目,我们按照从简单到复杂、从单一到综合的认识规律,整体设计各理论教学对应的实践环节,使学生每学完一个理论知识模块,按要求完成这个工程项目的相应模块。这样,学生在经过3年的理论学习和一个校内项目开发实训,具备了利用工程语言初步分析问题、专业表达、项目团队合作和开发一个完整工程项目的能力。在第4学年,学校教师和学生同步进入企业,参与到企业实际工程项目中来。教师参与企业实际项目更有利于将最新的技术和管理经验带到教学中,他们以实习指导教师的角色和企业相关人员共同培养学生,使学生能够获得解决实际网络工程问题的系统化训练,具备综合利用专业知识和科学的实践方法准确解决实际问题的能力。
建设措施
我们采取以下措施,确保网络工程专业“卓越计划”人才培养新模式能够顺利实施。探索校企互动的教师成长途径。充分利用我校与中国石化集团茂名石油化工公司、茂名市群英网络有限公司建立的“产学研”合作基地,积极推动校内专任教师到企业开展产学研合作,有计划地安排教师到企业工作1~2年,积累实际工程经验;同时聘请行业领域具有丰富工程实践经验的优秀专家到学校兼职授课,形成交流培训、学术报告、兼职任教等形式多样的教师成长机制,建设一支熟悉社会需求、教学经验丰富、专兼职结合和具有工程背景的高水平教师队伍。合理规划为期1年的企业实践教学。与茂名石化信息中心、茂名群英网络有限公司、佛山纺织服装研究所和广州万卡网络科技有限公司等企业共同探讨实训阶段培养,针对网络工程专业培养目标相关要求,以相关行业实际项目为工程背景,精心构建案例库,建立项目开发团队,采用基于案例的教学方式,开展网络工程规划构建、网络安全设计和网络应用软件开发的工程教育。优化网络实验平台,最大化实现其功能。网络实验平台的设计和搭建遵循系统性、先进性、实用性、开放性和发展性的原则。由于实验设备有限,我们优化了网络实验平台,使其最大化实现功能,既能够支持所有实验组完成路由交换、网络高可用性、无线局域网、网络安全技术和IP管理系统这五大类别的基本技能实验,也能满足专业技能、综合技能等自主设计的综合性实验。建立仿真实验平台辅助教学模式。由于实际网络设备有限,我们在PC机上安装了路由器模拟软件、交换机的模拟软件、操作系统的模拟软件、网络协议的分析软件、NS2、OPNET、CCNANetwork网络模拟器等仿真软件。学生可以方便地利用这些软件进行各种类型的网络架构设计,自定义网络拓扑图,配置网络设备,熟悉设备命令,仿真实际网络环境等,从而大大提高学生在实际网络环境的实验效率和实验质量。#p#分页标题#e#
结语
“3+1”的“实践—理论—再实践”的工程教育模式的实施,提高了学生分析问题和解决问题的能力。今后我们将采取和学生座谈、跟踪课程实施情况、调查项目构建和实施情况、走访企业等办法,进一步掌握该培养方案的实施情况,并根据实际情况不断完善该培养方案。(本文作者:陈晓龙 李启锐 彭志平 单位:广东石油化工学院计算机科学与技术系)
关键词:UCD;用户中心;软件开发;可用性测试
中图分类号:TP31 文献标识码:A
随着软件开发技术不断发展,软件开发也经历了程序设计、程序系统和软件工程阶段,工程师们发现只是针对于技术突破埋头苦干,并不能解决软件行业危机,软件的维护成本越来越高,成功率却降低,软件质量也达不到要求,于是,软件开发的方法以及过程管理成为了软件开发的中心。
UCD(User-Centered Design),是以用户为中心的软件设计方法,是当前IT行业很流行的一种软件设计理念,也在欧美等国家软件发达取得了成熟的发展。与之前以技术为中心的软件设计不同,使用这种方法设计出来的软件产品成功率和质量要远远高于传统方法,无疑也比传统软件开发方式更具竞争力,从下表可以看出两种方法的区别:
表1
使用UCD方法开发软件有四个主要阶段,计划阶段,概念阶段,详细设计开发阶段和生存周期管理阶段。
1 计划阶段
这个阶段类似于传统方法的需求阶段,不同的是UCD方法要求开发者与目标用户一起工作,以用户的观点看问题,理解用户工作过程。
所以如何选择用户群是一个难题,首先可以在公司范围内选取几个目标用户,还可以通过电话、网站等有偿招收一部分用户群,包括潜在用户、可能会成为用户的人群,让这些用户有机会参与到软件开发的会议或者是实验室工作中,这种方法可以很好地提升软件的可用性,从而大大增加软件的成功率和受欢迎程度。例如微软公司就在西雅图有上万人的用户数据库,可以帮助他们昨产品研究。
当然,为了保护公司技术可以让用户签订保密协议一类的文书。
2 概念阶段
概念设计阶段的顶点是客户看见、听见、和触及的所有事物的高级(high-level)设计。在概念阶段要整理要计划阶段完成的需求分析,通过各种调查研究手段,形成一个软件模型,这个阶段要注意的是从一个比较高的抽象度开始概念设计,不要过快地转移到细节上。如果可能的话同时开发多个原型,从而选出最优的模型。
为了降低成本,可以使用多种纸面草图、模型和原型来支持创意过程,获取需求,将想法和解决方案可视化,在开发项目的早期,应该观察和分析用户对于纸面草图和实物模型的反应,然后在项目的后期,用户应该使用模拟系统或者原型来完成真实的任务,并且应该观察、记录和分析他们的行为和反应。
3 详细设计和开发阶段
通过第二阶段的分析设计,进入详细实施的开发阶段,这个阶段要注重设计过程要有用户参与,从而可以进行反复的修改进化。
在此,UCD方法提出一个很好的软件测试方法,就是使用可用性实验室。简单的可用性实验室只需要配置一块单面镜,几台多角度的摄像机和一台电脑,然后让用户在里面进行软件功能的操作,工程师通过单面镜观察用户使用的过程,并用摄录机把用户的使用过程录制下来,随后进行分析,查看用户在没有帮助的情况下完成任务的比例,完成任务所用的时间以及用户寻求帮助的次数,这些指标对于描述可用性水平很有帮助,如图。
为了个更好的对软件产品进行评价,UCD提出一种启发式评价方法,启发式评价是检查用户界面设计的另一种方法,以确定可用性问题的本质,启发式评价提供了确定潜在可用性问题的基本方法,启发式评价的内容是:
表2中的内容都是用户在使用软件过程中非常重要的评价指标,如果能够按照这个方式去评价软件,将软件的优点好好保留,缺点很好地解决,那么用户怎么能不爱上它呢?
4 生存周期管理阶段
UCD方法也是一个具有完全周期的过程,生存周期管理阶段收集的数据非常重要,是改善产品的后续版本、开发新产品的相关依据,在这里要重视三个方面:
4.1 客户满意度调查
客户满意度调查描述了客户对于所接受的服务级别、得到的产品满足商业需求能力的满意程度。可以说使客户满意的产品才具有市场竞争力。
4.2 按照项目设计的核心任务,将最终产品和竞争产品进行比较
核心任务就是软件的主要功能,想要科学的得出产品使用结果,需要完成对核心任务的定量测量,调查用户任务执行时间,在使用过程中需求助帮助的次数,错误次数等。
4.3 项目完工后需要进行后期评价
总结项目成功与失败的原因,以便在将来的项目中得到改进,开发小组的关键成员参加总结,项目总结最好不要让项目领导主持参加。
所有的软件都是工具,软件开发人员是工具制造者,并不是艺术家,设计中要考虑的并不是自己所看所想,一定要从用户的角度出发,当工程师的关注点从内部视角转向注重客户和最终用户的外部视角时,可用性、实用性和能力自然就成为保证软件质量的关键因素。
关键词 实训课程 过程管理 企业过程管理文档
中图分类号:G420 文献标识码:A
0 引言
实训是职业技能实际训练的简称,是指在学校控制状态下,按照人才培养规律与目标,对学生进行职业技术应用能力训练的教学过程。基于案例的Web开发实训是软件技术(Java)专业的一门核心课程,旨在培养学生使用主流框架技术开发Java Web应用的能力。通过与企业工程师交流,借鉴主流软件开发企业的过程管理文档,课程中引入了项目过程管理方法,在课堂环境中模拟软件企业真实管理情景,注重软件开发过程管理。
1 过程管理的必要性
实训是对实际软件开发工作的一种模拟,早先我们主要是针对工作任务的模拟,要求学生在一定的时间范围内完成相应的任务,而对于过程管理不够重视。通常班级学生有40到50名,对每位同学的过程管理需要花费很多的精力,因此过程管理难度比较大,教师重点关注验收考核环节。为了有效地实行过程控制,需要找到一种简单的方法,便于教师对实训进行控制。过程管理要求实训过程可度量、可控制,可度量指可以对学生在实训中完成的中间结果进行评测和度量,可控制是指发现进度异常并做出调整。引入过程管理使学生在实训中了解企业的管理模式,在迈上工作岗位时可以适应企业要求。
2 过程管理实施
2.1 项目任务书
项目任务书详细描述项目的具体需求,项目开发过程中的特定要求,项目完成时间节点。Java Web应用开发任务书包括实训概况,实训功能,实训流程图和实训原型以及开发成员配置建议。实训概括是对实训目的、环境要求进行简单描述,功能是指实训中完成的系统功能,实训流程图展示了完成实训的步骤,实训原型使用原型工具开发出系统操作界面,便于软件开发人员与系统分析人员之间交流,开发成员配置是对该项目开发过程中人员配置的建议。
2.2 项目计划表
制定计划是整个项目管理过程中最重要的一个环节。计划表是项目开发前对项目开发进度的预估和安排,包括任务名称、工期、开始时间、完成时间和资源名称等。在Java Web应用开发中具体包括项目启动、任务书、开发团队成立、开发环境确认和熟悉、项目计划、程序设计、系统测试、项目审核等过程,期中程序设计又可以细分为数据库设计与开发、系统架构设计、系统模块设计与开发、测试用例设计等。项目计划表的制定需要依据项目任务书的具体需求、项目完成人开发能力、开发时间限制等要素来完成。项目计划的制定具有一定的限制性,计划由开发小组完成初稿交教师(项目经理)审核,审核未通过要求该小组内部讨论修订,审核通过后由教师(项目经理)下发该文档,在实训中对项目的检查就是以项目计划表作为依据。
2.3 日报表
日报表是软件研发工程师(学生)每天工作情况的总结。软件研发工程师(学生)对比项目计划表规定的每日工作内容,找出差距并给出整改方案,日报中还包含次日工作安排。日报表是整个过程控制中的较为重要的一个环节。教师(项目经理)通过审查研发工程师(学生)的日报表及时发现问题并做出相应处理,实现过程控制。当日报表中反映出来某位学生不能及时完成任务,则需要与之沟通,了解原因,给予必要的指导。
2.4 审核问题一览表
在项目开发过程中遇到问题是不可避免的,关键是需要及时发现、记录和解决。问题的解决过程就是学习的过程。问题记录项目包括项目名称,项目编号,审核类型,项目实施阶段,审查对象,问题发现时间,不一致性问题描述,不一致问题严重程度,不一致问题优先级,解决期限,解决措施,当事人,验证日期及结果,不一致问题出现次数,处理状态等。
审核问题一览表不仅对学生具有意义,便于在解决问题过程中学习,同时也是课程考核的依据。根据审核问题一览表中的记录,我们可以判断学生对于软件设计开发过程中的思考是否深入。将所有学生的审核问题一览表总结起来就生成软件开发注意事项,提示学生在开发过程中容易出现的问题。
2.5 测试实验项目表
测试实验项目表中包括项目模块名称、预测结果说明、执行结果描述、执行结果、试验人、日期、BUG描述、对应人、对应日期、确认结果、确认日期等。其中“项目模块名称”简单描述被测试模块名称,“预测结果说明”描述正常情况下的预期结果,“执行结果”描述该模块测试的结果,“BUG描述”记录测试过程中遇到的BUG,“对应人”表示解决该BUG的人,“对应日期”表示解决问题的时间。测试实验项目表是对项目的测试进行详细描述。
3 结束语
要实现过程可控,学生需要掌握管理文档的使用方法,并按照要求切实执行,具体实施过程中注意以下两点。一是加深对文档的理解。对学生来说使用和编写企业管理文档具有一定的难度,在项目开发前,需要详细讲解各种管理文档,用真实的案例做介绍。学生只有充分理解,才能在学习中灵活应用。二是及时审核。许多学生对管理文档不重视,往往在实训的最后两天做总结性的编写,用项目的实际进度表代替项目计划表,对项目开发不做规划,这种现象将导致过程管理失败。因此教师在实训中需要不间断审核学生提交的文档,从文档中发现问题并及时反馈,保障实训有序进行。
国家示范骨干高职院软件技术及专业群建设优质核心课程《Java Web应用开发》课程建设项目资助,南京信息职业技术学院课程改革专项《基于框架的Web开发实训》项目资助
参考文献
[1] 严明良,刘颖.高职院校实训教学体系构建的研究与实践[J].实验室研究与探索,2008(6).
3G人才最受欢迎?电信专业的学生如何为未来做好准备?我们特邀资深人力资源管理专家、高级工程师、电信行业的职业规划咨询师郭宏威女士为读者做出解读。
每年直接增加的就业机会在 100万人以上
jiangj:郭老师:你好!我是 08届毕业生,大专文凭,是学通信技术的,不知道通信这一行业将来前景如何?能否给一点实际的指导?
郭宏威:通信业是以技术为发展核心的产业,随着“三网融合”不断提速,3G网络全面铺开,移动商务和移动增值服务软件开发人员的需求量约在 35~50万人左右。业内专家估算,3G正式启动之后,每年直接增加的就业机会在100万人以上。
人才需求方向:嵌入、移动商务、增值业务。嵌入式软件开发是未来几年最热门和最受欢迎的职业之一。具有 10年工作经验的高级嵌入式软件工程师年薪在 30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也在 5000元左右,中高级的嵌入式软件工程师月薪平均已超过万元。相对而言,3G人才主要集中在研发领域,企业在这方面的人才储备也较为充分。设备开发人员、运营人才和增值服务人才,都是招聘热点。3G的兴衰最终将由消费者的需求决定,所以营销人员对产业的推动显得非常重要。3G市场营销人员目前非常短缺,未来将成为 3G行业人才需求的重点。人才市场对移动商务软件供不应求,移动商务软件开发工程师成了抢手货。
从目前招聘的职位来看,技术类职位独占鳌头,体现出客户至上和新技术时代的特点。据有关职位数据显示,软件工程师、高级软件工程师、技术支持工程师等几大职位成为今年 IT企业的重点招聘对象,其中软件工程师需求量更是一直居高不下。软件开发、游戏动漫、3G人才、实用技能型网络人才都有大量需求。行业欣欣向荣的局面必然带来前所未有的人才荒,软件测试人才、尤其是软件测试工程师需求与日俱增。所以高层次的网络管理员、网络架构工程师、网络开发运营工程师、企业信息管理师等相关人才需求尤为迫切,成为职场上抢手的香饽饽。与巨大的需求相对应的是,网络技术类人才的薪水也随之水涨船高,薪情看好、“钱”景乐观。据调查,初、中级移动商务软件开发工程师的年薪目前为 6~15万元,高级软件工程师则高达 15~30万元。
市场最紧缺的移动商务实施顾问和咨询经理年薪更高。数据显示,咨询经理的年薪已经高达 40~60万元。在实施了移动商务软件的传统行业中,负责系统咨询和维护的员工,其薪酬也远高于其他员工。
什么样的 3G人才最受欢迎?
wangzaihua:请问拥有什么样的技术或才能,才是优秀的电信人才?才能适应今天的市场变化?
郭宏威:“3G人才”就是指从事 3G通讯技术行业的工程师以及相关技术人员。目前的3G人才市场,最受欢迎的主要是三类人才:一类是嵌入式软件工程师,一类是移动商务软件开发工程师,还有一类是移动增殖业务开发工程师,移动通信软件工程师因人才的稀缺而身价倍增。
具有两种知识背景的 3G人才最受欢迎:一类是拥有海外留学背景或工作经验的工程师;一类是具备综合素质的技术人员――既懂互联网又掌握电信技术,即嵌入式人才。在上述两种人才中,最缺乏的是后者。就一般企业而言,3G工程师必须拥有通信、电子类专业本科以上学历,熟练使用 C或 C++语言编程方法,熟悉移动通信原理及微波通信技术,具有4年以上数字电路设计或硬件开发工作经验,具有CDMA、GSM或TD-SCDMA、WCDMA等手机软 /硬件开发经验等。如此高的门槛,是 3G人才稀缺的关键原因之一。所以,成为高素质、高技术、高能力的人才,才能适应市场发展的需要。
如何才能进入电信行业?
勇敢的心:怎样才能进电信行业?比如,我是搞网络维护的,电信业对网络维护人员的要求是怎样的?
郭宏威:网络需求是千变万化的,同样一个网络设计需求,对于不同层次的网络工程师,其制定的解决方案也不尽相同,但是基本原理相近。随着电信行业管理走向信息化,涉及到计算机的硬件和软件,所以计算机网络和电信网络有相同、相通之处,你的技术和经验还是可以兼容的。但是切入到电信行业,软件还是切入软件、硬件还是切入硬件、网络还是切入网络。
网络管理员的工作可分为如下四个方面:人的管理、资源的管理、性能管理和安全管理。从知识结构的角度看,网络工程师必须有比较全面的理论架构,需要在实践中培养一种创新能力,还要有良好的英语水平,需要学习的知识和技能,如网络基本知识和概念、网络设备的配置和网络操作系统等。网络设备这部分应首先要掌握 CISCO的相关设备,而网络操作系统应重点掌握Windows、UNIX和linux。当然有一份国家权威证书更好。
在电信行业就职两年,
如何确定发展方向?
石臣:郭老师,您好!我现在就职于一家电信管理咨询公司,有两年的移动运营商战略及市场策略咨询经验。我具备的自身优势是:对电信行业有深入理解,拥有较强的分析问题、解决问题的能力和项目管理经验,掌握定量、定性分析工具,有良好的沟通和表达能力。我现在想从电信咨询业跳到电信实体企业里面工作,但是对进入哪种类型的电信企业,如设备制造商、运营商还是服务提供商比较茫然,而且对电信企业中与我适合的工作岗位也不是很了解。请您给我指点一下,我该如何选择适合的电信企业和适合的工作岗位,非常感谢!
我刚才做了讲坛里的职业测试,结果显示为“艺术事务型”。另外,我自觉自己的优势是思维记忆、善于分类、设计系统结构之类的。喜欢安静独立的工作环境,能够发挥自己的独创性。我的性格是比较富有艺术幻想气质的。这些信息够吗?麻烦老师帮我分析一下吧,辛苦您了!
郭宏威:在电信行业中,制造商、运营商、供销商、做技术的,是完全不同的几个方向,对个人的素质、能力要求也有很大差别。你想去实体公司,就面临着一个重新定位的问题,建议你通过专业部门职业定位和规划来找到“人岗匹配”的职位。根据你的各项测评指标加学历、经历、能力、性格、爱好、特长等,结合市场、行业、职位信息,进行多项分析,然后由专家团队会诊,最后定位和制定发展规划。职业定位非常重要,定位就是要落在“定”和“准”上,不能泛谈,其中包括行业定位、方向定位、职位定位、薪酬定位等很多项。在中途换车时,千万不能搭错车。
另外,你在选择方向上,一定要把自己在行业中的竞争法宝捂住,那就是知识沉淀和经验积累,这个坚决不能丢。根据你有两年运营商战略和市场战略的咨询经验以及已有的实际工作能力的情况,我认为你应该沿着自己的方向继续发展,千万不要把自己的职场优势轻易抛掉。每丢掉一次优势,就相当于把优势存折抹掉一笔,丢得多了,不但没有优势,反而会发生能力赤字,优势变成劣势,根本谈不上为自己的职业发展争取到更好的机会。
职业是人生第一大事,需要慎重分析才能准确定位。一般是首先做全面职业测评,但测评只是手段,不是目的,就像到医院做的各类检查,是为医生确诊做依据。目的是找到“人岗匹配点”,也就是你的所有因素与企业的职位发生“谐振”的那个频点或者一个窄带,再根据这个“人岗匹配点”,去设定各个阶段的发展平台。一般仅有测评指标是不够的,得到测评指标后,咨询师要与你沟通几次,这样有利于了解情况,明确定位,咨询师要根据各项测评指标加学历、经历、能力、性格、爱好、特长等,结合市场、行业、职位等信息,进行多项分析,边分析、边沟通,这样职位定位点就会浮出水面。职业脚步简单的人时间就短,职业脚步紊乱的人,需要多沟通,时间就长。然后专家团队会诊,才能在千千万万个职位中,最后精确定位在某一职位上,再设定发展规划和做详细的职位辅导,使你能得到这个职位或者薪水和职位的提升。
电信业适合大学生去尝试吗?
qingfeng:电信行业适合在校大学生去尝试吗?谢谢!
郭宏威:当然可以,只要你的专业与电信行业相关。但是要做好各类入职准备,除了前面说的准备――定位准备、知识准备、动手准备、能力准备、简历准备、面试准备以外,对于没有多少工作经验的大学生,知识的准备相当重要,如果你的定位是软件,就要在语言上下功夫,C++、Java语言一定要过关,编程能力要强。如果定位是硬件,那么对各类基本电子电路要会分析,面对密密麻麻的电路图,要学会化整为零,不但能对方框图的信号流程说得清楚,还要能对电路图上的元器件作用分析明白,最后还能积零为整,把整个系统工作原理说清楚。此外面试有两点最重要:礼仪和自信。
电子信息专业大三学生,
如何为未来做准备?
林成威:老师,您好!我是电子信息工程专业的,今年大三了,我想知道毕业了可以去什么样的公司从事什么工作,还有现在实习应该找什么样的公司,电子信息这个专业毕业了都可以干什么啊?希望老师给予指导,谢谢!
郭宏威:电子信息是热门专业,需求量很大,就业渠道很宽泛。适合这个专业的工作实在太多了,如电子、电信行业的电子工程师、硬件工程师、软件工程师、单片机开发等直接与专业有关的工种,以及其他很多与专业相关的行业都可考虑。我认为你应当试着做好如下就业准备:
1. 定位准备:早日做好职业定位和规划,有目标地去努力,起飞的航道要清晰,这样会让你飞得更快更远。
2. 知识准备:在校期间,基本工扎实,电路基础、模拟电路、数字电路这几门专业基础课一定要学好,这是整个电子、电信技术岗位的基本材料,有了这些砖瓦、木料,你想盖什么房子都会得心应手。
3. 动手准备:通过实践,提高自己的实操能力,不但会使用万用表、示波器,还具有熟练使用信号放生仪、综合测试仪、频谱分析仪等实际操作能力,并能够对测得的信号进行分析。
4. 能力准备:通过毕业设计阶段的知识汇总、社会实践,提高综合能力。即综合运用所学知识解决实际问题的能力,强化和提高综合能力与创新能力,增强走向社会的自信心。
5. 简历准备:不仅要准备电子简历和纸制简历,还要在简历上补充实习阶段的经验积累,这样你的简历除了学校,还有一至两三个企业的名字,这可是浓墨重彩的一笔。
6. 面试准备:面试前如何全方位地准备?面试中遇到哪种面试官怎么处理,对问题、偏题、难题怎样回答?面试后都要做哪些事情、怎么做?这些都要认真考虑。
(专家博客:blog.省略/Blog/guoce/ )
“职场讲坛”2008年7月份活动预告
时间:2008年 7月 15日 主题:[129期 ] 一个招聘者的人才筛选观 在线专家:邵天天,中华英才网总部产品经理。毕业于英国威斯敏斯特大学人力资源管理专业,硕士学位, 10年人力资源管理相关工作经验。