软件工程及软件方法学
-
编写安全的移动应用程序[美]J.D.格拉瑟(J.D.Glaser) 著,吴骅 译《编写安全的移动应用程序—基于PHP和JavaScript技术》详细阐述了与编写安全的移动应用程序相关的基本解决方案,主要包括Web应用程序攻击界面,PHP安全反模式,PHP基本安全,PHP安全工具概览,基于UTF-8的PHP和MySQL,项目布局模板,关注点分离,PHP和PDO,模板策略模式,现代PHP加密技术,异常和错误处理,安全的会话管理,安全的会话存储,安全的表单和账户注册,安全的客户端服务器表单验证,安全的文件上传机制,安全的JSON请求,Google Maps、YouTube和jQuery Mobile,Twitter身份验证和SSL cURL,安全的AJAX购物车,常见的Facebook漏洞点等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
-
网络设计与应用刘化君本书是《网络工程师教育丛书》的第8册,通过网络工程实例讨论网络设计与应用。全书共9章:、二章是网络系统需求和性能分析;第三、四章讨论网络的逻辑设计和物理设计;第五章给出比较完整的网络工程设计案例;第六、七章分别介绍Linux和Windows网络服务配置;第八章介绍Web应用服务与配置;第九章讨论Web程序设计方法。为帮助读者更好地掌握基础理论知识和应对认证考试,各章均附有小结、练习及小测验,并对典型题型给出解答提示。
-
构建高质量软件心蓝(汪文君)本书共10 章,分为四大部分。部分(第1~4 章)主要围绕如何提高软件的开发质量和效率展开,详细讲述了单元测试的常用工具和实践,并展开阐述了持续集成、持续交付、持续部署等概念;第二部分(第5~6 章)详细讲解两个常用的mock 工具——Mockito 和Powermock,通过实例详尽地讲解了它们的语法规则和使用场景,目的是让开发者在不修改软件源代码和程序结构的前提下尽可能确保软件具备可测试性;第三部分(第7~8 章)详细讲述两个行为驱动开发工具(功能测试)Concordion 和Cucumber,这两个工具可以帮助我们很好地完成功能测试、验收测试、回归测试等工作;第四部分(第9~10 章)综合前面三部分的知识点,并引入代码风格检查、静态代码分析、第三方依赖安全性检查、企业内部私服的原理和搭建、Ansible 自动化软件部署工具、Jenkins Pipeline 等知识,帮助读者构建完整的CI/CD 流程。
-
智能算法导论尚荣华,焦李成,刘芳,李阳阳 著智能算法是在进化计算、模糊逻辑、神经网络三个分支发展相对成熟的基础上,通过相互之间的有机融合进而形成的新的科学方法,也是智能理论和技术发展的崭新阶段。该书对智能算法的前沿领域进行了详细论述,主要内容包括遗传算法、免疫算法、Memetic算法、粒子群算法、蚁群算法、狼群算法、人工蜂群算法、细菌觅食优化算法、分布估计算法、差分进化算法、模拟退火算法、贪心算法、雨滴算法、禁忌搜索算法、量子算法、A*算法、神经网络算法、深度学习算法、强化学习及混合智能算法。《智能算法导论》着重对上述领域的国内外发展现状进行总结,阐述编者对相关领域未来发展的思考。该书可以为计算机科学、信息科学、人工智能自动化技术等领域从事自然计算、机器学习、图像处理研究的相关专业技术人员提供参考,也可以作为相关专业研究生和高年级本科生教材。
-
架构之道[美] 居瓦·洛瑞(Juval Lowy) 著,朱少民,张元,丁慧,周倩嫣,金泽锋 译本书展示了系统设计和项目设计的结构化工程方法。本书的结构反映了方法论的两个部分:系统设计(通常称为架构)和项目设计。这两部分相辅相成,是成功的必要条件。附录提供了一些补充内容。 在大多数技术书籍中,每一章只针对一个主题并深入探讨,这样更容易编写,但这通常不是人们学习的方式。相比之下,在这本书中,讲解是螺旋式的。本书的两大部分中的每一 章都重申了前几章的观点,通过多方面的洞察来进行更深入的研究或观点的演进。这模仿了自然的学习过程,每一章都依赖于前面的章节,所以你应该按顺序阅读这些章节。本书的两大部分均包含了详细的案例研究,以展示这些观点以及其他方面。同时,为了保持迭代的简洁性,作为一般规则,我通常避免内容重复,因此即使是关键知识点,也只讨论一次。 以下是对各章和附录的简单介绍: 第1章 元设计方法 本章介绍了下列关键思想:要想成功,必须同时设计系统和用来构建系统的项目。这两种设计对于最终成功都是不可或缺的。没有架构就无法设计项目,设计一个无法构建的系统是毫无意义的。 第2章 分解 本章致力于将系统分解为组成其架构的组件。大多数人以最坏的方式来分解系统,所以本章首先解释了不该做什么。一旦这个观念建立起来,你将学会如何正确地分解系统,在该过程中掌握一组有用的、简单的分析工具并获得观察结果。 第3章 结构 本章提升了第2章的思想,引入了结构。你将看到如何捕获需求、如何对架构分层、架构组件的分类及相互关系、特定的分类指导原则以及一些相关的问题,如子系统设计。 第4章 组合 本章说明如何将系统组件组装成满足需求的有效组合。这简短的一章包含了本书的几个关键设计原则,并将前两章的内容转化为将在每个系统中使用的强大的思维工具。 第5章 系统设计示例 本章是一个广泛的案例研究,展示了迄今为止所讨论的系统设计思想。系统设计螺旋结构的最后迭代提供了一个实际的系统,使系统设计与业务保持一致,并展示了如何生成架构并对其进行验证。 第6章 动机 由于大多数人从来没有听说过项目设计(更不用说实践了),本章介绍了项目设计的概念和参与项目设计的动机。这是项目设计螺旋的第0次迭代。 第7章 项目设计综述 本章概述了如何设计一个项目,首先定义了“软件研发的成功”,然后介绍了明智的决定、项目人员配备、项目网络图、关键路径、安排活动和项目费用等关键概念。本章涵盖了随后各章中使用的大多数思想和技术,最后重点讨论了角色和责任。 第8章 网络和浮动时间 本章介绍了项目网络及其作为设计工具的使用。你将看到如何将项目建模为一个网络图,学习浮动时间的关键概念,了解如何在人员配备和调度中使用浮动时间,并了解浮动时间与风险的关系。 第9章 时间和成本 本章定义了在所有项目中时间和成本之间可能的权衡,并讨论了通过正确工作来加速所有项目的方法。除此之外,你还将学习压缩的关键概念、时间-成本曲线和成本要素。 第10章 风险 本章介绍了大多数项目中缺少的要素:量化风险。你将看到如何度量风险并将其映射到上一章的时间和成本概念中,以及如何基于网络计算风险。风险通常是评估选项的最佳方式,也是一流的规划工具。 第11章 实践中的项目设计 本章通过对设计一个项目所涉及的步骤进行系统的演练,将前几章的所有概念付诸使用。其目标是演示设计项目时使用的思维过程,以及如何为业务决策者审查做准备。 第12章 高级技巧 遵循螺旋式学习模型,本章介绍了高级技巧和概念。这些技巧在各种复杂程度(从简单到具挑战性)的项目中都很有用,是对前几章的补充,而且经常会结合起来使用。 第13章 项目设计示例 本章是与第5章的系统设计示例相对应的项目设计示例。它也是一个案例研究,展示了设计项目端到端的过程。本章的重点是案例研究,而不是技巧。 第14章 总结 最后一章从设计的技术方面进行了回顾,提供了一系列的指导、技巧、视角和开发过程思想。它从“回答何时设计项目这个重要问题”开始,以“项目设计对质量的影响”结束。 附录A 项目跟踪 附录A展示了如何在计划方面跟踪项目的进度,以及如何在需要时采取纠正措施。项目跟踪更多的是关于项目管理,而不是项目设计,但它对于确保你在工作开始后履行承诺至关重要。 附录B 服务契约设计 架构本身是粗略的,你必须设计其每个组件的细节,而这些细节中最重要的是服务契约。附录B指出了设计服务契约的正确方法。此外,关于模块化、规模和成本的讨论也很好地契合了本书大多数章节的内容。 附录C 设计标准 附录C汇总了本书中提到的关键原则、指南和禁忌事项。该标准是简洁的,是关于“什么”,而不是“为什么”。这个标准背后的原理可以在本书的其余部分找到。
-
Spring Boot+Vue.js+分布式组件全栈开发训练营曹宇,胡书敏 著《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》以企业应用开发为目标,全面讲述Spring Boot整合分布式组件进行全栈项目开发的实战技能。全书分为三部分。第一部分(第1~9章)主要讲述Spring Boot的相关技能,包括搭建Spring Boot开发环境、Spring Boot框架基础、JPA操作数据库、面向切面编程、基于Thymeleaf和FreeMarker的全栈开发、拦截器和过滤器、RESTful规范定义服务、Swagger组件可视化服务、logback和ELK组件输出日志、基于Spring Security和Shiro的安全框架技术和基于Junit的单元测试技术。第二部分(第10~15章)主要讲述Spring Boot整合诸多分布式组件的技术,包括整合MongoDB、Redis和MyCAT数据层组件、整合Dubbo和Zookeeper、整合RabbitMQ消息中间件和基于Nginx的分布式部署。第三部分(第16和17章),第16章以前后端分离项目为例,给出了基于Vue的全栈开发技术,其中前端用到了Vue、Element-UI和Axios等组件,后端用到了Redis缓存组件和MyCAT分库组件;第17章通过高并发限流和秒杀项目讲述了Redis和RabbitMQ等分布式组件的用法。《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》是编者十余年一线Java项目开发经验的总结,重在解决实际开发中遇到的问题,特别适合具有Java基础和想学习Spring Boot项目开发的人员使用。由于该书各章还提供了练习题,因此也很适合用作培训机构和大专院校书的教学用书。
-
华为云DevCloud敏捷开发项目实战吕云翔,许鸿智,杨洪洋,陈妙然,黎昆昌 著《华为云DevCloud敏捷开发项目实战》以理论与实践相结合的方式,由浅入深、循序渐进地结合华为云DevCloud的线上开发工具以及前沿的开发框架,向用户介绍敏捷开发的工程思想与一般流程。本书共分为两部分,共有7章。第1部分基础篇,包括第1章DevCloud简介,第2章敏捷开发,第3章技术准备与实践; 第2部分实战篇,包括第4章书籍影视交流平台,第5章青年租房管理系统,第6章学习生活交流论坛,第7章技术分享类博客网站。 本书可供软件开发从业人员了解敏捷开发思想,熟悉敏捷开发流程,也可供计算机科学与软件工程相关专业学生使用。希望读者可以根据书本内容亲自动手实践,以加深对软件工程思维的理解。本书还可以作为软件工程敏捷开发相关课程的良好教材。
-
医用仪器软件设计江少锋,钟世达 编《医用仪器软件设计――基于Qt(Windows版)》基于Qt Creator平台,介绍医用电子技术领域的典型应用开发。全书共29个实验,其中1个实验用于熟悉Qt项目的开发流程,14个实验用于学习C++语言,4个实验用于熟悉Qt的核心知识点,其余10个实验与医用仪器软件系统开发密切相关。《医用仪器软件设计――基于Qt(Windows版)》配有丰富的资料包,包括Qt例程、软件包、硬件套件,以及配套的PPT、视频等。这些资料会持续更新,该书既可以作为高等院校相关课程的教材,也可作为Qt开发及相关行业工程技术人员的参考书。
-
职业素养入门与提升管小青本书是一本介绍大学生职业素养的书籍,基于我国多所高校的具体做法和和经验总结,较系统地构建了大学生职业素养入门及提升的内容体系,包括涵养家国情怀、激发使命担当;树立职业目标、合理规划生涯;提升学习能力、砥砺创新精神;培育职业道德、增强法律素养;学会自我管理、优化健康素养;提高表达能力、达成有效沟通;注重统筹兼顾、强化应变素养;涵育信息素养、提升就业能力;学习职业礼仪、塑造良好形象;开拓国际视野、提升综合素养。
-
UI设计叶军,江韵竹 著随着移动互联网技术的普及和迅猛发展,UI设计这一行业逐渐被越来越多的人了解。本书从UI设计的角度出发,以设计案例和项目实践相结合的方式,介绍UI设计的相关知识与操作技能。全书共8章内容,分别为认识UI设计,UI设计要素,UI设计规范,UI设计布局与构图,网页界面设计,App界面设计,界面的标注,切图与动效制作,以及综合案例——电商主题界面设计。本书每章的内容讲解和项目实训等能有效锻炼并提高读者的设计思维能力和实际操作能力,还能帮助读者理解和掌握UI设计的相关知识。