MW211 EXIT

devlog
ソフトウェア工程図
2018年09月05日
【ソフトウェア工程図】
┌────────────────────────────────────┬─┐
│      ┌───────────────┐                                ├─┤
│      │基本設計文書作成              │※要件定義(洗い出し)            │設│
│      └┬─┬─┬──────────┘                                │計│
│        │  │┌↓─────────┐                  ┌──────┐│  │
│        │  ││基本設計文書レビュー├────────→│基本設計承認││  │
│        │  │└──────────┘                  └──────┘│  │
│        │┌↓─────────┐                                      │  │
│┌───│┤総合評価項目作成    │      ※要件の網羅を確認              │  │
││      │└──┬───────┘                                      │  │
││      │    ┌↓─────────┐                                  │  │
││      │    │総合評価項目レビュー│  ※出戻り防止対策                │  │
││      │    └──────────┘    (設計の二重チェックも兼ねる)  │  │
││    ┌↓──────────────┐                                │  │
││    │概要設計文書作成              │※外部設計・内部設計            │  │
││    └┬─┬─┬──────────┘                                │  │
││      │  │┌↓─────────┐                  ┌──────┐│  │
││      │  ││概要設計文書レビュー├────────→│概要設計承認││  │
││      │  │└──────────┘                  └──────┘│  │
││      │┌↓─────────┐                                      │  │
││┌──│┤結合評価項目作成    │                                      │  │
│││    │└──┬───────┘                                      │  │
│││    │    ┌↓─────────┐                                  │  │
│││    │    │結合評価項目レビュー│  ※出戻り防止対策                │  │
│││    │    └──────────┘    (設計の二重チェックも兼ねる)  │  │
│││  ┌↓──────────────┐                                ├─┤
│││  │詳細設計文書作成・コーディング│※詳細設計文書はコーディングの  │製│
│││  └┬─┬─┬──────────┘      補助資料のためレビュー不要│造│
│││    │  │┌↓─────────┐                                  │  │
│││    │  ││コードレビュー      │  ※技術的なレビュー              │  │
│││    │  │└──────────┘                                  │  │
│││    │┌↓─────────┐                                      │  │
│││    ││単体評価項目作成    │      ※セルフチェックのため          │  │
│││    │└┬─────────┘                          レビュー不要│  │
│││    │┌↓─────────┐                                      │  │
│││    ││単体評価実施        │      ※セルフチェック                │  │
│││    │└──────────┘                                      │  │
│││    │※コーディングの成果は結合評価で確認(流出有無で真価を判定)    │各│
│││    │  (内部の詳細は各自で管理(低品質の場合は是正勧告・介入))      │自│
│││  ┌↓──────────────┐                                ├─┤
││└→│結合評価実施                  │                                │検│
││    └┬───┬──────────┘                                │査│
││      │    ┌↓─────────┐                  ┌──────┐│  │
││      │    │結合評価結果レビュー├────────→│結合評価承認││  │
││      │    └──────────┘                  └──────┘│  │
││    ┌↓──────────────┐                                │  │
│└─→│総合評価実施                  │                                │  │
│      └────┬──────────┘                                │  │
│              ┌↓─────────┐                  ┌──────┐│  │
│              │総合評価結果レビュー├────────→│総合評価承認││  │
│              └──────────┘                  └──────┘├─┤
└────────────────────────────────────┴─┘
分類:設計
要件
2018年08月08日
分類するとこんな感じか?
┌─────┬────────────────────────────────┐
│機能要件  │明示された要求事項                                              │
│          │・いわゆる本開発の目玉機能                                      │
├─────┼────────────────────────────────┤
│暗黙の要件│明示しなくとも満たされるべき要求事項                            │
│          │・誤った情報がないこと(誤解しやすい表現や誤字脱字などがないこと)│
│          │・UI/UXが使いやすいこと(並び順・メッセージ・画面遷移など)       │
├─────┼────────────────────────────────┤
│非機能要件│主にインフラ(ハードウェア)関係の暗黙の要件                      │
│          │・性能(速度と容量)  …運用に耐えうる速度や容量を満たしていること│
│          │・信頼性と可用性    …壊れにくく壊れても対策がなされていること  │
│          │・拡張性と移植性    …次のステップへ進むこともできること        │
│          │・安全性            …いわゆるセキュリティ対策(侵入・改竄・漏洩)│
│          │・運用保守性        …実運用全般として扱いやすいこと            │
└─────┴────────────────────────────────┘
非機能要件には暗黙の要件も含まれるっぽいが
一般的に非機能要件っていったらインフラが主だったりもするのかなぁ。
よくわからん。
分類:設計
設計/ダイアログのタイトル
2018年06月13日
ダイアログのタイトル凡例。(後は臨機応変に)
┌──┬───────────────────────────────────┐
│完了│処理の完了、処理完了                                                  │
├──┼───────────────────────────────────┤
│成功│                                                                      │
├──┼───────────────────────────────────┤
│結果│結果の表示                                                            │
├──┼───────────────────────────────────┤
│中止│処理の中止、処理中止、キャンセル                                      │
├──┼───────────────────────────────────┤
│0件│該当なし                                                              │
├──┼───────────────────────────────────┤
│失敗│処理失敗、エラー発生、エラー、例外発生                                │
├──┼───────────────────────────────────┤
│警告│注意                                                                  │
├──┼───────────────────────────────────┤
│確認│処理の確認、質問                                                      │
├──┼───────────────────────────────────┤
│選択│処理の選択、処理選択                                                  │
├──┼───────────────────────────────────┤
│入力│画面入力                                                              │
├──┼───────────────────────────────────┤
│案内│ご案内、ガイド、お知らせ                                              │
└──┴───────────────────────────────────┘
分類:設計
数学/様々な値の総称
2018年04月06日
?の部分はなんというのだろう?
┌───┬───┬───┬───┐
│現在値│      │      │      │
├───┼───┼───┤      │
│平均値│      │      │      │
│中央値│      │      │      │
│最頻値│      │      │  ?  │
├───┼───┤代表値│      │
│最小値│      │      │      │
├───┤ 極値 │      │      │
│最大値│      │      │      │
└───┴───┴───┴───┘
分類:設計
UUID(GUID)
2018年02月01日
┌──────────────────┬───────────────────┐
│xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx│16進法による文字列表記                │
└──────────────────┴───────────────────┘
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【バリアント(変種)】
┌──────────────────┬───────────────────┐
│xxxxxxxx-xxxx-xxxx-0xxx-xxxxxxxxxxxx│後方互換予約                          │
│xxxxxxxx-xxxx-xxxx-1xxx-xxxxxxxxxxxx│(Network Computing System)            │
│xxxxxxxx-xxxx-xxxx-2xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-3xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-4xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-5xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-6xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-7xxx-xxxxxxxxxxxx│                                      │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-xxxx-8xxx-xxxxxxxxxxxx│一般的に使用(RFC4122)                 │
│xxxxxxxx-xxxx-xxxx-9xxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-Axxx-xxxxxxxxxxxx│                                      │
│xxxxxxxx-xxxx-xxxx-Bxxx-xxxxxxxxxxxx│                                      │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-xxxx-Cxxx-xxxxxxxxxxxx│後方互換予約                          │
│xxxxxxxx-xxxx-xxxx-Dxxx-xxxxxxxxxxxx│(マイクロソフト(COMのGUID))           │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-xxxx-Exxx-xxxxxxxxxxxx│将来予約                              │
│xxxxxxxx-xxxx-xxxx-Fxxx-xxxxxxxxxxxx│                                      │
└──────────────────┴───────────────────┘
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【バージョン】
┌──────────────────┬───────────────────┐
│xxxxxxxx-xxxx-1xxx-xxxx-xxxxxxxxxxxx│バージョン1(時刻とMACアドレス)        │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-2xxx-xxxx-xxxxxxxxxxxx│バージョン2(時刻とMACとローカルID)    │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-3xxx-xxxx-xxxxxxxxxxxx│バージョン3(ハッシュ値)               │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx│バージョン4(乱数値)                   │
├──────────────────┼───────────────────┤
│xxxxxxxx-xxxx-5xxx-xxxx-xxxxxxxxxxxx│バージョン5(ハッシュ値)               │
└──────────────────┴───────────────────┘
分類:設計
ガード節
2017年10月03日
「break」や「continue」を使って、処理を回避する方法である。
┌──────────────────────────────────────┐
│for (ループ条件) {                                                          │
│    if (終了条件) {                                                         │
│        break;                                                              │
│    }                                                                       │
│    if (スキップ条件) {                                                     │
│        continue;                                                           │
│    }                                                                       │
│    処理;                                                                   │
│}                                                                           │
└──────────────────────────────────────┘
これらを使わないと(真の構造化プログラミングだと)、
以下のようにネストで対処せねばならなくなり、ネストが深くなる。
┌──────────────────────────────────────┐
│for (ループ条件) {                                                          │
│    if (!終了条件) {                                                        │
│        if (!スキップ条件) {                                                │
│            処理;                                                           │
│        }                                                                   │
│    }                                                                       │
│}                                                                           │
└──────────────────────────────────────┘
前者は縦に、後者は横に広がっていく感じである。

ちなみに、サブ関数においても同じ様に使える。
┌──────────────────────────────────────┐
│function func() {                                                           │
│    for (ループ条件) {                                                      │
│        if (終了条件) {                                                     │
│            return 戻り値;                                                  │
│        }                                                                   │
│        if (スキップ条件) {                                                 │
│            continue;                                                       │
│        }                                                                   │
│        処理;                                                               │
│    }                                                                       │
│    return 戻り値;                                                          │
│}                                                                           │
├──────────────────────────────────────┤
│function func() {                                                           │
│    for (ループ条件) {                                                      │
│        if (!終了条件) {                                                    │
│            if (!スキップ条件) {                                            │
│                処理;                                                       │
│            }                                                               │
│        }                                                                   │
│    }                                                                       │
│    return 戻り値;                                                          │
│}                                                                           │
└──────────────────────────────────────┘
なお、戻り値をデバッガで参照したい場合には、
後者はブレークポイントが一箇所で済むというメリットがある。

とはいえ、前者の方が圧倒的に見やすいと思うのだが。。。
分類:設計
ACID特性
2015年08月29日
トランザクション処理に求められる四つの特性
┌───────┬──────────────────────────────┐
│原子性        │全て実行されるか、もしくは全て実行されないか                │
│   (Atomicity)│(中途半端な実行はありえない)                                │
├───────┼──────────────────────────────┤
│一貫性        │整合性のとれた状態で全て完了する(全実行)か、                │
│ (Consistency)│さもなくば整合性のとれた最初の状態に戻る(全不実行)か        │
├───────┼──────────────────────────────┤
│独立性        │処理中の中途半端な状態は完了まで外部へは非公開となる        │
│   (Isolation)│外見えは処理開始前に見える(もちろん中見えはリアルタイム反映)│
├───────┼──────────────────────────────┤
│永続性        │処理が完了(全実行もしくは全不実行)したら                    │
│  (Durability)│その結果は確定して記録される                                │
└───────┴──────────────────────────────┘
トランザクション処理とは、処理をグループ化して、
すべて成功しないと個別に成功したものも含めて連帯責任で失敗とみなし
処理を行わなかったことにする(処理開始前に戻す)こと
これにより、各種整合性が維持される
分類:設計
設計/国際化の略語
2015年08月21日
文字数が多いので以下のような略語(造語)が流行っている。
┌──┬──────────┬──────┬─────────────────┐
│i18n│InternationalisatioN│国際化      │大文字(I18N)だとわかりづらいので  │
├──┼──────────┼──────┼─────────────────┤
│L10N│LocalisatioN        │地域化      │                                  │
├──┼──────────┼──────┼─────────────────┤
│G11N│GlobalizatioN       │グローバル化│                                  │
├──┼──────────┼──────┼─────────────────┤
│M17N│MultilingualizatioN │多言語化    │                                  │
└──┴──────────┴──────┴─────────────────┘
分類:設計
言語/ロケール名
2015年08月20日
ロケール(locale)名にはいくつか流派があって、
UNIX系の「POSIX」ロケールが源流の模様。
以下の組み合わせで決まる。
  ・POSIXロケール=言語(ISO 639-1)+「_」+国(ISO 3166-1)
但し、国は省略可能。
また、後ろに文字コードが付く場合もある。
  ・POSIXロケール=言語(ISO 639-1)+「_」+国(ISO 3166-1)+「.」+文字コード
    例)「ja_JP.UTF-8」

また、Unicode系には「CLDR」(Common Locale Data Repository)ロケール
というものもあり、こちらはPHP向けに使用されている。

主なものを以下にまとめた(POSIXは主な組み合わせのみ)。
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│英語                │en      │en      │                                  │
│  ・イギリス        │en_GB   │en_GB   │                                  │
│  ・アメリカ        │en_US   │en_US   │                                  │
│  ・カナダ          │en_CA   │en_CA   │                                  │
│  ・オーストラリア  │en_AU   │en_AU   │                                  │
│  ・ニュージーランド│en_□   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│フランス語          │fr      │fr      │                                  │
│  ・フランス        │fr_FR   │        │                                  │
│  ・スイス          │fr_CH   │        │                                  │
│  ・ベルギー        │fr_BE   │        │                                  │
│  ・カナダ          │fr_CA   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ドイツ語            │de      │de      │                                  │
│  ・ドイツ          │de_DE   │        │                                  │
│  ・オーストリア    │de_AT   │        │                                  │
│  ・スイス          │de_CH   │de_CH   │                                  │
│  ・ベルギー        │de_BE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│イタリア語          │it      │it      │                                  │
│  ・イタリア        │it_IT   │        │                                  │
│  ・スイス          │it_CH   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スペイン語          │es      │es      │                                  │
│  ・スペイン        │es_ES   │es_ES   │                                  │
│  ・メキシコ        │es_MX   │        │                                  │
│  ・アルゼンチン    │es_AR   │        │                                  │
│  ・コロンビア      │es_CO   │        │                                  │
│  ・ペルー          │es_PE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ポルトガル語        │pt      │pt      │                                  │
│  ・ポルトガル      │pt_PT   │pt_PT   │                                  │
│  ・ブラジル        │pt_BR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ロシア語            │ru      │ru      │                                  │
│  ・ロシア          │ru_RU   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│中国語              │zh      │zh      │                                  │
│                    │        │zh_Hans │                                  │
│                    │        │zh_Hant │                                  │
│  ・中国            │zh_CN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│朝鮮語(韓国語)      │ko      │ko      │                                  │
│  ・韓国            │ko_KP   │        │                                  │
│  ・北朝鮮          │ko_KR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│日本語              │ja      │ja      │                                  │
│  ・日本            │ja_JP   │        │                                  │
└──────────┴────┴────┴─────────────────┘
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│アイルランド語      │ga      │ga      │                                  │
│  ・アイルランド    │ga_IE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│チェコ語            │cs      │cs      │                                  │
│  ・チェコ          │cs_CZ   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スロバキア語        │sk      │sk      │                                  │
│  ・スロバキア      │sk_SK   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│クロアチア語        │hr      │hr      │                                  │
│  ・クロアチア      │hr_HR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│オランダ語          │nl      │nl      │                                  │
│  ・オランダ        │nl_NL   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│デンマーク語        │da      │da      │                                  │
│  ・デンマーク      │da_DK   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│スウェーデン語      │sv      │sv      │                                  │
│  ・スウェーデン    │sv_SE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ノルウェー語        │no      │no      │                                  │
│  ・ノルウェー      │no_NO   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│フィンランド語      │fi      │fi      │                                  │
│  ・フィンランド    │fi_FI   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ポーランド語        │pl      │pl      │                                  │
│  ・ポーランド      │pl_PL   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ハンガリー語        │hu      │hu      │                                  │
│  ・ハンガリー      │hu_HU   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ルーマニア語        │ro      │ro      │                                  │
│  ・ルーマニア      │ro_RO   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ブルガリア語        │bg      │bg      │                                  │
│  ・ブルガリア      │bg_BG   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ギリシャ語          │el      │el      │                                  │
│  ・ギリシャ        │el_GR   │        │                                  │
└──────────┴────┴────┴─────────────────┘
┌──────────┬────┬────┬─────────────────┐
│                    │ POSIX  │  CLDR  │                                  │
├──────────┼────┼────┼─────────────────┤
│アフリカーンス語    │af      │af      │                                  │
│  ・南アフリカ      │af_ZA   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│アラビア語          │ar      │ar      │                                  │
│                    │        │ar_001  │                                  │
│  ・エジプト        │ar_EG   │arz     │                                  │
│  ・イラク          │ar_IQ   │        │                                  │
│  ・サウジアラビア  │ar_SA   │        │                                  │
│  ・アラブ首長国連邦│ar_AE   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ペルシア語          │fa      │fa      │                                  │
│  ・イラン          │fa_IR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│トルコ語            │tr      │tr      │                                  │
│  ・トルコ          │tr_TR   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ヒンディー語        │hi      │hi      │                                  │
│  ・インド          │hi_IN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ベンガル語          │bn      │bn      │                                  │
│  ・インド          │bn_IN   │        │                                  │
│  ・バングラデシュ  │bn_BD   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│タイ語              │th      │th      │                                  │
│  ・タイ            │th_TH   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│ベトナム語          │vi      │vi      │                                  │
│  ・ベトナム        │vi_VN   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│インドネシア語      │id      │id      │                                  │
│  ・インドネシア    │id_ID   │        │                                  │
├──────────┼────┼────┼─────────────────┤
│マレー語            │ms      │ms      │                                  │
│  ・マレーシア      │ms_MY   │        │                                  │
│  ・シンガポール    │ms_SG   │        │                                  │
└──────────┴────┴────┴─────────────────┘
分類:設計
多言語対応
2015年08月06日
一般的な多言語対応は以下の通り
┌──────┬────────────────────┬──────────┐
│VC/C++      │リソースで言語切替(VisualSutio)         │Microsoft系         │
│VC#         │                                        │                    │
│VB          │                                        │                    │
├──────┼────────────────────┼──────────┤
│C           │gettext()                               │                    │
│C++         │                                        │                    │
│Objective-C │                                        │                    │
│Java        │                                        │                    │
│Perl        │                                        │                    │
│PHP         │                                        │PHPは標準実装       │
│Python      │                                        │                    │
│Ruby        │                                        │                    │
├──────┼────────────────────┼──────────┤
│共通        │連想配列で対応                          │ベタな対応          │
└──────┴────────────────────┴──────────┘
分類:設計
前へ 1 2 3 4 5 6 7 8 次へ