前言
在最近的10年里,信息技术产业的发展速度一直保持着较好的发展态势,对我国经济的快速发展有非常重要的影响。同时,信息技术产业在我国“十三五”期间被列为重点发展产业,在这样的市场和政策推动下,.NET(软件开发领域最重要的软件开发平台之一)软件工程师的需求量必定大幅增加。
要培养一名合格的软件工程师,不但要掌握大量的计算机基础理论和软件开发专业知识,还必须具备良好的实践动手能力。计算机基础和专业理论知识一般在高等院校的教学过程中获得,实践动手能力则必须在实习、实训或实际工作岗位中才能得到较好地锻炼。目前,我国的高等教育在计算机基础和专业理论知识的教学方面做得非常出色,为软件工程师的人才培养打下了很好的理论基础,但在学生的实践动手能力培养方面,由于受到硬件、师资等各方面的约束,导致各高校无法很好地开展实习、实训环节,使得很大一部分学生的实践动手能力没有得到较好的锻炼,从而导致毕业学生的职位胜任能力低下。另一方面,对于那些即将毕业而又没能接受良好实践动手能力训练的学生来说,如果没有得到合适的、能有效提高实践动手能力的机会,学生无疑只能选择放弃。
软件工程师是一个对逻辑思维要求很强、动手能力要求很高的岗位,要达到软件工程师的任职基本要求,必须要有一本能切实提升实践动手能力的书籍。
本书分为基础篇和项目实战篇两部分。基础篇包括搭建开发环境、ASP .NET MVC、JQuery及ORM等内容,讲解这些知识时列举了大量的案例帮助读者理解基础理论,案例步骤采用StepbyStep的方式进行讲解,降低了读者完成案例的难度。在基础篇的基础上,本书的第2部分以实际的商业项目(物流管理系统)开发过程为主线,开发工具使用VisaulStudio2013,类库采用.NET FrameWork4.5,并综合应用Castle.NET ORM、AspectofProgramming、InverseofControl、JQuery、AJAX、MVC等市场上流行的软件开发思想和技术,突出技术与市场需求接轨。
本书不但讲解软件开发技术知识,而且引用了采用面向对象分析与设计和基于框架的软件开发思想,模拟软件公司真实的软件开发平台、环境和开发过程,有利于培养并提高.NET软件工程师的实践动手能力和工程化的软件项目实际操作能力,能较好地解决软件工程师实践动手能力低下的问题。
编写本书的两位作者均具备近10年的软件企业工作经历和6年高校软件工程本科专业人才培养规划、建设和教学实施经验,从技术上能有效地保证本书内容的先进性和实用性,并能从全书的结构组织上保证教学有一定的规律性。本书的第1章、第3~7章和第10章由李发陵编写;第2章、第8~9章、第11~15章由冷亚洪编写;全书由重庆工程学院软件工程专业2014级优秀学生王曾宇同学校稿。
本书的使用对象如下。
(1)可以作为培训机构、应用型本科或软件类高职人才培养的实训教材。应用型人才培养过程中编程能力模块的学习顺序如下:面向过程(C语言程序设计基础)软件开发思想→面向对象软件开发思想(C#面向对象程序设计)→Web应用程序设计→框架程序设计。本书基于软件开发框架编制,可作为框架程序设计或实训教学环节的参考书籍。
(2)可以作为.NET软件工程师的岗前学习教材。本书讲解了市场上广泛应用的软件开发技术,体现了软件企业用人的需求。同时,本书项目实战篇中的功能实现是基于软件企业开发过程而组织的,可以实现软件工程师岗前到上岗阶段的无缝对接。
(3)可以作为.NET软件工程师能力提升的书籍。目前有大量软件企业为了追求利益最大化,忽视员工技术的可持续性发展与培养,采用的技术仍停留在多年前的水平,员工技能原地踏步,得不到很好的提升。本书使用Castle.NET、AOP、IOC等市场流行的软件开发技术和规范的软件开发过程,辅助读者建立面向对象和框架软件的开发思想,能较好地起到开拓软件、开发思维,建立规范的工程化软件开发意识,提高技术和技能应用能力的作用。
本书提供案例和项目的全部源代码,可访问清华大学出版社的网站(http://www. tup.tsinghua.edu.cn)进行下载或通过作者的邮箱获取(478779961@qq.com)。
在此,感谢为本书出版提供帮助的所有人,特别是感谢作者的家人在编稿过程中提供的精神支持和时间便利。
尽管作者竭尽所能保证正文和代码的质量,但由于时间有限,不当之处在所难免,如果读者在阅读过程中发现问题,请及时发邮件给我们,我们将及时予以回复。
作者
2017年1月