タグ付けされた質問 「software」

コンピュータソフトウェア、または単なるソフトウェアは、コンピュータプログラムに関連するデータの集まりであり、コンピュータに何をすべきか、どのように行うかを指示するための指示を提供します。

6
開発後にソフトウェア設計文書を作成することは正当化できますか?
現在、「ソフトウェア開発」の研究のために卒業に取り組んでおり、外部企業で複雑なソフトウェアを個別に開発する必要があります。これはすべて、構造化された方法で行われ、対応するすべてのドキュメントを作成する必要があります。 このプロジェクトでは、IEEE要件文書(ソフトウェア要件文書(SRS)、ソフトウェアアーキテクチャ文書(SAD)、ソフトウェア設計文書(SDD))を使用することにしました。別の方法で学校で教えられましたが、このプロジェクトでは、開発前に(代わりに)開発後にSDDを作成することにしました。私の推論は: 私がインターンシップを行っている会社は、実験的な方法で、特定の要件を満たす複雑なソフトウェアを作成するよう指示をくれました。プロジェクトの定義で彼らが私に与えた自由の量のために、事前にほとんど何も確実ではなく、開発プロセスの実験中に最もよく遭遇することができます。さらに、私はソフトウェアを個別に作成していますが、このソフトウェア設計を事前に行うことは、社内の他の誰にとってもメリットがありません。プロジェクトの不確実性により、事前に作成したデザインを大幅に変更する必要があることを確信できるため、事前にそれを行うと、後で変更するのにかなりの時間がかかります。これは逆効果だと感じています。 これは、開発後にSDDを作成する正当な理由ですか?そうでない場合、そのための正当な理由はありますか? 編集:SDDを後で作成する理由は、将来の開発者がプロ​​ジェクトを継続するためです。私は卒業期間中にプロジェクト全体を終了することはできませんので、他の開発者は現在のコードベースを継続する必要があります。


4
どんよりした非技術的なマネージャーを寄せ付けずに、良い仕事を提供するにはどうすればいいでしょうか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 この質問は主観的と見なされ(警告を受けた)、閉じられますが、これに関するいくつかの良いアドバイス/経験が必要なので、私はそれを危険にさらします。 私は次のように読んで「約」のページ霧クリークソフトウェア、という会社ジョエル・スポルスキが設立され、の最高経営責任者(CEO)であるが。 2000年に、フォグ・クリークの創設者であるジョエル・スポルスキーとマイケル・プライアーは、プログラマーがきちんとした労働条件を持っていて、仕事をする機会を得るのに苦労していました。道。すべてのハイテク企業は、優れたプログラマーを望んでいると主張しましたが、彼らはお金を口に入れませんでした。 それは物理的な環境から始まりました(数十個のキュービクルが騒々しい暗い部屋に詰め込まれ、電話で叫ぶ営業員が開発者が集中することを不可能にします)。しかし、それはそれよりもずっと深くなりました。変更を恐れるマネージャーは、新しいアイデアを隔離すべき奇妙なウイルスとして扱いました。ナポレオンの複雑なジュニアマネージャーは、物事を正確に自分のやり方で行うか、解雇されると主張しました。誰もが自分のキュービクルに映画のポスターをテープで貼り付けたとき、企業の家具警察は苦痛にwrりました。混乱はso延していたので、たとえアイデアが良かったとしても、それらから製品を作ることは不可能だったでしょう。経験の浅い管理者は、ヒットアンドラン管理を実践し、フィアットの過激な結果を見るために固執せずに物事を正確に行う方法について厳しい命令を出しました。 そして最悪なことに、担当のMBAタイプは、コーディングはサポート機能であり、基本的には型の洗練された形式であると考えていました。 今日の大規模なソフトウェア会社のほとんどについての率直な真実!残念ながら、すべての開発者がJoel Spolskyのようにgutsy(またはlucky言うことができますか?)だから私の質問は: そのようなマネージャーと仕事をし、彼らを寄せ付けず、それでも素晴らしい仕事を提供する最善の方法は?

2
ソフトウェアを販売/配布する方法は?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 私は個人プロジェクト(Windowsデスクトップアプリケーション)に取り組んでおり、アプリケーション(ソースではなく)からお金を稼ぐことを考え始めました。私は10億ドルを稼ぐことを期待していませんが、誰が正しいことを知っていますか?私が見る最も簡単な方法は、無料でそれを配って人々が寄付できるようにすることですが、それがどの程度うまく機能するのか、どの支払いシステムが最も簡単/ベストなのかわかりません(Paypal)?もし私がそれを売るなら、どうやってそれをするでしょうか?サードパーティの配布?Paypalを使用して自分のWebサイトから販売し、領収書を確認しますか?アプリケーション用に独自の「ストア」を構築しますか? 基本的に、個人的なプロジェクト(寄付、販売、その他)からお金を稼ぐためにどのような方法を使用しましたか?チップ? お返事をありがとうございます。

1
適切な問題ステートメントの作成
<裏話> 先日、古本屋でコードコンプリートという本を買ってきて、すごい本だと聞いて読み始めました。約10ページ後、私が取り組んでいる最近のプロジェクトについて、私はちょっと愚かであることに気付きました。ここで少し説明しておきますが、私は仕事に就いていません。これは学校向けではありません。それは可能な限り非公式です(たまにSOで質問したことがありますが、私もそれに取り組んでいる唯一の人です)。私は中学生で、ソフトウェアを作成しようとしています。 簡単に言えば、私はすぐにコーディングに飛びつきました(そして今、彼がそのコードがどのように機能するかについてその場で行ったいくつかの決定に疑問を投げかけています)。だから私は正しい方法からやり直そうとしている。 </バックストーリー> わかりました、それで私は問題文を作成しようとしています、そして私は私に良いものがあるかどうかを知るためにいくつかの良いヒントが何であるかを知りたいと思いました。コードコンプリートは、それは技術的ではなく、ユーザーの観点からすべきだと述べましたが、私は試みました。それを改善する上でのアドバイスはありがたいです。 私の知る限り、現在、デコヒーレンス、エラー訂正、エンタングルメント、古典的なコンピューターのアルゴリズムなどの機能を含む、大規模で複雑な量子コンピューティング回路をシミュレートする良い方法はありません。既知で簡単にアクセスできます。 本当にひどい場合は申し訳ありませんが、これはこれが初めてです。 編集-下書き2: コメントと回答の提案を使って書き直しました。 量子コンピューティングの分野の理論家、研究者、学生が、アプリケーション自体のコードを作成せずに、複雑で大きな量子回路を直感的かつ効率的な方法でシミュレーションおよびテストする方法はありません。量子アルゴリズム、エラー修正コード、エンタングルメント、デコヒーレンス、および理想的で現実的なインターフェースのその他の側面の結果に関する結果を正確に生成できるシンプルなインターフェースを備えた一般的なブラウザーで機能するWebアプリケーションは、専門家と学生の両方が彼らのアイデアをテストし、量子コンピューティングの分野をよりよく理解してください。

4
適切な方法で条件付きを多態性に置き換えますか?
2つのクラスDogと、Cat両方がAnimalプロトコルに準拠している(Swiftプログラミング言語に関しては、Java / C#のインターフェースになる)と考えてください。 犬と猫の混合リストを表示する画面があります。Interactor舞台裏のロジックを処理するクラスがあります。 ここで、ユーザーが猫を削除するときに確認アラートを表示します。ただし、犬はアラートなしですぐに削除する必要があります。条件付きのメソッドは次のようになります。 func tryToDeleteModel(model: Animal) { if let model = model as? Cat { tellSceneToShowConfirmationAlert() } else if let model = model as? Dog { deleteModel(model: model) } } このコードはどのようにリファクタリングできますか?それは明らかににおいがする

6
依存性注入の最良の定義は何ですか?
誰かが私に連絡して、依存性注入を概念的な方法で定義し、ソフトウェア設計でDIを使用することの実際の長所と短所を説明するように求められるたびに。DIの概念を説明するのが難しいと告白します。単一の責任の原則、継承に関する構成などに関する歴史を伝える必要があるたびに。 開発者のためにDIを説明する最良の方法を説明してくれる人はいますか?

5
最大の費用対効果をもたらすバグの解決[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 解決がどれほど簡単か、そしてどれだけの利益が得られるかに基づいて、バグを分類する方法を知りたいと思っていました。たとえば、解決に1時間かかる(2つのファイルを閉じるなど)バグと、1日かかる別のバグ(セグメンテーションエラー)がある場合などです。ただし、最初のバグの解決がそれほど重要でない場合は、おそらく2番目のバグに取り組みます。 費用便益または類似の指標に基づいてバグを分類する研究論文はありますか? たとえば、セキュリティの脆弱性、メモリエラー、論理エラーなど、バグの特性に基づいてバグを分類することができるとしましょう。他の次元では、難易度(簡単、中程度、難しい)などのパラメータがある場合があります。私が探しているべき他の次元はありますか?物事を単純化するために、私は2つのことを想定できます。 チーム内のすべてのプログラマーは、あらゆるバグを同等に解決することができます 締め切りはありません


3
ソースコードとソフトウェア製品の価格の定量化
この投稿を改善してみませんか?この質問に対する詳細な回答を提供します。これには、引用と、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 今からプロジェクトに着手します。これは私がコードを書くことを必要とします、そしてそれのトン。クライアントの要件は、プロジェクトの最後にすべてのソースコードを提出することです。 私の質問は、ソースコードとソフトウェア製品の価格をどのように数量化するのですか?価格を決定するために使用する指標はありますか?ソフトウェア製品をどのように定量化しますか? 追加情報:アプリケーションは、タブレット(iPad、Galaxyタブなど)、スマートフォン(iPhone、Androidフォンなど)を含むすべてのOSのどこでも、またWeb上で実行する必要があります。 (今、これがどのくらいのコードになるか想像してみてください)。

7
頻繁な要件の変更にどのように対処しますか?
現在の職場ではかなりストレスの多い状況(私の意見では)を扱っています。 私たちは新しいプロジェクトの開発を開始し、いくつかの要件を取得して実装し、「ビジネスアドバイザー」と呼ばれる人(ビジネス要件を知っているがプログラムを使用しない人)に見せます。その人は顧客の視点からアプリケーションを評価し、それをテストすることになっています。 ここに「プロセス」がどのように見えるか: ビジネスアドバイザーは、Windowsメッセンジャーで1〜2時間、上司と夕方話し合います 翌日、その会話のコピーをメールで受け取ります。私はそこからタスクを選択し、報告されたバグをチェックすることになっています(これは多くの場合、バグではなく、テストが不十分で、過去の施設を忘れています)。 私は変更を実装し、実装が受け入れられ、1〜2週間で、彼らが望んでいないことが判明しました(5分間ソフトウェアを見た可能性のあるクライアントと話し、変更を提案しました)-新しい変更を行う必要があります 誤解しないでください。要件が変わる場合があることを理解しています。気が動転するのは、職場で変更が発生する頻度と、「管理」がいかに簡単かによって、新しい要件が与えられたり、既存の機能に根本的な変更が加えられたりすることです。 同時に厳しい締め切りに取り組んでおり、ソフトウェアを進めるのではなく、サークルを運営しているという印象を受けます。 この状況への対処方法を教えてください。これは通常の状況であり、私はそれについて過敏になっていますか?

2
別のアプリケーションのGUI /機能を「コピー」できますか
私は、同様の目的を果たす別のアプリケーションに大きく基づいているアプリを作成しています。実際に売るつもりはありませんが、売っても合法かどうか迷っています。 私は他のアプリケーションからグラフィックスを借用していませんが、非常によく似た配色、実質的に同じ機能(いくつかを追加しましたが、それほど重要ではありません)、および非常によく似たインターフェイスレイアウトがあります。明らかに、私はコードを借用していません(それはObjective-Cで書かれていて、Javaで書かれた鉱山です)。 繰り返しますが、実際には販売するつもりはありません。仮説で疑問に思っていました。それが著作権で保護されているコードだけなのか、それとも実際にデザインされたのかはわかりません。

2
これは基本的な数独ゲームのユーザーストーリーとしてカウントされますか?
私は、アジャイルソフトウェア開発アプローチを使用して、基本的な数独ゲームのユーザーストーリーを作成しようとしています。 ユーザーストーリーの背後にある概念を理解しましたが、理解を深めるための例を得ることができるのかと思っていました。 言うでしょう 私は数独の熱心なプレイヤーとして、さまざまな難易度で複数のレベルを持ちたいと思っています。 新しいプレーヤーとして、私は基本を教えてくれるゲームの紹介レベルが欲しいです。 ユーザーストーリーとしてカウントしますか?

4
ソフトウェア設計者は開発のどの部分を行うべきですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8か月前に閉鎖。 私のマネージャーは最近私を「ソフトウェアデザイナー」に昇進させました。このタイトルが存在することを知りません。私の知る限り、SAは高レベルのコード設計を作成し、図を作成します。 高レベルのコード設計を理解するのに苦労しています。私のマネージャーによると、すべてのクラスとそれらのクラス内のすべてのメソッドを設計する必要があります。つまり、コード構造全体を設計し、チームに各関数またはクラスの機能を実装させます。たとえば、CRUDシステムでは、どの関数を使用するか、どのクラスを作成するかを計画できるはずです。 私のソフトウェア設計の経験を考えると、これを実行することは非常に不可能であることがわかりました。開発者として、私は常に自分のクラスを作成し、自分の関数を定義して実装しています。他の人のために機能を設計した経験はありません。 私の質問は: これは一般的ですか?非常に大規模なシステムの場合、コードベースは常に変更されませんか? これはできますか? ここでは明白で愚かな質問をしているのかもしれませんが、私はこれまで常に正規の開発者であり、システム全体の設計経験はありません。

6
エンジニアが突然利用できなくなった場合のソフトウェア災害復旧
私の会社では最近、締め切りが非常に厳しいプロジェクトがあり、極端な個人的な問題のために私が不在になるまで、すべてが計画どおりに進んでいました。 結局、4〜5日で締め切りに間に合いませんでした。 これらの状態の通常の回復計画は何ですか?私の会社は私の仕事を完了するために開発者を外部委託しようとする必要がありますか?それを見つけるのに数日かかるかも?

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