关于软件技术专业课程设置的探讨

2014-10-22 20:27肖卓朋黄金水
电脑知识与技术 2014年27期
关键词:软件技术课程改革

肖卓朋 黄金水

摘要:随着IT产业的蓬勃发展,IT产业已经成为中国经济发展的支柱产业。在IT的各个行业中,软件产业是信息产业与知识产业的基础,而要发展软件产业,与各高校的软件技术专业的培养目标、规模和水平紧密相关的。目前高校软件技术专业教育主要针对的是软件开发流程中的软件程序员岗位,而对于开发流程中的前期项目管理过程和后期支撑过程涉及的课程很少,该文就此进行初步探讨,供大家参考。

关键词:软件技术;课程改革;原型设计;UI;TD

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6361-02

Abstract: With the development of IT industry, IT industry has become a pillar industry of the economic development of Chinese. In various industries in IT, the software industry is the foundation of information industry and knowledge industry, and to the development of the software industry, training objectives, closely related to the scale and level of software technology specialty and the the. The current college of software technology specialty education mainly aims at is the post software programmer software development process, and the development process of the pre project management process and support process involves little late course, this paper carries on the preliminary discussion, for your reference.

Key words: software technology; curriculum reform; prototype design; UI; TD

进入21世纪以来,软件产业和相关信息服务业已经成长为全球第一大产业。中国政府提出了以信息化带动工业化,以工业化促进信息化的发展战略,加快提升国家信息化的水平。目前,IT产业已经成为中国经济发展的支柱产业。

随着IT产业的迅猛发展,社会企业对人才的需求也发生了变化,多层次、多形式培养大量实用IT人才成为高职教育的重要任务。企业注重的是学生实际工作能力,希望学生有有实际工作所需要的知识和技能,甚至希望学在校就有工作环境的模拟训练和实际工作经验的积累,进入企业就能迅速融入到生产劳动中。因此,现在许多的高职院校已经采取了如校企合作等措施,加大学生的实践教育,大大加强了学生的实际工作能力。然而,一直以来的教育体制、教学模式、教学内容及课程设置仍然与企业实际需求有一定的距离。因此,教学改革是势在必行的,而专业技术课程的改革是实现高职软件人才培养目标的关键。

目前,我国软件产业还算不上强国,还缺少核心竞争力。人才结构呈两头小中间大的橄榄型结构,不仅缺乏高层次的系统分析员、项目总设计师,也缺少大量的从事基础性软件开发人员。

在IT行业中,各种新技术层出不穷,软件的设计和开发也不再依赖于一种开发语言和技术,而是多种语言和技术的结合。而且,在软件的设计和开发过程中,还涉及到原型设计、前台设计、软件测试等多方面的工作。目前,在目前高校软件技术专业中,绝大部分的培养目标都是培养的软件程序员,教学模式也都是以软件程序员的需求为基本需求,培养的都是基础性软件开发人员,就业面窄,就业岗位单一,学生可持续发展的能力差。高职软件技术专业核心课程均属于介绍单一的技术(如java、.Net技术),且都是属于后台编程设计部分,这已经不能满足企业的实际需要,且各门课程分布在不同学期,学习完一门课程很难完成一个系统的项目,学生缺乏综合运用各门课程进行实践的能力,不能满足软件行业需求的一线软件人才的需求,而且不利于学生的后续发展。下面就软件技术专业的课程设置谈一些个人的看法。

在软件企业的软件开发过程中,一般分为三个过程:项目管理过程、开发过程和支撑过程。各个过程中又包括立项管理、项目规划与展示、风险管理、需求开发、需求管理、系统分析、系统设计、系统实现、系统测试、系统服务与维护、系统结项、技术评审等过程。而整个开发过程中涉及的人员岗位包括项目经理、产品经理、技术经理、业务流程分析员、业务功能设计员、系统架构师、系统分析员、软件设计师、界面设计人员、数据库设计人员、测试工程师、系统管理员、美工等等岗位。

目前,高校教学主要针对的就是企业中的开发过程,主要针对的岗位就是软件设计师(程序员),而对于项目管理过程、支撑过程以及软件开发过程中的项目规划与展示、前台设计及软件测试的过程的课程稍有涉及甚至没有,因此,就整个的软件开发过程,个人认为可以增加一些课程,使学生打下更加广泛的软件基础,扩大学生的知识面,让学生对整个软件开发流程更加深入理解,扩大学生的就业面,加强学生的可持续发展可能,增强学生的岗位竞争力。就目前高职院校的状况及学生学习情况而言,相比较企业,个人认为比较需要且适合增加的是以下方面的课程:

1 产品原型设计

在开发失败或者说不成功的软件中,大部分是因为费用超预算、交付延期、功能缩水这些因素,而造成这些因素的主要原因在于缺乏使用者的参与,不能赢得客户的欣赏以及需求或规格的不完整和变更。

产品原型可以概括的说是整个产品面市之前的一个框架设计,有效的简化了传统的文档编制工作,同时,可以吸引使用者参与,在早期及时的辨认需求遗漏、将外在需求风险降到最低。在整个软件开发的先启阶段的初期或在精化阶段一开始建立原型,用户界面设计人员按照用例示意板和边界对象的要求,使用原型设计软件构建一个可用的用户界面,整个系统的分析、设计和实施必须在原型建立后进行。

在原型设计中,将传统的文档的大量文字描述转变为带有注释与互动性的可视画面,在软件实际设计与开发之前,就可以测试系统的功能与可用性,也可以在软件没有投入使用前将功能与可用性演示给客户看,加强客户对产品的信心。因此,原型设计更直观的体现了软件功能,能抓住使用者、软件开发人员等的注意,让使用者完全参与到流程当中来,并在软件开始投入编程前就能确认需求。这样,在将太多时间与资源投入开发活动之前,确保所构建的系统是正确的。

目前,在原型设计上,Axure软件提供了一套非常完美的原型设计工具。

Axure RP已被一些大公司采用。Axure RP的使用者主要包括商业分析师、信息架构师、可用性专家、产品经理、IT咨询师、用户体验设计师、交互设计师、界面设计师等,另外,架构师、程序开发工程师也在使用Axure。

2 UI设计

UI(User Interface),用户界面的简称。在IT行业中,指对软件的人机交互、操作逻辑、界面美观、用户体验的整体设计

现在的软件大部分都是基于B/S模式进行开发的,在B/S模式中,软件开发时通常将整个软件分为前台和后台两大部分,并且正逐渐将前台和后台进行分割,以互不影响。前台用户界面都是使用浏览器进行浏览,如何设计一个具有吸引力、表现力的web应用程序用户界面就显得非常重要。因此,界面设计工作逐渐被重视起来。

一个好的UI设计,是产品的一个重要卖点,可以使得软件变得更有个性有品味,让软件的操作变得舒适、简单,更能体现软件的定位和特点,更符合使用者的习惯,符合终端用户的感受,同时,可以创造良好的用户体验,强化产品的品牌特征。

目前,UI设计师是非常紧缺的人才,大部分企业都缺少UI设计方面的人才。UI设计师在学历和专业要求方面,一般只要求大专及以上学历。根据工作内容的不同,UI设计师的工作职能主要是三方面(或者说三个岗位):

1) 图形设计师:研究界面,是软件产品的产品外形设计师,需要一定的美术设计专业知识;

2) 交互设计师:研究人与界面的关系;工作内容就是人机交互和操作逻辑,设计软件的操作流程、树状结构、软件的结构与操作规范等;需要相应的编程能力,一般以软件工程师背景居多。

3) 用户研究工程师:研究人(用户);目标是测试交互设计的合理性及图形设计的美观性,站在用户角度介入到韩片的开发和设计中来,主要通过以目标用户问卷的形式衡量UI设计的合理性;一般需要具备社会心理学或人文学科的相关知识。

当然,在企业实际工作中,这几个岗位职能也不是完全分开的,而是相互联系、包容的岗位,而这个涵盖诸多领域知识的职位,也越来越要求工作人员具备跨学科、综合性的理论素养和实操能力。

UI设计方面的软件也是比较多的(如Flex、Lumzy等),都是相对简单的软件。因此,UI设计师门槛低,可持续发展性强,高校开设UI设计方面的课程是可取的。

3 软件测试

软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

在软件开发过程中,软件测试是贯穿整个软件开发过程的,一般从需求分析阶段就开始介入,一直到最后软件验收投入运行,都有软件测试人员参与其中,尽可能早的发现软件缺陷,并确保其得以修复,从而提高软件质量。

因此,与软件编程人员相比,软件测试人员还需要掌握整个软件开发流程中涉及到的相关知识(如数据库、操作系统、网络、软件功能相关知识等),测试人员不但要对软件的功能进行检测,还要对软件立项、需求分析、设计规格说明、编码、售前、售后等领域都需要涉及,需要接触到各行各业,项目管理、沟通协调、市场需求分析等能力都能得到很好的锻炼。

软件测试作为软件质量把关的重要环节,也已经愈来愈引起国内软件企业的关注,致使软件测试人才的需求升温,但是,由于我国企业对于软件测试技术在整个软件行业中的重要作用认识较晚,因此,这方面的专业技术人员在国内还是凤毛麟角,人才供需之间的缺口超过20万,这已成为影响中国软件产业发展的瓶颈。

虽然软件测试人员涉及的领域较多,但是各领域知识要求较低,因此入门门槛低,一般大中专学历即可,是不是计算机专业都可以,如果是其他有业务背景的专业更有优势,对于有行业背景的人来说入门更快,因为对于测试工作来说,有时懂业务比懂技术还重要。目前大部分测试技术还属于手工测试,手工测试要求入门门槛很低。你只要会写用例,会提缺陷就可以了。测试人员需要简单了解业务知识,学习所开发系统的使用,也就是会使用系统就可以了。照着用例执行测试,发现缺陷直接提交缺陷就可以了。

目前,高校大部分开设有软件工程类的课程,对软件测试初步涉及,大都是从理论上进行讲解,单独作为一门课程,而没有在实际项目实践过程中进行测试操作。因此,建议在进行项目开发教学时,可以加入软件测试步骤,使学生完成整个软件开发流程,同时加强学生的专业技能知识,扩大学生的就业面,增强岗位竞争力。

在软件测试管理方面,TD(TestDirector)是一个使用较多的软件,它是Mercury Interactive 公司推出的基于WEB浏览器环境下的测试管理工具。通过TD的流程控制可以规范软件企业的测试流程、改善测试质量、减轻测试人员的负担、提高工作效率。

这三个岗位,主要学习的是开发理念和专业软件的使用,入门门槛较低,相对编程而言要简单易学,需要掌握的专业知识要求不高,同时可以使学生在校学习时对整个软件的开发流程能更深入的了解,同时,也可以使学生除了软件程序员一个岗位之外,还可以选择UI设计师、原型设计等岗位进行就业,扩大了学生的就业面,增强了竞争力。

参考文献:

[1] 冯淑杰,张芳.软件专业课程改革[J].电脑知识与技术,2010(6).

[2] 王刚,李迎,白祎花. 软件测试人员应具备的素质[J].软件导刊,2011(10).

[3] 侯松霞.高职院校计算机专业改革的分析与探讨[J].现代企业文化,2008(3).

[4] 丁智国,吕振洪.软件测试课程实验教学探索[J].计算机教育,2012(3).

[5] 屠秀栋.浅谈UI设计[J].电脑知识与技术,2010(7).

[6] 陈媛媛.浅析交互设计中的纸上原型设计[J].设计艺术研究,2012(2).

猜你喜欢
软件技术课程改革
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
基于长三角地区需求的软件技术人才的培养
利用Java开发智能软件技术研究
“双创”形势下高职财务管理课程改革探索
项目教学法在微电影制作教学中的应用
基于创意的对口单招色彩课程改革突破点研究
校企协同实施高职专业课程改革的实践研究
软件技术专业知识地图的应用研究