曾 可栄のブログサイト
システム Blogシステム開発 2020年夏 卒業設計 1
ブログ、英語名は「Blogger」。Web日記はその正式名 称です。ブログはMSN、BBS、ICQに続く、4番目のインタ
ーネットコミュニケーション方式です。それは新しい生活や 仕事、学び方を表現するだけでなく、インターネット時代の 個人的な「リーダーズ・ダイジェスト」でもあります。
スーパーリンクを入り口にしたインターネット日記でも あります。デジタルが普及している今の時代、ブログはまっ たく新しい発表方法として重要な地位を占めています。そこ で今回の卒業デザインは、現実に近いブログサイトを開発す ることにしました。
私はユーザーとブログシステムアドミニストレーターの ニーズを詳細に分析し、ブログシステムの完全なワークフ ローを実現しました。最適化され、テストされ、配備された このブログシステムは、公共のインターネットワークIPから 直接アクセスでき、真の意味でのオンラインブログシステム となります。
Related Technology and development environment
関連技術紹介
Springbootとは?
SpringはJavaエンタープライズ版の軽量代替品です。
シンプルなJavaオブジェクトを使用してEJBの機能を
実現するため、重厚な開発は必要ありません。Spring
Bootの特徴は迅速かつ機敏な開発が可能であり、パッ
ケージを配備した後はJavaを介して直接実行できるこ
とです。
Thymeleafとは?
Thymeleafはフロントエンド向けのテンプレートエンジ
ンであり、このテンプレートエンジンは生産性を向上さ
せ、フロントエンドの開発者がプロジェクトモジュール
をより迅速にリリースできるようにします。
Hibernateとは?
Hibernateは、SQL文を自動生
MVC構造とは?
MVCはモ
キテクチャです。
その目的は、Webシステムにおけるデザイン原則を実現す
ることです。Model層
Background
ビュー
ie
はデータの操作を担当し、View層は
データの表示およびユーザーとの対話を行い、Controller
層
プログラムの論理制御
ハブとなります。
デル層(Model)、
層(V
w)、コント
ローラー層(Controller)からなるアー
は
の
成する人気のオブジェクト
リレーショナルマッピングフレームワークです。 モデル Model コント
ローラー Controller ビュー View 運用システム: windows10 JDK のバージョン: 1.8 統合開発環境(IDE):Eclipse バックエンド:Springboot データベース: mysql server 8.0 サーバー配備環境の紹介 運用システム:WindowsServer2012 遠隔操作ツール:TeamViewer、Win
dows付属のツール 実行の環境:JDK1.8,MongoDB,Ela
sticsearch ファイル同期ツール:百度云,TeamV
iewerのファイ ル転送ツール システム開発環境紹介 2
System requirement analysis
機能要件分析
私はブログシステム全体を研究し、
分析しました。まず、このシステム
のユーザーが、生活の常識や専門技
術を共有するのが好きなブロガーで
あることを明確にすることができま
した。システムはユーザーに完璧な
対象を提供しなければなりません。
ブログの書き込み、関連記事、レビ
ュー、検索などが含まれます。シス
テムが実現すべき機能と実行すべき
作業を明示した上で、システム機能
モジュールを9つの大きなモジュール
に分割しました。
ユーザー管理モジュール
ユーザー登録
ユーザー追加
ユーザー変更
ユーザー表示
ブログ管理モジュール
ブログの追加
ブログの削除
ブログの変更
ユーザー削除 ユーザー検索 ユーザー表示 ユーザー登録
ユーザー追加 ユーザー変更 ユーザー削除 ユーザー検索
権限制限 ロール認可
セキュリティ設定モジュール ユーザーログイン
ブログの閲覧 コメントの追加 コメントの削除 コメントの変更 コメントの閲覧 コメント管理モジュール ファイルシステムモジュール 画像アップロード機能 いいね管理モジュール いいね いいねのクエリ いいねの取り消し いいねの統計 カテゴリの作成 カテゴリの編集 カテゴリの削除 カテゴリの表示 ブログカテゴリ管理モジュール
記事検索モジュール タ
3
タグ管理モジュール タグの作成
グの表示
システム性能要件
システムのデータ処理関連モジュールは、ユーザー体験を
保証するために迅速に対応する必要があります。
The design of a databass table
システムの堅牢性要件
システムは、ウェブエラーやウェブページへのアクセス拒否
といった異常が発生する可能性がある場合に、高い耐障害性
を持つ必要があります。異常が発生する可能性がある場合に
は、それを予防することができなければなりません。
システムのユーザビリティ
システムがユーザーをターゲットにしていることを考慮すると、
システムはユーザーが日常的に使いやすいように、難しいプログ
ラム論理を避け、簡単な操作インタフェースと明快なテキスト・
ヒントを持つべきです。
システムの拡張性と移植性
システムは優れた可読性を持ち、重要なコンテンツやアルゴリズ
ムに対する文書作成や注釈を行うべきです。プログラム内の主要
な構成は構成ファイルで行うことで、プログラムを異なるプラッ
トフォームや環境でのプログラミングの要求に適応させることが
できます。
非機能要件分析
ユニット
情報表 フィールド名 フィールド説明 フィールドタイプ ID 主キー、ユニークキー Bigint(20) Name 具体的な権限
カテゴリID
いいねの数
作成日時
Bolg表 コメント数 コメント 要約
フィールド名 フィールド説明 フィールドタイプ
主キー、ユニークキー Bigint(20)
権限
Varchar catalog_id
bigint(20) int(11) vote_size
varchar(100)
longtext int(11) comment_size varchar(50)
title
ID
content
マークダウンの内容
閲覧数
u
y
タグ タイトル
ユーザー
4
create_time datetime html_content
longtext read_size
int(11) s
mmar
longtext tags
user_id
ID bigint(20)
blog_id
comment_id コメントID
Bigint(20)
Bigint(20)
ブログとコメン
トの接続表(bl
og_comment) フィールド名 フィールド説明 フィールドタイプ
ブログといいね
の接続表(blog
_vote) vote_id
ブログとカテゴ
リの接続表(bl
blog_id
Bigint(20)
Bigint(20)
Bigint(20)
Bigint(20)
Bigint(20)
varchar(30)
Bigint(20)
Bigint(20)
Bigint(20)
フィールド名 フィールド説明 フィールドタイプ
ブログID
ブログID いいねID
フィールド名 フィールド説明 フィールドタイプ
カテゴリ名
フィールド説明 フィールドタイプ
フィールド名
og_name) 主キー、ユニークキー name
user_id ユーザーID 作成日時 create_time 主キー、ユニークキー
フィールドタイプ フィールド説明 フィールド名
content コメント longtext
ユーザーID
user_id ユーザーID
datetime Comment
コメント表 パスワード
名前 name
email
画像アドレス 主キー、ユニークキー フィールドタイプ
avatar フィールド名 フィールド説明 username 電子メール password
アカウント
user ユーザー表 ユーザー権限表 authority_id 権限ID ユーザーID user_id 主キー、ユニークキー
フィールドタイプ フィールド説明 フィールド名 create_time 作成日時 datetime voteいいね表
id 5
varchar(20)
varchar(50)
varchar(200)
Bigint(20)
varchar(100)
varchar(20)
Bigint(20) Bigint(20)
id id id user_id
The function of each module of the system
コメント管理モジュール
セキュリティー 設定モジュール セキュリティー 設定モジュール ユーザー管理
モジュール 個人情報
設定ページ ユーザー検索 ユーザー表示 ユーザー登録 ユーザー登録 ユーザー追加 ユーザー削除 キーワード
ユーザー情報 ユーザー情報 ユーザー情報 ユーザー情報 ユーザー情報 ユーザー情報 新規ユーザ
ー情報 ユーザー名 ユーザー追加ページ 古いユーザー情報ページ 新規ユーザ
ー情報
コメント管理
モジュール Blog ID コメント数 URL アクセスリクエスト 分類管理モジュール 分類管理モジュール 古いカテゴリ情報 ブログ情報 ブログ情報 ブログID URL ファボ管理
モジュール いいね数の統計 Blog ID 人気ユーザー 人気のタグ 最新の投稿 フルテキスト
検索 最新の記事 最も人気の
ある記事 タグ情報 ユーザー情報 ブログ情報 ブログ情報 ブログ情報 キーワード、ソート方法 ブログ情報 キーワード キーワード
ブログ管理
モジュール ブログを
追加する ブログを
削除する ブログを
修正する ブログを
閲覧する ブログ追加ページ ブログ情報
修正ページ ブログ
新情報 ファボ管理モジュール いいね いいねを
取り消す いいねを
検索する いいね情報 いいねID ブログID、
ユーザー名 いいねされている
かどうか いいね数 ファイルシステムモジュール ファイルシステム
モジュール 画像をアップ
ロードする 画像を削除する 画像を表示する ファイルの属性、内容 ファイルの属性、内容 画像ID ユーザー変更 コメント投稿 コメント削除 コメント表示 コメント数統計
コメント情報 コメントID すべてのコメント ブログID、
ユーザーID タグ管理モジュール タグ管理
モジュール タグを追加する タグを削除する タグを表示する 複数のタグ情報 タグID すべてのタグ情報 ブログID ログイン
ロール権限調査 権限設定 権限情報 権限情報 カテゴリ表示 カテゴリ削除 カテゴリ追加 カテゴリ変更 すべてのカテゴリ情報 カテゴリID カテゴリ情報 新しい
カテゴリ情報 検索モジュール 検索モジュール ユーザー管理モジュール 6
ブログ管理モジュール
Detailed design and implementation of the system
フロントエンドのビュー層は、アクセス要求を送信するたびにセキュリティ構成クラスを呼び出し、現在のユーザーにアクセス権があるかどうかを検証します。アクセス権がない場合
は、ユーザーをログインインターフェースにリダイレクトし、アクセス権がある場合はアクセス要求をコントローラに送信します。コントローラは、フロントエンドの要求に応じてデ
ータを返すか、またはリダイレクト(HTTP)URLを要求します。
コントローラは、モデル層のデータベースにアクセスするためにサービスを通じて動作します。まず、サービスはJPAインターフェースにアクセスするためにリポジトリを呼び出しま
す(リポジトリはエンティティに基づいて作成されます)。次に、JPAはHibernateを介してMySQLまたはMongoDBにアクセスします。
Controller Hinbernate
View Controller Model
フロントエンド
ページ service imp Security Service Interfave Repository entity JPA
インターフェース インターフェース Mysqlデータベース MongoDB MongoDB 権
関連操作の
リクエスト 結果を返す 結果を返す データベース
にアクセス
する
呼び出す 呼び出す 呼び出す データを
返す データを
返す データを
返す 実装する ブログシステム
モジュールの操作 ファイルシステム
モジュールの操作 継承する 7
限情報の検証
Design and implementation of front-end display layer
ブログシステムのホームページ
ブログをページに分けて一覧表示するプログラム
ブログ登録ページ 8
ブログのログインページ ブログのログインページのプログラムの一部 ブログの個人のホームページ ブログの個人のホームページのプログラムの一部 9
個人設定ホームページ 個人設定ホームページのプログラムの一部 ブログの編集ページ ブログの編集ページのプログラムの一部 10
管理者がユーザーに対して管理するページ
管理者がユーザーに対して管理するページのプログラムの一部
ユーザーの新規追加と変更するページ ユーザーの新規追加と変更するプログラムの一部 11
ブログの文章のページ ブログの文章のページのプログラムの一部 12
Deployment of a cloud server
本プロジェクトのサーバーはBaiduインテリジェントクラウドに
配備されており、サーバーシステムはWindows Server 2018を
採用しています。
プロジェクト配備
まずGradleを実行し、プロジェクトを実行可能な2つのjarパッケージにパッケ
ージ化します。
サーバーにリモート接続して、ダウンロード制限を解除します。
サーバーでTeamViewerとBaiduインテリジェントクラウドをダウンロードし
ます。
サーバー上でプロジェクトの実行環境とデータベースを構成します。
プロジェクトファイルをサーバーに転送します。
運用のためのCMDコマンドは手動で作成されます。
CMDコマンドを実行してプロジェクトを起動します。
卒業デザインのプレゼンテーション 13