このページの内容

Awesome Software Architecture

Software Architectureを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

原則

  • Flexibility - 構造変更を伴わず、環境と使いやすさの要件の両方における変更へ適応できること。
  • SOLID - プロジェクトの成長に伴う保守・拡張を考慮してソフトウェアを開発することに寄与します。

デザインパターン

スケーラビリティとレジリエンス

  • Circuit Breaker - カスケード障害を防ぐため、障害中のリソースを保護します。
  • Bulkhead - 障害を分離するためリソースを分割します。
  • Leader Election - リーダー選出により分散ワークロードを調整します。

方法論

ドキュメント

  • arc42 - ソフトウェア・システムアーキテクチャの文書化とコミュニケーション向けテンプレート。
  • Architectural Decision Records - コードと同じようにアーキテクチャ上の決定をバージョン管理・文書化します。
  • Documenting architecture - ソフトウェアアーキテクチャを効果的に文書化する実用的なヒント。

ワークショップ形式

モデリング

  • The C4 Model - Context、Containers、Components、Codeを使ってソフトウェアを記述します。
  • Wikipedia: Data modeling - データモデリングへの優れた短い入門。

ツール

  • Sparx Systems Enterprise Architect - オブジェクト指向モデリングスイート。Windowsでのみネイティブに利用可能。
  • Visual Paradigm - Enterprise Architectに類似。複数プラットフォームで利用可能。
  • Lucidchart - 有料のクラウドベース図エディター。すべての一般的なプラットフォームで利用可能。
  • Draw.io - 無料でシンプルな図エディター。Visioなどに匹敵します。すべての一般的なプラットフォームで利用可能。
  • Structurizr - C4 Model(上記)に基づくモデリングツール。
  • PlantUML - 図向けのmarkdownのように、PlantUMLは英語に似た文法を図へレンダリングします。
  • PlantUML for Atlassian - atlassianスイートにPlantUMLベース図のサポートを追加します。
  • Sketchboard.io - 共同スケッチボーディング。
  • ERD Lab - 開発者向けに作られた無料クラウドベースのエンティティ関係図(ERD)ツール。
  • Pumler - PlantUML、Mermaid、Structurizr(C4)向け、ブラウザーベースのPNG/SVGエクスポートを持つリアルタイム共同テキストから図へのエディター。

フレームワーク

Agile

リーンソフトウェア開発

エクストリームプログラミング

  • Extreme Programming - 人気のアジャイルプロセスの中で最も具体的で、エンジニアリングと開発プラクティスに焦点を当てます。

DevOps

  • Wikipedia: DevOps - 高品質を維持しつつ市場投入までの時間を短縮する、ソフトウェア開発と運用プラクティスの組み合わせ。
  • The Phoenix Project, by Gene Kim et al - IT、Devops、ビジネスの勝利を支援すること :orange_book:。
  • The Unicorn Project, by Gene Kim - 開発者、デジタル破壊、データ時代の繁栄 :orange_book:。
  • Keep CALMS and carry on - BPDTSがDevOps適応の参照としてCALMSモデルを使う方法。
  • Chaos Engineering at Netfix - Chaos Engineeringは、スケールでの分散システムの振る舞いに信頼を築くソフトウェアエンジニアリング内の新しい規律です 🎥。
  • Adidas DevOps Maturity Framework - C.A.L.M.S.のDevOps定義に基づき、採用するとチームの効率、効果、幸福を高める能力とガイドラインのセットを定義します。

ボーナス

貢献

このリストをさらに良くすることに貢献したいですか?素晴らしいです!ただし開始前に、行動規範貢献ガイドラインをご覧ください。

ライセンス

CC0

法律の下で可能な限り、simskijはこの作品に関するすべての著作権および関連・隣接する権利を放棄しました。