ビットストロングで行った研修内容の備忘録です。
※弊社Webサイトに掲載されている情報の正確さには万全を期していますが、利用者が弊社Webサイトの情報を用いて行う一切の行為に関して、弊社は一切の責任を負わないものとします。
※弊社は、利用者が弊社Webサイトを利用したことにより生じた利用者の損害及び利用者が第三者に与えた損害に関して、一切の責任を負わないものとします。
■第1回目
1.コンピュータの基礎
(1). ハードウェア(PC)について
・コンピュータの五大装置と補助記憶装置
⇒コンピュータの主要な装置を5つに分類したもの。演算装置、制御装置、記憶装置、入力装置、出力装置を指す。
詳細:コンピュータの五大装置
・CPUの種類と機能
⇒CPUとは?
コンピュータの中心的な処理装置のことで、性能に大きく影響する。
CPUは、コンピュータの主要な機能である計算や制御を行うために使用され、
コンピュータの他の部分と通信し、データをメモリから取得し、必要に応じてデータをメモリに書き込む。
CPUの確認方法:
コントロールパネル⇒デバイスマネージャー⇒プロセッサから確認可能(Windows)
・メモリの種類と容量
メモリ容量とは、コンピュータに搭載されたメインメモリ(RAM)のデータ容量を指す。
この値が大きいほど、データ処理を高速に行うことができる。
パソコンのメモリ容量は2の累乗で表すが、膨大なビット数やバイト数を簡単に表すために、これらの倍数にはSI接頭辞が付けられる。
詳細:SI接頭辞
・補助記憶(HDD、SSD)の種類と特徴
⇒SSDの実物を見ながら講義。
■HDD:ハードディスクドライブの略で、コンピュータの中にある記憶装置の一種。HDDは、磁気ディスクを高速回転させ、磁気ヘッドを移動することで、情報を記録し読み出す。
■SSD:Solid State Driveの略で、HDDと同じように使える記憶装置。SSDは内蔵しているメモリーチップにデータの読み書きを行う。HDDに比べて衝撃による故障リスクが低く、読み書きの速度が非常に速い、動作音が静か、サイズが小さく軽い、デザインの自由度が高いといったメリットがある。
(2). ソフトウェア(PC)
・基本ソフトウェア
⇒OSとは:
基本ソフトウェアはOS(オペレーティングシステム)とも呼ばれ、
データの管理やハードウェアの制御などを行う。
■代表的なOS
・MicrosoftのWindows、
・AppleのMacOS、
・オープンソースのLinux
など
詳細:OS
(OSの種類と特徴)
■Windows:
(PC/AT互換機) マルチタスク、プラグアンドプレイ等に対応
PC向けOSのデファクトスタンダード
■Mac OS:
(Macintosh) マルチタスク、プラグアンドプレイ等に対応
GUIに優れ、マルチメディア系のソフトが豊富
■Linux:
PC上でUNIX環境を作るために開発され、無償で配布されるOS
・アプリケーションソフトウェア
コンピュータにインストールされている、ユーザの目的や業務等に応じて作成されたプログラムのこと。
■参考サイト:
・Wikipedia:コンピュータの五大装置
オペレーティングシステム
・ネットワーク入門サイト:SI接頭辞と2進接頭辞
■第2回目
1.コンピュータの基礎
(2).ソフトウェア(PC)
・ミドルウェア
⇒オペレーティングシステム( OS )とアプリケーションソフトウェアの間に位置し、ソフトウェアから共通して利用される機能を提供するソフトウェア。
アプリケーションサーバなどがミドルウェアとしてよく使用される。
ミドルウェアは、単体で動作するソフトウェアであり、配布や導入・設定、起動や終了などもアプリケーションとは別に行われるのが一般的。
(3).OS実習
・メモリの交換
・HDDの交換
⇒実物を見ながら講義。
・DVDメディアからOSのクリーンインストール
⇒Windows10のインストール。ドライブの割り当て等実演。
2進数と補数
詳細:2の補数
2. ネットワークの基礎
(1). 種類
・LAN(有線、無線)
LANとは、ローカルエリアネットワーク(Local Area Network)の略で、限られた範囲内にあるコンピュータや通信機器などをケーブルや無線電波などで接続し、データのやりとりを行うネットワークのこと。
■無線LAN:
メリット…電波を使ってネットワークに接続するので、ケーブルが不要で場所を選ばずに利用できる。
デメリット…通信速度や安定性に劣る。
■有線LAN:
メリット…ケーブルを使ってネットワークに接続するので、通信速度や安定性が高く、大容量のデータのやりとりに適している。
デメリット…ケーブルの配線が必要で場所が限られる。
・WAN
⇒WANとは、広域通信網(ワイドエリアネットワーク)の略で、地理的に離れた場所にあるLAN(ローカルエリアネットワーク)を接続するためのネットワークのこと。
WANは、通信事業者が提供する回線やサービスを利用して構築される。WANの利用により、複数の拠点間でデータのやりとりやインターネットへのアクセスが可能になる。
LANとWANの違い
■ネットワーク範囲:
LAN…狭い範囲(建物内や敷地内など)で構築されるネットワークで、自分で管理できる。WAN…広い範囲(都道府県や国など)で構築されるネットワークで、通信事業者が管理する。
■IPアドレス:
LAN…プライベートIPアドレスと呼ばれる自由に設定できるIPアドレスを使用する。WAN…グローバルIPアドレスと呼ばれる世界で唯一のIPアドレスを使用する。
■構成機器:
LAN…ルーターやハブやスイッチなどの機器を使用して接続する。
WAN…DTEやDCEなどの機器を使用して接続する。
(2). 形態
・バス型
すべての端末が一つの共通の通信路に接続し、これを通じて相互に通信を行う方式。
コンピュータ内部の機器間の配線や、電子基板内部の伝送路などで用いられることが多い。
メリット…ケーブルが短く済み、ハブなどの中継装置が不要なため、ローコストで構築できる。
デメリット…同じバスの中のいずれか一組の端末間でしか通信できず、ケーブル断線が発生した場合、断線したケーブルより先の機器が全て通信できなくなる。
バス型ネットワークの例…イーサネットやFDDIなど。
・スター型
スター型ネットワークとは、中心となる通信機器(ハブやスイッチなど)に複数の端末(コンピュータやプリンタなど)が接続されたネットワークの形で、家庭やオフィスなどで最も一般的に使われている。
メリット…ネットワークの構成がシンプルで管理しやすい、ケーブルの配線が簡単で自由度が高い、端末の追加や変更が容易、一部の端末に障害が発生しても他の端末に影響が少ない。
デメリット…中心となる通信機器に障害が発生すると全体に影響が出る。
(3). 通信機器
・MACアドレス
⇒ネットワークに接続される機器に割り当てられる一意の識別子のこと。
通信機器のメーカーや機種を特定できる上位4桁と、シリアル番号を示す下位8桁から構成される。世界中で唯一の番号となるように管理されているが、重複や枯渇の可能性もある。
MACアドレスは、イーサネットや無線LANなどの通信規格で使われ、16進数の12桁で表され、データリンク層での通信時に、相手の機器を見つけたり、自分の機器を識別したりするために必要。
通常は変更できないように設定されているが、ソフトウェアや仮想マシンなどで変更可能な場合もある。
■参考サイト:
・IT用語辞典e-Words:2の補数
■第3回目
1. コンピュータの基礎
(1). 情報の取扱い
・サイバー攻撃
ネットワークやデジタル機器を介して、個人や組織を対象に、金銭や個人情報の詐取、システムの機能停止などを目的として行われる攻撃のこと。
代表的なサイバー攻撃:
■マルウェア感染:悪意のあるソフトウェアをコンピュータに侵入させ、データの破壊や盗み出し、改ざん等を行う。
■不正アクセス:アクセス権を持たない第三者がサーバやシステムに侵入して不正な活動を行う。この攻撃は、インターネットバンキングで不正な送金を行ったり、なりすましやWebサイトの改ざんを行ったりすることがある。
■フィッシング詐欺:有名企業や金融機関を装った詐欺メールやWebサイトが存在し、個人情報やクレジットカード情報を盗む詐欺。
■DDoS攻撃:分散型サービス妨害攻撃とも呼ばれる。
多数のコンピュータから同時に大量のデータを送りつけ、サーバやネットワークの機能を停止させる。
アドウェア:広告表示ソフトウェアとも呼ばれる。ユーザが意図しない広告を表示するソフトウェアであり、広告収入を得るために配布されることが多い。一部のソフトウェアは、マルウェアと同じように情報収集や不正操作を行うこともある。
詳細:サイバー攻撃の目的とは?どんな種類があるの?
・個人情報
⇒単体では認識できずとも、他の情報と照合することにより、特定の個人を識別できるような情報を指す。
詳細:個人に関する情報の取り扱い
・著作権
⇒著作権とは、著作物を創作した者が有する権利のこと。
ソースコードには著作権があるが、言語はその限りでは無い。
詳細:プログラムの著作権-知的財産権の基礎講座
(2). ソフトウェア開発
・ソフトウェア開発の種類
詳細:ソフトウェア開発工程
・プログラミング言語の変遷
「構造化プログラミング言語」:C言語など
「オブジェクト指向言語」:Java,JavaScript,Python,PHPなど
「Web系プログラミング言語」:JavaScript / PHP、Python、Rubyなど
詳細:
プログラミング言語の年表
プログラミング言語開発者の名言集
■参考サイト:
・株式会社日立ソリューションズ:サイバー攻撃の目的とは?どんな種類があるの?
・国民のための情報セキュリティサイト:個人に関する情報の取り扱い
・知的財産用語辞典:プログラムの著作権-知的財産権の基礎講座
・Wikipedia:ソフトウェア開発工程
プログラミング言語の年表
・Tech総研:プログラミング言語開発者の名言集
■第4回目
1. コンピュータの基礎
(1). 情報の取扱い(補足講義)
・情報漏洩に関わる事例を紹介
⇒尼崎市USBメモリー紛失事案(出典:日経BP)
上記を例に、情報セキュリティの観点から講義。
・重要情報の管理に関して
・事件後の対応に関して
・リスク管理について など
詳細:機密とは?情報漏えいを防ぐために企業が取り組むべき管理方法
(3). ネットワーク
⇒コンピュータネットワークは、複数のコンピュータを接続する技術や接続されたシステム全体を指す。通信インフラや接続や通信の総体もコンピュータネットワークに含まれる。
詳細:ネットワークとは(出典:ネットワークエンジニアとして)
・ネットワークの種類
■LAN(ローカルエリアネットワーク): 限られた範囲内で複数のコンピュータや機器を接続するネットワーク。例えば、オフィスや自宅などで使われる。
LANには、ケーブルで接続する有線LANと、無線で接続する無線LANがある。
■WAN(ワイドエリアネットワーク):企業の支社や工場などの拠点を広い範囲で接続するためのネットワーク。通信業者の回線網を利用して構築される。
■インターネット: 世界中のコンピュータや機器が接続できる公開されたネットワーク。インターネットを通し、Webサイトの閲覧やメールの送受信、オンラインゲームや動画配信などが可能。インターネットは、TCP/IPというプロトコル(通信規約)に基づいて動作する。
■イントラネット: 社内や学内など、特定の組織内でのみ利用できる非公開のネットワーク。イントラネットは、インターネットと同じ仕組みで動作するが、アクセスは限定されており、情報共有やコミュニケーションなどが可能。
・OSI参照モデル(7つの階層)
⇒コンピュータはネットワークで接続されており、異なる種類のデータ通信を行うために、異なるシステム間のデータ通信を実現するための基本的な設計方針が必要で、1982年頃にISOとITUにより、異なるネットワークアーキテクチャを統一するためのOSIと呼ばれる標準規格が作られた。
このOSIでは7つの階層に分けられた通信モデルが使われ、これがOSI参照モデルと呼ばれている。
層/名称/規格(プロトコル)/概要/利用例
7層/アプリケーション層/HTTP,FTP,DNS,SMTP,POPなど/個々のアプリケーション/www,メール
6層/プレゼンテーション層/SMTP,FTP,Telnetなど/データの表現形式/HTML
5層/セッション層/TLS,NetBIOSなど/通信手段/HTTPS
4層/トランスポート層/TCP,UDP,NetWare/IPなど/エンド間の通信制御/TCP,UDP
3層/ネットワーク層/IP,ARP,RARP,ICMPなど/データを送る相手を決め、最適な経路で送信/IP
2層/データリンク層 PPP,Ethernetなど/隣接する機器同士の通信を実現/Ethernet
1層/物理層/RS-232,UTP,無線/物理的な接続、電気信号/UTPケーブル,光ファイバーケーブル
詳細:OSI参照モデル
・TCP/IP
TCP/IPはインターネットなどでよく使用される通信プロトコルであり、TCPとIPを組み合わせており、インターネット標準のプロトコル群全体を指すこともある。
OSI参照モデルとTCP/IPに関連性はないが、取り扱い範囲の類似性から対応付けして比較される。
・ネットワークインターフェース層
・インターネット層
・トランスポート層
・アプリケーション層
詳細:TCP/IP
・ネットワークの規格(イーサネット)
イーサネットは、パソコンなどで信号のやり取りに使われる規格であり、高度な情報の送受信には送信側と受信側の規格が一致している必要がある。
技術仕様はIEEE 802.3で規定されている。
詳細:イーサネット
・インターネット層
インターネット層またはネットワーク層は、パケットの送受信を行うための層で、IP、ARP、ICMPなどのプロトコルが含まれている。
詳細:ネットワーク層/インターネット層
・IPアドレス
IPアドレスは、ネットワーク上の機器に割り当てられる識別番号であり、インターネット上でデータの送信元や送信先を識別するために使用される。
・ネットワーク/ホスト
ネットワークホストは、コンピュータネットワークに接続されたコンピュータやデバイスであり、ユーザや他のノードに対してデータベース、サービス、アプリケーションを提供する。
・サブネットマスク
サブネットマスクは、IPアドレスをネットワーク部とホスト部に分割し、どこがどちらを表しているかを指定するものである。IPv4では32ビット、IPv6では128ビットの数値で表される。
詳細:IPアドレス関連
・[ipconfig]と[ping]コマンド
■ipconfig:使用中のパソコンのIPアドレスやサブネットマスク、デフォルトゲートウェイなどのネットワーク情報の確認や更新ができるコマンド。
■ping:ネットワークの疎通確認やサーバの死活監視に使用されるコマンド。応答が返ってくれば、ネットワーク接続や設定に問題はないことが確認できる。
使い方⇒コマンドプロンプトからコマンドを入力する
詳細(コマンド):ipconfig/ping
■参考サイト:
・日経BP:尼崎市USBメモリー紛失事案
・ALSOK:機密とは?情報漏えいを防ぐために企業が取り組むべき管理方法
・ネットワークエンジニアとして:ネットワークとは
・JQA(一般財団法人 日本品質保証機構):ISOの基礎知識
・世界情報通信事情:国際電気通信連合(ITU)
・サイバーセキュリティ情報局:OSI参照モデル
・Wikipedia:TCP/IP
イーサネット
・IT用語辞典e-Words:ネットワーク層/インターネット層
・CMANインターネットサービス:用語集 「IPアドレスとは?」
・PC講座:ipconfigコマンド
pingコマンド
■第5回目
1. コンピュータの基礎
(3). ネットワーク
・グローバルアドレス
⇒全世界で一意になる、重複しないIPアドレスのこと。
・プライベートアドレス
⇒ローカルネットワーク内で使える、任意で決められるIPアドレスのこと。
・ルーターの機能
⇒モデムやONU(光回線終端装置)から受け取ったデータを、複数の端末に同時にインターネット接続するために使用される必要な機器。
無線LANについて:通信を暗号化するには「暗号化キー」が必要で、アクセスポイントに設定されたキーを知っているクライアントのみが通信できる。暗号化方式にはAES、TKIP、WEPのような方式がある(強度の順に記述)。
詳細:無線LANの暗号化とは?Wi-Fiセキュリティについて解説
・NAT(アドレス変換)の機能
⇒グローバルIPアドレスとプライベートIPアドレスを紐付けて変換する技術のこと。
詳細:NAT機能について
・DHCP(IPアドレスの自動割付)の仕組みと固定IPアドレス
コンピュータがネットワークに接続する際に必要な設定情報を自動的に割り当てる機能をDHCPという。
詳細:DHCP
詳細:固定IPアドレスと動的IPアドレス
・PCの静的IPアドレスの設定方法
・固定IPアドレス指定の場合のPCでの設定方法を実習。
⇒参考:設定方法
■参考サイト:
・パナソニックEWネットワークス株式会社:
無線LANの暗号化とは?Wi-Fiセキュリティについて解説
・「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:NAT
・CMANインターネットサービス:DHCPとは
固定IPアドレスと動的IPアドレス
・富士フイルムビジネスイノベーション:
Windowsで固定IPアドレスを設定するにはどうすればよいですか?
■第6回目
1. コンピュータの基礎
(3). ネットワーク
・インターネットによるグローバルアドレスの動的IPと静的(固定)IPについて
詳細:固定IPアドレスと動的IPアドレス
・ISPによる固定IPサービス
ISPとは:Internetサービスプロバイダの略。
詳細:インターネットサービスプロバイダ(ISP)
・固定IPとドメイン名の関係
固定IPアドレスとドメイン名は、相互に関連付けることによって、人間とコンピュータの両方が理解できる形式に変換される関係を持つ。
ホスト名とドメイン名とは、インターネット上のコンピュータやサーバを識別するための名前のこと。
ホスト名:一台のコンピュータやサーバに付けられる固有の名前。
例…「www」や「mail」など。
ドメイン名:ホスト名の後に付けられる、インターネット上の区域を表す名前。
例…「example.com」や「co.jp」など。
ホスト名とドメイン名を組み合わせることで、インターネット上の一意のアドレスになる。例…「www.example.com」は、example.comというドメインに属するwwwというホストを指す。
・URLとDNSサーバ
■URL:インターネット上のリソースの場所や方法を表す文字列。
■DNSサーバ:ドメイン名とIPアドレスを相互に変換するサーバ。
URLとDNSサーバは、ユーザがインターネット上のリソースにアクセスするために協力して動作しており、ユーザがURLを入力すると、ブラウザはDNSサーバに問い合わせて、URL内のドメイン名に対応するIPアドレスを取得する。その後、ブラウザは取得したIPアドレスに接続し、リクエストしたリソースを表示する。
詳細:URL
DNSサーバ
・DDNS(ダイナミックDNS)について
⇒ダイナミックDNSを使用することで、IPアドレスが変わってもドメイン名を維持でき、特に固定されていないコンピュータやサーバに有用。
自宅のパソコンやルーターの場合、プロバイダから動的にIPアドレスが割り当てられるが、ダイナミックDNSを使用すれば、自宅のパソコンやルーターにリモートでアクセスでき、ウェブサイトやFTPサーバを公開することも可能。
・ポート番号(well-knownポート番号)
インターネット上でコンピュータが通信する際に、どのプログラムやサービスがデータを受け取るかを示す番号。
ウェルノウンポートは、世界共通のルールに基づいて、IANAによって管理されており、TCP/IP通信で使用される0から1023番のポート番号であり、著名なサービスやプロトコルが利用するために予約されている。これらのポート番号は、コンピュータがインターネットで通信する際に、データを受け取るプログラムやサービスを指定するために使用される。
代表的なウェルノウンポート:
20/tcp:FTP(ファイル転送プロトコル)データポート
21/tcp:FTP(ファイル転送プロトコル)コントロールポート
22/tcp:SSH(セキュアシェル)
23/tcp:Telnet(遠隔操作プロトコル)
25/tcp:SMTP(メール送信プロトコル)
53/tcp,udp:DNS(ドメイン名解決プロトコル)
80/tcp:HTTP(Webページ表示プロトコル)
110/tcp:POP3(メール受信プロトコル)
443/tcp:HTTPS(暗号化されたWebページ表示プロトコル)
など
詳細:ポート番号とは(出典:ネットワークエンジニアとして)
・HTTPステータスコードの説明
詳細:HTTPレスポンスステータスコード
■ポート開放:特定のコンピュータやサービスに外部からアクセスするための設定である。セキュリティのために一般的にファイアウォールやルーターがポートを閉じているが、必要なポートだけを開放して外部からの接続を許可できる。具体的な手順は、コンピュータのIPアドレスを確認・固定し、ファイアウォールやルーターの設定画面でポートを転送することが一般的である。
詳細:ポート開放にはデメリットが多い?危険性も併せて解説
■参考サイト:
・CMANインターネットサービス:固定IPアドレスと動的IPアドレス
・「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:
インターネットサービスプロバイダ(ISP)
URL
DNSサーバ
・ネットワークエンジニアとして:ポート番号とは
・MDN Web Docs(日本語翻訳版):HTTPレスポンスステータスコード
・快適ネット生活情報メディア おうちネットプレス | NTTドコモ:
ポート開放にはデメリットが多い?危険性も併せて解説
■第7回目
1. コンピュータの基礎
(3). ネットワーク
・ドメイン名関連のトラブル事例
公共ドメインの第三者取得による悪用事例を紹介:
中央省庁や自治体の過去のドメインがオークションサイトで出品されている事例が増えている。出品は違法ではないが、公共性が高いため詐欺目的やアダルトサイトへの転用のリスクがある。
詳細:
岡山県の旧ドメイン 第三者が再取得 県と無関係サイトに接続、注意呼びかけ
自治体管理ドメイン悪用が増加 アダルト転用も新たに発覚(出典:日経BP)
・ドメイン名の種類と使用制限
属性型、汎用、gTLDなどの種類と使用制限について
■ドメイン名の種類:
汎用JPドメイン名….jpの前に自由に文字列を指定できるドメイン名。日本国内に住所があれば個人でも組織でも登録できる。登録できるドメイン名の数に制限はなく、日本語を使ってドメイン名を登録することもできる。
都道府県型JPドメイン名….jpの前に都道府県名を含むドメイン名。例えば、example.tokyo.jpやexample.osaka.jpなど。都道府県型JPドメイン名は、2012年に新設された。
属性型・地域型JPドメイン名….jpの前に組織の種類や地域の名前を付けるドメイン名のこと。例えば、example.co.jpやexample.chiyoda.tokyo.jpなど。
ドメイン名は、登録できる対象や条件が決められている。
例…CO.JPは日本国内の登記済み会社のみが登録できる。
例…GO.JPは政府機関や研究所、特殊法人、独立行政法人が登録できる。
英数字の大文字・小文字・全角・半角は区別されずにドメイン名に使用できるが、半角カタカナは使用できない。
■gTLD:gTLDとは、ジェネリックトップレベルドメインの略であり、インターネットで使用されるトップレベルドメインの一種である。gTLDは一般的に地理的制限なしに世界中から登録が可能であり、.com、.net、.orgなどがその代表的なものである。その他にも、
.bizや.infoなどもgTLDに分類される。
詳細:
ドメインの種類:ドメインまめ知識
ドメイン名の種類(出典:JPNIC)
・ISPによるDNS設定の例
各ISPによるプライマリ、セカンダリDNSの指定例
AsahiNet:https://asahi-net.jp/support/guide/flets/
au:https://www.au.com/support/service/internet/guide/connection/net-setting/
・迷惑メール対策OP25B対応について
⇒Outbound Port 25 Blockingの略で、迷惑メールの送信を防ぐための対策の一つ。
OP25Bでは、自分のプロバイダのメールサーバ以外への25番ポートを利用したメール送信を禁止することで、ウイルス感染や不正アクセスによる大量メール送信や個人情報の流出を防ぐことができる。
受信ポート番号:110 -> 995
送信ポート番号:25 -> 465
メールソフトの設定例:
https://asahi-net.jp/support/guide/mail_setting/outlook2019-02.html
・ルーターにおけるWAN側とLAN側のIPアドレスの例示
ルーターの設定画面にて2つのIPアドレスを確認
WAN側(グローバル)IPアドレス
LAN側(プライベート)IPアドレス
詳細:ネットワーク入門 その1 : WANとLAN、IPアドレスのお話
2.ソフトウェア開発の仕事
(1).ライフサイクルプロセス(要件定義~詳細設計)
・要件定義について
⇒プロジェクト開始前の段階で、必要な機能や要求をまとめる作業。
目的は、プロジェクトのゴールとスコープを明確にし、開発者とユーザの共通の認識を確立することである。
・基本設計について
⇒システム開発の工程の一つで、要件定義をもとにシステムの概要や機能を具体化する作業。目的はシステムの全体像を明確にし、開発者とユーザの間で共通の理解を持つこと。成果物は基本設計書で、システムの概要や要件、開発スケジュール、予算などが記載される。
・詳細設計について
⇒システム開発の工程で、システムの機能や性能を具体的に決める作業。
目的はシステムの全体像や方向性を明確にし、開発者とユーザの共通の認識を持つこと。成果物は詳細設計書であり、システムの構造や流れ、開発方針、テスト設計などが記載される。
■外部設計:システム全体の機能や性能、振る舞いを定義する工程であり、ユーザのニーズを解決することが重視されます。
■内部設計:外部設計の仕様を具体化し、システム内部の機能やデータの詳細を定義する工程であり、開発者のニーズを解決することが重視されます。
詳細:詳細設計における成果物一覧と書き方
参考:SLPCとは?ソフトウェアライフサイクルプロセスの概要
■参考サイト:
・Yahoo!ニュース:
岡山県の旧ドメイン 第三者が再取得 県と無関係サイトに接続、注意呼びかけ
・日経BP:自治体管理ドメイン悪用が増加 アダルト転用も新たに発覚
・たのめーる:ドメインの種類:ドメインまめ知識
・JPNIC(一般社団法人 日本ネットワークインフォメーションセンター):
ドメイン名の種類
・AsahiNet:各種フレッツ光・光コラボレーション接続サービス
Microsoft Outlook 設定確認(365 / 2019以降)
・au:インターネット接続の設定情報
・便利なツールで事務処理をスピーディーに!:
ネットワーク入門 その1 : WANとLAN、IPアドレスのお話
・若手エンジニアの羅針盤:詳細設計における成果物一覧と書き方
・THE SIMPLE:SLCPとは?ソフトウェアライフサイクルプロセスの概要
■第8回目
2. ソフトウェア開発の仕事
(1).ライフサイクルプロセス(前回の続き)
・実装について(プログラム作成、デバッグ)
⇒実装は、設計段階で決めた仕様を実現するために、プログラムの作成や部品の組み合わせなどを行う作業。
■コーディング:設計で決めた仕様を実現するためにプログラムを作成する作業であり、開発環境やプログラミング言語を選択し、ソースコードを書き、コンパイルやビルドを行う。また、単体テストやデバッグも行われる。コーディングの成果物には、ソースコードや実行ファイル、単体テストの仕様書や実施報告書などが含まれる。
■デバッグ:デバッグ工程は、プログラムのバグ(問題)を検出し、修正する作業。一般的な手順は、バグを見つけて原因を特定し、修正して再度確認することであり、デバッグはプログラムの品質向上や開発効率に重要な役割を果たす。
・代表的なデバッグ手法
■机上デバッグ:ソースコードを目で追いながらバグを探す方法
■分割統治法:プログラムを部分的に実行して、バグが発生する範囲を絞り込む方法
詳細:ソフトウェアプログラミングにおけるデバッグとは?
・テストについて(テスト仕様書、テスト報告書)
※ここでは、テスト仕様書と報告書について解説する。テストの工程については後述。
■テスト仕様書:ソフトウェアが要件定義書に記載された機能の仕様通りに実装されているかテストするためのポイントをまとめたドキュメント。
テスト仕様書には、結合テストや総合テストの工程で、どの機能を、どのテスト技法を使ってテストするのかが記されている。
■テスト報告書:ソフトウェアのテスト結果をまとめたドキュメント。
目的や範囲、スケジュール、終了基準、実施内容や結果、不具合の件数や状況、分析結果や評価、提案や推奨事項などについて記載されている。
テスト計画書やテスト仕様書と密接に関係しており、テストの品質と有効性を評価するための重要なドキュメントで、プロジェクトメンバーや経営層にテストの状況や成果を報告するためにも利用される。
詳細:単体テスト仕様書兼結果報告書(Excelテンプレート)サンプル
・保守について(運用、保守)
■保守:システムが利用されている状態で問題がないか監視し、修正や改善を行い、品質向上とユーザ満足度を確保することを目的とする。
■運用:システムが本番環境で安定して稼働するための作業のことで、システムの変更や監視を通じて品質を確保し、ユーザ満足度を向上させることを目的とする。
運用と保守をまとめ、保守運用とも呼ぶ。
保守運用は開発工程の中で最も時間とコストがかかる部分であり、新たな機能追加なども含まれる場合があり、適切な計画と管理が重要。
(2).バージョン管理
⇒ファイルやデータの変更履歴を記録し、過去の状態を復元したり、変更内容を表示したりする仕組み。
特に複数人でのファイル編集時に重要な役割を果たす。
詳細:非エンジニアも知っておきたいソフトウェアのバージョン表記の書き方を解説
ツールの一例
⇒バージョン管理システムには「集中管理方式」と「分散管理方式」の2つがある。
■集中管理方式:専用のサーバ(リポジトリ)を使用してファイルのバージョンを一元管理する方法。
ユーザはサーバに接続しないと作業ができないが、ファイルの一貫性やセキュリティが高い。
・ツール:SVN(Subversion) など
■分散管理方式:ユーザが自分のパソコン内にリポジトリのコピーを持ち、そこにファイルの変更を記録する方法。
ユーザはオフラインでも作業することができるが、サーバ上のリモートリポジトリと同期する必要がある。
・ツール:Git/GitHub など
詳細:GitとSVNの違いとは?
(3).開発環境管理
⇒システムやソフトウェアの開発に必要なハードウェアやソフトウェア、ツールなどの環境を構築し、管理することを開発環境管理と呼ぶ。
・ハードウェア環境(開発に係る各種機材)
・ソフトウェア環境(開発に係る各種のソフトウェア群)
・その他(グループウェアなど)
開発環境管理においては、自分やチームのニーズに合わせ、最適な環境を選択することが重要であり、環境を定期的に見直し、必要に応じて更新や改善を行うことも必要。
参考:
アプリケーションライフサイクル管理 (ALM) とは
Microsoft Power Platform でのアプリケーション ライフサイクル管理サービスの概要
(4).テスト
プログラムが要件定義と設計書に従って作成され、正常に動作するかを確認する工程。
・テストレベル(単体、結合、システム、受け入れ)
⇒
■単体テスト:プログラムや機能単位で動作を検証する。
内部構造に着目するホワイトボックステストと、外部仕様に着目するブラックボックステストがある(後述)。
■結合テスト:単体テストで問題がなかった要素を連携して確認する。
■システムテスト:全体の動作を確認する。
■受入れテスト:実際のユーザや発注者がシステムを利用して評価する。
詳細:システムテストとは?目的やテストの種類、手順を徹底解説
・V字モデル
■ウォーターフォールモデル:要件定義、設計、実装、テストという工程を上流から下流へ順番に進める開発手法。
詳細:ウォーターフォール・モデル
■V字モデル:ウォーターフォールモデルの工程をV字型に並べ、開発工程とテスト工程の対応関係を示したモデル。
各テスト工程で行うべきテスト内容が明確になり、品質の高い開発ができるというメリットがある。
詳細:Vモデル
参考:ウォーターフォールモデル型のシステム開発における各工程・各段階の用語の意味
・テストケース(テスト項目、抽出、正常系/異常系)
⇒テストケース:ソフトウェア開発において、プログラムが期待通りに動作するかを確認するための手順を文書化したもの。
開発が完了し、一通り動作してもバグが発生しないタイミングで作成する。
テスト計画やテスト設計の方針に基づいて、必要なテストを実施し、不必要なテストを排除し、誰が実施しても同じテストにすることが目的。
■テスト項目:テスト対象、テスト観点、テスト条件、テスト手順、期待結果などが記載される。
■抽出(テスト観点):テスト対象の機能ごとに意識すべき点をまとめたもので、テストケースを作成する際に参考にされるが、テスト対象の機能の振る舞いをよく考慮して抽出する必要がある。
■正常系:想定している入力に対して、対象が期待どおりの出力を行なうかどうかを確認するテスト。
例:ログイン画面で正しいIDとパスワードを入力した際にログインできるかどうか
■異常系:想定していない入力に対して、対象がきちんと対処できるかどうかを確認するテスト。
例:ログイン画面で不正なIDとパスワードを入力した際にエラーメッセージが表示されるかどうか
詳細:テストケース
「正常系テスト」と「異常系テスト」と「準正常系テスト」の違い
・テスト技法(ブラックボックステスト、ホワイトボックステスト)
■ホワイトボックステスト:システムの機能や振る舞いではなく、プログラムのコードやロジックが正しく動作するかを確認することを目的とした、システムの内部構造に重点を置いたテスト手法。
詳細:「ホワイトボックステスト」〜概要・網羅率について、まとめてみた!〜
■ブラックボックステスト:ソフトウェアやシステムの内部構造を考慮せず、外部から見た機能や振る舞いが正しいかどうかを検証するテスト手法。
詳細:「ブラックボックステスト」とは?特徴と主要な4つのテスト技法を徹底解説!
・テスト仕様書の例
参考:
テスト仕様書の作り方大公開:テスト設計の手順とセオリー
テスト仕様書のエクセルテンプレート(単体、結合、総合)
・ガントチャート
■ガントチャート:プロジェクトのタスクや期間、進捗状況などを棒グラフで表した表のこと。管理表やスケジュール表などとも呼ばれる。
プロジェクト全体の流れや、各タスクの依存関係、担当者などの把握も容易になる。
詳細:
若手SE必見!ガントチャート入門のための5つのポイント
ガントチャートとは?概要から作り方のコツやおすすめツールまで紹介!
■参考サイト:
・Sqripts | エンジニアリングを進化させる品質メディア:
ソフトウェアプログラミングにおけるデバッグとは?
・セールスフォース標準化推進ラボ:
単体テスト仕様書兼結果報告書(Excelテンプレート)サンプル
・TCD Word Press Theme:
非エンジニアも知っておきたいソフトウェアのバージョン表記の書き方を解説
・aslead:GitとSVNの違いとは?基本構造、ブランチ管理、マージの仕方まで詳しく解説
・Red Hat:アプリケーションライフサイクル管理 (ALM) とは
・Microsoft Learn:
Microsoft Power Platform でのアプリケーション ライフサイクル管理サービスの概要
・OBPMNeo:システムテストとは?目的やテストの種類、手順を徹底解説
・Wikipedia:ウォーターフォール・モデル
Vモデル
・IT用語辞典e-Words:テストケース
・「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:
「正常系テスト」と「異常系テスト」と「準正常系テスト」の違い
・株式会社スピードリンクジャパン:
「ホワイトボックステスト」〜概要・網羅率について、まとめてみた!〜
「ブラックボックステスト」とは?特徴と主要な4つのテスト技法を徹底解説!
・ソフトウェアテスト.com:テスト仕様書の作り方大公開:テスト設計の手順とセオリー
・bizroute:テスト仕様書のエクセルテンプレート(単体、結合、総合)
・CrowdLog:若手SE必見!ガントチャート入門のための5つのポイント
・ITトレンド:ガントチャートとは?概要から作り方のコツやおすすめツールまで紹介!