システム関連マネジメントについて勉強しました
システムに関連するマネジメントの基礎知識として、次のような項目について学習しました。
- ソフトウェアライフサイクル(SLCP)
- 企画プロセス:システム化構想やシステム化計画の立案
- システム開発作業
- システム運用作業
TCO(Total Cost of Ownership):ハードウェア及びソフトウェアの導入から運用管理までを含んだ総コスト、構築時初期コストと運用(ランニング)コスト
調達:担当するベンダー選定、提案依頼書(RFP:Request For Proposal)
- システム開発
- 要件定義:ユーザのニーズを整理・明確化して、システム化の範囲とその機能や性能を定義
- 外部設計:ユーザの立場から見た論理的なシステム設計、画面設計や帳票設計
- 内部設計:開発者の立場から物理的なシステム設計、プログラム機能分割や物理データ設計
- プログラム設計:プログラムを作成できるレベルまで詳細化
- プログラミング:プログラム・コーディング
- テスト
目的:バグ(プログラムに潜んでいる誤りや欠陥)を発見すること
テストケース:想定した入力データから、あるべき出力結果を記述したもの
信頼度成長曲線(ゴンペルツ曲線):テスト開始段階では多くのバグがあるが、テストを消化するにつれてバグが減少する
デバッグ:プログラム中のバグを取り除くこと
- テスト工程
- ユニット(単体)テスト:プログラム(モジュール)を単体でテスト
- 結合テスト:プログラム(モジュール)を結合して、命令やデータの受け渡しなどのインターフェースをテスト
- システムテスト:実際の業務で使うようにシステムをテストする
- 受入れテスト:ユーザが仕様どおりに動作するかテストする
- 運用保守
稼働中のシステムの不具合や機能追加・変更に対応するための修正
レグレッションテスト(退行テスト):修正や変更が他の正常箇所に影響していないことを確認するテスト
- システム開発技法
- ウォータフォールモデル:開発工程の上流から下流に順番に進めていく技法、後戻りせずに開発を進める、完成イメージが最終段階にならないと見ることができない
- プロトタイピングモデル:プロトタイプ(試作品)を作成してユーザの確認を得ながら進めていく、後戻りを少なくできユーザの参画意識を高める
- スパイラルモデル:サブシステムごとにウォータフォールモデルで開発する、完成したサブシステムをプロトタイプとしてユーザに見せる
- アジャイル:短期間で動作するプログラムを開発するという作業を反復させる、段階的にシステム全体を完成させていく
- リバースエンジニアリング:既存のプログラムを解析して仕様書を作成する開発手法
- ユーザインタフェース
ユーザとコンピュータの接する境界部分、キーボードやディスプレイなどの入出力装置
-
- CUI(Character User Interface):コマンド(命令)を入力して操作する
- GUI(Graphical User Interface):画面に表示されたアイコンやボタンを、マウスなどで視覚的に操作する。プルダウンメニュー、ポップアップメニュー、ラジオボタン、チェックボックスなど
画面設計:ユーザにとって見やすく操作しやすいように設計
帳票設計:システムで出力するフォームの設計
ユニバーサルデザイン:誰もが使える設計、誰でも使える状態にするアクセシビリティと使いやすい状態にするユーザビリティの概念を含む
UX(User Experience):使いやすさや機能にとどまらず、使うことでどのような体験ができるかという考え方
コード設計:データにコードを割り当てる、並び替えや分類が容易にできる
チェックディジット:コードの入力誤りや読取り誤りを検出するために付加された数字
- プロジェクトマネジメント
プロジェクト:決められた期間と予算で、目標を達成するために活動する
PMBOK(Project Management Body of Knowledge):プロジェクトを管理する手法を体系化した、プロジェクトマネジメントのデファクトスタンダード、PDCAサイクルで管理
プロジェクト制約条件:スコープ(対象範囲)、タイム(納期)、コスト(予算)
WBS(Work Breakdown Structure):プロジェクトが提供する成果物や作業の内容や範囲を体系的に整理した図
マイルストーン:工程と工程の節目である意思決定をする時点
コスト見積もり手法:ファンクションポイント法、プログラムステップ法、類推見積法
開発工数:単位は人月や人日、人数x月数または日数
- 工程管理
アローダイヤグラム:作業の順序や相互関係を矢印で表す、PERT図
クリティカルパス:工程で一番長い経路、クリティカルパス上の作業が遅れると、プロジェクト全体の遅れにつながる
ガントチャート:作業内容とその実施期間を棒状で図示したもの
- サービスマネジメント
サービスデスク:ユーザへの一元的な窓口、問い合わせ受付
インシデント管理:インシデント(問題)が発生したときに、サービス復旧に重点を置き迅速に対応する
エスカレーション:インシデントを解決できないときに、専門知識や権限のあるスタッフに解決を委ねる
問題管理:インシデントの根本的原因を突き止めて恒久的な解決策を提供する
サービス資産管理及び構成管理:サービス提供に必要なアイテムを正しく把握して、最新状態にする、IT資産管理
SLA(Service Level Agreement):ITサービスの品質に関するユーザと提供者間の合意、例:サービス提供時間、問い合わせ受付時間、障害時の復旧時間など
- システム監査
第三者が客観的に、情報システムの安全性や信頼性などを点検、評価して、助言をすること、内部監査と外部監査あり
内部統制:ルールや手続き、チェック体制などの確立と明確化、業務記述書や業務フロー図を作成
職務分掌(業務分掌):作業と承認の役割分担や権限を明確化
リスクコントロールマトリクス(RCM):想定されるリスクとその対応策(コントロール)を表にしたもの
コンプライアンス(法令遵守):法律や社会通念、倫理、道徳などを遵守、尊重して企業活動を行う
コーポレートガバナンス:経営管理が適切に行われているか監視して、適切な企業活動を維持する仕組み
ITガバナンス:企業の競争優位性を確保するために、IT戦略の策定・実行をコントロールする仕組み
学習をしての気づき
システムに関するマネジメントについての出題範囲はかなり広範囲に及びます。システム開発から運用、そしてサービスマネジメントと、それぞれ用語の内容確認から始めなければなりませんでしたが、設計プロセスやテストについて、それぞれの役割なども改めて整理できました。普段プロジェクトや業務で行っていることですが、それらを系統立てて理解する良い機会になりました。
また、プロジェクトマネジメントや工程管理では、一部計算問題もありますので、それらには慣れておくことも必要かと思います。
最後に、システム監査やIT統制なども理解をしておく必要がありますね。