集中力ない人がITを勉強する日記

かつて「きみはどうしてそんなに集中力がないのか」とよく言われていました。そんな僕が自分なりに学んだことを書いていくよ

ITパスポートの勉強 その8 【開発について】

集中力がない人が書いた!ITパスポートの勉強【開発について】

 

SE的な内容になるよ。長いよ。

がんばるぞい。

 

レスポンスタイム/スループット

単位時間あたりの処理量。「単位時間あたり」の表現になっている

日常でもわりと聞くね。 

 

JISの規格

機能性、使用性、信頼性、効率性、保守性、移植性

~かしらもじ 「きししこほい」と 覚えよう~(575)

 

バグ

コンピュータプログラムに含まれる誤りや不具合のこと。

バグの全くないプログラムを作成するのは不可能である。

バグを取り除く作業は「デバッグ」ソフトウェアは「デバッカ

 

信頼度成長曲線(ゴンぺルツ曲線)

テストが進むに連れてバグが減っていく。これをグラフにしたものが信頼度成長曲線(ゴンぺルツ曲線)である。

なまえかっこいい!

 

ホワイトボックステスト

システムの構造を理解したうえでそれら一つ一つが意図した通りに動作しているかを確認する、プログラムのテスト方法。システムの機能よりも内部構造の整合性を重視したテスト。

ホワイトボックスな人だ=考えが見え見えの人

 

ブラックボックステスト

システムの内部構造とは無関係に、外部から見た機能を検証するプログラムのテスト方法。入力と出力だけに着目し、内部でそういった処理が行われているかは一切問題としない。

ブラックボックスな人だ=表は良くて中身が見えない人

 

そのほかにも

ビッグバンテスト:一度に一気に行うテスト

ボトムアップテスト:下位プログラムから行うテスト

トップダウンテスト:上位プログラムから行うテスト

サンドイッチテスト:上位と下位を組み合わせて行うテスト

などがあるよ。

 

 リグレッションテスト(回帰テスト

プログラムを変更した際に、その変更によって予想外の影響が現れていないかどうかを確認するテスト。

プログラムのバグを修正したことによって、そのバグが取り除かれた代わりに新しいバグが発生していないか検証する。 

確認、大事。

 

オブジェクト指向

物事の内部構造を知らなくても利用できるようにしたもの。

例えば、自販機の内部構造を知らなくても、お金を投入する、ボタンを押すという操作をするだけで自動販売機を利用できるということ。

なぜか昔、この言葉を理解するのにかなり時間がかかりました。

 

UML(Unified Modeling Language)

オブジェクト指向によるソフトウェア開発において、標準的な設計図の表記方法。

UMLには、ユースケース図、クラス図、シーケンス図、状態遷移図などがある。

  • ユースケース
    ユーザー視点で何ができる?を視える化したもの。

https://i0.wp.com/it-koala.com/wp-content/uploads/2016/09/%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9%E5%9B%B3.png

若手エンジニア必読!超絶分かるユースケース図-全知識と書き方5ステップ 様より

  • クラス図
    システムを構成するクラスとそれらの関係を表現する図のこと。

https://www.ogis-ri.co.jp/otc/swec/process/am-res/am/images/models/classDiagramInitial.jpg

UML 2 クラス図の概要 様より

  • シーケンス図
    クラスやオブジェクト間のやりとりを時間軸に沿って表現する図のこと。

https://support.content.office.net/ja-jp/media/d8fa2986-b32d-4d83-b8ff-16dcaac5d681.gif 

UML シーケンス図を作成する - Visio  様より

ウォーターフォールモデル

システム全体を一括して管理し、分析・設計・実装・テスト・運用この順を追って行っていくこと。実際の開発作業では頻繁に逆戻りが発生するため,逆戻りを考慮に入れたモデルが考案されている。

昔ながらの考えかた。滝が流れるような工程だから、後戻りできないよ。

 

プロトタイピングモデル

設計の早い段階から実際に稼働する製品モデルの作成と検証を反復することにより、使用の検討や詳細な設計を進めていく手法のこと。

システムに必要とされる機能・仕様が具体化される。

段々見えてくるやり方だね、これ好き。

 

スパイラルモデル

システムの一部について設計・実装を行い、仮組みのプログラムを元に顧客からのフィードバックやインターフェースの検討などを経て、さらに設計・実装を繰り返していく手法のこと。

 

RAD(Rapid Application Development)

制作と評価を繰り返しながら開発をすすめ、短時間で開発する手法のこと。

 

アジャイル

俊敏かつ柔軟に対応するためのソフトウェアのこと。

仕様や設計の変更があることを前提に開発を進めていき、徐々にすり合わせや検証を重ねていくというアプローチをとる。

僕もアジャイルになりたい。

 

リバースエンジニアリング

ソフトウェアソフトウェアやハードなど、既存のプログラムを分解、あるいは解析して仕組みを明らかにすること。

 

 

 

いかがでしたか。

専門的な用語が多く出てきて混同しやすいなといった感じです。

普段の生活に合わせて「ブラックボックスなひと」とかって使ってみるのが一番入りやすいですね(笑)

計画を立てれるのは全体像が見えてないとなかなかできないので、ぜひともこの単元は覚えていきたいですね。

 

ここまで読んでくれてありがとう。

次回もよろしく!