软件工程及软件方法学
-
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设计的相关知识。
-
Python程序设计基础及实践郭炜 著本书是一部零基础、高标准,大广度、重实践的Python编程从入门到熟练的教材。本书覆盖面非常广,包括计算机基础常识、Python语言的基本要素、基本运算和条件分支语句、循环语句、函数、递归、复杂数据类型、计算思维、文件读写、正则表达式、玩转Python生态、数据分析和可视化、网络爬虫、面向对象程序设计入门、tkinter图形界面程序设计等内容。正则表达式、网络爬虫、图形界面等都是其他大多数Python基础教材不涉及的内容。对Python第三方库的使用,讲述尤其全面,涵盖数据分析库NumPy和pandas、数据库编程库SQLite3、图像处理库Pillow、Excel文档处理库OpenPyXL、统计绘图库Matplotlib、分词库Jieba等。还专门用一章的篇幅讲述计算思维,让读者了解计算的本质、时间复杂度、数据结构等概念。这些内容,都不是蜻蜓点水,而是深入浅出。本书适合高等院校各专业学习Python使用。文、理、艺术等各类专业的零基础学生可以掌握并用到本书80%的内容;对编程有较高需求的理科生,可以进一步再多学15%;余下5%则基本是计算机专业学生才需要了解的。但即便是计算机专业的学生,也非常适合使用本书来快速掌握Python语法及各种库的使用。本书配套电子资料十分齐全,包括程序源代码、重点难点讲解视频、课程讲义等,此外,作者在中国大学慕课开设的“实用Python程序设计”课程,提供了覆盖全书90%内容的视频讲解。
-
软件工程[美] 罗杰S.普莱斯曼,[美] 布鲁斯,R.马克西姆 著本书的各个版本一直都是软件专业人士熟悉的读物,在国际软件工程界享有无可质疑的地位。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评。此外,本书在给出传统的、对学科发展具有深刻影响的方法时,又适当地介绍了当前正在发展的、具有生命力的新技术。
-
Vagrant开发运维实战[英] 亚历克斯·布朗顿(Alex Braunton) 著,高远 译Vagrant是一款开源软件,它允许开发者以编程的方式管理虚拟机,帮助团队之间共享开发环境。本书不仅介绍Vagrant的各个知识点,还包含很多相关生态的应用技巧。本书前8章以循序渐进的方式介绍Vagrant的各个功能点和特性,后6章则详细介绍5种主流配置管理工具(Ansible、Chef、Docker、Puppet和Salt),以及它们是如何与Vagrant协同工作的。阅读完本书,相信读者一定能有所收获。本书可供Vagrant开发与运维的初学者阅读,已经对Vagrant有所了解的读者在阅读本书后也将更好地理解和使用Vagrant。无论读者处于什么水平,通过学习本书讲解的知识点和应用技巧,可以有所收获。
-
聚合架构付晓岩 著本书旨在为数字化时代的企业架构提供与时具进的方法论指引,或将成为软件架构领域的里程碑作品。 企业的内部需求和外部环境一直在变,软件研发、交付和使用的方式也一直在变,相应地,企业架构的方法论也一直在演进。数字化时代如火如荼,传统的企业架构方法需要引入新的思维模式,才能满足企业发展需求。 作者结合自己在架构领域多年的实践经验和思考总结,针对数字化转型大背景下企业的架构需求,对TOGAF等传统企业架构方法论的不足进行了改进与创新,提出了一套面向数字化企业的企业架构方法论——聚合架构(ABAE),是管理数字化企业的新思维,在企业架构方法的发展史上或有划时代的意义。聚合架构的定义:数字化时代,构件将成为企业的基本组成部分,通过设计构件关系形成企业架构,基于微观构件的灵活聚合形成弹性的业务组织、业务领域、业务组件、应用组件、物理组件等宏观要素,支持企业从业务到技术的动态调整,使企业具有更强的主动变化能力。本书全面且系统地讲解了聚合架构方法论的演进背景、基础理论、设计指南、工程管理和生态化构建。既包含方法论,又有对构建方法论的建议;既可以指导企业的架构实践,又可以为企业在数字化过程中构建自身的方法论提供可参照的样本。 技术自主可控需要架构自主可控,架构自主可控是企业核心能力自主可控的标志,企业架构方法论也需要实现“道路自信、理论自信”。希望这本书能激起更大的方法论研究热潮,推动国内数十年的信息化实践经验逐步转变成为完善的实施理论,为数字中国建设出一份力。
-
架构之道[美] 居瓦·洛瑞(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汇总了本书中提到的关键原则、指南和禁忌事项。该标准是简洁的,是关于“什么”,而不是“为什么”。这个标准背后的原理可以在本书的其余部分找到。
-
软件工程[美] 罗杰-S.普莱斯曼,[美] 布鲁斯 ... 著本书自第1版出版至今,近40年来在软件工程界产生了巨大而深远的影响。第9版继承了之前版本的风格与优势,全面系统地讲解软件过程、建模、质量与安全、软件项目管理等知识,涵盖相关的概念、原则、方法和工具,并且提供了丰富的扩展阅读资源和网络资源。同时,本书调整了篇章结构,使内容更加简洁,更适于教学。本书是面向本科生的版本,保留了完整版中的基础内容,压缩或删除了一些高级内容,更加适合作为高等院校计算机、软件工程及相关专业的软件工程课程教材。