ソフトウェア工学

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

2
大規模なMercurialリポジトリは「プッシュレース」の影響を受けますか?
Programmers.SEに関するいくつかの質問に対するいくつかの「なぜDVCSが優れている」という回答を読むと、大規模なプロジェクトでコミットレースを行わないため、IEコミットが古くなっているため、一般的にDVCSが優れていると言われています。更新、コミット、期限切れ、コミット、まだ期限切れなど DVCSは、プッシュの概念でこれを制限します。しかし、非常に大きなプロジェクトでは、特に1日の終わりに「プッシュレース」が行われることはないでしょうか。私はGitでこれがすべての定数分岐によっていくらか改善されることを知っていますが、Mercurialでは分岐せず、新しいヘッドを作成します。 私が見る問題 ユーザーがプッシュしようとしています 古くなっている(ローカルリポジトリが古い場合、Mercurialではプッシュできないため)ローカルの変更をプルしてマージする ユーザーがもう一度プッシュしようとしたが、他の人をマージしているときにプッシュされたため、再び古くなっている もう一度プルしてマージ まだ時代遅れ 繰り返す 聞き覚えがある? これは非常に大きく人気のある水銀レポの実際の問題ですか?誰もがその日の最後のプッシュを行うとき、社内ではどうですか?
9 mercurial  dvcs 

7
プロセス改善タスクに「ユーザーストーリー」を使用できますか?
現在、JIRAを使用して開発作業を追跡しています。私の経営陣は、ソフトウェア以外の開発関連のタスクを含め、すべてを「ユーザーストーリー」としてフォーマットおよび分類したいと考えています。例えば: 「テストマネージャーとして、自動テストのみを使用し、手動テストを使用せずにアプリケーションのテストを実行して、アプリケーションをできるだけ効率的にテストできますか? 承認基準:1. 50の既存の手動テストを完全に自動化されたテストに変換します2.テストは1時間未満で実行する必要があります ソフトウェア開発プロセスをサポートする作業に「ユーザーストーリー」を使用することが理にかなっていて、プログラマーによって行われず、成果物コードが直接生成されない場合は、コミュニティから理解を得たいと思います。または、これを別の方法で処理/分類する必要がありますか(たとえば、JIRAで)? 2011年6月7日更新-「ユーザーストーリー」という用語に焦点を当てた質問に言い換え。
9 agile  stories 

7
チームを通じて能力をどのように配分すべきですか?
これを読んだ後、さまざまな能力を持つ開発者のグループ(別名ほとんどすべてのチーム)内でアジャイルチームをどのように構成すべきかについて、多くの意見の相違があるように見えました。優秀な開発者全員を自分のチームに配置し、最も優先度の高い仕事を与えるべきですか?これにより、最も重要なタスクが確実に実行されます。同時に、優先度の低いタスクのみに関係する場合でも、技術的負債を抱える「完璧ではない」チームが残ります。一方、均等に分散されたチームは、遅れている開発者を少し良くする利点がありますが、最も重い打者をやる気にさせる可能性があります。また、一連の優れたデザインパターンとひどいアンチパターンを組み合わせると、最終的にはアンチパターンの束になる可能性があります。
9 agile  team  teamwork 

5
私は長年、1つの言語でプログラミングしてきました。このキャリアは自殺ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8年前休業。 私は長年、同じオブジェクト指向プログラミング言語(Windowsベース)でプログラミングしています。問題は、この特定の言語はあまり人気がなく、求人情報などで最も需要の高い言語ではないことです。 心配する必要がありますか?Javaの雇用主は、私がプログラマーであり、1〜2週間で任意の言語を習得できることを理解しますか、それとも、私が特定の言語で専門的にプログラミングしていないので、私は資格がない? PS。学習に関しては、自宅でさまざまなテクノロジーをいじっています。しかし、仕事では、私はほとんど同じ言語にこだわっています。

6
最終的なオンサイトインタビューでの「採用」と正直な「ほぼ」の違いは何ですか。[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 そのため、私は最近、GoogleとAmazonへのオンサイトインタビューを行い、自分が近いことを通知する丁寧な拒否通知を受け取りましたが、彼らが求めていたスキルにはあま​​り適していませんでした。 私はこれまでに行ったすべてのインタビューの最終ラウンドに行きました(ただし、練習のためにインタビューした小さな興味のないポジションからのオファーは除きます)、これまでのところ、1日あたり5〜8回のインタビューを行うことで、私のミスが足りないので、実行から外してください。 私は少なくともコーディングの質問と他の一般的な技術的な質問でうまくやったことを知っていますが、カードゲームや駐車場などのOOPの設計は得意ではないようです(1つのオブジェクトに深く入りすぎて、すべての時間を使い果たしました。より広い)と私のコーディングの回答は全体的に機能しますが、私が見逃したいくつかのバグ/エッジケースはありませんでした(入力ノードを実際に区別する必要がなく、回答である場合など)。そして、「わからない」と言っても問題はありませんが、多分ちょっと迷っていて、答えられると思う質問に答える必要があるかもしれませんが、明確な答えを出すことはできません... では、あなたが上手くなったからといって、それでも「雇う」には至らない理由は何ですか。 あなたが何を探しているのか、またはあなたにその少しの追加のブーストを与えたあなたが知っている何かについて何かアドバイスはありますか?

5
開発前に最新のアプリケーションをモデリングするための標準は何ですか?
私は最初のエンタープライズレベルのアプリケーションに取り掛かっています。コードを1行もタップする前に、チームでASP.NET MVC C#アプリケーション全体をモデル化してください。 更新:これは、いつアプリケーションを文書化/モデル化するかについての哲学的議論を意図したものではありませんでした。文書化/モデル化の「方法」についてのみ回答を提供してください。 真実は、私がこの部門で常に失敗したことがあり、アプリケーションをこれまで実際にモデル化したことがないということです。これを行うための標準的な方法は何ですか?どのタイプの図を使用する必要があり、ドキュメントはどのように見えますか?サンプルの図とドキュメントへのリンクは高く評価されています。 検索するとき、私はネット上で多くのことを見つけることができますが、これを行う方法について現在のコンセンサスがあるかどうかを確認したいと思いました。 前もって感謝します! おわりに 私はこれがそんなにねばねばした主題であるとは知りませんでした。明白な論争を取り除き、有用な回答を提供してくれた皆さんに感謝します。控えめに言っても興味深い議論でした:) 私が発見した別の便利なリンクはこれです:https : //stackoverflow.com/questions/61487/do-you-use-uml-in-agile-development-practices/61519#61519

3
絶えず変化するデータベースディメンションをどのように処理しますか?
過去2か月ほどの間、データベース内のリリース管理を処理するためのソリューションまたはプラクティスを探していました。これを処理するための最良のプロセスとして人々が見ているものを探しています。 データベースには3つの環境があります。 開発 ユーザー受け入れテスト(UAT) 製造 問題は、開発データベース内のいくつかのものに変更を加えて展開するときが来ていることです。一部の機能はUATにリリースする準備ができていない可能性があります。 最近、すべてのエンティティを(通常のコミットで)格納するためにRed Gate SQLソースコントロールを使用し始めました。 私はチェンジセットに基づいて行くことを考えていました(つまり、チェンジセットXからすべてがUATにプッシュされていると言います)、つまり、混乱を招く可能性のあるデプロイを行う直前に、人々がコードをソース管理にチェックインしているだけです(特に人々は忘れっぽいからです)。変更セットのアプローチに伴うもう1つの問題は、修正が必要なストアドプロシージャにバグがある場合、変更セット番号は最終的にリビジョンの最大変更セットの範囲外になるため、必要に応じて最大のチェンジセットからデータベースを再作成します。バグを再度プッシュします。 プロセスに関する提案はありますか? ありがとう

4
C ++でのOS開発に関する質問
修士課程のプロジェクトとして、シンプルなオペレーティングシステムを設計しています。x86アーキテクチャで16ビットリアルモードで実行するように設計されています。理想的には、このOSをC ++で開発し、必要な場合にのみアセンブリを使用したいと考えています。これまでのところ、私はC ++とasmの混合であるカーネルをロードするアセンブリで書かれたブートローダーを持っています。私の質問は、C ++の使用に関するものです。現在のところ、コンパイルして実行できますが、動的メモリ割り当ては使用していません。 Cを使用している場合、メモリ割り当てを処理するmalloc関数を作成することは理にかなっていますが、C ++では新しいキーワードが使用されます。そう... 'new'はメモリを割り当てるために舞台裏でどのように機能し、これをどのように処理しますか? そして当然の結果として... C ++を使用して、より高いレベルの抽象化を利用することは理にかなっていますか?それともそれを使うのはもっと頭痛の種になるでしょうか?そして私はCを使い続けるべきですか? C ++が適切でないと思われる場合は、根拠を提供してください。

4
クラスの命名が衰弱する[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 これがOCDトレイトであるかどうかはわかりませんが、クラス(または関数、名前空間など)に名前を付けると、外部で使用されると思われる場合、完全にブロックされて処理を続行できなくなることがあります特定のプロジェクトの。たとえばAPI。またはユーティリティクラスライブラリ。 (私の心の中で)ネーミングが正確でない場合、私は続けることができません...正しい名前を考え出そうとして、行き詰まってしまいます。名前を確認するためにそれを使用する小さなアプリを書いてみましたが、それは役に立たないようです... 私はそれが問題ではないことを知っています、そしてあなたが最初にそれを完璧にすることを前提とすることはプログラミングの考え方に反します...私はそれに無力だと感じます... ヒント/アイデアをいただければ幸いです...

4
「Python入門」の講演で何をカバーしますか?
私はウェブ開発に焦点を合わせている学生チームにいます。私のチームメイトはPythonに興味があり、それを学んだのは私だけなので、来週「Pythonの紹介」講演をするように頼まれました。 文法的なことだけでなく、話を面白くするために何を話すべきかについてのアドバイスを聞きたいと思います。 PS:私のチームメイトはPHPと.NETに精通しています

7
スクラムプロジェクトのUXは誰ですか?
OK。あなたが教科書スクラムプロジェクトに取り組んでいるとしましょう。あなたは、製品所有者と協力しているスクラムマスターを手に入れました。次のスプリントはUIが重いです。コーダーが画面の作成を開始する頃には、実際に彼らがどのように見えるかを考えている必要があります。 誰がいつワイヤーフレーミングを行うのですか?製品のオーナーは?製品の所有者をサポートしている人はいますか?スクラムマスター?UXのエキスパートがいる場合、スプリントの開始後にコーダーと一緒に作業しますか、それともストーリーカードと制約のそばに座って、開発者が行っている作業をガイドして通知するワイヤーフレームとモックアップを事前に提供しますか? UXのヘルプが必要だと思いますが、どこに適用すればいいのか本当にわかりません... 編集:質問を言い換えましょう。 アジャイルプロジェクトで一貫した高品質のユーザーエクスペリエンスをどのように提供しますか?

4
XコンパイラをYのZに書き込むための一般的なルール
Xが入力言語、Zが出力言語、fが言語Yで記述されたコンパイラであるとします。 f = X -> Z fは単なるプログラムなので、Yはどの言語でもかまいません。したがって、それぞれがY1、Y2で記述されたコンパイラf1、f2を持つことができます。 f1 = f Y1 f2 = f Y2 g = Z -> M h = g . f # We get a compiler X -> M たとえば、cpythonコンパイラを例にとると、XはPython、ZはPython VMコード、YはCです。 cpython = Python -> PythonVMCode C interpreter = PythonVMCode -> Nothing interpreter2 = PythonVMCode -> …

8
超高速データベースで10億行をスキャン
バックグラウンド ローカルデータベースには、約13億の一意の行が含まれています。各行は、特定の緯度と経度(場所)に間接的に関連付けられています。各行には日付スタンプがあります。 使用事例 問題は次のとおりです。 ユーザーは、開始/終了日と値の範囲(たとえば、100から105)を設定します。 システムは、特定の日付に一致するすべての行を、場所ごとにグループ化して収集します。 システムは、これらの日付の間に、指定された値の範囲に該当する可能性がある場所を決定します。 システムは、一致するすべての場所をユーザーに表示します。 これは速度と規模の問題です。 質問 そのようなシステムが5秒未満でユーザーの結果を取得できると想像できる最も安価なソリューションアーキテクチャは何ですか。 現在のシステム 現在の環境は次のとおりです。 PostgreSQL 8.4(アップグレードは可能です。データベースの切り替えはオプションではありません) RおよびPL / R XFS WD VelociRaptor 8 GB RAM(Corsair G.Skill; 1.3 GHz) クアッドコア本物のインテル7(2.8 GHz) Ubuntu 10.10 ハードウェアのアップグレードは許容されます。 更新-データベース構造 数十億行が次のようなテーブルにあります。 id | taken | location_id | category | value1 | value2 | value3 id-主キー 取られた-行に割り当てられた日付 location_id-緯度/経度への参照 …

1
ソフトウェア会議で時間を効果的に使用するにはどうすればよいですか?
マイクロソフト(Student Insiderプログラムを通じて)は、寛大に私をMicrosoft TechEd North America 2011に連れて行ってくれました。面白い話のスケジュールを立てればいい、というウェブサイトの提案のようですが、それだけです。しかし、何人かの人々は話し合いにあまり時間をかけず、代わりに「ネットワーキング」(人々はソフトウェアではなく人々)に時間を費やしているようです。 ソフトウェア会議での時間の効果を最大化するにはどうすればよいですか?

5
特許に訴えられることから身を守るには?
おそらく特許を受けることができるようになる前に、いくつかのソフトウェアのアイデアを持っています(ただし、それらのいずれも追求しないことを決定しました)。基本的に、私はこれらのアイデアの特許を取得したくありません。他の誰かがそれらを実装するかどうかは気にしません、私が5年前に私が持っていて実装したアイデアの特許を取得した特許トロールに後で訴えられたくありません。 あなたのアイデアを公開ウェブサイトに投稿し、貧しい人の特許技術を使用すると、誰かがあなたのアイデアを特許化したとしても、あなたは訴訟から保護され、おそらく彼らの特許を無効にすることができますか? )
9 legal  patents 

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