本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
大模型技术是目前人工智能领域的重要发展方向之一,具有广阔的应用前景和巨大的发展潜力。本书结合当前高等院校创新实践课程,基于大模型应用程序的开发方法,给出可执行实战案例。大模型技术主要开发方向为人机聊天、自动生成代码、旅游图鉴等,本书案例主要包括系统架构、系统流程、开发环境、开发工具、系统实现、功能测试等内容。本书中所述案例多样化,可满足不同层次的人员需求; 同时,本书附赠视频讲解、工程文件、拓展知识、插图素材、程序代码,供读者自我学习和自我提高使用。本书可作为大学信息与通信工程及相关专业的本科生教材,也可作为从事物联网、创新开发和设计的专业技术人员的参考用书。
本书从哲学高度和底层逻辑视角剖析了中国ToB行业过去30年沉积下来的弊病和面临的各种困局,作者基于自己在ToB行业深耕10余年后的丰富实践、深度洞察和系统思考,为中国ToB行业的发展给出了破局之法,助力中国ToB企业破茧化蝶,构建服务全球的产业体系和综合能力。对于中国ToB行业而言,作者的经历独特而难得,他是极少数同时具备深厚的科技和人文素养并真正跨越了ToB软件创业全周期的人,这使得本书同时具备中国视角与全球视角、创业者视角与平台视角、产品视角与产业视角,为中国ToB从业者正确理解行业格局、客户需求、产品经营、市场竞争、发展机会给出了明确的指引。本书将解开中国ToB领域企业家和创业者的困惑,激发他们重新思考自己的核心竞争力,走出泥潭、摆脱逆境,走向世界的大舞台。具体内容方面,全书分为上下两篇:上篇以理论分析为
本书是AB实验领域的标准化著作,它将带领你快速理解AB实验原理、掌握AB实验方法、搭建AB实验平台、塑造基于数据和实验的企业文化,高效开展AB实验、实现用AB实验驱动增长。 作者是某BAT大厂的数据科学家,在数据产品、AB实验等数据科学领域有10余年经验,亲自主导了该厂AB实验平台的搭建和AB实验产品的设计与分析,积累了丰富的经验。 学习本书,你将收获以下知识和技能: AB实验的基础知识、关键问题及其挑战; AB实验的统计学知识、参与单元、随机分流; AB实验的SRM问题、灵敏度、长期影响; AB实验的产品指标体系、评估指标体系; AB实验的平台建设、组织和文化建设; AB实验的增长实践和解决方案; AB实验的难点和局限性; 因果分析方法和用户调查分析方法 本书内容具有以下3个特点: (1)全面系统、主次分明:如上所述,本书涵盖AB实验
本书系统地讲述了智能现象的发展历史。全书共分为9 章。第1 章介绍本书的写作背景、智能的不同定义、智能现象问题、智能现象新的假说;第2 章介绍宇宙从无到有(物质、能量和空间)、不安分的宇宙、改变以稳定宇宙等内容;第3 章介绍物理学中的智能,包括美丽的物理世界、引力智能、引力和暗能量、熵引力、最小作用量原理、量子隐形传态等内容;第4 章介绍化学中的智能,包括化学发展的简要历程、耗散结构、熵增、最大熵产生;第5 章介绍生物学中的智能,包括生命的定义、生命为什么存在、微生物的智能、植物的智能、动物的智能;第6 章介绍人类的智能,包括大脑中的新皮质、人类特殊的思维方式、关于大脑的理论(贝叶斯大脑假说、高效编码原理、神经达尔文主义、自由能最小原理),以及信息过载与信息茧房;第7 章介绍机器的智能,包括1950
本书着重讨论以下核心内容,并层层递进,逐步深入。 首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。 其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。 后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
如何量化用户体验对有效提高产品的使用质量至关重要。本书详尽地介绍了如何有效且可靠地收集、分析和呈现典型的用户体验度量数据:操作绩效(正确率等)、用户体验问题(频率和严重程度)、自我报告式的满意度及生理/行为数据(眼动追踪等)。同时对 综合性量化度量数据 等问题进行了专门介绍,而且结合案例等形式对当前与用户体验相关的新内容(如用户体验对NPS的影响)进行了说明。本书内容翔实,是一本值得用户体验从业人员研读的指导性书籍,同时也可以作为相关课程的参考教材。
本书是一本系统讲解管理软件需求分析的书,以实战为主。包括大量案例以及来自工作实践中的经验心得。主要讲述了:需求分析的工作步骤;需求分析的工作内容;如何进行需求调研;如何进行系统规划;如何设计软件;如何设计出好软件;快速原型开发模型;需求文档的撰写;如何应对需求变更;如何成为需求分析高手。本书适合从事需求分析工作的专业人士、希望从事需求分析工作的IT人、希望了解需求分析工作的IT人、计算机相关专业的大学生、管理相关专业的大学生、企事业单位从事管理工作的各级管理者,以及企业信息化管理体系中的关键用户等。
在软件架构中没有哪个决定是轻而易举的。相反,有许多艰难的部分,要么是难题,要么是缺少实践,这迫使你在各种妥协中做出选择。通过本书,你将学会如何批判性地思考分布式体系结构的利弊。 软件架构老兵和实践顾问Neal Ford、Mark Richards、Pramod Sadalage、Zhamak Dehghani讨论了选择适合架构的策略。全书交织着一群虚构的技术专业人员(Sysops Squad)的故事,他们研究了从如何确定服务粒度、管理工作流和编排、管理和解耦合约、管理分布式事务到如何优化可扩展性、弹性和性能等操作特性的一切问题。 本书通过关注常见的问题,提供了一些技术,帮助你在面对架构问题时进行权衡。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
在这本书中,作者给出在过程工业中所需要的先进控制技术的概念和术语。这本书是为熟悉传统控制过程却在先进控制领域缺少相关经验的控制工程师编写的。这本书的每一章的结构允许快速了解技术及如何应用。应用大量实例来说明什么是需要处理应用程序。而且,每一章的*段介绍相关技术的数学基础,章末则给出探索性的内容。读者可通过转到本书附带的 web 站点查看车间解决方案。
本书系统讲解了树莓派智能系统设计与Python编程,内容涉及传感器接口、物联网开发、 语音、图像、视频等方面的应用。全书共8 章,分别介绍了树莓派的使用与配置过程、Python 程序设计基础知识、树莓派GPIO 与传感器接口、环境参数监测智能小车、树莓派本地服务器构建与Web端监控软件以及树莓派在语音、视觉和深度学习中的典型应用。通过本书的学习,读者可以快速掌握树莓派智能系统的设计与应用。 为便于读者高效学习,快速掌握树莓派智能系统的开发与实践,作者制作了完整的源代码以及典型案例的讲解视频,并且收集、整理了大量学习的资料与工具。 本书适合作为高等院校电子信息类专业学生学习嵌入式系统、人工智能、Python编程语言相关课程的参考书,也可以作为树莓派爱好者的自学用书。
全书共25 章,分成三个部分,分别介绍了精益产品开发的原则、方法和实施。原则部分,从精益及敏捷产品开发的目标入手,梳理了敏捷和精益思想的来龙去脉和具体的实践框架,构建了系统和完整的精益产品开发体系。方法部分,以作者在华为、招商银行、平安科技以及数家互联网创业公司的大量成功案例为基础,详细介绍了这些案例背景、应用细节以及背后的原理和方法,构建了坚实、系统和可应用的实践方法体系。实施部分继续以真实案例为基础,总结了完备的精益产品开发实施路径,涵盖了需求管理、过程改进、质量提升、团队建设、DevOps 落地等实施中的重点要素。本书适合所有准备实施或正在实施敏捷和精益方法以及希望改善组织价值交付效率、质量、灵活性以及产品创新能力的团队阅读与参考。
这是一本讲解如何基于三项核心技能(编写和编辑HTML、使用CSS控制页面设计、创建高效的Web布局)设计、构建和部署现代网站的实战性手册。?通过阅读本书,你将学习:?为网站添加高级样式CSS Flexbox和CSS Grid?安装和配置静态站点生成器Jekyll?模板系统和编程语言入门?掌握网页设计的关键布局原则?使用自定义URL、电子邮件地址注册和配置自定义域?将简单但实用的网站部署到实时网络上。?本书通过针对性的练习来帮助读者掌握设计、构建和部署现代网站的重点知识,读者无须学习HTML、CSS和网页布局的所有 知识 ,只要跟随本书,便能高效地运用它们来解决实际问题。
本书由浅入深地带领读者进入Flutter开发的世界,从Flutter的起源讲起,逐步深入Flutter进阶实战,并在最后配合项目实战案例,让读者不但可以系统地学习Flutter编程的相关知识,而且还能对Flutter应用开发有更为深入的理解。 本书分为三部分:第一部分为入门篇(第1~4章),主要介绍Flutter技术的诞生背景、特点、语言及常用组件的使用,通过对本篇的学习,读者可以掌握如何使用Flutter来搭建UI界面;第二部分为进阶篇(第5~11章),主要包含Flutter的手势和事件处理、动画、自定义组件、文件操作和网络请求、路由导航和存储、混合跨平台开发、国际化等,通过对本篇的学习,读者可以对Flutter的整体流程及原理有一个深入的认识;第三部分为实战篇(第12~14章),主要通过一个实战项目把前面介绍的内容整合起来,并且结合Flutter应用发布和Flutter App升级等一条线流程,
本书介绍了高效的软件设计和编程方法,把精益需求分析、领域驱动设计、面向对象、契约式设计、测试驱动开发、意图导向编程及演进式设计等编程实践融会贯通,深入洞察软件设计本质,展示了一个清晰的程序员编程能力提升路线图。全书共十二章,按照程序员技能提升的顺序,分为品味篇、专业篇和高效篇。 本书适合各种编程语言的一线开发者、大学计算机和软件工程相关专业三年级以上本科生或研究生阅读,也适合专业的软件开发团队作为统一编程范式、提升设计意识和能力的参考书。
本书全面介绍产品的设计与开发方法,涉及顾客需求识别、功能设计、原型化设计、工业设计、服务设计等一系列过程,将市场营销、设计和制造融合为一套结构化产品开发方法,从真实工业实践的视角帮助读者了解产品开发的工作内容、方法、工具以及团队中的不同角色。书中每章都使用不同的产品实例进行方法阐释,同时附有练习和参考资源。 本书既可作为从事产品设计与开发的工程设计人员和项目管理人员的实践指南,也适合作为产品设计和项目管理等相关专业的辅助教材。 主要特点: (1)知识体系完整、系统 本书涵盖了产品设计与开发过程中涉及的方方面面,本书有两个主线:一个主线是研发项目生命期主线;另一个主线是研发各阶段都会用到的支撑性方法和工具。 (2)采用结构化的方法进行阐述,通俗易懂 本书强调采用结构化的方法解决问题
本书自第1版出版至今,近40年来在软件工程界产生了巨大而深远的影响。第9版继承了之前版本的风格与优势,全面系统地讲解软件过程、建模、质量与安全、软件项目管理等知识,涵盖相关的概念、原则、方法和工具,并且提供了丰富的扩展阅读资源和网络资源。同时,本书调整了篇章结构,使内容更加简洁,更适于教学。本书是面向本科生的版本,保留了完整版中的基础内容,压缩或删除了一些高级内容,更加适合作为高等院校计算机、软件工程及相关专业的软件工程课程教材。
本书系统介绍了产品思维方法与实践。全书共15章,分为四篇:产品思维的根本——用户至上、产品思维的核心——价值为王、产品思维的落脚点——产品落地、产品思维实践。每一章都辅以丰富案例,尤其是*后一篇提供了Web产品、App产品和小程序产品的完整案例,帮助读者思考如何在实际工作过程中运用产品思维。 本书理论结合实践,内容深入浅出,有助于读者认识产品思维的本质。本书主要面向产品经理、产品总监、产品设计师、项目经理和需求分析师等读者,也适合高校产品设计相关专业师生作为教材使用。
本书系统地总结了过去十年中软件测试发生的变化,浓缩了作者许多宝贵的软件测试经验。本书首先介绍对于软件测试的不同看法,全程软件测试的思想,软件测试的基础设施与TA框架、团队能力建设;然后逐步深入到测试的计划、设计、执行、持续反馈和改进;接着,讨论全程测试的思想,包括全程静态测试、全程性能测试、全程安全性、全程建模、全程可视化。本书*后展望了软件测试的未来。本书适合软件测试人员阅读,也可作为相关专业人士的参考指南。
你是否遇到过这些情况:只会使用软件中的默认图表;图表太简单,被嫌弃没有创意;图表表现力差,对报告结论的支持很有限;图表格式不统一,搭配起来一团糟;图表难以与实际工作和老板的需求相结合 也许你需要一套图表私人定制的知识体系。 这是一本专为工作服务的图表实战书,从结构上可以分为两个部分:基础篇和实战篇。第1~4章属于基础篇,分别讲解图表基本元素、图表通用设计法则、典型图表设计技巧和常用图表类型;第5章和第6章属于实战篇,分别讲解如何分析老板偏好并拆解工作型图表中的典型问题,以及综合利用基础篇的知识点,规范化图表定制步骤,让每个人都能实现图表定制梦。
本书是系统架构领域标杆参考书的升级版,由业内资深专家萨姆 纽曼(Sam Newman)撰写。 过去10年,随着微服务的普及,大量组织从单体应用迁移到了微服务应用,分布式系统变得愈加精细化,然而,这个过程中也出现了一系列问题。本书深入探讨了构建、管理、扩展和演进微服务架构时需要考虑的方方面面。内容分为三部分:第一部分 基础 (第1章~第4章),详细阐述微服务背后的核心思想;第二部分 实现 (第5章~第13章),带你转向具体实现细节,通过各种技术和方法尽可能大程度地用好微服务;第三部分 人和组织 (第14章~第16章),具体阐述离开人和组织的支持,理念和技术将毫无意义。通过学习本书,你将深入了解对微服务的建模、集成、测试、部署和监控等方向新的解决方案。 第2版进行了全面更新:新增了微服务构建和部署、无服务器计算及云原生应
本书全面、系统地介绍了使用Creo 8.0 进行模具设计的过程、方法和技巧,内容包括软件使用环境的配置、模具设计入门、模具分析与检测、分型面的设计、利用着色和裙边的方法进行分型面设计、型芯设计、滑块设计、斜销设计、破孔修补、一模多穴的模具设计、流道和水线设计、使用体积块法进行模具设计、使用组件法进行模具设计、修改模具设计、模架的结构与设计和模具设计综合范例等。 在内容安排上,本书主要通过大量的模具设计范例对Creo 模具设计的核心技术、方法与技巧进行讲解和说明,这些范例都是实际生产一线工程设计中具有代表性的例子,这样安排能帮助读者较快地进入模具设计实战状态;在写作方式上,本书紧贴软件的实际操作界面,采用软件中真实的对话框、操控板和按钮等进行讲解,从而使读者能够尽快上手,提高学习效率。 本书中所
《深入核心的敏捷开发:ThoughtWorks五大关键实践》介绍了ThoughtWorks是如何实践敏捷开发的,主题包括测试驱动开发、持续集成、持续交付、全功能团队、需求分析和敏捷转型等。ThoughtWorks经过十多年的实践和沉淀,总结得出一套独特的、切实可行的敏捷软件开发核心原则、核心实践、管理体系和敏捷转型过程。全书共5部分18章,介绍了什么是合理正确的需求分析方法,如何采纳先进和理性的技术,自适应的团队组织形式是怎样的,如何建立客户价值优先的思维,如何持续改善软件交付方法。与此同时,作者也提到了一些可能遭遇的坑,引导读者参与思考什么是敏捷的实质。 《深入核心的敏捷开发:ThoughtWorks五大关键实践》面向开发者、敏捷咨询顾问、CIO和CTO,可以帮助他们顺利导入和实施敏捷。