« ラックマウント | メイン | MACゲット計画 »
2004年2月18日
某大手ショッピングサイトでのシステム設計ミス >>インターネット
ショッピングカートシステムにて、重大なシステム設計ミスがあるサイトがありました。
これは、同じメールアドレスから、2つのお客様名で注文を行った場合、注文1と注文2のお客様名等データが狂う、というものです。
「注文1」
氏名:ああああ
住所:東京都なんとか
メール:aaa@aaa.net
「注文2」
氏名:いいいい
住所:神奈川県なんとか
メール:aaa@aaa.net
だったとします。
1.注文1を行ったのち、注文2を行った。
※この際のカートシステムから送られるメール内表記に誤りは無い。
2.その後、お客様から注文1の入金を行って頂いた。
3.ストアより送付された「入金確認メール」内に記載されているお客様名は、注文2の名前となってしまう。(問題点1)
4.ストアより送付された「商品送付案内メール」内に記載されているお客様名は、注文2の名前となっている。(問題点2)
5.領収書の発行を依頼したが注文2の宛名の宛名となったものが、注文2の宛先に送られてしまった。(問題点3)
6.商品は誤った住所、名称では送られていない
このようになる、システムの設計は以下のような設計がされていると想定されます。
顧客情報テーブル
Mailaddress: primary key
UserName
Address
注文情報テーブル / Main
MailAddress
OrderNo
Address
注文情報サブ
OrderNo
OrderAmountNo
ItemPartsNo
ItemAmaount
※これはあくまで想定であって、実態がどうかはわかりません。テーブル設計をきちんと作ってるわけじゃないので、その作りはヘンだ等の突っ込みはなさらぬよう。
1.注文1が行われた時点で
顧客情報テーブルに
Mailaddress = aaa@aaa.net
UserName = ああああ
Adderss = 東京都なんとか
注文情報テーブルに該当の住所を発送先として登録
注文情報サブに該当商品を登録
2.注文2が行われた時点で
顧客情報テーブルに
Mailaddress = aaa@aaa.net
UserName = いいいい
Adderss = 神奈川県なんとか
注文情報テーブルに該当の住所を発送先として登録
注文情報サブに該当商品を登録
という流れです。
顧客名が必ず書き換わるため、最後の顧客名、住所となる。
商品については、商品発送先として都度登録するので問題は無い。
顧客情報が必ず書き換わるため、問題が起こってしまう。
特殊なケース、と思うかもしれないけれども、システムの設計として重大なミスです。
連絡し、先方のシステムは本日づけで対応されたとの報告が入りました。
先方がどこなのかは伏せておきます。
トラックバック
現在、この記事はトラックバックを受け付けておりません。
コメント
現在、この記事はコメントを受け付けておりません。