• ベストアンサー

「開発ステップ数」とは?

ソフトウエアの開発業務に携わっている人なら、常識なのかもしれませんが、「開発ステップ数」の意味するところが分かりません。 おそらく、このステップ数に比例して、開発する労力がかかり、開発費も高くなるのだと想像しますが。 だれか教えていただけないでしょうか?

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

  • ベストアンサー
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.6

大昔、コンピュータのプログラムをパンチカードに打っていた時代がありました。 パンチカードは、電車のキップ(自動改札のほうね)と同じくらいの厚さで、サイズはハガキよりちょっと小さ目、1行分を1枚にカードパンチャでコード化された穴をあけるのです。 1000行のプログラムなら1000枚、1万行なら1万枚を、コンピュータ様がおられる空調の効いたお部屋の前に持って行き、お供えするのです。しばらくすると、コンピュータ様のお告げ(答えの計算結果)が、横のラインプリンタから、うちだされてきたものです。 カード1枚を1ステップと数えていました。 1ステップということは、カード購入費、カードパンチャや、読み取り機の設備減価償却・リース費、コンピュータCPUの使用料金など、お金に密接に関係していました。 そのように、1枚1枚が貴重なので、きれいな飾りのコメントを入れたり、レイアウトを良くするために空行をいれるような贅沢者には、バチが当たったものです。 これが、「ステップ数とプログラム規模が比例する」ということの起こりだと思います。 ご明察どおり、 >このステップ数に比例して、開発する労力がかかり、開発費も高くなる わけですが、 それもつい20年くらい前までで、最近では、ハードウェアの低価格化、高速化、大容量化により 高級な命令を持つ言語(すごい計算を1行でやってくれるような言語:C++など)が、流通していますので、 ステップ数と仕事の規模は、なんともいえない関係になっています。 ステップ数は、私のようなロートルオヤジの昔の自慢話にもならないくらい意味を無くしてきました。 ただし、「10万ステップのプログラムと、1000ステップのプログラムでは、多いほうが規模が大きく開発費も高い」ですが、 「2万と3万では、なんとも言えない」、てな感じです。 また、企業の紹介などで、過去のプロジェクトを紹介するときなどには、やむなく使われている場合があります。 なぜなら、開発プログラムの規模をうまくあらわす表現方法が、他にないからです。 「とっても大きなプログラム」とか「ちょっとしたプログラム」っていっても、わかりませんから・・・・

atarime
質問者

お礼

長い回答ありがとうございました。歴史を知れて、参考になりました。 昔のパンチカード時代には、ちゃんとステップ数にも厳密な意味があったようですね。

その他の回答 (6)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.7

既に多数の方が言われている通り、ステップ数で開発規模を表します。完全では有りませんが、ある条件下では開発規模比較の目安になります。 > ステップ数に比例して、開発する労力がかかり、開発費も高くなるのだと想像しますが。 巨大なシステムでは比例しないと言われています。開発規模が大きくなると従事する人数が増え、コミュニケーションを取るために多大の労力がかかるからです。 ステップ数を使わないで、開発労力を見積もる方法として、ファンクション・ポイント法、cocomo法などもあります。

atarime
質問者

お礼

回答、ありがとうございます。 ステップ数以外でもいくつか開発労力を見積もる方法は、あるのですね。 でも、どの方法も、結局、「目安」以上にはならないような気がする。 感覚的な意見ですが。

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.5

基本的にはソースコードの行数になると思います。 数え方はケースバイケースですね。 ただ、プログラムの労力は行数のみでは測れません。 わかっていない人も多いですが(^^;; 行数を増やすのは簡単です(笑) まあ無闇に行数増やすとデバッグもメンテナンスも大変になるのと、質が悪いととられるのが嫌でやりませんが、 行数で料金への影響が大きいと増やしたくなります(笑) うちではドキュメント等は別にカウントするので、 開発ステップ数という意味では0ですね。

atarime
質問者

お礼

回答、ありがとうございました。 たしかに、行数が同じでも、C言語のように、行の意味が あまりない言語だと、いかようにでも行数は変えられますよね。 開発ステップ数というのは、単なる目安なんですね。ソフトウエアの規模を示すための。 あんまり、厳密な数字を考えても意味がなさそうですね。

noname#1802
noname#1802
回答No.4

やっぱりソースコードの行数が基本です。 が、 納入するものにマニュアル・設計書が必要な場合は その納入物のページ数を追加する場合があります。 (これはうちの会社特有なのかな?) マニュアル作成のみの仕事が発生した場合に 開発ステップ数 0件 では可哀相(?)というところから来ているのかもしれません。

atarime
質問者

お礼

回答、ありがとうございました。 さらに、マニュアル・設計書を考慮しないといけないときもあるのですね。 開発ステップ数って、適当なものに思えてきました。

回答No.3

プログラムの行数だったと思います。といっても現実にはプログラム上ではコメント等も入ってますよね。100行のプログラム中50行がコメントだったら実行ステップは50行というようなことです。また実行ステップのカウントはコメント以外にも例えば  if *** then *** と  if *** then  *** は同じ1行としてカウントされます。

atarime
質問者

お礼

回答、ありがとうございます。 行数にコメントはいれないのですか。 数えるのが大変そうですね。

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.2

> 「開発ステップ数」の意味するところ 私のところでは、単に、そのプロジェクトで作成したプログラムのソースコードの行数を意味しています。 行数をカウントする際に、コメントや空行を含んだものと、それらを含まないものを両方算出して、注釈含有率のような指標も出しています。 開発コストや生産性を考える時には、後者(コメントや空行を含まない行数)を使っています。

atarime
質問者

お礼

ご回答、ありがとうございます。 なるほど、単に行数を意味するのですね。 勉強になりました。

  • gould09
  • ベストアンサー率33% (196/589)
回答No.1

atarimeさんが、どういう立場にいて「開発ステップ数」が知りたいかで説明が変わってきます。 「開発ステップ数」は、言葉の通りプログラムを開発するステップ数です。 作成したプログラムの行数と言った方がわかりやすいでしょうか。 この数によって、開発の規模がわかってきます。 ただ、同じステップ数だとしても、開発に使う言語や仕事の内容により基準として使う目安は大きく変わってきます。 例えば、今までないシステムを一から作る場合と開発方法が確立している物では同じステップ数でも必要な期間や作業量は大きく変わってきます。 もう少し、どうゆう事がわからなくて何が知りたいか明確にしていただければ回答する方も回答しやすいと思います。

atarime
質問者

お礼

回答、ありがとうございました。 就職活動していまして、「あなたが開発したソフトウエアのステップ数」を聞かれたのですが、私は学生で「ステップ数」なるものの意味が分からなかったので、質問させていただきました。(学生時に研究でソフトウエアを開発した。) とりあえず、「不明」と答えておきました。

関連するQ&A

  • ステップ数について

    私の知人が会社面接にて「ソフトウェア関係の仕事がしたいです」と 言ったところ,会社側の人に「ステップ数はどれぐらいのプログラムを 書いたことがあるのか」とたずねられ,回答に困ってしまったそうです. 彼はC言語しかやったことがないそうで,ステップ数と聞けば繰り返し 何回ループさせたか,ということがステップ数だと思っていたそうなん ですが(っというか私もそうなんですが...),会社の人の言ってる ステップ数とはどうやら違う感じがしたらしく,「ステップ数とはなん ですか」と聞いたところ,それで話しは終わってしまったそうです. 後から調べてみたところ,fortran ではステップ数という言葉が出て来る ようなのですが,C言語ではあまりステップ数ということばを使わない ので,会社の人の発言の意味が良く分かりません. 誰かご存知の方がいましたら,教えて頂けないでしょうか.

  • ステップ数の見積もり方法を教えて下さい。

    受注生産のソフトウェア開発の仕事をしています。 だいたいが基本設計を受け取って、それ以降(詳細設計、製造、試験、納入) をするのが業務です。 そろそろ見積もりの勉強をする必要がでてきたので とりあえずは基本設計からステップ数を見積もる良い方法が知りたいです。 どなたかよい方法あったら紹介してくれませんか?

  • ステップ数での工数管理について

    オープン系ソフト開発畑の人間でしたが、 どういう訳かファーム系ソフト開発になって違和感を感じています。 手続指向が主流だった5年以上前の話なら、 この機能に対して何ステップ必要で、 実際に何ステップあって、 コメントは何割でとか面倒な事がありましたが、 オブジェクト指向が主流になった最近はステップ数で、 工数管理をする事が私自身はあまりありませんでした。 今の職場ではステップ数が何Kで工数がどうとか、めちゃくちゃ面倒です。 パッケージ図・クラス図・シーケンス図辺りがあれば、 工数管理なんて出来そうなものですが、 P2Mとかって現在もそういう考え方なのでしょうか? ステップ数は目安にはなると思うのですが、 例えばif文とか1ステップで書く人もいれば、 4ステップは必要という人もいますよね。 全くの間違いではないと思うのですが、 ちょっと考えが古いのでは?と思うのですがどうなんでしょうか? ソフトウェア業といっても業種によって全然違ってくるため、 色々な方から意見が聞きたいです。

  • システム開発における「開発実績」とは?

    大学でシステム開発の実習をやってます。 そろそろ学期も終わりが近づき、作ったシステムを発表するプレゼンをしなければいけないんです。 そのプレゼンの資料作りをしているんですが、先生が資料作りにあたって、「ステップ数など開発実績を盛り込んだ項目を設けなさい」と言ってたんですが・・・ ステップ数?開発実績? 何を書けばいいのかわかりません。 ユースケース図とかクラス図とか、機能の説明とかの資料は作ったんですが 「ステップ数」と「開発実績」というのが何なのかよくわかりません。 実績と言われてもシステム設計の実習なんて初めてだし・・・。 先生は何を求めているのか、 わかる人教えてください、お願いします。

  • 研究開発、設計開発、SEの違いについて

    現在就職活動中の大学3年の者です。 ソフトウェア業界を志望しています。 プログラミングが好きで、SEを考えるようになりました。 しかし、SEについて調べていくにつれ、エンジニアというよりも営業に近いような印象を持ちました。 文系出身者が多いことからも、理系の自分がやっていけるのか心配になります。 そんな中、大きな企業では設計開発職というものがあるのを知り、興味を持つようになりました。 ですが、具体的にどのようなことをするのか、いまいちピンときません。 ある開発職の方にお話をうかがったところ、業務の半分くらいはプログラミングというようなことをおっしゃっていました。 プログラミングが好きな自分としては、業務の半分がプログラミングというのは非常に魅力的です。 http://okwave.jp/qa2569694.html こちらの回答によれば、開発職のメインはプログラミング、とはあるのですが、つまり開発職=プログラマという理解でよろしいのでしょうか。 プログラマというのは、SE等になるための一ステップというイメージがあったので、大企業で生涯プログラムに携われるならこれ以上の職種はないと思うのですが、考えが甘いでしょうか・・・。 また、開発のフェーズは海外発注が多いともあるのですが、将来必要とされる職種なのかどうか心配になります。 そこで質問させていただきたいと思います。 ・研究職、開発職、SE、プログラマの違いは? ・上記各職種にはそれぞれどのような適性が必要なのか? (職種を選ぶ際、どのような人はどの職種が向いているなど) ・開発職は具体的にどのような仕事をしているのか? ・生涯プログラマというのは現実的に不可能? また、少し本題とはそれるのですが、 ・ソフトウェア開発とシステム開発とでは何が違うのでしょうか? 以上についてよろしくお願いいたします。 また、これら意外でも、この業界で就職活動をする際のアドバイスなどが有りましたらよろしくお願いいたします。

  • 【 COBOL 】見積スッテプ数の出し方

    こんにちわ。 システム開発において、見積をだすのにあたりCOBOLで開発ステップ数をもとめるよい方法をしってる方教えてください。 ちなみに、基本設計からステップ数を求めようとしています。よろしくお願いします。

  • 日本最長のエスカレーターのステップの数

    日本で一番長いエスカレーターの話題はこのWebでもありました。 そこで質問なんですが、一番長いエスカレーターのステップ(階段)の数はいくつなのでしょう。山の傾斜地に作られたような場合を除くと、建築物の中にあるのものは一段の高さも決まってるでしょうから基本的には乗り場と降り場の高低さに比例するのでしょうか? 因みに私は以前ロシアのサンクト・ぺテルブルグの地下鉄で660段のエスカレーターに乗りました。(階段に通し番号が付けられていて、660の次が1でした。)

  • 開発工数について

    基本的な質問で申し訳ございません。 ソフトウェア開発における「開発工数」という言葉の意味について 教えて頂けませんでしょうか?

  • 開発の仕事ってどんなことをするのですか?

    開発の仕事ってどんなことをするのですか? 私は大学院を出た後に、出来るだけ専門的知識が必要とされる職種に就きたいと考えているのですが、 ほとんどメーカーでは最初は研究業務を担当させてもらえたとしても、その後は開発に回されることが多い と聞きます。 研究業務は大学でも研究を行っているため、間違いなく専門的知識が必要なことは分かります。 しかしながら開発業務にも専門的知識が必要になるのでしょうか? 例として、電機メーカーに就職したとして開発業務を担当した場合どういうことをするのでしょうか? 研究というものは大学でも行っているため、大体の想像は出来るのですが、 開発ということは今まで目にしたことがないため、想像することが出来ません。 ネットで検索しても調べても「システム開発」系の情報ばかりで、電機系メーカーでの開発に関する 情報が全く手に入りません。 私の専門は材料系・電子デバイスの研究をしております。 例えば、ソニーに入って、ウォークマンの開発業務を担当したとします。 ウォークマンってほとんどが、LSIやICで、できているわけですよね? そうすると、以下に配線を細くするか、というプロセスを最適化するような 仕事となるのでしょうか? 例えば、パナソニックに入って、乾電池の開発業務を担当したとします。 乾電池と言えば、短い充電時間で大きな電流量を取り出せるものが基本的に良いものとされますよね? そうすると、電極の組成・配合を少しずつ変えながら、その特性評価を行い、 今までよりも特性の高いものが実現出来るまで最適化を行う、といったことを仕事となるのでしょうか? これらの業務は最初に方法を教えてもらえば、後は高卒のアルバイトで出来るようなことではないのでしょうか?

  • ソフトウェアの開発金額って?

    あるシステムを請負で開発中なんですが、開発工数の考え方について発注元と食い違いがあり、困ってます。 その開発は、発注元の事情でリリースまで全く時間的余裕のない状態でスタートせざるを得なかったため、 わが社ではその分野の業務知識のないプログラマを投入せざるを得ず、代わりに経験豊富な上級SEまで緊急投入して、 厳しい納期に対応する、という方針で進めました。 私はこのような場合、通常の開発に比べて ・投入した上級SEの工数 ・品質を保つための社内会議や設計書/テストレビュー等にかかる工数 が増え、その分は当然そのままソフトウェアの開発費用に載せられるものだと思ってます。 ところが発注元の認識は 「スケジュールが厳しくても、成果物としてのソフトウェアの機能は変わらないのだから、工数に載せるべきではない。 どんな人(『業務知識のないプログラマ』や『経験豊富な上級SE』)を使うかはこちらには関係ないことだ」 ということで一貫しています。 「ソフトウェアの価格=作成する機能の積み上げ」という考えがあるのは知っています。 「同じ機能のソフトウェアなのに、開発する会社の事情で工数が変わるのは困る」というのも理解できます。 しかし、厳しい納期が原因で開発原価が膨らむのは事実ですし、 納期も要求定義の一つだと思いますから、それによって開発金額がかわるのは当然ではないでしょうか? いろんな立場の方からご意見を伺いたいです。

専門家に質問してみよう