工程应用软件开发技术

分类: 图书,计算机/网络,行业软件及应用,
作者: 蔡娥,许跃敏编著
出 版 社: 浙江大学出版社
出版时间: 2008-10-1字数: 402000版次: 1页数: 304印刷时间: 2008/10/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787308062053包装: 平装内容简介
本书在讲义的基础上整理而成。内容经过反复推敲,具有如下特点:
(1)从工程应用软件开发的角度来组织和整理计算机知识。应用软件开发除了行业知识外,涉及大量计算机知识,如软件工程、数据结构、计算机语言和数据库技术等,它们的每一方面都是计算机类学生知识体系结构上的一环,有对应的课程和教材,但非计算机专业学生没有足够的时间、精力逐一学习。本书从实用的角度出发,精选了工程应用软件开发必备的各门知识的基础,只求“够用”,不求“精深”、“全面”,但并非这些课程的“缩写版”。
(2)本书在讲述技术内容的过程中,重点强调软件开发各个过程的“思想”,引导读者始终从系统分析员、软件使用者的角度来学习软件开发技术,而不仅从程序员的角度来考虑问题。
(3)本书内容丰富,但并非各个知识点的简单拼凑,每一类知识点都围绕“工程应用软件开发”这一主题展开,章节问既有相对的独立性,又有深刻的联系。高校可以根据自己的教学目的,选择其中的某些内容。
(4)本书在介绍编程语言时,对内容进行了大胆的取舍,不同于编程语言书籍的缩写版。本书以应用最广的C/C++语言为例,重点讲述语言学习中的难点和易混淆的知识点,强调良好的编程习惯;基本略过语法、结构等编程书籍必讲和读者容易掌握的内容。
(5)本书提供的3个工程实例,都来源于编者开发完成的工程应用软件。书中的实例力求贴近实际应用,深人浅出,便于读者理解和应用。
本书可以作为各类高校非计算机专业学习软件开发技术的教学用书,以及有志从事行业软件开发的技术人员的参考用书;也可以作为专业软件维护和管理人员的参考书。
目录
第1章绪论
1.1 引言
1.2软件开发的基本概念
1.2.1信息与数据
1.2.2软件
1.2.3软件的特点
1.2.4软件工程
1.2.5软件开发必备的计算机基础
1.3软件开发及发展史
1.3.1过程化技术阶段
1.3.2过程结构化技术阶段
1.3.3数据结构化技术阶段
1.3.4面向对象技术阶段
1.3.5研究软件开发技术的目的
1.4软件开发编程语言
1.4.1低级语言
1.4.2 中级语言
1.4.3 高级语言
第2章软件工程
2.1软件工程的基本概念
2.1.1软件危机
2.1.2软件工程
2.1.3软件质量
2.1.4软件的生命周期
2.1.5软件开发模型
2.1.6 软件管理与软件过程改进
2.2可行性分析与计划
2.2.1软件系统定义
2.2.2可行性分析
2.2.3软件计划
2.3需求分析
2.3.1 需求分析的重要性
2.3.2需求分析的任务
2.3.3需求分析方法
2.3.4需求分析产生的文档
2.3.5需求分析工作心得
2.4交互设计
2.5概要设计
2.6详细设计
2.7软件编程
2.8软件测试
2.8.1软件测试的目的
2.8.2测试过程
2.8.3软件测试经验谈
2.9软件维护
2.10软件文档
2.10.1文档的重要性
2.10.2文档的种类和内容
2.10.3文档的质量要求
2.10.4文档的管理
参考文献
思考题
第3章数据结构基础
3.1数据结构基本概念
3.1.1数据结构
3.1.2数据模型
3.1.3数据结构分类
3.1.4数据结构表达语言
3.2线性结构
3.2.1线性结构定义
3.2.2用顺序结构实现线性结构
3.2.3用链式结构实现线性表
3.3线性结构应用
3.3.1一元多项式
3.3.2栈
3.3.3 队列
……
第4章C语言深入讨论
第5章面向对象技术
第6章C++语言
第7章数据库技术基础
第8章工程应用软件开发实例
附录1软件分类示例
附录2锅炉热力计算系统类设计
书摘插图
第1章绪论
1.1 引言
只要打开计算机,就必然要与软件打交道。那么软件开发与我们有什么关系呢?人们总是想当然地认为,软件运行于计算机上,自然应该由计算机专业的技术人员来开发。这种看法是错误的,至少是片面的。
计算机作为一个工具,为各行各业提供了很大便利,提高了效率,促进了行业技术的快速发展;但大多数行业应用并不直接与计算机技术相关。例如,服装领域的面料、款式设计,工程领域的产品设计、制造和分析,企业的人事、财务管理等。每个行业有各自的知识系统结构,不同行业的应用软件通常不通用,必须专门开发。显然,由于专业知识所限,这些应用软件的开发不可能完全由计算机专业的技术人员承担。
作为非计算机的专业技术人员,即使不作为专业软件开发的主体,也要参与到专业软件开发的过程中来,这样才能使开发出来的软件合乎专业要求。事实上,很多专业软件并不是由专门的软件开发公司开发出来的,比如大型CSD/CAM/CAE软件大多是一些大型企业为了自身的产品设计需要而研制的,这使这些公司逐渐发展为独立的信息系统公司。如I-DEAS由美国航空及宇航局(NASA)开发、UG由美国麦道(MD)公司开发、CATIA由法国达索(Dassault)公司开发等。
这就给我们一个启示:非计算机专业的学生,完全可以并且应该承担起行业应用软件开发的重任。
那么怎样做才能具备工程应用软件开发的基本能力呢?
软件离不开编程,而几乎每个专业的学生都至少学过一门计算机语言类的课程。那么,有了这个基础,是否就可以担当起专业软件开发的重任?答案同样是否定的。
首先,必须明白,软件开发是一项系统工程,必须具备软件工程、数据结构、数据库、软件设计思想等计算机基础知识,还要精通至少一门编程语言,才具备开发专业软件的基本能力。这些基础知识,都是计算机专业的必修课。
其次,还要明白,学习上述课程只是工程应用软件开发的必要条件,而不是充分条件。通常这些课程都是面向计算机专业的学生而开设的,非计算机专业的学生即使有时间和精力选修了这些课程,依然不能建立起工程应用软件开发的体系结构。原因很简单,正如所有专业的学生都学习高等数学课程,但文科类学生的高等数学与工科类的高等数学不同,和数学专业的高等数学(数学分析)更存在差异。于是,工科类专业开设了类似“工程数学”类的课程,将工程中最常用的数学知识提炼出来强化学习。所以,非计算机专业学生学习软件开发技术也必定与计算机专业的学生有所区别,我们只需把工程应用软件开发所必需的计算机相关知识提炼出来学习,而不需要在某个方向过深地钻研。
……