【初心者が短時間で学ぶ】性能問題を防止するためのシステム開発の基礎知識【非機能要件を考慮した設計】
What you'll learn
- システム開発における性能の重要性
- 性能要件を満たすための要素
- 業務量に応じたサーバスペック(CPU/メモリ)の見積りの考え方(サイジング)
- 並列処理とサーバリソースの考え方
- 性能問題が発生した際の原因分析手順
- 性能問題が発生する際の原因のバリエーション例
Requirements
- プログラミング経験は不要です
- プロジェクト経験は必須ではありません(経験があると理解が深まるため推奨)
Description
*このコースを作成した理由*
「機能が完璧でも画面が切り替わるのに5秒かかるシステム、使う人いますか?」
多くのエンジニアは機能を作りこむことに夢中になりますが、
どれだけ機能が完璧でもシステムの性能が低いと誰にも使われません。
システム開発では性能(非機能要件)の考慮が必須です!
しかし、性能って何を考慮すればよいのか分からない方が多いと思います。
そこで、本コースでは性能に関する基礎知識をポイントを絞って短時間で学習します。
*本コースで得られること*
・システム開発における性能の重要性
・性能要件を満たすための要素
・業務量に応じたサーバスペック(CPU/メモリ)の見積りの考え方(サイジング)
・並列処理とサーバリソースの考え方
・性能問題が発生した際の原因分析手順
・性能問題が発生する際の原因のバリエーション例
*本コースの最大の目的*
性能問題を発生させないために必要な基礎知識を得てもらうことです。
本コースでは、
・性能問題はなぜ発生するのか?
・発生しないようにするためにはどうするべきなのか?
などの性能に関する基礎知識(考え方、性能原因の特定手順など)を学びます。
*コース内容*
システムにおける性能の重要性
・なぜ性能が重要なのか?
・性能を満たすためのシステムの要素-アプリケーションの設計
-サーバスペック
→何が性能に影響するのか?について学習します。・性能問題が発生するパターン
要件定義で定めた非機能要件(処理性能)が過剰な場合など、性能問題が発生するパターンを解説します。
性能を決める要素
・CPUとメモリが性能にどのような影響があるのか?
・サーバのサイジング(スペックの見積り)の考え方
・並列実行における考慮ポイント、処理特性
→並列実行を行えば必ずしも早くなるとは限りません。
どのような処理特性があるのか?について解説します。
性能問題が発生した際の原因分析手順
・原因分析手順
→性能問題が発生した際の原因分析手順を解説
・性能問題の原因となる理由
→代表例としてDB,アプリの設計などについて解説
Who this course is for:
- 性能問題で悩んでいる人
- 性能を考慮したシステム開発を実施したい人
- システムにおける性能の考え方を知りたい人
Instructor
主にITエンジニア/PMとして活動。法人/個人向けのITコンサルも実施しています。
プログラミングスキルだけではエンジニアとして活躍できなかった!
このような経験から、初学者~中級者向けにエンジニアが現場で活躍するためのコースを提供しています。
特に重視しているのは、「小手先のテクニックではなく本質的な総合力(上流スキル)、現場で活躍できる力を伸ばすこと」です。
IT業界は技術進歩が早く、エンジニアに必要なスキル・知識はどんどん多くなってきています。
そのため、
・どのようなスキルを習得するべきなのか?
・現場で活躍するために必要なスキルはどのようなものか?
が分からずに悩む方が増えてきています。
そこで、「いつ」「どのような時に」「なぜ必要となるのか?」を明確にしながら現場で活躍するためのスキル・知識を提供します。
本質を理解することでエンジニアとして重要な自走力を養っていただき、1人でも多くのエンジニアが現場で活躍できるように貢献していきたいと考えています。
■プロフィール/実績
・プログラミング歴10年超え
・エンジニア歴10年以上
・50人月以上の新規案件の提案・受注実績5件
・自社プロダクトの開発、受託開発の両方を経験
・上流工程、アーキテクチャ設計などを得意とし、新規システムの提案~保守運用までを担当
■略歴
・大学時代からプログラミングを学習
・大手IT企業に勤めるがプログラミングスキルだけでは活躍できなかった
・エンジニアとして必要なスキルを戦略的に獲得
・現在はPM、ITコンサルとして活動