組み込み系 Part5
リモートワーク事情から半田付けテクニックまで
組み込み系の話題、最近どうですか?
※前スレ
組み込み系 Part4
https://medaka.5ch.net/test/read.cgi/prog/1686118802/ 素人が組込みソフト屋へなる方法10ステップ(超基礎編)
1.C/C++を身に付ける
(最近はPythonやRustなども身につけておいた方がいいが、
まずは一番使われているCとC++を身に付ける)
2.UMLのシーケンス図、ステートマシン図、クラス図、
アクティビティ図、ユースケース図などを描けるようにする
(機能、構造、振る舞いの観点で描ければいい。
機能はユースケース図、構造はクラス図、
振る舞いはシーケンス図、ステートマシン図、
アクティビティ図などが該当する。
特に組込み屋はシーケンス図が大好き)
3.ステートマシン図は状態遷移表でも書けるようにする
(組込み屋は状態遷移表が大好き)
4.フローチャートを描けるようにする
(今でも使ってる現場がたまにある)
5.データフローダイアグラム(DFD)を描けるようにする
(使用しているプロジェクトは少なそうだが、
組込み関連の書籍に登場したり、
最近ではデータの信頼境界を識別する目的などで
セキュリティ関係でも使うので理解しておく)
続く 続き
6.構造図(ストラクチャーチャート、モジュール構成図、
モジュール構造図、プログラム構造図など、
色んな呼び方あり)を描けるようにする
ステップ2から6の図の勉強中に、
オブジェクト指向、構造化プログラミングの違いを
軽く理解しておくと良い
7.OSのタスクやタスクの状態遷移、
ソフトウェアの構造について理解する
(ひとまず基本情報技術者の教科書の
ソフトウェア分野に出てくるレベルでいい)
8.デバッガの基本的な機能を理解する
(ビルド、リビルド、ステップ実行、ブレークポイントなど、
どのツールでも共通するものを理解しておく)
9.単体テストの基本的な技術について理解する
(命令網羅、分岐網羅、条件網羅、複数条件網羅など)
10.組合せテストの基本的な技術について理解する
(ペアワイズ法(オールペア法)、直交表、
因子水準表、境界値分析、同値分割など)
基礎のみ。より詳細な知識やハードウェアの知識、
オシロスコープ等の機材の使い方、マネジメント、
制御工学や通信などの関連技術は除いている。
実務や資格試験(応用情報、エンベデッドなど)、
ネット・書籍、電子工作などで身につけて下さい ちなみに、資格試験の本だけで勉強したら
知識にしかならないので、本だけじゃなくて、
必ず手を動かして自力でプログラムを書いて勉強してください
必ず知識+その知識を使うということを意識して下さい UML使ってる会社見たことないな、UML誰も知らなくて書いたら怪訝な顔された
Web業界では使いまくってるけど >>2-3
2~10は会社に入ってから実務を通して経験すりゃ十分よ ユースケース図の使い道がわからん
要求仕様書を全てユースケース図で表現したら
とんでもない図になりそう どういう登場人物がいて、その登場人物は直接システムにアクセスするのかしないのか
これを記述する
客がタッチパネルで注文するのと、店員が手持ちの機械で注文を取るのでは
全体の設計が変わってくる >>9-10
ユースケース図って
どれくらいの粒度で書くものなの?と思って調べてみたら
仕様にある機能を全て表現するものではなく、
ユーザー視点でシステムの利用例とかをざっくりと評価するものなんだな そういう無知があるとレビューで仕様書全部ユースケース図に起こせとか指摘して、作者側も知らないとガチで全て図に起こさなきゃいけないのかとなり、長時間労働が発生して、虐めとかも発生するのが怖いところ UMLは言語だから作業の効率化が目的にある
図を書くのに長時間かけてたら本末転倒 いつもマーメイドで書くからドキュメント化する時間とかあんまりかからない タイミングチャートjsonで書けるの知って感動した タイミングチャート書いてる人は
FPGA担当なん? リアルタイム性のあるアプリの設計では普通に使われるだろ リアルタイムというかハンドシェイクでしょ、組込以外でもよく使う JSONでタイミングチャート書けるんだね ありがとう勉強になった
ラッチ処理って言うのが正しいか知らんが、信号の伝達とかでタイミングチャートはよく使ってるから >>18
何でもCPUにやらせる輩はどこにでも居る 製品全体のPMがソフト屋出身じゃないから理解力が無い メカ屋や電気屋はざっくりとした工数管理や日程を立てる印象があるが
ソフト屋は時間単位で管理して細かい 品質やトラブルの可能性が抜けてて納期ぎりぎりに組み上げたりするから
テスト時間がしっかり取れなかったりする 品質保証部に変な指摘されて思うように進まない時は
品質保証部の部長より偉い人連れていってキレてもらえば
指摘取り消しになるから、いつもそのようにしてる テスト専門の会社からQAエンジニアとやらが参画してるんだけど、アプリしかやったことがない連中なので電源の配線やら治具やらオシロやら検証環境の立ち上げはこっちでお膳立てしないといけないらしく、発注したマネージャーにブチギレてる >>30
請け負ったのはテストであって環境構築は発注側の仕事でしょ
できてもやらんよ その辺、どこまでが業務の範囲か細かくRFPとか契約書に書いておかないと、外部業者はやってくんないよ
契約した内容しかやらないから
やってほしいなら追加のお金と工数くれってなるよ 機材手配とかランニング試験の申請とか準備大変だよな
かと言って素人に配線させたら5vとGNDを逆配線して壊したりした例があって、配線作業すらBP連中には安易に振れないルールが出来てしまった
テストフェーズは毎回本当に憂鬱になる 機材手配がめんどい
試験したい時に限って他のプロジェクトや部署が使っていたり
機材借りたまま返さない奴がいて捜索したり
壊れていたり >>33
設計した本人すら配線間違って壊すこともあるしな
始めて触れる装置なら尚更だ >>30
普通 発注するなら それらが
できるのかできないのか
経験あるのかないのか
作業範囲なのかそうでないのか
契約時に確認してるだろうと思う
もししてなければ発注者として失格
もししていてそういう人が来ていなければ交代を要請
すればいい 組込みというか開発全般に言えることだけど、
自動車や医療機器とかは法規制や規格準拠が年々厳しくなって
過労死する人が出てもおかしくないぐらい炎上プロジェクト増えてないか?
また、それらに時間取られてイノベーションも生れなくなってかいか?
国レベルで法規制や規格準拠と、QCDとのトレードオフについて、そろそろ考えていかないとヤバい気がしている >>37
開発プロセスを遵守してるプロジェクトだと
そのための工期とか設定されてるから、俺のところは大丈夫だけどな プロセスは守れ
規格対応しろ
法律守れ
でも納期や期限は決まってる(ビジネスだから)
その中に収まるように計画立てろ
遅れたら遅らせた奴の責任
いつもこんなのでうんざり 偉い人がざっくりとこんな感じかなと考えた大日程を提示すると
技術者がそんな日程でおわらねーよと心の中で思いながらも
言って攻撃されたら嫌だから誰も言えなくて
その日程の中に作業詰め込もうと心理が働いちゃうよな
偉い人は気になったら指摘してねとは言うけども、
権威主義的な人が居そうな会社だと何されるかわからないから
なかなか言えない >>40
そんな会社にぶら下がってる君
どうだかなと思うけどな 皆さんの会社は、お偉い人に
それ無理ゲーじゃね?って言える会社ですか? 染みついた社風は中々取れないからな
残業するのが偉いとか、
長時間労働で鍛えられたとか、
そういうの口にする上司がいたら要注意 アベノミクスで大企業が生き残った。
政権交代してアベノミクスが完全に終わるとどれだけの大企業が潰れるんだろうね