图书前言

针对理工类专业人才计算机软件开发能力培养的需求,作者根据多年教学以及软件开发实践的经验,以算法与数据结构、数据库技术、操作系统技术、软件设计方法和个体软件过程管理等内容为主线,系统地介绍软件开发过程所涉及的基本方法和技术。

本书从软件开发能力培养的实际目标出发,注重技术的实用性和典型性,将内容分为基础篇、方法篇和工程篇,既紧跟软件开发的技术前沿,又兼顾传统的方法和技术。

基础篇由第1章至第4章构成,系统地介绍软件开发所需常用算法与数据结构、数据库基础、进程与线程、文件管理、用户界面设计和数据库开发等实用软件开发技术基础。第1章从程序、软件到系统的视角,介绍了随着软件开发规模的不断扩大,由程序设计上升为软件开发所涉及的各种知识;第2章以程序设计能力培养为目标,介绍了常用的算法与数据结构,包括线性表、堆栈、树、图、查找、排序和递归;第3章从数据存储和处理的角度,介绍了数据库相关技术,实现从文件管理到数据库管理的跨越;第4章从软件开发实践出发,介绍了软件开发过程所要掌握的操作系统及其接口方面的知识。

方法篇由第5章至第7章构成,重点介绍基于UML面向对象的软件开发方法,同时兼顾了传统结构化开发方法。第5章从结构化程序设计入手,系统地介绍结构化软件开发方法;第6章在分析了结构化软件开发方法的不足后,系统地介绍主流的面向对象的软件开发方法,主要包括基于UML的面向对象的软件设计建模;第7章系统地介绍软件工程及项目管理方面的知识。

工程篇由第8章和第9章构成。在简述软件工程基本概念的基础上,介绍了个人软件过程管理PSP和组件技术。第8章从软件开发是一个典型工程项目的高度,介绍软件工程基本概念,并从个体软件过程管理能力培养的角度,重点介绍PSP。第9章从软件开发过程的分工与重用角度,介绍软件开发过程中设计的库和组件技术,重点介绍了支持多平台的CORBA组件技术。

本书作为国家级网络精品课“软件技术基础”的配套教材,由周福才、高克宁、李金双、赵长宽、柳秀梅和高岩共同完成。其中,精品课课程负责人周福才教授负责本书内容的组织、统稿和审校。高克宁编写第1、2章,柳秀梅编写第3章,李金双编写第4、6章,高岩编写第5、7章,赵长宽编写第8、9章。

由于作者水平有限,书中难免会有错误或疏漏之处,真诚地欢迎各位专家和读者批评指正,以帮助我们进一步完善教材。

                                                                作 者2011年4月于东北大学