第4版前言
软件工程是计算机专业的一门重要的专业基础课。它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。近年来,计算机软件已经成为现代科学研究和解决工程问题的基础,以及管理部门、生产部门和服务行业中的关键因素,渗透到了各个领域,成为许多领域不可缺少的一部分。
现在,政府和企业每年都有关于软件科学研究的投资,但要取得项目的支持,需要向政府和企业提交项目申请报告或者是投标书。项目获批后,要做系统分析与设计作为中期检查文件提交;项目完成后要提交研究报告和测试报告。这些报告的内容与规范都需要有过硬的计算机软件技术概念和方法。所以,如果没有清晰的软件工程概念和工程经验,就很难完成软件工程的工作。几年前,我们编写的《软件工程习题解答(第3版)》,使用中备受欢迎。为更好地反映最近几年软件工程领域的发展现状, 根据普通高等教育“十二五”国家级规划教材的指导精神,作者总结近年来教学和科研的经验,对第3版的内容又作了调整和增删,结构上也进行了必要的调整,形成了第4版。本书可以与作者编写的《软件工程(第4版)》和《软件工程实践与课程设计》配套使用。为了训练学生的解题思维,提高灵活性,书中保留了一些英文题型。
软件设计与开发的先进性是众所周知的。读者一般比较容易接受软件工程的概念,但在现实中往往会觉得要解决的问题多,且对有些问题又缺乏工程经验,掌握和运用这门先进的技术并完整地进行系统开发,有一定难度。鉴于此,我们编写了《软件工程(第4版)》作为理论与方法学习,《软件工程实践与课程设计》作为实践训练,《软件工程习题解答(第4版)》作为综合训练。
在本书的编写过程中,得到李代平负责的广东省重点一级学科建设项目“计算机科学与技术”的支持。广东理工学院胡致杰、赖小平、杨成义、杨挺来老师参加了资料的收集与整理工作。
由于软件工程的知识面广、在介绍中不易面面俱到,加上作者水平有限,书中的不足之处在所难免,恳请读者批评指正。
编者
2017年5月于振华楼
第3版前言
用软件工程的思想进行软件设计与开发的先进性是众所周知的。作为软件技术人员,接受软件工程的概念并不难,但是要真正理解、掌握和运用这门先进的技术并完整地进行系统开发,是有一定难度的。鉴于此,我们编写了配合软件工程学习的练习教材。
几年前我们编写的《软件工程习题解答(第2版)》在使用中备受欢迎。为更好地反映最近几年软件工程领域的发展现状, 根据普通高等教育“十二五”国家级规划教材的指导精神,作者总结近年来教学和科研的经验,在第2版基础上作了调整和增删,变动超过20%,结构上也进行了必要的调整。同时,我们将书名由《软件工程习题与解答》改为《软件工程习题解答(第3版)》。
编者
2015年1月于广州小谷围岛
第2版前言
一、 关于本书
软件工程是指导计算机软件开发的工程科学,人们希望通过工程技术方法和管理手段使软件开发工程化,由此产生了软件工程学。软件工程学是采用工程的概念、原理、技术与方法,把当前最好的技术方法与已经被实践证明的正确管理方法相结合来开发软件。从20世纪60年代提出软件工程的概念以来,软件工程的技术逐渐成熟,现在已成为计算机科学与技术中一门重要学科。
本书是作者根据近十年来对软件工程学、面向对象方法学等学科的教学与研究,以及作者领导或参与的二十多项软件项目开发的实际应用经验,并结合软件开发新技术精心编写的《软件工程》(第2版)一书的参考书。
二、 本书结构
本书与教材《软件工程》(第2版)配套使用,也是由22章组成,内容基本上与教程一一对应。具体内容安排如下:
软件工程的基本理论,可行性研究,软件需求分析与概念模型,总体设计,软件细节设计,面向对象,控制驱动部分的设计,对象设计,数据库及其接口设计,软件界面设计,软件实现,软件质量,软件测试,软件维护,软件项目管理与计划。每章都由基础知识、单元练习和参考答案组成。
本书后面的附录中给出了综合测试试题及参考答案。
三、 本书特点
本书内容全面,习题丰富,每章都包括三种题型: 填空题、选择题和简答题。选择题、填空题是考察读者的基本知识,有些选择题还给出了必要的解析,力求对每个知识点都讲解清楚,使读者对该知识点的来龙去脉有较深刻的理解;填空题进一步巩固基本知识点;简答题是考察读者的综合知识的运用能力,对每道简答题都给出了参考答案。读者通过每章基础知识的学习,再结合单元练习进行训练,就能很快掌握软件工程的相关知识。
四、 适用对象
本书可与已经出版社的《软件工程》(第2版)一书配套使用,也可单独使用。本书可以作为大专院校相关专业高年级学生的参考用书,特别适合于计算机本科和专科学生、报考计算机专业硕士研究生的考生、参加国家高等教育自学考试的考生、参加计算机等级考试的考生和计算机专业的高级人员参考。
由于软件工程所涉及的知识面广、内容深,加上时间仓促,作者水平有限,书中的不足之处在所难免,恳请读者批评指正。
编者
2007年5月于广州小谷围岛
第1版前言
一、 关于本书
软件工程是指导计算机软件开发的工程科学,人们希望通过工程技术方法和管理手段使软件开发工程化,由此产生了软件工程学。软件工程学是采用工程的概念、原理、技术与方法,把当前最好的技术方法与已经被实践证明的正确管理方法相结合来开发软件。从20世纪60年代提出软件工程的概念以来,软件工程的技术逐渐成熟,现在已成为计算机科学与技术中一门重要学科。
本书是作者根据近十年来对软件工程学、面向对象方法学等学科的教学与研究,以及作者领导或参与的二十多项软件项目开发的实际应用经验,并结合软件开发新技术精心编写的《软件工程》一书的参考书。
二、 本书结构
本书共由16章组成,具体内容安排如下:
第1章绪论。主要内容包括软件工程的产生、软件工程的概念、软件开发环境、软件工具、计算机辅助软件工程。
第2章软件工程的基本理论。主要内容包括软件工程过程、软件生存周期、软件生存周期模型、软件开发的增量模型、软件开发方法。
第3章可行性研究。主要内容包括可行性研究的任务、可行性研究的具体步骤、可行性研究报告的主要内容、成本效益分析、项目开发计划。
第4章软件需求分析与概念模型。主要内容包括需求分析的概念、需求分析的基本原则、需求分析的基本任务、结构化分析方法、结构化分析的步骤、数据流图、数据字典、加工逻辑的描述、IDEF方法。
第5章总体设计。主要内容包括软件总体设计的基本任务、软件设计的基本原理、软件结构图、软件结构设计优化准则、面向数据流的设计方法、IDEF0图设计方法、表示软件结构的另一种图形工具——HIPO图。
第6章软件细节设计。主要内容包括详细设计的基本任务、结构化程序设计方法的基本要点、详细设计描述、Jackson方法。
第7章面向对象方法学。主要内容包括传统方法学的缺点、面向对象的基本概念、面向对象模型。
第8章面向对象分析。主要内容包括分析的基本过程、发现对象的方法、定义属性与服务、定义结构、实例连接。
第9章面向对象设计。主要内容包括设计的准则、启发式规则、面向对象程序设计、软件重用技术。
第10章形式化方法。主要内容包括形式化方法的概念、有限状态机、Petri网、净室方法学。
第11章用户界面设计。主要内容包括软件界面设计、设计人机交互子系统、图形用户界面设计、多媒体用户界面设计。
第12章软件质量。主要内容包括软件质量的概念、质量度量模型、软件复杂性、软件可靠性、软件评审、软件容错技术。
第13章软件实现。主要内容包括程序设计语言特性、程序设计语言的选择、程序设计风格。
第14章软件测试。主要内容包括软件测试的目的、软件测试的原则、测试方法、黑盒测试法与白盒测试法、黑盒技术、白盒技术、软件测试过程、调试。
第15章软件维护。主要内容包括软件维护的内容、软件维护的特点、软件维护的困难性、软件维护的费用、软件维护任务的实施、软件的可维护性。
第16章软件项目管理与计划。主要内容包括软件项目管理的内容、软件项目计划、软件配置管理、软件工程标准化与软件文档。
本书后面的附录中给出了综合测试试题及参考答案。
三、 本书特点
本书内容全面,习题丰富,每章都包括三种题型: 填空题、选择题和简答题。选择题、填空题是考察读者的基本知识,有些选择题还给出了必要的解析,力求对每个知识点都讲解清楚,使读者对该知识点的来龙去脉有较深刻的理解;填空题进一步巩固基本知识点;简答题是考察读者的综合知识的运用能力,对每道简答题都给出了参考答案。读者通过每章基础知识的学习,再结合单元练习进行训练,就能很快掌握软件工程的相关知识。
四、 适用对象
本书可与冶金工业出版社的《软件工程》一书配套使用,也可单独使用。本书可以作为大专院校相关专业高年级学生的参考用书,特别适合于计算机本科和专科学生、报考计算机专业硕士研究生的考生、参加国家高等教育自学考试的考生、参加计算机等级考试的考生和计算机专业的高级人员参考。
由于软件工程所涉及的知识面广、内容深,加上时间仓促,作者水平有限,书中的不足之处在所难免,恳请读者批评指正。
在阅读本书时,读者如果有好的意见或建议,可以发Email到Service@cnbook.net,也可以到相关网站进行探讨。网址: http://www.cnbook.net。
编者
2003年5月