软件工程及软件方法学
-
聚合架构付晓岩 著本书旨在为数字化时代的企业架构提供与时具进的方法论指引,或将成为软件架构领域的里程碑作品。 企业的内部需求和外部环境一直在变,软件研发、交付和使用的方式也一直在变,相应地,企业架构的方法论也一直在演进。数字化时代如火如荼,传统的企业架构方法需要引入新的思维模式,才能满足企业发展需求。 作者结合自己在架构领域多年的实践经验和思考总结,针对数字化转型大背景下企业的架构需求,对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汇总了本书中提到的关键原则、指南和禁忌事项。该标准是简洁的,是关于“什么”,而不是“为什么”。这个标准背后的原理可以在本书的其余部分找到。
-
职业素养入门与提升管小青本书是一本介绍大学生职业素养的书籍,基于我国多所高校的具体做法和和经验总结,较系统地构建了大学生职业素养入门及提升的内容体系,包括涵养家国情怀、激发使命担当;树立职业目标、合理规划生涯;提升学习能力、砥砺创新精神;培育职业道德、增强法律素养;学会自我管理、优化健康素养;提高表达能力、达成有效沟通;注重统筹兼顾、强化应变素养;涵育信息素养、提升就业能力;学习职业礼仪、塑造良好形象;开拓国际视野、提升综合素养。
-
华为云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%内容的视频讲解。
-
解密软件开发实战杨静 著本书从实战出发,详细介绍了解密软件的开发过程。全书分为九章,第一章对整个系统的开发进行了需求分析与概述,介绍了系统开发的整体架构;第二章系统设计包含系统总体架构、服务端架构、客户端架构、系统物理架构;第三章介绍了系统运行的软硬件环境;第四章到第七章通过实例分别讲解数据库与数据表设计、创建项目、公共类设计、各类模块设计过程;第八章以单块GTX1080 GPU运算卡为例给出系统的解密运算类型及运算速度;第九章总结了系统支持的破解模式及其特点。本书实用性强,适用于对解密技术有一定基础的编程爱好者、相关专业方向的工程师作为软件开发的实战指南和参考工具书,应用型高校计算机相关专业、相关培训部门也可选择本书作为教材或参考书。
-
Spring Boot企业级开发实战迟殿委,赵媛媛,郭德先,侯传杰 著Spring框架目前已成为事实上的JavaEE企业开发标准框架,从IoC、AOP两大核心特性逐渐发展成为包括数据访问、WebMVC、消息模块、测试模块等在内的生态帝国。SpringBoot是一套快速开发框架,采用约定大于配置的原则,与其他框架的集成也非常简单,可以很快创建一个产品级别的Spring应用。《Spring Boot企业级开发实战(视频教学版)》讲解SpringBoot应用开发技术,配套源码、课件与教学视频。《Spring Boot企业级开发实战(视频教学版)》分为10章,内容包括Spring核心基础,SpringMVC开发基础,SpringBoot入门,SpringBoot开发Web应用,SpringBoot原理解读,SpringBoot数据访问与事务,SpringBoot高并发,SpringBoot构建企业级应用,SpringBoot打包、部署与监控,综合项目实战。《Spring Boot企业级开发实战(视频教学版)》内容翔实、讲解细致,适合SpringBoot初学者,可作为Web开发人员常备案头的参考书,也可作为高等院校、中职学校及培训机构计算机相关专业的教材或者课程设计用书。《Spring Boot企业级开发实战(视频教学版)》详解SpringBoot技术,内容包括Spring核心思想、SpringMVC基础、SpringBoot基础、Web应用开发、原理解读、数据访问与事务、高并发处理、消息队列、企业级应用构建、打包、部署和监控等,最后通过综合项目培养读者的实际应用开发能力。《Spring Boot企业级开发实战(视频教学版)》配套示例源码、PPT课件、教学视频,作者提供技术支持服务。
-
编写安全的移动应用程序[美]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漏洞点等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。