O’REILLY Learning「Modern Software Engineering: Doing What Works to Build Better Software Faster」1 Introduction

https://learning.oreilly.com/library/view/modern-software-engineering/9780137314942/

I WHAT IS SOFTWARE ENGINEERING?

1 Introduction

Engineering—The Practical Application of Science
ソフトウェア開発は発見と探求のプロセスであり、それを成功させるためには、ソフトウェアエンジニアは学習の専門家になる必要がある。

What Is Software Engineering?
ソフトウェアにおける実用的な問題に対して、効率的かつ経済的な解決策を見出すために、経験的かつ科学的なアプローチを適用すること。

学習のエキスパートになるためには、次のようなものが必要。
・イテレーション
・フィードバック
・インクリメンタリズム
・実験主義
・経験主義

複雑性を管理する専門家になる必要。
・モジュール化
・凝集性
・懸念事項の分離
・抽象化
・ルース・カップリング

上記の10個に対しての実用として
・テスト容易性
・デプロイメント性
・スピード
・変数の制御
・継続的なデリバリー

memoO'REILLY Learning

Posted by shi-n