共通の開発環境
ソフトウェアは、特定の順序で編成されたコンピューターデータと命令のコレクションです。
ソフトウェア機能
ソフトウェア開発プロセス:要件の調査と通信/取得、要件分析、製品設計、インターフェース設計、設計プロトタイプ図面、プログラムコーディング、テスト、パッケージリリース、製品発売
ソフトウェア開発モデルウォーターフォールモデル、進化モデル、スパイラルモデル、噴水モデル
開発手法:構造化手法、情報モデル手法、オブジェクト指向手法
機能的および構造的特徴:ハプロタイプ、相乗型、分散型、並行型。
汎用ソフトウェア開発環境と専用ソフトウェア開発環境
フロントエンド開発環境、バックエンド開発環境、ソフトウェアメンテナンス環境、リバースエンジニアリング環境。
ソフトウェア基盤
一般的なソフトウェアアーキテクチャ | 組成 | 利点 | 不利益 |
階層化アーキテクチャ | プレゼンテーション層、ビジネス層、持続性層、データ層 | シンプルな組織、理解と開発が容易、明確な分業、独立したテスト | 変更があり、メンテナンスと変更が面倒で、リリースをサポートできない、ソフトウェアをアップグレードするためにサービス全体を停止する必要がある、スケーラビリティが低い |
イベント駆動型アーキテクチャ | イベントキュー、ディスパッチャー、イベントチャネル、イベントハンドラー | 分散異種アーキテクチャ、幅広い適応性、閉塞しにくい、優れたパフォーマンス、および展開の容易さ。 | 非同期プログラミングは複雑で、アトミック操作をサポートするのが難しく、テストが難しい |
マイクロカーネルのアーキテクチャ | カーネル、プラグイン | 強力な機能拡張、機能間の分離、高度なカスタマイズ、さまざまなニーズへの適応、同時実行が可能 | カーネルはスケーラビリティが低く、分散できないため、開発が困難です |
マイクロサービスのアーキテクチャ | ユーザーインターフェイス層、サービスコンポーネント | サービスの直接結合は低く、拡張しやすく、展開しやすく、開発しやすく、テストしやすい | システムは多数のマイクロサービスに依存しており、パフォーマンスが低く、サービス間の通信が必要であり、アーキテクチャが複雑になり、原子性を実現することが困難です。 |
クラウドアーキテクチャ | 処理ユニット、仮想ミドルウェア | 高負荷、高拡張、動的展開 | 複雑な実装、高コスト、主にWebサイトアプリケーションに適しており、テストが困難 |
一般的な開発ツール
ソフトウェア開発ツールの利点:開発者の労力を削減し、効率と品質を向上させ、ユーザーフレンドリーで信頼できる作業
ソフトウェア開発ツールの特徴:操作が簡単、強力、大規模なカバレッジ、安全で信頼性が高く、変更可能、拡張可能、自己使用のテーマ。
開発ツール機能:目的システムの理解と記述、開発プロセスでの情報の保存と管理、コードの作成と生成、ドキュメントの準備と生成、およびソフトウェアプロジェクトの管理
開発ツールの特性:表現能力または記述能力、情報の一貫性を維持する能力、使いやすさ、ツールの信頼性、ハードウェアおよびソフトウェア環境の要件。
開発ツールの分類:作業フェーズに基づくツール、統合の度合いに基づくツール、ハードウェアとソフトウェアの関係に基づくツール、およびアプリケーションドメインに基づくツール。
いくつかの一般的なツール
HBuilder-HTML5 Web開発IDE
WebStormはjetbrainsの下のJavaScript開発ツールです
IntelliJ IDEAは、Java言語開発のための統合環境です
Windows用Visual Studio 2019 IDEプログラミングソフトウェア