本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
《有趣的矩阵:看得懂又好看的线性代数》分别从中国古代数学思想、益智游戏、企业管理、计算机科学、博弈论等角度出发,介绍了线性代数和矩阵理论中的相关概念和理论在上述领域的应用。通过阅读《有趣的矩阵:看得懂又好看的线性代数》,读者对线性代数在实际问题中的应用会有更加直观的了解,有助于激发读者对线性代数的学习兴趣和学习热情。 《有趣的矩阵:看得懂又好看的线性代数》分为8章,涵盖的主要内容有线性方程组的计算、益智数字游戏中的矩阵、经营管理中的矩阵、矩阵与图片美化、计算机绘画中的矩阵、矩阵与密码设计、互联网中的矩阵、矩阵与博弈论。 《有趣的矩阵:看得懂又好看的线性代数》内容通俗易懂、生动有趣,特别适合中学生、大学生及各年龄层的数学爱好者作为线性代数入门读物使用。另外,《有趣的矩阵:看得懂又
本书主要讲述如何自己动手制作( DIY )一个微型多旋翼飞行器。书中内容主要分四篇:篇主要介绍飞行器的相关基础知识,让读者对多旋翼飞行器有个感性的认知;第二篇重点介绍飞行器的硬件平台,包括模块详细解说、实物组装、固件下载方法和飞行器的操作说明等;第三篇重点介绍飞行器的软件开发环境、软件各个功能部分的讲解和各个模块部分的连接、飞控系统的核心算法等;第四篇介绍多旋翼飞行器的拓展,控制操作入门和技巧,以及其在不同行业的应用。 本书配套资料里面包含了微型多旋翼飞行器的代码,同时也包含遥控器代码。这些代码均有详细的注释,读者可参考它设计自己的固件,亦可通过书中介绍的方法,将编译后的代码下载到飞行器和遥控器中来体验飞行。 本书主要针对未入门而有强烈意愿DIY的飞行器爱好者和即将参加赛事的大学生朋友
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书由浅入深地带领读者进入Flutter开发的世界,从Flutter的起源讲起,逐步深入Flutter进阶实战,并在最后配合项目实战案例,让读者不但可以系统地学习Flutter编程的相关知识,而且还能对Flutter应用开发有更为深入的理解。 本书分为三部分:第一部分为入门篇(第1~4章),主要介绍Flutter技术的诞生背景、特点、语言及常用组件的使用,通过对本篇的学习,读者可以掌握如何使用Flutter来搭建UI界面;第二部分为进阶篇(第5~11章),主要包含Flutter的手势和事件处理、动画、自定义组件、文件操作和网络请求、路由导航和存储、混合跨平台开发、国际化等,通过对本篇的学习,读者可以对Flutter的整体流程及原理有一个深入的认识;第三部分为实战篇(第12~14章),主要通过一个实战项目把前面介绍的内容整合起来,并且结合Flutter应用发布和Flutter App升级等一条线流程,
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
本书分别从传统的结构化软件开发方法学和面向对象软件开发方法学两个方面介绍软件工程的理论和方法,并将其融入实践,通过丰富的案例介绍软件分析与设计方法及其模型,深入讲解软件开发各个阶段的技术、方法和管理过程,主要内容包括:软件工程基础,结构化分析、设计与测试,面向对象分析、设计与测试,软件维护与项目管理。本书适合作为高等院校软件工程课程的教材,也可作为软件开发从业人员的参考书。
《项目管理基础工具:五图二表》从管理学的角度出发,在系统工程学、运筹学、数理统计学和逻辑学的理论基础上,参照美国《PMBOK指南》的知识体系,梳理了项目管理的内在逻辑关系,将项目管理的核心内容进行提炼,化繁为简,创建了一套具有可操作性的实用工具:五图二表(阶段图、资源图、工作分解结构图、关键路径图、甘特图、工作陈述表及责任矩阵表)。 这套基础的核心工具是作者在长期的项目管理实践及项目管理咨询与培训经验基础上总结的,可帮助项目经理在项目管理中厘清思路,提升项目管理水平。 本书适用于对项目管理感兴趣的人群,特别是项目经理、项目总监、企业顾问及高管,同时也可作为高等院校项目管理、服务管理、生产管理或工程项目管理等相关专业的辅导教材。
本书是领域驱动设计方面的经典之作,修订版更是对之前出版的中文版进行了全面的修订和完善。 全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。
本书分两部分,分别介绍MATLAB及其电气工程中的应用,基础部分重点介绍MATLAB的基本语法、MATLAB图形绘制基础、MATLAB程序设计、MATLAB的数值计算,以及动态仿真集成环境Simulink的应用。应用部分重点介绍MATLAB在电力电子变流技术、直流调速系统、交流调速系统以及电力系统中的应用。书中提供大量实例供读者学习和理解MATLAB的程序设计方法和仿真方法,在每章末提供习题供读者练习。
本书主要介绍了Project工程项目管理软件应用的基本内容,包括4篇11章,涉及工程项目管理概述、工程项目过程管理、Project介绍、工程项目范围管理、工程项目进度(资源、成本)计划、工程项目跟踪控制、工程项目信息管理及沟通管理等。Project软件应用具有很强的操作性和实践性,本书结合工程项目管理的基本理论和方法,编写时力求深入浅出、通俗易懂,突出各部分应用的操作过程和实用性。本书可作为高等院校土木工程、工程管理、工程造价专业的学生教材,也可作为工程管理相关人员的岗位培训教材,还可供工程管理从业人员参考。
本书是一本以VMware vSphere 7.0平台为基础的从入门到精通的项目任务化教程,项目1介绍虚拟化与云计算的基本概念,项目2介绍搭建VMware企业级虚拟化平台的全过程,项目3以StarWind和openfiler为例介绍iSCSI存储的搭建与配置,项目4介绍部署vCenter Server的过程,项目5介绍vCenter Server的高级应用,项目6详细介绍VMware云桌面服务的搭建。本书不仅可以作为高等院校计算机网络技术、云计算技术专业的学生教材,还可以作为对VMware vSphere云平台运维与管理技术感兴趣的读者的参考用书。
本书是美国项目管理协会新发布的敏捷实践标准,它是理解、评估和使用敏捷和混合的敏捷方法的资源。该实践指南为何时、何地以及如何应用敏捷方法提供指导,并为希望增强敏捷性的实践者和组织提供实用工具。本指南是与PMI其他标准一致,包括项目管理知识体系指南(PMBOK指南第六版),是PMI与敏捷联盟合作开发的成果,是PMI推出的敏捷认证教材之一。
本书融有限元分析的基础知识和ANSYS Workbench应用实例为一体,配以大量的案例分析,从而在基础理论和工程实践应用之间架起一座桥梁。全书共15章,分别讲解了ANSYS Workbench基础知识、几何建模基础 、网格划分平台、结构线性静力分析、Workbench界面与经典ANSYS(MAPDL)、热分析、动力学分析、显式动力学分析、线性屈曲分析、结构非线性分析、流体动力学分析、电磁场分析、优化设计、多物理场耦合分析及综合应 用和ANSYS Discovery AIM基础,主要包括不同物理场耦合技术在产品研发中的应用,这些都反映了当今国际上仿真技术发展的新应用成果。为了提高读者的学习效率,本书还特别配套1张DVD光盘,内含书中实例的模型 文件和计算文件。
《软件测试原理及应用》较为全面系统地介绍了当前软件测试领域的理论和实践知识,反映了当前新软件测试理论、标准、技术和工具,展望了软件测试的发展趋势。全书共分15章,主要包括软件工程与软件测试、软件测试概论、软件测试基础知识、软件测试过程、黑盒测试、自盒测试、自动化测试技术及其工具、性能测试、面向对象测试、软件测试管理以及软件测试文档模板等相关内容。 《软件测试原理及应用》可作为高等院校相关专业软件测试的教材或教学参考书,也可作为从事计算机应用开发的软件项目经理和需要了解软件测试的各类管理人员的参考书。
“大规模定制”“个性化需求”“工业4.0”“电子商务”等都离不开弹性物料搬运系统,而室内定位服务系统可以显著地改善传统的自动化物流搬运系统的运营绩效和经济绩效。本书的主要贡献包括:*,设计了一个基于室内定位服务的无轨弹性物料搬运系统;第二,提出一个方法体系来评价该弹性物料搬运系统的运营与经济绩效;第三,在考虑不确定感应的条件下,研究了室内定位系统的关键问题,即定位传感器的布局问题;第四,分析在不同应用环境下,定位传感器的布局设计。本书主要以个性化需求盛行的服装制造业以及快速发展的电子商务为背景来研究上述问题,提出工业界和学术界所关心的相关问题,并尝试回答一部分问题。
内 容 提 要本书作为一本基于Swift 3.0语法的全新教程,系统全面地讲解了使用Swift开发项目的知识和技术,可以帮助初学者真正达到从零基础到独立开发项目的技术水平,成为Swift开发者。本书共分为12章:第1~5章讲解了Swift开发的一些基本语法;第6~7章讲解了Swift面向对象的编程思想;第8~10章讲解了Swift的开发特性;第11章讲解了Swift与Objective-C项目的相互迁移;第12章教大家开发《2048》游戏。本书从始至终保持通俗易懂的描述方式,采用理论与案例相结合的方法帮助初学者更好地理解各个知识点在实际开发中的应用。本书附有源代码、习题、教学视频等配套资源,而且为了帮助初学者更好地学习本教材中的内容,还提供了在线答疑。本书既可作为高等院校本、专科计算机相关专业的程序设计课程教材,也可作为iOS开发技术的培训教材。
No matter how much instruction you've had on managing software requirements, there's no substitute for experience. Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book. With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project.
《深度学习的数学》基于丰富的图示和具体示例,通俗易懂地介绍了深度学习相关的数学知识。第1章介绍神经网络的概况;第2章介绍理解神经网络所需的数学基础知识;第3章介绍神经网络的*化;第4章介绍神经网络和误差反向传播法;第5章介绍深度学习和卷积神经网络。书中使用Excel进行理论验证,帮助读者直观地体验深度学习的原理。
20多年以来,《软件工程:实践者的研究方法》一书是受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评,在国际软件工程界享有无可质疑的权威地位。 本书基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,使之更加适合作为国内高校计算机及相关专业本科生软件工程课程双语教学的教材,也可供软件工程领域的技术人员参考。
《黑客攻防与网络安全从新手到高手:实战篇》在剖析用户进行黑客防御中迫切需要或想要用到的技术时,力求对其进行 傻瓜 式的讲解,使读者对网络防御技术有一个系统的了解,能够更好地防范黑客的攻击。全书共分为15章,包括网络安全快速入门、搭建网络安全测试环境、黑客入侵方式与DOS命令、木马病毒的查杀与预防、系统漏洞与用户账户的安全防护、远程控制入侵系统的安全防护、网络账号及密码的安全防护、浏览器的安全防护、有线局域网的安全防护、无线局域网的安全防护、网站系统的安全防护、电子邮箱与邮件的安全防护、操作系统的安全防护、计算机安全的终极防护、黑客后门入侵痕迹的清理等内容。 另外,《黑客攻防与网络安全从新手到高手:实战篇》还赠送海量王牌资源,由于赠送的资源比较多,在《黑客攻防与网络安全从新手到高手:实