ソフトウェア工学

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

5
ソフトウェア開発におけるスピーチ[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 仲間のキュービクルの住人に挨拶します。 私は自分の役割が「機能管理者」から「機能開発者」に徐々に変わっていることに気付きました。前者の多くは、既存の機能の修正および/または更新で構成されますが(完全な素朴さで実装について静かに不平を言っています)、この新しい役割で私は見つけます: 新機能をターンアラウンドするための開発要件を定義するために、即時の管理者と通信する必要があります 新機能のユーザー要件を決定するために、設計と通信する必要があります 開発中の現在の状態と同様に、新しい機能のテストセットを決定するためにQAと通信する必要があります。 プロデューサー/プロジェクトマネージャーと通信して、残りの所要時間と開発要件の更新を定義する必要があります。 最後に、新しい機能を保護し、今後のリリースへのリスクが最小限に抑えられることを示すために、上級管理者と時々通信する必要があります。 ここで最後の項目が重要であり、これを完全に実現するまでに2、3回の機会がありました。全体として、コミュニケーションスキルが重要であることが非常に明らかになります。特に、開発中の機能を「所有している」と感じる開発者にとってもそうです。 このすべてが、私はそれが重要であると認識しており、この分野でのスキルをさらに向上させたいと考えています。私は1対1のコミュニケーションを楽しんでいますが、私がよく知っている少数の人々よりも大きなグループと話すと、少しstりがちになります。 自分のコミュニケーションスキルを向上させるための優れたリソースはどこにありますか?

13
ソフトウェア会議でエチケットのどのルールに従うべきですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 出席者、講演者、またはベンダーとして、私はソフトウェア会議でのエチケットの暗黙のルールが何であるかを知りたいと思っていました。目もくらむほど明白なもの以外(あなたが勝てなかったのでiPadラッフルの勝者を攻撃しないなど)。 言う必要がないと感じたとしても、従うべき規則は何ですか? 回答ごとに1つのルールを入力してください。太字のサマリーが回答の先頭になります。複数のルールがある場合は、複数の回答を投稿してください。
19 etiquette 

6
フリーソフトウェア企業の一般的な収益モデルは何ですか?
「ビールのように自由」なソフトウェアの開発者でさえ、人々は食べなければなりません。このような企業がソフトウェアを直接販売していないときに使用される一般的な収益モデルには、どのようなものがありますか?1つまたは2つ(広告契約とサポート契約)知っていますが、他にもありますか? Walterが指摘したように、モデルの長所と短所がわかっている場合は、それらを含めてください。

6
C ++のインライン関数。ポイントは何ですか?
私が読んだことによると、コンパイラーはインライン関数の関数呼び出しをその本体で置き換える義務はありませんが、可能であれば置き換えます。これは私に考えさせられました-それが事実である場合、なぜ私たちはインラインワードを持っていますか?デフォルトですべての関数をインライン関数にして、呼び出しを関数本体で置き換えることができるかどうかをコンパイラーに判断させてみませんか?

11
今まで見た中で最高のオープンソースコードは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 オープンソースの価値の一部は、新しいプラットフォームや言語を使い始めた人々に素晴らしいサンプルコードを提供することです。 あなたが出会った中で最高のオープンソースコードは何ですか、そしてなぜあなたはあなたの選択が好きですか?どの言語でもかまいませんが、特に指摘できるObjective-Cの最良の例に興味があります。 明らかにこれは自由回答形式の質問なので、しばらく質問を開いたままにして、どのような回答が得られるかを確認します。 ありがとう! 編集:「最高」のために、私は与えられた言語またはプラットフォームのイディオムに従うコードを考えていました。また、コードを「プロフェッショナル」にする部分を含める-良いドキュメント、テストスイートなど。非常に簡潔な、またはおしゃべりなコードよりも、あまり賢くないことをお勧めします。
19 learning 

14
現代のソフトウェア開発では良いコードは不可能ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 開発ツールがより強固で堅牢になったとしても、優れたコードを書くことは困難になっているようです。そのツールでさえも強力であり、コードの品質は向上していません。私は2つの重要な要素を思いつきます。時間は短く、プロジェクトはより複雑です。現在使用しているツールはより強力であるため、より複雑なコードを書く方が簡単ですが、計画する時間がないため、振り返らずにコードの品質が低下し、バグとメンテナンスが増加します。以前に複雑なコードを書いたわけではありません。もっと複雑なコードを書くということです。 私の質問は次のとおりです。より強力な言語とツールがあることを考慮してください。 良いコードを書くのが難しいのはなぜですか? 要因、時間、複雑さがこれに寄与していますか? 方法論は正しく実践されていませんか? 私が考えるプロジェクトのタイプは、非常に複雑でビジネスロジックのあるエンタープライズアプリケーションです。「良いコード」の定義は個々のものです。「良いコード」の解釈にとらわれないでください。

3
世界中の開発者とソフトウェア会社に関する統計情報はどこで入手できますか?[閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 6年前に閉鎖されました。 私は非常に難しい質問の答えを見つけようとします。質問は: 世界中に何人の開発者といくつのソフトウェア会社がありますか? たとえば、オーストリアの統計ページを確認すると、オーストリアには35522人の従業員が「コンピュータープログラミング、コンサルティング、関連活動」と定義された8383社、15171人の従業員が「情報サービス活動」と定義された別の4102社があります。 この統計は良好ですが、オーストリアのみの統計です。ヨーロッパ、アメリカ、世界中に同様のものがありますか?

3
特定の問題はAOPでよりエレガントに解決されますか?
私はアスペクト指向プログラミングのアイデアに出会いましたが、それに懸念があります。 基本的な考え方は、オブジェクトを使用して十分にモジュール化されていない横断的な懸念を取り、それらをモジュール化することです。それはすべて非常に素晴らしいです。 しかし、AOPの実装は、モジュールの外部からコードを変更することのようです。そのため、たとえば、特定のオブジェクトが関数のパラメーターとして渡されたときに何が起こるかを変更するアスペクトを作成できます。これはモジュールの考え方に直接反するようです。そのモジュールの外部からモジュールの動作を変更することはできません。そうしないと、モジュールのポイント全体が覆されます。しかし、アスペクトはまさにそれをしているようです! 基本的に、アスペクトはコードパッチの一種のようです。簡単なハックに役立つ場合があります。しかし、一般的な原則として、おそらくあなたがやりたいことではありません。アスペクト指向プログラミングは、私が悪い習慣をとっており、一般的な設計原則に引き上げているように思えます。 AOPは良い習慣ですか?特定のプログラミングの問題はAOPでよりエレガントに解決されますか?

6
自分が何を望んでいるかわからないクライアントと協力する
私は最近、既存のシステムで作業する仕事を始めました。調整と更新、および新しいコードが必要です。私はいくつかの保守/機能追加プロジェクトを今やっていますが、それらのいくつかは実際に要求されたものとは大きく異なってしまいました。そのため、リクエスターが望む場所に到達するために、アイテムを数回プログラムする必要がありました。 今、私はそれが行われる必要があるものであれば、機能を再プログラミングすることを気にしません。ただし、プロジェクトの所要時間を短縮したいと思います。ボトルネックは、実行する必要のあるものに対する要求者の認識にあるようです。リクエスタがより迅速に必要とするものを把握するために私ができることについて何かアイデアはありますか?

4
MSDNサブスクリプションは何を提供しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 Ultimateサブスクリプションの価格が1年間$ 12,000であることに気付いたので、興味があります(その後、更新するには$ 3,800です)。サブスクリプションチャートを見ると、通常はそれ自体が高価なソフトウェアがかなり手に入ります。 パッケージは1人向けですか、それとも何らかのビジネスタイプのバンドルのようなものですか?後者の場合、それをある程度理解できますが、12か月しか続かない何かをだれかに転倒させる12の壮大さがどこにあるのか、私には分かりません。 とにかく、はい、私の質問は、これは誰にとっても良い取引ですか?たぶんそれは業界経験のない私だけであり、これは実際に盗みであり、数百万の企業が今すぐそれを購入する必要がありますが、私はこれがお金の価値があることを個人的に想像することはできません。
19 microsoft 

7
どのような問題に対して、オブジェクト指向プログラミングは良い選択ではありませんか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 この質問にある程度触発されました:関数型プログラミングはどのような一般的な問題に適していませんか?-しかし、それでも私はいつも欲しかった質問ですが、尋ねるのは怖すぎました。 私は... でした。まあ、それは工学ソフトウェア開発とほぼ一生涯呼んでいます。その間ずっと、オブジェクト指向は常に存在していましたが(ほとんどの場合)、使用する必要はありませんでした「その方法」、またはそのパラダイムを学ぶこと。私たちは常にかなり単純なプログラム構造、ルーチン/関数/モジュールを使用してきましたが、それらのプログラムを管理する今日のベストプラクティスとは反対ですが(約300k LOCまでのプログラム、大きすぎない)、決して難しいことはありませんでした。 それで、私はあなたに尋ねたいと思いました、どのオブジェクト指向パラダイムは良い選択ではないでしょうか?手続き型プログラミングと比較して?
19 paradigms 

10
Java開発者はScalaについてどう思いますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 IDEのサポートはそれほど良いものではありませんが、言語自体は関数型プログラミングのイディオムをよりきれいにサポートしています。

5
複雑なJavaScript UIの開発アプローチ[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 複雑なクライアントサイドJavaScriptの開発に関するさまざまなアプローチの状況とベストプラクティスを理解しようとしています。 このクラスのアプリケーション、おそらく重いAJAXまたはRIA(ただし、Flash / Silverlightなどのプラグインではない)に何をラベル付けするのかわかりません。これらの特性を備えたWebアプリを参照しています。 JavaScriptでリッチ/ネイティブデスクトップUXをエミュレートします サーバーをデータAPI(JSON / Html-Templates)として使用して、クライアント側JSのほとんど/すべての動作を含みます。 これは、UIレンダリングにWebサーバーを使用して、ページ更新モデルですべてのHTMLを生成するのとは対照的です。 以下に例を示します。 Googleドキュメント/ Gmail マインドマイスター ピボットトラッカー HTML5に進むと、このスタイルのRIA開発が、重いJavaScriptを使用して、競争するためにますます一般的かつ必要になっていることがわかります。 質問:では、これらの種類の重いJS開発の管理に関して浮上している一般的なアプローチは何ですか? アプリの機能が大きくなるにつれて、クライアント側のコードは非常に複雑になります。生のJSを使用して複数のチームにまたがって開発作業をスケーリングする際に問題が発生します(または、私はそれを聞いており、信じることができます)。 Googleは、高レベル言語(Java)からJSにコンパイルするGWTを構築し、高レベル言語にある既存の開発インフラストラクチャ(Eclipse、強力な型付け、リファクタリングツール)に加えて、ブラウザの互換性を抽象化することで問題に取り組みました。開発者から離れた他の問題。 同様のことを行うC#用のScript#など、他のツールもあります。これはすべて、JSをIL(中間言語)の役割にします。すなわち。「あなたは本当にその「低レベル言語」で書くことはありません。」 しかし、この「JSにコンパイル」が唯一のアプローチではありません。GWTが支配的なアプローチであることは明らかではありません...または実際にそれになるでしょう。 リッチクライアントJavaScriptを使用して人々は何をしていますか?いくつかのオリエンテーションに関する質問: ほとんどのショップはJSを手動で作成していますか(jQueryなどのライブラリの上)。 または、明確なベストプラクティスが明らかになっていない、多くの異なるアプローチがありますか? ほとんどのショップは、RIAスケールの開発を避けて、よりシンプルな開発者向けのサーバーサイド/ページ再描画モデルを支持していますか?もしそうなら、これは続くでしょうか? JSへのコンパイルは、おそらく新たな将来のトレンドですか?それとも、これは間違っているのでしょうか? クライアントJSの複雑さとリファクタリングをどのように管理していますか? チーム間の作業のモジュール化と分散? MVC / MVPなどのクライアント側パターンの適用、実施、テスト では、このJavaScriptとHTML5のこの重い未来の新しいトレンドはどのようなものでしょうか? ありがとう!

4
ソロ開発者にDVCSを使用する利点はありますか?
今、私は自分のサーバー上で視覚的なsvnを使用し、私のマシン上でankhsvn / tortoiseを使用しています。それは十分に機能し、変更する必要はありませんが、DVCSを使用することの利点を確認できる場合は、試してみてください。 ただし、他の人なしでそれを使用しても意味や違いがない場合は、気にしません。 繰り返しになりますが、あなたが唯一の開発者であるときにDVCSを使用する利点はありますか?

9
時間追跡へのハードコピーアプローチ
問題があります:特定の機能/欠陥/などをコーディングする際に、タスクの時間を追跡するのが面倒です。私はタスク間をかなりジャンプする傾向があります(一部はプロのソフトウェア開発に必要な継承ジャグリングが原因で、一部はコードに関するビジネスプロセスではなくコード自体に集中する個人的な傾向が原因です)。 私の個人的な好みは、ハードコピーシステムです。画面上に数十億ピクセルの不動産がありますが、トラッキングウィンドウを便利に保つのは非常に気が散ります。私はそれを忘れるか、それが私の邪魔になります。 そのため、時間追跡に関する提案を探しています。私の唯一の要件は、タスクごとの開始/停止時間を追跡するシンプルなシステムです。タイムクロックを購入し、各チケットに専用のタイムカードを与えることまで考えました。作業を開始したら、パンチインします。作業が完了したら、パンチアウトします。

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