Python環境をベースにした知的財産管理システム
まとめ
この文書では主に、Python を使用して資産管理システムを開発する方法について説明します。このシステムは、ソフトウェア開発プロセスに従って各段階の作業を実行し、オブジェクト指向プログラミングのアイデアを使用してプロジェクトを開発します。はじめに、資産管理システムの現在の背景とシステム開発の目的について説明し、その後の章では、ソフトウェア開発プロセスを厳密に追跡し、各段階でシステムを分析および設計します。
プロパティ管理システムの主な利用者は、管理者、コミュニティ利用者、プロパティ利用者に分かれ、実装される機能としては、システム利用者フロント:ホームページ、個人情報(個人情報、パスワード変更)、公開管理(カルーセルチャート、掲示板)が挙げられます。ボード)、ユーザー管理(管理者、コミュニティユーザー、物件ユーザー)、情報管理(車庫情報、予約駐車スペース、入庫情報、退場情報、入退場登録、障害報告、決済センター)などの機能を備えています。
このシステムを利用することで、物件管理システムの情報化が実現し、利用者は駐車場予約、入退場登録、居住精算などのサービスをオンラインで完結することができ、便利で時間と手間が省けます。管理者にとってもより便利で迅速な管理が可能となり、物件管理の効率が向上します。
キーワード: プロパティ管理、Python テクノロジー、Flask フレームワーク、Mysql データベース
に基づく知的財産管理システム
Python環境
抽象的な
このペーパーでは主に、Python を使用してプロパティ管理システムを開発する方法について説明します。このシステムは、作業のすべての段階におけるソフトウェア開発プロセスと、プロジェクト開発のためのオブジェクト指向プログラミングのアイデアに厳密に従います。はじめに、著者は資産管理システムの現在の背景とシステム開発の目的について説明し、次の章ではソフトウェア開発プロセスを厳密に追跡し、各段階でシステムを分析および設計します。
プロパティ管理システムの主なユーザーは、管理者、コミュニティ ユーザー、プロパティ ユーザーに分かれます。実現する機能としては、システム利用者のフロント:ホームページ、個人情報(個人情報、パスワード変更)、公開管理(放送表、掲示板)、利用者管理(管理者、コミュニティ利用者、資産利用者)、情報管理(車庫情報、予約駐車スペース、入口情報、出口情報、アクセス登録、障害報告、決済センター)などの機能を備えています。
このシステムを利用することで、物件管理システムの情報化が実現し、駐車場予約、入退場登録、ライフ決済等の業務をオンラインで完結できるため、利便性・時間・省力化が図れます。管理者にとってもより便利で効率的な管理が可能となり、物件の管理効率が向上します。
キーワード:資産管理。Python テクノロジー。フラスコフレームワーク。
MySQLデータベース
目次
今日、21世紀の急速な経済発展に伴い、企業ERPソフトウェア、家計管理ソフトウェア、教育学生ステータス管理ソフトウェアなど、さまざまなオフィス補助ソフトウェアおよび管理システムがさまざまな業界で歓迎され、いずれも高い評価を得ています。不動産管理に関しては、ほとんどの不動産会社が居住者向けにオンラインで支払いや修繕報告等を行うためのWeb管理システムを多数開発しており、これらのシステムを通じてデータのメンテナンスや居住者とその関連情報を簡単に管理することができ、現在はそのアプリケーションが利用されています。住民の生活のあらゆる側面に関わります。
ユーザーがより便利に利用できるようにプロパティ管理システムに依存するこのシステムの主な目的は、管理者とユーザーに利便性をもたらし、ユーザーの移動を減らし、プロパティとの通信コストを削減することであり、双方が家にいることができます。このシステムを利用する限り、駐車スペースの管理、オンラインでの修理報告、支払いなどの基本的なニーズを満たすことができます。
我が国の情報技術の発展は国内的には比較的遅く始まり、後期における段階的かつ継続的な最適化と改革を通じて初めて我が国の情報技術は新たな段階に到達しました。現在、システム開発技術は、多くの研究と実践を経て、基本的にシステムアプリケーションを自主開発できるレベルに達しており、生活のさまざまな業界でも、システム運用が従来の記録モードに置き換えられています。
近年、都市人口の増加と住宅価格の高止まりにより、さまざまな集合住宅の資産管理がますます困難になっています。しかし、万科やカントリーガーデンなどのシステムが充実している有名不動産会社を除けば、どの不動産会社も独自の管理システムを持っているわけではなく、小規模な不動産会社の多くは依然として手作業で管理業務を行っています。しかし、人間のエネルギーには限りがあるため、従来のビジネス手法では効率が低いなどの欠点が避けられず、人的リソースの多大な無駄も伴います。管理作業では、コンピューター機械は人間よりも関連するタスクに優れており、速度、正確さ、リソース消費の低さなどの要件を満たすことができます。これらの大きなメリットを踏まえ、物件や居住者のニーズに合わせた充実した物件管理システムを構築できれば、管理者の業務効率化と利用者の利便性が大幅に向上します。このようなシステムを使用すると、データベースの毎日のデータのレビュー、管理、定期的なメンテナンスを行うために必要な管理者は少数だけになります。プロセス全体を通じて、管理者は必要な情報を少量提供するだけでよく、データ処理作業のほとんどはデータベースと関連プログラムによって完了するため、時間を大幅に節約できます。データベース内の情報の一部にエラーがある場合、管理者は一括変更することでトラブルシューティングに費やす時間とエネルギーを削減できます。このような背景を踏まえ、プロパティマネジメントシステムは、システムの利便性を活かし、管理者の業務効率を向上させ、居住者がより便利で効率的なサービスを享受できるように設計されています。
まず、エンジン検索や関連文献を通じて、システム開発の背景やシステム設計の意義を学び、ユーザーの要望情報を収集しました。次に、開発ツールに関しては、このシステムの設計と開発には Python プラットフォームを使用し、データベースの設計ツールとして Mysql を使用することが最終的に決定されました。つまり、Python 言語を使用してユーザー インターフェイスを実装し、データベースと接続して完全な通信機能を実現します。その後、システムの一般的な機能モジュールを設計します。主にシステム利用者やシステム管理者の利便性の観点から分析し、システムが持つべき機能を明確にします。最後のステップは、システムをテストし、ユースケースのテストを通じて既存の問題を発見し、解決策を見つけることです。既存の開発プラットフォームを活用し、学んだ知識を組み合わせて、システムの使いやすさと実用性を確保するために教師の指導を受けながら設計を完成させます。
このシステムのフロントエンド部分はB/Sモードを使用したMVVMモデルに基づいて開発され、バックエンド部分はPythonのFlaskフレームワークに基づいて開発されています。
フロントエンド部分: フロントエンド フレームワークは、人気のあるプログレッシブ JavaScript フレームワーク Vue.js を使用します。Vue-Router と Vuex を使用して動的ルーティングとグローバル状態管理を実現し、Ajax を使用してフロントエンドとバックエンドの通信を実現し、Element UI コンポーネント ライブラリを使用してページのプロトタイプを迅速に作成し、プロジェクト フロントエンドを使用してグリッド レイアウトによる応答性を実現します。 PC、タブレット、携帯電話などに適応できます。さまざまな画面サイズに最適なレイアウト表示。
バックエンド部分: 開発フレームワークとして Flask を使用し、Redis およびその他の関連テクノロジーを統合します。
Python は、インタープリタ、コンパイル、インタラクティブ、およびオブジェクト指向プログラミングを組み合わせた高レベルのスクリプト言語です。Python のデザインは、英語のキーワードや他の言語の一部の句読点を頻繁に使用する他の言語と比較して、他の言語よりも特徴的な文法構造を持ち、可読性が高くなります。
インタープリタ言語: Python や Perl 言語と同様、これは開発プロセスにコンパイル リンクがないことを意味します。
インタラクティブ言語: Python プロンプト >>> の直後にコードを実行できます。
オブジェクト指向言語: Python は、コードをオブジェクトにカプセル化するオブジェクト指向スタイルまたはプログラミング手法をサポートします。
Flask は Python 言語で書かれた軽量でカスタマイズ可能なフレームワークで、同じ種類の他のフレームワークよりも柔軟で軽量、安全で使いやすいです。MVC モデルとうまく組み合わせて開発できるため、開発者が協力して小規模なチームで機能豊富な中小規模の Web サイトや Web サービスの実装を短期間で完了できます。また、Flask は高いカスタマイズ性を備えており、ユーザーは独自のニーズに応じて対応する機能を追加することができ、コア機能をシンプルに保ちながら機能を充実および拡張できます。強力なプラグイン ライブラリにより、ユーザーはパーソナライズされた Web サイトを実装できます。強力な Web サイトをカスタマイズして開発できます。
Mysql は度重なるアップデートを経て機能的に非常に豊富かつ完成度が高く、バージョン 4 からバージョン 5 まで比較的大規模なアップデートが行われ、実際の商用利用においても良好な実用化実績をあげています。Mysql の最新バージョンは情報の圧縮と暗号化をサポートしており、情報セキュリティのニーズをより適切に満たすことができます。同時に、システムの複数回のアップデートを経て、データベース自体のミラーリング機能も大幅に強化され、動作のスムーズさと使いやすさが大幅に向上し、ドライバーの使用と作成がより効率的になり、もっと早く。最大の変更点は空間情報の表示の最適化で、これによりアプリケーション マップ上のラベル付けと座標の計算が容易になります。強力なバックアップ機能で安心してご利用いただけるとともに、サポートされているOffice機能により、ユーザー自身でのインストールや利用もサポートします。情報の表示形式も大幅に刷新され、よく使用される2つの表示エリアが追加され、表とテキストが分類されたインフォメーションエリアと、よりすっきりとした具体的なインターフェース表示が追加されました。2 つ目は機器の情報制御であり、機器情報エリアに情報を表示したり、複数の情報を同時に比較したりすることができ、ユーザーの実際の使用に大きな利便性をもたらします [8][9]。
この記事で設計したプロパティ管理システムの実際の実装プロセスにおいて、最終的に Mysql データベースを選択した主な理由は、企業のアプリケーション システムのアプリケーションおよび開発プロセスで頻繁にデータベース操作が多数発生するためです。データセキュリティ要件も非常に高いです。これらの要因に基づいて、最終的に、資産管理システムのバックグラウンド データを保存するために、比較的高いセキュリティ要素を持つ Mysql が選択されました。
データベース管理システムの全体構成図を下図に示します。
図 2-1 データベースの構造
-
- B/Sアーキテクチャ
B/S アーキテクチャは、ブラウザ要求とサーバー応答の動作モードを採用しています。
ユーザーは、ブラウザーを介して、インターネット上の Web サーバーによって生成されたテキスト、データ、画像、アニメーション、ビデオ オン デマンド、サウンド、その他の情報にアクセスできます。
各 Web サーバーはさまざまな方法でデータベース サーバーに接続でき、実際には大量のデータがデータベース サーバーに保存されます。
プログラムをWebサーバーからローカルにダウンロードして実行します。ダウンロード プロセス中にデータベースに関連する命令が見つかった場合、Web サーバーは解釈と実行のためにその命令をデータベース サーバーに渡し、Web サーバーに返します。 Web サーバーはそれをユーザーに返します。この構造では、多数のネットワークが接続されて巨大なネットワーク、つまりグローバルネットワークが形成されます。各企業はこの構造に基づいて独自のインターネットを構築できます。
B/Sモードでは、ユーザーがブラウザを介してネットワーク上に分散した多数のサーバーにアクセスを要求し、ブラウザの要求はサーバーで処理され、処理結果と対応する情報がブラウザに返されます。 その他のデータ すべての処理とリクエストWeb サーバーによって完了します。このフレームワーク構造とオペレーティング システム内に組み込まれたブラウザにより、この構造は今日のソフトウェア アプリケーションの主流の構造パターンになりました。
技術面では、システムの主要な枠組みの構築に現在主流のPython技術を使用し、フロントページのデザインや美観調整を実現するためにjqueryとajaxを使用しています。上記の技術はすべて私が体系的に研究したものです。コース設計で実践されており、開発をより便利かつ体系的に行うことができます。技術的な観点から見ると、このシステムは完全に実現可能です。
実用性の面では、物件管理システムにおける車庫情報の閲覧、駐車スペースの予約、入庫情報、退場情報、入退場登録、障害報告、決済センター等を主な業務としており、ニーズに応えた設計となっております。現在のユーザーの数。ユーザーの視点から、システム運用コストや人的リソースも考慮し、インターネット上の便利な手段を活用して、より体系的で使いやすく、より実践的な業務プロセスを実現するオンラインビジネスを実現します。
経済性の観点から、このプロジェクトで設計された資産管理システムの主な目的は、情報のクエリ管理と検索サービスをより便利かつ迅速に提供すること、つまり、直接使用できる情報ソフトウェアを提供することです。システムの主なコストは、主にその後の使用状況データの保守管理更新に集中します。しかし、実際にシステムが運用・使用されると、情報の照会・検索の効率が大幅に向上すると同時に、照会者の情報のセキュリティを効果的に確保する必要もあります。この資産管理システムの実用化は、実際のシステムの開発・保守コストをはるかに上回る価値があり、経済的に実現可能です。
資産管理システムの機能は主に、フロントエンド ユーザーが自分のニーズに応じて登録およびログインする、アナウンス メッセージの閲覧、コミュニティ ニュース、個人アカウント、個人コレクション、ガレージ情報、アクセス登録、障害報告、パーソナル センター、等 バックエンドシステム管理者は、公開管理、ユーザー管理、車庫情報、予約駐車スペース、入庫情報、退場情報、入退場登録、障害報告、決済センターなどを維持および処理します。
コミュニティ登録ユーザーの機能は以下のとおりです。
ホームページ、お知らせ、コミュニティニュース、個人アカウント、個人コレクション、ガレージ情報、アクセス登録、障害報告、パーソナルセンターなど。
プロパティユーザー関数は次のとおりです。
ホームページ、車庫情報、予約駐車場、入庫情報、退場情報、入退場登録、障害報告、決済センターなど。
管理者の機能は次のとおりです。
ホームページ、プロフィール(個人情報、パスワード変更)、公開管理(カルーセル、掲示板)、ユーザー管理(管理者、コミュニティユーザー、プロパティユーザー)、情報管理(ガレージ情報、予約駐車場、入場情報、外観)情報、入出国登録、障害報告、決済センターなど)
まず、システム機能ソフトウェアが具体的な設計プロセスにおいて、さまざまなユーザーの基本的な機能ニーズをより適切に満たすことができるかどうかが主な考慮事項であり、ユーザーのニーズをよりよく満たすことができない場合、このシステムの存在価値はありません。ソフトウェアシステムの非機能分析は、システムを対象としたパフォーマンス分析、システムを対象としたセキュリティ分析、システムを対象とした完全性分析の7つの側面から実行されます。 1 つはシステムを対象とした保守性分析、1 つはシステムを対象としたスケーラビリティ分析、もう 1 つはビジネスに適応するパフォーマンス分析です。不動産管理システムのパフォーマンス、セキュリティ、拡張性、完全性の 7 つの側面を包括的に比較および分析した結果、対応する非機能要件の分析が必要であることがわかりました。
セキュリティはあらゆるシステムにとって非常に重要です。セキュリティがしっかりしたシステムであれば、企業情報やユーザー情報の盗難を防ぐことができます。システムのセキュリティを向上させることは、ユーザーだけでなく企業にも責任があります。特に資産管理システムの場合は、システム全体を保護するための優れたセキュリティが必要です。
システムにはユーザーの権限制御があり、システムのセキュリティを確保するためにさまざまな役割に基づいてユーザーの権限を制限します。
データベース内のデータは外部から入力されるものですが、そのデータが入力されると、様々な理由により、入力されたデータは無効なデータやダーティなデータになります。したがって、入力データが規制に準拠していることを確認する方法が、データベース システム、特にマルチユーザー リレーショナル データベース システムの主な関心事になっています。
したがって、データベースに書き込むときは、データの整合性、正確性、一貫性を確保する必要があります。
システムのデータ フローを分析した後、システムのユーザーはコミュニティ ユーザー、プロパティ ユーザー、管理者の 3 つのカテゴリに分類されます。このシステムは主にインターフェース情報の送信、ログイン情報の検証、登録情報の受信、およびユーザーの各種操作への応答を処理します。
システムのトップレベルのデータ フロー図を次の図に示します。
図 3-1 最上位のデータ フロー図
ユーザーの身元を判断するには、ログイン データに基づいて判断し、対応する機能インターフェイスにジャンプします。システム内のユーザーはデータを操作でき、データベース センターはシステムから送信された有効なデータ ストリームを受信して、データ SQL ステートメントに対して対応する操作を実行できます。
システムはフロントエンドとバックエンドの 2 つの部分に分かれており、各操作の後にシステムは操作結果を返します。フロントエンドとバックエンド間のデータ接続は主にデータベースを介して行われます。つまり、それぞれのデータベースに対して異なる操作が実行されます。
この資産管理システムのアーキテクチャ設計は、主にWeb層、ビジネス層、モデル層の3層に分かれています。Web レイヤーにはビュー レイヤーとコントローラー レイヤーも含まれ、モデル レイヤーにはメタデータ拡張レイヤーとデータ アクセス レイヤーが含まれます。
システムアーキテクチャを次の図に示します。
図 4-1 システムアーキテクチャ
プロパティ管理システムは、一般にコミュニティ ユーザー モジュール、プロパティ ユーザー モジュール、管理者モジュールに分かれています。
3 つのモジュールは独立して存在しているように見えますが、アクセスするデータベースは同じです。各モジュールの機能は、事前に完了した需要分析と関連情報のレビューに基づいて編集および作成されます。
まとめると、システムの機能構成図は次の図に示されます。
図 4-2 システムの機能構成図
ログイン モジュール: ログイン モジュールはシステムへの入り口であり、すべてのユーザーがシステムにアクセスする前にログインする必要があります。ログインするには、ユーザー名とパスワードを入力する必要があります。複数回ログインを試行する場合は、確認コードを入力する必要があります。ログインする際には、一般ユーザーか管理者ログインかなど、ユーザーの役割を選択する必要があります。ログインに成功すると、データベースを通じてユーザーの権限が取得され、ユーザーのホームページにジャンプします。
管理者ユーザー管理モジュール:個人情報(個人情報、パスワード変更)、公開管理(カルーセルチャート、掲示板)、ユーザー管理(管理者、コミュニティユーザー、物件ユーザー)、情報管理(車庫情報、予約駐車場、エントリーフィールド情報) 、出口情報、入出国登録、障害報告、支払いセンター)など。
これまでの分析から、データベース内で最も重要なものは、駐車スペース情報、ユーザー情報、管理者情報であることがわかります。分析により、次のデータの説明を取得できます。
居住ユーザー: ユーザー名、パスワード、基本情報、部屋番号、金利、その他のデータ項目を含むさまざまなユーザー情報を記録するために使用されます。
管理者: 管理者のログイン情報を記録します。ユーザー名、パスワード、権限、その他のデータ項目が含まれます。
駐車スペース情報: プラットフォームに保存されているデータ。住所、場所、種類などのデータ項目が含まれます。
先ほどのデータフローチャートに従い、システムの機能モジュール設計と組み合わせて、システムに適合する各情報エンティティを設計します。
システムER図を以下に示します。
図 4-3 システム ER 図
物件管理システムが保有するデータテーブルは、利用者情報テーブル、駐車スペース情報テーブルなどです。
データ テーブルが多数あるため、次の表に示すように、システムの主要なデータ テーブルのみを示します。
入学案内 |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
入場情報id |
整数 |
0 |
はい |
はい |
入学情報ID |
||||||
予定_いいえ |
可変長文字 |
64 |
はい |
いいえ |
予約番号 |
||||||
garage_no |
可変長文字 |
64 |
いいえ |
いいえ |
車庫番号 |
||||||
ガレージ名 |
可変長文字 |
64 |
いいえ |
いいえ |
車庫名 |
||||||
ガレージの場所 |
可変長文字 |
64 |
いいえ |
いいえ |
ガレージの場所 |
||||||
プロパティ番号 |
整数 |
0 |
いいえ |
いいえ |
物件番号 |
||||||
ユーザー番号 |
整数 |
0 |
いいえ |
いいえ |
ユーザーID |
||||||
ユーザー名 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザー名 |
||||||
コミュニティアドレス |
可変長文字 |
64 |
いいえ |
いいえ |
コミュニティアドレス |
||||||
予定数 |
可変長文字 |
64 |
いいえ |
いいえ |
予約数 |
||||||
ナンバープレートの番号 |
可変長文字 |
64 |
いいえ |
いいえ |
ナンバープレート |
||||||
検査状態 |
可変長文字 |
16 |
はい |
いいえ |
承認状況 |
||||||
推薦する |
整数 |
0 |
はい |
いいえ |
インテリジェントな推奨事項 |
||||||
作成時間 |
日付時刻 |
0 |
はい |
いいえ |
作成時間 |
||||||
更新時間 |
タイムスタンプ |
0 |
はい |
いいえ |
更新時間 |
||||||
記事 |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
記事ID |
中程度の |
0 |
はい |
はい |
記事ID |
||||||
タイトル |
可変長文字 |
125 |
はい |
はい |
タイトル |
||||||
タイプ |
可変長文字 |
64 |
はい |
いいえ |
記事の分類 |
||||||
ヒット |
整数 |
0 |
はい |
いいえ |
クリック数 |
||||||
賞賛レン |
整数 |
0 |
はい |
いいえ |
いいね数 |
||||||
作成時間 |
タイムスタンプ |
0 |
はい |
いいえ |
作成時間 |
||||||
更新時間 |
タイムスタンプ |
0 |
はい |
いいえ |
更新時間 |
||||||
ソース |
可変長文字 |
255 |
いいえ |
いいえ |
ソース |
||||||
URL |
可変長文字 |
255 |
いいえ |
いいえ |
送信元アドレス |
||||||
鬼ごっこ |
可変長文字 |
255 |
いいえ |
いいえ |
ラベル |
||||||
コンテンツ |
長文 |
0 |
いいえ |
いいえ |
文章 |
||||||
画像 |
可変長文字 |
255 |
いいえ |
いいえ |
表紙絵 |
||||||
説明 |
文章 |
0 |
いいえ |
いいえ |
記事の説明 |
||||||
コミュニティユーザー |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
コミュニティユーザーID |
整数 |
0 |
はい |
はい |
コミュニティユーザーID |
||||||
ユーザー番号 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザーID |
||||||
ユーザー名 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザー名 |
||||||
性別 |
可変長文字 |
64 |
いいえ |
いいえ |
性別 |
||||||
コミュニティアドレス |
可変長文字 |
64 |
いいえ |
いいえ |
コミュニティアドレス |
||||||
検査状態 |
可変長文字 |
16 |
はい |
いいえ |
承認状況 |
||||||
推薦する |
整数 |
0 |
はい |
いいえ |
インテリジェントな推奨事項 |
||||||
ユーザーID |
整数 |
0 |
はい |
いいえ |
ユーザーID |
||||||
作成時間 |
日付時刻 |
0 |
はい |
いいえ |
作成時間 |
||||||
更新時間 |
タイムスタンプ |
0 |
はい |
いいえ |
更新時間 |
||||||
入場および退出登録 |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
入場と退出の登録ID |
整数 |
0 |
はい |
はい |
入退場登録ID |
||||||
ユーザー番号 |
整数 |
0 |
いいえ |
いいえ |
ユーザーID |
||||||
ユーザー名 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザー名 |
||||||
コミュニティアドレス |
可変長文字 |
64 |
いいえ |
いいえ |
コミュニティアドレス |
||||||
財産 |
整数 |
0 |
いいえ |
いいえ |
所有物件 |
||||||
登録タイプ |
可変長文字 |
64 |
いいえ |
いいえ |
登録タイプ |
||||||
登録の目的 |
文章 |
0 |
いいえ |
いいえ |
登録目的 |
||||||
囲い |
可変長文字 |
255 |
いいえ |
いいえ |
付録 |
||||||
検査状態 |
可変長文字 |
16 |
はい |
いいえ |
承認状況 |
||||||
検査_返信 |
可変長文字 |
16 |
いいえ |
いいえ |
モデレート返信 |
||||||
推薦する |
整数 |
0 |
はい |
いいえ |
インテリジェントな推奨事項 |
||||||
作成時間 |
日付時刻 |
0 |
はい |
いいえ |
作成時間 |
||||||
更新時間 |
タイムスタンプ |
0 |
はい |
いいえ |
更新時間 |
||||||
出口情報 |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
出口情報ID |
整数 |
0 |
はい |
はい |
出演情報ID |
||||||
予定_いいえ |
可変長文字 |
64 |
はい |
いいえ |
予約番号 |
||||||
garage_no |
可変長文字 |
64 |
いいえ |
いいえ |
車庫番号 |
||||||
ガレージ名 |
可変長文字 |
64 |
いいえ |
いいえ |
車庫名 |
||||||
ガレージの場所 |
可変長文字 |
64 |
いいえ |
いいえ |
ガレージの場所 |
||||||
プロパティ番号 |
整数 |
0 |
いいえ |
いいえ |
物件番号 |
||||||
ユーザー番号 |
整数 |
0 |
いいえ |
いいえ |
ユーザーID |
||||||
ユーザー名 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザー名 |
||||||
コミュニティアドレス |
可変長文字 |
64 |
いいえ |
いいえ |
コミュニティアドレス |
||||||
予定数 |
可変長文字 |
64 |
いいえ |
いいえ |
予約数 |
||||||
ナンバープレートの番号 |
可変長文字 |
64 |
いいえ |
いいえ |
ナンバープレート |
||||||
推薦する |
整数 |
0 |
はい |
いいえ |
インテリジェントな推奨事項 |
||||||
作成時間 |
日付時刻 |
0 |
はい |
いいえ |
作成時間 |
||||||
更新時間 |
タイムスタンプ |
0 |
はい |
いいえ |
更新時間 |
||||||
障害報告 |
|||||||||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
||||||
障害報告ID |
整数 |
0 |
はい |
はい |
障害報告ID |
||||||
ユーザー番号 |
整数 |
0 |
いいえ |
いいえ |
ユーザーID |
||||||
ユーザー名 |
可変長文字 |
64 |
いいえ |
いいえ |
ユーザー名 |
||||||
プロパティ番号 |
整数 |
0 |
いいえ |
いいえ |
物件番号 |
||||||
障害名 |
可変長文字 |
64 |
いいえ |
いいえ |
障害名 |
||||||
自宅の住所 |
可変長文字 |
64 |
いいえ |
いいえ |
自宅の住所 |
||||||
詳細 |
文章 |
0 |
いいえ |
いいえ |
詳細 |
||||||
囲い |
可変長文字 |
255 |
いいえ |
いいえ |
付録 |
||||||
州 |
可変長文字 |
64 |
いいえ |
いいえ |
州 |
||||||
submission_date |
date |
0 |
否 |
否 |
提交日期 |
||||||
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
||||||
examine_reply |
varchar |
16 |
否 |
否 |
审核回复 |
||||||
recommend |
int |
0 |
是 |
否 |
智能推荐 |
||||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
garage_information |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
garage_information_id |
int |
0 |
是 |
是 |
车库信息ID |
||||||
garage_no |
varchar |
64 |
否 |
否 |
车库编号 |
||||||
garage_name |
varchar |
64 |
否 |
否 |
车库名称 |
||||||
cover |
varchar |
255 |
否 |
否 |
封面 |
||||||
number_of_parking_spaces |
int |
0 |
否 |
否 |
车位数量 |
||||||
garage_location |
varchar |
64 |
否 |
否 |
车库位置 |
||||||
property_no |
int |
0 |
否 |
否 |
物业编号 |
||||||
garage_details |
longtext |
0 |
否 |
否 |
车库详情 |
||||||
praise_len |
int |
0 |
是 |
否 |
点赞数 |
||||||
recommend |
int |
0 |
是 |
否 |
智能推荐 |
||||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
hits |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
hits_id |
int |
0 |
是 |
是 |
点赞ID |
||||||
user_id |
int |
0 |
是 |
否 |
点赞人 |
||||||
create_time |
timestamp |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
source_table |
varchar |
255 |
否 |
否 |
来源表 |
||||||
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
||||||
source_id |
int |
0 |
是 |
否 |
来源ID |
||||||
payment_center |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
payment_center_id |
int |
0 |
是 |
是 |
缴费中心ID |
||||||
user_no |
int |
0 |
是 |
否 |
用户编号 |
||||||
property_no |
int |
0 |
否 |
否 |
物业编号 |
||||||
property_name |
varchar |
64 |
否 |
否 |
物业名称 |
||||||
payment_name |
varchar |
64 |
否 |
否 |
缴费名称 |
||||||
payment_amount |
int |
0 |
否 |
否 |
缴费金额 |
||||||
notification_time |
datetime |
0 |
否 |
否 |
通知时间 |
||||||
list_details |
longtext |
0 |
否 |
否 |
清单详情 |
||||||
pay_state |
varchar |
16 |
是 |
否 |
支付状态 |
||||||
pay_type |
varchar |
16 |
否 |
否 |
支付类型 |
||||||
recommend |
int |
0 |
是 |
否 |
智能推荐 |
||||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
praise |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
praise_id |
int |
0 |
是 |
是 |
点赞ID |
||||||
user_id |
int |
0 |
是 |
否 |
点赞人 |
||||||
create_time |
timestamp |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
source_table |
varchar |
255 |
否 |
否 |
来源表 |
||||||
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
||||||
source_id |
int |
0 |
是 |
否 |
来源ID |
||||||
status |
tinyint |
1 |
是 |
否 |
点赞状态 |
||||||
property_user |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
property_user_id |
int |
0 |
是 |
是 |
物业用户ID |
||||||
property_no |
varchar |
64 |
否 |
否 |
物业编号 |
||||||
property_name |
varchar |
64 |
否 |
否 |
物业名称 |
||||||
property_address |
varchar |
64 |
否 |
否 |
物业地址 |
||||||
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
||||||
recommend |
int |
0 |
是 |
否 |
智能推荐 |
||||||
user_id |
int |
0 |
是 |
否 |
用户ID |
||||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
||||||
reserve_a_parking_space |
|||||||||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
||||||
reserve_a_parking_space_id |
int |
0 |
是 |
是 |
预约车位ID |
||||||
appointment_no |
varchar |
64 |
否 |
否 |
预约号 |
||||||
garage_no |
varchar |
64 |
否 |
否 |
车库编号 |
||||||
garage_name |
varchar |
64 |
否 |
否 |
车库名称 |
||||||
garage_location |
varchar |
64 |
否 |
否 |
车库位置 |
||||||
property_no |
int |
0 |
否 |
否 |
物业编号 |
||||||
user_no |
int |
0 |
否 |
否 |
用户编号 |
||||||
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
||||||
community_address |
varchar |
64 |
否 |
否 |
社区住址 |
||||||
number_of_appointments |
varchar |
64 |
是 |
否 |
预约数量 |
||||||
license_plate_number |
varchar |
64 |
是 |
否 |
车牌号 |
||||||
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
||||||
recommend |
int |
0 |
是 |
否 |
智能推荐 |
||||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
||||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
从B/S架构的原理可知,物业管理系统的各大模块的实现均需要对数据库的数据进行操作,具体包括查询数据、写入数据、更新数据和删除数据,因此,在开发各功能模块前,首先创建一个名称"conn.Python"的文件,该文件主要用于连接数据,以后对程序需要操作数据时,可能使用语句"<?Python reqiure_once('conn.Python');?>"调用就可以了。
该文件的代码如下:
<?Python
error_reporting(0);
//数据库链接文件
$host='127.0.0.1';//数据库服务器
$user='root';//数据库用户名
$password='';//数据库密码
$database='Pythonxsschsg7555AE10';//数据库名
$conn=@mysql_connect($host,$user,$password) or die('数据库连接失败!');
@mysql_select_db($database) or die('没有找到数据库!');
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在5到16之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与系统要求相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。Ps:物业用户由管理员添加无需注册。
用户注册流程图如下图所示。
图5-1用户注册流程图
社区用户注册界面如下图所示。
图5-2用户注册界面
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有系统用户基本信息修改。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
图5-3登录流程图
用户登录界面如下图所示。
图5-4用户登录界面
用户登录成功之后可以查看首页,公告消息,社区新闻,个人账户,个人收藏,车库信息,出入登记,故障上报,个人中心等模块。在车库信息页面,可对车位进行预约,收藏,点赞,评论等操作。如下图所示
图5-5车位详情界面
图5-6车位预约界面
图5-6物业用户查看预约信息界面
图5-6物业用户审核预约信息界面
社区用户登录系统后可以申请出入登记,过程如下图所示。
图5-7出入登记申请界面
图5-8出入登记审核界面
用户登录系统之后,在故障上报模块可以输入故障名称,家庭住址,详情等进行故障上报,物业或管理员对此进行回复和处理。
图5-9故障上报界面
管理员用户登录系统后在此页面发布缴费信息,社区用户在线进行缴费操作。
如下图所示。
图5-10缴费中心界面
图5-11缴费信息发布界面
对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6-1 系统登录功能测试用例
功能描述 |
用于系统登录 |
|
测试目的 |
检测登录时的合法性检查 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6-2 注册功能测试用例
功能描述 |
用于用户注册 |
|
测试目的 |
检测用户注册时的合法性检查 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
输入的手机号不合法 |
提示请输入正确的手机号码 |
与预期结果一致 |
输入的字段为空 |
提示必填项不能为空 |
与预期结果一致 |
输入的密码少于6位 |
提示密码必须为6-12位 |
与预期结果一致 |
输入的密码大于12位 |
提示密码必须为6-12位 |
与预期结果一致 |
下表是内容管理功能的测试用例,检测了内容管理中对公寓资讯的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表6-3 内容管理的测试用例
功能描述 |
用于内容管理 |
|
测试目的 |
检测内容管理时的各种操作的运行情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
点击添加公寓资讯,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
点击添加公寓资讯,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改公寓资讯,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改公寓资讯,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击删除公寓资讯,选择公寓资讯删除 |
提示删除成功 |
与预期结果一致 |
点击搜索公寓资讯,输入存在的公寓资讯名 |
查找出公寓资讯 |
与预期结果一致 |
点击搜索公寓资讯,输入不存在的公寓资讯名 |
不显示公寓资讯 |
与预期结果一致 |
使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。
压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。
随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题为设计一个物业管理系统,主要是为了实现在线车位预约,故障上报,缴费等需求。
物业管理系统的开发是以Python编程语言作为基础,在PythonStrom平台上完成编码工作,系统整体为B/S架构,数据库系统使用Mysql。文中详细分析了物业管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了物业管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了Python相关的知识以及前端开发使用的html和javascript等,同时涉及到了很多开源框架和组件,例如后台系统中运用的MVVM架构、Freemarker模板引擎等,前端运用的UI框架等。
系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。
但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。
参考文献
[1]王小春,张鸿飞. 以Python实现实验室学生信息管理系统[J]. 电脑编程技巧与维护,2022,(10):117-118+166.
[2]唐清华. 小区智慧物业管理系统的设计及应用[J]. 中阿科技论坛(中英文),2022,(10):134-139.
[3]葛苓童,陈超. 基于Python的在线实验室管理系统的设计[J]. 电脑知识与技术,2022,18(20):50-51.
[4]何佳颖,朱豪,李沂霏,潘永平. 基于python的作业文件管理系统[J]. 信息技术与信息化,2022,(06):64-68.
[5]田胜男. 基于Flask的智能小区物业管理系统设计与实现[D].华东师范大学,2022.
[6]熊辉,陈家豪,刘永乐,王晨阳,陈兰丽,孙建冬. 一种基于Python的图书馆自习室管理系统[J]. 科技创新与应用,2022,12(11):193-196.
[7]刘萍,范蕤. 智慧物业管理系统的设计与实现[J]. 电子元器件与信息技术,2022,6(03):201-203.
[8]刘玉贞. 基于WEB的社区物业管理系统的设计与实现[J]. 科技风,2022,(06):77-79.
[9]Rodríguez-Valenzuela Francisco Javier,González-Meza Omar Alejandro,González Gutiérrez Ana Gabriela,Bárcena-Soto Maximiliano,Larios-Durán Roxana,Casillas Norberto. Development of an Application in Python Language to Simulate Cyclic Voltammograms with Multiple Reaction Mechanisms.[J]. Electrochemical Society Transactions,2022,106(1).
[10]何俊梅,杨华. 基于Python平台的医疗设备信息管理系统的设计与实现[A]. 中国医学装备协会(China Association of Medical Equipment).中国医学装备大会暨2021医学装备展览会论文汇编[C].中国医学装备协会(China Association of Medical Equipment):《中国医学装备》杂志社,2021:115-120.
[11]冷四军. 基于Python Flask的运维信息管理系统设计与实现[J]. 电脑编程技巧与维护,2021,(05):87-88.
[12]Leandro Daniel Lau Alfonso,Sergio Suarez Guerra,Jose Luis Oropeza Rodriguez,Roberto Rodriguez Morales,Gustavo Asumu Mboro Nchama. Python Language Training System Based on MFCC, VQ, Variational Coefficient and KNTM Algorithm[J]. Mathematics and Computer Science,2021,6(2).
[13]刘雷. 基于J2EE的智能小区物业管理系统的设计与实现[J]. 技术与市场,2020,27(11):61-62.
[14]吴春梅,蒋林利,余荣川. 基于Python和Flask框架的二级学院资料室图书管理系统设计与实现[J]. 无线互联科技,2020,17(16):67-70.
[15]Didier Mathieu. Modeling Sensitivities of Energetic Materials using the Python Language and Libraries[J]. Propellants, Explosives, Pyrotechnics,2020,45(6).
[16]Hanyue He. Establishing a Database of Competition between ISPs Based on Python Language[J]. Journal of Physics: Conference Series,2020,1486(5).
[17]张笑寒,曹菊英,王明亮,罗珩闻,姚武军,孙文. 基于Python语言的学生考勤管理系统的设计与实现[J]. 信息技术与信息化,2019,(09):156-159.
[18]邹奕轩,赵海桐,赵紫婷,周蕾蕾,马洁,蒋红兵,赵蓉. 基于Python和MySQL的医疗机构药品及耗材信息管理系统的设计与实现[J]. 中国医学装备,2019,16(09):115-119.
[19] Ai Yingdong、Li Jianbing、Han Yingjie. Python 言語と Flask フレームワークに基づくマイクロコンピューター実験室管理システムの設計と実装 [J]. 情報とコンピューター (理論版)、2019、(06): 107-108。
[20] Yang Wushuai、Wan Qiyuan、Sang Xianbo. Python および Flask フレームワークに基づく IoT インテリジェント デバイス管理システムの設計と実装 [J]. 中国新技術と新製品、2018 年、(11): 13-15。
謝辞
このデザインには3か月かかりました。この卒業制作では、基本的に物事をスムーズに進めるためには講師の指導が不可欠です。講師の方々には、卒業制作の経験と論文の完成において、大変お世話になりました。その一方で、私は先生の真面目で責任感のある勤務態度、慎重な指導精神、確固たる理論基準から多くの恩恵を受けてきました。彼の勤勉かつ慎重な指導、教育、学習態度も私に非常に深い印象を残しました。先生たちからたくさんのことを学びました。私のスキルは理論と実践において大幅に向上しました。ここに先生方に心より感謝申し上げます。
この卒業研究の研究開発を経て、私のシステム研究開発は、要件分析から詳細な機能の実装、最終のテストと保守まで特別な進歩を遂げました。システムの研究開発についての理解が深まりました。疑問を自分で解決する実践力も大幅に向上したことが、この卒業制作の最大の成果です。
最後に、システム開発の全プロセスにおいて、クラスメイトや周りの友人からたくさんの意見をもらい、システムのビジネスアイデアをすぐに確認しました。この度は、心より感謝申し上げます。
プロジェクトのソース コードを無料で受け取るには、次の手順を実行してください。● いいね! を集めて、ブロガーにプライベート メッセージを送信してください。ありがとうございます -