web-dev-qa-db-ja.com

コンピュータサイエンスとソフトウェアエンジニアリングの違いは何ですか?

ソフトウェアエンジニアリングビデオ で質問したときに見た答えで質問をすることに拍車がかかりました。答えは次のとおりです。

余談ですが、ここでリンクしているものに注意してください。ソフトウェア工学とコンピュータサイエンスは非常に異なる分野です。ソフトウェアエンジニアリングには、ソフトウェア開発ライフサイクル(方法論とプロセスを含む)、モデリング、通信、エンタープライズSEカルチャーなどが含まれ、コード、アルゴリズム、効率などにはほとんど関心がありません。

5月12日にJoshJordanが回答

そしてこれは私のコメントでした:

私は幾分反対しなければなりません。ソフトウェアエンジニアリングは、コンピュータサイエンスのサブ分野です。ソフトウェアエンジニアリングのサブエリアの1つは建設であり、これはすべてコードに関するものです。 [〜#〜] swebok [〜#〜] を参照してください。

アルゴリズムはソフトウェアエンジニアリングの範囲外だと思いますが、オブジェクト指向プログラミングや安全なプログラミングなどはそうではありません。

これは重複していると言う人もいますが、コンピュータエンジニアリングはハードウェアに関するものであり、ソフトウェアエンジニアリングはソフトウェアに関するものです。

20
LeWoody

最も還元主義的で単純な用語で:コンピュータサイエンスは理論であり、ソフトウェアエンジニアリングは実践です。これは、たとえば、化学(結合、価電子殻、周期表、量子論)と化学工学(工業生産、純度収率、一連の制約が与えられた場合に最適な材料を見つける)の間の関係に似ています。

21
John Feminella

/で記事を読んだだけです。このトピックについて: ソフトウェアエンジニアリング≠コンピュータサイエンス

記事からのこの画像はそれをうまく要約しています: Red line separating computer science and software engineering

11
DavGarcia

偉大なコンピュータサイエンス Dijkstra が有名に言ったように、「コンピュータサイエンスは、天文学が望遠鏡に関するものであるのと同じように、コンピュータに関するものではありません。」したがって、ソフトウェアエンジニアリング(コンピュータと関係がある)はサブです。コンピュータサイエンスの分野は、どの光学系(望遠鏡と関係があるのか​​)が天文学の下位分野であると言うようなものです;-)。

私、私は望遠鏡を気にしています、おっと私はコンピューターを意味するので、明らかに私は天文学者ではありません、おっと私はコンピューター科学者を意味します;-) [何でも ウィキペディア 私について言うことを主張します;-)]、私がかつて書いたのとまったく同じ 私のブログ

8
Alex Martelli

コンピュータサイエンスは、実践よりも理論です。ソフトウェアエンジニアリングはまだ理論ですが、より実践的です。コンピュータ情報システムはより実践的で理論が少なく、経営情報システムはすべて実践的で理論はほとんどありません。

3
Wayne Molina
1
Frank V

コンピュータサイエンス:コンピュータに何かをさせる方法に関連するコアコンセプトとテクノロジーについて説明します。ソフトウェアを書くことによってコンピュータをプログラムすることを学ぶことは不可欠であり、コンピュータプログラミングはほとんどのコンピュータサイエンスコースで使用されています。

ソフトウェア エンジニアリング :SEはソフトウェアの設計と開発に関するものです。テクニック、テクノロジー、グッドプラクティス、テストなど。例を挙げると、ブラウザはソフトウェアエンジニアによって開発されています。

0
ramneet

まあ、これらの分野のすべては哲学の単なるサブ分野です。

0
Marko

コンピュータサイエンスは、コンピュータ上で計算を行うことと、コンピュータがどのように機能するかを含む理論と応用の全分野であると言えます。それはコンピューターの完全な科学です。

ソフトウェアエンジニアリングは、実際のプログラムを作成する理論、概念、およびアプリケーションに関係する、コンピュータサイエンスのはるかに小さなサブセットです。

コンピュータサイエンスとは、プログラムを書くことだけではありません。

0
theCodeBear