ソフトウェア工学

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

4
なぜMS Data Accessのストーリーがそんなに壊れているのですか?データアクセスの性質ですか、それともMSですか?
このStackOverflowの質問では、「Microsoft.Data.Objectsはどこで入手できますか」と尋ねられます。 答えは、おそらくEntity Framework 4のCTP4(コードファースト)リリースであることが判明しましたが、そこには多くの推測があります。含む System.Data エンティティフレームワーク Microsoft.ApplicationBlocks.Data Microsoft.Practices.EnterpriseLibrary.Data 10年前に誰かがDAO、RDO、ADOを入手した可能性があるために同様の質問をした場合。 これは単なる獣の性質なのか、それともMSなのか。 このパターンは他のベンダーでも発生しますか?基本データアクセス戦略はどこでラップまたは変更されますか?

3
Visual Studioがバージョン番号を自動的にインクリメントしないのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 この質問は、VS 2010でバージョン番号を自動更新する方法を尋ねました:https : //stackoverflow.com/questions/4025704/publishing-in-net-produces-application-files-myapp-someversionnumber-how-to-ge 答えは、アセンブリバージョンとファイルバージョンの両方を手動で更新する必要がありました 公開するたびにバージョン番号を増やすべきではありませんか?なぜ手動で行う必要があるのですか?これは、MSがこの方法で行うという意識的な決定ですか?人々が自分のバージョン番号を手動で更新することの背後にある考え方は何ですか?

7
「ソフトウェアエンジニアリング」ではなく「ソフトウェアクラフツマンシップ」と呼ばれる特定のプラクティスはどれですか。[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 ない新しい発想年の最後のカップル以上のソフトウェアクラフトマンシップへの関心に大きな増加(特に、多くの場合、お勧め書籍クリーンコードの完全なタイトルがあるされているように思わ:アジャイルのAハンドブッククリーンコードソフトウェア職人)。 個人的には、ソフトウェアクラフツマンシップは優れたソフトウェアエンジニアリングであり、最終結果が(エンドユーザーとしても、そのソフトウェアを保守する人としても)楽しめることを保証することに追加の関心を抱いています。物事のより高いレベルは物事を処理します。 類推するために-50年代と60年代に非常に近代的なスタイルで建設された多くの建物があり、それらに住む人々やそれらの建物の経年変化をほとんど考慮していませんでした。これらの建物の多くは急速にスラム街に発展したか、予想される寿命よりもずっと前に取り壊されました。数年の経験を積んだほとんどの開発者は、同様のコードベースを経験しているはずです。 ソフトウェアの職人がソフトウェアエンジニア(おそらく悪いもの)ができない特定のことは何ですか?

5
非常に少ない情報でデバッグするためのヒント?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私はかなり大きなコードベースを持つプロジェクトを継承しましたが、元の開発者がメールに返信することはめったにありません。いくつかの方法がありますが、すべてを知っているわけではありません。これらのパスに沿った多くの重複コード(たとえば、比較的同じことを行う5ページに含まれる機能ではなく、5ページにコピーされたコードです)、およびデータベース内のいくつかの微妙な問題(私たちは皆、スパゲッティコードを聞いたことがあります) 、しかしスパゲッティデータベースについて聞いたことはありますか?) これらすべてのことで、ほとんどの場合は問題なく対処できます。 問題は、クライアントがどこかでバグを見つけたときです。彼らは通常、最終的な問題のスクリーンショットを送信し、「これを見てください」と言います。間違っているページ上の特定のもの、および予想されるものを強調表示します。それ以上の情報はほとんど与えられず、彼らと話をしてもっと得ようとすること(結果を得るために彼らがしたことなど)は、歯を引っ張るようなものです。 基本的に、これは次のように要約されます。 大規模で複雑なコードベース 物事がうまくいかない多くの多くの方法 バグの発生に関する情報はほとんどありません 誰かがこの種のことをデバッグする方法についてのヒント、トリック、提案などを持っていますか?
11 debugging 

13
プログラマーがメッセンジャーやFacebookなどのソーシャルネットワークを使用できるようにしますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私には多くのボスがいましたが、それぞれがWindows Live Messenger、Facebook、および他の多くのインターネットサイトの使用を許可するかどうかについて異なるアプローチをしていました。 もちろん、特定のタスクを解決する最良の方法について研究するには、インターネットが本当に必要です。時々、オンラインの友人や、何かをよりよく知っているプログラマーがいることもあります。 一部のマネージャーにとって、インターネットアクセスはプロジェクトの進行を遅くし、一方で、人々が相互作用し、新しいソリューションを見つけられるようにします。 あなたならどうしますか?

3
テスター(品質保証)人はスクラムチームで何をすべきですか?
統合されたテストサポートと独立したQAスタッフを持たないスクラム環境から、テスター(QA担当者)はどのようにスクラムチームと最適に統合されますか?彼らは何をすべきでしょうか? 参考のために、いくつかのテスト関数は次のとおりです。 単体テスト 統合テスト 機能テスト 性能試験 受け入れ試験
11 testing  scrum 

4
複数のプログラミングプロジェクトを並行して実行している場合、タスクに優先順位を付ける方法は?
5人の顧客がいて、それぞれに2つまたは3つの異なるプロジェクトを開発するとします。各プロジェクトにはX iタスクがあります。 各プロジェクトには2〜10週間かかります。 リソースが少ないため、管理オーバーヘッドを最小限に抑えることが望まれます。 このシナリオの2つの質問: オーバーヘッドを最小限に抑えながら、タスクに優先順位を付けて完了を追跡するためにどのツールを使用しますか? 主な目的がスループットの向上である場合、次の利用可能なリソースに割り当てるタスクを決定するためにどの基準を考慮しますか(時間単位ごとに終了するプロジェクトが多く、この目的は、1つのプロジェクトを開始して終了し、次に進むと競合します)次))? アイデア、管理手法、アルゴリズムは大歓迎です

7
不信のクライアントと連携することは可能ですか[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 私たちのジュニア開発者の1人に新しいクライアントが割り当てられています(まだクライアントを持っていませんが、彼のニーズを満たすことができるかどうかを確認するために彼とまだ協力しています)サーバーにアクセスせずにプロジェクトで作業を行う。 私は、彼が外部委託したいくつかのオフショア会社によって以前に彼のコードが盗まれたことが判明したクライアントと直接話をしました。これは私をより共感しましたが、私はまだこれについて複雑な感情を持っています。 一方で、私たちはすべてが悪いリンゴではないことをクライアントに証明したいと思います。また、彼と良い仕事をすれば、彼のすべてのプロジェクトのために私たちを雇う忠実なクライアントを得ることができます。これは以前に聞いたことはありませんが、私たち全員が認めたいと思うよりも頻繁に起こると思います。 一方、私は彼と一緒に仕事をすることをためらっています。なぜなら、展開の時間は悪夢であり、私のキャリアや教育のどこでも彼のようなクライアントと仕事をする方法を教えてくれた場所はないからです。私(または後輩の開発者)は、ソースを展開するためにソースをどう処理するかについて詳細な説明を書く必要があります。これは、1時間ですべてを展開してテストすることができて面倒な負担です。 私が言ったように、私は以前これに対処する必要はありませんでした(私たちは非公開に署名していますが、明らかにオフショア会社も私たちの前に署名しました)。私たちは完全に予約されていないので、すぐに代わりになるわけではありませんが、仕事を求めているわけでもありません。 もう1つの側面は、エクスペリエンス自体が私たちにとってやりがいのあるものになる可能性があることですが、すぐに同様のクライアントを獲得する可能性すらあるので、経験する価値があるということです。そのようなクライアントに準拠することさえ期待されていますか? それで、私はこれについて直接の経験がなく、それが学校で確実にカバーされなかったので、クライアントとのより長い経験を持つ人々は、このような不信のクライアントにどのように対処しますか?あなたも仕事を受け入れますか?

12
ブール論理の保守性-ステートメントが必要な場合、ネストしますか?
これらのどれが保守性に優れていますか? if (byteArrayVariable != null) if (byteArrayVariable .Length != 0) //Do something with byteArrayVariable または if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0)) //Do something with byteArrayVariable 私は2番目のものを読み書きすることを好みますが、そのようなことを行うと保守性が悪くなることを完全なコードで読んだことを思い出します。 これはif、最初の部分がfalseであり、すべての言語がそれを行うわけではない場合、2番目の部分を評価しないように言語に依存しているためです。(nullで評価された場合、2番目の部分は例外をスローしますbyteArrayVariable。) それが本当に心配なのかどうかわからないので、質問に対する一般的なフィードバックをお願いします。 ありがとう。

5
ソフトウェアが「オープンソース」ではなく「利用可能なソース」であることはあなたにとって重要ですか
おそらく、OSIによって公式に承認されたオープンソースライセンスのリストをご存知でしょう。最も注目すべきは、GPL、MIT、[お気に入りのライセンスをここに挿入]だと思います。 私は最近、オープンソース(作成者がすべてのソースコードを利用可能にしました)であるが、それらの公式ライセンスの1つでは公式にオープンソースではないプロジェクトに出会いました。 ソースをリリースしましたが、将来ソースをリリースする約束はしませんでした。 変更の提案は許可されていましたが、パッチを受け入れることは約束されておらず、外部からパッチを当てたバージョンの外部配布は許可されていませんでした。 商用プロジェクトまたは有料プロジェクトでのソフトウェアの使用は許可されていましたが、ソフトウェア自体の販売は許可されていませんでした。 私たちはそれを考えるのが好きなので、オープンソースではなく「利用可能なソース」と呼ぶことができると思います。 会社の経営陣がこのソフトウェアでビジネスをしたくない理由を私は見ることができます。彼らはそれをフォークすることも、販売することも、ソフトウェアの独自のバージョンを作成し、配布または販売することもできません。 しかし、このソフトウェアを使用しているソフトウェアエンジニアリングチームの一員として、あなたにとって重要なことでしょうか?私はまだそれで仕事を終わらせることができます、私は私が支払われているプロジェクトでそれを使用できます(しかし、私はソフトウェア自体を販売することはできません、とにかくすることのビジネスではありません)、そして私はできますコードに変更を加えて、ニーズに応じて異なる動作をするようにします(ただし、それらの変更を公開することはできません)。また、それらの変更を公式に他の人が利用できるようにしたい場合、承認はプロジェクト自体に委ねられ、それらを公式リリースに組み込むかどうか。 したがって、この「利用可能なソース」ソフトウェアに基づいてビジネスを行いたい企業はそれができないことを知っていますが、ソフトウェアエンジニアリングチームの誰かとして、それらの違いはあなたにとって重要ですか、それとも関連性が低いと思われますか? 他の人がこれについてどう思うか興味があります。

5
プログラミング言語は、数学のように変数を使用しますか?
数学では、変数は任意の数をそこに置くことができることを意味し、方程式は依然として真です root(square(x)) = abs(x) プログラミング言語では、そうではありません。変数は変更できます。Pythonの場合: y = (x**2)**.5 x *= 2 assert y == abs(x) 最後の行のxは同じではないため、例外が発生します。 不変変数を使用するプログラミング言語はありますか?

6
この新しいif-then構文についてどう思いますか[クローズ]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私は、if-elif-elseコントロールで本当にクールなものを考えていました。 if condition: stuff() elif condition: otherstuff() then: stuff_that_applies_to_both() else: stuff_that_doesnt_aply_to_either() したがって、基本的にa thenは、else条件を除いていずれかの条件が実行されたときに実行されます。これは便利だと思いますか?Pythonのtry-except-elseに似ています。 皆さんの中には、非常に予備的な実装を選んでいる人もいると思います。thenブロックは、同じようになりelse、ブロックtry-exceptのpythonでブロック。私がこれを提案する本当の理由は、このような状況のためです。 m = {} if condition == '1': m['condition'] = condition elif condition2 == '3': m['condition2'] = condition2 elif condition3 == 'False': m['condition3'] = True then: run_test_that_relies_on_one_of_the_conditions_being_true() return m thenちょうどのような場合、ブロックは、最初にスコープされてelseいます。したがって、ネストはうまく機能します。ifステートメントの前にメソッドを実行する必要がある場合、それはこのユースケースとはまったく関係ありません。
11 syntax 

4
MSDNのサブスクプションは個人的に使用する価値がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私は主に職場の.netでコードを作成していますが、Microsoft開発用の最新テクノロジーと連絡を取り合うためのツールとして、自宅のMSDNサブスクリプションが利用可能/価値があるかどうか疑問に思っていましたか?
11 tools 

5
アーキテクチャ記述文書はDRY原則の違反ですか?
DRY Principle(Do n't Repeat Yourself)は、「すべての知識は、システム内で単一の明確な権威ある表現を持たなければならない」と述べています。ほとんどの場合、これはコードを指しますが、多くの場合、ドキュメントにも拡張されます。 すべてのソフトウェアシステムには、選択したかどうかに関係なくアーキテクチャがあると言われています。つまり、構築するソフトウェアには構造があり、その「構築された」構造がソフトウェアのアーキテクチャです。 構築されたソフトウェアシステムにはアーキテクチャが付属しているため、そのシステムのアーキテクチャ記述を作成することはDRY原則に違反していますか? 結局のところ、アーキテクチャを知る必要がある場合は、常にコードを見ることができます...

7
研究開発に参加するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 私は、R&Dの仕事に最も適しているのではないかと考え始めています。なぜなら、私は自分が創造的になることができる仕事が好きだからです。私は一般に、物を作るよりもパズルを解くことに興味があります。要件をコードに変換することだけに要約される仕事は本当に嫌いです。 しかし、ここにキッカーがいます:私は、学士号や修士号や博士号を取得しているわけではありません。このような仕事に就くことは可能ですか?
11 research 

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