ソフトウェア工学

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

2
HTML 5は、開発者がFlashから切り替えるのに十分ですか?
奇妙なことに、多くの開発者はFlashを使用してHTML 4(間違っている場合は修正します)以下ではできない、または実行するのに苦労した多くのことをします。たとえば、角丸(キャンバス)やビデオシングなど。 私は実際にはすべてのHTML5を探索したわけではないので、あなたから学ぶこともできます。 ありがとう。
10 html5  flash 

2
アプリケーションとUIコードを単体テストするにはどうすればよいですか?
私は単体テストを書くのが大好きで、コードをテストしたり、リグレッションを防止したりするのに優れた方法であることに同意します。しかし、私が日々取り組んでいるコードの大部分はアプリケーションであるため、自分で書くことができないことに気づきましたユーザーにUIを表示するコード。アプリケーションコードを単体テストする良い方法はありますか?ここでのベストプラクティスは何ですか? 私はフレームワークなどの特定の答えを探していません。しかし、一般的に、この問題にどのように取り組みますか?

5
サイドプロジェクトをどのように決定しますか[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 いつでも、私は通常、週末/サイドプロジェクトのために取り組むことができるたくさんのアイデアを持っています。アイデアは、一般的にこれらに分類できます。 自己学習:新しい言語/テクノロジー/フレームワークを学ぶ 仕事関連:仕事で役立つことを学ぶ/行う お金:(あなたが思う)お金を稼ぐことができるプロジェクト Fun / Utilityプロジェクト これらは私が考えることのできる大まかなカテゴリであり、分類の方法は他にもあります。 私の質問は、どのようなプロジェクトに取り組むかを決定するために何をすべきかというあなたの経験に基づいています。プロジェクトのタイプとは別に、この決定に影響を与えるパラメータ(時間、労力、お金など)

7
デザイナーツールはプログラミングエクスペリエンスを低下させますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私は最近、特に利用可能ないくつかのMSツールを見回しており、デザイナーツールとウィザードに重点を置いていることに気づいています。UI開発だけでなく、すべてのために。 Entity Frameworkにはモデラーがあります RIAサービスにはDomainServiceウィザードがあります ワークフローにはワークフローデザイナー全体が含まれています...(わかりません、実際には使用していません) 他にもありますが、あなたはアイデアを理解していると思います。デザイナーツールはたくさんあります。これらのいくつかを使用すると、私はそれを見つけます: 規定された使用例を超えて問題を複雑にする (つまり、すべての技術デモビデオ) 私は最近、これらのテクノロジーのいくつかを評価しており、それらを使用しようとすると、デザイナー、モデラー、ウィザードが私のために何をしているかを正確に分析しなければならなくなります...そうでなければ、実際にやらなければならないときに失われます作成されたもので何か。 そして持っていた-私はツールを戦うか、私はそれなしで全部自分自身を行っている可能性ように十分にその出力を戦うために持っている場合であることまでこの両端ずっと何が起こっているの強い理解を。これは、SilverlightデザイナーとRIAサービスのドメインサービスウィザードに特に腹立たしいと思います。 「このツールを使用するために内部の仕組みを理解したり、出力の半分を書き直したりする必要がある場合、このツールは何が良いのでしょうか?」 彼らはそれほど速くありません これらのツールのセールスポイントは生産性を高めることであり、このポイントはツールを使用して時間とともに変化する可能性があり、必ずしもUIデザイナーには当てはまりません(ただし、場合によってはまだ当てはまります-> Silverlightデザイナーを探しています) 。ドラッグアンドドロップ、サイズ変更、移動など、デザイナーで行うよりもはるかに高速にコードをハッキングできることがわかりました。 UIがモデルの邪魔になる 多分これは私だけかもしれませんが、UML設計ツールを連想させるものを使用していると、線が交差しないようにすべてをレイアウトするのに多くの時間を費やすことになり、画面上ですべてを確認できるようになります。達成しようとしています。 面白くない 私が生活のためにコーディングする理由の半分は、それを楽しむためです。チェックボックスをクリックしてコンボボックスを選択し、出てくるすべてを修正するのは楽しいことではありません。 一人じゃない コミュニティもこれらのツールを望んでいないようです。現時点で考えられる最も良い例は、Entity Framework Code-Firstです。 だから私は尋ねます: デザイナーツールは実際に生産性を向上させますか? 彼らは楽しいキラーですか? 「コミュニティ」は実際にもっとデザイナーツールを求めているのですか、それともベンダーが私たちのことを考えているだけですか?

6
深層または広域に焦点を当てるべきか[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 私は半年以上プロの開発者であり、世界が本当に大学を卒業していないことに驚いています。私は自由な時間に学習を続けてきましたが、どこに集中すればよいのでしょうか。 FOCUS 1)私の会社で使用されている開発スタック。私の日々の開発で最も早いペイオフ。#深い 焦点2)同じパラダイムを持つ異なる言語。私の知識と考え方を一般化できるかどうかを確認してください。 焦点3)異なる言語、異なるパラダイム。私の境界線を拡大し、物事を行うための新しい方法を学びます。#最も広い 誰かが別の焦点を持っている場合は、そこに自由に出してください。

11
Microsoftスタックを使用してジョブに移行するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 私はコンピュータサイエンスの学位(BSc)で大学を卒業し、途中でC、C ++、Java、Python、およびOracleを修了しました。大学在学中にフリーランスをし、卒業時にこれをフルタイムの仕事に持ち込んで、現在1年フルタイムで働いています。 PHPは私が本当にやりたいことではありません。私がこの道に長くいればいるほど、私の機会を制限していると思います。それは私が日常的に使用するのが好きな言語ではなく、PHPがあまり使用されていないように思われる大規模な組織で働きたいと思っています。 私はWeb開発を続けたいと思っています。Microsoftスタックには、C#、SQL Server、ASP.NET MVCなど、たくさんの仕事があるようです。しかし、半学期を超えてVisual StudioでCommon-line C ++を作成しているので、Microsoftテクノロジーの経験はありません。 マイクロソフトショップでの仕事の着陸への移行はどこから始めればよいですか?私が重点的に取り組むべき特定の資格や、受講すべき大学のコースはありますか?雇用者や採用担当者は何を探していますか? 空き時間にペットプロジェクトを作成する以外に何ができますか?

7
(正しい?)テクノロジーと環境の選択
私たちは2人の開発者であり、新しいWeb製品開発を開始しようとしています。 どちらも無駄のないスタートアップアプローチのファンであり、継続的な導入を実践したいと考えています。 ここでジレンマが発生します-私たちは両方ともC#/ Windowsのバックグラウンドから来ており、どちらかを決定する必要があります。 .NETとWindowsに固執することで、新しいテクノロジーの学習に時間を費やすことなく、開発に全力を尽くします。 Ruby on RailsとLinuxに切り替えます。Rubyon RailsとLinuxは、迅速な立ち上げと広大なオープンソースサポートで高い評価を得ています。マイナス面は、Ruby、Rails、Linuxの学習に多くの労力を費やす必要があることです... あなたならどうしますか?他にどのような考慮事項がありますか?


7
ソフトウェア開発者とビジネス顧客の間の適切な関係は何ですか?
ITプロフェッショナルは、ビジネスまたは組織のIT資産に信頼されているエキスパートです。私たちは信頼できる専門家として、IT以外のお客様が理解または認識していることが期待できるものを超えて責任を負っています。ですから、ITプロフェッショナルと彼の内部/外部の顧客との適切な関係は、使用人とマスターではなく、医師と患者の関係に近いと思います。私は正しいですか? ここで考えるべき類推があります。患者は、彼の脚を切断する必要があると主張しています。彼の医者は反対しますが、患者は説得できません。医者は患者を満足させるためだけに脚を切断すべきですか? 別のアナロジー。顧客は、土木技師が安全でない設計への架け橋を築くことを望んでいます。エンジニアが安全でないと説明しても、顧客は彼を信じていません。とにかくエンジニアは橋を架けるべきでしょうか? 私はこれらの両方のアナロジーで正しい答えはノーだと思います。医療専門家とエンジニアリング専門家は、信頼できる立場にあるべきであり、患者/顧客の不承認に直面しても、彼ら自身の判断を行使すべきです。ITプロフェッショナルが決定を下す資格を持っているが、顧客がそうではない場合、同じことがITプロフェッショナルにも当てはまりませんか?

6
マイクロマネージメントを行うプロジェクトマネージャーにどのように対処しますか?
たぶん私は単純な人かもしれませんが、私が1週間にわたって目標としているタスクの壁を解読しようとすると、プロジェクトスケジュールを作成する人には、改善のためのトレーニングを受ける必要があると考えざるを得ません。基本的なプロジェクト管理。 たとえば、今日13のタスクが割り当てられ、最短の.13日(Microsoft Projectのデフォルトの時間メトリック)、および最長の.75日が割り当てられます。私は仕方がないのですが、これは10分未満の間隔での露骨なマイクロ管理スケジューリングプロジェクトだと思います。 管理の影響は、タスクのスリップ、ある時点で容量の2倍を超えるリソース割り当て、および実際の作業よりもタスクのクリアと次の作業の解明により多くの時間を費やしているタスクで明らかになっています。 プロジェクトマネージャーを説得して、より長い期間のタスクを作成し、全体像を確認するにはどうすればよいですか?

7
開発の最初の段階としてプロトタイピングはどのくらい一般的ですか?
私は過去数学期にいくつかのソフトウェア設計コースを受講してきましたが、多くの形式論にはメリットがあると思いますが、プログラム自体については何も教えてくれないように感じます。 プログラムが何ができるかを説明しているとしても、ユースケースの仕様からはプログラムがどのように動作するかはわかりません。 品質要件が含まれていても、要件ドキュメントからユーザーエクスペリエンスについて何も伝えることはできません。 シーケンス図は、ソフトウェアがコールスタックとしてどのように機能するかをよく説明していますが、非常に制限されており、システム全体の非常に部分的なビューを提供します。 クラス図は、システムがどのように構築されているかを説明するのに最適ですが、ソフトウェアが何である必要があるのか​​を理解するのにまったく役に立ちません。 この形式主義のどこが一番重要なのでしょうか。プログラムがどのように見え、動作し、どのような経験をするのでしょうか。それを元に設計するほうが理にかなっていますか?プロトタイプを介してプログラムがどのように機能するかを理解し、それを実際に実装するために努力するほうがよいのではないでしょうか。 私はおそらく理論家から工学を教えられていることに苦しんでいることを知っていますが、私は尋ねる必要があります、彼らは業界でこれを行うのですか?人々は、プログラムが何に準拠すべきかではなく、プログラムが実際に何であるかをどのように理解しますか?人々はたくさんプロトタイプを作っていますか、それともほとんどがUMLなどの正式なツールを使用していますか?

2
再帰的なリソースに最適なRESTful URL構造は何ですか?
ツリーのようなリソース構造用のRESTfullサービスを作成していて、最適なURL構造は何だろうと思っていましたか? 私には3つの要件があります。 ルートリソースのコレクションを取得できる 個別のリソースを取得できる 子リソースのコレクションを取得できる 私の現在の考えは: /rest/documents /rest/documents/{id} /rest/documents/{id}/documents 単数/複数のルートを使用してリストまたは個々の要素を示すことも考えていましたが、単数と同じ複数のリソースを使用することになるので、これに対して決定しました。 上記について何か考えはありますか?またはこれを構造化する別の/より良い方法がありますか?

5
遅れはアジャイル方法論に意味がありますか?
これは、別の質問(これ)に対するいくつかの回答とコメントから生じました。 私は主にウォーターフォールプロジェクトを扱い、アジャイルな振る舞いを取り、アジャイルについてかなり読んだアドホックプロジェクトに取り組んできましたが、「適切な」アジャイルプロジェクトに取り組んだことは一度もありません。 。 私の質問は、「後期」の概念がアジャイルで何らかの意味を持っているということです。 私の推論では、アジャイルには事前の計画はなく、最初は詳細な要件もありません。あなたは高いレベルの目標とそれに付随する想定上の日付を念頭に置いているかもしれませんが、両方が(潜在的に大規模に)変わる可能性があり、どちらも確実ではありません。 つまり、配信してユーザーが受け入れるまで、基本的に何を配信するかが正確にわからない場合、次のスプリント以降のスケジュールがない場合、どのようにして遅れることができるでしょうか。実際に意味がありますか? (明らかに、スプリントがオーバーランする可能性があることは理解していますが、それを超えて話しています。) 明確にするために、私がそれらを見てそれらに関与したという事実に基づいて、時間どおりにウォーターフォールプロジェクト(比較的大きなプロジェクトでも)が可能であるという仮定に(個人的に)満足しています-それらは簡単でも一般的でもありませんしかし、それらは可能です。 これはアジャイルをノックすることではなく、私が理解することです。アジャイルのメリットは、期限や予算とは関係なく(または間接的にのみ)、常にスコープと関係があると見なしてきました。アジャイルは、プロジェクトチームが重要であると考える前に、実際に重要であると考えるよりも、実際に重要なことに近づきます。何でも見ました。
10 agile  scheduling 

2
テスト駆動開発プロセスにおけるソフトウェアアーキテクトの役割は何ですか?
私が理解しているように、テスト駆動開発はプログラムの仕様を定義するためのテストを書くことです(私が間違っていれば修正できます)。 ソフトウェアの仕様(パブリックAPIを含む)を作成する責任者がいる場合(彼をソフトウェアアーキテクトと呼びましょう)、それはソフトウェアアーキテクトがすべてのテストを作成する必要があることを意味しますか? または、ソフトウェアアーキテクトが仕様を作成してから、それらを開発者に渡してテストを作成しますか? それとも、すべての開発者が独自のテストを作成できるようにし、ソフトウェアアーキテクトの存在を忘れることによって、仕様が有機的に成長することを許可しますか?
10 architecture  tdd 

7
アジャイルプロセス:文書化する方法と内容
少し前、私が働いている会社は開発プロジェクトを第三者に外部委託していた。彼らはソリューションの開発にアジャイル手法を採用しました。しかし、ドキュメントを求められたとき、彼らはそれがwikiに組み込まれたり、彼らのスプリントの一部として組み込まれたりして、それが必要であるとだけ言ったでしょう。 彼らは、プロジェクトチームの1人を除いて全員がプロジェクトの完了時に出発しました。プロジェクトのwikiサイトは、年間サブスクリプションが満期になると閉鎖されました。 彼らが去ったとき、彼らは彼らと一緒に開発されたものについての知識と理解のほとんどを取りました。 だから私は2つの主な質問があります。 これはアジャイルにとっては正常ですか、それとも書きたくないという言い訳ですか? 開発要件、設計、主要な決定、およびコンテキストを記録するためのアジャイルプロジェクトの文書化に関する業界の基準は何ですか?

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