2020ソフトウェアエンジニアリング - 双晶のプロジェクト作業
1.プロジェクト
githubのリンク
- https://github.com/CapFreddy/BUAASE-PairPrograming
- 教育クラス:金クラス006
プロジェクト | コンテンツ |
---|---|
この作品は、コースに属し | https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ |
どこの仕事でこの要件 | https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ/homework/10466) |
このコースでの私の目標です | ソフトウェア開発は、機能を強化します |
私は目標を達成する助けたジョブの特定の局面において | 個々のプログラミング機能を強化し、機能をテストするコードのパフォーマンスを向上させます |
2. PSPの支出時間
PSP2.1 | パーソナルソフトウェアプロセスステージ | かかると予想 | 実際の時間がかかります |
---|---|---|---|
プランニング | 計画 | 120 | 60 |
Estimte | このタスクが必要とどのくらいの時間を見積もります | 1800 | 1700 |
開発 | 開発 | 1100 | 1000年 |
分析 | 要求分析 | 0 | 0 |
最新デザインSpaec | 設計ドキュメントの生成 | 100 | 40 |
デザインレビュー | デザインレビュー | 100 | 10 |
標準コーディング | コードの仕様 | 0 | 0 |
設計 | 具体的な設計 | 60 | 40 |
コーディング | 具体的なコーディング | 1100 | 180 |
コードレビュー | コードレビュー | 60 | 60 |
テスト | テスト | 180 | 180 |
報告 | レポート | 100 | 120 |
試験報告書 | テストレポート | 0 | 0 |
サイズ測定 | コンピューティングワークロード | 5 | 0 |
死後&プロセス改善 | あと知恵 | 60 | 50 |
- | トータル | 1800 | 1700 |
3.インターフェイスデザイン
情報や学習へのアクセスを通じ、私たちはこれらの原則を使用して、インターフェイスデザインのいくつかの一般的な原則があることをこの作品のデザインを学びました。
-
単一責任の原則
シングル責任原則:変化にクラスの複数の理由があってはなりませんshuld
プライベートとパブリックインターフェイスメソッドは、あまりにも、そうなりやすいエラーに変更した場合、単一責任の原則は、インターフェース、機能を必要とします。ペアプログラミングの設計では、我々はそのようなラインの円のポイントとして、事の機能のみを確保しようとする計算モジュールは、各関数ハンドル一種類のみの交点を求め、三つのカテゴリーに分け。
-
リヒター置換原則
リスコフの置換原則:ベースに使用ポインタや参照が分類という機能がそれを知らずに派生クラスのobjecstsを使用することができなければなりません
この法律は多型の現れである、すべての親ポインタは、親クラスのオーバーライド機能は、アプリケーション機能の範囲を縮小することを可能にする場合にのみ、サブクラスは親クラスを拡張する必要がありますが、使用することはできません使用サブポインタ、を指すことができます。元のバージョンでは、我々は、ラインサークル後でこの継承が相続を放棄し、パフォーマンスに影響を与えることを発見した親クラスの実装を継承する方法を採用しました。
-
依存関係逆転の原則
依存関係の逆転は、原則としてTDDは、先のインタフェースを考えるために、プログラマを必要とし、その抽象化、上の代わりに頼って、任意の特定の根底にあるのモジュールに依存しない高レベルのモジュールを必要とし、テスト駆動開発を反映しています。
-
インターフェイスの棲み分け原理
クライアントは、彼らが使用していないことをinterfacessに依存することを強制すべきではありません
そのインターフェイスのシンプルな、あまりにも肥大化を確認し、ドッキングモジュールとUIモジュールの計算では、我々は、機能間のインターフェースが分離を実現する一方で、正確に一つのインタフェース各ボタンが対応するように、インターフェースモジュールを改良してみてください。
-
デメテル
デメテルの法則:少なくとも知識
疎結合:彼らは主に独立したルースカップリング手段この原則は、2つのクラス間の下部連結を必要とし、疎結合を実現する、クラスが別のクラスを達成する方法を知っている必要はありませんが、彼らのアプローチを変更するために内部コードの二十から一クラスを変更する必要はありません。ために、私たちのペアプログラミングの抽象化とカプセル化のための効率的なドッキングインターフェース、およびインターフェースを達成するために
5. UML图
図UMLの設計は、クラス間の関係を示すグラフである5人の主要な関係があります
- 依存関係
- 関連性
- 集約関係
- 関係の組み合わせ
- 継承
図に示すように、計算モジュールがUMLの関係で表されます。