本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的 哲学 问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
本书是计算机领域本科教育教学改革试点工作( 101 计划)核心课程配套实践教材,针对软件工程课程实践教学的特点、难点和重点,以能力和素质培养为目标,围绕实践任务的设计、实施和考评三个方面,阐述了如何基于群智和开源的方法,依托相关的软件工具和平台,开展软件工程课程教学实践。 本书设计了两个相对独立的实践任务:一个是阅读、分析和维护开源软件,旨在通过高质量开源代码的学习和维护来掌握高水平的软件开发技能,并在此基础上开展软件的分析、设计和实现,这是一个建立在逆向工程基础上的课程实践;另一个是开发上规模、有创意和高质量的软件,旨在通过完整的软件开发实践来掌握和运用软件工程知识、培养软件开发能力和软件工程素质,这是一个建立在正向工程基础上的迭代开发课程实践。本书结合具体的软件开发案例,详细介
《WTF Solidity智能合约教程(入门篇)》内容源自GitHub上发布的“WTF Solidity教程”,丰富且实用,用通俗易懂的语言描述Solidity的基础知识,通过实例和代码示例,深入浅出地介绍Solidity编程的关键概念,以及智能合约的优化、安全等高级主题,让读者能够编写出更安全、更高效的智能合约。
本书一共分为四个部分,以Maven的核心概念和佳实践为主要内容,包含大量实例。部分:基础篇,除了Maven的概念、安装、在Eclipse中的使用以及能让读者迅速上手的实例等常规内容外,还包括开发者在使用Maven时常遇到的问题解答,以及开发者对Maven的误解;第二部分:核心概念篇,以Amazon的图书查询服务为背景案例,依次讲解了与Maven坐标和依赖、Maven仓库、Maven声明周期、Maven插件等相关的核心内容;第三部分:实践篇:包含大量佳实践,其中涉及的问题是开发者在使用Maven时经常会碰到,但是又恨难解决的,包括Maven中的约定、模块划分、依赖的合理管理等内容;第四部分:附录,包括POM详解、Settings详解以及索引等重要内容。
职场中的新人如何自我定位? 如何深刻理解IT售前这个职位? 如何从IT售前菜鸟成长为IT售前专家? 本书将一一解读! 本书主要是为了帮助初级IT售前迅速成长为中高级IT售前的一本书。通过本书的学习,可以让初级IT售前学会“想”、学会“写”、学会“说”,为初级IT售前的继续成长打下了坚实的基础。 本书共11章,分为两部分。第1部分为IT售前技术,也是本书的理论部分,主要从IT售前***的思维、能力和知识三个维度来介绍。第2部分为IT售前实战,主要让读者通过产品型售前案例、方案型售前案例和咨询型售前案例三大案例来体会实际的IT售前工作是如何开展的。 本书是一本理论和实战融为一体的售前图书,对于立志提高IT售前技术的初级售前具有很强的指导意义,对于IT高级售前也具有一定的帮助和启发。 本书精华内容:
本书深入浅出地介绍非线性有限元计算软件OpenSees的基本建模与编程的方法,针对初学者设计了一系列循序渐进的算例,介绍编译和添加新材料方法,帮助使用者快速掌握OpenSees用法与编程.
本书是一本旨在审视交互设计理论并推进其发展的专业书籍。本书既没有重点讲述网站或特定产品的设计,也没有深入探讨设计的各要素的美学或情感价值,而是深入探究了设计中科技、形式与人三者之间的语义关联——交互。本书重点阐释了对交互设计领域的新理解和洞察,以及人与科技之间的联系。作者通过引人入胜的内容实现对设计师的教化,帮助设计师教化商业人士,同时确立交互设计在商业领域中的地位。本书不但探讨了经济局面的变化、互联性的增强和全球化的科技普及如何影响针对人类行为的设计活动和设计本身,而且还对交互设计的定义进行了阐释,主要覆盖三个方面:其一,交互设计领域各个知识层面;其二,交互设计作为“以人为本”的学科所包含的基本概念;其三,交互设计师在实践当中获得的经验和采用的方法与手段。本书讨论了(设计
本书将软件工程理论与软件开发实践相结合,在作者多年从事软件工程教学、科研和开发所取得的经验和成果基础上,引入以开源软件技术为 代表的软件产业界成功实践和软件资源,通过具体和完整的软件开发案例,深入诠释程序、软件和软件工程的概念、思想和内涵,系统介绍软件工程的过程、方法学和工具,强化软件工程课程的综合实践。 全书分为6部分,共16章。第一部分是基础篇,包含第1 3章,从程序和软件入手,介绍软件工程的基本概念和思想、常见的软件过程及主流的软件开发方法。第二部分是需求篇,包含第4 6章,介绍获取、分析、建模和文档化软件需求的过程和策略、语言和工具、软件制品和质量保证。第三部分是设计篇,包含第7 10章,介绍软件体系结构设计、用 户界面设计、软件详细设计的过程和策略、语言和工具、软件制品和质量 保证。第
本书作者针对软件工程的学科特点,注重结合实例讲解软件工程的理论与方法,避免抽象和枯燥的论述,在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象和敏捷开发方法,新版加入了新型的软件开发方法,例如开源软件、智能化软件、微服务。强调软件质量、软件安全和软件从业人员的职业道德和专业素质。
本书以项目实践作为主线,结合必需的理论知识,以任务的形式设计内容,每个任务都包含任务描述及任务实施的步骤,读者按照实施步骤进行操作就可以完成相应的学习任务,从而不断提升项目实践能力。本书主要内容涉及流式数据的基础知识、Flink的简介及发展历史、Flink的系统架构及Flink API介绍、Flink的集群部署模式、Flink流式API的基本应用、Flink时间和窗口API的应用、Flink高级应用、Flink Table和SQL的应用、Flink CEP的应用、Kafka集群的安装和常用操作,以及Flink、Flume和Kafka的集成方式。 本书适合需要使用Flink进行大数据处理的程序员、架构师和产品经理作为技术参考手册和培训资料,也可作为高校本科生和研究生的教材。
本书系统解读了CMMI 2.0模型中的实践,首先介绍了CMMI 2.0相对于CMMI 1.3的变化,阐明了CMMI 2.0的核心思想与理念,然后对CMMI模型中的每个实践域进行了通俗的、详细的、案例化的解读,*后对敏捷方法与CMMI模型进行了系统化的对比分析,并提倡二者的互补融合。 本书对CMMI 2.0模型的解读通俗易懂、言简意赅,并给出了大量实际应用案例,可以帮助读者快速、准确地掌握模型的含义,并与自己的实际场景进行映射和结合,灵活实现模型的要求。 本书适合软件与硬件研发企业的中高层经理、项目经理、过程改进人员、质量管理人员、敏捷教练、咨询顾问以及研发人员等众多参与工程实践的人员阅读。
本书全面介绍互联网产品设计与思维的知识。全书共8章,主要内容包括产品设计的流程、Axure工具的使用、需求获取及需求分析、产品结构图和产品流程图绘制、产品的低保真原型图绘制、交互设计、高保真原型图制作和产品迭代。本书知识覆盖面广,各知识模块既相互关联,又相对独立,每个知识模块都配有项目案例,可以使产品设计人员快速、全面地掌握产品设计的思维与技巧。本书配有源代码、习题、教学课件等资源。初学者还可以通过在线答疑来解决学习中遇到的问题。 本书适合作为高等院校相关专业的互联网产品交互设计课程教材,也可作为互联网产品设计、电商从业人员的培训教材。
随着数据存储技术、网络技术和云计算技术的快速发展, 数据正以前所未有的速度在不断地增长和积累。在各种实际应用中, 需要处理的数据量越来越大。 而样例选择就是从包括冗余或噪声的海量数据中选择重要数据的技术, 是机器学习的重要数据预处理步骤, 对后续学习算法的训练及性能有很大的影响. 在机器学习中, 样例选择有两种场景:一是主动学习场景, 二是监督学习场景. 《机器学习中的样例选择》结合作者及研究团队近年来关于样例选择的研究成果, 系统介绍了两种场景下样例选择的理论和方法以及两种场景下样例选择之间的区别与联系。另外,《机器学习中的样例选择》内容涵还盖了样例选择的最新研究进展。
笔者从事多年数值策划相关工作,作为一名奋战在游戏一线的设计师,深知数值策划在整个项目中的重要性,笔者想要通过本书将自己的心得和体验分享给广大读者。本书包含数值策划的方方面面,从游戏行业、数值策划的概要介绍,到Excel、VBA、游戏方面的基础知识,再到各种数值设计(种族和职业、公式、技能、装备、*、经济等),结合大量一线游戏公司的真实开发案例,让读者了解和学习,踏上游戏数值设计之路。
本书是《软件测试技术基础教程 理论、方法与工具》的姐妹篇,《软件测试技术基础教程 理论、方法与工具》详细介绍软件测试活动中所需的理论知识、测试方法及常用测试工具,而本书紧跟开源趋势,采用开源的实际案例,结合流行的开源项目管理工具禅道、自动化测试工具Selenium、性能测试工具Jmeter,详细介绍敏捷测试理论、测试方法及测试工具在敏捷开发项目中的具体应用。本书共7章,内容包括敏捷开发模型、软件测试基本知识介绍;敏捷测试与敏捷开发团队;如何在敏捷开发团队中进行测试项目分析与任务分配;测试工程师如何开展敏捷测试用例管理及设计活动;Web项目手工测试、自动化测试及性能测试过程。本书可作为普通高等院校、高等职业院校软件测试专业的教材,也可作为社会培训机构的培训教材,同时也适合从事软件测试工作的读者自学参考
本教材基于OpenHarmony、面向全场景的分布式应用来讨论如何进行软件测试,以适应 软件定义世界 新时代的教学需求,树立大学生的民族自豪感和文化自信,使其承担起发展国产基础软件的责任和使命。本教材强调基于案例、问题驱动的教学模式,以实战为主、案例为辅,通过精心设计的13个实验,启发学生思考,促进学生动手实践,切实培养学生分析问题和解决问题的能力,使学生能够掌握软件测试的实践技能。教材在内容上力求系统全面、层次清楚、循序渐进,从单元测试、接口测试到系统测试,从功能测试扩展到专项测试,基本全面覆盖各种专项测试,包括性能测试、安全性测试、兼容性测试、可靠性测试和用户体验测试等。读者通过本教材的学习,能够全面了解软件测试的基本方法和技术,并通过实验更好地巩固所学的内容,真正践行 做中学 ,以提升实践
本书系统解读了CMMI 2.0模型中的实践,首先介绍了CMMI 2.0相对于CMMI 1.3的变化,阐明了CMMI 2.0的核心思想与理念,然后对CMMI模型中的每个实践域进行了通俗的、详细的、案例化的解读,最后对敏捷方法与CMMI模型进行了系统化的对比分析,并提倡二者的互补融合。 本书对CMMI 2.0模型的解读通俗易懂、言简意赅,并给出了大量实际应用案例,可以帮助读者快速、准确地掌握模型的含义,并与自己的实际场景进行映射和结合,灵活实现模型的要求。 本书适合软件与硬件研发企业的中高层经理、项目经理、过程改进人员、质量管理人员、敏捷教练、咨询顾问以及研发人员等众多参与工程实践的人员阅读。
《平衡掌控者(游戏数值战斗设计)》由真正从事 游戏行业的一线人员似水无痕编著,全部由真实游戏设计案例作为实例讲解。全书一共分为6章,每章的主要内容分别为:第1章介绍游戏数值策划在团队中的定位和岗位需求,以及需要提升哪些能力;第2章讲述游戏数值策划在设计层的基础知识,包括游戏类型分类、玩家分类等;第3章讲述实现层的基础知识、Excel相关知识点;第4章讲述公式、技能、装备和随机在实际工作中的设计理念;第5章介绍游戏中战斗的数据结构并对第4章的内容加以实现;第6章讲述VBA相关知识并对之前设计的战斗进行模拟。 本书适合以下这些人群阅读:没做过游戏但热爱游戏,想往数值策划发展的人;做过游戏但没有机会做数值策划,又向往做数值策划的人;想通过本书了解数值策划及其工作内容和工作方法的人。
作者根据自己多年的前后端开发经验,站在完全零基础读者的角度,基于jQuery 1.12.x版本,详尽介绍了jQuery的基础知识及开发技巧。 《从0到1 jQuery快速上手》分为14章,前10章主要介绍jQuery的基本技术,包括常用选择器、DOM操作、事件操作、jQuery动画、过滤方法、查找方法等;后4章主要介绍jQuery的进阶技巧,包括工具函数、开发插件、Ajax操作以及高级技巧。 此外,本书不但配备了所有案例的源代码,作者还结合实际工作和前端面试的经验,精选了很多高质量的练习题。为了方便高校老师教学,本书还提供了配套的PPT课件。本书适合作为前端开发人员的参考书,也可以作为大中专院校相关专业的教学参考书。
本书是一本基于丰富案例的软件工程实用教程,利用软件工程核心三要素 方法、工具和过程 贯穿全文。重点介绍了软件工程的基本概念、原理、软件工程国家相关规范和软件工程文档撰写国家标准以及传统软件工程方法学和面向对象方法学。 本书重点介绍当前主流的面向对象软件工程的开发方法,UML与建模方法、工具以及统一过程RUP。通过实例突出讲述面向对象分析、设计和实现流程。本书所有的概念、开发方法都通过实例来演示,内容精炼、表达简明、实例丰富,非常适合用作高等院校软件工程专业、计算机科学与技术专业及相关专业本科生、研究生的教材,也可以作为培训机构相关专业的培训教材和广大科技工作者和研究人员的参考用书。
本书主要介绍了Project工程项目管理软件应用的基本内容,包括4篇11章,涉及工程项目管理概述、工程项目过程管理、Project介绍、工程项目范围管理、工程项目进度(资源、成本)计划、工程项目跟踪控制、工程项目信息管理及沟通管理等。Project软件应用具有很强的操作性和实践性,本书结合工程项目管理的基本理论和方法,编写时力求深入浅出、通俗易懂,突出各部分应用的操作过程和实用性。本书可作为高等院校土木工程、工程管理、工程造价专业的学生教材,也可作为工程管理相关人员的岗位培训教材,还可供工程管理从业人员参考。