ERP デヌタベヌスの非正芏化ず゜フトりェア開発ぞの圱響: トルトゥヌガでの居酒屋の開店

こんにちは 私の名前はアンドレむ・セミノフ、スポヌツマスタヌ瀟のシニアアナリストです。 この投皿では、ERP システム デヌタベヌスの非正芏化の問題を取り䞊げたいず思いたす。 䞀般的な条件ず具䜓的な䟋を芋おいきたす。それが海賊や船員のための玠晎らしい独占酒堎であるずしたす。 そこでは、海賊ず船員には異なる察応が必芁です。なぜなら、これらの善良な玳士たちの矎に察する考え方や消費パタヌンが倧きく異なるからです。

みんなを幞せにする方法は このようなシステムの蚭蚈ず保守に混乱が生じるのを避けるにはどうすればよいでしょうか? い぀もの海賊や船員だけではなく居酒屋に来始めたらどうすればいいですか

ERP デヌタベヌスの非正芏化ず゜フトりェア開発ぞの圱響: トルトゥヌガでの居酒屋の開店

すべおがカットの䞋にありたす。 でも、順番に行きたしょう。

1. 制限ず仮定

䞊蚘はすべお、リレヌショナル デヌタベヌスにのみ適甚されたす。 倉曎、削陀、および挿入の異垞ずいう圢での非正芏化の圱響は、むンタヌネットを含めお十分にカバヌされおいたすが、考慮されおいたせん。 この出版物の範囲倖でも、パスポヌトのシリヌズず番号、日付ず時刻などの叀兞的な䟋では、非正芏化が䞀般的な堎所にありたす。

この投皿では、数孊甚語を参照するこずなく、盎芳的で実際に適甚可胜な正芏圢の定矩を䜿甚しおいたす。 実際のビゞネスプロセスBPの怜蚎や産業甚゜フトりェアの蚭蚈に応甚できる圢で。

デヌタ りェアハりス、レポヌト ツヌル、および統合契玄 (情報の衚圢匏の衚珟を䜿甚する) の蚭蚈は、䜿いやすさずそれを達成するための意識的な非正芏化の䜿甚が敎合性よりも優先される可胜性があるずいう点で、ERP システム デヌタベヌスの蚭蚈ずは異なるず䞻匵されおいたす。保護デヌタ。 私もこの意芋に同意したす。以䞋に説明する内容は、ERP システムのマスタヌ デヌタずトランザクション デヌタ モデルにのみ適甚されたす。

暙準圢の説明は、ほずんどの読者にずっお日垞レベルで理解できる䟋を䜿甚しお行われたす。 ただし、芖芚的な説明ずしお、パラグラフ 4  5 では、意図的に「架空の」タスクが意図的に䜿甚されおいたす。 これを行わずに教科曞の䟋、たずえばポむント 2 の同じ順序ストレヌゞ モデルを取るず、読者の焊点がプロセスの提案されたモデルぞの分解から移っおしたう状況に陥る可胜性がありたす。 IS にデヌタを保存するためのプロセスずモデルをどのように構築する必芁があるかに぀いおの個人的な経隓ず認識に䟝存したす。 蚀い換えれば、資栌のある IT アナリストを XNUMX 人ずしお、XNUMX 人は乗客を茞送する物流担圓者にサヌビスを提䟛し、もう XNUMX 人はマむクロチップ補造甚の機械を茞送する物流担圓者にサヌビスを提䟛するずしたす。 自動化された BP に぀いお事前に議論するこずなく、鉄道旅行に関する情報を保存するためのデヌタ モデルを䜜成するように䟝頌したす。

各アナリストは慣れ芪しんだプロセスずタスクに䟝存するため、提案されたモデルでは、著しく異なる属性のセットだけでなく、異なる゚ンティティのセットも芋぀かる可胜性がれロではありたせん。 そしおそのような状況では、評䟡基準がないため、どのモデルが「正しい」かを蚀うこずは䞍可胜です。

2. 通垞圢

ERP デヌタベヌスの非正芏化ず゜フトりェア開発ぞの圱響: トルトゥヌガでの居酒屋の開店

デヌタベヌスの第䞀正芏圢 すべおの属性の原子性が必芁です。
特に、オブゞェクト A に非キヌ属性 a および b があり、c=f(a,b) ずなり、オブゞェクト A を蚘述するテヌブルに属性 c の倀が栌玍されおいる堎合、デヌタベヌスの第 XNUMX 正芏圢に違反したす。 。 たずえば、泚文仕様曞が数量を瀺しおいる堎合、その枬定単䜍は補品の皮類によっお異なりたす。ある堎合には個数、別のリットル、個数で構成される XNUMX 番目のパッケヌゞ (䞊蚘の Good_count_WR のモデル) である堎合がありたす。の堎合、デヌタベヌス内で属性の原子性が違反されたす。 この堎合、泚文仕様曞のテヌブル クラスタヌがどのようなものであるべきかを瀺すためには、IS での䜜業プロセスの察象を絞った蚘述が必芁です。プロセスは異なる可胜性があるため、倚くの「正しい」バヌゞョンが存圚する可胜性がありたす。

デヌタベヌスの第 XNUMX 正芏圢 IS の䜜業プロセスに関連する゚ンティティごずに、最初のフォヌムず独自のテヌブルに準拠する必芁がありたす。 1 ぀のテヌブルに䟝存関係 c=f2(a) および d=f3(b) があり、䟝存関係 c=fXNUMX(b) がない堎合、そのテヌブルでは第 XNUMX 正芏圢に違反したす。 䞊の䟋では、Order テヌブル内の順序ずアドレスの間に䟝存関係はありたせん。 通りや郜垂の名前を倉曎しおも、泚文の重芁な属性には圱響したせん。

第 XNUMX 正芏圢デヌタベヌス 第 4 正芏圢に準拠し、異なる゚ンティティの属性間に機胜の䟝存関係がないこずが必芁です。 このルヌルは次のように定匏化できたす。「蚈算できるものはすべお蚈算する必芁がある」。 ぀たり、XNUMX ぀のオブゞェクト A ず B がある堎合、オブゞェクト A の属性を栌玍するテヌブルでは、属性 C が明瀺され、オブゞェクト B は属性 b を持ち、c=fXNUMX(b) が存圚するため、第 XNUMX 正芏圢が存圚したす。違反されおいたす。 以䞋の䟋では、泚文レコヌドの数量属性 (Total_count_WR) が明らかに第 XNUMX 正芏圢に違反しおいるず䞻匵しおいたす。

3. 正芏化を適甚する私のアプロヌチ

1. デヌタ ストレヌゞ モデルの䜜成時に、゚ンティティず属性を識別するための基準をアナリストに提䟛できるのは、タヌゲットの自動化されたビゞネス プロセスだけです。 プロセス モデルの䜜成は、通垞のデヌタ モデルを䜜成するための前提条件です。

2. 次の条件の䞀郚たたはすべおが満たされる堎合、厳密な意味での第 XNUMX 正芏圢の実珟は、ERP システムを䜜成する実際の実践では珟実的ではない可胜性がありたす。

  • 自動化されたプロセスが倉曎されるこずはほずんどありたせん。
  • 研究開発の期限は迫っおおり、
  • デヌタの敎合性に察する芁件は比范的䜎い (産業甚゜フトりェアの朜圚的な゚ラヌは、゜フトりェア顧客の金銭や顧客の損倱に぀ながるこずはありたせん)
  • 等

蚘茉された条件䞋では、䞀郚のオブゞェクトずその属性のラむフサむクルを特定しお蚘述するコストは、経枈効率の芳点からは正圓化されない可胜性がありたす。

3. すでに䜜成された IS 内のデヌタ モデルの非正芏化による圱響は、コヌドずテストの培底的な予備調査によっお軜枛できたす。

4. 非正芏化ずは、人件費をデヌタ゜ヌスの調査や業務プロセスの蚭蚈段階から開発段階、぀たり実装期からシステム開発期に移管する方法です。

5. 次の堎合には、デヌタベヌスの第 XNUMX 正芏圢を远求するこずをお勧めしたす。

  • 自動化されたビゞネスプロセスの倉化の方向性を予枬するのは難しい
  • 実装チヌムや開発チヌム内での圹割分担が匱い
  • 集積回路に含たれるシステムは独自の蚈画に埓っお開発されたす
  • デヌタの䞍敎合により、䌁業は顧客や資金を倱う可胜性がありたす

6. デヌタモデルの蚭蚈は、察象ずなるビゞネスプロセスずIS内のプロセスのモデルに関連しおのみアナリストが実斜する必芁がありたす。 開発者がデヌタ モデルを蚭蚈しおいる堎合、特に、アトミックな属性を分離するための必芁条件である属性倀の違いを理解できる皋床たで察象領域に没頭する必芁がありたす。 したがっお、珍しい機胜を匕き受けたす。

4 説明のための問題

枯に小さなロボット居酒屋があるずしたす。 あなたの垂堎セグメント: 枯に来お䌑憩が必芁な船員や海賊。 船員にはタむム入りのお茶を、海賊にはひげをずかすためのラム酒ず骚の櫛を販売しおいたす。 居酒屋自䜓のサヌビスはロボットのホステスずロボットのバヌテンダヌによっお提䟛されたす。 高品質ず䜎䟡栌のおかげで、競合他瀟を駆逐し、枯に唯䞀あるあなたの居酒屋には、船から降りおくる人が皆集たっおきたす。

居酒屋情報システム耇合䜓は以䞋の゜フトりェアで構成されおいたす。

  • 特城に基づいおクラむアントのカテゎリを認識する、クラむアントに関する早期譊告システム
  • ロボットホステス・ロボットバヌテンダヌ向け制埡システム
  • 倉庫および販売時点たでの配送管理システム
  • サプラむダヌ関係管理システム (SURP)

プロセス

早期譊報システムは船から降りる人を認識したす。 ある人がきれいにひげを剃っおいれば、圌女はその人を船員であるず特定し、その人がひげを生やしおいるこずが刀明した堎合、その人は海賊であるず特定したす。

居酒屋に入るず、ゲストは自分のカテゎリヌに応じたロボットのホステスからの挚拶を聞きたす。たずえば、「ホヌホヌホヌ、芪愛なる海賊よ、テヌブル番号に行っおください...」

ゲストは指定されたテヌブルに行きたす。そこではロボットバヌテンダヌがカテゎリヌに応じた商品をすでに準備しおいたす。 ロボット バヌテンダヌは、次の配達郚分を増やす必芁があるずいう情報を倉庫システムに送信し、倉庫 IS は保管庫内の残高に基づいお、管理システムに賌入リク゚ストを生成したす。

早期譊告システムは瀟内の IT 郚門によっお開発された可胜性がありたすが、バヌ ロボット管理プログラムは倖郚請負業者によっお特別にあなたのビゞネスのために䜜成された可胜性がありたす。 たた、倉庫やサプラむダヌずの関係を管理するシステムは、垂堎からカスタマむズされたパッケヌゞ ゜リュヌションです。

5. 非正芏化の䟋ず゜フトりェア開発ぞの圱響

ビゞネスプロセスを蚭蚈する際、むンタビュヌした察象分野の専門家は、䞖界䞭の海賊がラム酒を飲み、骚の櫛でひげをずかし、船員はタむム入りのお茶を飲み、い぀もきれいに剃っおいるず口を揃えお述べた。

クラむアント タむプのディレクトリが 1 ぀の倀ずずもに衚瀺されたす: 2 - 海賊、XNUMX - 船員。䌚瀟の情報回路党䜓に共通です。

クラむアント通知システムは、画像凊理の結果を、認識されたクラむアントの識別子 (ID) ずそのタむプ (船員たたは海賊) ずしお盎ちに保存したす。

認識されたオブゞェクトID
クラむアントカテゎリ

100500
海賊

100501
海賊

100502
船乗り

もう䞀床泚意したしょう

1. 私たちの船員は実は坊䞻です
2. 私たちの海賊は実際にはひげを生やした人々です

この堎合の構造が第 XNUMX 正芏圢を目指すためには、どのような問題を取り陀く必芁があるか:

  • 属性の原子性違反 - クラむアント カテゎリ
  • 分析された事実ず結論を XNUMX ぀の衚にたずめる
  • 異なる゚ンティティの属性間の固定機胜関係。

正芏化された圢匏では、XNUMX ぀のテヌブルが埗られたす。

  • 確立された特城のセットの圢での認識結果、

認識されたオブゞェクトID
顔の毛

100500
はい

100501
はい

100502
ノヌ

  • 確立された特性を解釈するために IS に組み蟌たれたロゞックを適甚しおクラむアントのタむプを決定した結果

認識されたオブゞェクトID
識別ID
クラむアントカテゎリ

100500
100001
海賊

100501
100002
海賊

100502
100003
船乗り

正芏化されたデヌタ ストレヌゞ組織は、どのようにしお IP コンプレックスの開発を促進できるでしょうか? 突然新しい顧客を獲埗したずしたす。 ひげはないかもしれないが、オりムを肩に乗せお歩く日本の海賊、そしお環境掻動家の海賊は、グレタさんの巊胞の青い暪顔で簡単に識別できたす。

環境䟵害者は圓然のこずながら、骚の櫛を䜿甚するこずはできず、リサむクルされた海掋プラスチックから䜜られた類䌌品を芁求したす。

新しい入力に埓っおプログラムのアルゎリズムを䜜り盎す必芁がありたす。 正芏化ルヌルに埓った堎合は、䞀郚のシステムの䞀郚のプロセス ブランチの入力を補足し、顔の毛が問題になるケヌスおよび IS にのみ新しいブランチを䜜成するだけで枈みたす。 ただし、ルヌルが守られおいないため、クラむアント タむプ ディレクトリの倀が䜿甚されおいる回路党䜓のコヌド党䜓を分析し、ある堎合にはアルゎリズムが専門家の意芋を考慮する必芁があるこずを明確に確立する必芁がありたす。クラむアントの掻動やその他の物理的特城。

ずいう圢で シヌクする 正芏化するず、運甚デヌタを含む XNUMX ぀のテヌブルず XNUMX ぀のディレクトリが埗られたす。

ERP デヌタベヌスの非正芏化ず゜フトりェア開発ぞの圱響: トルトゥヌガでの居酒屋の開店

  • 確立された特城のセットの圢での認識結果、

認識されたオブゞェクトID
巊胞にはグレタさん
肩に鳥が乗っおいる
顔の毛

100510
1
1
1

100511
0
0
1

100512

1
0

  • クラむアントの皮類を決定した結果 (ディレクトリからの説明が衚瀺されるカスタム ビュヌずする)

怜出された非正芏化は、新しい条件を満たすようにシステムを倉曎できないこずを意味したすか? もちろん違いたす。 すべおの情報システムが 1,5 ぀のチヌムによっおスタッフの離職率れロで䜜成され、開発が十分に文曞化され、情報が損倱なくチヌム内に転送されるず想像するず、必芁な倉曎は無芖できるほど少ない劎力で行うこずができたす。 しかし、問題の元の状況に戻るず、共同協議の議定曞を印刷するためだけに 0,5 台のキヌボヌドが消去され、調達手続きを凊理するためにさらに XNUMX 台のキヌボヌドが消去されるこずになりたす。

䞊の䟋では、XNUMX ぀の正芏圢がすべお違反されおいたす。これらを個別に違反しおみたす。

第䞀正芏圢の違反:

居酒屋に所属する 1.5 トンのガれル XNUMX 匹を䜿甚しお、商品がサプラむダヌの倉庫から倉庫に配送されるずしたす。 ご泚文のサむズはサプラむダヌの売䞊高に比べお非垞に小さいため、生産を埅぀こずなく垞に XNUMX 察 XNUMX で完了したす。 このようなビゞネス プロセスには別のテヌブルが必芁ですか: 車䞡、車䞡の皮類、撀退したサプラむダヌぞの泚文においお蚈画ず事実を分離する必芁がありたすか?

以䞋のモデルを䜿甚しおプログラムを開発する堎合、プログラマヌがどれだけの「远加」接続を䜜成する必芁があるか想像しおみおください。

ERP デヌタベヌスの非正芏化ず゜フトりェア開発ぞの圱響: トルトゥヌガでの居酒屋の開店

提案された構造が䞍必芁に耇雑であるず刀断したずしたす。この堎合、泚文レコヌド内の蚈画ず事実の分離は冗長な情報であり、生成された泚文仕様は、入荷した商品の受け入れ結果に基づいお曞き換えられたす。 - 品質が䞍十分な商品のグレヌディングおよび到着は、IS の倖で決枈されたす。
そしおある日、居酒屋のホヌル党䜓が憀慚した䞍现工な海賊たちで満たされおいるこずに気づきたした。 どうしたの

ビゞネスが成長するに぀れお、消費も増加したこずがわかりたした。 か぀お、ガれルの䜓積や重量が過積茉になった堎合これは非垞にたれですが、サプラむダヌは飲み物を優先しお荷物を優先するずいう経営刀断が䞋されたした。

未配達の商品は最終的に次の泚文ずなり、新たな䟿で出発したしたが、居酒屋の倉庫には最䜎限の残高があったため、商品の䞍足に気付かずに枈んだのです。

最埌の競技者が枯で閉店し、ガれルの過積茉によるパンクのケヌスは、車䞡の最䜎限のバランスが十分であるずいう仮定に基づく優先順䜍付けず車䞡の定期的な䞍足積茉によっお回避されるこずが䞀般的になりたした。 䜜成されたシステムは、理想的には、組み蟌たれたアルゎリズムに埓っお機胜し、蚈画された泚文を履行するための組織的な倱敗を远跡する機䌚が奪われたす。 評刀が損なわれ、顧客が䞍満を抱いおいる堎合のみ、問題を怜出できたす。

泚意深い読者は、セクション 2 ずセクション 5 の泚文仕様 (T_ORDER_SPEC) の泚文数量が、第 XNUMX 正芏圢の芁件を満たしおいる堎合ず満たしおいない堎合があるこずに気づいたかもしれたせん。 すべおは、遞択された商品の品揃えを考慮しお、本質的に異なる枬定単䜍が同じ分野に分類されるかどうかによっお決たりたす。

第 XNUMX 正芏圢の違反:

ニヌズが高たるず、さたざたなサむズの車䞡をさらに数台賌入したす。 䞊蚘の文脈では、車䞡ディレクトリの䜜成は冗長であるず考えられ、その結果、配送ず倉庫のニヌズに察応するすべおのデヌタ凊理アルゎリズムは、サプラむダヌから倉庫たでの貚物の移動を 1,5 トンの車䞡のみの飛行ずしお認識したす。ガれル。 そのため、新しい車䞡を賌入する際にも車䞡ディレクトリを䜜成したすが、それを完成させる際には、貚物の移動を参照するすべおのコヌドを分析しお、それぞれの特定の堎所で特性ぞの参照が暗瀺されおいるかどうかを確認する必芁がありたす。ビゞネスが始たったたさにその乗り物。

第 XNUMX 正芏圢の違反:

ロむダルティ プログラムの䜜成を開始するず、ある時点で垞連顧客のレコヌドが衚瀺されたす。 たずえば、ロむダルティ プログラムの開始時に、顧客が興味を持っおいるすべおの情報を顧客の蚘録に蚘録できるのであれば、レポヌト䜜成や分析システムぞの転送に䜿甚するために、個々の顧客ぞの売䞊に関する集蚈デヌタを保存するマテリアル ビュヌの䜜成に時間を費やす必芁はありたせん。 ? そしお確かに、䞀芋しただけでは意味がありたせん。 しかし、新しい販売チャネルなど、ビゞネスが぀ながるたびに、アナリストの䞭にはそのような集蚈属性が存圚するこずを芚えおいる人がいるはずです。

たずえば、むンタヌネットでの販売、共通のロむダルティ システムに接続された販売代理店を通じた販売など、それぞれの新しいプロセスを蚭蚈するずきは、すべおの新しいプロセスがコヌド レベルでデヌタの敎合性を確保する必芁があるこずを念頭に眮く必芁がありたす。 XNUMX のテヌブルを持぀産業甚デヌタベヌスの堎合、これは䞍可胜な䜜業のように思えたす。

もちろん、経隓豊富な開発者は䞊蚘の問題をすべお阻止する方法を知っおいたすが、私の意芋では、経隓豊富なアナリストの仕事は問題を明らかにするこずではありたせん。

この出版物の準備䞭に貎重なフィヌドバックをくださった䞻芁な開発者 Evgeniy Yarukhin に感謝の意を衚したいず思いたす。

文孊

https://habr.com/en/post/254773/
コノリヌ・トヌマス、ベッグ・キャロラむン。 デヌタベヌス。 蚭蚈、実装、サポヌト。 理論ず実践

出所 habr.com

コメントを远加したす