ソフトウェア工学

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

4
中間ファイルをバージョン管理下に置いていますか?
以下はFlashプロジェクトの例ですが、多くのプロジェクトはこのようなものだと思います。 Photoshopで画像を作成するとします。次に、この画像をFlashに統合するためのjpegとしてエクスポートします。flaをアセットライブラリとしてコンパイルし、それを私のFlash Builderプロジェクトで使用して、最終的なswfを生成します。 だからそれは次のようになります: psd => jpg -> fla => swc -> Flash Builder project => swf. => : produce -> : is used in psd、fla、およびFlash Builderプロジェクトはソースファイルです。これらはいくつかのプロセスの結果ではありません。 jpgとswcは、私が「中間」ファイルと呼ぶものです。これらは、別のツールまたはプロセスで入力として使用される1つ(または複数)のソースファイルの産物です。 swfが最終結果です。 では、これらの中間ファイルをバージョン管理下に置いておくのでしょうか?それらをどのように扱いますか?

13
IDEの使用を開発者に納得させる[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 開発者がいるので、ジョン(現在試用期間中)を彼と呼びましょう(かなり小さな会社、約10人、開発者3人、そのうちの1人はこの会社で長く働いており、ビジネスプロセスを知っており、チームリーダーと見なすことができます)。 IDEをまったく使用したくありませんでした(テキストエディターを使用しています)。 このチームが取り組んでいるアプリケーションは、Spring Hibernateテクノロジースタックを備えた中規模のJavaアプリケーションであり、近い将来にそのアプリケーションの新しいバージョンを起動するための新しい機能をリファクタリング/追加します。 JohnがIDEを使用していないため、このアプリケーションでのIDEなしでのJohnのパフォーマンスは望ましくなく、チームリーダー(Billと呼ぶことにします)の想定によるものです。 ビルはジョンにIDEを使用するように説得しようとしますが、このアイデアは多くの抵抗を満たし、主な理由は「自分がしていることを完全に制御したいので、すべてのコードを自分で書く必要がある」です。 ビルはどのようにジョンにIDEを使用するように説得できますか?(ビルがジョンを会社の所有者からジョンのパフォーマンスに関するいくつかの不満からすでに保護しているという事実を考慮してください) 更新:ビルは、その試みが失敗した場合、もう一度ジョンを説得して説得することを決定し、ジョンにIDEの使用を強制せず、ジョンによって約束された機能が時間内に提供されているかどうかを調べます。

3
Cコードの読み取りと理解
Linuxカーネルのコードを理解したいのですが、それを試してみましたが、何が起こっているのかを完全に把握できません(Linuxカーネルのネットワーク部分に集中しています)。一般的に、およびLinuxカーネルのネットワーク部分に固有のC(またはその他のlang)コードを読み取る方法。前もって感謝します
8 c  linux-kernel 

2
データの暗号化/保護-高レベルのベストプラクティスに関する情報の入手先[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 私が所属するグループの誰も、私も含めて、暗号化とセキュリティ、または特定の決定を行う背後にある理由を実際に理解していないと感じています。たとえば、私たちは最近、私たちが扱う別のグループのために処理するデータの暗号化について会話しました。したがって、企業ネットワークの整合性は非常に高いです)、私たちが扱う他のすべてと一緒に。もちろん、標準のガイドラインでは、このデータの「暗号化」を求めています。 明らかに、それは多くのことを意味する可能性があります-IPSec /暗号化された接続、暗号化されたファイル共有、DBに実装された暗号化(DB全体または列)、ファイル内の実際のビットの暗号化など-およびグループの一部の人々は実際にカウントされる唯一の種類の暗号化は、格納されているビットを直接暗号化することであるという印象です。議論は、他のすべては簡単に回避できるというものです-「DBが暗号化されている場合でも、ログインしてそこにデータを表示できます。ファイル共有が暗号化されている場合は、フォルダーへのアクセス許可がある限り、ファイルを取得できますが、ビットが直接暗号化されている場合は読み取ることができません。」私の本能は、そのステートメントは限られた理解に基づいていると言います:彼らはSQL Server Management Studioにログインしてデータを見ることができ、しかし、暗号化されたデータのストリームまたは配列を取得し、おそらくそれを解読するためにアクセスできる証明書を使用する方法を彼らは知らないので、それはおそらく安全です。彼らは正しいですか?私は正しいですか?誰も本当に知っているようには見えないので、決定は最も声の大きい人や最も高額な人の意見に基づいて行われます。 とにかく、それは私が話していることの単なる拡張例です。私は、ここでブラインドをリードしているブラインドであり、限られた理解に基づいて決定を下しているように感じ、それはイライラさせられます。私は暗号化の技術的なビットについては専門家ではありませんが、標準ライブラリを使用してストリームやアレイなどを暗号化する方法を知っています-データセキュリティの設計と、そのような決定の基礎となる情報についての知識が本当に必要な場合は、上記。この種のものについてどこで読むことができますか?


3
Enterprise VS通常の企業開発者
わかりました。「エンタープライズソフトウェアエンジニアとしての経験が足りなかったため、「ほとんど」求人を失いました」。 私は16年以上プログラマーとして働いており、過去12〜14年間は大小さまざまな企業で専門的に働いていました。 だから、これが私にこの質問を思い起こさせました:ソフトウェアエンジニアとエンタープライズソフトウェアエンジニアの違いは何ですか? ソフトウェアアーキテクチャとエンタープライズアーキテクチャの違いは本当にありますか? ところで、私は、アーキテクチャ、tdd、SDLCなど、他のすべてのGOODソフトウェアプログラマが行うことを実行しようとします。

11
開発者が実際に仕事用システムに必要なストレージ容量はどれくらいですか?
OSを考慮せず、開発ソフトウェアを実行するための要件。必要な保管スペース。 仕事の観点から厳密に言えば(フリーランサーではなく会社のセットアップ)。ビデオ、オーディオ処理(巨大な未加工ファイル)3D /グラフィックス開発の領域でない限り、個々の開発者(ビルドシステムは考慮しない)。必要なストレージ容量。 ソフトウェアの試用版をダウンロードして資料を読んだとしても、20GBで十分であり、それ以上のものは無駄であり、または不適切に利用されると想定することは適切か安全か? オフィスのセットアップで開発者ごとに割り当てられる典型的なハードディスクの容量はどれですか。これは、役割や特定の要件、および会社がどのような仕事をしているのかによって異なる場合があります。しかし、開発者/プログラマにとって平均して、通常どのくらいのスペースが割り当てられますか。 編集: 意図を明確にする これらは私がビジネス/管理の人々が直面していた質問です。私がこの問題にさらに出会ったときに、答え(またはより良い答え)を与えるために、この点についてもっと理解したいと思います。この点に関して、私は仮定を立てたり、攻撃したりするつもりはありません。この点に関してオンラインのデータへのリンクが提供されていると助かります。 編集2: 私が理解している問題は、ストレージスペースを作業ファイルの保存のみに制限して、余分な使用を防ぐことでした... ハードウェアのスクリッピング/コスト削減についてではありません。

9
手動デバッグを効果的に行う方法は?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 利用できるデバッガがないとしたら、(期待どおりに)機能しないコードをデバッグするための効果的なアプローチは何でしょうか?
8 bug  debugging 

10
あなたならどうしますか?基本的にすべてが延期され、お客様はあなたと話せなくなります[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 去年のどこかで、かなり複雑なプロジェクトを唯一の開発者/プロジェクトマネージャーおよびテスターとして引き継ぎました。 昨年11月には、いくつかの新機能を提供するための期限がありました。 私が引き継いだシステムは、使用する準備ができていたと思われていましたが、まだ準備が整っていませんでした。 顧客のユーザーの1人と一緒に座って、彼は必要な新しい機能と要件を考え出しました。彼らが求めた機能は実装されたが、それは要件で指定されたものとは異なると彼は主張した。 それで、私は製図板に戻って、システムに大幅な変更を加える必要がありました。 約束の後の約束、これは私自身の責任です。さまざまな理由により、次の期限を逃しました。私の代わりに楽観的な計画を立てている、病気の子供、その他さまざまな個人的な問題です。 そして、顧客側にも障害がありました。私が彼らの肩越しに見守るときだけテストするなどです。 昨日、ユーザーがアプリケーションを承認した場合、ライブに移行することに同意しました。 もちろん、いくつかの問題が発生しましたが、今日、お客様に電話をかけようとしたところ、電話が切れて、どのメールにも返信していませんでした。 これは本当に私を疲れさせており、これに費やされた時間と時間は通常の労働時間をはるかに超えており、私の家族にも負担をかけています 明らかに、この状況にはこのプロジェクトに固有のものがありますが、全体的なパターン(複数の小さな問題、プロジェクトの故障につながる)は珍しいとは思いません。 同様のシナリオで何をしますか?
8 failure 

4
パイプラインを処理するためのモジュール式アーキテクチャ
私はC ++で実装するシステムのアーキテクチャを設計しようとしていますが、人々が良いアプローチを考えたり、これまでに設計したアプローチを批評したりできるのではないかと考えていました。 まず、一般的な問題は画像処理パイプラインです。これにはいくつかの段階が含まれており、目標は高度にモジュール化されたソリューションを設計することです。これにより、任意の段階を簡単に入れ替えてカスタムコードに置き換えることができます(ユーザーが知っている場合は速度を上げることができます)。特定の段階が彼または彼女の問題において特定の方法で制約されていること)。 現在の考え方は次のようなものです: struct output; /*Contains the output values from the pipeline.*/ class input_routines{ public: virtual foo stage1(...){...} virtual bar stage2(...){...} virtual qux stage3(...){...} ... } output pipeline(input_routines stages); これにより、人々はinput_routinesをサブクラス化し、必要なステージをオーバーライドできます。とは言っても、私は以前このようなシステムで働いたことがあり、サブクラス化やデフォルトのものが面倒になりがちで使いにくいことがわかったので、自分で書くのはめまいがしません。また、さまざまなステージ(6または7がある)がデフォルトのテンプレートパラメーターになる、よりSTL的なアプローチについても考えていました。 誰もが上記のパターンの批評、テンプレートアプローチに関する考え、または頭に浮かぶ他のアーキテクチャを提供できますか?

6
従来の(シリアル)ビジネスパーソンと連携するアジャイル開発者を管理する方法は?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 こんにちは、 私の職場環境には問題があります。私たちのITチームは機敏性を高めようとしていますが、実際にビジネスから賛同を得ているわけではありません。彼らは毎日のスタンドアップとスプリントのレビューに参加し、スプリントの計画を支援しますが、その後(大部分は)連続的な開発スタイルに進む前に、プロジェクトのために4か月の要件収集を行います。スプリントの目標は、「リリースにXX%近づく」などです。 ITチームにとって、彼らはスプリントを一種の死の行進に変えました。スプリントを1日終了し、翌日新しいスプリントを開始します。スプリント間で行われる反映や変更はありません。 これまでアジャイル方法論を実行したことがないので、私はそれらについて非常に快適な紹介をしていません。だから私の質問は: 1)リフレクション、イントロスペクション、変更などを行うには、スプリントの間に時間(おそらく1週間程度)が必要ですか?それとも、背中合わせのスプリントが標準なのでしょうか? 2)アジャイルなビジネスパートナーがいないアジャイルチームが生き残る可能性はありますか?そうでない場合、必ずしも俊敏なマインドセットではないにしても、ビジネスを反復的な方向に進めるためのいくつかの移行方法論やヒントがありますか? 3)チーム全体がすべてのスプリントに参加する必要がありますか?1人のスプリントにほぼ20人のプログラマーがいますが、完全に異なるプロジェクト(通常は3〜5人のチーム、時にはそれよりも大きいチーム)に取り組んでいます。単一のスプリントを使用するのは正常ですか、それとも複数の独立したスプリントを管理する必要がありますか?複数のスプリントを同時ロックステップで維持しようとしているのでしょうか、それともそれらのタイムテーブルを重複させて柔軟にする必要がありますか? どんな考えやアドバイスも大歓迎です。SOから質問をするのは今回が初めてなので、これらの種類の質問を表現するより良い方法があるかどうかを知らせてください(FAQはかなり役に立ちましたが、完全にフォローしているとは限りません)。ありがとう!

3
企業は開発者に、自分が記述し​​ていないコードのクレジットを要求する必要がありますか?
学界では、学生がクレジットを与えずに誰か/どこかからコード/作品をコピーし、それを自分のものとして偽装しようとすると、不正行為と見なされます。 企業は、開発者がすべての自明でないコードを適切に信用し、自分たちで作成しなかった作業を行うことを要件にする必要がありますか?そうすることは有用ですか、それとも単にやり過ぎですか? さまざまな無料のライセンスがあることは承知していますが、気に入って実際に使用しているものを見つけた場合は、ライセンスで必要とされていない(またはライセンスが不足している)場合でも、コード内のコメントを介してクレジットを提供せざるを得ません。

3
ページが見つかりません:404-このページに配置するのに最適なコンテンツ[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 「404ページが見つかりません」のようなエラーページにどのようなコンテンツを入れればよいですか? 例: 「申し訳ありませんが、ページリクエストの処理中にエラーが発生しました。」 「ページが見つかりません!URLを確認してください」 「エラーが発生しました。もう一度やり直してください。」 「申し訳ありませんが、リクエストされたページが見つかりませんでした。」 コンテンツは、ターゲットユーザーの視点である必要があります。対象ユーザーが何が起こっているのか、何をすべきかを簡単に理解できるはずですか?

3
非分散型の独立した単独のプログラミングでのgit…ベストプラクティス(複数可)?
現在、gitのドキュメントを研究して、分散バージョン管理ワークフローのコツとgitコマンドラインの使用方法を理解しています。最初にgitを小規模な個人的なペットプロジェクトで使用して、大規模で実行する前に経験を積みたいと思います(つまり、より大きなプロジェクト、チーム開発)。 孤独なプレイヤーとして、Gitシステムのどの領域を私の学習時間のほとんどに費やすべきでしょうか...後で大規模な作業のために残すべき部分は何ですか。言い換えれば、gitシステムのどの機能がチームワークでのみ完全に把握されるので、個人レベルであまり関与すべきではないのですか?

5
チームのレベルを上手に向上させるための戦略は何ですか?
チーム全体を改善し、技術面だけでなくあらゆる面でグローバルレベルを上げる革新的な方法を探しています。 私の実際の解決策: プログラミングチャレンジ投票、メモなど お互いに教える:毎月、メンバーは新しいAPI、戦略、より良いソフトウェアの構築に役立つものを提示する可能性があります。それは投票で終わるでしょう。承認された場合、チームは1か月間使用することを約束します。その後、フィードバックし、それを使用するか、そのままにします。 あなたの死角低減するための年次レビュー のごジョハリの窓を。人格的に、私は本当にお別れの報告を有益であると思います、私が決定的に人々のグループを去るたびに行われます。 社会的条件付けのため、ウォーミングアップが必要です。だから私は本当に彼らに彼らの言葉をフィルターにかけないように、そして私についてほとんど悪口を言うように彼らに言います。 彼らが何と言おうと私は静かにします。 特に女性が遠く離れてメールで返信できる場合は、女性に最適です(ダブルセーフティネット) そして、あなたはどうですか?
8 teamwork 

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