講義概要
本講義は、日頃grepなどを使って影響範囲や修正箇所の調査に苦労している方、他の人が作ったソースコードを引き継いで構造理解に苦労している方に是非受講して頂きたい内容になっています。 講義名「コードリーディング」とありますが、ただソースコードを読むのではなく、「リバース設計」のスキルを習得してもらうことで、設計図を作りながらソースコードの全体像を理解できるようになります。また設計図を活用し、品質課題の可視化やレビューに役立てることもできます。講師
- 所属
- タイムエンジニアリング
- 講師名
- 阿部 哲
組込みからWebアプリ・基幹・業務システムまでの幅広い業界で、ソフトウェアエンジニアリングを駆使して、企業の経営課題から開発現場の技術課題まで解決する案件に数多く従事。 「ソフトウェアに携わる技術者・管理者が、スマートに開発業務を行うには?」を常に考え、楽しく豊かな社会づくりに貢献したいと考えている。要求分析技法・アーキテクチャ設計技法・構造化/オブジェクト指向分析設計技法・リファクタリング・リバース設計を得意とする。
講義内容
章・節 | タイトル | 内容 |
1 | 設計とは | コーディングする前に行う設計の大切さ |
2 | リバース設計 | ソースコードから設計図を作る方法 |
2.1. | モジュール構造図 | 関数と変数の関係を可視化する設計図 |
2.2. | クラス図 | ファイルとファイルの関係を可視化する設計図 |
2.3. | その他の設計図 | ソースコードの構造、振る舞いを可視化する様々な設計図 |
3. | ソフトウェア品質 | ソースコード・設計の良し悪しを評価する重要な4つの品質 |
4. | 個人演習 | ソースコードから設計図にリバースするスキル習得を確認 |
5. | グループ演習 | ソースコードの構造を図面化し、図面から見える課題を議論 |
5. | 発表会 | グループで作成した図面・課題一覧・その他役立った事などを発表 |
受講要件
- 【受講要件】
-
- C言語の基本的な知識(C言語のソースコードを読む演習があります)
本講座の知識はC言語以外のプログラミング言語にも適用可能です。
- C言語の基本的な知識(C言語のソースコードを読む演習があります)
- 【事前学習のポイント】
-
- 担当システム・ソフトウェアのソースコードの課題(取り扱いに苦労する事、悩み事など)を事前に整理すると受講効果が高まります。
受講にあたって必要な準備
- ■講義を聴講するために必要なもの
- 思考整理のため、メモを記録するための筆記具
- 思考整理、メモ用のノート類
- グループディスカッションのためのマイク・カメラ類
- ■個人演習に必要なもの
- ・設計図を作成するためのアプリケーション
- -Microsoft PowerPointまたはExcel
- -PowerPointまたはExcel同等のその他アプリケーション
(但し、設計図の提出が必要であるため、PDFや画像ファイルに出力できること) - -draw.io(https://app.diagrams.net/)
企業によってはアクセス制限があるかもしれませんので注意して下さい - -その他設計図を書けるツール
(但し、設計図の提出が必要であるため、PDFや画像ファイルに出力できること) - ※ 手書きで設計図を作成することも可能。
但し、設計図の提出が必要であるため、スキャナやカメラによるPDFや画像ファイルへの変換ができること
- ・設計図を作成するためのアプリケーション
- ■グループ演習に必要なもの
- ・個人演習と同じ
講義に関連する解説記事・参考文献・図書等
- 「「printf(“Hello Worldn”);」を設計図で考える①」
- https://time-engineering.jp/archives/2830