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

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

ITパスポートの勉強 その13 【アルゴリズムとプログラミングについて】

集中力がない人が書いた!ITパスポートの勉強アルゴリズムとプログラミングについて】

 更新あいちゃった。

プログラミング的な内容だよ。

 

変数

プログラムソースコードの中で、データを一時的に記憶する領域に固有の名前を付けたもの。

変数は数字だけではなく文字列等も含まれるよ。

 

アルゴリズムの基本構造 

  • 順次構造
    順番に流れを示したもの。

  • 選択構造
    条件によって処理を選択する流れを示したもの。
    IF文SWITCH文など

  • 繰り返し構造
    決められた回数または条件などによって、条件が満たされている間、または条件が満たされるまで繰り替え明日流れを示したもの。
    FOR文WHILE文など

  • 木構造(ツリー)樹形図
    グラフの種類ひとつで連絡する閉路を持たない無向グラフのこと。
    閉路とは視点と終点が同じ路のこと。視点に戻るようなたどり方のこと。

 

キュー(FIFOリスト)

データを先入れ先出しのリスト構造で保持すること。

取り出すときはデキューという。

 

スタック(LIFOリスト)

データを後入れ先出しで保持すること。

割り込みやサブルーチンを支援するために有用である。

 

リスト

ポインタはデータの格納場所を参照するポインタによりつぎに続くデータを参照できるようにしたデータ構造。

 

代表的なアルゴリズム:「合計・探索・併合・整列」

  • 線形探索法(探索)
    データの先頭から末尾までを順番に探していく方法のこと。
  • 2分探索法(探索)
    中央データより、前にあるか後ろにあるかを絞り込みながら探していく方法のこと。
  • バブルソート(整列)
    隣接したデータの値を比較し、データの先頭から末尾までを順番に整列する方法のこと。

 

プログラミング言語

 

オブジェクト指向型言語:

オブジェクトと呼ばれる部分でソフトウェアを構成していく。データやメソッドと呼ばれる手続きを一体化(カプセル化)したもので、データを外部から隠蔽し、メソッドによって処理する。

 

インタプリタ

ソースコードが1命令ずつ解釈して実行するプログラム。コンパイラより実行速度が遅い

 

コンパイラ

ソースコードを、一括して機械語のプログラムに翻訳するプログラムである。インタプリタより実行速度が速い

 

 

今日はここまで。

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

ITパスポートの勉強 その12 【基礎理論について】

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

 

コンピュータのデータ構造についてだよ。

数学的な内容だよ。

 

離散数学

10進数:0~9の10種類の数字を使って1,2,3,4,5,6,7,8,9と数える。

9の次で桁が上がる。

 

2進数:0,1の2種類。

1の次で桁が上がる。

2進数は桁が非常に長くなるため簡単に変換できる8進数や16進数がよくつかわれるよ。

 

基数

各桁の重み付けの基本の数。2進数なら0と1の2種類なので「2」になる

基数は基本となる数で、10進数で123.45は以下のように表現できる。

1×10²+2×10¹+3×10⁰+4×10⁻¹+5×10⁻²

小数点は「⁻¹」とかで表すよ。

 

有限小数:有限桁で表せる少数のこと。

無限小数:無限に続く少数のこと。

 

例)(1010)₂を10進数に変換するとどうなるのか?

=2³×1+2²×0+2¹×1+2⁰×0

=8+0+2+0

=(10)₁₀

 

補数:ある数を決められた数にするための数のこと。

10進数には「9の補数」と「10の補数」がある。

  • 10進数における例
    123の「9の補数」は876になる。999=123+876
    123の「10の補数」は877になる。1000=123+877

  • 2進数における例
    0101の「1の補数」は1010です。 0101+1010=1111
    0101の「2の補数」は1011です。 0101+1011=10000

 

(36)₁₀と(-36)₁₀を8桁の2進数で表わす場合は次のようになる。

(36)₁₀を2進数に直すと(100100)₂となる。

しかし、これだけだと6桁なので2桁増やし、(00100100)とする。

 

桁あふれ:指定された演算領域から桁数があふれたときのこと。

その場合はコンピュータは00000000(8桁)と認識する。

 

 論理演算

論理和OR)、論理積AND)、否定(NOT)があり、それらを組み合わせた「排他的論理和」がある。

 

 

 

いかがでしたか。

正直この単元は理論や理屈を覚えるのだけではなく、どんどん問題を解いていく必要があると思います。わたしは問題集や過去問などで対策していこうと思います。

 

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

次回もよろしく!

 

ITパスポートの勉強 その11 【システム監査ついて】

集中力がない人が書いた!ITパスポートの勉強【システム監査について】

 

システム監査

システム監査には2種類あるよ。

内部監査:企業内、監査部門が行う

外部監査:第三者機関が行う

目的は信頼性、安全性、効率性を阻害する要因を発見し、改善に結び付けるだよ。

 

システム監査基準

経済産業省が策定した監査基準でIT投資家が企業全体の経営最適化に資するよう、経営戦略の観点情報通信技術の最新動向を踏まえて基準を改訂。

  1. 監査証拠
    記録、文書などで検証が行えるもの。客観的証拠(普遍的)であることが必要。
  2. 監査調書
    監査結果の裏付けとするために収集し、分析した情報を文書化したもの。

 

内部統制

内部統制

リスクの評価と対応、統制活動、情報と伝達、モニタリングおよびITへの対応に影響を及ぼす基礎のこと。

 

職務分掌

職務が果たすべき責任や職務を果たす上で必要な権限を(職権)を明確にするために職務ごとに役割を整理配分すること。

 

モニタリング

IT統制(IT Control):企業の業務や管理システムを情報技術によって監視・記録・統制し、健全性を保証すること。

 

業務処理統制:どういう入力ルールでつくるか

全般処理統制:業務処理の土台

 

コンプライアンス

「人権を尊重しプライバシー配慮する」「セキュリティ対策を怠らずモラルを守る」「顧客や関連会社と節度ある健全な関係を保つ」などの遵守すべき倫理のこと。

 

コーポレートガバナンス

企業が正しく経営されているか、株主などの利害関係者が監督・監視する仕組みのこと。

 

ITガバナンス

コーポレートガバナンスITの側面からとらえたもの。

情報管理体制を堅個に構築づるための企業統治を指す。具体化したのもがシステム管理基準。

 

 

いかがでしたか。

内容をしっかり理解していないとなかなか点数が取れない分野です。

ほとんどの会社が情報システムを利用しているため監査については知っておいた方がいいと思います、私自身とても勉強になりました。

 

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

次回もよろしく!

 

ITパスポートの勉強 その10 【サービスマネジメントついて】

集中力がない人が書いた!ITパスポートの勉強サービスマネジメントについて】

 

サービスマネジメントについてだよ。

サービスマネジメントはサービスの品質・向上させる活動のことだよ。

 

サービスマネジメント

ITIL(Information Technology Infrastructure)

コンピュータシステムの運用・管理業務に関する体系的なガイドラインのこと。

包括的なガイドラインであり、何をどのように行うか詳細に記述されているわけではないよ。

 

SLA(Service Level Agreement)

サービスを提供する事業者が契約者に対し、どの程度の品質を保証するかを明示・合意したもののこと。

Agreementが賛成・合意という意味を押さえておけばオッケー。

 

SLM(Service Level Management)

提供者がサービスの品質について継続的・定期的に点検・検証し、品質を維持あるいは改善する仕組みのこと。

SLAに対してMだからマネジメント。

 

サービスデスク

ユーザーからの問い合わせに対する単一の窓口のこと。

 

FAQ

頻繁に尋ねられる質問の略。

 

サービスサポート

  1. インシデント管理
    利用者がシステムを正常に利用することを妨げる事象・現象へ対応し、これを取り除いて利用を続行できるようにすること。
    標準の運用に属さない、サービスの品質を低下させる事象、っていうのが特徴。 

  2. 問題管理
    ITサービスの品質低下をもたらしている状態、または、もたらす可能性のある状態を引き起こしている「根本原因」のこと。
    インシデントを起こした問題を管理すること。
     
  3. サービス資産管理及び構成管理
    ITサービスの提供のために必要な資産および構成アイテムを識別し、それらをベースラインとして設定・維持することで、変更がITサービスに与える影響やインパクトをコントロールするためのプロセスのこと。
    結果ではなく、何で出来ているのかを考えてそれをどうするのかコントロールすることだね。

  4. リリース管理
    テスト環境および稼働環境へのリリースの移行を計画立案、スケジューリング、およびコントロールすることを責務とするプロセス。
     
  5. 展開管理
    新規または変更されたハードウェア、ソフトウェアなど稼働環境へ移行することを責務とする活動のこと。

 

グリーンIT

地球環境保護に配慮したIT製品や情報システムのこと。

企業のイメージアップにつながるね。

 

 

 いかがでしたか。

○○管理の部分がなかなかややこしいですね。

それぞれの段階で意味を覚えていきたいところです。

 

 

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

次回もよろしく!

ITパスポートの勉強 その9-2 【プロジェクトマネジメントついて】

集中力がない人が書いた!ITパスポートの勉強【プロジェクトマネジメントについて】

 

前回の追記だよ。

kamemy.hatenablog.jp

 

アクティビティ

プロジェクトで発生する作業のひとつ一つのこと。

 

アローダイアグラム

ある作業の内容と日程の流れ矢印の順に追って表した図式のこと。

全作業の最短日数がわかるよ。これに関して計算させる問題はかなりの確率ででるよ。

 

クリティカルパス

システム構築などのプロジェクトを進めるうえでネックとなる部分を指し、事実上プロジェクト全体のスケジュールを左右する作業の連なりのこと。

最も作業日数のかかる経路のことだよ。

 

ガントチャート

時間を区切った図表に計画を示し、核計画に対応する時間の実績を順を追って記入すること。

 

 

いかがでしたか。

全体の構造を理解したり、作業の目安がわかってくるとスピードある仕事ができるようになると思います。プロジェクトをマネジメントする上では、それらはもちろんあらゆるツールを使って、数字や状態を変化させる能力が求められますね。

私的には、なかなか楽しい分野でした。

 

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

次回もよろしく!

 

 

 

ITパスポートの勉強 その9-1 【プロジェクトマネジメントついて】

集中力がない人が書いた!ITパスポートの勉強【プロジェクトマネジメントについて】

 

プロジェクトの管理についてだよ。

偉くなったら特に大切なるし、若いうちに覚えておけばきっといいことあるよ。

 

プロジェクト

期間や予算でチーム構成し活動すること。

目的を達成するために臨時で構成される組織やその業務。

 

プロジェクトマネジメント

QCD(品質・コスト・納期)

PDCA(計画・実行・評価・改善)

これはよく聞くやつ。

 

PMBOK(ピンボック)

プロジェクトを管理する手法を体系化すること。10の知識エリアがある。

スコープ、タイム、コスト、品質、人的資源、コミュニケーション、リスク、調達、ステークホルダー、統合管理

プロジェクトマネジメントに必要なものはこれらを管理することが必要だよ。

 

プロジェクト憲章

プロジェクトの背景と目的、内容など、これから実施するプロジェクトの定義を明確にした文書のこと。

何のためにこのプロジェクトするの?ってところから明確にするものだよ。

 

マイルストーン

プロジェクト内の作業スケジュールにおける主要な節目のこと。

結合テスト日とか顧客レビュー日とか。

 

WBS(ワークブレイクダウンストラクチャー)

プログラムマネジメントで計画を立てる際に用いられる手法の一つでプロジェクト全体を細かい作業に分割した構成図のこと。

全体から細部に分割することによって、仕事を振りやすくなったり、時間数が予想しやすいよ。

 

ファンクションポイント

ソフトウェアのすべての機能ポイントを合計し、規模や工数を導き出すもの。

 

プログラムステップ法

ステップ数を元にして、システムの開発費用を見積もる手法のこと。

しかし、プログラムの書き方や技量により開発費用が左右されることがある。

 

COCOMO法(constructive cost model)

開発するプログラムの想定ソースコード行数を元にプログラマの習熟度や再利用できるソフトウェアの量のさまざまな要因から開発規模を見積もる特徴。

 

CMMI(Capability Maturity Model Integration)

有識者の意見や多くのプロセス改善事例を反映させて作成された新しい能力成熟度モデルのこと。1~5までのレベルがある。

 

明日に続くよ。

 

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)

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

 

アジャイル

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

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

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

 

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

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

 

 

 

いかがでしたか。

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

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

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

 

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

次回もよろしく!