2025年6月30日月曜日

ソフトウェア開発 マイルストーンの例

 マイルストーンの例です。 


・要求レビュー完了 


・プロジェクト計画のレビュ完了 


・コスト見積もりの完了 


・アーキテクチャのレビュ完了 


・外部設計のレビュ完了 


・運用設計のレビュ完了 


・内部設計のレビュ完了 


・データベース設計のレビュ完了 


・テスト計画のレビュ完了 


・各テストの段階のレビュ完了 




2025年6月29日日曜日

REFACTORING OBJECT-ORIENTED FRAMEWORKS

 公開されている

REFACTORING OBJECT-ORIENTED FRAMEWORKS

のキモ部分を読んで勉強してみたいと思います。


始めに

問題

設計は困難な作業である。特に再利用可能なソフトウェアの設計は困難である。

再利用可能なソフトウェアは、普通、多くのデザインのイテレーションの結果である。

デザインのイテレーションは、稼働後のソフトウェアにも発生する。

ソフトウェアが変更しやすければ、デザインのイテレーションも容易になり、ソフトウェアの再利用もより進む。

しかし、これに対しての研究はなく、オブジェクト指向ソフトウェアは、変更しやすいということいが信じられている。

サブクラスの追加や既存クラスへの新しいオペレーションの追加では、オリジナルのソフトウェアへの変更は発生しない。

しかし、オブジェクト指向のソフトウェアの変更は、一般的に考えられるよりも、難しい。

オブジェクト指向のシステムの変更では、既存のクラスの中の変更や、クラス間の関係の変更も発生する。

これらの変更では、変数やメソッドのクラス間での移動、クラスの分割などが発生する。

構造の変化が発生すれば、プログラムの他の部分へも影響が及ぶことがある。

影響を人手で、追跡し変更することは、時間を要し、また難しいく、エラーを生みやすい。

再利用性というオブジェクト指向のメリットを得るためには、構造の変更に対する自動化のサポートが必要となる。







2025年6月25日水曜日

システム開発のプロセスの例

1.初期化


問題を特定する
 

2.分析


・問題を分析して理解する
・解決策と解決に必要な要求事項を特定する

3.設計


解決策を設計する
 

4.実装


解決策を実装する







2025年6月21日土曜日

マイクロサービス

マイクロサービスの特徴

 

(1)独立性


おのおののマイクロサービスは、独立してDeployできる


(2)疎結合


マイクロサービスは、疎結合であり、あるマイクロサービスの変更が、他のマイクロサービスへ影響しない


(3)ビジネス志向


それぞれのマイクロサービスは、必要最低限を提供するが、全体としては、ビジネスの目的を達成する


マイクロサービスのメリット

 

メリット

・サイズが小さいことでの保守性の向上

・それぞれのサービスの実装技術に依存しないため、セキュリティ、スピード、スケーラビリティの確保が容易

・ディプロイが容易

デメリット


・コスト高になる可能性がある

クロニクル MacでJunit

 STS4との組み合わせです。


1. 以下のサイトから、Junitのサンプルをダウンロードしました。


https://github.com/junit-team/junit5-samples


2. ダウンロードしたものを、展開しました。


3. ダウンロードしたものの中から、


 junit5-jupiter-starter-maven


を、STSでインポートしました。


4. STSにて


[Run] - [Run As] - [Junit Test] 


を選択すると、テストが動いているようです。




2025年6月20日金曜日

クロニクル MacでSpring Tool Suite(STS)

 1.  Jdkは、インストール済みとします。

 ターミナルで、以下を確認しました。

$ javac -version

  javac 17.0.6


2. Spring Tool Suiteのインストール

ダウンロード

   https://spring.io/tools

から

「Spring Tools for Eclipse」の

対象のインストーラーをダウンロード。

spring-tool-suite-4-4.28.1.RELEASE-e4.34.0-macosx.cocoa.x86_64.dmg

がダウンロードされました。


3.ダウンロードしたファイルからインストール


4. 確認

アプリケーションからSTSを実行する。

メニューから[ファイル]-[New] -[Javaプロジェクト]を作成する。

メニューから[ファイル]-[New] -[class]を作成する。

次のようなclassファイルとする。


package test;

public class Main {

public static void main(String[] args) {

System.out.println("Hello world") ;

}

}


メニュから[Run]-[Run]で、Java Applicationとして実行する

 Hello Word

と表示されました。


動いているみたいです。




アルゴリズムの考え方

総当たりアルゴリズム すべての場合をためし、解を求める。 近似アルゴリズム  ・正解に近い解を探す ・正解との誤差がある範囲におさまると保証されているものを  精度保証付アルゴリズムという。 ・精度の保証のないアルゴリズムを、発見的手法(ヒューリスティック)    という。