• ベストアンサー

プログラム構造化設計の問題について

プログラム構造化設計の問題がどうしてもわからなくて困っています…ずっと考えているのですが…。 願書データ入力→応募ファイル更新→応募登録確認処理 という一連の流れを、モジュール分割してプログラム構造図・IPO図を作成するという問題なのですが、 応募登録という全体の作業の、どこをどう分割すればいいのかわかりません。入力と参照以外に何があるのでしょうか… 無知ですみません、よろしければヒント等お願いいたします。

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

  • ベストアンサー
  • aid-u
  • ベストアンサー率75% (22/29)
回答No.3

問題の詳細は分からないので一般論として、以下のような着眼点があります。 1.源泉/変換/吸収分割  プログラムの構造としてデータの入力、その変換、データの出力という構造が  良く現れます。  このような場合、入力部分、変換部分、出力部分に分割します。 2.トランザクション分割  入力データの内容に基づいて実行する機能を選択する場合、選択される機能毎に  分割します。 3.データ構造分割  入力または出力のデータ構造に基づいて分割します。  例えば、次のような出力データ構造があったとすると、この構造をそのままモジュール  構造に反映し、分割します。  大項目A   中項目A1    小項目A1a    小項目A1b   中項目A2    小項目A2a  大項目B   中項目B1 大まかにしか記述していないので、あまり良く分からないと思いますが、 ネットで情報を探すときの参考にしてください。

その他の回答 (2)

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.2

願書は郵送、E-mail+Web/CGI で分けて、トランザクションログ、マスターDB更新、ミラー作成、プリンターによる台帳更新、確認 E-Mail 送信/葉書の印刷 書き出すと切りがありませんが、常にエラー処理を考えてください。

回答No.1

問題も質問の趣旨もよく把握できていないのですが。 これが正解と言うのが難しい問題ですね。 1関数1機能で処理を細分化すると言うことなら 普通に完成イメージを推測すると、 修正 削除 保存 などの機能も無いとシステム上おかしいと思います。 中途半端な回答ですみません。

qxqx96
質問者

お礼

説明が下手ですみません…えーと、 願書データ入力→応募ファイル更新→応募登録確認処理 のそれぞれをさらに分割して図にしろ、というようなことを言われたのですが、願書データ入力などをこれ以上どう分割するのかがよくわからなくて…細かいデータ入力のことを書くということでもないらしいですし… 応募登録確認処理なども、どう記述すればいいのかよくわかりません… とりあえず、修正削除保存などの機能をつけてみます。 ご解答ありがとうございました!

関連するQ&A

  • オブジェクト指向とモジュール設計

    プログラミング設計の基礎について勉強しているのですが、どうしても、オブジェクト指向とモジュール設計の違いがわかりません。 どちらも、システム(プログラム全体)を機能ごとに分割して各パーツごとにプログラム設計~テストまでを行ない、完成させたパーツを組み合わせてシステムを完成させると言う解釈をしているのですが、オブジェクト指向とモジュール設計のちがいがみつけられません。 この解釈自体が間違っているのでしょうか?

  • 良いプログラムを書くためには

    今回、プログラミングの上達方法に関してアドバイス頂きたく質問しました。 現在、ソフトウェア開発の仕事に就いていてCやJavaなどでプログラムを書いたりしています。主にCで書くことが多いです。与えられた課題に対して動くプログラムは作れるのですが、先輩などからプログラムが汚いとよく指摘されます。 指摘される事柄は色々ありますが、何点か挙げるとまずモジュール分割が上手く出来ていない。1000行位の動くプログラムを書き始められた頃は、共通の処理などの関数が分割されておらず、同じ処理がやたら多いなど、余計な処理が多くコードに無駄が多いと指摘されました。それを改善したところ、今度は無駄に関数の分割が多くなり、読みにくいなどの指摘を受けました。 その他にも、例えば関数の中で、for(条件式)の条件式を上手く工夫すれば、for()の中で、余計な条件分岐などが減るなどの、細かい記述に関しても指摘を受けます。 質問はプログラムを作成する上で、大きな観点からだと、どのようにすれば綺麗にモジュール化などが出来るのか、モジュール化だけではなく、ソフトウェアの設計全般に関してです。また細かいことで、いえば先ほどのfor()の様に、文法を上手く使いこなすためにはどうすればよいか。本などのサンプルコードでは、forならfor、ifならifの説明など、主に単独の説明が多いように思えます。関数の中で、各文法同士を上手く使いこなし、他人が見ても読みやすいコードなどを書きたいです。 先輩からは、他人のソースコードを見ることなどと言われますが、何か他人のソースコードを見る上でも、上で挙げた指摘を改善するための見方とか、他にも自分でプログラムを作る場合に、こういう事に注意しながら作るといいなど何か改善するアドバイスがあれば宜しくお願いします。また参考になる書籍やサイトなどもあったら教えて頂くと助かります。 長くなりましたが宜しくお願いします。

  • 構造体の問題なのですが・・

    構造体型point の次の2次元配列を使って、入力した点がどの象限に含まれるかを数えるプログラムを作成せよ。 struct point table[5][100]; ただし、入力データの最大個数は100とする。 座標軸上の点はどの象限にも属さないとして、table[0]に格納するものとする。 また、下のような実行例を想定する。 http://www9.uploader.jp/user/kadaishu/images/kadaishu_uljp00005.jpg 今学校で構造体を習っていて、このような問題をやっているのですが どうすればいいのかよくわかりません。 どなたかご教授よろしくお願いします。

  • [ソフトウェア設計]処理の流れは、アクティビティ図?フローチャート?どちらで書くべきか。

    VCですでに組まれているソフトの設計を設計書として文書にする作業をしています。 (現状あるソフト設計を別のソフトの設計に継承するため、このような作業が発生しました。すでに組まれているソフトには設計書がありませんので、参照はできません。) この場合、ソースコードに記載されている処理の流れは、UMLのアクティビティ図で書けるのでしょうか? 参考書でアクティブ図を勉強しましたが、プログラムの処理の流れ(基本情報技術者試験の擬似言語で記載されているような処理)をそのまま書いたような図は見つかりませんでした。一般的には、プログラムの処理の流れは、アクティブティ図では、書かないのでしょうか? そのような処理は、フローチャートで書くべきなのでしょうか? シーケンス図も一緒に書いていますので、できたらUMLで統一し、アクティブティ図で書きたいのです。 設計書は、今まで記載していなかったので、ノウハウがありません。 知識がおありの方がおられましたら、ご教授お願いいたします。

  • 構造体の問題で・・・

    どなたか以下のC言語-構造体の問題を教えていただけないでしょうか? 問題 構造体 data_t に年齢[int型]の一つのメンバをもつ構造体 info_t を追加し、以下の関数を使用して、平均年齢を出力するプログラムを作成。 [条件] ・年齢は、input関数を使用し、標準入力で設定するものとする。 ・年齢は1~99までの範囲とし、範囲外の年齢が入力された場合はエラー出力しプログラムを終了する。 ・平均年齢の小数点以下は切り捨てる。 [出力例] 社員番号を入力して下さい-> ★15を入力 氏名を入力して下さい->    ★suzukiを入力 年齢を入力して下さい->    ★28を入力 社員番号を入力して下さい-> ★20を入力 氏名を入力して下さい->    ★satouを入力 年齢を入力して下さい->    ★52を入力 社員番号を入力して下さい-> ★25を入力 氏名を入力して下さい->    ★tanakaを入力 年齢を入力して下さい->    ★17を入力 社員番号   氏名    年齢 15      suzuki    28 20       satou    52 25       tanaka     17 [関数] int avetage(struct data _t*);   意味 : 3人分の平均年齢を計算する関数   引数 : data_t配列ポインタ   戻り値: 平均年齢を返却 void output(struct data_t*,int);   意味 : data_t配列に設定された年齢を含むデータ及び、平均年齢を出力する関数。   引数 : data_t配列ポインタ、平均年齢。 ----------------------------- 問題は以上なのですが、どなたか教えていただけないでしょうか? できれば解説が少しでもあれば助かるのですが(><) よろしくお願いします。

  • SQL設計について

    すみません、質問です。 SQLのテーブル設計を行う際の質問です。 独学で行っている為、設計の際スタンダードな方法をご教授願いたく登校しました。 本題ですが ウェブアプリケーションでSQLに打ち込まれたデータを参照するシステムの場合です。 ある団体でのボクサーの成績情報を登録するとして 参照する際に以下の情報が必要になるとします。 個人の勝ち数,負け数,引き分け数,年齢,経歴や 対戦者別の成績などです この時別テーブルにて対戦情報を入力していた場合、 勝ち数や負け数はプログラム部分の計算式で算出可能ですが、それでもテーブルには入力した方がいいものでしょうか? 端的には、アップデートやインサート文が増えるのを選ぶか、SELECT文の簡易さを選ぶというかという点になるかと思っているのですが、 サーバーへの不可などを鑑みて、スタンダートな理解があればご教授下さいませ。

    • ベストアンサー
    • MySQL
  • LCDモジュールへの映像信号入力回路がわかりませ…

    LCDモジュールへの映像信号入力回路がわかりません。 LCDモジュールへデジタル方式で 映像信号を入力する回路を設計したいのですが、 参考になる回路図・ブロック図を検索しても見つからず、 苦労しております。 回路図・ブロック図の一例がありましたら、 教えていただけないでしょうか?また、どこから設計を始めたらよいか、 設計の勘所も教えていただけると助かります。 私は、NTSC方式では設計に関わったことがあるのですが、 デジタル方式は初めてでよくわかりません。 「LCDモジュール」で検索すると、製品情報ばかり。 「デジタルRGB」で検索すると、どのような技術かの解説ばかりです。

  • 構造スリットについて

    建築に詳しい方ぜひ教えてください。 自分が住んでいるマンションは13階建てのラーメン構造で作られているマンションです。 実は昨年の震災で構造スリットの施工不良が問題になっていますが、(設計図にある)あるべきもの(垂直スリット35mm)が施工されてないところが数箇所も見つかりました。この場合このスリットがなかった事による躯体部分の構造計算にも影響を与えるようなものでしょうか?もし与えなければどれほどの問題になるのでしょうか?また、水平スリットの場合、同じくスリット幅35mmに設計されでいますが、現状は上にある壁に潰されて10mmあるかないかくらいです。酷いとこは殆どくっ付いています。スリットの接触面の上も下も平らではなく、でこぼこしています。もともとこのようなものでしょうか?素人でよく分かりませんが、どなたか教えていただけませんでしょうか?

  • プログラムの削除について

    windowsxpを使っています。デスクトップでファイルを右クリックすると“プログラムから開く”という項目が出てきます。そこから、“プログラムの選択”を選ぶと、“ファイルを開くプログラムの選択”という画面が出てきます。そこで様々なプログラムの候補(Internet Explorer,Paint等)が出てきますが、“参照”ボタンを押せば新たに登録することもできます。そこで、間違ったプログラムを登録してしまいました。別に問題はないのですが、どのようにすれば削除できるのかわかりません。その方法を教えて下さい。

  • システムプログラム

    最近情報科学に興味があって、システムプログラムについて1から勉強している者です。いくつかの質問のある参考書で勉強していますが、答えが書かれていないので分かりません。 用語については調べたりはしてみましたが、実世界と結びついた問題にはいまいち対応できません。まだ知識不足なので深い所までは理解できないかもしれませんが、徐々に分かっていけたらと思っておりますので、もし誰か分かる方がいらっしゃったら簡潔で結構ですので教えてください。ヒントやキーワード、考える観点だけでも構いません。 宜しくお願い致します。 1、近年プロセッサやメモリの著しい速度向上に対し、ディスクの速度向上は著しくない。仮想記憶を用いているオペレーティングシステムに対して、どのような変更を施すべきか? 2、WEBブラウザや表計算ソフトウェア等のプログラムは多くのモジュールからなり、いずれかのモジュールにおいてバグが発現した場合、プログラム全体が止まってしまう。このような問題を軽減するために、システムプログラムにおいて改善できる点は何か?また、ユーザプログラムにおいて改善できる点が何か? 3、ベクトルの要素をソートするMPIのプログラムを考える。どのようなプログラムを書けば、哲学者の晩餐問題に陥るだろうか。また、そのような問題を避けるためにはどのようにプログラムを書けばよいだろうか? 3問ともでなくとも、分かる問題があるようでしたらご投稿お願い致します。