ソフトウェア工学

システム開発ライフサイクル内で働く専門家、学者、学生向けのQ&A

7
検証と検証はテストプロセスの一部ですか?
多くのソースに基づいて、私はテストの目的ができるだけ多くのバグを見つけることであるとは信じていません-私たちはそれが機能するか機能しないかを確認するためにテストします。例えばfollowintはISTQBからのテストの目標です: (ソフトウェア製品)が指定された要件を満たしていることを確認します(その検証だと思います) (ソフトウェア製品)が目的に適合していることを示す(これは検証だと思います) 欠陥を検出する テストは検証、検証、欠陥検出であることに同意します。あれは正しいですか?

3
(Lua)ゲームスクリプトとはどういう意味ですか?
Luaは埋め込みスクリプト、特にスクリプト用のゲームによく使用されることを読みました。正確にどのように使用されているか想像するのは難しいと思います。なぜ、どの機能でどのオーディエンスに使用されているのか説明できますか? この質問は、特にLuaを取り上げているのではなく、Luaスクリプトと同様の目的を果たす埋め込みスクリプトを取り上げています。 エンドユーザーがカスタム調整を行うために使用されますか?ゲーム開発者がゲームロジック(レベル、AIなど)の作成を高速化するために使用されていますか?スクリプトはより高速になる可能性があるため、ゲームフレームワークコードのスクリプトに使用されますか? 基本的に、私はこのようなスクリプトの使用法がプレーンな構成とフレームワークロジックとの間でどれほど深いかを考えています。そして、どのくらいのスクリプトが行われます。いくつかの構成行またはかなりの量?

7
開発や管理についてアジャイルですか?
スクラムとは何かについての議論で、アジャイルのことを完全に誤解しているのかもしれません。スクラム(確かにアジャイルプロセスと見なされます)は、TDD、ペアプログラミング、CI、リファクタリング、その他の開発者中心のテクニックやプラクティス(今まで)アジャイルの心臓部です。今、私は困難に直面しています! 1)スクラムは、開発者がアジャイルプラクティスを行うかどうかにとらわれませんか? 2)自動テストを利用しないチームにスクラムを実装できますか?リファクタリングを実行しないか、アジャイルプログラミングの実践に準拠していませんか?
9 agile  scrum  process 

4
複数のプロジェクトで同じコードフラグメントを維持する方法[終了]
ここで何が質問されているのかを理解することは困難です。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 私は複数のAndroidプロジェクトに取り組んでいるインディーデベロッパーです。異なるプロジェクトで同じ機能を維持することに問題があります。たとえば、私のアプリのうち3つは同じ2つのクラスを使用しています。これらは異なるプロジェクトであるため、これらのクラスを変更する必要がある場合は、3回変更する必要があります。この種の一般的な問題に対する簡単な解決策はありますか?

4
.NETアプリケーションで参照を処理する最良の方法は何ですか
最近、私たちはプロジェクトにタグを付けたり分岐させたりする問題に遭遇し、古いフォルダー構造を指しているDLL /プロジェクト参照のためにコンパイルの問題がいくつかありました。 プロジェクトごとに「外部bin」フォルダーを作成し、参照されたdllをこれらのフォルダーにコピーしました。これは最善の方法ですか、これを処理するための特定の業界標準はありますか?
9 c# 

3
OpenSourcingでコードを準備してGitHubに配置するにはどうすればよいですか?
数週間で私のプロジェクトは完成し、他の人が使用できるように私のコードを準備し始めたいと思います。 私はすべてをGitHubに投稿して、人々がそれを調整して、うまくいけばそれをより良くすることができるようにします。 私が求めているのは、他の人が使用できるように私のコードが十分に文書化され、正しく記述されていることを確認するための最良の方法は何でしょうか? 私はあなたが常にすべてをコメントする必要があることを知っています、そして私はすべてのメソッドに対して@params機能を入れようとしていますが、一般的に他のヒントはありますか?


3
Erlangがクラウドアプリケーションに適している理由は何ですか?
新しいプロジェクトを開始し、OpenStackクラウドの企業のインスタンス化を実装しています(http://www.openstack.org/を参照)。このプロジェクトは、当社のセキュリティツールです。現在、セキュリティツール用に何百もの専用サーバーを実行しており、それらを社内のopenstackのインスタンス化に移行しています。 私の会社の他のプロジェクトは現在、いくつかの分散サーバーアプリケーションでerlangを使用しており、他のQ / A指摘erlangはいくつかの人気のあるクラウドサービスで使用されています。私は、他の人に、それが私たちのプロジェクトに適用できる場所を検討するよう説得しようとしています。 アーランのクラウドプログラミングの長所は何ですか?アーランを使用することが特に適切な領域はどこですか?

6
厳しいスケジュールとスケジュールのプレッシャーはTCOと納期にどのように影響しますか?
ソフトウェアエンジニアリングマネージャーである友人の父親は、「オーバーランのスケジューリングの最大の原因はスケジューリングのプレッシャーである」と強調しました。 研究はどこに立っていますか?適度な量のスケジューリングのプレッシャーが爽快ですか、それとも私が述べたマネージャーは正しいか間違っていますか、それとも「スケジューリングのプレッシャーが大きいほど、納期が長くなり、TCOが増えるのか」という問題ですか。それは、理想的にはソフトウェアエンジニアリングがスケジュールの圧力なしで機能するものの1つですか? ソフトウェア工学の文献へのリンクがあれば幸いです。

9
機能開発のためのOSの選択[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私は主に.NET開発者なので、通常はWindows / VisualStudioを使用します(つまり、私は甘やかされています)が、Haskellや他の(ほとんどの場合は機能する)言語を余暇に楽しんでいます。 Haskellの場合、windows-supportは問題ありません(Haskell-Platformを入手できます)が、latley基本的なClojure / Scheme環境をセットアップしようとしたところ、Windowsでの面倒な作業でした。 それで、私はより良いツールと言語サポートのために別のOSを試すことを考えています。もちろん、MacOSやLinuxディストリビューションが残っています。 私は以前にMacOSを使用したことがなく、もちろんLinuxの方が安く(無料)、通常のPCハードウェアでMacOSを並列起動できないと思います(できますか?)。プラス:私がそれらの(私にとって)外部のOSで使用できるツールについての手がかりはありません。 簡単に言うと、Haskell、Clojure、Scala、Schemeをさらに探索したいのですが、もちろん、JavaScript / HTML5 / Cssに少なくとも優れたツールが必要です。.NET / Mono / F#のサポートは素晴らしいですが、これについてはまだWin7ブートを使用します。 だから私は知りたい:-あなたの好きなOS、ディストリビューションは何ですか(Ubuntuは実行可能ですか?)-どのエディター/ IDEを使っていますか? ご協力ありがとうございました! PS:これがこの質問に適切な場所かどうかはわかりませんが、確かにそうだと思います。そうでない場合は、これをどこに移動すればよいか教えてください(StackOverflowは適切な場所ではないようです)

1
Javaでオブジェクト/配列を割り当てるときにオーバーヘッドが発生するのはなぜですか?
Javaで配列が占めるバイト数は?これは64ビットマシンであり、配列にN個の要素があると仮定します。したがって、これらの要素はすべて、異なるタイプの配列に対して2 * N、4 * N、または8 * Nバイトを占めることになります。 また、Courseraでの講義では、N要素配列では2 * N + 24、4 * N + 24、または8 * N + 24バイトを占有し、24バイトはオーバーヘッドと呼ばれますが、オーバーヘッドがなぜであるかは説明されていません必要。 また、オブジェクトには16バイトのオーバーヘッドがあります。 これらのオーバーヘッドは正確には何ですか?これらの24/16バイトは何で構成されていますか? また、これらのオーバーヘッドはJavaにのみ存在しますか?C、C ++、Pythonはどうですか?
9 java  memory 

3
記念品パターンの背後にある哲学
私はインターネットのさまざまな情報源からの記念品のパターンについて読んでいます。さまざまなソースからの情報の違いにより、このパターンが実際に必要な理由について混乱が生じました。 dofactory実装は、このパターンの主な目的は、システムの状態を復元することであると述べています。 Wikiによると、第一の目的はシステムの変更を復元できるようにすることです。これは別の影響を与えます-システムが復元を必要とせずにmemento実装を持つことが可能であると言っています。そして、その復元機能は、この機能の1つです。 OODesignによると ある時点でオブジェクトの内部状態をキャプチャし、後でオブジェクトをその状態に復元する機能が必要になる場合があります。このようなケースは、エラーまたは障害の場合に役立ちます。 だから、私の質問は、なぜこれを正確に使用するのですか?以前の状態を保存することですか、それとも世話人とメメントの間のカプセル化を促進することですか?このタイプのカプセル化がなぜそれほど重要なのですか? 編集:訪れる人のために、この実装をチェックしてください! 編集:私は問題の解決策の実装に取り​​組んでいます。それについて別の質問を投稿し、その質問をこの質問にリンクします。貴重なご提案をお寄せいただきありがとうございます。 編集3:ここに私のサンプル実装へのリンクがあります

8
集中型バージョン管理では、頻繁に更新することは常に良いことですか?
仮定して: チームは一元化されたバージョン管理を使用しています。 完了までに数日かかる大きな機能に取り組んでいますが、ビルドが中断するため、それより前にコミットすることはできません。 チームメンバーは、作業中のファイルの一部を変更する可能性がある何かを毎日コミットします。 これは一元化されたバージョン管理であるため、ある時点でローカルチェックアウトを更新する必要があります:新しい機能をコミットする直前に少なくとも1回。 コミットの直前に1回だけ更新すると、チームメイトによる他の多くの変更が原因で多くの競合が発生する可能性があり、一度にすべてを解決するのは苦痛の世界になる可能性があります。 または、頻繁に更新することもできますが、毎日解決する競合がいくつかあるとしても、少しずつ簡単に解決できるはずです。 頻繁に更新することを常にお勧めしますか?

2
「必要なものだけを要求する」インターフェースの原則はありますか?
基本的に「必要なものだけを尋ねる」というインターフェースの設計と消費の原則を使用するようになりました。 たとえば、削除できるタイプがたくさんある場合は、Deletableインターフェイスを作成します。 interface Deletable { void delete(); } 次に、ジェネリッククラスを記述できます。 class Deleter<T extends Deletable> { void delete(T t) { t.delete(); } } コードの他の場所では、クライアントコードのニーズを満たすために可能な限り小さな責任を常に求めます。したがって、を削除するだけでよい場合Fileでも、Deletableではなくを要求しますFile。 この原則は常識であり、すでに受け入れられている名前ですか?物議を醸していますか?それは教科書で議論されていますか?

2
リレーショナルデータベース回帰テストのデータ品質
私は、ミュージアムのアクセッション、寄贈、貸与、またはその他の方法で取得したアーティファクトを追跡するために使用されるオープンソースのミュージアムコレクション管理Webアプリケーションに取り組んでいます。 これには、(以前の経験と比べて)かなり大規模なデータベースの設計と作成が含まれ、さまざまな種類のさまざまな情報(アーチファクト情報、場所の変更情報、個人の連絡先情報、写真など)が格納され、柔軟で簡単に拡張できる必要があります。 。 私は大学の学位を取得したばかりで、データベースの設計に関しては専門家ではないので、自分が持っているものが「機能する」ことを確認するための完全なテストスイートを作成したいと思っています。 私はデータベースのテストを読み、データベースに関する回帰テストについて言及しているいくつかの記事に出くわしましたが、これがすべてに関係していることを完全には理解していません。Dr.Dobbsでこの記事を読んだことで、データベース内のロジックが正しいことを検証することが、必要なテストの1つであることを理解しています。したがって、特定のデータをデータベースに挿入するテストを作成し、それをクエリでフォローアップして、データベースから正しいデータが返されることを確認します(すべての適切なトリガーまたはビューが機能していることを確認します)。 混乱は、「データ品質」のテストについての言及で生じます。上記の記事で、著者はテストで以下を検証したいと述べています: 列ドメイン値のルール 列のデフォルト値のルール 価値存在ルール 行の値のルール サイズルール これにはどのような種類のテストが含まれ、どのように実装されますか?また、これはデータベースのテストスイートを初めて作成するのですが、テスト開発をガイドするために開始する方法/場所、または実行できるプロセスに関する優れたガイドラインはありますか?

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