前言
软件工程是指导计算机软件开发和维护的学科,是软件工程专业、计算机科学与技术专业和相关专业的主干课程,也是软件从业人员必不可少的专业知识。目前,软件工程的理论和技术在我国各行业的软件开发中得到了广泛应用,软件工程课程也受到了各高校相关专业的重视。
软件工程是一门理论与实践并重的课程。本书在讲述软件工程的基本概念、原理和方法的基础上,详细而全面地介绍了如何规范地开发和维护软件,合理地安排软件开发和维护的过程,有效地培养和提高软件开发、维护的能力,规范地书写软件工程的文档资料,以提高软件开发的效率和质量。
本书内容分为四个部分,共14章进行论述。
第一部分:软件工程引论。
第1章 软件工程概述。本章对软件、软件危机、软件工程的形成与发展、软件生存周期、软件过程模型等基本知识进行了详细介绍,并讨论了未来软件工程的发展趋势。
第二部分:传统软件工程。
第2章 软件问题定义及可行性分析。本章对软件问题定义,可行性研究的任务、步骤,可行性分析工具及成本效益进行了重点讨论,并就可行性研究的意义和内容给出了详细阐述。
第3章 需求分析。本章分别对需求分析的任务、需求分析的步骤、结构化需求分析方法、需求分析的图形工具、需求验证与管理进行了详细介绍。
第4章 总体设计。本章分别对总体设计的目标和任务、总体设计的过程、总体设计的原理、软件结构设计准则进行了详细介绍,并结合具体案例,系统地阐述了软件结构的图形工具和面向数据流的软件结构设计方法的过程。
第5章 详细设计。本章分别对详细设计的目标和任务、详细设计的原则、用户界面设计进行了详细介绍,并结合具体案例,系统地阐述了详细设计工具、面向数据结构的设计方法和程序结构复杂性的定量度量过程。
第6章 软件编码与软件测试。本章对程序设计语言,程序设计风格,软件测试定义,软件测试方法,软件测试过程,软件测试用例定义,软件测试原则、策略和软件调试进行了详细介绍,并结合具体案例,系统地阐述了黑盒测试用例设计和白盒测试用例设计过程。
第7章 软件维护。本章分别对软件维护的定义、维护分类、结构化维护和非结构化维护、软件维护工作流、维护副作用以及维护文档、维护管理文档、软件重用和再工程进行了详细阐述。
第三部分:面向对象软件工程。
第8章 面向对象技术与UML。本章分别对面向对象技术和UML图相关理论和技术进行了详细阐述,并结合具体案例,系统地阐述了用例图、类图、对象图、顺序图、协作图、状态图、活动图、包图、构件图和部署图等常用的UML图。
第9章 面向对象分析。本章分别对面向对象分析定义、面向对象分析过程和面向对象分析原则进行了详细阐述,并结合具体案例,系统地阐述了建立对象模型、建立动态模型和建立功能模型过程。(https://www.daowen.com)
第10章 面向对象设计。本章分别对面向对象设计定义、面向对象设计过程与准则和面向对象设计启发规则进行了详细阐述,并结合具体案例,系统地阐述了系统设计、对象设计过程。
第11章 面向对象编码与测试。本章分别对面向对象设计语言、面向对象设计风格和面向对象测试策略进行了详细阐述,并结合具体案例,系统地阐述了面向对象测试用例设计过程。
第四部分:软件管理与项目实例。
第12章 软件项目管理。本章分别对软件项目管理定义、软件项目估算、进度管理、风险管理、团队管理、质量管理和软件配置管理进行了详细阐述。
第13章 软件工程标准与文档。本章分别对软件工程标准、软件文档与编写要求和软件文档撰写规范指南进行了详细阐述,并给出了软件开发各阶段分析报告作为参考。
第14章 项目实例。本章以学生宿舍管理系统和学生在线选课系统为例,分别对传统软件工程和面向对象软件工程分析、设计和实现过程进行系统地阐述。
本书每章均附有习题,可通过习题练习巩固与加深所学知识。
本书具有如下特色。
(1)重理论要点。本书着重介绍了软件工程技术理论中最重要、最精华的部分,做到理论知识点之间的融会贯通。在兼顾传统软件工程方法的同时,注重当前广为采用的面向对象软件工程方法。在充分重视技术性内容,使其作为初学者必须掌握的知识的同时,详细阐述了软件工程实践中必不可少的项目管理知识。
(2)重案例实践。理论要点虽然重要,但一定要为实践服务。本书结合当前软件工程人才培养高质量、国际化、工程化的理念,以案例为主线,以简练直观图文并茂的形式,深入讲解各个知识点。
本书由吴迪、马宏茹、丁万宁主编。参加编写的人员及安排如下:河北工程大学吴迪编写第1章、第6章;大连科技学院马宏茹编写第8章、第9章和第10章;邯郸学院丁万宁编写第7章;河北工程大学楚荣珍编写第2章、第5章;河北工程大学汤永新编写第3章、第4章;延安大学郝继升编写第11章;运城学院卢照编写第12章;郑州工业应用技术学院赤娜编写第13章;运城学院李奋华编写第14章。主编吴迪还负责拟订教材大纲、统稿、校对以及课件制作等工作。
本书在编写过程中得到了河北工程大学软件工程系和计算机科学与技术系老师们的指导和帮助,2015级软件工程专业本科生周萍,研究生赵伟超、王梓宇等同学参加了教材的整理、绘图、课件制作等工作,在此一一致谢。
为了便于教学,本教材配有教学课件与课后习题参考答案,免费供读者使用。由于作者水平有限,书中难免有不足之处。敬请读者批评指正,以使本书日臻完善。
吴 迪
2019年7月