タグ付けされた質問 「requirements」

ソフトウェアプロジェクトの要件の抽出、分析、仕様、検証、および検証。

2
IT以外の人とプログラミングビジネスロジックのペアリング[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 コーディングプロセス中に非IT担当者がプログラマーと連携する経験はありますか? それはペアプログラミングのようなものですが、一人はビジネスについて多くのことを知っている非ITの人です。おそらく、物事の計算方法を知っており、非慣用的な手続きコードを理解できる数学のバックグラウンドを持つプロセスエンジニアです。 PL / SQLのような手続き型のドメイン固有言語は、IT以外のエンジニアでも非常に理解しやすいことがわかりました。これらの人物は最終的にコードの共著者となり、式、要因などの正確性を保証します。 この種のペアプログラミングは非常に生産的であり、この種のエンジニアリングタイプのユーザーは、コードの「所有者」および「作成者」であると感じ、コミュニケーションプロセスの誤解を最小限に抑えます。テストケースの設計にも役立ちます。 この慣習は一般的ですか? 名前はありますか? 同様の経験がありますか?

4
単体テストのタイムアウトを使用してメソッドのパフォーマンスを測定することをお勧めしますか?
特定のアクションの最大実行時間を指定する非機能要件があるプロジェクトでは、QAは、要件で指定されているハードウェアと負荷の両方の正確な負荷の下で、正確なハードウェアを使用して専用マシンでこのアクションのパフォーマンスを確認する必要があります。 一方、ソースコードに誤った変更を加えると、パフォーマンスに深刻な影響を与える可能性があります。早くこのマイナスの影響に着目、前のソースコードは、ソースコントロールに到達し、QA部門によって検証され、問題の報告QA部門によって失われた時間の点で有益であり、開発者が後でそれをいくつかのコミットを固定できます。 これを行うには、良いアイデアですか? ユニットテストを使用して、同じアクション²をn回実行するのにかかった時間を把握するには、 C#の属性を介してテストごとのタイムアウトを使用するには[TestMethod, Timeout(200)]? このアプローチにはいくつかの問題が予想されます。 概念的には、ユニットテストは実際にはそのためのものではありません。コードのごく一部をテストするだけであり、機能要件のチェック、統合テスト、パフォーマンステストのいずれでもありません。 Visual Studioの単体テストタイムアウトは、初期化とクリーンアップがこれらのテストに存在しないか、結果に影響を与えるには短すぎることを考慮して、実際に測定されると予想されるものを測定しますか? この方法でパフォーマンスを測定するのはいです。ハードウェア、負荷などに関係なく、任意のマシン¹でベンチマークを実行することは、あるデータベース製品が別のデータベース製品よりも常に高速であることを示すベンチマークを実行するようなものです。一方で、これらの単体テストが決定的な結果になることや、QA部門で使用されるものになることは期待していません。これらの単体テストは、期待されるパフォーマンスについての一般的なアイデアを提供するためだけに使用され、基本的に、開発者に最後の変更が何かを壊し、パフォーマンスに重大な影響を与えることを開発者に警告します テスト駆動開発(TDD)は、これらのテストでは不可能です。コードの実装を開始する前に、そもそもどのように失敗しますか? パフォーマンステストが多すぎると、テストの実行に必要な時間に影響するため、このアプローチは短いアクションのみに制限されます。 これらの問題を考慮すると、QA部門による実際のパフォーマンスメトリックと組み合わせた場合、このような単体テストを使用することは依然として興味深いと思います。 私が間違っている?これに単体テストを使用することを完全に受け入れられないようにする他の問題はありますか? 私が間違っている場合、ソースコードがソース管理に到達してQA部門によって検証される前に、ソースコードの変更がパフォーマンスに深刻な影響を与えたことを開発者に警告する正しい方法は何ですか? ¹実際、ユニットテストは、同等のハードウェアパフォーマンスを備えた開発者のPCでのみ実行されることが期待されています。 ²アクションとは、実行に数ミリ秒かかるかなり短いコードのことです。

7
アプリケーションの一部の書き換えを回避する方法
会社で営業部門のプロジェクトに取り組んでいます。それは私の最初のプロのプログラミングの仕事ですが、私は自分でコーディングして何年も学習しています。プロジェクトの一部では、いくつかのデータを取得し、それを入力と組み合わせて生成およびグラフ化します。次に、データを保存します...など。そのため、私はこのためのコードを1日少しで書きました。翌日、私はプロジェクトスーパーバイザーを見せました。彼はそれを気に入っていましたが、「これがあったらどうだろう」と言って、グラフに何かを追加したかったのです。これはプログラムの外観や機能に対する大きな変更ではありませんでしたが、データの保存や処理などに必要な方法を大幅に変更しました。 この場合も、データベーステーブルを再構築し、この新しい要求をサポートするためにコードを基本的にゼロから書き直すのに約1日かかりました。私はそれを再び彼に持ち帰ったが、まったく同じことが起こった。彼は私がデータを処理するために必要な方法を劇的に変える何か他のものを要求しました。それで、私はそれを再び書き直さなければなりませんでした。最後に彼はそれにサインオフしました、そして願わくば、私は再びそれを書き直す必要がないでしょう。 ただはっきりさせてください、私はマネージャーやそのようなものをバッシングしていません。彼は偉大な人物であり、彼が要求していたことはこの世界からではなく、私が以前にやったことと相容れないものでした。 完全な書き直しを避けるために今後できることはないかと思っています。私は柔軟なコードを作成することを理解しており、それをしようとしていましたが、これを簡単にするために別の方法で行うことができたプラクティスまたは事柄を知りたいので、将来、私は何かに3日を費やしません取るべきでした1。

2
機能要件、運用要件、技術要件の違いは何ですか?
Javaに基づいてタスクを実行しましたが、先輩が私にグローバル化されたバグ追跡ツールを作成するための要件を収集するように割り当てました。 ウィキペディア とmindtoolsのWebサイトから多くのタイプの要件を読みましたが、非常に混乱していました。 機能要件、運用要件、技術要件の正確な違いは何ですか?

3
非機能要件と品質属性の違いは何ですか?
機能以外の要件と品質属性の違いを理解しようとしています。それらは同じものですか? ISO9126規格には一連の品質属性があります。 各システムは一連の機能要件によって定義されており、この要件にはすべて1つ以上の品質属性が関連付けられていることを知っています。たとえば、システムのログイン機能を記述する要件があるとします。その要件にセキュリティとパフォーマンスの属性を関連付けることができます。 システムが応答するのに1秒以上かかることはないと言うなら、私は制約について話している。 では、非機能要件の概念はどこから始まるのでしょうか?それらはユーザーによって定義されていますか?どうすれば識別できますか?

2
オブジェクト指向設計で何をする必要があるかを実際に調べる方法は?
最初の免責事項:この質問がこのウェブサイトに適合するかどうかはわかりませんが、私だけでなく、初心者である他の人にとっても関連する質問であることに変わりはありません。ここに収まるように質問を改善できる場合は、intコメントを指摘してください。それが合わない場合は、私にも知らせてください。可能であれば、これに関する良いフォーラムが見つからなかったので、これについて議論できる場所を教えてください。 私はPHPを勉強した2009年にプログラミングを学びました。2012年の後半に、C#と.NETに移行しました。とにかく、コーディングは問題ではなく、アルゴリズムを書き留めることは私の問題ではありません。私の実際の問題は、要件を達成するために何をコーディングする必要があるか、どこでコーディングする必要があるかを知ることです。 Web上で利用できるそこにほとんどのコースは対処方法ここでは私のポイントではないなど、いくつかのAPIセットを使用する方法、特定の言語でコードを書く方法を- 。 ここ数年、オブジェクト指向の分析と設計、設計パターン、ドメイン駆動設計など、たくさんのことを読みました。たとえば、SOLIDの原則、ドメインエキスパートの関与の必要性、ユビキタス言語の開発など、DDDの主要なアイデアのいくつかを理解しています。少なくとも理にかなった理論的背景があると思います。 しかし、それが練習になると、私は災害だと感じます。しばらく前に、私はすでに他の誰かによって開発されていた金融システムの開発を続ける必要がありました。それは、C#とWinFormsで開発されたそのような「古いシステム」です。実際のドメインの複雑さ、多くのビジネスルールなどを含むプロジェクトを選んだのは初めてでした。 ほとんどの場合、要件を受け取ったとき、「一体どうやってこれを行うことができるのか」と思います。-どうすればよいのかを理解するために、要件の作業を開始する方法すらわからない。私が信じている主な混乱は、私がコーディングしなければならないもの、クラス、インターフェース、そして各ロジックがどこに行くのか、各クラスがどのクラスにあるべきなのかです。問題は、どこから始めればいいかわからないことです。 ほとんどの場合、非常に多くの考えでいくつかのアイデアになりますが、私のアイデアが正しいかどうかを判断する方法がわかりません。 推奨されたソフトウェアアーキテクチャとオブジェクト指向に関する多くのことを読んだと言ったので、これは理論の欠如ではないと思いますが、実際には何をしなければならないかを特定するのにはあまり役立ちませんでした。 それでは、どうすればオブジェクト指向設計を実際に 行うことができますか?私が学びたいのは、与えられた要件は、何をすべきか、各コードがどこに属しているかを見つけるプロセスでそれらに取り組む方法を知っていることです。自分の考えが正しいかどうかを判断する方法を学ぶにはどうすればよいですか? ここで答えとしてこれを完全に説明することは不可能だと思います。しかし、私が探しているのは、サイトのスタイルに応じて、単に概要を示し、アイデアを拡大し、これらのことを実際に学習するために使用できる参照(書籍、オンラインコースなど)を示す回答です。

4
ファイル名のエンコーディングに関する要件のフレージング
私は要件の仕様を作成していますが、要件の一部をフレージングすることにはジレンマがあります。 シナリオ:Webサイトからファイルをダウンロードし、ダウンロードしたファイルをCMツールのアイテムに添付する必要があります。ダウンロードしたファイルには、ASCII、ISO-8859-1、日本語などの名前が含まれています。 以下の表現では、「非ASCII」はすべての状況をカバーしていますか? ダウンロードしたファイル名には非ASCII文字が含まれている可能性があり、これを処理してもアプリケーションがクラッシュすることはありません

14
オプション要件についてのより良い言葉は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 ソフトウェアエンジニアリングのオプション要件に対するより良い言葉は何ですか?このフレーズは矛盾しています。以前のプロジェクトで「非コア要件」を使用しました。

8
上司が常に要件と全体的な設計に関する重要な決定を延期する場合はどうすればよいですか?
新しいプロジェクトを開始するとき、上司は常に決まった決定を下すことを避けています。彼は通常次のように言っています:わかりました、何かを書き始めて、できるだけ一般的になりなさい。終了したら、私たちがどのように続けるかを見ていきます。彼の議論は基本的に、あなたが決して知らない「アジャイル開発」だということです。 質問をできるだけ一般的にするために、上司が意思決定をしたくない場合はどうしますか? それに固執して、数週間後に重いリファクタリングと部分的な書き換えを受ける可能性のあるコードを書くだけですか?または、ボスが少なくともいくつかの決定をするまで議論を続けますか?これは多かれ少なかれ私の現在の戦略です。それは物理学の法則に似ているため、ある時点で何かを提供する必要があります。上司のボスが結果を見たいか、何かがばかげているからです。 また、上司がほぼすべてを批判していることも観察しています。彼自身に基づいた提案でさえ...

5
機能要件と非機能要件を区別する必要があるのはなぜですか?
この2つの違いを理解していますが、同僚から、要件を機能的または非機能的(または移行的)としてラベル付けすることの利点について疑問に思います。なぜそうするのですか?彼は、あるプロジェクトの要件のリストを2日間調べたが、最終結果は「すべてをやる」という命令で別のビジネスエンティティにドキュメントを提出することだったため、彼が言ったことを費やしました。 私が恐れているのは、要件が1つのドキュメントにまとめられていることです。実用的な用語でメリットを説明しようとしましたが、売れませんでした。機能している要件と機能していない要件を文書化する利点を販売するにはどうすればよいですか。

8
プログラマーはクライアントを「考え」るべきですか?
要件の収集が嫌いになるまでになりました。顧客は自分の利益のために曖昧すぎる。クライアントに完了までの作業を示すことができるアジャイル環境では、機能に対する定期的な小さな修正/更新を行うことができるため、それほど悪くはありません。 環境内の「ウォーターフォール」タイプ(最初に要件、次にほぼ完全な製品)では、状況がくなる可能性があります。この種の環境により、私は常に要件に疑問を抱くようになりました。EG顧客は、「入力を自動的に数値1に変換する」ことを望んでいます(注文の数量を参照)。しかし、彼らが考えていないのは、「入力」は単純なタイプOである可能性があるということです。テキストボックス内の「x」は「woops」になる可能性がありますが、これらの「歯磨き粉」製品の1つは必要ありません。しかし、必要なものがたくさんあるので、私は何時間も耐えて修正し、彼らが望むものを壊すことができます。これは単に健康的ではありません。 企業で働いていて、私たちを助けるアジャイルモデルに合うように文化を調整しようとすることができました(私の仕事のグレード以上の小さな仕事はありません)。または、敷物の下にい詳細を一掃し、最高のものを望みます。私の顧客はコードに近づきすぎているのでしょうか? あまりにも多くの質問に悩まされることなく、「クライアントのために考える」という問題をどのように扱うのでしょうか?

4
ソフトウェア開発ライフサイクル全体で要件を管理するツール[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ソフトウェア開発プロジェクトの要件または機能を管理するツールを探しています。5〜10人の地理的に多様な小さなチームが要件を提起、議論、追跡するために使用します。したがって、次のものが必要になります。 複数のユーザーのサポート ウェブベース 要件間の階層をサポートします。たとえば、親/子関係 個々の要件を議論する手段を提供する サポートファイルのアップロード 費用対効果。理想的には無料または 使用可能なプロジェクト管理ツールの一部は、機能が過剰であるか、機能や要件ではなくタスクやリソースのスケジューリングに重点を置いています。 誰にも解決策がありますか?


4
すべての要件を収集する前にリリース日を決定することは機敏ではありませんか?
私はCraig Larman著の 『Applying UML and Patterns』を読み始めたところです。それは私が仕事で言われたことの多くに挑戦するのでそれは非常に興味深いと思います。要件はアジャイルで一度に完全に収集されるわけではなく、要件の収集を完了するには多くの反復が必要であると私は読んだ。その場合、明日、新しい画期的な要件(または要件としてマスカレードする変更要求)が存在する可能性があることを考えると、ハードセットの締め切りを設定することになります。

5
ストーリーごとに要件仕様を作成するのは良い考えですか?
現在、私の現在のプロジェクトではアジャイルメソッドを使用しており、次のような大量のストーリーがあります。 アシスタントとして、お客様に払い戻しを請求し、リクエスト時にお金をもらうことができるようにしたい 顧客として、私はアイテムを受け取ることができるように購入の代金を支払いたいです。 これまでに行った方法は、すべてのスプリントで最も重要なストーリーを選択し、それをいくつかの正式な要件仕様にまとめます(同じ仕様で似ているストーリーのいくつかをグループ化します)。ストーリーによっては、画面上のボタンまたはワークフロー全体の場合もあります。 問題は、ストーリーが多すぎるため、システムのどの部分にストーリーが関連しているかがすぐには明らかにならないことです。 それは開発者の時に機能し、すべてのスプリントは開発者が何をする必要があるか、そして彼らが行う必要がある変更を概説するスペックを取得します。しかし、このストーリーリストの維持とテストに関しては、バグの追跡が非常に難しくなり、一般的には仕様のみを維持することになります。これは、画面の機能の一部がさまざまな場所で文書化されているためです。ストーリーで分割。 ストーリーに基づいた仕様を書くことは良い考えですか?ストーリーを間違った方法で書きましたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.