本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
本书是计算机领域本科教育教学改革试点工作( 101 计划)核心课程配套实践教材,针对软件工程课程实践教学的特点、难点和重点,以能力和素质培养为目标,围绕实践任务的设计、实施和考评三个方面,阐述了如何基于群智和开源的方法,依托相关的软件工具和平台,开展软件工程课程教学实践。 本书设计了两个相对独立的实践任务:一个是阅读、分析和维护开源软件,旨在通过高质量开源代码的学习和维护来掌握高水平的软件开发技能,并在此基础上开展软件的分析、设计和实现,这是一个建立在逆向工程基础上的课程实践;另一个是开发上规模、有创意和高质量的软件,旨在通过完整的软件开发实践来掌握和运用软件工程知识、培养软件开发能力和软件工程素质,这是一个建立在正向工程基础上的迭代开发课程实践。本书结合具体的软件开发案例,详细介
《WTF Solidity智能合约教程(入门篇)》内容源自GitHub上发布的“WTF Solidity教程”,丰富且实用,用通俗易懂的语言描述Solidity的基础知识,通过实例和代码示例,深入浅出地介绍Solidity编程的关键概念,以及智能合约的优化、安全等高级主题,让读者能够编写出更安全、更高效的智能合约。
本书一共分为四个部分,以Maven的核心概念和佳实践为主要内容,包含大量实例。部分:基础篇,除了Maven的概念、安装、在Eclipse中的使用以及能让读者迅速上手的实例等常规内容外,还包括开发者在使用Maven时常遇到的问题解答,以及开发者对Maven的误解;第二部分:核心概念篇,以Amazon的图书查询服务为背景案例,依次讲解了与Maven坐标和依赖、Maven仓库、Maven声明周期、Maven插件等相关的核心内容;第三部分:实践篇:包含大量佳实践,其中涉及的问题是开发者在使用Maven时经常会碰到,但是又恨难解决的,包括Maven中的约定、模块划分、依赖的合理管理等内容;第四部分:附录,包括POM详解、Settings详解以及索引等重要内容。
《项目管理基础工具:五图二表》从管理学的角度出发,在系统工程学、运筹学、数理统计学和逻辑学的理论基础上,参照美国《PMBOK指南》的知识体系,梳理了项目管理的内在逻辑关系,将项目管理的核心内容进行提炼,化繁为简,创建了一套具有可操作性的实用工具:五图二表(阶段图、资源图、工作分解结构图、关键路径图、甘特图、工作陈述表及责任矩阵表)。 这套基础的核心工具是作者在长期的项目管理实践及项目管理咨询与培训经验基础上总结的,可帮助项目经理在项目管理中厘清思路,提升项目管理水平。 本书适用于对项目管理感兴趣的人群,特别是项目经理、项目总监、企业顾问及高管,同时也可作为高等院校项目管理、服务管理、生产管理或工程项目管理等相关专业的辅导教材。
本书深入浅出地介绍非线性有限元计算软件OpenSees的基本建模与编程的方法,针对初学者设计了一系列循序渐进的算例,介绍编译和添加新材料方法,帮助使用者快速掌握OpenSees用法与编程.
职场中的新人如何自我定位? 如何深刻理解IT售前这个职位? 如何从IT售前菜鸟成长为IT售前专家? 本书将一一解读! 本书主要是为了帮助初级IT售前迅速成长为中高级IT售前的一本书。通过本书的学习,可以让初级IT售前学会“想”、学会“写”、学会“说”,为初级IT售前的继续成长打下了坚实的基础。 本书共11章,分为两部分。第1部分为IT售前技术,也是本书的理论部分,主要从IT售前***的思维、能力和知识三个维度来介绍。第2部分为IT售前实战,主要让读者通过产品型售前案例、方案型售前案例和咨询型售前案例三大案例来体会实际的IT售前工作是如何开展的。 本书是一本理论和实战融为一体的售前图书,对于立志提高IT售前技术的初级售前具有很强的指导意义,对于IT高级售前也具有一定的帮助和启发。 本书精华内容:
本书以步骤图解和视频微课等方式展现了用Blender软件进行三维造型设计的相关知识和技能,主要内容包括:Blender与3D打印的基础入门,Blender与3D打印的进阶内容,Blender与3D打印的高阶内容。每个案例均配有相应的教学视频,方便读者自学和培训。通过对本书的学习,读者不仅可以精准掌握Blender的核心造物功能,包括三维设计、渲染、骨骼绑定、动画等,还可以了解3D打印的操作流程。
通过讲述和可视化故事来构建更好的商业软件,从故事到工作软件,帮助读者构建软件内容的本质,提出以种用于协作领域建模的平易近人、结构化、基于叙述的技术。该书是领域建模技术的实用指南,并从领域驱动设计的关键方面提炼出的丰富见解。
本书自第1版出版至今,近40年来在软件工程界产生了巨大而深远的影响。第9版继承了之前版本的风格与优势,全面系统地讲解软件过程、建模、质量与安全、软件项目管理等知识,涵盖相关的概念、原则、方法和工具,并且提供了丰富的扩展阅读资源和网络资源。同时,本书调整了篇章结构,使内容更加简洁,更适于教学。本书是面向本科生的版本,保留了完整版中的基础内容,压缩或删除了一些高级内容,更加适合作为高等院校计算机、软件工程及相关专业的软件工程课程教材。
本书共分为五部分,部分全面讲述了面向对象程序设计的6大原则;第二部分深入浅出地阐述了23种设计模式,将这23种设计模式与我们耳熟能详的历史故事结合在了一起,趣味性极强;第三部分对各种彼此之间有关联的设计模式进行了分析和比较;第四部分讲解了设计模式的混编;第五部分是附录提供了一份设计模式彩图手册。
本书是一本旨在审视交互设计理论并推进其发展的专业书籍。本书既没有重点讲述网站或特定产品的设计,也没有深入探讨设计的各要素的美学或情感价值,而是深入探究了设计中科技、形式与人三者之间的语义关联——交互。本书重点阐释了对交互设计领域的新理解和洞察,以及人与科技之间的联系。作者通过引人入胜的内容实现对设计师的教化,帮助设计师教化商业人士,同时确立交互设计在商业领域中的地位。本书不但探讨了经济局面的变化、互联性的增强和全球化的科技普及如何影响针对人类行为的设计活动和设计本身,而且还对交互设计的定义进行了阐释,主要覆盖三个方面:其一,交互设计领域各个知识层面;其二,交互设计作为“以人为本”的学科所包含的基本概念;其三,交互设计师在实践当中获得的经验和采用的方法与手段。本书讨论了(设计
本书作者针对软件工程的学科特点,注重结合实例讲解软件工程的理论与方法,避免抽象和枯燥的论述,在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象和敏捷开发方法,新版加入了新型的软件开发方法,例如开源软件、智能化软件、微服务。强调软件质量、软件安全和软件从业人员的职业道德和专业素质。
本书将软件工程理论与软件开发实践相结合,在作者多年从事软件工程教学、科研和开发所取得的经验和成果基础上,引入以开源软件技术为 代表的软件产业界成功实践和软件资源,通过具体和完整的软件开发案例,深入诠释程序、软件和软件工程的概念、思想和内涵,系统介绍软件工程的过程、方法学和工具,强化软件工程课程的综合实践。 全书分为6部分,共16章。第一部分是基础篇,包含第1 3章,从程序和软件入手,介绍软件工程的基本概念和思想、常见的软件过程及主流的软件开发方法。第二部分是需求篇,包含第4 6章,介绍获取、分析、建模和文档化软件需求的过程和策略、语言和工具、软件制品和质量保证。第三部分是设计篇,包含第7 10章,介绍软件体系结构设计、用 户界面设计、软件详细设计的过程和策略、语言和工具、软件制品和质量 保证。第
本书基于ANSYS Workbench 2022 R1平台,分别对ANSYS Workbench平台、几何建模、网格划分、Mechanical处理、结构线性静力学分析、结构线性动力学分析、结构非线性分析、热力学分析、机构优化设计、复合材料分析、结构显示动力学分析、疲劳分析、刚体动力学分析、LS-DYNA动力学分析和HyperMesh与Workbench联合仿真分析进行了介绍。实例与相关理论基础相结合,可帮助初学者快速入门,熟悉有限元分析流程,评估分析结果,处理分析过程中出现的错误,在实践中掌握解决结构领域工程实际问题的思路和方法。 本书可供机械工程、土木工程、水利水电、能源动力、石油化工、航空航天、汽车、日用家电等领域从事产品设计、仿真和优化的工程技术人员参考,也可作为工科类专业本科生、研究生和教师的参考及教学用书。
本书介绍了关于软件应用建模和设计的知识。从UML中的用况到软件体系结构,本书展示了如何在解决现实世界问题的过程中应用COMET,介绍了针对各种体系结构的模式,包括客户端/服务器以及基于构件的软件体系结构中的客户端/服务模式,面向服务的体系结构中的代理、发现和事务模式,实时软件体系结构中的实时控制模式,软件产品线体系结构的分层模式。此外,还介绍了软件质量属性,包括可维护性、可修改性、可测试性、可追踪性、可伸缩性、可复用性、性能、可用性和安全性。
本书分为 数字化转型驱动因素、数字化转型实现要素、数字化转型关键技术和数字化转型解决方案四部分 。 第一部分阐述了什么是数字化转型、什么导致了数字化转型、什么推动了数字化转型,以及数字化转型的风险和挑战。 第二部分探讨了数字化转型的实现要素,包括实现以客户为中心、数据智能、智能决策。 第三部分简要介绍了数字化转型的关键技术,包括数字化转型的智能技术简介和数字化转型的数据科学技术简介。 第四部分给出了数字化转型的解决方案,剖析了一个以客户为中心的数字化转型解决方案实例的业务场景,包括理解数字化转型解决方案和剖析以客户为中心的解决方案。
本书以项目实践作为主线,结合必需的理论知识,以任务的形式设计内容,每个任务都包含任务描述及任务实施的步骤,读者按照实施步骤进行操作就可以完成相应的学习任务,从而不断提升项目实践能力。本书主要内容涉及流式数据的基础知识、Flink的简介及发展历史、Flink的系统架构及Flink API介绍、Flink的集群部署模式、Flink流式API的基本应用、Flink时间和窗口API的应用、Flink高级应用、Flink Table和SQL的应用、Flink CEP的应用、Kafka集群的安装和常用操作,以及Flink、Flume和Kafka的集成方式。 本书适合需要使用Flink进行大数据处理的程序员、架构师和产品经理作为技术参考手册和培训资料,也可作为高校本科生和研究生的教材。
MindMaster思维导图软件是一种比较好的思维管理工具,在整理工作思路,简化工作流程,做好会议记录,进行任务管理、时间管理等方面都非常的实用,目前拥有3000万软件使用会员。《MindMaster实践:用思维导图画出你的答案》是一本介绍如何运用思维导图来提高工作效率和解决问题能力的实用指南。全书分为四部分:思维工具、思维创新、思维管理、高效学习,围绕职场思维导图的基础知识、应用技巧、软件的介绍和操作、案例分析、进阶技巧,结合实战训练展开讲解。这是一本内容丰富、实用性强的思维训练指南,适合所有需要提高工作效率和解决问题能力的职场人士阅读。
本书系统解读了CMMI 2.0模型中的实践,首先介绍了CMMI 2.0相对于CMMI 1.3的变化,阐明了CMMI 2.0的核心思想与理念,然后对CMMI模型中的每个实践域进行了通俗的、详细的、案例化的解读,*后对敏捷方法与CMMI模型进行了系统化的对比分析,并提倡二者的互补融合。 本书对CMMI 2.0模型的解读通俗易懂、言简意赅,并给出了大量实际应用案例,可以帮助读者快速、准确地掌握模型的含义,并与自己的实际场景进行映射和结合,灵活实现模型的要求。 本书适合软件与硬件研发企业的中高层经理、项目经理、过程改进人员、质量管理人员、敏捷教练、咨询顾问以及研发人员等众多参与工程实践的人员阅读。
ANSYS软件是融结构、热、流体、电磁、声学等多物理场于一体的大型通用有限元分析软件,具有多个模块,不但可进行隐式分析,还可进行显式分析,并且可进行多物理场间的复杂耦合分析。 本书以ANSYS2020为平台,对ANSYS热分析和与热相关的耦合场分析的基本思路、操作步骤和应用技巧进行了介绍,并结合工程应用实例讲述了ANSYS的具体使用方法。 本书实例部分采用GUI方式,逐步讲解了操作步骤,在每个实例的后面列出了分析过程的命令流文件。 本书还随书赠送了配套电子资料,其中收录了全书所有实例的APDL程序文件和实例操作过程录屏讲解AVI文件,可以让读者轻松快捷地掌握ANSYS2020热分析的操作技巧和工程应用方法。 本书可供汽车、压力容器、国防 、土木工程、金属热加工等行业的技术人员进行热分析与产品开发使用,也可以作为大学本科生与研究生进行热分
本书全面介绍互联网产品设计与思维的知识。全书共8章,主要内容包括产品设计的流程、Axure工具的使用、需求获取及需求分析、产品结构图和产品流程图绘制、产品的低保真原型图绘制、交互设计、高保真原型图制作和产品迭代。本书知识覆盖面广,各知识模块既相互关联,又相对独立,每个知识模块都配有项目案例,可以使产品设计人员快速、全面地掌握产品设计的思维与技巧。本书配有源代码、习题、教学课件等资源。初学者还可以通过在线答疑来解决学习中遇到的问题。 本书适合作为高等院校相关专业的互联网产品交互设计课程教材,也可作为互联网产品设计、电商从业人员的培训教材。
随着数据存储技术、网络技术和云计算技术的快速发展, 数据正以前所未有的速度在不断地增长和积累。在各种实际应用中, 需要处理的数据量越来越大。 而样例选择就是从包括冗余或噪声的海量数据中选择重要数据的技术, 是机器学习的重要数据预处理步骤, 对后续学习算法的训练及性能有很大的影响. 在机器学习中, 样例选择有两种场景:一是主动学习场景, 二是监督学习场景. 《机器学习中的样例选择》结合作者及研究团队近年来关于样例选择的研究成果, 系统介绍了两种场景下样例选择的理论和方法以及两种场景下样例选择之间的区别与联系。另外,《机器学习中的样例选择》内容涵还盖了样例选择的最新研究进展。