代码中的软件工程
孟宁
内容提要
本书共五篇:第一篇介绍常用工具VS Code、Git和正则表达式;第二篇以C语言代码为例介绍工程化编程的基本方法,涵盖代码的风格和规范、模块化、可复用、可重入函数与线程安全等;第三篇介绍从需求分析到软件设计的基本建模方法——从需求分析开始,以UML为工具完成用例建模、业务领域建模、对象交互建模,最终形成设计方案;第四篇探讨软件的元素、结构、特性和描述方法,以及高质量软件的内涵等;第五篇回顾软件危机的前因后果,并将之与PSP、TSP、CMM/CMMI、敏捷开发、DevOps等软件过程和生命周期管理衔接起来。
本书以国家精品在线开放课程——“工程化编程实战”为核心内容,增加了常用工具、需求分析与建模方法、软件结构和软件过程等相关内容,内容全面、新颖,实践性强。本书主要针对在校学生编写,适合开设相关专业的普通高校和高职院校作为主要教材,也可供不同层次的自学者学习参考。 前 言
目前,国内高校对于软件工程类课程的教授方法是以教师课堂授课为主,学生被动地听课,教学一般重理论而轻实践。中国科学技术大学软件学院软件工程课程在教学改革10年来一直寻找改变这一现状的方法,从中积累了一些教学经验,也在不断引入一些新的教学内容和教学思路,乃至对软件本身进行哲学上的思考。本书即这10年来的经验总结,编者将其整理出版,希望能抛砖引玉,激发软件工程在教学、研究和工程上的活力。
总体而言,本书兼有理论深度和实践厚度,内容丰富、由浅入深、层次鲜明。工欲善其事,必先利其器,本书首先从简单、实用的工具讲起,包括VS Code、Git以及正则表达式;接着以C语言代码为例介绍工程化编程的基本方法,涵盖了代码风格规范、模块化、可复用、可重入函数和线程安全等;然后从需求建模的角度,利用一种从需求分析到软件设计的基本建模方法,从需求分析开始,以UML为工具完成用例建模、业务领域建模、对象交互建模,最终…