ソフトウェア工学

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

2
スクラムでストーリーポイントを推定する最良の方法は何ですか?
プロジェクトの最初にポーカーの計画を立てる方法が好きです。各ストーリーの詳細を互いに比較して話し合うことができます。 私がこれで気付いた問題の1つは、時間の経過とともに問題ドメインでより多くの経験を積むにつれて、各ストーリー(つまり、最初は5または8の価値があったストーリー)に投票するポイントが少なくなるということですプロジェクトの今の価値があるかもしれません3。 この問題を可能な限り最善の方法で回避または対処するにはどうすればよいですか?推定するより良い方法はありますか?ストーリーは常に同じである必要がありますか、それともこのストーリーポイントは減少しますか?


1
現在の証拠は、正規データモデルよりもコンテキストデータの採用をサポートしていますか?
「標準」の考え方はソフトウェアに広まっています。Canonical Model、Canonical Schema、Canonical Data Modelなどのパターンは、開発中に何度も登場するようです。 多くの開発者と同様に、私は頻繁に、批判的ではないが、正規モデルが必要であるという従来の知恵に従いました。それ以外の場合は、マッパーとトランスレーターの組み合わせの爆発に直面します。または、少なくとも、数年前にやや悪名高いEFの「自信なしの投票」を初めて読んだときまで、私はそれを行っていました。 正規データモデルの追求をかつて支持していたという仮説は、そのアイデアが実践されたときに発見されるであろう要因を含まず、含めることもできませんでした。長年の試行錯誤の結果、正規データモデルが使用される可能性のある個々のコンテキストに個別のモデルを使用することが、最も複雑なアプローチではなく、最もコストのかからないアプローチであり、保守性と拡張性の向上につながります。コンテキストモデルを使用したアプリケーションとエンドポイントの比較。これは、正規モデルが行うソフトウェアエントロピーを促進しないアプローチです。 エッセイはその主張を裏付けるいかなる種類の証拠も提示していませんが、代替案を試すのに十分長い間CDMアプローチに疑問を投げかけ、結果のソフトウェアは文字通りまたは比喩的に爆発しませんでした。しかし、それだけですべてが孤立しているわけではありません。運が良かっただけかもしれません。 ですから、ソフトウェアシステムまたはアーキテクチャに標準モデルとコンテキストモデルを組み合わせた場合の実際的な長期的な影響について、真剣な調査が行われたのでしょうか。 あるいは、それを尋ねるのが早すぎる場合は、開発者/アーキテクトに、CDMから独立したコンテキストモデルへの(またはその逆の)CDMから個人的なエクスペリエンスへの切り替えについて書いてもらい、生産性、複雑さ、信頼性などの実際的な影響は何でしたか? 異なるレベルでの違いについてはどうでしょうか。つまり、単一のアプリケーションで同じモデルを使用する場合と、アプリケーションのシステムまたは企業全体で使用する場合の違いはどうでしょうか。 (事実のみ、お願いします。戦争の話は大歓迎ですが、憶測はありません。)

5
JVMベースの言語の中で明確なリーダーはいますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 これらのプロジェクトの現在の状況はどのようなもので、どれか1つ(または2つ)が明確なリーダーとして浮上していますか? この質問をする私の動機を示すために、数年前にあなたの心を投げ返してください。プロトタイプとjQueryは、MooToolsのような他のプレイヤーも生き残るために戦っていました。今日に早送りしてください。一般的なコンセンサスは、jQueryが最高の汎用JavaScriptライブラリーであるということです。 これらのJVMベースの言語を使用して、過去数年間で同様のことが起こりましたか?特定の言語が荒廃し、放棄されたことがありますか?私が読んだことから、Scalaは確かにお気に入りになる準備が整っているようですが、繰り返しますが、私が読んだほとんどすべてが数年前のものです。 もう少し調査を行いました。Googleトレンドを使用して、何年にもわたって検索ボリュームをチェックするというアイデアがありました。Groovyのボリュームが減少し、Scalaのボリュームが一定(最悪)またはわずかに増加(最高)の間、JythonとJRubyは比較的関心がないようです。これは正確な評価ですか? そして、はい、Jython、JRuby、Groovy、Scala、Clojureなど、JVM上の非Java言語を指します。
9 java  scala  jvm  groovy  jruby 

11
開発者が現在の雇用主に就職市場で活躍していることを通知した後、開発者が期待できる影響は何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8年前休業。 多くの開発者、特に同じ会社に何年も滞在している開発者、特に大企業で非常に健全なHRプレゼンスを持っている開発者は、おそらくこの状況に陥ることがあります。時間が進むにつれて、より多くのことを学び、新しいスキルを身に付け、より多くの責任を負うことになります。おそらく、開発チームを率いて始め、自分に質問し始めます。どうして私は同じ肩書きを持ち、同じ給料を受け取っているのですか(調整後)インフレのために)私が雇われたときに私は得ていましたか? 次のタイトルレベルに昇格するには、上司にどれだけ多くのことを行う必要があるかを上司に尋ねます。しかし、昇進した後も、給与は「HR上限」のままであり、あなたのスキルの市場価値はあなたが考えているものよりも10〜15kほど優れていることに気付きます。 あなたはまだプレイできる2枚のカードを持っています:1)新しい仕事を探します。たくさんの場所で面接してから、現在の会社を辞めるか、給与に見合うかどうかを確認します(個人的に、会社があなたに公正な価値を与える前に別の仕事を見つける必要がある場合、私はそれを続けませんその時点で会社)または2)履歴書が掲載されており、積極的にオファーを探していることを現在の雇用主に伝えます。あなたは管理、仕事、仕事をする人々に満足しているかもしれませんが、給与の10kの違いは重要であり、真の市場価値を得る唯一の方法は、市場に出ることです。だから、これはあなたが何かを見つけて去る前に給料を合わせるチャンスです。 トランプ#2の予想される影響は何ですか?現在の地位を離れるつもりであることを現在の会社に率直に伝えることが賢明ですか?

3
特定の言語での「経験」とは何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私は現在、CSの学生で、特にAndroidやiOS向けのアプリを開発したいという理由で、夏のインターンシップを探しています。さまざまな機会(私が特定したものだけでなく、あらゆるソフトウェア開発の機会)の要件を検討すると、「x、y、zなどの経験」と表示されます。私の質問:特定の言語またはテクノロジーの経験として正確に何がカウントされますか?VBからMIPSアセンブリに至るまで、大学の研究でいくつかの言語を使用する機会があったことは幸運です。しかし、個人的には、いくつかの例外はありますが、自分がポジションに落ちてx日付をyでコーディングするように指示するために使用してきたほとんどの言語については、十分な知識があるとは思いません。言語の基本を知っているかもしれませんが、 私が今直面している特定の例を使用するには:興味のあるインターンシップでは、要件としてCまたはC ++、あるいはその両方の経験をリストします。私はCでいくつかの作業を行いました。できることとできないこと、K&Rを所有して読んだり、ポインターの動作を理解したりしています。しかし、実際にはCで大量のコードを記述していません。いくつかの短いプログラムを作成し、他のいくつかを変更しましたが、実際にメモリ割り当てを管理したり、目的の機能を生成するためにいくつかの抽象化を考えたりしなければならないほど大きなものを書いたことはありません。そのため、概念的な理解はあるように感じますが、適用していません。概念の理解は経験としてカウントされますか?私は常に自分の知識を学び、拡大することに熱心ですが、私はまた、あまり約束したくありません(これはあなたがしていることの反対のようです) 考え?助言?

4
ローカルで水銀を使い続けたい小さな変更をどのように管理しますか?
14年前のCVSリポジトリ(履歴はそのまま)をMercurialに移行することを検討しています。私はすべての技術変換ビットを下げたと思いますが、私は水銀で効果的に働くことについていくつかの質問があります。 個人開発者のcvsサンドボックス(自分のものも含む)でよく目にすることの1つは、メインラインにプッシュする準備ができていないローカルのコミットされていない変更です。これは悪いことだと私は理解しています。hgを使った私の実験のほとんどは、コミットされていない変更は悪いことだと示唆しています。それらとマージできないことで十分です。だから私が知りたいのは、日々のコーディングで水銀を使用する他の人々がそれをどのように扱うかです。リポジトリを更新するときにコードの不完全な変更にどのように対処しますか?(まだ)他の開発者と共有したくないローカルな変更にどのように対処しますか?

4
コードのライセンスに関する質問。クライアントがコードを盗んだ
私がプロジェクトを担当したクライアントが、そのプロジェクトのソースコードを誤って作成してしまいました。愚かな私は知っています。取り決めは、彼らが製品を手に入れることであり、ソースコードを入手することは決してないというものでした。しかし、明らかに、彼らは現在、高速なものを引き出し、ソースコードを使用して他のクライアント向けの独自の製品を作成しようとしています。 今私はそれから大したことをしたくありませんが、私は誰もが使用できるオープンソースプロジェクトとしてコードをリリースすることを考えています。 彼らがこれについて*嫌いな人だと決めたら、あなたは私が何をする/あなたがコードをリリースすることを提案しますか?

5
C ++ / Javaを使用して商用目的のソフトウェアを開発する
後で販売する予定のプログラムを開発する予定です。私はそれをコーディングする言語を決定しようとしています、そしてC ++またはJavaに絞り込みました。 私は、GNUのGCCおよびOpenJDKに使用されているGPL v2およびv3ライセンスを経験しました(そうです、ある程度の法的事項は理解できますが、すべてを理解できるわけではありません)。しかし、誰もが不明瞭な点が1つあります(これは最初に回答されたものの1つであるIMOです):C ++ / Javaを使用してプログラムを開発し、GCCコンパイラーまたはOpenJDKのコンパイラーを使用してコンパイルした場合、私のプログラムもGPLの下に置くには? 私の知る限り、私はプログラムに任意のライセンスを割り当てる完全な権利を持っていますが、欠点があります。ライセンスには、GPLにあるライブラリにリンクしてはいけないと書かれています。もしそうなら、私は自分のプログラムをGPLでリリースしなければなりません。 今、私はC ++ / Javaの何がライブラリと見なされるのかわからないので、C ++の通常のもの(iostream、リスト、マップなど)または標準JDKの一部として利用可能な通常のJavaクラス/インターフェースを使用する場合6配布(文字列、リスト、マップなど)、これは「ライブラリへのリンク」を構成しますか?
9 licensing  gpl 

3
滝に焦点を当てた人々にアジャイルプロジェクトを表す方法[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私たちのチームは、私たちの開発努力をプロジェクト計画に表すよう求められました。私たちの仕事に不満を抱いたり、提供能力に疑問を投げかけたりする人はいません。プロジェクト計画のIT牛募集に参加しているだけです。問題は、私たちがアジャイルチームであり、正式なプロジェクト計画の観点から私たちの仕事について考えたことがないことです。 私たちは次に何をしているのかについての一般的な考えを持っていますが、反復を計画するまで100%確信が持てません。これまでのところ、私たちのチームは大部分が孤立していて、私たちの方法論や測定基準を外部の関係者に提示する必要はありませんでした。私たちは、エクストリームプログラミングで採用されているほとんどのプラクティスに従います。 四半期ごとに計画する会議を開催して、四半期に向けて取り組むストーリーの概要を把握します。とは言っても、私たちのストーリーは3x5カードで文書化されており、それらが機能するイテレーションの開始時にのみ推定されます。見積もりの​​後、そのストーリーをTeam Foundation Severに文書化します。イテレーション中、ストーリーにコードを添付し、ストーリーが完了したらストーリーに完了のマークを付けます。このデータから、バーンダウンチャートと速度チャートを生成できます。最も重要なのは、反復の平均速度がわかっているため、噛む以上に噛み付かないようにすることです。 私は開発方法を変更するつもりはありませんが、ウォーターフォールに精通している人だけが理解できるレポートで開発活動を紹介したいと思います。ではアジャイルプロジェクト計画のように見えるが何をするか、ケントマクドナルドはアジャイルとウォーターフォールプロジェクト計画との違いをレイアウトする良い仕事をしていません。彼は消耗品の弾丸の違いを明記しています: アジャイルプロジェクト計画は機能ベースです アジャイルプロジェクト計画は反復に編成されます アジャイルプロジェクト計画には、時間枠に応じて詳細レベルが異なります アジャイルプロジェクト計画はチームが所有しています 違いを説明できるのは素晴らしいことですが、データを提示するにはどうすればよいでしょうか。

4
影響分析文書に何を入れましたか?
したがって、バグを修正しているときに、ソフトウェア製品の他のモジュールに影響を与える可能性のあるバグに遭遇しました。あなたのデータは、修正の影響についてのあなたの主張をサポートするのに十分ではなく、影響分析文書を作成するように求められました。 これを行う方法について定義されたプロセスはありますか? 必要な重要な情報は何ですか? このドキュメントの既知のフォーマット/テンプレートはありますか?

6
組み立ての問題を練習しようとすべきですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私はProject Euler Problem 48を見ていました。 シリーズ、1 1 + 2 2 + 3 3 + ... + 10 10 = 10405071317。 シリーズの最後の10桁、1 1 + 2 2 + 3 3 + ... + 1000 1000を見つけます。 Pythonではこれを1行で行うことができます: sum((x**x for x in xrange(1,1001)) しかし、これに相当するアセンブリは100行であり、実際の課題です。 これらのパズルのいくつかをアセンブリで実行して、低レベルのプログラミングに関する洞察を得て、コンピューターが実際にどのように機能するかを理解する必要がありますか?

3
日付と時刻について考える場合、今日の真夜中は過去または未来ですか?
これは常に私にとってはパズルです。プログラミングやソフトウェア開発では厳密には問題ではありませんが、私たちの分野では一般的な問題のようです。 たとえば、有効期限の日時を2011-04-08 00:00:00に設定した場合、現在の現地時間が8日の10:45であるとすると、すでに期限切れになっていますか?それとも、まだ半日ほど残っていますか? 真夜中の1日の終わりが「属する」ための普遍的な標準はありますか? または私はイギリス軍から葉を取り、その日は23:59:59に終わり、00:00:01に始まり、真夜中がないと言うべきでしょうか?

4
ユーザーはLGPLをGPLとして、またはGPLをAGPLとして再ライセンスできますか?
LGPL(ここでは説明を簡単にするためにバージョン3を想定しています)はGPLの制限の少ないバージョンです。同様に、AGPLはGPLの制限の多いバージョンですが、LGPLコードを使用できます。追加を行う(または行わない)、GPLまたはAGPLとして再ライセンスする。GPLコードを変更してAGPLとして再ライセンスできますか?
9 licensing  gpl  lgpl 

5
一般化よりも構成を優先することをどうやって知ることが常に正しい選択でしょうか?
オブジェクトが物理的に存在するかどうかに関係なく、さまざまな方法でモデリングすることができます。多くの場合、一般化または合成を任意に使用できます。ただし、「一般化よりも構成を優先する」というGoFの原則により、構成を使用するようにガイドされます。したがって、たとえばラインをモデル化する場合、Point(一般化)を拡張する代わりに、タイプPoint(構成)の2つのメンバーPointAおよびPointBを含むクラスを作成します。これは、オブジェクトが通常ははるかに複雑であるにもかかわらず、モデル化するための構成または継承を任意に選択できる方法の単純化された例にすぎません。 これが正しい選択であることをどのように知ることができますか?少なくとも、それが間違っている場合に実行すべき大量のリファクタリングが存在する可能性があるため、問題になりますか?

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