ソフトウェア工学 - 個々のプロジェクト作業
プロジェクト | コンテンツ |
---|---|
この作品は、コースに属し | 春2020コンピュータソフトウェア工学研究所(ロジャー・レン建) |
どこの仕事でこの要件 | 個々のプロジェクトの作業 |
このコースでの私の目標です | 知識の学習ソフトウェアエンジニアリング、トレーニングエンジニアリングと開発能力を開発 |
仕事具体的な側面は、私は目標を達成するのを助けます | PSPは、マスター基本的な実用的な操作によって開発されました |
1概要
教えるクラス:006
プロジェクト住所:https://github.com/sinoyou/Software_Intersection
2 PSP2.1分析
PSP 2.1 | 個人的なソフトウェアのステージ | ||
---|---|---|---|
PSP2.1 | パーソナルソフトウェアプロセス段階 | 推定時間がかかる(分) | 実際の時間がかかる(分) |
プランニング | 計画 | ||
・見積り | •このタスクが必要と推定どのくらいの時間 | 10 | 10 |
開発 | 開発 | ||
・分析 | (新しい技術を学ぶ含む)・ニーズ分析 | 120 | 150 |
・デザインスペック | 設計ドキュメントの生成 | 60 | 30 |
・デザインレビュー | ・デザインレビュー(と彼の同僚は、設計文書を見直し) | - | - |
・コーディング標準 | ・コードの仕様(現在の開発のための適切な規範の開発) | 30 | 20 |
・ 設計 | ・具体的な設計 | 60 | 40 |
・コーディング | ・具体的なコーディング | 120 | 150 |
・コードレビュー | ・コードレビュー | 30 | 30 |
・テスト | ・テスト(セルフテスト、コードを変更し、変更を提出) | 240 | 210 |
報告 | レポート | ||
・ 試験報告書 | ・テストレポート | 60 | 50 |
・サイズ測定 | ・コンピューティングのワークロード | 5 | 5 |
・死後&プロセス改善計画 | ・後知恵、およびプロセス改善計画を提案します | 15 | 30 |
トータル | 750 | 725 |
3問題解決のアイデア
4設計と実装プロセス
5コード分析とパフォーマンス分析
まず、以下のように何の地位の問題を与えないことが見出され、検査されたVisual Studioの独自のコードに書かれたコード分析ツールを使用します。
次に、VSのパフォーマンス分析ツールを使用して、関与する直線の数が最大入力N = 500000に調整し、60秒間実行した後、パフォーマンス分析の実行は、解析結果を中断し、現在の最大消費機能を配置することでLine
、静的クラス方法get_intersection()
、及び交差点、カスタム生成するときに、具体的に、Rational
クラス間の4大部分演算コストを、2つの特定の態様について存在します。
- まず:周波数は、過剰なパフォーマンスのオーバーヘッドが生じ、あまりにも新しい操作です。この点でI適切な取り扱い方法は、短い時間では見られません。
- 第二:以下に示すように、ABS標準は空間、MAX、MIN大きな性能オーバヘッド関数で定義され、インライン手動これらの関数は、コスト関数の性能は、低下します。
- 第三の単純な分数のGCD(最大公約数要求)だけでなく、ループ型ながら書き換え先の再帰構造における大きなコスト関数性能、性能は少しオーバーヘッドが存在するが、明らかではないドロップ。
6コード説明
次のように、より良い、より便利で、したがって、ユニットテストクラスをパッケージングする方法で導入されたバージョン:
<BR