「UML」を含む日記 RSS

はてなキーワード: UMLとは

2026-08-15

AI時代になったが、半導体チップ設計OSSソフトも、規格も足りない

課題仕様関係

  1. アーキテクチャからとなると千ページを超え、各部品ごとに数十ページの仕様書があり、整合性を取らないといけない
  2. LLMはA4で4ページくらいまでは、上手く処理してくれるが、それ以上は読み込むが抜けがで始める印象
  3. 半導体チップルールも多い。LLMは大量のファイルを読み込むが大量のルールを全てチェックしようとすると抜ける。
  4. 仕様書は自然言語で書かれるためチェックが出来ない。Webに公開データも少ない。公開されているものも、ベストプラクティスみたいなものがなく、個々のプロジェクトが公開しているだけ
  5. 文法の間違いに関しては静的チェックツールがあるが、仕様に書かれないといけない内容、一覧、ルールチェックリストというものはない。
  6. LLMで大量の文章を少しずつ書いていくと、ある段階から量が書けなくなる。
  7. そもそも半導体チップ仕様が公開されていないため、LLMが書く文章仕様として足りていない。Webで公開されるデータシートのような数値の羅列のみになりがち


課題仕様の図の規格

  1. 人が理解やすいような図が仕様書には必要だが、描くための規格、ソフトがない。
  2. LLMでも、画像認識やすくなったが、記述フォーマット必要
  3. mermaidUML活用しようという動きは過去にあったが、チップ設計向けにはいまいち向いていない印象
  4. タイミングチャートはwavedromがある。LLMでも描ける。読んで理解までしてくれるかは、クリティカルな部分まで理解しているかは試せていない
  5. 全体の抽象度をもった動作構成を示す図は、LLMでは描けない。描いても変なのが出てくる
  6. 手で描くのもパワーポイントか、Visio


課題:性能探索用のモデリングする為の言語

  1. SystemCで止まっている。LLMで書けるが、言語仕様そもそもイマイチな印象
  2. 小規模な回路はLLMで作れるが、全体をどうするかアーキ部分の探索が出来ないと、整合性が取れず結局使えない
  3. オープンソースソフトもない
  4. 良い言語仕様がない
  5. LLMでスクリプトは作れるようになったが、ハードエンジニアが求めるようなソフトになると、まだ規模が大きくて難しい印象


課題オープンソースソフトがない

  1. Verilogシミュレーションソフトは一応はあるレベル
  2. 論理合成ソフトは未熟。そもそもスタンダードセルが公開されていない。TSMはもとより、他も基本つくれない
  3. フォーマル検証ソフトは未熟

2026-07-29

ITエンジニア会話の中で出てくる本

ITエンジニア会話の中で出てくる本

資格取得向けではない

賛否両論もあると思うが、IT現場で働いていたり交流すると話に上がる本がメイン

勉強ももちろんだが、現場話題についていくという点において読んでおいて損はなさそう

ソフトウェア工学古典

書籍 主なテーマ 現在位置づけ
------------------------ -------------------- --------------
人月神話 ブルックスの法則概念的完全性、銀の弾丸 ソフトウェア工学の最重要古典
ピープルウエア 生産性組織作業環境、チーム形成 開発組織論の古典
達人プログラマー 技術者姿勢抽象化自動化、変更容易性 現代でも読みやすい準古典
Code Complete コーディング設計レビュー品質 実装技術百科事典
ソフトウェア作法 UNIX的なプログラム設計思考 プログラミング文化古典
プログラミング作法 命名デバッグテスト、性能、移植 C中心だが原則普遍的
珠玉プログラミング アルゴリズム問題解決 計算量・問題分解の古典
計算プログラム構造解釈 SICP 抽象化評価言語処理系 コンピュータ科学寄りの古典

プログラミングコード設計

書籍 内容
------------------------------------------------------- -------------------
リファクタリング 第2版 振る舞いを変えずに内部設計改善する
レガシーコード改善ガイド テストのない既存コード安全に変更する
Clean Code 命名関数クラス、可読性
テスト駆動開発 TDD基本的な進め方
Growing Object-Oriented Software, Guided by Tests テストからオブジェクト設計を成長させる
Working Effectively with Unit Tests 単体テスト設計テスト容易性
A Philosophy of Software Design 複雑性を減らす設計
The Programmer’s Brain コードを読むとき認知負荷

現在批判も多い

オブジェクト指向・デザインパターン

書籍 位置づけ
--------------------------------- ------------------
オブジェクト指向における再利用のためのデザインパターン GoFデザインパターン原典
Head Firstデザインパターン パターン入門書
アジャイルソフトウェア開発の奥義 SOLID、パターンアジャイル設計
エンタープライズアプリケーションアーキテクチャパターン 業務アプリ設計パターン
実践UML オブジェクト指向分析設計
オブジェクトデザイン 責務駆動設計

ソフトウェアアーキテクチャ

書籍 内容
------------------------------------------- -------------------
ソフトウェアアーキテクチャの基礎 アーキテクチャ特性スタイル意思決定
ソフトウェアアーキテクチャハードパーツ 分割、粒度データトレードオフ
Clean Architecture 依存関係境界ユースケース
エンタープライズアプリケーションアーキテクチャパターン 業務システム設計パターン
Domain-Driven Design 複雑な業務領域モデル
実践ドメイン駆動設計 DDD実践的な適用
Building Evolutionary Architectures 変更可能アーキテクチャ
Fundamentals of Software Architecture 現代アーキテクチャの概論


Clean Architectureについて

唯一の正解ではない

依存関係を内側に向ける」「業務ルールフレームワークから分離する」という考え方を学ぶ本であり、すべてのアプリを同じ円形の構造にする本ではない

分散システム・大規模システム

書籍 内容
------------------------------------------- --------------------
データ指向アプリケーションデザインDDIA DB分散処理、一貫性レプリケーション
分散システムタネンバウム 分散システム全般教科書
Designing Distributed Systems 分散システム設計パターン
Release It! 本番障害、安定性、回復
Site Reliability Engineering SRE、SLI、SLO、運用
Building Secure and Reliable Systems セキュリティ信頼性
Web Scalability for Startup Engineers Webシステムのスケーリング
System Design Interview システム設計の考え方を広く学ぶ

ネットワーク

入門・全体像
書籍 内容
-------------------------------- -----------------
マスタリングTCP/IP 入門編 日本で最も定番TCP/IP入門書
コンピュータネットワークタネンバウム ネットワーク全般教科書
コンピュータネットワーキング トップダウンアプローチ アプリケーションから学ぶ
ネットワークはなぜつながるのか ブラウザからサーバーまでの流れ
TCP/IPを深く学ぶ
書籍 内容
----------------------------------------- -------------------
詳解TCP/IP TCP/IP古典
TCP/IP Illustrated パケットレベルの詳細
High Performance Browser Networking TCPTLSHTTPブラウザ通信
パケットキャプチャ教科書 Wiresharkなどを使った解析
HTTPWeb
書籍 内容
-------------------------------- ----------------
Real World HTTP HTTP歴史現代機能
Webを支える技術 HTTPURIREST
HTTP: The Definitive Guide HTTP/1.1時代の体系的解説
Web API: The Good Parts Web API設計

OSLinux・低レイヤー

書籍 内容
-------------------------------- ---------------
オペレーティングシステム 3つの簡単ピーOSTEP 仮想化、並行性、永続性
Operating System Concepts恐竜 OS標準的教科書
詳解UNIXプログラミング UNIXシステムコール
Linuxプログラミングインタフェース Linux APIの詳細
Linuxのしくみ Linux内部の入門
ふつうLinuxプログラミング Linux上でのプログラム実行
30日でできる!OS自作入門 OS動作を作りながら学ぶ
コンピュータシステム理論実装Nand2Tetris 論理回路からOSまで

データベース

書籍 内容
------------------------------ ---------------
データベースシステム DB理論教科書
Database System Concepts DB標準的教科書
SQLアンチパターン よくあるDBSQL設計の失敗
達人に学ぶDB設計 徹底指南 論理設計正規化、性能
達人に学ぶSQL徹底指南 SQLの考え方
SQLパフォーマンス詳解 インデックスと実行計画
High Performance MySQL MySQLの性能設計
PostgreSQL徹底入門 PostgreSQL有機

| DDIA DBを含むデータシステム全体 |

セキュリティ

書籍 内容
------------------------------------------- --------------
体系的に学ぶ 安全Webアプリケーションの作り方徳丸 Webセキュリティ国内定番
Web Application Security Webアプリ脆弱性と防御
The Web Application Hacker’s Handbook Web攻撃手法古典
Security Engineering セキュリティ工学全般
暗号技術入門 暗号ハッシュ署名証明書
マスタリングTCP/IP 情報セキュリティ ネットワークセキュリティ
Threat Modeling 脅威モデリング
Building Secure and Reliable Systems セキュアで信頼できる運用

アルゴリズムデータ構造

書籍 内容
------------------------------------ --------------
アルゴリズムイントロダクションCLRS アルゴリズム分野の標準教科書
アルゴリズムデータ構造 大学教科書的な基礎
珠玉プログラミング 問題解決古典
プログラミングコンテスト攻略のためのアルゴリズムデータ構造 実装を伴う学習
問題解決力を鍛える!アルゴリズムデータ構造 日本語での実践的入門
The Algorithm Design Manual 問題に適したアルゴリズム選択


テスト品質保証

書籍 内容
--------------------------- -------------
テスト駆動開発 TDD原典
ソフトウェアテスト技法ドリル 同値分割、境界値など
はじめて学ぶソフトウェアテスト技法 テスト技法定番
実践ソフトウェアエンジニアリング 開発工程品質全般
Googleソフトウェアエンジニアリング 大規模開発、テスト保守
単体テストの考え方/使い方 良い単体テスト設計
xUnit Test Patterns テストコードパターン
Continuous Delivery 自動テストからリリースまで


DevOps・CI/CD・SRE

書籍 内容
----------------------------------- ------------------
The DevOps ハンドブック DevOpsの実践体系
Accelerate 開発組織デリバリー性能の研究
Continuous Delivery 継続的デリバリー原典書籍
Site Reliability Engineering GoogleのSRE
The Site Reliability Workbook SREの実践
LeanとDevOpsの科学 Accelerateの日本語版
Infrastructure as Code IaC原則
Kubernetes Patterns Kubernetes上の設計パターン
Release It! 本番耐性と障害対策

クラウドコンテナ

書籍 内容
---------------------------- -----------------
Kubernetes完全ガイド Kubernetesの体系的な理解
Kubernetes Patterns Kubernetes設計パターン
入門 Kubernetes Kubernetes概念
Docker系の入門書 コンテナ操作
Infrastructure as Code インフラコード
Cloud Native Patterns クラウドネイティブ設計
クラウドデザインパターン クラウド上の設計パターン

AWSAzureGoogle Cloudについては、以下を優先する

要件定義モデリング

書籍 内容
------------------------------------- --------------
要求工学系の教科書 要求抽出分析管理
ソフトウェア要求 要求定義の体系
ユーザーストーリーマッピング ユーザー行動と開発計画
ユースケース実践ガイド ユースケース記述
RDRA2.0ハンドブック 要求システム構造の整理
実践ドメイン駆動設計 業務モデリング
Domain Modeling Made Functional 型を使ったドメインモデリング
イベントトーミング 業務知識の探索


UIUXWebデザイン

書籍 内容
------------------------- ------------
誰のためのデザイン 人間中心設計古典
インタフェースデザイン心理学 認知心理UI
ノンデザイナーズ・デザインブック レイアウト・配色・文字
Don’t Make Me Think Webユーザビリティ
About Face インタラクションデザイン
デザインシステムの育て方 デザインシステム
Lean UX 仮説検証型のUX開発

開発組織マネジメント

書籍 内容
---------------------------- -----------------

AIで皆がコードを書ける時代 プログラミングを学ぶ意味

AIで「皆がコードを書ける」というのが違う。

コードが書けるじゃなくて、「誰でもアプリを、システムを作れる」というもう一つ上のレイヤー


殆んどの人にとって「やりたいこと」は「コードを書くこと」ではない。

例えば、ファイル整理の自動化コンテンツの一括取得、パラメータ最適化といった具体的な課題解決することである

プログラミングはそのための手段であり、目的ではない。これはAI以前から変わらない。プログラマ自身もまた、「面倒を減らすため」にコードを書いてきたのである

ーーー

別の話

プログラム言語にかかわらず、言語を学ぶ上で

「Writeing」能力と「Reading」能力は 別であるということ。

文法上正しく書く というのと、 文法上正しく書かれたものを読む のとでは必要とする 能力レベルが異なる。

文章は読めるし単語は書けるけれど、文章が書けない。という人はそれなりに居る。

AI時代別に書ける必要はない、読めさえすれば十分だ……

否。

もっと本質的に。

何のために読むのか?

それはコード理解するため。

意味」を理解する必要があるのであって表層であるコードを読める必要はない。

別にAI以前の時代でも既存アプリコード意味を解析する際に、機械語を逆アセンブラや逆コンパイラで読みやすい別の形に変えたり。

もっと言えばUMLコールグラフと言った図という文字列以外の方法理解してきたのだから

理解できる必要があるのであってコードを読める必要すらない。

例えば、例外をthrowする構文をしらなくてもいい、throwされた例外catchするための構文を知らなくてもいい。

期待しない異常状態を検出し処理するという理解があればよい。

読めないのに理解できるのか?

AI説明させればいい。理解できるまで何度も、質問すればいい。図示してもらってもいいし、もっと基本的な条件分岐から教えてもらってもいい。

AI以前からして

多くの人が機械語を読んでいるかもっと言えば、プロセッサ内で期待通りパイプラインが組まれてるか?メモリは期待するタイミングバス転送されているかペリフェラル制御は?

コンパイラも、チップも多いわけではないがそれでも毎年コンスタントエラッタは出てる。

AI以前ですら最下位レイヤ表現を「読める」エンジニアほとんどいない。

結局自分が「読める」レイヤで期待通りの動作するかテストすることでしか 検証できてないのだから


2026-07-24

anond:20260724095123

いやなんか嫌な感じになったみたいでこっちがごめ

俺は設計自分でやるので設計(書)がどっかからくる状況がわからん

UMLクラス図とかくるの?フローチャートとか?

2026-06-29

anond:20260629163819

机上での話なら、

「実際そのままでは動かない、AIエージェント設計から実際に動くプログラムを作れる」

って話に

「いやUMLで動くなら」

って反論風に噛みついてきたのは何でなん?

anond:20260629163555

バカに付き合ってやってるだけで

UML上で動くなら(机上でとか普通にある表現)とかをUMLが立ち上がって動き出すうう!とか言ってるアホはお前だけやで

こだわりの強いタイプから平日の昼間も暇なの?

anond:20260629162820

で、どれならできるんだよ?

UMLで動かす

UMLが動かす

UMLを動かす

まさか、結局どれもできないのにそこに難癖つけてるわけじゃないよな?

anond:20260629162230

UMLが動かす

でも

UMLで動かす

でも

UMLを動かす

でもどれでもいいぞ。さあやってみろ。



(ところで突然ド下ネタ言い始めるの何なんだろ?老化で脳が劣化するとこうなるの?)

anond:20260629161834

お前はまさかUMLで書いたからってコードじゃないから動かないとかマジで言ってるのか?

そもそもお前の言ってたのはUML「が」動くとかUML「を」動かせとかいう話だぞ

お前は「で」と「が」と「を」がおんなじか?

お前の彼女「で」オナニーするのと

お前の彼女「が」オナニーするのと

お前の彼女「を」オナニーさせるのと

なんでもミソもクソもおんなじか?

お前はバカか?

あ、彼女なんかいいかごめん

anond:20260629160448

おい、今更UMLが動く論引っ込めるのかよ

anond:20260629155740

AIでっていうのはこっちが言ってるんだよ

お前は「UMLを動かす」んだろ

言ってること変えるな

頑張ってUMLを動かすんだ

anond:20260629155559

君が理解できないことはまあ確かに通じてはないのか

UMLで動いてりゃそれこそ今後AIでそのまま動くで

そもそもロジックさえ完璧ならビジネスロジックなんてノーコードで動くんだから

anond:20260629155135

話通じなさすぎるからもういいよ

UMLを動かして便利なソフトが作れたら呼んでね

anond:20260629153722

これからそういう時代になるってことだよ

でもUMLじゃないと思う

anond:20260629153007

UMLで動くとかよくわからないんだが

なんかそういうツール使うってこと?

ノーコードとか超高速開発とか言ってプログラミング無しにソフト作るのを流行らせようとしてる勢力がいたのは知ってるけど、別に流行らなかったよね

anond:20260629153007

UMLで動くって概念初めて見たわ

ただのフローチャートちゃうんか

anond:20260629152311

いや君は日本語で異常系とかやってたから動かなかったんだろうけど

俺は普通にUMLで動くレベルなら普通に動くってかむしろUMLちゃんとしてないから動かないんだけど

ロジックを君自身が分かってないのにAIで動かしてるってこと?

どういうソフトなの?俺が今やってるのとかはコンプライアンス絡みでロジックの厳密性が一番ヤバい部分なのでそこはAIやらせられないが

UIリアクトのこれどうすんのとかはガンガンやらせるけど

anond:20260629151940

全然関係ないけど、UMLの中で一番の役立たずはクラス図だと思う

何か書いてるようでいて何もわからない

anond:20260629151940

「もうできてる」って言ったって、今までは日本語仕様書だろうがUMLだろうがそのまま動作はしなかっただろ

そこを埋めるのがAIエージェントだって言ってんの

実際それで仕事回してて外注は切ってる

ただ、この仕事のやり方だと社内の若手がプログラミング経験する機会がなくなりそうだけど、どうするか、ってのを今考えてるところだよ

anond:20260629151456

「異常系」とかじゃなくてどういう場合にどうやって動くかというのは日本語でも英語でも定義しなきゃいけなくて

その定義ができてるならほぼもうソフトなんかできてるんやで

君は「日本語」で「上流に了解とって」やってるんだ

なるほど

UMLとかそういうのだけどね

普通

で、UMLで出来てればほぼもう出来てる

日本語で上流とお話しするのね

それ上流がAIでやればいいか逆に下流がやればいいかで君いらなくない?

2026-05-12

anond:20260512082340

全然関係ないけどUMLクラス図って一見良さそうに見えるけどクラス図だけでシステム全体を記述しようとする誤った用法に陥りがち

UMLの中では一番のポンコツ

絶対許すまじ

anond:20260512081333

設計製造ってどうなってるの?

UMLクラス図まで詳細に書いといて自分でそのクラス図通りに作るの?

そこまでがっちりきまってるならTDDテスト要件設計通りに書いたらいいのでは?

うちはそもそも要件コロコロかわるからテスト適当にしてるが

2025-07-15

ベン図とかUMLとか書く機能あったら一発なのになぁ

と思うことが多いね

ログイン ユーザー登録
ようこそ ゲスト さん