プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • 設計
  • 【Webアプリ】設計の基本(Java)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Webアプリ】設計の基本(Java)

04.22

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

設計工程では、要件をどのようにプログラムに落とし込むか考える作業の事です。

設計手法

  • OOAD(オブジェクト指向分析/設計)
  • DOA(データ中心アプローチ)

DOA(データ中心アプローチ)

近年のシステム開発においては、この設計手法が主流となっています。

文字通り、システムを作る際には、プログラムよりもデータ設計から始めることです。

具体的には…。

データ設計

データベース設計

システムにおいては、大半のデータがデータベース内に保持されるので、「データ設計」といえば、「データベース設計」とほぼ同義になります。

テーブル名、列名、列の型、制約等のテーブルの仕様を決めていく。

なお、データベース設計の具体的なやり方については、下記の記事でご紹介しています。

【データベース設計】基本的な流れ

データベース以外

HTML、CSV、テキスト等のデータ設計を決めること。「データ設計」においては、「データベース設計」よりも後回しになりがちです。

画面設計

  • 「画面遷移図」や、遷移するタイミングも決める。
  • 画面の入出力の仕様を決める。

画面遷移に関する設計

リクエスト方式を決める。

GET/POSTか?

転送方式を決める。

フォワード、リダイレクト、レスポンスか。

リクエストパラメータ

名前は何か?

スコープ

サーブレットや、JSPが使用するスコープの種類、属性名を決める。

クラス設計(オブジェクト指向設計)

今までは、アーキテクチャや業務よりの設計がメインでしたが、クラス設計では実際にプログラムを作る際の、パッケージ、クラスの分け方等の設計になります。

「製造工程で考えることでは?」と思われるかもしれませんが、チームで開発する場合等では、足並みが揃っていないとソースコードに統一性がなくなってしまったり、機能面だけの実装になっており、保守性、再利用性まで考えて実装されていないケースがあるので、非常に重要な工程です。

是非、クラス設計をした上で製造に入るようにしましょう。詳しいクラス設計のやり方に関しては、下記の記事で解説しています。

【設計】クラス設計(オブジェクト指向設計)の基本(保守性、再利用性の高いソースコードを書くには?)

実装設計:アノテーションを使う。

ソースコードの中の要素に対して、メタデータを注記して、クラスやメソッドに特定の役割を持たせることができる仕組みのことです。

Javaの基本的なアノテーションの種類

フレームワークとかを使っていると、他にも大量にアノテーションを見かけることになるかと思いますが、Javaで標準で用意されているアノテーションをいくつかご紹介させて頂きます。

アノテーション 説明 用途
@Override メソッドのオーバーライドを表す。
  • 本当にオーバーライドしているか、コンパイラがチェックしてくれる。
  • プログラムを見ただけで一瞬でオーバーライドしているかわかる。
@Deprecated クラスやメソッドが非推奨であることを表す。
  • 既存のメソッドに、新しい名前のメソッドを追加して、「既存メソッド」が古くなる場合等に用います。
  • Ecpliseがこのアノテーションをつけた古いメソッドに対して使用した場合は「取り消し線」をつけてくれます。
@SuppressWarnings 警告を出さないようにする。 コード中に抑止したい警告がある場合に使います。(普通はあまり使いません。)
スポンサーリンク
  • 2018 04.22
  • miyabisan2
  • コメントを書く
  • Java, 設計
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2021 12.03

    【インフラ】本番環境を意識したCI/CD設計、複数アカウント管理

  2. 2018 05.04

    【オブジェクト指向】多様性(ポリモーフィズム)のメリット

  3. 2018 04.15

    【サーブレット】画面遷移その1(ディスパッチ:リクエストの転送)

  4. 2018 05.05

    【Java】ソフトウェアのライセンスについて

  5. 2018 05.05

    【Java】テキストファイルの読み書き(サンプルあり)

  6. 2018 04.21

    【JSP】JSTLを使うには?(カスタムタグの基本や種類についても)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Java】デザインパターンやクラス設計の基本

【データベース設計】インデックス(索引)の基本

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー