以下の単純なシステムがあります。
貴方はこのシステムを作成するのにあと何をお客様に確認しますか?
1)INのデータは1ファイル20項目です。
2)INのデータの全ての項目は固定長の12桁です。
3)システムはINファイルの20項目の中から金額の項目を抜き出し1ファイルの合計金額を算出します。
4)合計金額はOUTファイルに追記モードで出力します。
※上記にはあえてシステムを作成するのに必要な情報をだいぶ抜いて書いてあります。
PGでもSEでも、現在のレベルを判定するのにぜひぜひ挑戦してみてください。
Yahoo! JAPAN
URLはダミーです
1) 前提となるOS、ハード構成
2) 希望するプログラミング言語(保守契約がない場合は顧客が保守をすると思われる為)
保守契約がある場合は別途相談
3) 起動する契機は何か?(バッチ処理、画面からボタンを押されたらその処理を走らせるなど)
3-1) 年次、月次などの場合、INディレクトリ構成やOUTファイルの出力場所、OUTファイルのデータ項目を要確認
4) 多分、ファイル数=データ数だと思いますが通常扱うデータ量、最大データ量はどれぐらいか?
5) OUTファイルの出力フォーマットは?(多分、金額以外に顧客IDなどのユニークな番号が必要と思われる)
それともOUTファイルはINデータ毎ではなく、全INデータの金額を合計した金額を出力するのか?(年次、月次の場合は?)
5-1) ユニークな番号が必要という場合、そのソート順は?
6) INファイル、OUTファイルのパスとファイル名は何から取得するのか(環境変数、パラメータなど)
7) 性能要件は?(NファイルをM時間で完了できるとか)
8) 納期と金額、提出するドキュメント類は何が必要か?(設計書、試験方案など)
9) 開発環境を構築する費用、ライセンス類などの費用はどちらが持つのか?
# 8), 9)はSEというか営業の仕事のような気がする...
というのが取りあえず思い浮かびますね
「システムを作成するのに・・・」とありますが、
書いてある事が既にシステムよりですよね。
エンドユーザーがINとか追記モードみたいな
言葉を使うでしょうか・・・
本当に大事なのは
「伝票処理の効率を上げたい」とか、
「売上管理を楽にしたい」といった
ユーザーのビジネス要求ですよね?
(あえて言えばこれが答えになりますが・・・)
これが分からなければ、この質問を掘り下げても、トンチンカンなシステムが出来上がるだけです。
こんな研修課題をやる暇があったら、ユースケースの書き方を覚えたほうがよっぽど良いですよ!
(と、質問にまじめに回答している暇な私・・・)
”システムの目的(要求)”が抜けていたらまともなシステムにならないのは当たり前ですね。
研修の目的としては、その当たり前の事がちゃんと抜けていないかを判断するのを目的としています。
ちなみに、ユースケースは所詮は道具です。
道具の使い方を目的としてるのではなく、なぜその道具を使うのかが大切かと思うのですがいかがでしょうかね。
INとOUTのファイルの場所をどこにするのか?
INデータがエラーの場合は、どうするのか?
(桁数が足りなかったり、記号や文字などの数値でないものだったりした場合)
読込を飛ばすのか、一切読み込まないのか、または エラーのレコードだけ エラーログに出力するのか?など。
合計金額が 桁あふれした場合、どうするのか?
INファイルから抜き出す項目は、どこかに 定義させたほうがいいのか?
または、画面で 指定させたほうがいいのか?
OUTで、出力するファイルが 読込専用になっていたり、空き容量が足りずに 追記できない場合は、どうするのか?
ま、上記のものは、だいたい 請負側で 決めて
これでいいですね?という確認を 客先に とりますけどね。
INのフォーマット、OUTのフォーマットの確認は実装する為にはとても大切ですね。
そして、そのときのイレギュラーケースの扱いをどうするかも大切だと思います。
実装レベルでも、それ以外に運用時間やピーク時の処理件数は抑えておきたいところです。
http://voyager.ei.tohoku.ac.jp/~takashi/lecture-B-2003/lecture-0...
Fundamentals of IT Education; lecture B, 8th
まず、レコードとファイルを勘違いされていませんかと突っ込みますね。(笑)そうしておかないと、今後新しいメンバーが参加した度に話しがこんがらかります。
肝心なところで、
ハード環境
サーバ(汎用機・オフコン)の機種・クライアント機種一覧・台数。
ネットワーク環境
ソフトウェア環境
トランザクションの発生状況
特にピーク時
レコードフォーマット
今回記述されているトランザクションだけでなく、マスターのも
開発体制の希望(ユーザ側の体制)
集計後の加工の希望
納期・予算といったところですか。取り敢えずは。
単純なシステムでも聞いておかないわけにはいきません。
レコードとファイルの区別。確かに疑問に思うところは突っ込むべきですね。
お客さんは ファイル と言っていても、実は違ったりすることは良くあること。
なぜならお客さんはシステム屋じゃ無いのですからね。
ハード環境は昔はまったことがあるのにすっかり忘れてました。そういえばネットワークやらクライアントやらが後で想定外だとわかると結構痛いんですよね。。。
http://www.hatena.ne.jp/1140671958#
人力検索はてな - 【IT業界研修課題 No.1】 以下の単純なシステムがあります。 貴方はこのシステムを作成するのにあと何をお客様に確認しますか? 1)INのデータは1ファイル20項目です。..
PG?でもSEでもないド素人ですが。。。
・INのファイルは最大何個?
・INファイルが複数ある場合のリンクはどうなってる?
・INの金額は文字?2進数?(データ型っていうんですかね?)
・項目が「金額」であることの判定方法は?(識別子?)
・OUTファイルの項目の長さは?
・OUTファイルに出力する際のデータ型は?
・OUTファイル1個の項目数は?
・OUTファイルが複数になる場合、リンクさせる?
これぐらいしか思いつきません。
答えがありましたら是非教えてください。
答えとしては dev_zer0さん、Baku7770さん の
答えまで出ればほぼ良いのではと思います。
御二方とも、見る視点は違うと思いますが共に大切だと思います。でも、これだけは100点の回答は無いんですよね。
dev_zer0さんのところで回答したのがコピペミスで全て載らなかったのでいかに再度コピペしておきます。
1 このシステムの目的は何か?
2 サービスタイム(時間、曜日、月、(バッチの場合は処理回数も))は?
3 サービスタイム中に0件連動はあるのか?その際の処理は?
4 通常処理件数は?
5 性能要件は?
6 最大処理件数は?
7 ピーク時期(月、曜日、時間等)はいつか?
8 ピーク時の処理件数は?
9 インターフェースは(IN*OUT)
10 INのフォーマットは?
* ファイルで使用している文字コードは(日本語が使用されるか)?
* 金額項目はどの項目か?
* 金額項目の通貨は?
* 金額項目のフォーマットは?(カレンシーコードの有無、少数点のフォーマット、桁区切りの有無、左スペース埋め等)
11 OUTのフォーマットは?
* フォーマットは?
* 前回の集計との区切りは?
12 実装(OS、appなど)はどうするか?
13 コンテンジェンシープランは?
14 スケジュールは?
15 お客様に協力してもらう事は何か(検証やテストなど
皆さんありがとうございました。
初回からなかなかレベルの高い回答ですね。
9)の開発環境の費用は盲点でした。
以下の想定回答を元にポイントを分けたいと思います。
1このシステムの目的は何か?
2サービスタイム(時間、曜日、月、(バッチの場合は処理回数も))は?
3サービスタイム中に0件連動はあるのか?その際の処理は?
4通常処理件数は?
5性能要件は?
6最大処理件数は?
7ピーク時期(月、曜日、時間等)はいつか?
8ピーク時の処理件数は?
9インターフェースは(IN*OUT)
10INのフォーマットは?
11OUTのフォーマットは?
12実装(OS、appなど)はどうするか?
13コンテンジェンシープランは?
14スケジュールは?
15お客様に協力してもらう事は何か(検証やテストなど)