【2024年】「システムアーキテクチャ」のおすすめ 本 128選!人気ランキング
- ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
- はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで
- エリック・エヴァンスのドメイン駆動設計: ソフトウェアの核心にある複雑さに立ち向かう
- マイクロサービスアーキテクチャ 第2版
- ソフトウェアシステムアーキテクチャ構築の原理 第2版 ITアーキテクトの決断を支えるアーキテクチャ思考法
- Clean Architecture 達人に学ぶソフトウェアの構造と設計
- 競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~ (Compass Booksシリーズ)
- マイクロサービスパターン[実践的システムデザインのためのコード解説] (impress top gear)
- 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
- Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)
Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes * Automating all facets of building, integrating, testing, and deploying software * Implementing deployment pipelines at team and organizational levels * Improving collaboration between developers, testers, and operations * Developing features incrementally on large and distributed teams * Implementing an effective configuration management strategy * Automating acceptance testing, from analysis to implementation * Testing capacity and other non-functional requirements * Implementing continuous deployment and zero-downtime releases * Managing infrastructure, data, components and dependencies * Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever-so you can deliver value to your business rapidly and reliably. Foreword by Martin Fowler Preface Acknowledgements About the Authors Part I Foundations 1 The Problem of Delivering Software 2 Configuration Management 3 Continuous Integration 4 Implementing a Testing Strategy Part II The Deployment Pipeline 5 Anatomy of the Deployment Pipeline 6 Build and deployment scripting 7 Commit Testing Stage 8 Automated Acceptance Testing 9 Testing Non-Functional Requirements 10 Deploying and Releasing Applications Part III The Delivery Ecosystem 11 Managing infrastructure and environments 12 Managing Data 13 Managing components and dependencies 14 Advanced version control 15 Managing Continuous Delivery Bibliography Index
システム開発の上流工程の1つである、システム設計にスポットを当てた入門書です。システム設計を大きくアプリケーション設計とインフラ設計の2つに分類し、各分類における設計内容を軸に、実践のポイントや注意点などを紹介しました。関係者間で共通の認識を持って開発を進め、システムの品質を高められるようになるはずです。また、設計書の活用方法についても解説されているので、メンテナンスも効率的にできるようになるでしょう。 CHAPTER1 「システム設計」の位置付け Section 01 本書の前提とシステム「開発」の全体像 Section 02 「要件定義」とは Section 03 「設計」とは Section 04 「開発テスト」とは Section 05 「リリース」とは Section 06 「保守・運用」とは COLUMN どの工程にどれくらいリソース(工数)が必要なの? CHAPTER2 「システム設計」とは Section 07 本書における「システム設計」の整理方法 Section 08 設計書を作成する理由 Section 09 設計書の種類 Section 10 「全体設計」の概要 Section 11 「入出力設計」の概要 Section 12 「データベース設計」の概要 Section 13 「ロジック設計」の概要 Section 14 「ネットワーク設計」の概要 Section 15 「サーバ設計」の概要 COLUMN システム設計は広く、深い CHAPTER3 「システム設計」 に影響する考え Section 16 ソフトウェア設計モデル Section 17 フレームワーク Section 18 社外要因・社内要因 Section 19 オンプレミスとクラウド Section 20 仮想化技術 Section 21 ミドルウェア COLUMN ソフトウェアを作るのは勉強も必要だが、本来は楽しいもの CHAPTER4 全体設計 Section 22 全体設計の流れとポイント Section 23 システムアーキテクチャ設計 Section 24 信頼性・安全性設計(全体編) Section 25 環境設計(全体編) Section 26 性能設計(全体編) Section 27 セキュリティ設計(全体編) Section 28 運用方式設計(全体編) Section 29 外部接続方式設計(全体編) Section 30 標準化設計 Section 31 テスト方式設計(全体編) Section 32 移行方式設計(全体編) COLUMN こんなにも全体設計が必要なの? CHAPTER5 入出力設計 Section 33 設計書一覧 Section 34 画面系:画面一覧 Section 35 画面系:画面遷移図 Section 36 画面系:画面共通設計 Section 37 画面系:画面レイアウト Section 38 画面系:画面入力設計 Section 39 帳票系:帳票レイアウト Section 40 IF系:外部接続先一覧 Section 41 IF系:外部接続方式設計 Section 42 IF系:IFレイアウト Section 43 その他:送信メール設計 COLUMN 入出力設計は、システム知見に加えてコミュニケーション力が必要 CHAPTER6 データベース設計 Section 44 設計書一覧 Section 45 ボリューム一覧 Section 46 RDB:データベース設定 Section 47 RDB:ER図 Section 48 RDB:テーブルレイアウト Section 49 ファイル:ファイル設計 COLUMN データベース設計といえば、まずはRDBです CHAPTER7 ロジック設計 Section 50 設計書一覧 Section 51 ユースケース図 Section 52 アクティビティ図 Section 53 クラス図 Section 54 シーケンス図 Section 55 処理フロー図(フローチャート) Section 56 状態遷移設計 Section 57 バッチ全体設計 Section 58 処理設計(プログラム仕様書) COLUMN システム構築には「システムならではの考え方」や「業界特有の知識」が必要 CHAPTER8 ネットワーク設計 Section 59 設計書一覧 Section 60 ネットワーク全体構成図(物理構成) Section 61 ネットワーク全体構成図(論理構成) Section 62 ネットワーク提供サービス一覧 Section 63 通信要件一覧 Section 64 IPアドレス設計 Section 65 ネットワークサービス設計 Section 66 FW(ファイアーウォール)ルール設定方針書 Section 67 流量制御設計 COLUMN ネットワークの基礎はOSI参照モデルを知るのが早い CHAPTER9 サーバ設計 Section 68 設計書一覧 Section 69 サーバ仕様設計 Section 70 仮想化設計 Section 71 サーバプロダクト構成書 Section 72 サーバ稼働サービス一覧 Section 73 サーバ設定仕様書 Section 74 サーバ構築手順書(クラウド編) Section 75 サーバ運用設計 Section 76 障害対応手順書 COLUMN サーバ設計ができれば、たいていはなんとかなる CHAPTER10 設計書の活用 Section 77 設計書は開発のためだけではない Section 78 設計書は継続したメンテナンスが重要 Section 79 設計書は影響調査に使用する Section 80 設計書はシステムの品質を高めるために使用する Section 81 設計書は教育に使用する Section 82 設計書は移行の元ネタに使用する COLUMN 設計書は不要、という暴論
Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth
先を制してライバル企業に勝つためのポイントとは?決算を早期化して利益を稼ぎだすには?業務改革で会社をよみがえらせるには?最高のシステムをつくるための「亀のコウラ」とは?ベンチャーから中堅企業まで50社以上、業務設計・改善から会計監査さらにIPO支援まで20年近いコンサルティング実績を誇る「公認会計士兼システムコンサルタント」という異色の著者だからこそ書ける成功のノウハウが満載! 第1章 「稼げるシステム」と「稼げないシステム」の分かれ道はどこにあるのか? 第2章 先を制してライバル企業に勝つ"経営の視点" 第3章 決算を早期化して利益を稼ぎ出す"会計の視点" 第4章 業務改革で会社をよみがえらせる"業務の視点" 第5章 正しい知識で最高のシステムをつくる"システムの視点" 第6章 プロジェクトを成功に導き、会社を飛躍させよう
Getting Real details the business, design, programming, and marketing principles of 37signals. The book is packed with keep-it-simple insights, contrarian points of view, and unconventional approaches to software design. This is not a technical book or a design tutorial, it's a book of ideas. Anyone working on a web app - including entrepreneurs, designers, programmers, executives, or marketers - will find value and inspiration in this book. 37signals used the Getting Real process to launch five successful web-based applications (Basecamp, Campfire, Backpack, Writeboard, Ta-da List), and Ruby on Rails, an open-source web application framework, in just two years with no outside funding, no debt, and only 7 people (distributed across 7 time zones). Over 500,000 people around the world use these applications to get things done. Now you can find out how they did it and how you can do it too. It's not as hard as you think if you Get Real.