软件开发需要大量的开发人员。软件公司都愿意招聘具有开发经验的开发人员,刚毕业的大学生,在学校的学习期间更多地关注书本上的理论知识,学与用相互脱节,很少具备实际软件开发能力和经验,结果造成一方面IT 人才短缺,另一方面却又是相当一部分大学生求职无门。怎样采取措施,培养毕业生的软件开发能力,具有十分重要的现实意义。近年来,.NET技术在软件开发中占据极其重要的位置,C#作为一种面向对象的计算机语言,兼备C、C++、Java和Visual Basic等语言的优点,是进行.NET开发的首选语言,使用安全而又相对简单。
【摘 要】随着信息技术的飞速发展,计算机软件已在各个行业大量使用,社会对软件的需求也日益增多,同时已有的软件还需要不断地升级换代。本文着重介绍如何利用C#语言进行可视化编程,提高实际动手的专业能力,培养学生的软件开发能力。
【关键词】工程师职称论文,C#,可视化,编程,培养
1 理解和把握现代编程思想
采用面向对象的编程思想。相比结构性的程序,面向对象的程序结构体改称为类,成员分为公有和私有类型,并且出现类的继承和多态。面向对象的编程思想可以让程序更适合人的思维方法,有助于采用系统分析和软件工程的方式来完成。
其次,具备团队合作观念,重视人与人之间的沟通和理解能力。团队合作可以完成个人无法独立完成的大项目,另外集合众人智慧有利于产生新创意,在很大程度上可以实现优势的互补。团队中相互交流,在研发过程中遇到的困难才能最有效、最快地得到解决。
2 项目的准备工作与需求分析
2.1 制定项目实施标准
对于一个大型的系统工程来说,在开发过程中,从开始的需求分析到最终的代码实现、系统测试,会产生很多文档,这些文档要统一规范,确保在开发过程高效管理。在该环节采用任务实施主体多元化和实施内容多样化的形式。
2.2 分析需求
所谓“分析需求”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。就是确定要计算机 “做什么”,要达到什么样的效果。很多人认为需求分析是整个软件工程中最简单的一个步骤。但实际上,需求分析是整个开发过程中最关键的一个环节。如果不能做好需求分析,那么最后的软件产品很难达满足顾客的需要,也无法在规定的时间里完成项目。可把开发团队的人员分为两个小组,分别扮演用户与项目开发者角色,站在不同角度共同去分析需求。另外,深入用户进行调查研究,明确要开发产品的性能、功能需求等综合要求。
3 项目实施
该阶段实质上就是进行系统设计,是把需求转化为软件系统的最重要的环节,设计的优劣在根本上决定了软件系统的质量。
3.1 设计系统体系结构
体系结构就是软件的框架,优秀的体系结构意味着稳定和高效。最常见的体系结构是层次结构,大部分项目可以用层次结构表示:把事情分为多层,一层一层地去做,每一层次就是一个模块,高层的工作总是建立在低层的工作之上。分层结构中要处理好相邻层之间及上下层之间的接口。
刚开始练习编程题时,先把要解决的问题的过程大致分为几个大步骤,并且把每一步骤用简练的文字总结出来。然后在每一个大步骤中再细分若干中等步骤,接着再细分??这样逐步细化,直到细分得到的步骤与计算机编程语言中的某些语句(或功能模块)的功能一样或相近为止。把这些解决问题的步骤再适当地进行整理、完善和优化,就可以得到一个功能比较完整的,具有简单层次的解决问题的方案,这一过程为设计“程序文档”。文档中的每一步,基本对应着程序中的一个或一组语句.文档中的步骤顺序,基本对应着程序的流程。
3.2 模块设计
在软件开发的过程中,项目按照模块化思想拆分成若干个相对独立的功能模块,如:变量定义块、初始化块、输入块、处理块、输出块等。一个大模块可分为多个独立的小模块,一个小模块的行数以不超过一个显示屏幕为准,便于分析程序。整个项目由几组或几位开发人员分别完成,最后合并成为一个大的功能块。软件的体系结构设计完成后,各个模块应应放在体系结构的什么位置、对应什么功能都已经确定。习惯上从功能上划分模块,保持各个模块的功能独立,从而提高模块的利用率且便于测试和维护。在相对独立的基础上确保各个模块能够进行信息交流和相互配合,增强在软件开发过程中相互配合的团队意识。
3.3 算法设计
对于划分好的各个功能模块,它们之间相对独立,团队成员分工合作,设计算法,并将算法软化为事件、方法的具体任务代码,编写、调试可分别进行,然后将代码合起来。在此过程中主要强调项目实施注意事项,比如,使用公司内部的标准文档样式,唯一的用词标准、规范准确的程序书写,采用缩进式格式,合理充分地利用注释语句,增加程序的可读性,使其他编程者快速准确地了解本程序要解决的问题、解决问题的方法和思路。注意程序录入的技巧如对成对的符号,不管成对符号之间的内容,先输入成对符号,再输入成对符号之间的内容等。这将能使学生在开发过程中有效地避免很多不必要的麻烦
3.4 软件界面设计
一个软件界面就如同人的外表,影响用户对软件的第一印象。象人类追求心灵美和外表美那样,软件系统也追求(内在的)功能强大和(外表的)界面友好。Microsoft visual stdio 工具集成了C#语言的开发环境,可以快速地开发出各种形状的图形用户界面。界面设计中要保持一致性,在尊重用户习惯的基础上尽可能采用在相同应用领域中最流行的界面。
4 项目测试与验收
众所周知,一个软件产品上线运营之前,都要进行严格的内部测试和公开测试。测试的目的是为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消灭,以期提高软件的质量。不论是对软件的模块还是整个系统,总有共同的内容要测试,如正确性测试,容错性测试,性能与效率测试,易用性测试,文档测试等。“白盒测试”是指开发人员从程序内部对上述内容进行测试,而“黑盒测试”是指独立的测试人员从程序外部对上述内容进行测试。项目测试完毕,可邀请用户进行验收。
5 考核与评价
对于初学者来说,一个项目完成后,要邀请有经验的教师或开发人员对各个项目的实施情况进行合理的考核与评价,及时发现存在的问题与不足,快速积累开发经验,尽快适应企业需求。
由于.NET技术在软件开发中的应用广泛,容易上手,能有效地解决了大学生毕业时动手能力弱、实践经验少,而企业却大量需要“拿来即用”型的实战人才的要害症结。总之,树立良好的软件开发思想、熟练掌握和运用C#语言特性进行软件开发,同时培养良好的沟通能力、自觉的规范意识、独立分析问题解决问题的能力,将会使学生掌握良好的专业核心能力,很快具备行业认可的通用能力。
【参考文献】
[1]韩敬峰.基于Web的高校考试系统的设计构思[J].吉林教育学院学报,2010.
[2]张小刚.自行研制软件系统的可行性[J].中国农村教育,2004.
[3]胡晓光.在C语言教学过程中培养学生软件开发能力[J].天津市经理学院学报,2007.
[4]徐觉元.如何培养学生的软件开发经验[J].天津市财贸管理干部学院学报, 2006.
[5]姚丽丽.软件开发的测试与改错探讨[J].中国科技纵横,2011.