ソフトウェア工学

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

3
ソフトウェアの品質に対する異なる言語の影響に関する経験的な研究はありますか?
関数型プログラミング言語の支持者は、関数型プログラミングによってコードについて推論するのが容易になると断言しています。静的に型付けされた言語を好む人は、コンパイラが型システムの複雑さを補うのに十分なエラーをキャッチすると言います。しかし、これらのトピックで読んだものはすべて、経験的データではなく、合理的な議論に基づいています。 プログラミング言語のさまざまなカテゴリが欠陥率またはその他の品質指標にどのような影響を与えるかについて、実証的な研究はありますか? (この質問に対する答えは、少なくとも動的と静的の議論については、そのような研究はないことを示しているようです)

14
大学はDOSスタイルのC ++を教えており、その対処方法[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 私は何年もプログラミングをしていましたが、卒業証書が自分をより雇用可能にすることを望んでいました。一度大学を卒業したことがあるので、5年間のコンピューターサイエンス専攻ではなく、より短く、より実用的なソフトウェアエンジニアリングプログラムを選びました。 理論よりも具体的なスキルに重点を置くことを期待していましたが、大学や教授は正しい、形式的、学術的なものを好むという考えがまだありました。まだ科学ですよね?間違った-多くのITコースがいかにずさんだったかに驚いた。 C ++の入門コースでは、1-2個のプログラムを書いただけで、「なぜグローバルが悪いのか」、「定数が良いのはなぜか」などの決まり文句でテストされました。適切なコンテキストのないランダムな逸話。配布資料が含まれsystem(pause/cls)、getchヘッダーはやconio.hなどiodos.hです。タスクの1つは、32から255の「ASCII文字」を印刷することでした。スクリーンショットでは、このようなテーブルはWindows-1252コードページを使用して印刷されますが、エンコードはまったく言及されません。 質問:大学/教授が劣った、または時代遅れのツールや方法を使用しているように思われ、教えられているコンテンツが境界線に合っていない場合、建設的かつ敬意を持ってどのように対処しますか? データ構造やアルゴリズムなどのトピックについて学習するための単なるツールであるため、いくつかの答えは、プログラミングを超えて見る必要があると指摘しています。私はこの考えに同意しますが、この場合、貧しいスタイルの背後に実際にそのような計画はありませんでした。ほとんどのコースは、多くの背景理論や「全体像」のない別の「ツール」を教えるだけです。そのようなコースを提供するためだけに、彼らはすぐにまとめられたように感じられました。 私はそれに固執し、最終的に卒業しました。品質は全体的にかなり低いままで(いくつかの大きな例外はあります)、他の何人かの学生がそれについて不満を言っています。私は個人的なプロジェクトや学校からよりアルバイトからずっと学んできた予想通り、しかし、学校やラベル「ソフトウェアの学生を」仕上げの工程は、それ自体が神秘的に有用であるように見えます!
19 c++  teaching 

10
エントロピーの概念を使用して、ソースコードを便利な方法で分析できますか?
複雑さの相対的な価値を生み出すルールを含む静的ソースコード分析のコンテキストを定義できると私には思えます。ソースコードには「エネルギー」がないため、物理的な意味ではそうではないことはわかっていますが、少なくとも学問的には類似性を引き出す努力が行われていると確信しています。これについての知識はありますか?

6
リードよりもプログラミングを好むリードプログラマー向けのオプションはありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 今年の初めに、私たちのチームの主任開発者が別の部門に移動した後、主任開発者の役割に昇進しました。私は約5年の職務経験があり、可用性と過去のパフォーマンスのために、プロジェクトをリードするための経営陣の第一選択でした。私は少し不安でしたが、キャリアの向上と経験のための良い機会であると判断したので、受け入れました。 しかし、これまでの私の結論は、以前の開発者の地位ほどには楽しんでいないということです。私は5人の開発者から成るチームをいくつかのリリースで成功させてきましたが、コードにはほとんど触れません。代わりに、コードレビューとともに、計画と設計、チーム管理を実行します。さらに多くのことを追跡し、タスクをチームに割り当てることができるように計画する必要があるため、ほとんど毎日頭痛がします。私は残業することはめったにありませんが、仕事を辞めると毎日燃え尽きてしまい、結果として仕事以外の時間を楽しんだことさえないと思います。 私の質問:そのような状況をどのように処理しますか、またはどのように処理しましたか? 同様の状況にある人々のために、仕事を楽しませたチーム、タスク、時間をより良く管理する方法を見つけましたか?または、開発指向のポジションに戻す方法を見つけましたか?主任開発者の職位はほとんど常に高い給料を支払うことを知っていますが、現在の仕事を楽しんでいるよりもお金や昇進を気にかけないようになっていることがわかります。 少なくとも1年間は調整を試みるべきだと考えたため、経営陣とはこれについて話し合っていません。

3
なじみのない技術を使用して作業するときに見積もりを提供しますか
最近、私が知らないフレームワーク(および潜在的に別のフレームワークの一部)を使用しなければならないプロジェクトの見積もりを提供するために、新しい問題が提示されました。私が慣れ親しんでいるものを自由に使用できる場合、見積もりを提供することははるかに簡単ですが、慣れていない領域での作業について見積もりが要求されたときに、分析による障害のある麻痺が生じたかのようでした。 振り返ってみると、私の解決策は間違っていました。私はただ働き始めました。 なじみのない言語/技術/フレームワークを使用する必要がある場合、プロジェクトとタスクをより適切に見積もるにはどうすればよいですか?
19 estimation 

3
GPLv3 Pythonモジュールを使用すると、プロジェクト全体でGPLv3のライセンスが必要になりますか?
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 私は現在、オープンソースライセンスでリリースする予定の小さなプロジェクトに取り組んでいます(まだ決定していません)。私が抱えている疑問は、私が使用しているPythonモジュールの1つがGPLv3の下でライセンスされているということです。ライブラリに変更を加えていないので(そのまま使用)、選択したライセンスでプロジェクトのライセンスを取得できますか、それともGPLv3にする必要がありますか?
19 python  licensing  gpl 

6
SCRUMは、1人だけのプロジェクトで使用する必要がありますか?
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 当社では、3つの異なるプロジェクトに同時に取り組んでいるチームがあります。通常、各プロジェクトに関係するのは1人か2人だけです。プロジェクトの作業には、多くの場合、新技術の習得やバグの解決が含まれますが、どちらも推定が非常に難しいタスクにつながります。この状況では、管理者は引き続きSCRUMの使用を主張し、予期しない状況のためにスプリントの最後に安全バッファーを割り当てることはできません。スタンドアップミーティングはチーム全体で行われますが、ほとんどの人は無関係のソフトウェアコンポーネントや異なるソフトウェアプロジェクトを一緒に作業します。 単一の開発者とファジータスクを含むプロジェクトでSCRUMがうまく機能しているのを誰かが見たのではないかと思いますが、プロセスをどのようにうまく機能させましたか? 新しいテクノロジーの研究/マスタリングに関連するタスクを推定する方法(これには、新しいプログラミング言語、プラットフォーム、および開発ツールの学習が含まれます) 特定のプロジェクトにSCRUMを使用しないように経営陣を説得することに成功した人はいますか? ありがとう!
19 scrum 

4
Haskellは数学の基礎を教えるのが得意ですか?
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 私は、ASやAレベルの数学仕様などの要件を持つクラスに数学を教えることに関与しています。 クラスの本は通常、数学のタスクに適用されるコンピューターソフトウェアの例を提供しますが、通常はmathlab、mathematica、derivateなどのソフトウェアアプリケーションに基づいています。 実際のプログラミング言語を使用する場合でも、通常はPascalなどの古い言語です。そして、これは私の意見では本当に悲しいです。 なぜなら、Haskellは数学に対する彼の気持ちで有名であり、私もそれに興味があるので、Haskellが大学1年生のエクステンション運動方法として良い選択かどうかを尋ねたいと思います。典型的な主題は、関数、計算、限界だけでなく、例えば線形代数でもあります。 私はプログラミング(c#、ruby、powershell、javascript、tex)で中級の知識経験があり、XSLTを使用した関数型プログラミングにもすでに取り組んでいます。 回答は責任をもって支持されます。線形代数(ベクトル空間など)、多項式、線形方程式の解法など、数学に適用されるHaskellコードの基本的な例を含む詳細な回答は、必要なものとして高く評価され、対象とされています。
19 haskell 

8
削除されたユーザーの処理-別のテーブルまたは同じテーブル?
シナリオは、ユーザーの数が増えており、時間が経つにつれて、ユーザーが同じテーブルで現在「削除済み」(フラグ付き)としてマークしているアカウントをキャンセルすることです。 同じメールアドレス(つまり、ログイン方法)を持つユーザーが新しいアカウントを作成したい場合、再度サインアップできますが、新しいアカウントが作成されます。(すべてのアカウントに一意のIDがあるため、メールアドレスはライブおよび削除されたものの間で複製できます)。 私が気づいたのは、システム全体で、ユーザーのテーブルを常に照会する通常の過程で、ユーザーが削除されていないことを確認していますが、私が考えているのは、それを行う必要はまったくないということです... ![明確化1:「常にクエリを実行する」ということは、「... FROM users WHERE isdeleted = "0" AND ...」のようなクエリがあることを意味します。たとえば、私たちはそのクエリで、特定の日にすべての会議のために登録されているすべてのユーザーを取得する必要があるかもしれません、我々はまた、 isdeleted =「0」のユーザーから持っている-これが私のポイントが明確にありません]? (1) continue keeping deleted users in the 'main' users table (2) keep deleted users in a separate table (mostly required for historical book-keeping) どちらのアプローチの長所と短所は何ですか?

7
インターンシップを双方にとって最も効果的で便利で楽しいものにする[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 現在、インターンシップの候補者数名にインタビューを行っていますが、これは会社として、また個人的にチームリーダー/マネージャーとして、私にとって本当に新しい経験です。 ここで、双方にとって最も効果的で便利でありながら楽しいアプローチは何でしょうか?開発チームとワークフローにインターンをどのように「統合」すれば、彼が学習しながらも役立つことができるように、大きな混乱を招くことはありませんか?

7
開発者チームのミーティングを実行する方法は?
10人の開発者からなる私たちのチームは毎週会合を開きます。会議はかなり退屈で、特に有用ではありません。良い会議をするためにどの形式/議題を利用していますか? ピザを提供した会議室で毎週会います。形式は、部屋を一周し、作業中のさまざまなタスクのステータスをリストし、来週のタスクについて話し合います。マネージャーは、今後数か月および1年先の今後のプロジェクトと優先事項の概要を提供します。 更新 これらの会議の目標は多かれ少なかれです-一般的なチームの構築、誰もが取り組んでいるものの知識を共有し、変化する会社のイニシアチブを誰もが認識し続けることです。仕事の割り当てを正式に「配る」ことではありません(他の方法で行われます)。

9
強制コード再フォーマットの利点と欠点
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 私は現在、開発者にバージョン管理チェックインで自動コードフォーマッタを使用するように強制することを検討している場所で作業しています。私はこれを行うことの利点と欠点について開発者の意見を探しています...あなたがそれがどのように開発者を助けるか妨げると思うか。私の特定のケースはJava / JSPに関係していますが、質問はどの言語にも当てはまると思います。

6
プロパティには副作用がありますか
C#のプロパティには、状態の変化を通知することに加えて副作用がありますか? いくつかの異なる方法で使用されるプロパティを見てきました。初めてアクセスされたときに値を読み込むプロパティから、別のページへのリダイレクトを引き起こすなどの大きな副作用を持つプロパティにアクセスします。
19 c# 

6
2011年のCプログラミング[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 何ヶ月も前に、私は主に幅広いOS(Linux、* BSD、HPUX、VMSなど)をサポートするPOP3サーバーを維持しながら、生活のためにCコードをカットしました。 私はCのスキルからさびを取り除き、Cで簡単なFORTHをコーディングすることで言語実装について少し学ぶつもりです。 しかし、2000年以降、Cの世界で物事がどのように変化したのか(またはそうでないのか)疑問に思っています。 comp.lang.c 可能な限りANSI C(ただし、C99としてのC89はそれほど広くサポートされていません) gcc -Wall -ansi -pedantic 静的解析ツールの代わりに Emacs Ctags Autoconf + make(およびVMS、HP-UXなどの良さについてはポイント2を参照) 過去11年間Cで書いている人なら誰でも(もしあれば;-))何が変わったのか教えてもらえますか? (他のニュース、聖なるがらくた、私はこれを10年以上行ってきました)。

7
良い最初の関数型プログラミングプロジェクトは何でしょうか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 良い最初の関数型プログラミングプロジェクトは何でしょうか? 私は独身のプロジェクトを成功させたいと思っており、機能的なプログラミングプロジェクトを終えたいと思っています。私たちは学校で勉強しませんでしたが、新しいことを自分で学ぼうとすることをお勧めします。 。 問題は、夏休みを利用して関数型プログラミングの理解を深め、1つの言語に精通するために、プロジェクトを少し早めに開始したいということです。 少しやりがいのある優れた実践プロジェクトですが、言語やパラダイムなどを学ぶこともできます。そして、私の学士プロジェクトにとって良いプロジェクト(より高度なプロジェクト)になると思いますか? 関数型プログラミングを始めるときに最初から最適な言語を提案することも歓迎します。

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