Share E-Book

Java系统分析与架构设计 (肖海鹏 王荣芝 张天怡 王化宇 周洪翠)(Z-Library)

Author 肖海鹏 王荣芝 张天怡 王化宇 周洪翠

Java
Language English

本书面向软件工程项目实战,内容按照软件项目的生命周期展开,分别为软件项目需求分析、软件项目架构设计(开发架构模式为主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 全书共7章,第1章以大型企业项目“中国石油物资采购管理信息系统”为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为“软件架构设计”,讲解架构设计五视图、Java EE架构模式、微服务架构模式、Dubbo 3架构模式、MOM架构模式等内容,同时结合大型分布式项目“电影院综合票务管理平台”进行详细的架构设计示范;第3章为“项目模块设计”,讲解UML类图、UML时序图设计方法,同时结合项目“新闻系统”与“物流管理系统”进行模块设计的项目实战示范;第4章为“持久层物理表设计”,讲解“三范式与反范式”设计方法,并总结13个真实企业级软件项目,进行物理表设计示范;第5章为“持久层Redis数据库设计”,结合“当当书城”项目进行Redis项目实战示范;第6章为“持久层MongoDB数据库设计”,结合“新浪微博”系统,进行MongoDB项目实战示范;第7章为“项目部署”,讲解了Nginx反向代理、Docker虚拟化部署以及Web服务器集群、MySQL集群部署、Redis集群部署、MongoDB集群部署。 本书提供大量项目实战代码示例,具体程序代码见本书配套资源,获取方式见前言。 本书适合作为高等院校计算机、软件工程专业高年级本科生、研究生的教材,也可供有一定编程经验的软件开发人员、广大科技工作者和研究人员参考使用。

Format EPUB
Size 11.8 MB
189
Views
0
Downloads
0.00
Total Donations

AI Guide

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

Full assistant
AI guide
【One-Line Pitch】 A project-lifecycle-driven guide for Java developers and software engineering students who want to move from coding to designing: it walks through requirements analysis, architecture patterns, module design, persistence modeling, and deployment using real enterprise case studies. 【Book Arc】 - **Opening (~0%–10%)**: Introduces the software project lifecycle (from project initiation to maintenance) and the key roles of clients (甲方) vs. developers (乙方). It sets up the book’s core promise: teaching system analysis and architecture through 17 real enterprise projects, not just UML theory. - **Early (~10%–29%)**: Dives into requirements analysis using the "China Petroleum Materials Procurement Management Information System" (PMS) case. Covers business flow diagrams (TFD), complex flow decomposition, role-based flows, UML use case/state/activity diagrams, and conceptual modeling with PowerDesigner. - **Middle (~29%–48%)**: Explores software architecture design. Introduces the "five views" (physical, runtime, development, logical, data), then walks through a progression of development architecture patterns: three-tier, MVC, AJAX, Java EE (EJB), SOA/Web Services, and Spring Cloud microservices—each with code examples and deployment logic. - **Late (~48%–75%)**: Focuses on module design (UML class and sequence diagrams) and persistence layer design. Chapter 4 covers relational physical table design with normalization/denormalization, demonstrated across 13 real projects (e.g., meeting room booking, online food ordering, Dangdang bookstore, logistics management). - **Ending (~75%–100%)**: Covers NoSQL persistence (Redis with Dangdang bookstore, MongoDB with Sina Weibo) and deployment. The final chapter explains Nginx reverse proxy, Docker virtualization, and clustering for web servers, MySQL, Redis, and MongoDB. 【Key Takeaways】 - **Requirements docs must match their audience** (Early): User requirements documents should avoid technical jargon for end users, while software requirements documents target developers/testers. Miscommunication here is a top cause of project failure. - **Business flow diagrams are the backbone of requirements analysis** (Early): Use basic flowcharts for simple processes and cross-functional flowcharts for complex, role-based workflows. They clarify process logic before any code is written. - **UML is a practical toolset, not just theory** (Early): Use case diagrams capture user goals, state diagrams model object lifecycle, and activity diagrams (with swimlanes) show parallel workflows. Choose the right diagram for the analysis task. - **Architecture is about structure, not just code** (Middle): The five-view model (physical, runtime, development, logical, data) forces you to think about deployment topology, control flow, code organization, responsibilities, and data storage as separate concerns. - **Development architecture patterns evolve from simple to distributed** (Middle): Three-tier → MVC → AJAX → Java EE (EJB) → SOA → microservices (Spring Cloud). Each step solves a specific problem: decoupling, remote calls, or high concurrency. - **Persistence design requires balancing normalization and performance** (Late): The book teaches "three normal forms vs. anti-normalization" with 13 real projects, showing that physical table design is a practical trade-off, not a rigid rule. - **NoSQL databases serve specific use cases** (Late): Redis excels at caching, sorting, and session management (demonstrated with Dangdang bookstore); MongoDB suits document-oriented data like social media posts (demonstrated with Sina Weibo). - **Deployment is part of architecture** (Ending): Nginx for reverse proxy, Docker for virtualization, and clustering strategies for MySQL, Redis, and MongoDB are essential for production-grade systems handling high concurrency. 【Reading Tips】 - **Skim the PMS case in Chapter 1** if you already know UML basics; focus instead on the flow decomposition and role-based diagrams, which are the most transferable skills. - **Deep-read Chapter 2's architecture pattern progression** (three-tier → microservices). This is the conceptual core of the book; understanding why each pattern emerged will help you choose the right one for your projects. - **Use Chapter 4 as a reference, not a cover-to-cover read**: The 13 physical table design cases are best consulted when you face a similar domain (e.g., e-commerce, logistics, booking systems). - **Treat Chapters 5–6 as hands-on tutorials**: Follow the Redis and MongoDB examples with your own environment; the value is in the practical integration with Java, not just the theory. - **Expect code-heavy sections**: The book references companion resources for full code; don't get stuck on incomplete snippets in the text—download the resources for complete implementations. 【Coverage Limits】 This guide covers the book's structure and key concepts based on excerpts, but detailed code implementations, specific diagram examples, and the full 13 project case studies are not fully represented here. Refer to the book's companion resources for complete code and diagrams.

Passage locations

Excerpt 1
主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 全书共7章,第1章以大型企业项目“中国石油物资采购管理信息系统”为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为“软件架构设计”,讲解架构...
View in text
Excerpt 2
理、质量管理和综合管理等内容。 4.项目阶段划分 【项目阶段,就是按照里程碑进行项目管理,每个阶段要有完整的项目提交物。可以按照项目阶段进行分段管理、审核甚至是验收。项目分段管理是防范项目风险的最有效手段之一】 PMS遵照“统一系统规划、分步组织实施;先试点再推广,持续改进;急用先建、边建边用”的原则,项目分试点...
View in text
Excerpt 3
及关键类的定义;协作的定义关注接口的定义与协作关系的明确。 5)数据架构 数据架构的目的是确定要存储的数据以及存储格式。其中,存储的数据可以是文件、关系数据库、实时数据库等;存储格式包括文件格式、数据库图表等。 2.2 开发架构模式选择 在软件架构设计五视图中,开发架构是五视图的核心视图。而在开发架构中,选择何种...
View in text
Excerpt 4
询等。 图2-26 Web服务架构 为了能够实现广域网的服务访问,Web服务使用的是SOAP。 SOAP包含以下四部分。 · SOAP封装(envelop):封装定义了描述消息中的内容是什么,是谁发送的,谁应当接收并处理它们,以及如何处理它们。 · SOAP编码规则(encoding rules):用于表示应用程...
View in text

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
Back to List