计算机程序员教程

-
【作 者】主编 李学国 任小平
【I S B N 】978-7-5226-3451-7
【责任编辑】鞠向超
【适用读者群】本专通用
【出版时间】2025-09-01
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】324
【千字数】584
【印 张】20.25
【定 价】¥59
【丛 书】暂无分类
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书依据《计算机程序设计员国家职业技能标准》(2022年版),结合最新的行业技术编写而成。根据软件开发的项目周期及其需要掌握的基础知识,本书共分为4部分:第1部分为软件工程,包括软件工程基础知识、软件系统需求分析和开发文档的识读与编写;第2部分为必须掌握的计算机基础知识,包括计算机基础与体系结构、操作系统原理与技术和计算机网络;第3部分为实际的软件设计,包括基本应用程序开发、算法设计基础、数据库设计、桌面程序设计、网页程序设计和网络应用程序开发;第4部分为软件测试,包括软件测试基础、集成测试与系统测试、软件测试用例设计方法。
本书可作为计算机程序设计员职业技能鉴定考试的参考教材,也可作为软件编程从业人员学习编程技术的教材或开展日常工作的参考用书。
贴合职业标准:依据最新计算机程序设计员国家职业技能标准编写
编排科学合理:章节安排遵循计算机知识体系,方便读者系统学习
内容覆盖广泛:涵盖从基础知识到高级应用,遵循软件开发全流程
在数字时代,计算机技术已经渗透到人们生活的每一个角落。从日常的通信交流到复杂的科学研究,计算机程序无处不在,它们在提高效率、创造价值方面发挥着不可替代的作用。随着技术的不断进步,社会对计算机程序员的需求也日益增长。无论是大型企业还是初创公司,都需要具备编程技能的人才来推动项目发展。然而,成为一名合格的程序员并非易事,需要进行系统的学习和大量的实践。
根据职业发展需求,我国于2022年更新了《计算机程序设计员国家职业技能标准》,该标准以“职业活动为导向、职业技能为核心”作为指导思想,对计算机程序设计从业人员的职业活动内容进行了规范细致的描述,对各等级从业者的技能水平和理论知识水平进行了明确规定。
本书旨在为初学者提供一条清晰的学习路径,帮助其从零开始掌握编程基础,逐步成长为一名能够独立完成项目的程序员。本书不仅关注教授具体的编程语言和技术,更重视培养解决问题的能力和良好的编程习惯。通过一系列精心设计的实例和练习,读者将能够在实践中学习和成长。
本书覆盖了从基础到高级的广泛主题,编写方式遵从软件开发前、软件开发中和软件开发后的实际开发流程。软件开发前需要掌握软件工程相关知识,如软件开发生命周期、敏捷开发等理念,帮助读者了解专业软件开发流程。软件开发中需要掌握计算机基础知识,包括计算机及其组成原理、操作系统、计算机网络;软件开发基础知识,包括编程入门、数据结构和算法及数据库等。同时,根据软件使用场景的不同,将被开发程序分为桌面程序设计、网页程序设计、网络程序开发。软件开发后,主要是进行软件测试。本书在章节的安排上,遵从了计算机知识体系,如下图所示。
无论是新手小白,还是有一定经验希望进一步提升自我的程序开发者,本书都将为您提供宝贵的知识和技能支持。我们相信,通过对本书的学习,您将能够开启一段充满挑战和机遇的编程之旅,最终成为技术领域的佼佼者。
本书由重庆化工职业学院李学国和任小平任主编,黑龙江外国语学院高欣宇、重庆翰海睿智大数据科技服务有限公司陈继、重庆树德科技有限公司李军凯任副主编,夏家文、陈浩阳、宋三泰、罗谧、刘小勇参与编写。全书由李学国统稿,李廷真、程辰审稿。
由于编者水平有限,书中难免存在疏漏之处,欢迎广大读者批评指正。
第1部分 软 件 工 程
第1章 软件工程基础知识 1
1.1 软件工程基础概念 2
1.1.1 软件的定义与特点 2
1.1.2 软件危机与软件工程 2
1.1.3 软件开发方法 3
1.1.4 软件过程与生命周期 4
1.1.5 软件工程的目标 8
1.2 软件开发基础知识 8
1.2.1 软件开发工具 8
1.2.2 软件开发工具的功能要求和性能要求 8
1.2.3 软件开发环境 10
1.3 软件开发规范基础 10
1.3.1 软件开发规范的重要性 10
1.3.2 软件开发规范的主要内容 10
1.4 软件项目管理基础 11
1.4.1 软件项目管理的过程 11
1.4.2 软件项目管理的内容 12
1.4.3 软件项目估算与进度管理 12
1.4.4 软件项目的实施阶段 13
1.5 系统运行和维护基础 13
1.5.1 系统运行和维护基础的重要性 13
1.5.2 系统运行管理基础 14
1.5.3 系统维护基础 15
1.6 程序设计说明文档的识读 15
1.6.1 程序设计说明文档的目的 15
1.6.2 程序设计说明文档的内容 15
第2章 软件系统需求分析 17
2.1 需求分类 18
2.1.1 功能性需求与非功能性需求 18
2.1.2 用户需求与系统需求 18
2.2 需求收集 19
2.2.1 收集需求的方法 19
2.2.2 需求规格说明书 20
2.3 原型系统 20
2.3.1 原型系统简介 20
2.3.2 原型模型的主要思想 21
2.3.3 原型系统的开发过程 21
2.3.4 软件原型系统的分类 21
2.4 提出需求分析建议 22
2.4.1 软件需求分析的方法 22
2.4.2 软件需求分析流程 24
2.4.3 软件需求分析常用工具 25
第3章 开发文档的识读与编写 26
3.1 认知软件设计文档 27
3.1.1 总体设计过程 27
3.1.2 总体设计的图形工具 28
3.1.3 软件总体说明书 30
3.2 软件设计的原则 32
3.2.1 开闭原则 32
3.2.2 里氏替换原则 32
3.2.3 依赖倒置原则 32
3.2.4 单一职责原则 33
3.2.5 接口隔离原则 33
3.2.6 迪米特法则 33
3.2.7 合成复用原则 34
3.3 详细设计的工具 34
3.3.1 程序流程图 34
3.3.2 N-S图 35
3.3.3 详细设计工具的选择 37
3.3.4 软件详细设计说明书的典型内容 37
3.3.5 编写软件详细设计说明书的注意
事项 38
3.4 软件设计代码规范 38
3.4.1 软件程序步骤 38
3.4.2 软件代码规范 39
3.4.3 代码相关因素 39
3.5 开发文档的编写 41
3.5.1 UML的应用及case工具 41
3.5.2 UML软件设计 43
第2部分 计算机基础知识
第4章 计算机基础与体系结构 50
4.1 计算机科学基础 50
4.1.1 数制及其转换 50
4.1.2 数据的表示 52
4.1.3 逻辑运算和算术运算 56
4.2 计算机体系结构 57
4.2.1 计算机系统结构概述 57
4.2.2 存储系统 57
4.2.3 指令系统 60
4.2.4 中央处理器 64
4.2.5 输入/输出系统 66
第5章 操作系统原理与技术 68
5.1 操作系统概述 69
5.2 进程管理 69
5.2.1 基本概念 69
5.2.2 进程的死锁 72
5.2.3 进程的同步与互斥 73
5.3 存储器管理 74
5.3.1 基本概念 74
5.3.2 连续分配存储管理 75
5.3.3 分页存储管理 75
5.3.4 分段存储管理 77
5.3.5 段页式存储管理 78
5.4 I/O设备管理 78
5.4.1 I/O设备的类型 79
5.4.2 I/O系统的设备控制器 79
5.4.3 设备独立性 80
5.4.4 设备驱动程序 80
5.5 文件系统 81
5.5.1 文件与文件系统的基本概念 81
5.5.2 文件的物理结构 82
5.5.3 文件目录 83
5.5.4 文件的共享 85
5.5.5 文件系统的安全与可靠性 86
第6章 计算机网络 87
6.1 分层体系结构及网络协议 88
6.1.1 分层体系结构 88
6.1.2 网络分层模型及协议 89
6.2 传输媒介 91
6.3 网络设备 93
6.3.1 按体系结构划分的网络设备 93
6.3.2 交换方式 95
6.3.3 网络的分类 96
6.4 IP地址 98
6.4.1 网络互联模型 98
6.4.2 IP地址的分类 98
6.4.3 IP数据报的构成及转发过程 100
6.4.4 子网的划分 103
6.4.5 超网的构成 104
6.5 TCP/IP协议族 105
6.5.1 网络接口层协议 105
6.5.2 网络层协议 106
6.5.3 传输层协议 107
6.5.4 应用层协议 110
第3部分 软 件 设 计
第7章 基本应用程序开发 116
7.1 代码风格与编程规范 116
7.1.1 代码风格 117
7.1.2 编程规范 117
7.2 C#应用程序开发环境的搭建 120
7.2.1 .NET平台 120
7.2.2 C#开发环境的安装和搭建 121
7.3 C#的第一个基本应用程序 124
7.4 C#的数据类型 126
7.4.1 值类型和引用类型 126
7.4.2 数组、结构和枚举 130
7.5 C#运算符和表达式 132
7.5.1 算术运算符 132
7.5.2 比较运算符 133
7.5.3 布尔逻辑运算符 133
7.5.4 表达式 135
7.6 C#的结构化程序设计 136
7.6.1 顺序结构程序设计 136
7.6.2 选择结构程序设计 136
7.6.3 循环结构程序设计 141
7.7 面向对象程序设计基础 144
7.7.1 基本概念 144
7.7.2 类和对象 146
7.7.3 类的属性和方法 147
7.7.4 继承、多态、接口、委托和事件 149
第8章 算法设计基础 154
8.1 计算机算法概述 154
8.1.1 算法的5个特性 154
8.1.2 算法设计的要求 155
8.1.3 算法效率的度量 155
8.2 常见算法 156
8.2.1 迭代法 156
8.2.2 穷举搜索法 157
8.2.3 递推法 157
8.2.4 递归法 157
8.2.5 分治法 158
8.2.6 动态规划法 159
8.2.7 回溯法 160
8.2.8 贪心法 161
8.2.9 分支限界法 161
8.2.10 概率算法 162
第9章 数据库设计 163
9.1 MySQL概述 163
9.1.1 数据库的相关概念 164
9.1.2 MySQL数据库 165
9.1.3 集成化的服务器和数据库软件 171
9.2 SQL 173
9.2.1 SQL通用语法 173
9.2.2 SQL的分类 173
9.2.3 DDL 174
9.2.4 DML 178
9.2.5 DQL 181
9.2.6 DCL 198
9.3 函数 200
9.3.1 数学函数 200
9.3.2 字符串函数 202
9.3.3 日期和时间函数 203
9.3.4 聚合函数 205
9.3.5 条件函数 205
第10章 桌面程序设计 206
10.1 Windows编程的基础知识 207
10.1.1 窗口 207
10.1.2 Windows的消息系统 207
10.1.3 Windows编程接口和类库 207
10.1.4 Windows应用程序的基本结构 208
10.2 常用控件和类的使用 213
10.2.1 控件通用属性 213
10.2.2 Form类 214
10.2.3 标签(Label)控件 214
10.2.4 按钮(Button)控件 216
10.2.5 事件处理函数的参数 217
10.2.6 文本框(TextBox)控件 217
10.2.7 Convert类 218
10.2.8 单选按钮(RadioButton)和GroupBox
控件 218
10.2.9 Font类 219
10.2.10 多选框(CheckBox)控件 220
10.2.11 列表选择(ListBox)控件 220
10.2.12 下拉列表框(ComboBox)控件 222
10.2.13 ToolTip控件 222
10.2.14 超链接(LinkLable)控件 223
10.2.15 定时(Timer)控件 223
10.2.16 DateTime类 224
10.2.17 菜单 225
10.2.18 工具条 226
10.2.19 状态栏(StatusBar)控件 228
10.2.20 鼠标事件 229
第11章 网页程序设计 231
11.1 网页程序设计简介 232
11.1.1 什么是Web开发 232
11.1.2 HTML的基本结构 233
11.1.3 HTML注释 233
11.2 开发环境的搭建 234
12.2.1 下载 HBuilder X 234
11.2.2 安装 HBuilder X 234
11.2.3 基本配置 235
11.3 HTML基础 238
11.3.1 基础标签 238
11.3.2 高级标签 239
11.3.3 HTML布局 242
11.4 CSS基础 244
11.4.1 CSS简介 244
11.4.2 CSS的编写位置 244
11.4.3 样式表的优先级 245
11.4.4 CSS语法规范 247
11.4.5 CSS代码风格 249
11.5 JavaScript基础 250
11.5.1 JavaScript简介 251
11.5.2 引入方式 251
11.5.3 基础语法 252
11.5.4 JavaScript对象 257
第12章 网络应用程序开发 268
12.1 Socket的编程及应用 268
12.1.1 Socket套接字介绍 268
12.1.2 C#中的Socket类 271
12.1.3 Socket应用程序的实现 273
12.2 TCP/IP编程应用 276
12.2.1 TCP程序设计和应用 276
12.2.2 UDP程序设计和应用 279
12.2.3 TCP/IP 异步处理方法 281
12.2.4 TCP/IP出错处理方法 291
第4部分 软 件 测 试
第13章 软件测试基础 294
13.1 软件测试的目的和原则 294
13.1.1 软件测试的目的 294
13.1.2 软件测试的原则 295
13.2 软件测试的分类 295
13.3 软件测试的一般流程 296
第14章 集成测试与系统测试 298
14.1 集成测试 298
14.1.1 集成测试的注意事项 298
14.1.2 集成测试的集成方式 298
14.1.3 集成测试的一般流程 299
14.2 系统测试 302
14.2.1 系统测试的目标 302
14.2.2 系统测试的流程与内容 302
第15章 软件测试用例设计方法 304
15.1 黑盒测试的测试用例设计方法 304
15.1.1 黑盒测试概述 304
15.1.2 设计方法 305
15.2 白盒测试的测试用例设计方法 307
15.2.1 白盒测试概述 308
15.2.2 设计方法 308
参考文献 315
- 水利水电工程施工组织设计 [主编 胡建春 钱波 何茜]
- 信息技术 [主编 任洪亮 邢海燕]
- 高职美育 [王敦]
- 系统分析师考前冲刺100题(适配第2版考纲) [施游 邹月平 朱小平 编著]
- 用英语介绍中国名城古镇 [王宝川 张元婧 编著]
- Spark大数据技术基础与应用(Scala+Python版) [林徐 潘立琼 杨建柏]
- 世界文化遗产精选:看人文经典学英文 [何媛 编译]
- 网络安全系统集成 [鲁先志 何倩]
- Python统计分析项目化教程 [章小华 孙伟男 于虹博 李文龙]
- 交换路由技术(微课版) [喻林 卞孝丽]
- 新一代网络技术与应用 [路立勋 周宝]
- Python程序设计 [李宇]
- 机械设计基础作业集 [田亚平 李爱姣]
- 用英语讲中国金句(微课版) [白阳明 编著]
- 大学计算机基础上机实践教程(第八版) [主编 罗奕 钱前]
- 线性代数(第三版) [主编 江志超]
- 大学计算机基础 (第八版) [主编 罗 奕 胡绿慧]
- 大学计算机与人工智能基础 [主编 崔岩]
- 长江经济带上游白酒文化旅游数字化融合创新研究 [李杰 著]
- 大学计算机基础案例教程(第五版) [主编 张小雨 吴瀚霖]
- 体育与健康 [主编 刘传栋 ]
- 人工智能物联网应用(基于树莓派) [主编 陈少锋 冯健明 郭晓花]
- 大学生劳动教育 [蹇兴超 陈秀泉]
- 村镇生活污水处理适用技术及工程示范 [刘秉涛 李发站 陈伟胜 著]
- 网络管理员5天修炼 (适配第6版考纲) [朱小平 施游 编著]
- 全球科技新知精选:看前沿科技学英文 [王琼 曹阳 编译]
- 信息技术基础(WPS Office) [阳晓霞 周永福 钟建坤 刘婧莉]
- 基于人文教育的大学英语创新教育实践研究 [段筱箫 著]
- 软件设计师真题及模考卷精析(适用机考) [主编 薛大龙 邹月平]
- Windows Server网络操作系统项目教程(微课版) [杨云 蒋君 杨琼]