bm0300620000
软件设计师教程(第5版)
基本信息软件设计师教程第5版作者
褚华、霍秋艳定价:119元
印次:5-1
ISBN:9787302491224
出版日期:2018.02.01
印刷日期:2018.01.16内容简介在软考中级资格中,报考*热门的,也是在校学生*关注的是网络工程师和软件设计师。
在软考初级资格中,报考*热门的,也是在校本科生*关注的是网络管理员和程序员。
考生一旦通过考试,便有应聘大企业的敲门金砖。
好消息是这四个模块的。教材,从di1版到现在的di4版历经10年,终于面市了。
更贴近考点,更有利于考生掌握知识点的di4版出版后,相信您会有量级的提高
目录
di1章 计算机系统知识1.1 计算机系统基础知识1.1.1 计算机系统硬件基本组成1.1.2 中央处理单元1.1.3 数据表示1.1.4 校验码1.2 计算机体系结构1.2.1 计算机体系结构的发展1.2.2 存储系统1.2.3 输入/输出技术1.2.4 总线结构1.3 安全性、可靠性与系统性能评测基础知识1.3.1 计算机安全概述1.3.2 加密技术和认证技术1.3.3 计算机可靠性1.3.4 计算机系统的性能评价di2章 程序设计语言基础知识2.1 程序设计语言概述2.1.1 程序设计语言的基本概念2.1.2 程序设计语言的基本成分2.2 语言处理程序基础2.2.1 汇编程序基本原理2.2.2 编译程序基本原理2.2.3 解释程序基本原理di3章 操作系统知识3.1 操作系统基础知识3.1.1 操作系统的定义与作用3.1.2 操作系统的特征与功能3.1.3 操作系统的发展及分类3.2 处理机管理3.2.1 基本概念3.2.2 进程的控制3.2.3 进程间的通信3.2.4 管程3.2.5 进程调度3.2.6 死锁3.2.7 线程3.3 存储管理3.3.1 基本概念3.3.2 存储管理方案3.3.3 分页存储管理3.3.4 分段存储管理3.3.5 段页式存储管理3.3.6 虚拟存储管理3.4 设备管理3.4.1 设备管理概述3.4.2 I/O软件3.4.3 设备管理采用的相关缓冲技术3.4.4 磁盘调度3.5 文件管理3.5.1 文件与文件系统3.5.2 文件的结构和组织3.5.3 文件目录3.5.4 存取方法和存储空间的管理3.5.5 文件的使用3.5.6 文件的共享和保护3.5.7 系统的安全与可靠性3.6 作业管理3.6.1 作业与作业控制3.6.2 作业调度3.6.3 用户界面3.7 网络与嵌入式操作系统基础知识3.7.1 网络操作系统3.7.2 嵌入式操作系统3.8 UNIX操作系统实例3.8.1 UNIX操作系统3.8.2 UNIX文件系统3.8.3 UNIX进程与存储管理3.8.4 UNIX设备管理3.8.5 shell程序di4章 软件工程基础知识4.1 软件工程概述4.1.1 计算机软件4.1.2 软件工程基本原理4.1.3 软件生存周期4.1.4 软件过程4.2 软件过程模型4.2.1 瀑布模型(Waterfall Model)4.2.2 增量模型(Incremental Model)4.2.3 演化模型(Evolutionary Model)4.2.4 喷泉模型(Water Fountain Model)4.2.5 基于构件的开发模型(Combased Development Model)4.2.6 形式化方法模型(Formal Methods Model)4.3 软件开发方法4.3.1 结构化方法4.3.2 Jackson方法4.3.3 原型方法4.3.4 面向对象方法4.3.5 敏捷方法4.4 软件工具与软件开发环境4.4.1 软件工具4.4.2 软件开发环境4.5 软件项目管理4.5.1 软件项目管理设计的范围4.5.2 软件项目估算4.5.3 进度管理4.5.4 软件项目的组织4.5.5 软件质量管理4.5.6 软件配置管理4.6 风险管理4.6.1 软件风险4.6.2 风险识别4.6.3 风险预测4.6.4 风险评估4.6.5 风险控制4.7 软件度量4.7.1 软件度量分类4.7.2 软件复杂性度量di5章 系统开发与运行5.1 系统分析与设计概述5.1.1 系统分析概述5.1.2 系统设计的基本原理5.1.3 系统设计的内容和步骤5.1.4 系统总体结构设计5.1.5 系统文档5.2 需求分析与需求工程5.2.1 软件需求5.2.2 需求分析原则5.2.3 需求工程5.2.4 需求建模5.2.5 需求规约与验证5.2.6 需求管理5.3 结构化分析方法5.3.1 结构化分析方法概述5.3.2 数据流图5.3.3 数据字典(DD)5.4 结构化设计方法5.4.1 结构图5.4.2 结构化设计的步骤5.4.3 数据流图到软件体系结构的映射5.5 Web应用系统分析与设计5.5.1 WebApp的特性5.5.2 Web应用系统分析模型5.6 用户界面设计5.6.1 用户界面设计的黄金原则5.6.2 用户界面的分析与设计5.6.3 用户界面设计问题5.7 测试基础知识5.7.1 系统测试与调试5.7.2 传统软件的测试策略5.7.3 测试方法5.7.4 调试5.7.5 测试Web应用系统5.8 系统运行和维护知识5.8.1 系统转换5.8.2 系统维护概述5.8.3 系统评价di6章 网络与多媒体基础知识6.1 网络概述6.1.1 计算机网络的概念6.1.2 计算机网络的分类6.1.3 网络的拓扑结构6.1.4 ISO/OSI网络体系结构6.2 网络互连硬件6.2.1 网络的设备6.2.2 网络的传输介质6.2.3 组建网络6.3 网络的协议与标准6.3.1 网络的标准6.3.2 局域网协议6.3.3 广域网协议6.3.4 TCP/IP协议族6.4 Internet及应用6.4.1 Internet概述6.4.2 Internet地址6.4.3 Internet服务6.5 网络安全6.5.1 网络安全概述6.5.2 网络的信息安全6.5.3 防火墙技术6.6 多媒体的基本概念6.6.1 虚拟现实基本概念6.6.2 声音6.6.3 图形和图像6.6.4 动画和视频6.7 多媒体网络6.7.1 超文本与超媒体6.7.2 流媒体6.8 多媒体计算机系统6.8.1 多媒体计算机硬件系统6.8.2 多媒体计算机软件系统di7章 数据库技术基础7.1 基本概念7.1.1 数据库与数据库管理系统7.1.2 DBMS的功能7.1.3 DBMS的特征及分类7.1.4 数据库系统的体系结构7.1.5 数据库的三级模式结构7.1.6 大数据7.2 数据模型7.2.1 数据模型的基本概念7.2.2 数据模型的三要素7.2.3 E-R模型7.2.4 层次模型7.2.5 网状模型7.2.6 关系模型7.2.7 面向对象模型7.3 关系代数7.3.1 关系数据库的基本概念7.3.2 5种基本的关系代数运算7.3.3 扩展的关系代数运算7.4 关系数据库SQL语言简介7.4.1 SQL数据库体系结构7.4.2 SQL的基本组成7.4.3 SQL数据定义7.4.4 SQL数据查询7.4.5 SQL数据更新7.4.6 SQL访问控制7.4.7 嵌入式SQL7.5 关系数据库的规范化7.5.1 函数依赖7.5.2 规范化7.5.3 模式分解及分解应具有的特性7.6 数据库的控制功能7.6.1 事务管理7.6.2 数据库的备份与恢复7.6.3 并发控制di8章 数据结构8.1 线性结构8.1.1 线性表8.1.2 栈和队列8.1.3 串8.2 数组、矩阵和广义表8.2.1 数组8.2.2 矩阵8.2.3 广义表8.3 树8.3.1 树与二叉树的定义8.3.2 二叉树的性质与存储结构8.3.3 二叉树的遍历8.3.4 线索二叉树8.3.5 *优二叉树8.3.6 树和森林8.4 图8.4.1 图的定义与存储8.4.2 图的遍历8.4.3 生成树及*小生成树8.4.4 拓扑排序和关键路径8.4.5 *短路径8.5 查找8.5.1 查找的基本概念8.5.2 静态查找表的查找方法8.5.3 动态查找表8.5.4 哈希表8.6 排序8.6.1 排序的基本概念8.6.2 简单排序8.6.3 希尔排序8.6.4 快速排序8.6.5 堆排序8.6.6 归并排序8.6.7 基数排序8.6.8 内部排序方法小结8.6.9 外部排序di9章 算法设计与分析9.1 算法设计与分析的基本概念9.1.1 算法9.1.2 算法设计9.1.3 算法分析9.1.4 算法的表示9.2 算法分析基础9.2.1 时间复杂度9.2.2 渐进符号9.2.3 递归式9.3 分治法9.3.1 递归的概念9.3.2 分治法的基本思想9.3.3 分治法的典型实例9.4 动态规划法9.4.1 动态规划法的基本思想9.4.2 动态规划法的典型实例9.5 贪心法9.5.1 贪心法的基本思想9.5.2 贪心法的典型实例9.6 回溯法9.6.1 回溯法的算法框架9.6.2 回溯法的典型实例9.7 其他算法9.7.1 分支限界法9.7.2 概率算法9.7.3 近似算法di10章 面向对象技术10.1 面向对象基础10.1.1 面向对象的基本概念10.1.2 面向对象分析10.1.3 面向对象设计10.1.4 面向对象程序设计10.1.5 面向对象测试10.2 UML10.2.1 事物10.2.2 关系10.2.3 UML中的图10.3 设计模式10.3.1 设计模式的要素10.3.2 创建型设计模式10.3.3 结构型设计模式10.3.4 行为设计模式10.3.5 应用举例di11章 标准化和软件知识产权基础知识11.1 标准化基础知识11.1.1 标准化的基本概念11.1.2 信息技术标准化
软件设计师历年真题解析
内容简介
软件设计师考试作为全国计算机技术与软件专业技术资格考试中的中级专业考试。 根据考试大纲要求,软件设计师考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档;组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平。 本书以通过对历年真题考试进行分析和解答的方式,针对软件设计师2014年—2017年的共8次真题进行了解析,以帮助考生备考软件设计师考试。考生可通过学习本书,掌握考试的重点,并通过真题及解析,熟悉试题形式及解答问题的方法和技巧等。本书配套有丰富的在线学习资源,用微信扫描二维码,进入“软考”冲刺互动学习平台,可以进行在线题库答题自测,在线音频、视频、直播课程学习等。
目录
目录
2017年软件设计师考试试题与解析1
2017年上半年软件设计师上午试题分析与解答2
2017年上半年软件设计师下午试题分析与解答24
2017年下半年软件设计师上午试题分析与解答36
2017年上半年软件设计师下午试题分析与解答60
2016年软件设计师考试试题与解析71
2016年上半年软件设计师上午试题分析与解答72
2016年上半年软件设计师下午试题分析与解答92
2016年下半年软件设计师上午试题分析与解答103
2016年下半年软件设计师下午试题分析与解答124
2015年软件设计师考试试题与解析135
2015年上半年软件设计师上午试题分析与解答136
2015年上半年软件设计师下午试题分析与解答164
2015年下半年软件设计师上午试题分析与解答176
2015年下半年软件设计师下午试题分析与解答202
2014年软件设计师考试试题与解析213
2014年上半年软件设计师上午试题分析与解答214
2014年上半年软件设计师下午试题分析与解答237
2014年下半年软件设计师上午试题分析与解答250
2014年下半年软件设计师下午试题分析与解答270
基本信息
书名:软件设计师考试同步辅导(第二版)
定价:59元
作者:李千目,徐建,高洁
出版社:清华大学出版社
出版日期:2011-04-01
ISBN:9787302361237
字数:
页码:
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
李千目、徐建、高洁主编的《软件设计师考试同步辅导--考点串讲真题详解与强化训练(第2版全国计算机技术与软件专业技术资格水平考试参考用书)》具有如下特色。 (1)全面揭示命题特点。通过分析研究*近几年考题,统计出各章所占的分值和考点的分布情况,引导考生把握命题规律。 (2)突出严谨性与实用性。按照2009年考试大纲和《软件设计师教程(第三版)(修订版)》编写,结构与官方教程同步,内容严谨,应试导向准确。 (3)考点浓缩,重点突出。精心筛选考点,突出重点与难点,针对性强。同时对于考试中出现的而指定教材没有阐述的知识点进行了必要的补充。 (4)例题典型,分析透彻。所选例题出自**真题,内容,例题分析细致深入,解答准确完整,以帮助考生增强解题能力,突出实用性。 (5)习题丰富,附有答案。每章提供了一定数量的习题供考生自测,并配有参考答案与解析,有利于考生巩固所学知识、提高解题能力。 (6)全真试题实战演练。提供2套考前模拟试卷供考生考前进行实战演练。试题题型、考点分布、题目难度与真题相当,便于考生熟悉考试方法、试题形式,全面了解试题的深度和广度。
内容提要
李千目、徐建、高洁主编的《软件设计师考试同 步辅导--考点串讲真题详解与强化训练(第2版全国计 算机技术与软件专业技术资格水平考试参考用书)》 是按照*颁布的全国计算机技术与软件专业技术资 格(水平)考试大纲和指定教材编写的考试参考用书 。全书分为13章,内容包括:计算机网络基础知识、 程序语言基础知识、操作系统知识、系统开发和运行 、网络基础知识、多媒体基础知识、数据库技术、数 据结构、算法设计和分析、面向对象技术、标准化和 软件知识产权基础知识、计算机专业英语和考前模拟 卷。每章分为备考指南、考点串讲、真题详解和强化 训练四大部分,帮助读者明确考核要求,把握命题规 律与特点,掌握考试要点和解题方法。
《软件设计师考试同步辅导--考点串讲真题详解 与强化训练(第2版全国计算机技术与软件专业技术资 格水平考试参考用书)》紧扣考试大纲,具有应试导 向准确、考试要点突出、真题分析详尽、针对性强等 特点,非常适合参加软件设计师考试的考生使用,也 可作为高等院校或培训班的教材。
掌握软件设计精髓,筑就职业生涯基石 本书是面向广大软件开发从业者和 aspiring 软件设计师的深度学习指南。在飞速发展的软件行业中,扎实的软件设计功底是构建高质量、可维护、可扩展软件系统的关键。本书旨在为你提供系统、全面的软件设计理论知识,并结合大量实践案例,帮助你将理论转化为实际能力,从而在激烈的行业竞争中脱颖而出。 内容概述: 本书内容涵盖了软件设计的核心概念、方法论、模式以及最佳实践。我们将从软件设计的基本原则出发,逐步深入到更复杂的架构和设计决策。 第一部分:软件设计的基石——核心原则与思维 什么是良好的软件设计? 我们将首先探讨“好”设计的本质,理解其重要性,以及它对项目成功、团队协作和长期维护的深远影响。我们将分析高质量软件设计的关键要素,包括可读性、可维护性、可扩展性、高效性、健壮性和安全性。 模块化与内聚性/耦合性: 深入剖析模块化设计的重要性,以及如何通过提高模块的内聚性、降低模块间的耦合性来构建清晰、易于管理的系统。我们将学习SOLID原则(单一职责、开闭、里氏替换、接口隔离、依赖倒置),理解它们如何指导我们做出优秀的设计决策。 抽象与封装: 掌握抽象的力量,理解如何通过封装隐藏实现细节,对外暴露清晰的接口。我们将探讨不同层次的抽象,以及它们在不同软件开发阶段的应用。 可变性与不可变性: 探讨在软件设计中管理可变性的挑战,以及何时以及如何利用不可变性来提高代码的健壮性和可预测性。 设计权衡: 认识到软件设计从来不是一步到位的,而是充满权衡的过程。我们将学习如何评估不同的设计选择,并在效率、复杂性、灵活性等因素之间找到最佳平衡点。 面向对象设计(OOD)的深入探讨: 类、对象、继承、多态、组合与聚合: 全面回顾和深化面向对象的核心概念,并重点讲解它们在实际设计中的应用。 设计原则在OOD中的应用: 详细阐述SOLID原则如何在面向对象的设计中得到具体体现,并通过大量代码示例进行说明。 设计模式的思维方式: 引入设计模式的概念,将其视为解决常见设计问题的“最佳实践集”。我们将初步介绍一些基础的设计模式,如工厂模式、单例模式、观察者模式等,并强调理解模式背后的意图和适用场景比死记硬背更为重要。 第二部分:构建坚实的软件架构 架构风格与模式: 分层架构: 深入理解分层架构的原理、优势和局限性,并学习如何设计清晰的应用层、业务逻辑层、数据访问层等。 客户端-服务器架构: 分析客户端-服务器架构的演进,包括单层、两层、三层以及多层架构。 微服务架构: 探讨微服务架构的兴起,理解其核心理念、优势(如独立部署、技术异构性)和挑战(如分布式事务、服务治理)。我们将学习如何拆分单体应用为独立的微服务,以及微服务之间的通信和协作。 事件驱动架构(EDA): 学习事件驱动架构的原理,理解如何通过事件和消息队列实现系统解耦和异步通信,并探讨其在现代分布式系统中的应用。 模型-视图-控制器(MVC)/模型-视图-视图模型(MVVM): 重点讲解这些在用户界面设计中广泛应用的架构模式,理解它们如何组织代码,分离关注点,提高可测试性和可维护性。 其他架构模式: 介绍管道-过滤器、发布-订阅等其他常见的架构模式,并讨论其适用场景。 架构设计过程与决策: 需求分析与架构设计: 强调需求是架构的起点,学习如何从非功能性需求(如性能、安全性、可伸缩性)中提炼架构设计约束。 架构评估方法: 介绍ATAM(Architecture Tradeoff Analysis Method)等架构评估方法,学习如何系统地评估架构方案的优劣。 技术选型与架构演进: 探讨在不同技术栈和平台下进行架构选型的原则,以及如何规划和管理软件系统的架构演进。 第三部分:精益求精的软件设计模式 创建型模式: 工厂方法、抽象工厂、建造者、原型、单例: 深入理解这些模式如何负责对象的创建过程,提高代码的灵活性和可配置性。我们将通过具体的代码示例,演示如何应用这些模式解决实际问题。 结构型模式: 适配器、桥接、组合、装饰器、外观、享元、代理: 学习这些模式如何帮助我们组织类和对象,以便于管理和协作。我们将重点关注装饰器模式在不改变原有结构的情况下增加功能,以及代理模式用于控制对另一个对象的访问。 行为型模式: 责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者: 掌握这些模式如何实现对象之间更灵活的通信和协作,以及如何动态地改变对象的行为。我们将重点讲解观察者模式在事件处理中的应用,以及策略模式用于封装算法族。 理解模式的深层含义: 本书不仅仅是列举模式,更重要的是引导读者理解每个模式背后的设计意图、解决的问题以及带来的权衡。我们将强调“为何使用”而非“如何使用”。 模式的组合与演变: 探讨如何将不同的设计模式组合使用,以及在实际项目中,设计模式是如何随着需求的变化而演变的。 第四部分:质量保障与设计实践 领域驱动设计(DDD)入门: 限界上下文(Bounded Context)、领域模型(Domain Model)、通用语言(Ubiquitous Language): 介绍DDD的核心概念,强调如何通过领域模型来驱动软件设计,构建出更能反映业务逻辑的系统。 重构(Refactoring): 代码异味(Code Smells)识别: 学习如何识别那些预示着代码存在问题的“异味”,例如重复代码、过长方法、大类等。 重构技术与策略: 掌握常见的重构技术,如提取方法、移动字段、替换条件表达式等,以及如何系统地进行重构,提升代码质量。 测试驱动开发(TDD)与行为驱动开发(BDD): 测试的价值: 强调测试在软件开发中的重要性,包括代码质量保证、设计驱动和回归验证。 TDD流程: 学习如何先编写测试,再编写实现代码,从而驱动设计。 BDD思想: 了解BDD如何通过自然语言描述来统一开发、测试和业务人员的理解。 面向服务的思考(SOA)与API设计: 服务拆分原则: 学习如何设计清晰、内聚的服务接口,以及如何进行服务拆分。 RESTful API设计: 掌握RESTful API的设计原则,包括无状态性、资源导向、统一接口等,并学习如何设计易于理解和使用的API。 数据库设计与优化: 关系型数据库设计: 学习范式理论,如何进行表设计、索引优化,以及处理数据完整性。 NoSQL数据库选型与设计: 简要介绍不同类型NoSQL数据库(如文档型、键值型、列族型、图数据库)的特点,以及在特定场景下的适用性。 安全设计原则: 最小权限原则、纵深防御、安全编码实践: 将安全意识融入软件设计的全过程,学习如何构建更安全的系统。 本书特点: 理论与实践相结合: 本书不仅讲解理论知识,更通过丰富的代码示例、设计图示和案例分析,帮助读者将抽象概念转化为实际应用。 循序渐进的教学方法: 从基础概念到高级主题,内容组织清晰,逻辑严谨,易于读者理解和掌握。 注重思维方式的培养: 引导读者理解软件设计背后的原理和权衡,培养独立思考和解决问题的能力。 面向实战的应用性: 聚焦于软件开发中最常遇到的设计问题,提供行之有效的解决方案。 适用人群: 初级软件工程师: 为踏入软件开发领域的新人提供坚实的设计基础。 中高级软件工程师: 帮助有一定经验的工程师深化理解,提升设计能力,应对更复杂的项目。 软件架构师: 为 aspiring 架构师提供系统性的架构设计知识和实践指导。 计算机科学与技术专业学生: 作为学习软件工程和设计课程的重要参考资料。 对软件设计感兴趣的任何人士: 帮助有志于了解软件如何被优雅地构建的读者。 通过学习本书,你将能够: 清晰地理解并应用核心的软件设计原则。 掌握不同架构风格的优势与适用场景,并能进行合理的架构选型。 熟练运用常见的设计模式解决实际开发中的问题。 具备分析和改进现有代码结构的能力,实现代码重构。 理解领域驱动设计思想,构建更贴近业务的软件系统。 在代码设计中融入安全和性能的考虑。 本书将是你成为一名优秀软件设计师的得力助手,助你在软件开发的道路上走得更远、更稳健。
我对《包邮软件设计师教程第5版软考教材书籍+同步辅导+历年真题解析送视频》这套书的评价可以说是非常高的。首先,教材本身的内容非常系统和全面,它就像一张详细的地图,为我指明了软件设计师考试的每一个方向。在学习过程中,我发现它对很多核心概念的解释都非常到位,比如在讲到软件项目管理时,它不仅介绍了项目计划、风险管理等,还详细阐述了质量管理和配置管理的重要性,让我对项目全生命周期的管理有了清晰的认知。同步辅导部分更是我备考过程中的“秘密武器”。它能够帮助我更好地理解教材中的知识点,并且提供了一些实用的技巧和方法。我尤其欣赏它对一些容易混淆的概念的辨析,通过对比和举例,让我能够清晰地区分它们。比如,在讲解设计模式时,辅导部分会详细对比单例模式和工厂模式,并给出它们各自的适用场景,这让我能够更灵活地运用这些模式。而历年真题解析,则是我检验学习成果,查漏补缺的利器。它的解析非常详细,不仅给出了正确的答案,还深入分析了题目背后的考点和出题思路。我记得有一道关于软件测试的题目,解析里不仅解释了答案,还顺带讲解了各种测试用例的设计方法,以及如何评估测试覆盖率,这让我对软件测试的深度和广度都有了更深的理解。更让我惊喜的是,这套书还附带了视频课程,老师的授课风格非常专业且富有激情,他能够将复杂的理论知识讲解得深入浅出,而且还会分享一些行业内的经验和见解,让我感觉不仅仅是在备考,更是在学习一门实用的技能。