首页 > 范文大全 > 正文

从软件技术发展论高校计算机教育

开篇:润墨网以专业的文秘视角,为您筛选了一篇从软件技术发展论高校计算机教育范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文提出了独立学院非计算机专业应该调整教学计划,尽快将软件工程等相关课程列入非计算机专业计算机课程的教育中,培养更多高素质复合型人才。

关键词:软件技术;发展;独立学院;计算机教育;软件工程

中图分类号:G642 文献标识码:B

文章编号:1672-5913(2007)10-0029-03

1前言

随着教育部1994年《中小学计算机课程指导纲要》、2003年《普通高中信息技术课程标准》的实施,全国普通高中基本普及了计算机信息技术必修课,大中城市小学、初中也基本普及了信息技术必修课。[1]尤其是随着互联网宽带网络的普及,纲要、标准的内容、要求对于那些高中毕业进入高校继续深造的学子来说已经不是问题。那么高校,尤其是高校独立学院的计算机教育又该如何进行呢?

独立学院贴近社会经济发展的就业需求,发挥专业设置及人才培养的就业适应性强的办学特色,有效缓解日趋严峻的高校毕业生就业矛盾。因此,独立学院的计算机专业、非计算机专业的计算机教育都应该围绕社会经济发展的就业需求做文章,满足社会的就业需求。

对于非计算机专业的高校学生来说,计算机课程对于其专业来说就是一门工具学科,帮助其更好地学习、掌握、运用其他专业学科知识。计算机技术从大类上分为软件及硬件两大部分,而对于非计算机专业来说,面对的主要是软件方面的技术。计算机课程与其他专业学科的结合,有三种层次:第一层次是为专业学习、用做服务,比如运用各种应用软件如Office办公组件、财务软件、专业或行业应用(统计)软件完成数据的录入、分析、整理、统计、压缩及文档打印,简单的网页制作,以及常用工具使用等计算机初级操作。第二层次是运用计算机进行简单的专业编程、软件开发、测试、维护工作。第三层次是运用计算机进行较为复杂、大型、企业级的专业软件开发工作。以上三种层次关系还可以形象地称为分离型、渗透型、融合型。

第一层次的工作,在中小学时期已经基本解决,即便没有完全解决,依靠中小学时期的计算机基础知识铺垫,通过自学也可以很好地解决。因此,在高校需要解决的主要是第二层次和第三层次的工作,这两个层次都是围绕软件开发技术展开的,第二层次是基础,第三层次是第二层次的飞跃、发展。也就是说,软件开发技术应成为高校,尤其是独立学院非计算机专业计算机教育的重点。

对于软件开发技术,我们又该具体学些什么呢?

2软件技术发展历程

在软件开发的早期,通用性普遍很差。从60年代中期开始,随着软件需求日趋复杂,维护的难度也越来越大。如何开发软件以满足不断增长、日趋复杂的需求?如何维护数量不断膨胀的软件产品?成为迫在眉睫需要解决的两大问题。1968年北大西洋公约组织的计算机科学家第一次提出了“软件危机”这个概念。目前软件危机主要表现为:开发成本难以控制,进度不可预计;软件系统的质量和可靠性很差,难以满意;软件文档相当缺乏,软件系统不可维护;软件开发生产率很低,软件产品供不应求;软件产品成本十分昂贵。

1968年第一次提出了软件工程这个概念,1993年IEEE给软件工程一个更全面的定义:① 把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;② 研究①中提到的途径。

20世纪60年代末K・W.Dijkstra提出的结构化程序设计技术曾被看做是克服“软件危机”的灵丹妙药,但面对大型软件系统,系统的重用性、稳定性、扩充性却难以实现,20世纪70年代产生的面向对象方法给软件工程增添了活力。对象管理组织OMG在1997年11月将几经修改的UML正式作为基于面向对象技术的标准建模语言,从此又经不断发展、推新,UML目前已成为可视化建模语言事实上的工业标准。[2]

面向对象技术又造就了组件、构件、中间件等概念,解决了软件系统的可操作性、可扩展性、语言独立性和跨平台的操作能力,为软件工业实现工程化提供了强有力的支持。但面向对象体系结构仍不能完全达到软件重用的可移植性和互操作性的要求。SOA体系结构应运而生,带有定义良好且符合标准的已接口的可重用的服务,可以按需扩展或改变,提供企业业务解决方案。[3]

伴随软件工程的发展,计算机辅助系统(也称为计算机辅助软件工程,CASE)这项技术更是对软件工程过程自动化及其未来发展产生着重要意义,尤其是在基于NGI、NGN、GRID、IPv6等下一代分布式网络软件开发的今天,CASE技术将越来越重要。

3软件开发过程分析

有人认为软件就是程序,软件开发就是编写程序。编完了程序,就一切OK了。而掌握几门最新的语言和工具,就能写程序了。软件是灵活的,软件的修改很容易。一个人,只要会编程,就能写软件,就是程序员。而一个公司,只要招些程序员,就能开发出好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。这都是对软件开发的偏见和误解。实际上,软件及软件开发有自身的规律,软件有一个孕育、诞生、成长、成熟、衰亡的生存过程,这个过程即为计算机软件的生命周期。软件生存期的六个步骤,即制定计划、需求分析、软件设计、编码实现、测试及运行维护。

第一步是软件开发方与用户方共同商讨软件开发的可行性,确定软件的开发目标;第二步是软件开发方和用户方密切配合,充分交流信息,确定系统的逻辑模型;第三步是软件开发方把用户方的各项需求转换成软件的体系结构,并进行相应模块的详细设计;第四步是软件开发方把软件设计转换成计算机可以接受的程序代码;第五步是软件开发方将经单元、组装、确认、系统测试后的软件产品交用户方验收测试;第六步是根据用户方的需要,软件开发方改进、改正、适应、完善已开发的软件产品。

从以上分析我们可以看出,以上六个步骤,其中第一步、第二步、第五步、第六步四个步骤都需要用户方参与,而只有第四步,也就是“编码实现”,才涉及到以某一种特定程序设计语言按照前面的计划、分析、设计编写出正确的容易理解和容易维护的程序模块,也即“源程序清单”。

而且,确定的目标,好的分析将为整个软件开发项目的成功打下良好的基础;而好的软件设计将为软件程序编写打下良好的基础;软件测试更是在软件生命周期中占据着重要的地位,渗透在在软件生命周期的每一个环节中;软件维护费用日益上升,目前已达到整个开发费用的80%,软件维护工作的重要性可见一斑。

同时,在软件开发过程中人员是有分工的,有的负责项目总体,是项目经理;有的负责用户需求,是系统分析员;有的负责系统设计,是系统设计师;有的负责编码实现,是编码工程师;有的负责测试,是测试工程师;有的负责客户支持,是技术支持工程师。

因此,非计算机专业的行业人员在行业软件的开发过程中是完全可以参与进来,担当一定的工作,这就要求他们必须具有相关的软件工程开发方面的知识体系。

4课程体系设置

1993年,IEEE计算机协会和ACM共同建立了一个联合委员会,正式开始了软件工程职业实践规范的制定工作。在2004版SWEBOK软件工程知识体系简图中,整个软件工程知识体系分为11个知识领域。在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE,其核心部分是软件工程教育知识(SEEK),整个课程设置分为三个层次,即导论性课程、软件工程核心课程和其他课程。导论性课程也就是软件工程,核心课程包括软件构造、软件设计与架构、软件测试、软件过程与管理等,其他课程有工程经济学、小组动力学和沟通、职业实践,以及SEEK中没有包含的内容。