ずっと受けたかったソフトウェアエンジニアリングの授業〈1〉 ...第1章を読んでみた
第1章 ソフトウェアとソフトウェアエンジニアリングとは(ソフトウェアの特徴;プログラミングに必要な才能 ほか)
①内容まとめ
ソフトウェアとは形や重さがないものの総称。
特にコンピュータソフトウェアは、人工言語によって作成の自由度が高かったり、人とのコミュニケーションが重要だったりといった創作物と同じような面と、
トラブルが社会に大きな影響を与えたり、作った人以外の人がメンテナンスをしたりといった工業製品と同じような面の両方を持ち合わせている。
そのためにソフトウェアエンジニアリングという大規模なソフトウェアを効率良く高品質に作成するための技術や技法が必要となる。
すなわち、機能の実現に加えてQCD(品質、コスト、納期)を重視してソフトウェアを作る必要がある。
②認識のズレ、印象
人とのコミュニケーションが重要だということに非常に驚いた。
私の偏見でしかないのだが、エンジニアの方は黙々と機械としか向き合っていない印象であり、一人一人が淡々とソースコード を書いていると思っていた。
③不明ワード
【プロセス】(p16)
物事の入力を出力に変換する流れ
入力(Input)を出力(Output)に変換(Process)
Input→Process→Output
【メインフレーム】(p25)
1台の大型コンピュータを複数の人たちで共有して使っていた時代の大型コンピュータのこと。
コンピュータが高額のため、昔は今みたいに1人1台もPCが持てなかった
(反対に、1人1台持てるようになった時代をダウンサイジングと呼んでいた)
【ユビキタスコンピューティング】(p25)
1人の周りに複数のコンピュータがある時代
現代は、相当な田舎にでもいかない限り、コンピュータに囲まれてるし、田舎であってもスマホというコンピュータが使えるという状況そのもの
例えば私が職場まで通勤するとして、その片道だけでもスマホ、交通系ICカードのリーダ、昼飯を買うコンビニのPOS...これくらいはある。
既に私は日常でコンピュータの恩恵を当たり前のように享受しているため、実感しにくい...
【コードレビュー】(p34)
ソースコードを評価すること。コードが間違っていたら指摘する
レビューコメントで指摘と対応をやり取りする
良いコードは称賛するし、お手本にもする。
→【レビュー】評価について、1人で行う場合をレビュー、複数人で行う場合をインスペクションという
自分がしても、他人がしてもレビューはレビュー
【コードインスペクション】(p34)
プログラムに直接関与しなかった技術者にも集まってもらって相互にチェックすること。複数人で行うコードレビュー
【SWEBOK】(p36)
ソフトウェアエンジニアリング知識体系。
Software Engineering Body of Knowledgeの略。
「要求」、「設計」、「構築」、「テスト」、「保守」というメインの仕事に加え、「構成管理 」、「マネジメント」「プロセス」「ツールおよび手法」「品質」というメインの仕事を支援する機能からなる
でもこの用語自体、使わない(えーっ😅)
【単体テスト】(p34)
プログラ厶ごとにコンピュータを使って行なうテスト(※確認中、追記予定)
【結合テスト】(p34)
ほかの人が作ったプログラムと接続するシステムテスト(※確認中、追記予定)
この記事が気に入ったらサポートをしてみませんか?