« ラックマウント | メイン | 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 = 神奈川県なんとか

 注文情報テーブルに該当の住所を発送先として登録
 注文情報サブに該当商品を登録

という流れです。

顧客名が必ず書き換わるため、最後の顧客名、住所となる。
商品については、商品発送先として都度登録するので問題は無い。

顧客情報が必ず書き換わるため、問題が起こってしまう。

特殊なケース、と思うかもしれないけれども、システムの設計として重大なミスです。

連絡し、先方のシステムは本日づけで対応されたとの報告が入りました。
先方がどこなのかは伏せておきます。

twitterこの記事をTwitterでみんなに教える。

投稿者 debizoh : 2004年2月18日 00:00



トラックバック

現在、この記事はトラックバックを受け付けておりません。


コメント

現在、この記事はコメントを受け付けておりません。