本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
本书共8章,第1章概述AI(Artificial Intelligence,人工智能)系统,介绍机器学习的模型和分类,以及AI系统对测试工程师“提出”的新问题等;第2章介绍数据的处理过程,以及数据的分组方法,详细介绍依托测试数据的测试评价方法;第3章讲解模型中超参数相关的概念,以及关于模型性能的评估指标,并介绍了较为主流的模型的基准测试;第4章重点介绍AI系统的测试用例设计方法,以及传统软件测试方法在AI系统测试中的应用,同时也介绍ChatGPT类应用中SSE(Server-Sent Events)协议的接口测试和LangSmith在测试过程中的使用方法;第5章介绍AI道德的验证,这也是大模型涌现后绝大多数大模型专家所关注的内容,该章重点介绍大模型的“道德”内容及验证方法;第6章介绍提示词工程和软件测试,我们既要能够测试大模型的应用,也要能够充分利用大模型完成测试工作,该章
本书共分10章,首先介绍了汽车电子控制系统以及AUTOSAR 规范的基本概念;之后以AUTOSAR方法论为线索,通过示例开发过程介绍,全面展现了基于AUTOSAR工具链完成符合AUTOSAR规范的车用控制器软件开发的具体流程与方法;*后,剖析了AUTOSAR对道路车辆功能安全ISO 26262标准的支持情况,并对AUTOSAR 与信息安全以及Adaptive AUTOSAR平台进行了介绍。本书以通俗易懂的语言和形象的图解展现了AUTOSAR中一些复杂的概念问题,精心设计的示例亦旨在以开发者的视角深度剖析AUTOSAR方法论的具体实施过程。本书可作为汽车电子相关专业高年级本科生和研究生的参考书,也可作为汽车电子行业软件工程师学习参考的资料。
《WTF Solidity智能合约教程(入门篇)》内容源自GitHub上发布的“WTF Solidity教程”,丰富且实用,用通俗易懂的语言描述Solidity的基础知识,通过实例和代码示例,深入浅出地介绍Solidity编程的关键概念,以及智能合约的优化、安全等高级主题,让读者能够编写出更安全、更高效的智能合约。
《交互设计创新方法与实践》以交互设计的创新理论方法为重点,配合设计实践案例的介绍,全面讲解了与交互设计领域相关的各方面知识,包括:交互设计学科的核心学习方向;用户体验、用户研究、信息设计、交互设计等分支方向的理论方法与案例分析;如何在具体情境中应用相应知识点的交互设计实践指导;进行学术研究、论文阅读与写作的方法;各个知识点的历史发展脉络、未来发展趋势及其可能性。 全书共分8章,可以分成3部分。第一部分(第1章)是学科基础,系统地介绍了交互设计学科的基本概念、历史发展和入门知识。第二部分(第2~6章)是创新理论与实践,从用户研究、信息设计、用户体验、交互设计、原型与评价5个方面的前沿知识点出发,通过具体案例讲解如何将理论转化为设计应用实践。第三部分是(第7、8章)前沿与研究,介绍了交互设
《有趣的矩阵:看得懂又好看的线性代数》分别从中国古代数学思想、益智游戏、企业管理、计算机科学、博弈论等角度出发,介绍了线性代数和矩阵理论中的相关概念和理论在上述领域的应用。通过阅读《有趣的矩阵:看得懂又好看的线性代数》,读者对线性代数在实际问题中的应用会有更加直观的了解,有助于激发读者对线性代数的学习兴趣和学习热情。 《有趣的矩阵:看得懂又好看的线性代数》分为8章,涵盖的主要内容有线性方程组的计算、益智数字游戏中的矩阵、经营管理中的矩阵、矩阵与图片美化、计算机绘画中的矩阵、矩阵与密码设计、互联网中的矩阵、矩阵与博弈论。 《有趣的矩阵:看得懂又好看的线性代数》内容通俗易懂、生动有趣,特别适合中学生、大学生及各年龄层的数学爱好者作为线性代数入门读物使用。另外,《有趣的矩阵:看得懂又
《MATLAB数学建模从入门到精通》结合案例,系统介绍了使用 MATLAB 进行数学建模的相关知识和方法论。 《MATLAB数学建模从入门到精通》分为 11 章,主要包括走进数学建模的世界、函数极值与规划模型、微分方程与差分模型、数据处理的基本策略、权重生成与评价模型、复杂网络与图论模型、时间序列与投资模型、机器学习与统计模型、进化计算与群体智能、其他数学建模知识、数学建模竞赛中的一些基本能力。 《MATLAB数学建模从入门到精通》内容通俗易懂,适合刚刚接触数学建模的大中专院校学生和其他数学建模爱好者阅读,也适合作为相关组织和培训机构的教材和参考用书。
本书分为软件基础入门与应用实例两大部分,全书共计17章节。1~11章节为软件基础入门,其内容以热仿真工作流程、建立模型、网格划分、求解计算、结果处理、优化设计和仿真模型校核为主。12~17章节为软件应用实例部分,其内容主要由BGA封装芯片、户外通信机柜、数据中心、智能手机、服务器六个应用实例组成。本书内容丰富、讲解详尽,在介绍FloTHERM软件的同时,也注重相关背景原理的阐述和软件实际应用的注意事项。其中软件基础内容多来自作者的多年积累和整理。仿真模型的校准作为热仿真分析的重中之重,本书中也进行了细致的阐述。应用实例内容涵盖软件不同的应用领域,对于软件使用者而言,具有很强的实际指导意义。本书可以作为电子设备热仿真工作者、热设计工程师和FloTHERM软件使用者的自学教材和参考书,同时也可以作为高等院校学
本书以步骤图解和视频微课等方式展现了用Blender软件进行三维造型设计的相关知识和技能,主要内容包括:Blender与3D打印的基础入门,Blender与3D打印的进阶内容,Blender与3D打印的高阶内容。每个案例均配有相应的教学视频,方便读者自学和培训。通过对本书的学习,读者不仅可以精准掌握Blender的核心造物功能,包括三维设计、渲染、骨骼绑定、动画等,还可以了解3D打印的操作流程。
短短几年时间, Scrum 跃升为敏捷*方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出 Scrum 的精髓。全书共 4 部分 23 章,阐述了七大核心概念: Scrum 框架,敏捷原则,冲刺,需求和用户故事,产品订单,估算与速率,技术债;五大角色:产品负责人, ScrumMaster ,开发团队, Scrum 团队结构,经理: Scrum 规划原则及四大规划活动:多层次规划、产品组合规划、产品规划和长期规划;冲刺四大活动:规划、执行、评审和回顾。 本书取自作者十多年的实践经验,对员工个体和管理层都具有重要的指导和参考意义,可以帮助企业导入 Scrum 方法实现敏捷转型,从而在动态的商业环境中以积极的心态拥抱变化,做出优秀、卓越的产品,成就创业、守业、常青基业。
ThinkPHP是一个免费开源、快速、简单、面向对象、轻量级的PHP开发框架,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的典型案例可以表明它稳定用于商业以及门户级网站的开发。《ThinkPHP8高效构建Web应用》通过丰富的代码示例和详细的讲解,帮助读者快速上手ThinkPHP,高效构建Web应用。《ThinkPHP8高效构建Web应用》配套示例源码、作者答疑服务。 《ThinkPHP8高效构建Web应用》共分17章,由浅入深地讲解ThinkPHP应用开发方法,内容包括开发环境搭建、PHP 8新特性及其示例、MVC模式、ThinkPHP 8新特性、路由、控制器、数据库、模型、视图、异常管理与日志系统、命令行应用开发、Ubuntu服务器部署、多人博客系统开发、图书管理系统开发、论坛系统开发、微信小程序商城系统开发。 《ThinkPHP8高效构建Web应用》要求读者有PHP编程基础。本书适合ThinkPHP框架初学者、
本书是一本系统讲解管理软件需求分析的书,以实战为主。包括大量案例以及来自工作实践中的经验心得。主要讲述了:需求分析的工作步骤;需求分析的工作内容;如何进行需求调研;如何进行系统规划;如何设计软件;如何设计出好软件;快速原型开发模型;需求文档的撰写;如何应对需求变更;如何成为需求分析高手。本书适合从事需求分析工作的专业人士、希望从事需求分析工作的IT人、希望了解需求分析工作的IT人、计算机相关专业的大学生、管理相关专业的大学生、企事业单位从事管理工作的各级管理者,以及企业信息化管理体系中的关键用户等。
本书系统讲解了树莓派智能系统设计与Python编程,内容涉及传感器接口、物联网开发、 语音、图像、视频等方面的应用。全书共8 章,分别介绍了树莓派的使用与配置过程、Python 程序设计基础知识、树莓派GPIO 与传感器接口、环境参数监测智能小车、树莓派本地服务器构建与Web端监控软件以及树莓派在语音、视觉和深度学习中的典型应用。通过本书的学习,读者可以快速掌握树莓派智能系统的设计与应用。 为便于读者高效学习,快速掌握树莓派智能系统的开发与实践,作者制作了完整的源代码以及典型案例的讲解视频,并且收集、整理了大量学习的资料与工具。 本书适合作为高等院校电子信息类专业学生学习嵌入式系统、人工智能、Python编程语言相关课程的参考书,也可以作为树莓派爱好者的自学用书。
本书针对新一代GUI开发平台MATLAB App Designer(MATLAB R2019b)的应用分两个部分加以详细介绍。部分结合两个综合案例详细介绍用MATLAB App Designer设计App(GUI)的方法与步骤、重点与难点;第二部分以机械工程领域中各种专业案例为基础详细介绍每个App设计的编程解决方法。 本书可作为高职高专及高等院校的机械工程及相近专业的专业课辅助教材,也可作为相关领域工程技术人员进行设计的辅助工具书。
本书主要讲述如何自己动手制作( DIY )一个微型多旋翼飞行器。书中内容主要分四篇:篇主要介绍飞行器的相关基础知识,让读者对多旋翼飞行器有个感性的认知;第二篇重点介绍飞行器的硬件平台,包括模块详细解说、实物组装、固件下载方法和飞行器的操作说明等;第三篇重点介绍飞行器的软件开发环境、软件各个功能部分的讲解和各个模块部分的连接、飞控系统的核心算法等;第四篇介绍多旋翼飞行器的拓展,控制操作入门和技巧,以及其在不同行业的应用。 本书配套资料里面包含了微型多旋翼飞行器的代码,同时也包含遥控器代码。这些代码均有详细的注释,读者可参考它设计自己的固件,亦可通过书中介绍的方法,将编译后的代码下载到飞行器和遥控器中来体验飞行。 本书主要针对未入门而有强烈意愿DIY的飞行器爱好者和即将参加赛事的大学生朋友
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书深入浅出地介绍非线性有限元计算软件OpenSees的基本建模与编程的方法,针对初学者设计了一系列循序渐进的算例,介绍编译和添加新材料方法,帮助使用者快速掌握OpenSees用法与编程.
本书是一本面向高校数字媒体技术专业的培养 Web互动应用程序开发能力的体系化教材,将技术能力分解为各个独立的模块,便于入门学习,通过多个案例将技术能力融合,从而达成培养 Web互动软件开发专业人才的目标。 本书内容编排科学合理、梯度明晰,图、文、表并茂,生动活泼,形式新颖。教材配套资源包括教学课件、微课视频、在线代码仓库和案例示例资源包等内容,形成 看得见、听得到、可练习、重实践 的新形态教材,填补了国产 Web游戏引擎体系教材的空白。本书适用于以学生为中心的项目学习、案例学习、模块化学习等不同学习方式要求,支持不同学习风格的学生在课内外自主、随机、个性化学习,适应人才培养模式创新和优化课程体系的需要。本书可作为高职高专、本科院校数字媒体技术专业 Web游戏开发课程的配套教材,也可作为 Web游戏开发相关人员的参考用书
本书由浅入深地带领读者进入Flutter开发的世界,从Flutter的起源讲起,逐步深入Flutter进阶实战,并在最后配合项目实战案例,让读者不但可以系统地学习Flutter编程的相关知识,而且还能对Flutter应用开发有更为深入的理解。 本书分为三部分:第一部分为入门篇(第1~4章),主要介绍Flutter技术的诞生背景、特点、语言及常用组件的使用,通过对本篇的学习,读者可以掌握如何使用Flutter来搭建UI界面;第二部分为进阶篇(第5~11章),主要包含Flutter的手势和事件处理、动画、自定义组件、文件操作和网络请求、路由导航和存储、混合跨平台开发、国际化等,通过对本篇的学习,读者可以对Flutter的整体流程及原理有一个深入的认识;第三部分为实战篇(第12~14章),主要通过一个实战项目把前面介绍的内容整合起来,并且结合Flutter应用发布和Flutter App升级等一条线流程,
职场中的新人如何自我定位? 如何深刻理解IT售前这个职位? 如何从IT售前菜鸟成长为IT售前专家? 本书将一一解读! 本书主要是为了帮助初级IT售前迅速成长为中高级IT售前的一本书。通过本书的学习,可以让初级IT售前学会“想”、学会“写”、学会“说”,为初级IT售前的继续成长打下了坚实的基础。 本书共11章,分为两部分。第1部分为IT售前技术,也是本书的理论部分,主要从IT售前***的思维、能力和知识三个维度来介绍。第2部分为IT售前实战,主要让读者通过产品型售前案例、方案型售前案例和咨询型售前案例三大案例来体会实际的IT售前工作是如何开展的。 本书是一本理论和实战融为一体的售前图书,对于立志提高IT售前技术的初级售前具有很强的指导意义,对于IT高级售前也具有一定的帮助和启发。 本书精华内容: