okinawa

IT勉強メモ

設計メモ

IPAの設計ガイドブックを読んだので、設計時の注意事項を書いてみた。

参考

IPA。障害未然防止のための設計知識の整理手法ガイドブック https://www.ipa.go.jp/archive/files/000058073.pdf

書き方サンプル

### 機能・処理(デバイス・機器・プロセス)
機能名 or 処理名は必須。デバイス・機器・プロセスは任意。

### アニメーション表示(Android)
遅延を入れないと結果だけが即表示される。

文字列処理

文字列の長さ。NULL。空白。

半角カタカナ・全角カタカナ混在(DB)

全角カタカナでLIKE検索すると半角カタカナの濁点・半濁点がヒットしない問題 - okinawa

数値処理

数値以外の混入。負の値。小数点。0除算。

小数点処理

切り上げ、切り捨て、四捨五入。

SQLJavaの切り上げ差異。(FLOOR関数とBigDecimal)

金額処理

税額計算。「単品×税×個数」と「全商品合計金額×税」とは異なる。
1個ずつ税額計算するか、全部まとめて税額計算するかの違い。

・例
97円2個=194円
→ 194
1.08=209.52(切捨て209円)

97円1.08=104.76(切捨て104円)
→104円
2個=208円

日付

日付の桁数。

日付Formatが違わないか。

スラッシュ入りか無しか。

月末は29~31のどれか。

閏年

ファイル・ディレクト

本当にファイル・ディレクトリか?

ファイル・ディレクトリ未存在。

名前が変わる可能性は?

誰かが開いてないか?

中身が空。0KB。

アクセス制限。readonlyとか。

既に存在するファイル名で作って、上書き保存は不可。
→abc.csvが既にあり、Javaで新たにabc.csv作って保存は無理。
→abc.csvに追記して保存なら可能。

file.close()しないと削除できない。

CSV

列数合わないエラー。

PDF

PDFBoxというApacheのライブラリあるよ。

マスタテーブル

マスタテーブルの値が変更になったときの影響は?(例:請求先コード)

マスタテーブルの値をトランザクションテーブルに登録→その後マスタだけ変更すると?