AI協働型 設計基礎講座
生成AIを使ったソフトウエア開発に必要な「ソフトウエア設計に関する知識」を習得するための講座です。
生成AIを利用した開発において、次のような悩みを抱えたことはないでしょうか。
- 生成AIが作ったコードの構造の良し悪しが分からず鵜呑みにしてしまう
- 不具合修正のためにAIが予想外の箇所を変更したが、悪影響がないか判断できない
- AIへの指示を繰り返しても狙った仕様のソフトウエアが生成できない
- 他の開発者と作っているソフトウエアは変わらないのに自分だけすぐにトークン切れになってしまう
これらの課題は、AIが生成するコードに「プロジェクトや開発者にとっての分かりやすさ」が考慮されていないことや開発者による適切な指示(プロンプト)不足から生じます。
AIを利用してソフトウエアを開発する場合であっても(人間が直接コーディングする場合と同様に)、機能や性能を実現するためには課題解決が必要であり、そのための知識、技術としてソフトウエア設計は必須です。
本講座では、ソフトウエア設計の進め方、設計課題の解決方法、ソフトウエア構造の記述方法、設計原則(設計の良し/悪しの評価方法)など、ソフトウエア設計の知見を網羅的に説明します。ソフトウエア設計を理解し、AIに適切な指示が出せるようになることで、開発における上記のような悩みは大幅に解消・軽減されます。
本講座は、生成AIがガイドしつつも、受講者自身が発想し、手を動かして学ぶ構成になっているため、エンジニアリングの思考の流れを体験を通じて理解できます。また、ソフトウエア開発に生成AIを使用していない方でも、ソフトウエア設計に関する体系的な知見を得るために最適な講座になっています。
※想定受講者数は20名です。受講者数が20名を超える場合は費用が変わります。
※オンサイト・オンライン(Zoom等のオンライン会議システムを利用して実施可能)ともに同料金です。
※受講料は予告なく変更・改定する場合がございますので、あらかじめご了承ください。
- ソフトウエア開発に際し生成AIの利用を検討している方、既に利用している方
- 「AIへの的確な指示の出し方」で悩まれている方
- 生成AIは使っていないが、ソフトウエア設計を体系的に知りたい方
- ソフトウエア開発経験(プログラムを書いた経験)
- 生成AIを使用できる環境(Gemini、ChatGPT等、どのサービスでも構いません)
- UML(クラス図、アクティビティ図、シーケンス図)の読み書きができると望ましい
- ソフトウエア設計の意義、及び、必要な活動を理解する
- ソフトウエア設計における検討活動をAIに実施させることができるようになる
- AIから生成されたソフトウエア設計結果を評価できるようになる
- 自身の設計結果をAIを使いながら自己診断できるようになる
座学+AIを使う形での演習
1. はじめに
2. AI協働開発時代も設計が必要な理由
1) AIによるソフトウエア生成の問題
2) AI特有のエンジニアリング
3) エンジニアリングが必要な理由
3. ソフトウエア設計概要
1) ソフトウエア設計の目的・実施概要
2) 問題・課題の識別と特定
3) 解の考案と選定
4) ソフトウエア構造の決定と記述
5) ソフトウエア設計の階層
6) 前後のプロセスとの関係と役割
4. 問題・課題の識別と特定
1) 問題・課題の識別の進め方
2) 設計課題の特定
3) ソフトウエア設計における主要な課題
5. 解の考案と選定
1) 解の考案と選定の進め方
2) ソフトウエアの設計原則
3) ソフトウエア設計の品質
4) 解の選定
6. ソフトウエア構造の決定と記述
1) ソフトウエア構造の決定と記述の進め方
2) ソフトウエア構造を記述する方法
3) ソフトウエア構造の検討方法
4) ソフトウエア設計書の構成
7. 派生開発時のソフトウエア設計
1) 派生開発時の設計手順
2) 派生開発時に残す情報
8. ソフトウエア設計戦略
1) ソフトウエア設計戦略とは
2) 事前に特定すること
3) ソフトウエア設計戦略で決定すること
※章立ては、開発中のものです