• ベストアンサー
  • すぐに回答を!

通販システム

プログラム初心者です。 通販システムの商品問い合わせメソッドである、 QueryShop(in pShop : shop)の記述内容がわかりません。 とても困っています。 足りない点があれば補足いたしますので、よろしくお願いいたします。 ●シナリオ 1.「田中さん」は「大阪店」に商品情報を問い合わせる 2.「大阪店」は商品情報を表示する 3.「大阪店」にある商品は商品情報を表示する ●オブジェクト 大阪店(osaka:Shop) 商品(goodsValue:Goods) 顧客(tanaka:Customer) 買い物かご(shoppingBagValue:ShoppingBag) ●シーケンス図の流れ(商品問い合わせ部分のみ) Client(QueryShop(in pShop))→Customer(PrintShop)→ ShoppingBag(PrintGoods)→Goods ●設計クラス図の内容 集約 osaka:Shop, goodsValue:Goods 集約 tanaka:Customer, ShoppingBagValue:ShoppingBag 関連 shoppingBagValue:ShoppingBag, goodsValue:Goods 依存 tanaka:Customer, osaka:Shop (VB.net)

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数253
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.5
  • picknic
  • ベストアンサー率25% (33/132)

#4です。 ははぁ、そうですか。 ---逆質問 1--- ●シナリオ 2.「大阪店」は商品情報を表示する 2.って商品情報じゃなくて店舗情報の間違いじゃないの? 2.「大阪店」は商品情報を表示する 3.「大阪店」にある商品は商品情報を表示する の違いがわかんないんだよね。 >例えば、Client「田中さんオブジェクトをつくってください」Customer「つくりました」 >Client「買い物かごオブジェクトを作ってください」Customer「委譲します」ShoppingBag「つくりました」という流れになっています。問い合わせなども同様です。 これを続けていけばできると思うんだけどなぁ。 誰が、何に、どのようなことをお願いして、結果として何をもらうのか っていう書き方で ずーっと続けていったらそれがその処理ですよ。 もしわからなければ QueryShopっていうメソッドの役割を日本語で書いてみてください。 "その際にクラス名を積極的に使って日本語文章を作る"---(*)と 処理方式が見えてくると思います。 で、ループとか条件判定とか出てきたら初めてその実装言語の言葉で書けばいいだけです。 (この場合だったらVB.netなんですよね?) #Goodsという名前がよくないね、Goodsは複数形だからクラス名としてはふさわしくない #どの問題集なのか教えてほしい・・・ダメ本すぎる。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できました! Clientde(呼び出す側)は、tanaka.QueryShop(osakashop)でした。 Customer(呼び出される側)では、paramShop.PrintShop()でした。 質問に対して、丁寧にやりとりを行ってくださり有難うございました。

質問者からの補足

ご回答ありがとうございます! ・商品情報でなく店舗情報ではないか はい。正しくは店舗情報です。誤解を招く表現をしてしまい、申し訳ありません。 テキストには商品情報とありますが、Shopは(店舗情報・商品情報の表示)を持っているので、Goodsにある(商品情報)を呼び出して店舗・商品情報をClientに渡します。 >誰が、何に、どのようなことをお願いして、結果として何をもらうのか tanaka.shop.Printshop()のような感じですか…?依存の関係は、呼び出し方と引数の使い方が全く分かりません。 実は他の問題と合わせて2週間は頭を抱えています。適切なテキストも見当たらず、他の課題もでてきているわなので、そろそろこの問題を解決したいところなのです。 ・どの問題集なのか 某研修会社で使われている演習問題集です。解答も用意がないようで、いただけませんでした。 あまりよいテキストではないのですかね・・・。

関連するQ&A

  • 通販システム(VB.net)

    プログラム初心者です。 通販システムの商品問い合わせメソッドである、 QueryShop(in pShop : shop)の記述内容がわかりません。 とても困っています。 足りない点があれば補足いたしますので、よろしくお願いいたします。 ●シナリオ 1.「田中さん」は「大阪店」に商品情報を問い合わせる 2.「大阪店」は商品情報を表示する 3.「大阪店」にある商品は商品情報を表示する ●オブジェクト 大阪店(osaka:Shop) 商品(goodsValue:Goods) 顧客(tanaka:Customer) 買い物かご(shoppingBagValue:ShoppingBag) ●シーケンス図の流れ(商品問い合わせ部分のみ) Client(QueryShop(in pShop))→Customer(PrintShop)→ ShoppingBag(PrintGoods)→Goods ●設計クラス図の内容 集約 osaka:Shop, goodsValue:Goods 集約 tanaka:Customer, ShoppingBagValue:ShoppingBag 関連 shoppingBagValue:ShoppingBag, goodsValue:Goods 依存 tanaka:Customer, osaka:Shop

  • PHPの配列要素に別の配列を入れるには?

    とある商品情報を管理するPHPプログラムを書いています。 最終的に、$Paramsの'goodIdArray'という要素に商品情報を2つ入れたいと思っています。 以下の通りに書いてみたんですが、うまくいきません。 $goods_id = array( 'goods_id' => '商品1', 'goods_id2' => '商品2'); $info['goods_id'] = $goods_id;  #$info配列の「goods_id」という要素にgoods_id配列を入れる $goodsIdArray[] = $info['goods_id']['goods_id']; #goodsIdArrayに商品1を入れる $goodsIdArray[] = $info['goods_id']['goods_id2']; #goodsIdArrayに商品2を入れる $Params = array('goodIdArray' => $goodsIdArray) #inParams配列の「goodIdArray」という要素に$goodsIdArray(商品1と商品2)を入れる 無駄に変数を使いまくっているように見えますが、もともとのプログラムが複数のPHPファイルにまたがって動作しているため、変数がこれだけの数になっています。 そもそも、ある配列の要素に別の配列(複数要素をもつもの)は入れられないんでしょうか。 素人の質問でトンチンカンなことを言っているかもしれませんが、ご回答お願いします。

    • 締切済み
    • PHP
  • シーケンス型で取得した値を別テーブルで利用する方法

    シーケンス型で取得した値を別テーブルで利用する方法を別テーブルの設定したい場合,どうすればいいでしょうか. 例えば,商品情報が入っている商品テーブルのidを価格テーブルに結びつけたい場合 ・トランザクション開始 ・商品テーブルにinsert ・コミット ・トランザクション開始 ・シーケンスより最大値を取得 ・価格テーブルにシーケンスより得られた値を含めてinsert ・コミット このままですと価格テーブルの時に何らかの問題でロールバックした場合,商品テーブルには価格テーブルと関係性がないレコードができてしまいます.

その他の回答 (4)

  • 回答No.4
  • picknic
  • ベストアンサー率25% (33/132)

#3です みればみるほど訳わからんので想像でいいますけど、 おそらくですがClientはCustomerクラスのインスタンスなんですよね。 で、Clientは店を店クラスのインスタンスを引数にとってQueryShop(in pShop)メソッドを実行するわけです。 で、おそらくですがClientが持っているShoppingBagの中にあるGoodsを一個一個Shopに渡して確認するんだろうな。 でもさShopとGoodsの関連もないしメソッドもないじゃない。 だからこれって実現できなくない? シーケンス図でいうところの、 ShoppingBag(PrintGoods) がなんか適当に書いちゃってるんじゃない?

共感・感謝の気持ちを伝えよう!

質問者からの補足

私の説明が悪く伝わりづらい点が多いと思います。 お付き合いくださり有難うございます。 補足いたします、よろしければ追加コメントをいただければ幸いです。 ・ClientとCustomerは別クラスです。 アクセスする側(client)で呼び出される側(customer,shopingbag,shop,goods)にわかれています。 メインは4つ(customer,shopingbag,shop,goods)のオブジェクト(クラス)です。 なんといったらいいかわかりませんが、ここからすべての命令がでています。 例えば、Client「田中さんオブジェクトをつくってください」Customer「つくりました」 Client「買い物かごオブジェクトを作ってください」Customer「委譲します」ShoppingBag「つくりました」という流れになっています。問い合わせなども同様です。 ・申し訳ありません。 Shopクラスに-goods Value :Goodsを記入し忘れていたようです。 訂正箇所については下記に書きましたのでご覧いただければ幸いです。 ちなみに、クラス同士の関係性ですが、 ShopとGoodsは、集約関係にあります。 CustomerとShopingBagは、集約関係にあります。 CustomerとShopは依存の関係にあります。 ShoppingBagとGoodsは、関連の関係にあります。 (1)訂正箇所:フィールドのCustomerNameをCustomerNameValueに訂正 ●Customer ---------------------------------- -CustomerNameValue(in paramCustomerName:String) -shoppingBagValue:ShoppingBag ----------------------------------- +New(in paramCustomerName:String) +CreateBag(in paramMoney:Integer) +PrintCustomer() +QueryShop(in paramShop:Shop) (2)訂正箇所:フィールドにgoods Value :Goodsを追加 ●Shop ---------------------------------- -shopNameValue : String -telNoValue : String -goods Value :Goods ---------------------------------- +New(paramGoodsName:String,paramPrice : Integer) +CreateGoods(in paramName:String, inparamTelNo:String) +PrintShop() +SaleGoods(in paramGoodsName:String,in paramShoppingBag:ShoppingBag)

  • 回答No.3
  • picknic
  • ベストアンサー率25% (33/132)

なるほど、問題集としてある程度制約があるんですね。 じゃあクラス図の 何クラスが何のメソッドもっているのか教えてください。 Client(QueryShop(in pShop)) がわからんのです。 ClientがQueryShop(in pShop)っていうメソッドをもっているんですか? だとしたらClientはQueryShopメソッドの中でShopクラスの何かのメソッドを呼び出すと思われるのですが、 「じゃあShopクラスは何メソッド持っている?」という情報がないので ここで手詰まり。

共感・感謝の気持ちを伝えよう!

質問者からの補足

説明がややこしくてもし訳ありません。 CustomerがQueryShop(in pShop)を持っています。 Clientは操作する側だと説明を受けました。 以下が4つのクラスが持つフィールドおよびメソッドです。 よろしくお願いいたします。 ●Custmer ---------------------------------- -CustmerName(in paramCustomerName:String) -shoppingBagValue:ShoppingBag ----------------------------------- +New(in paramCustomerName:String) +CreateBag(in paramMoney:Integer) +PrintCustomer() +QueryShop(in paramShop:Shop) ●ShoppingBag ---------------------------------- -moneyValue:Integer -goodsValue:Goods ---------------------------------- +New(in paramMoney:Integer) +PrintShoppingBag() ●Shop ---------------------------------- -shopNameValue : String -telNoValue : String ---------------------------------- +New(paramGoodsName:String,paramPrice : Integer) +CreateGoods(in paramName:String, inparamTelNo:String) +PrintShop() ●Goods ---------------------------------- -goodsNameValue :String -priceValue :Integer ---------------------------------- +New(in paramGoodsName : String, paramPrice : Integer) +PrintGoods()

  • 回答No.2
  • picknic
  • ベストアンサー率25% (33/132)

#1です いやいや、まだ言語関係ないって。。。 フローチャート書いているレベルです。 実現したいことを考えるときは言語は一旦離れてください。 あなたの文章は(はっきりいってよくわかんないんですけど(笑)) 言語が限定されうるものないですよね。 で、他の質問のほうもみました。 どこまでが問題集の情報で、どこまでがあなたの意見ですか? もしQueryShop(in pShop)なんてメソッド名を作っちゃう問題集だったら 別の本よんだほうがいい気がします。 メソッド名で「店に問い合わせ」なんて作りません。 (あえてそういうことする場合もあるのですが、理由なくやりません) "店に"商品を問い合わせるんです。 だからpShopが何かよくわかりませんが、 引数に店を取るメソッドなんて普通つくりません。 で、質問はなんですか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

記入漏れがありましたので、追記いたします。 Byval paramShop As ShopのparamShopの意味ですが、 申し訳ありませんが、設計クラス図に書かれていたとしか言いようがありません。

質問者からの補足

今見返したら、確かに要点を得ない質問でした。 申し訳ありません。 意見はありません。全てテキスト記載のものです。 シナリオはおっしゃるとおりです。 Customerから、ご回答いただいた内容を呼び出すための、メソッドの中身がわかりません。 Byval paramShop As Shopの扱い方が分かりません。 一応考えたのは Public Sub QueryShop(Byval paramShop As Shop) shopValue = New Shop() shopValue = paramshop osaka.PrintShop() ですが、多分違います。 shopValueはフィールドの宣言はしていないので使えないんです。

  • 回答No.1
  • picknic
  • ベストアンサー率25% (33/132)

[顧客]が[店舗]に[店舗が取り扱っている商品]の[商品情報]を問い合わせるというシナリオですかね? 店舗クラス{ - List 店舗が取り扱っている商品 +取扱い商品情報の表示(){ for each 商品 in 店舗が取り扱っている商品       print 商品.商品情報の表示 next } } みたいな感じですか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。 書き忘れまてしまい申し訳ありませんが、VB.netを使っています。マイナー言語のため、回答が寄せられない心配がありこちらに投稿しました。 Javaは全く分からないので、よろしければ理屈を説明していただけると助かります。

関連するQ&A

  • なんというフォントでしょうか。

    アニメなどで使われているようなフォントって なんていう名前のフォントなのでしょうか 例えば以下のような(ロゴではなく商品情報の方)フォント名が知りたいです。 http://precure.channel.or.jp/goods/lesson_pad/

  • コールマンクイックヒーターについて。

    コールマンのクイックヒーターをお使いの方、情報を下さい。 点火しにくいことがありませんか。火花が出ても点火しなかったり火花が出ないことがあります。100均の着火具を使えば済むことですが ほぼ新品を買ったのに少々不便です。 この商品です。 http://www.coleman.co.jp/shop/goods/goods.aspx?goods=170-8054

  • 落札後のトラブル

    出品したPCが落札され発送後、落札者からメモリを128MBから倍に増設済みと貴方は、商品情報に書いてありましたが、動作確認をしたところ動作確認が出来ません。貴方は動作確認をしたのかという問い合わせがありました。私は、動作確認をしてありませんでした。中古PCであることは商品情報にも明記しましたが、しかし、ジャンク扱いとは書きませんでした。商品情報の内容と違うという理由で落札金を返金する義務が生じるのでしょうか?メモリ増設済みと書きましたが、動作確認済みとは書いてなかったから、返金に応ずる事は出来ませんと返事が出来るのでしょうか?

  • MOTOROKR S9-HDの本物と偽物の見分け方を教えてください

    MOTOROKR S9-HDの本物と偽物の見分け方を教えてください http://www.gmarket.co.jp/gmkt.inc/goods/goods.aspx?goodscode=401100502 このページでS9-HDを購入しました。 その後、この商品の偽物が出回っているとの情報を知り、調べてみたところ ・情報入りホログラムシールが貼ってある ・本体充電口横に商品情報のシールが貼ってある 等の問題はクリアしているのですが 少し気になる点 ・全体的な作りが甘いような気がする(接着剤の後のようなものがあったり) ・充電器が中国製のものであった(中国語の表記がある) ・音質が良いというレビューが多いのに対し、そう感じない といったところがあり、非常に不安です。 他に見分ける点などありませんでしょうか、お願いします。

  • 自社のホームページを作ったのですが

    ウェブ上で見てもらった人の人数が知りたいのですが どうやって調べればいいでしょうか? 問い合わせがよく来るようなページにするにはなにか秘策があるんですか?商品情報や商品を選ぶコツなどを 交えたようなペ-ジ作りはしていますが、ただ売り込みだけのページは作ってはいません。    しかし、なかなか反響のあるようなものが伝わってこないんですよね。 皆さんはどういった形でページから お客様を取り込んでいるのか参考意見をお聞きしたいです。

  • 【DIY】扉付きカラーボックスに鍵を付けたい

    ニトリの扉付きカラーボックスに鍵を付けたい 商品URL http://www.nitori-net.jp/shop/goods/goods.aspx?goods=8840581&utm_source=tokusyu_p131-58&utm_medium=tokusyu カラーボックス個別に鍵をつけている商品はあるのですが、 カラーボックス全体に鍵をつけている商品がないため、 上記の製品に鍵を取り付けれないか考えています。 鍵は南京錠でもなんでも構いません。 良い案、情報があるサイトなどあれば教えてくれるとありがたいです。 DIYするための機材は一般家庭の工具しかありません。 ちなみに、ボックス毎に仕切りを取り付けて靴箱にする予定です。 屋外なので一応鍵をかけたいと思っています。

  • 問い合わせの電話とメール

    私はセブンイレブンで毎年やっている「ポケモンフェア」の問い合わせをセブンイレブンHPからメールでしました。でも、返事がなかなか返ってこなかったので、直接電話してみました。 結果は「今年も実施する」で、少しだけ商品情報も教えて貰いました。 その次の日、メールが返ってきました。「今年も実施する。詳細は未定」という内容でした。 「電話では商品情報を言っていたのに未定?」と思い、毎年出ていてシリーズ化しているような商品のことをメールで聞きました。次の日メールを見る前に(その時点で返ってきていたかはわかりません)「決まっているのか決まっていないのかどっちなんだ?」と思い、どんなものを出すのか電話してみました。やはり未定だそうでした。 実施の10日ほど前にわかると言っていました。 その電話から5分ほど経った時、電話がセブンイレブンからかかってきました。これまでに出た電話の人のどの人の声とも違う男性で、「メールや電話を何回か頂いておりますが、現在何回お問い合わせを頂いてもこれ以上申し上げることはできません」と言われてしまいました。 私はメールには名前を書きましたが、電話では一度も名乗っていません。また、電話の担当者は全員違う人でした。 どこで会社の人は同一人物だと確信したのでしょうか? どこの会社でもこういうのはチェックしているのでしょうか?

  • ZOZOTOWN掲載のSHOPについて

    友人の誕生プレゼンとで贈るかわいいキャンドルがあればと思い、 ZOZOTOWNで探していました。 いくつか候補を見つけることができ TOhRCHとLuiiReというブランド(?)のようなんですが、 実際に自分の手にとって決めたいと思っているので、 商品を扱っている店舗が知りたいです。 以下の商品でなくてもいいです。 http://zozo.jp/shop/tohrch/goods.html?gid=134454&did=&cid=1761 http://zozo.jp/shop/luiire/goods.html?gid=211636&did=&cid=1140 ZOZOTOWN以外で店頭購入することは可能なんでしょうか? 場所は東京23区内・横浜・大阪・京都・神戸近郊です。

  • PHP Mysql Myadmin エラー??

    phpを勉強中のものですがDBエラーに関しての質問をさせていただきます。 「商品情報入力」→「商品情報入力チェック」→「商品情報登録」 「登録商品一覧」→「商品詳細情報」 この商品詳細情報でその商品に対するコメントを入れるのですが 「商品詳細情報のコメント欄にコメント入力」→「コメントチェック」→「コメントをDBに登録」 商品情報は登録できるのですが、コメントをDBに登録する際エラーが出ます。 DBのパスワードなどに間違いはないはずです。 試しに2つ無料レンタルサーバを貸り試してみましたが2つともやはりコメントを登録するところでエラーが出ます。 解決方法その他アドバイスありましたら教えていただきたいです。 エラーは下記になります Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at admin@main-hosting.eu to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log.

    • ベストアンサー
    • MySQL
  • ACCESSのクエリの考え方

    お世話になります。 現在、アクセスを参考書片手に取り組んでいます。参考書の通りに進んでいたのですが、 クエリのことで悩んでいます。 自分なりの理解なのですが…、テーブルにあるデーターを会議などの資料のために いろんな条件で抽出したりしないかぎりは、別にクエリを作成しなくてもいい、 (要するに、「こういう条件のデーターが欲しい!」って時以外は、基本的には テーブルへのデーター入力だけでOKで、クエリは別に必要ない) という認識で正しいでしょうか? 参考書がやたらとクエリを作成させたがるために、よく分からなくなっています。 下記が、アクセスの目的ですが、自分的にはフォームは扱いやすくする必要が あると思うのですが、いまいちクエリの必要性がわからないのです。 ―――目的――― ・顧客情報・商品情報・顧客ごとの見積・問い合わせを、 社員(10名程度)で  共有したいため。(現在は各々が紙にて管理) ・データーはNASかサーバーにアクセスのデーターを入れて、各々のPCから  閲覧・書き込みができるようにする予定。 ・共有したい情報(「顧客情報」「商品情報」「見積情報」「問い合わせ情報」「クレーム情報」)は  テーブルにて作成。 ・入力・閲覧がしやすいように、フォームについては作成予定。 ・見積書などはアクセスでは作成しない。