プリンキピア

第2章計算論的思考と設計の再利用性

Summaryまとめ

2.1 Computational Thinking2.1 計算論的思考

• Complex problems are situations that are difficult because they involve many different parts or factors.
• 複雑な問題とは、多くの異なる部分や要因を含むために、解決が難しい状況である。
• Computational thinking means breaking these problems into smaller parts, understanding how these parts relate to each other, and then coming up with effective strategies or steps to solve each part.
英語のヒント
• 計算論的思考とは、こうした問題を小さな部分に分け、部分同士の関係を理解し、それぞれを解く効果的な戦略や手順を考えることである。
• Computational thinking is a set of tools or strategies for solving (and learning how to solve) complex problems that relate to mathematical thinking in its use of abstraction, decomposition, measurement, and modeling.
• 計算論的思考は、複雑な問題を解くため、また解き方を学ぶための、一組の道具や戦略である。抽象化、分解、測定、モデリングを使う点で、数学的思考と関係する。
• Characterization of computational thinking is the three As: abstraction, automation, and analysis.
• 計算論的思考は、抽象化(abstraction)、自動化(automation)、分析(analysis)という三つのAで特徴づけられる。
• Decomposition is a fundamental concept in computational thinking, representing the process of systematically breaking down a complex problem or system into smaller, more manageable parts or subproblems.
• 分解は計算論的思考の基本概念であり、複雑な問題やシステムを、より小さく扱いやすい部分や部分問題へ、体系的に分ける過程を指す。
• Logical thinking and pattern recognition are computational thinking techniques that involve the process of identifying similarities among and within problems.
英語のヒント
• 論理的思考とパターン認識は、問題同士の間や、一つの問題の内部にある類似点を見つける過程を含む、計算論的思考の技法である。
• Abstraction is a computational thinking technique that centers on focusing on important information while ignoring irrelevant details.
• 抽象化は、無関係な細部を無視しながら、重要な情報に注目することを中心とした、計算論的思考の技法である。
• Algorithms are detailed sets of instructions to solve a problem step-by-step.
• アルゴリズムは、問題を一段階ずつ解くための、詳細な指示の集まりである。
• Testing and debugging is about finding and fixing mistakes in the step-by-step instructions or algorithms used to solve a problem.
• テストとデバッグは、問題を解くための段階的な指示やアルゴリズムにある誤りを、見つけて直すことである。

2.2 Architecting Solutions with Adaptive Design Reuse in Mind2.2 適応的な設計の再利用を念頭に置いた解決策の構築

• Computational thinking commonly employs a bottom-up strategy for crafting well-structured components.
• 計算論的思考は一般に、構造の整った部品を作るために、ボトムアップの戦略をとる。
• A business solution architecture is a structural design that is meant to address the needs of prospective solution users.
英語のヒント
• ビジネスソリューションのアーキテクチャーは、将来の利用者のニーズに応えるための構造設計である。
• Business solutions are strategies/systems created to solve specific challenges in a business. Designing business solutions can be described as a complex systemic process that requires expertise in various spheres of technology as well as the concerned business. A blueprint is a detailed plan or design that outlines the structure, components, and specifications of a building, product, system, or process.
英語のヒント
• ビジネスソリューションは、事業の特定の課題を解決するために作る戦略やシステムである。その設計は、さまざまな技術領域と対象の事業の専門知識を必要とする、複雑で全体に関わる過程といえる。設計図とは、建物、製品、システム、過程の構造、構成要素、仕様を示す詳細な計画や設計である。
• Two heuristics are inherent to the design of business solutions and the creation of business solution architectures. Layering in business solution architecture involves creating distinct layers that abstract specific aspects of the overall architecture. The layering approach relies on the principle of separation of concerns. The presentation layer holds the user interface (UI) that interacts with the outside world.
英語のヒント
• ビジネスソリューションの設計と、そのアーキテクチャーの作成には、二つのヒューリスティクスが本質的に含まれる。階層化では、全体の特定の側面を抽象化する、別々の層を作る。階層化の方法は、関心事の分離という原理に基づく。プレゼンテーション層は、外部の世界とやり取りするユーザーインターフェース(UI)を保持する。
• User experience (UX) refers to the overall experience that a person has when interacting with a product, service, or system.
• ユーザーエクスペリエンス(UX)は、人が製品、サービス、システムを使うときに得る体験全体を指す。
• A monolithic structure is a system or application architecture where all the components are tightly integrated into a single unit.
• モノリシックな構造は、すべての部品が一つの単位に密接に統合された、システムやアプリケーションのアーキテクチャーである。
• Enterprise-level architecture encompasses various domains that define the structure, components, and operations of an entire organization. Enterprise architecture (EA) views the enterprise as a system or a system of systems.
• 企業全体のアーキテクチャーは、組織全体の構造、構成要素、運営を定めるさまざまな領域を含む。エンタープライズアーキテクチャー(EA)は、企業を一つのシステム、または複数のシステムからなるシステムとして捉える。
• The enterprise business architecture (EBA) is a comprehensive framework that defines the structure and operation of an entire organization. A business model is a framework that outlines how a business creates, delivers, and captures value. The organizational model is the structure and design of an organization, outlining how roles, responsibilities, and relationships are defined.
• エンタープライズビジネスアーキテクチャー(EBA)は、組織全体の構造と運営を定める包括的な枠組みである。ビジネスモデルは、事業がどう価値を生み出し、届け、自らも価値を獲得するかを示す枠組みである。組織モデルは、役割、責任、関係をどう定めるかを示す、組織の構造と設計である。
• The business process is a series of interrelated tasks, activities, or steps performed in a coordinated manner within an organization to achieve a specific business goal.
• 業務プロセスは、特定の事業上の目標を達成するため、組織内で連携して行う、相互に関係する作業、活動、手順の連なりである。
• Location model refers to a set of rules used to analyze and make decisions related to the positioning of entities, activities, or resources.
• 場所モデルは、実体、活動、資源の配置に関する分析と意思決定のために使う、一組の規則を指す。
• The enterprise technology architecture (ETA) is a comprehensive framework that defines the structure, components, and interrelationships of an organization’s technology systems to support its business processes and objectives.
• エンタープライズ技術アーキテクチャー(ETA)は、業務プロセスと目標を支えるため、組織の技術システムの構造、構成要素、相互関係を定める包括的な枠組みである。
• The application architecture is a subset of the enterprise solution architecture.
• アプリケーションアーキテクチャーは、企業のソリューションアーキテクチャーの一部である。
• A data architecture model is a conceptual framework that outlines how an organization structures, organizes, and manages its data assets.
• データアーキテクチャーモデルは、組織がデータ資産をどう構造化し、整理し、管理するかを示す概念的な枠組みである。
• Data modeling is the collaborative process wherein IT and business stakeholders establish a shared understanding of essential business terms, known as entities.
• データモデリングは、IT部門と事業部門の関係者が、エンティティと呼ばれる重要な業務用語について、共通理解を築く協働の過程である。
• Architecture views are representations of the overall system design that matter to different stakeholders.
英語のヒント
• アーキテクチャービューは、システム全体の設計について、異なる関係者にとって重要な部分を表したものである。

2.3 Evolving Architectures into Useable Products2.3 アーキテクチャーを使える製品へと発展させる

• The combination of top-down, adaptive design reuse and bottom-up, computational thinking optimizes modern software development.
• トップダウンの適応的な設計の再利用と、ボトムアップの計算論的思考の組み合わせは、現代のソフトウェア開発を最適化する。
• Model-View-Controller (MVC) is a software architectural pattern commonly used in the design of interactive applications, providing a systematic way to organize and structure code.
• モデル・ビュー・コントローラー(MVC)は、対話型アプリケーションの設計でよく使う、ソフトウェアのアーキテクチャーパターンであり、コードを体系的に整理・構造化する方法を提供する。
• The adaptive design reuse approach is a strategy in software development that emphasizes the efficient reuse of existing design solutions to create new systems or applications.
• 適応的な設計の再利用は、新しいシステムやアプリケーションを作る際、既存の設計による解決策を効率よく再利用することを重視する、ソフトウェア開発の戦略である。
• World Wide Web Consortium (W3C) is an international community that develops guidelines to ensure the long-term growth and accessibility of the World Wide Web.
• World Wide Web Consortium(W3C)は、ワールドワイドウェブの長期的な成長と利用しやすさを確保するための指針を開発する、国際的なコミュニティーである。
• Web 2.0 is the second generation of the World Wide Web when we shift from static web pages to dynamic content.
• Web 2.0は、静的なウェブページから動的なコンテンツへと移る、ワールドワイドウェブの第2世代である。
• Web 3.0 is the third generation of the World Wide Web and represents a vision for the future of the Internet characterized by advanced technologies.
• Web 3.0はワールドワイドウェブの第3世代であり、先進技術を特徴とするインターネットの未来像を表す。
• A web application (web app) refers to a software application that is accessed and interacted through a web browser over the Internet.
• ウェブアプリケーション、すなわちウェブアプリは、インターネットを介し、ウェブブラウザーからアクセスして操作するソフトウェアアプリケーションを指す。
• Blockchain is a secure and transparent way of recording transactions. It uses a chain of blocks, each storing a list of transactions.
• ブロックチェーンは、安全で透明な形で取引を記録する方法である。各ブロックが取引一覧を保存する、ブロックの連鎖を使う。
• Microservices is a way of building software by breaking it into small, independent pieces. Each piece, or service, does a specific job and works on its own.
• マイクロサービスは、ソフトウェアを小さく独立した部分に分けて構築する方法である。各部分、すなわちサービスは特定の仕事を担い、独立して動作する。
• Migrating legacy business solutions means upgrading or replacing old systems with newer, more efficient ones.
• 既存のビジネスソリューションの移行とは、古いシステムを更新したり、新しく効率のよいものへ置き換えたりすることである。
• Innovative cloud mashups refer to creative combinations of different innovative business solutions that leverage disruptive technologies.
• 革新的なクラウドマッシュアップは、破壊的技術を活用する、異なる革新的なビジネスソリューションの創造的な組み合わせを指す。