ソフトウェア工学

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

2
データベースとCIサーバー
私はCIサーバー(Hudson)を使用していますが、これは陽気にビルド、単体テストを実行、開発環境にデプロイしますが、統合テストを実行したいと思います。 統合テストはデータベースにヒットし、そのデータベースは問題のテストに関連するデータを含むように常に変更されます。しかし、これは問題を引き起こします-データベースが1つのテストのデータでスプラットされていないことを確認し、最初のテストセットが完了する前に、そのデータが2番目のプロジェクトによって上書きされることを確認するにはどうすればよいですか? 私は現在「希望」方法を使用していますが、現時点ではそれほどうまく機能していませんが、CIで設定されている統合テストの数が少ないという事実が主な原因です。 私が見ると、次のオプションがあります。 ローカルの(メモリ内の)テストデータベースインメモリのデータベースがOracleのトリガーやパッケージなどのすべての恐ろしさを処理できるかどうかはわかりませんが、テスト中に価値がないと感じるものはありません。 CIエグゼキューターローカルデータベースこれをセットアップして最新の状態に保つには、かなりの作業が必要になりますが、オプションとしてはまともです(ほとんどの作業は、現在のCIデータベースを最新に保つために既に行われています)。 単一の「統合テスト」エグゼキュータ実装するのが最も簡単なようですが、統合テストがかなり遅れることがあります。 データベース(またはテーブルのセット)のロック 私はいくつかの方法を逃したと確信しています(それらを追加してください)。CIサーバーでデータベースベースの統合テストをどのように実行しますか?どのような問題があり、どのような方法をお勧めしますか?(注:私はHudsonを使用していますが、CIサーバーの回答を受け入れて満足しています。詳細がそうでなくても、確実に移植可能なアイデアです)。 乾杯、 MLK

5
別のプログラムのUIを複製することで訴訟を起こすことはできますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 別のアプリケーションで気に入ったものを見つけて、市販の製品でゼロから似たようなものを作成した場合、それを訴えることができますか? もちろん、見た目が異なるようにスタイル設定されますが、機能が私が気に入っているため、ほとんどの機能は同じです。また、システム全体ではなく、システムの一部にすぎません。 私はアメリカに住んでいます。
8 copyright 

3
テキストユーザーインターフェイス(TUI)はどのように機能しますか?
私は最近、古いCOBOLプログラムを移植するよう割り当てられました。GUIに慣れていて、TUIがどのように機能するのか理解できません。私はグーグルでたくさん検索しましたが、何も見つかりませんでした。 コンソールアプリケーションが行ごとに出力できることは知っていましたが、端末画面に色などをどのように描画しますか?このすべてがどのように描かれていますか?端末はどういうわけかそれをサポートしていますか?基準はありますか?私は本当に混乱しています。

6
すべてのマニューシャを不利益に選択する同僚[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 仮説的に言えば、コンピューティングについて非常に浅い理解を持っている同僚がいると想像してください。ステレオタイプ化を避けるために、この同僚にジェンダーに中立的な名前のクリスを与えましょう。 現在、クリスの診断能力は低く、仮想マシンを設定するための正しいIPアドレスを見つけることができません。クリスはまた、コードを適切にマージすることに失敗し、私が何かを修正したコミットを上書きし、それによってバグを再導入します。私はこのスライドを聞かせて、バグを修正し、それについて管理者に音を立てません。 タスクが1つある場合、Chrisは1)十分な情報がないため不満を訴え、2)Chrisに1)を満足させるための過度に詳細な指示を提供します。実行する手順のリストで詳細を指定するほど、指示にエラーが含まれる可能性が高くなります。クリスはこれらの命令を受け取り、それらを実行しようとし、失敗し、命令が十分でないためにそれはあなたの責任になります。これにどう対処しますか?

6
非常にスケーラブルで動的な「ルールベース」のアプリケーションですか?
大規模なエンタープライズアプリの場合、変更に対応できることがデザインの最も重要な側面の1つであることは誰もが知っています。ビジネスロジックの変化に対応するために、多くの場合、ルールベースのアプローチを使用しており、各ルールはDBに格納されています。これにより、厄介な詳細に飛び込むことなく、簡単に変更を加えることができます。C#はEval( "foo(bar);")を実行できないため、これは行に格納されたフォーマットされた文字列を使用して実行され、実行時にJavaScriptで処理されます。これは正常に機能しますが、エレガントではなく、レガシーになると、他の人が手に入れるのが最も楽しいものではありません。 これに対するよりエレガントな解決策はありますか?かなり頻繁に変更される何千ものルールに遭遇すると、それは本当のことになりますが、これは、誰かがこれを行うためのより良い方法を考えていない問題の珍しいことではありません。助言がありますか?この現在の方法は防御可能ですか?代替案は何ですか? 編集:明確にするために、これは大規模なエンタープライズアプリであるため、どのソリューションが機能しても、ルールとデータ(約10)を常に維持している人はたくさんいます。また、データは頻繁に変更されるため、ある種の集中サーバーシステムは基本的に必須であると言えます。

3
ソフトウェア要件を管理するために利用できるFOSSソリューションは何ですか?
私が勤務する会社では、ソフトウェア開発ライフサイクルへの準拠を計画し始めています。私たちはすでに、wiki、vcsシステム、バグ追跡システム、継続的インテグレーションシステムを持っています。 次のステップとして、ソフトウェア要件の構造化された方法での管理を開始します。多くの入力(開発者、マネージャー、商用、セキュリティアナリストなど)があり、ネットワーク共有の周りの.docの急増に対処したくないため、wikiや共有ドキュメントを使用したくありません。私たちは検索を試みており、FOSSソフトウェアを見つけて使用して、これらすべてを管理できることを願っています。 私たちは約30人で、商用ソフトウェアの予算がありません。要件管理のための無料のソリューションが必要です。 私たちが求めているのは、以下を管理できるソフトウェアです。 必要な機能: 構造化された構成可能な方法で分割されたソフトウェア要件 要件のバージョン管理(履歴、diffなど、ソースコードと同様) 要件の相互依存性(の子、親、関連) データ処理のためのルールベースのアクセス制御 マルチユーザー、マルチプロジェクト ファイルのアップロード(グラフ、関連ドキュメントなど) レポートおよび抽出機能 オプション機能: ウェブベース テストケース 時間ベースの管理(タイムライン、例外データ、結果データ) 人割等 ビジネス関連のもの ハードウェア割り当て処理 私はすでにtestlinkで遊んでいて、今はRTHで遊んでいます。次に試すのはredmineです。

4
スクラムスプリント中の制作上の問題の管理
本番環境でのバグ管理の問題は、最近私の心の大きな特徴でした。Sprintはアイテムを追加することを意図していませんが、重大なバグの場合、これは単に避けられません。 このスプリントの中断をどうやって管理するのですか?スプリントに時間の「許容量」のパーセンテージを与えるだけで、スケジュールの80%を「念のため」にスプリントアイテムで満たすだけですか?
8 scrum  errors  sprint 

6
.Netで完全に再設計しますか?
非常に広範なアプリケーションは、Accessベースのシステム(データベースストレージ用)として始まりました。フォームはVB5またはVB6、あるいはその両方で作成されました。.Netが開発コミュニティのフィクスチャになったため、特定のモジュールが書き直されました。これは、2つのテクノロジーを互いに満足させるためのクロステクノロジーと追加の作業のために、維持するだけでは非常に扱いにくく、コストがかかる可能性があります。もちろん、アプリケーションはODBC OleDbとMySqlを組み合わせて使用​​します。 .Netの下でアプリケーションを完全に再開発するために時間とリソースを費やす方が費用対効果が高いと思いますか?より安定したアプリケーションを開発する努力の中で、.Netを使用することは理にかなっていますか?または、引き続きAccessのバグを追跡し、.Netに新機能を追加し(.NetとAccessの間に新しいバグを作成する場合としない場合があります)、適切な設計と開発を妨げる時間的制約の下で古いAccessモジュールを.Netモジュールに書き換えますか? 更新 アプリケーションはOleDbとMySqlを使用しています-以前のステートメントを修正しました。 また、書き換えをさらにサポートするために、.Netへの「移植」が始まると、存在していたVBA / VB6コードが基本的に.Netに変換されることがわかりました。私の理解から、パフォーマンスを改善したり、新しいライブラリやテクノロジーを利用したりすることはできませんでした。 私の意見では、これは非常に壊れやすく不安定なアプリケーションを作成します。すべての新しい更新で、これはますます目に見えるようになります。ヘルプデスクの技術者として、報告された問題の増加に気づきました。このソフトウェアを使用している顧客は、問題の増加に気づき、それにコメントしています。

7
言語比較は意味がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 Bjarne Stroustrup博士の著書D&Eによると 何人かのレビュアーから、C ++を他の言語と比較するように依頼されました。これは私がやらないことに決めました。これにより、私は長年にわたって強く支持されてきた見解を再確認しました。主要なプログラミング言語を適切に比較するには、多くの人が費やす意思があるよりも多くの努力が必要であり、幅広いアプリケーション分野での経験、切り離された公平な視点の厳格な維持、公正さの感覚が必要です。私には時間がないので、C ++の設計者として、私の公平さは完全に信頼できるものではありません。 -C ++の設計と進化(Bjarne Stroustrup) あなたは彼のこの声明に同意しLanguage comparisons are rarely meaningful and even less often fairますか" "? 個人的には、XとYを比較することには意味があると思います。 :-P 人々はどう思いますか?

4
(巨大な)プロジェクトで複雑なコードを処理する方法
「なぜ(一部の)ITプロジェクトが複雑になりすぎるのか、それを回避する方法は?」についての回想録を準備しています。 複雑なコードを含むプロジェクトに遭遇したり、維持するのが困難だったりした場合、どうやってそれをやり遂げましたか? プロジェクトで使用する複数のアプリケーションから選択する必要がある場合、それらの機能で何が最優先事項であり、その理由は何ですか?

8
永遠のプログラミング、それは可能であるか望ましいか
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 エゴレスなプログラミングをすることは可能ですか、それとも望ましいですか? 職業として、私たちは最新のギズモやテクニックを自慢したり、「私が書いたこの素晴らしいコードを見て」と言いたいようです。それでも、コードレビューのために作業項目を提出したり、他のプログラマーから否定的なコメントを求められたりすると、非常に防御的になる可能性があります(WTFという言葉を聞いたことが良い兆候ではありませんでした)。 私たちは職業としてコード、データ、またはアーキテクチャの一部をそのメリットや制約、穏やかで敬意を表して分析することができますか。同僚を攻撃したり、敵対したりすることなく、または典型的なディルバートの性格で、怒り狂っていますか?システムに対して?
8 teamwork 

8
ユーザーの要件検証、ハウツー?
私の質問は次のとおりです。ソフトウェア作成プロセスの早い段階でユーザーの要件をどのように確認できますか? ユーザーの仕様、プロトタイプ、デモなどを紹介しますが、それでもユーザーはプロセスやビジネスルールやデータに関する「重要でない詳細」を共有するのを忘れています。これは、最終的なテストの後に、いくつかの「非常に小さくてまれな例外」としてポップアップします。これは、変更要求に変換され、多くの作業が蓄積されます。 では、プロジェクトの早い段階でユーザー要件をどのようにプロトタイプ化(または検証)するのでしょうか。

5
オンラインフリーランスの仕事はアメリカの基準で実行可能ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 7年前休業。 私は常にオンラインのフリーランスサイトを試したいと思っていました...自宅で仕事をする、自立する、自分がやりたいことを選択する、さまざまなテクノロジーで仕事をする、PHBを失うなどのメリットがあります。 しかし、私はアメリカ人の慣れに慣れており、私、インド、ロシア、中国などの人々と激しく競争し、自分にとっては現実的ではないだろうと思っていたので、実際にチャンスを与えたことはありません。 この仮定は正しいですか、それとも試してみる必要がありますか?短期間のプログラミング作業では、どのような時給が期待できますか?

8
これまでに使用した最適な導入環境について説明してください[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 ジョエルテストは質問を含みます: ビルドを1ステップで作成できますか? これは重要ですが、展開プロセスのいくつかはどのように合理化されているのでしょうか。 シュリンクラップからWebまでのすべてのソフトウェアが適用されます。これまでに作業した中で最も優れた展開環境は何ですか、またどのような手順が必要でしたか?

5
ライブラリに求められる基本原則は何ですか?
プログラミング言語で好きな構文と機能について話します。ここで、お気に入りの(または任意の)言語のライブラリで、コアとなる原則または機能についてお尋ねしますか? 例として、リスト+ =リストエレメントのみを許可するのではなく、リスト+ = anotherListを追加することが有効です(ただし、これは悪い考えと見なされる場合もあります)。

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