پيشگفتار

پيچيدگيها و تنوع فعاليتها و روابط اقتصادي ،‌اجتماعي به گونه‌اي است كه جهت نيل به هدفهاي مورد انتظار، تهيه و اجراي برنامه‌هاي جامع توسعه به عنوان چارچوب منطقي فعاليتها، امري اجتناب ناپذير است. در اين برنامه‌ها كه به صورت مجموعه به هم پيوسته‌اي از اهداف، ابزارها و سياستهاي اجرائي در قالب يك نظام هدفمند و سازگار تهيه مي‌شود، آمار و اطلاعات از جايگاه ويژه‌اي برخوردار است.

در برنامه‌هاي توسعه،‌شناخت وضعيت موجود بخشها، كمّي كردن اهداف و ابزارها، تعيين
چشم‌انداز و قابليتهاي اجرايي و همچنين ارزيابي و بررسي عملكرد برنامه‌ها جز براساس اطلاعات آماري امكان‌پذير نمي‌باشد، به طوري كه آميزه مناسب نظام برنامه‌ريزي با نظام اطلاعاتي است كه مي‌تواند تأثيري شگرف بر موفقيت برنامه داشته و هدايت شايسته برنامه را در پرتو دانش فني برنامه‌ريزي و بستر مناسب آماري فراهم سازد.

خلاء نظام اطلاعاتي پويا وفعال پيش از آنکه معطوف به مديريت سامانه اطلاعاتي باشد ، عمدتا ناشي از نبود اطلاعات بروز در بخش هاي مختلف است که بالطبع کار جمع آوري اطلاعات را با مشکل و مشقت مواجه مي سازد . بنا بر اين طراحي نظام اطلاعاتي مبتني بر شيوه هاي مکانيزه اگر چه امري لازم است ولي عملا با توجه به موانع دستيابي به اطلاعات دقيق و بروز ، تحقق اهداف مترتب بر نظام اطلاعاتي مشکل خواهد بود. در اين خصوص ضروري است که اهميت بروز سازي و ميزان دقت و صحت اطلاعات در قسمتهاي مختلف مورد تاکيد

قرارگيرد . در اين راستا تهيه يك بانك جامع اطلاعاتي كه تصوير وضعيت اقتصادي(توليد و خريد و فروش و … )، اجتماعي و فرهنگي(علائق مشتريان و نحوه اثر گذاري در تصميم گيري و …) و تحولات به عمل آمده در بخشهاي مختلف (ميزان رضايتمندي مشتريان و ميزان رشد فروش و ميزان ضايعات و ميزان سود حاصله و …) را در يك پايگاه داده اي با قابليت دستيابي و به روز رساني آسان و طراحي پويا ارائه مي‌كند، ‌از اهميت بالائي برخوردار است. اين سامانه كه قرار است با همكاري موسسه يا شركت رايانه اي واجد شرايط انجام شود، بستر مناسبي براي انجام بهتر فعاليتهاي شرکت ارتباط نوين گستر به شمار مي‌رود.

كليات
اهداف و كليات
با توجه به لزوم و اهميت وجود سيستم متمركزي براي جمع آوري اطلاعات، جلوگيري از پراكندگي داده ها و نياز روز افزون به رايانه جهت سرعت بخشيدن به محاسبات، جستجو ها، كاهش هزينه ها و اطمينان از صحت اطلاعات، كمبود يک بانک اطلاعاتي ساخت يافته با ويژگيهاي فرايندي و نظام مند شامل تمامي اقلام اطلاعاتي منتج از شاخص هاي خاص توليد و خريد و فروش و اطلاعات مالي ، پرسنلي ، اطلاعات بازار و مشتريان ، فايلهاي چندرسانه اي احساس شد كه منتج به امكانسنجي مربوطه براي مرتفع كردن نيازهاي شرکت ارتباط نوين گستر و مكانيزاسيون روشهاي تهيه و توليد و توزيع و بازاريابي شد .

معرفي برنامه نويسي شي گرا و طراحي بر اساس UML

تاريخچه
ديدگاه شي گرا از اواسط دهه ۷۰ ميلادي در مباحث برنامه نويسي كامپيوتر متولد شد.پس از گذشت چند سال و در اوايل دهه ۹۰ به جهت ناكارامدي روش هاي سنتي در مباحث تحليل و طراحي سيستم هاي اطلاعاتي و كامپيوتري و نيز ظهور سيستم هايي كه مدل كردن انها به روش هاي سنتي ناقص بود٬ تحليل گران و طراحان سيستم را به اين فكر انداخت تا از ديدگاه شي گرا علاوه بر برنامه نويسي در زمينه تحليل وطراحي سيستم نيز استفاده كنند.در طي اين سالها متدولو‍‍ژي هاي مختلفي توسط دانشمندان شي گرا به دنيا عرضه

شده بود از جمله اين متدولوزي هاي شي گرا مي توان مواردي نظير: متدولو‍‍ژيCoad ٬ متدولو‍‍ژيBooch ٬ متدولو‍‍ژيFusion ٬ متدولو‍‍ژيRumbaugh‍‍٬متدولو‍‍ژيJacobson را بر شمرد.در سال ۹۶ اقايان Rumbaugh٬Booch وJacobson در كنار هم گرد امدند و پايه هاي زبان مدل سازي يكپارچه معروف به UML‌ را ايجاد كردند. اين زبان در سال ۹۷ توسط گروه مديريت شي در امريكا به عنوان استاندارد پذيرفته شد و شركت هاي مختلفي نظير: Oracle ٬ Microsoft و Hewlett_packard ان را پشتيباني نمودند.
ديدگاه شي گرا(Object Oriented)

ديدگاه شي گرا در اصل نگرشي جديد به دنيا و سيستم هاست. اين ديدگاه سعي دارد تا با نگرش خود به عناصر يك سيستم ٬ كل ان سيستم را مدل سازي كند.ديدگاه شي گرا بر مباحثي نظير:شي٬ كلاس٬مسئوليت و سناريو استوار است.
شي(Object)

در ساده ترين حالت يك شي نمونه اي است كه از روي يك Classايجاد شده است.چون Class نمي تواند عملياتي باشد ولي نمونه هاي توليد شده از ان قابليت اجرايي دارند.در كاملترين حالت يك شي موجوديتي است كاملا مستقل با مسئوليت هاي شخصي خويش كه در لحظه توليد از كلاس مرجع خود بوجود امده است و در پايان مسئوليت هاي خود مي بايد از بين برود.طول دوره تولد تا پايان مسئوليتها را طول عمر يك شي مي ناميم اگر يك شي از طريق خود يا ديگر اشياء به طور مستقيم يا غير مستقيم مورد استفاده قرار نگيرد ان شي متغير يك شي غير فعال خواهد بود در صورتي كه يك شي از طريق خود يا ديگر اشياء به طور مستقيم يا غير مستقيم مورد استفاده قرار بگيرد ان شي متغير يك شي فعال خواهد بود.
كلاس(‍Class)

موجوديتي است غير قابل استفاده مستقيم شامل مجموعه اي از متغيرهابه عنوان صفات كلاس و خطوط برنامه اي از جنس SubRoutine ها يا Function‌ها به عنوان بخشي از عملكرد ان كلاس. با توجه به اينكه Class‌ها قابليت استفا ده مستقيم را ندارند از روي هر كلاس ميتوان نمونه يا نمونه هايي را توليد كرد.بر همين اساس Classهابه سه گروه زير تقسيم مي شوند:

۱)Multitone Class
2)Singletone Class
3)Utility Class

Multitone Class كلاس هايي هستند كه مي توانند بيش از يك نمونه از خود توليد كنند كه هر نمونه از نوع يك كلاس منحصر به فرد باشدSingletone Class‌ كلاس هايي هستند كه با ان كه مي توانند نمونه يا نمونه هايي از خود را توليد كنند اما تنوع توليد نمونه در انها وجود نداشته وكليه نمونه ها از روي يك كلاس توليد مي شوند. Utility Class كلاس هايي هستند كه توانايي توليد هيچ نمونه اي از خود را نخواهند داشت . در حالت كلي يك كلاس:
‍‍Class Name

Attributes

Operation

مسئوليت(Responsibility)
يك كلاس و به تبع ان يك نمونه از يك كلاس در طول عمر خود داراي يك سري از مسئوليت هاست مانند ارتباط با اشياء ديگر و اجراي يك سري ازعمليات و دريافت يكسري از مقادير براي رسيدن به يك هدف خاص بطور كلي منظور از مسئوليت ها شامل موارد زير است:

۱)صفات(Attribute)
2)عملكردها(Operation)
3)ارتباط ها(Connection)
صفات(Attribute)

خصوصیات مواردی هستند ازجنس متغیرها که بنا به تعریف اگاهی های شی از خودش را نشان می دهد مانند ابعاد یک فرم،وضعیت یک Connectionونام یک فرد یا رنگ یک متن.
خصوصیات یک Class به سه گروه کلی تقسیم می شوند.این تقسیم بندی فضای اعتباراین صفت یا ویژگی را در محدوده Class ها و اشیاءتولید شده از انها بررسی می کند.
گروه اول صفات عمومی(Public): صفاتی هستند که در داخل یک Class وجود داشته،درون یک Class قابلیت خواندن و نوشتن خواهند داشت و در اختیار نمونه هایی که از روی یک کلاس تولید می شوند نیزقرار می گیرند و در داخل اشیاء نیز قابلیت خواندن و نوشتن را خواهندداشت.

گروه دوم صفات خصوصی(Private): صفاتی هستند که درون یک کلاس وجود دارند قابلیت خواندن و نوشتن خواهند داشت اما در اختیار نمونه های تولید شده از کلاس قرار نگرفته و اشیاء دیگر قدرت استفاده از این صفات را نخواهند داشت.

گروه سوم صفات محافظت شده(Protected):صفاتی هستند که در داخل کلاس و نمونه های تولید شده از کلاس وجود داشته در داخل کلاس به شکل خواندنی و نوشتنی خواهند بود اما درون اشیاء دیگریا به شکل فقط خواندنی یا به شکل فقط نوشتنی ظاهر خواهند شد.
عملكرد(Operation)

عمل٬ عكس العمل يا مجموعه اي از عمليات كه يك شي در طول دوره زندگي خود با ان خواهد بود و به عنوان يك متد يا Operation‌ تعريفمي شود.
ارتباط(Connection)
اگاهي داشتن يك شي از سطوح مسئوليت ديگر اشياء (بعضي از صفات٬ عملكردها يا ارتباطات اشياء ديگر) را رابطه مي نامند.ارتباطات در محيط الزاما دو طرفه نبوده و عموما يك شي با اشياء ديگر بطور يكطرفه ارتباط برقرار مي كند.
انواع ارتباطات در مدل شي گرا

الف)تعميم(Generalization)
اين ارتباط براي پرهيز از تكرار صفات٬ اعمال و ارتباطات بين كلاس ها در يك نمودار به كار مي رود. براي اين منظور مي توان عناصر تكراري را در كلاسي مجزا به عنوان كلاس تعميم و عناصر غير مشترك را در خود كلاس ها قرار داد و با برقراري رابطه تعميم بين هر يك از كلاس ها و كلاس تعميم كليه عناصر را از كلاس تعميم به ارث گرفت.

ب)تناظر(Association)
زماني كه دو شي يك ارتباط ساختاري با يكديگر داشته باشند رابطه اي از جنس تناظر به دست خواهد امد. منظور از ارتباط ساختاري ارتباطي است كه اشياء بتوانند به خصوصيات يكديگر دسترسي داشته باشند.
رابطه تناظر به سه دسته كلي زير تقسيم مي شوند:
۱)تناظر معمولي(Normal)
2)تناظر جمعي(Aggregation)

۳)تناظرتركيبي(Composition)

رابطه Normal
يك ارتباط تناظري ساده بين دوكلاس

رابطه Aggregation
زمانيكه دو يا چند كلاس در كنار يكديگر قرار بگيرند و از قرار گرفتن انها در كنار هم كلاس جديدي پديد ايد.

رابطه Composition
نوع خاصي از رابطه جمعي مي باشد كه رابطه محكم بين يك جزءاز مجموعه را با كل ان مجموعه نشان مي دهد.

ج)وابستگي(Dependency)
رابطه وابستگي رابطه اي است ساختاري كه اگر شي Y‌ يكي از خصوصياتش يا متدهايش تغيير كند حتما در يكي از خصوصيات شي X نيز تغيير حاصل شودانگاه مي گوييم X به Y وابسته است.

متدولوژي
متدولوژي فرايندي ساختارمند براي حل مسائل مختلف با استفاده از فناوري وابزارهاي معرفي شده در ان٬ به طور كلي ۵ متدولوزي در تقسيم بندي ها وجوددارد:
۱)سنتي(Conventional Methodology)
اين متدولوژي از اولين متدولوژي هاي مطرح در زمينه تحليل و طراحي سيستم بوده است در اين روش نگرش طراحان بر عملكردها معطوف بوده و از جزئيات شروع به تحليل و طراحي مي شد.

۲)فرايندگرا(Process Oriented Methodology)
اين متدولوژي به عنوان شبكه اي از فعاليت هاي در حال توسعه كاربرد داشته كه اين فعاليت ها مي توانند با يكديگر در تعامل باشند.
۳)ساختمان داده(Data Structure Methodology)

اين متدولوژي نوعي فرايندگرا بوده با اين تفاوت كه ابزار پياده سازي ان ساختمان هاي داده اي موجود مي باشد. در اين متدولوزي براي اولين بارمفهوم Class معرفي شده است ولي استفاده اساسي از انها به عمل نيامده است و تنها به جنبه تقسيم بندي و طبقه بندي عوامل پرداخته است زبان هاي ساختيافته اوليه از اين متدولوزي استفاده مي كردند.
۴)مدلسازي اطلاعات(Information Modeling)

در اين متدولوژي اشياء بوجود امده و مي توانستند با يكديگر مرتبط باشند اماهيچگونه تاثيري بر يكديگر نداشتند.اين اشياء فاقد متد بوده وهدفشان ٬ تنهابازشناسي ساختارهاي داده اي است.در اين فضا مدل هاي تصويري غيراستانداردي نيز تعريف شده اند.
۵)شي گرا(Object Oriented)

در اين متدولوژي سيستم به عنوان مجموعه اي از اشياء به هم مرتبط تعريف شده كه اشياء مي توانند مستقيما بر روي يكديگر تاثير بگذارند. اين تاثير هابر اثر Operation‌ ها يا رفتارهاي متقابلي است كه اشياء نسبت به يكديگرخواهند داشت.اين متدولوزي در سه ساختار مجزا متولد شده و سپس از در كنار هم قرار دادن اين سه فضا زبان مدلسازي خاصي به نام UML بدستامده است.اين سه ساختار عبارتند از:
OMG((Object Modeling Group
OOSE(Object Oriented Software Engineering)
OOP((Object Oriented Programming
هفت گام اساسي مدل شي گرا
۱)انتزاع(Abstraction): بطور كلي به مفهوم مجردسازي يا خلاصه سازي مي باشد.يعني انكه ما ميتوانيم به مسئله از يك ديد كلي٬به راحتي و بدون لحاظ كردن جزئيات نگاه كنيم. مثل نقشه كشور٬ شهر منطقه

۲)Encapsulation :منظور از پنهان سازي يا مخفي سازي عناصر دروني يك Class و به تبع ان يك شي مي باشد.Encapsulation‌ محدود كردن اجزاي يك سيستم را نسبت به ديگر اجزاي ان سيستم بررسي كرده و ميخواهد يك شي و عناصر دروني ان از ديد استفاده كننده پنهان باشد.
۳)Inheritance :ارث بري بطور كلي روشي است براي بيان شباهت ها.اين حالت در طراحي به عنوان يك رابطه Generalization تعريف مي گردد وكلاس فرزند تمام خصوصيات كلاس پدر را به ارث خواهد برد.

۴)Polymorphism :منظور از چند شكلي ٬ يك شي خاص بودن و چند شكل داشتن مي باشد. مانند اب٬ بخار اب و يخ كه همگي از جنس شي اب مي باشند.
۵)Message Communication :ارتباط پيامي ٬ تنها راه ارتباط مابين اشياءاست. مانند ارسال يك مقدار يا يك پارامتر از يك شي به شي ديگر.مانند تلويزيون و كنترل از راه دور
۶)‍Concurrency :اجراي همزمان دو يا چند فعاليت در سطح يك شي يا سيستم ساختار همروندي را ايجاد مي كند.
۷) Reusability :به منظور استفاده مجدد از يك شي در پايان مسئوليت هاي قبلي خود با همان نام و ساختار اوليه است.

زبان مدل سازي يكپارچه) Unified Modeling Language)
UML زبان مدلسازي مبتني بر متدولوزي شي گرا است كه داراي اهداف زير مي باشد:
۱)مشخص سازي(Specifing)
2)مجسم سازي(Visualising)
3)ساخت(Construction)

۴)مستند سازي(Document)
UML عناصر را به شكل لايه هاي منظم با استفاده از تصاوير و قرارداد هاي خاص تعريف كرده و به هر لايه يك نام با هدف پياده سازي اختصاص مي دهد.
اهداف UML

۱)فراهم اوردن زبان مدلسازي بصري و گويا
۲)فراهم اوردن مكانيزم هاي توسعه
۳)استقلال از زبان هاي برنامه نويسي خاص و فرايند هاي توسعه
۴)فراهم اوردن پايه و اصولي رسمي براي درك زبان مدل سازي

۵)تشويق به رشد بازارابزارهاي OO
6)حمايت از مفاهيم توسعه سطح بالاتر مانند همكاري ها و الگوها و اجزاء
نمودارهاي UML

۱)نمودار كلاس(Class Diagram):نموداري است كه مي تواند معرف توصيف تمام يا بخشي از يك سيستم و ارتباطات انها باشد.
۲)نمودار مورد كاربرد((Use Case Diagram:نموداري است كه نيازهاي يك سيستم در ان مشخص ميشود.
۳)نمودار رفتار سيستم(Behaviour Diagram):نموداري است كه رفتارهاي يك سيستم را مورد بررسي قرار مي دهد. رفتارها عملا از طريق دو نمودار
State Chart و Activity Diagram‌ بررسي مي شوند.

الف)نمودار حالت(State Chart):حالت هاي هر كلاس يا شي را مشخص مي كند و وضعيت هايي را تشريح مي كند كه يك شي در كل سيستم نسبت به يك موضوع خاص از خود بروز مي دهد.
ب)نمودار فعاليت(Activity Diagram):نموداري است كه عملكردهاي يك كلاس يا شي را نمايش مي دهد.اين عملكردها مي توانند شامل يك يا بيش از يك متد بصورت همزمان يا غير همزمان باشند.

۴)Behavior Diagram : اين گروه از نمودارها علاوه بر رفتار تاثيرات متقابل ٬ ارتباطات پيامي را نيز مورد بررسي قرار ميدهند و به دو گروه زير تقسيم مي شوند:
الف)نمودار توالي(Sequence Diagram):كه بر اساس يك موضوع و نياز خاص توالي عملياتي را كه براي رفع ان نياز لازم است نمايش مي دهد.
ب)نمودار همكاري(Collaboration Diagram):نموداري كه همكاري متقابل اشياء را براي حل يك نياز نمايش داده و بررسي مي كند .

۵)نمودار استقرار(Implementation Diagram):اين گروه شامل نمودارهايي است كه هنگام پياده سازي اجزاي نرم افزاري و سخت افزاري
را كه بايد در كنار يك برنامه قرار بگيرند بررسي مي كند و شامل Component Diagram و Deployment Diagram مي بتشد.
الف)Component Diagram : عناصر نرم افزاري خارج از محيط اوليه رابررسي مي كند.
ب)Deployment Diagram : عناصر سخت افزاري موجود را نمايش مي دهد.
فرايند توسعه(Unified Process)

فرايند توسعه فرايندي است تكراري و افزايشي. طراحان UML در ابتدافرايندي را در كنار UML به نام Objectory براي توسعه٬ طراحي وپياده سازي نرم افزار ارائه دادند كه امروز به ان UP‌ گفته مي شود. فرايند UP‌ در ۴ مرحله انجام مي شود كه در هر مرحله مي تواند داراي چندين تكرار باشد.اين مراحل عبارتند از:

۱)شروع(Inception)
2)جزئيات(Elaboration)
3)ساخت(Construction)
4)انتقال(Transition)

كليه اين مراحل مي بايد در طول ۵ گام اصلي چرخه عمر يك نرم افزار اززمان شروع تا انتقال ان به مشتري صورت پذيرد. اين گام ها عبارتند از :
۱)تعيين نيازمندي ها
۲)تحليل
۳)طراحي
۴)پياده سازي نرم افزار
۵)ازمون محصول(نرم افزار)
Inception : در اين مرحله تعيين اساس كار و محدوده كلي پروژه و اخذتعهدات از مجري و كارفرما صورت مي پذيرد.
Elaboration : جمع اوري نيازمندي هاي كل سيستم و تحليل و طراحي اوليه يا سطح بالاي سيستم در اين مرحله صورت مي پذيرد در اين مرحله حتما مي بايد خطوط پايه كلي براي مرحله ساخت تعيين شده باشد.

Construction : اين مرحله كه زمانبرترين مرحله در فرايند توسعه مي باشد خود٬ به طور كامل شامل گام هاي چرخه عمر خواهد بود كليه مراحل مي توانند در مرحله ساخت تكرار شوند.اين تكرارها ممكن است منطبق با دو مرحله قبلي باشد انها را نقض كند يا مطالبي را به انها اضافه كند. در اين مرحله ازمون محصول صورت مي پذيرد اين ازمون بر مبناي طراحي بوده و هنوز نيازهاي كارفرما در اين ازمون در نظر گرفته نشده است لذا به همين دليل به ان ازمايش بتا گفته مي شود.

Transition : در اين مرحله كه بعد از انجام ازمايش بتا اغاز مي شوداطمينان حاصل ميگردد كه برنامه تمام شده ٬ ازمايش نهايي با خواستهاي كارفرما صورت مي گيرد زمان اموزش به كاربران و تحويل كل پروژه دراين مرحله محاسبه مي شود.كليه مراحل ۴ گانه بالا مي توانند شامل يك سري ريسك هاي كلي باشند كه حتما اين ريسك ها بايد حل شده و سپس هر مرحله جداگانه اغاز شود.

Use case
Use case همان نياز كاربر است.در سيستم بانك مشتري از سيستم انتظار دارد تا چك خود را به پول نقد تبديل كند اين انتظار يا نياز يك use case مي باشد.و Use case مورد نظر را با جمله “تبديل چك به پول” نقد بيان مي كنيم.

Actor (كنشگر)
نقشي كه كاربر در ارتباط با سيستم ايفا مي كند Actor‌ مي ناميم.
Activity Diagram

Activity Diagram اساسا يك نوع فلوچارت مي باشد كه براي نمايش جريان كنترل از يك شي به شي ديگر به كار مي رود همچنين براي ترسيم جريان كار از نمودار فعاليت استفاده مي شود.و داراي يك سري علائم مي باشد.
Sequence Diagram
Sequence Diagram بر اساس يك موضوع و نياز خاص توالي عملياتي را كه براي رفع ان نياز لازم است نشان مي دهد.

معرفي UseCase

Use Case

Package بسته بندي:
براي فهميدن مسائل در دامنه هاي قابل پيشرفت و بزرگ ، مدل هاي ادراكي پيچيده تر و غير قابل مديريت مي شوند و به وسيلهPackage مي توان آنها را به گروه هاي كوچك تر و زير مجموعه هاي قابل مديريت تفسيم بندي نمود.
Package يكي از عناصر سازماني در مدل هاي سيستميUMLاست در يك Packageميتوان اطلاعات درست سيستمي را به وسيلهPackageهاي كه در آن محتوياتي چونPackage ها، دياگرام ها و عناصر ديگر است را وارد نمود.
يك PackageازPackageها ، دياگرامها يا عناصر منفرد وابسته ساخته شده كه مي تواند محتويات و عناصر خود را به روشنايي نمايان نمايد و مي توان باPackage ها در سراسر محيط هاي در حال پردازش و گسترده در يك گروه ، ارتباط عناصر را به خوبي نشان داد .
براي مثال در يك دياگرام ادراكي بزرگ مي توان با استفاده از Package عناصر را تقسيم بندي نمود و با استفاده از Packageيك سيستم معماري را تعريف نماييد

Use Case :
Use Case مجموعه از رويداد ها ، كه وقتي يكActor، در سيستم پردازش كاملي را انجام مي دهد رخ مي دهد و به صورت نرمال به يك پردازش بزرك نسبت داده مي شود و يك قدم منحصر به فرد يا پايان كار در يك سيستم نيست.

Actor:
Actor نقش بيروني يك شئي در سيستمUse Caseرا بازي ميكند و يك شئي ممكن است چندين نقش را بازي نمايد و يك شئي ، مي تواند نشان دهنده چندينActor در يك Use Caseاست.

Interface:
واسط يك سري عمليات مشخص بر روي كلاس ها وPackage ها يا عناصر ، براي مربوط ساختن آنها به محيط بيرون مي باشد.

Association:
نشان دهنده ارتباط يا مشاركت يكActor باUse Case مي باشد .

Extends:
گسترش ارتباط در يكUse Case را نشان مي دهد . يك سوي آن به يكUse Case و سوي ديگر آن رفتار و هنجار يك Use Case را نشان مي دهد .

Uses :
يك نوع ارتباط وابستگي كه براي نشان دادن عناصر نيازمند به عناصر ديگر است .

System Boundary:
محدوده و مرز داخلي و خارجي يك سيستم را نشان مي دهد .

Constraint :
يك نوع تحميل كننده به سيستم است و براي نشان دادن موضوعاتي كه بايد به گونه اي صحيحي در سيستم نگهداري شوند مي باشد .

Note:
نشان دهنده توضيحات و پيفام در يك دياگرام مي باشد و تاثير بر روي عناصر مدل و نه بر روي معنايي سيستم دارد .

۲-Elment Constraint:
ارتباط بين عناصر دو كلاس يا عناصر مشترك در سيستم را دارا است.

OR Constraint :
ارتباط بين عناصر يك كلاس يا فقط مشتركات آن را داراست .
(از اين قسمت به بعد با توضيح هر دياگرام در پايانش شكلي به عنوان مثال آمده كه اين شكل نوع آموزش براي دريافت يك مدرك رسمي مي باشد واشكال به صورت قدم به قدم توضيح داده شده اند)
مثالي از دياگرام Use case

نشان دهنده مرز بين سيستم داخلي و خارجي است .نشان دهنده نقش يكActor در يك سيستم مي باشد و ممكن است چندين نقش باشد .ارتباط بين يكActor و يكUse Case را نشان مي دهد .نشان دهنده رخ دادن عملي از سويActor در يك سيستم است
Static Structure
Static Structure:
يك دياگرام است كه ساختار ثابت يك مدل را نشان مي دهد كه در آن عناصر ( از قبيل كلاس هاو نوع ) ، ساختار داخلي عناصر و ارتباط آنها با يكديگر وجود دارد . و دياگرامهايStatic Structure مي تواند دياگرام كلاس ، دياگرام شئي يا مدل ادراكي باشد .
مورد استفاده از آن براي ساختن دياگرام ادراكي ، براي نشان دادن ارتباطات مابين عناصر در دنياي واقعي يا دياگرامهاي كلاس و تجزيه كردن نرم افزارهاي سيستمي داخل آن مي باشد .

Class:
دردياگرام Static Structureيك كلاس عنصري براي نشان دادن مفهومي سيستم موجود است و عناصر يك كلاس شامل اشياي كه از نظر رقتار ، ساختار و ارتباط شبيه هم مي باشند است .

Data Type :
نوع داده هاي صفات عناصر يا نوع عنصر هاي عناصر را معين مي كند .

Interface :
واسط يك سري عمليات مشخص بر روي كلاس ها وPackage ها يا عناصر ، براي مربوط ساختن آنها به محيط بيرون مي باشد.

Generalization:
دردياگرام Static Structure براي ارتباط دادن يك عنصر خاص با يك عنصر عمومي به كار ميرود كه عناصركاملا خاص با عناصر عمومي مركب شده و شامل اطلاعات اضافي مي شوند (مثل اشتراكات و صفات).براي مثال در يك كلاسهاي Polygon ،Ellipse وSpline مي توان همه عناصر كه از كلاس هاي عمومي به وجود آمده اند را يك شكل ناميد .
يكGeneralization با استفاده از يك خط چين با يك پيكان تهي كه نقطه پايان آن عنصر عمومي است نشان داده مي شود . شما مي توانيد با يك برچسب تفكيك كننده آدرس آن را مشخص نماييد .Generalization بيشتر اوقات باClassها ،Packageها وUse Caseها استفاده مي شود اما مي توان آن را با عناصرUMLنيز استفاده نمود.

Binary association :
دردياگرام Static Structure يكbinary association مرتبط كننده بين دو كلاس همانند است . و مي توان به آن نام و خواص ذخيره شده به binary association را اضافه نمود .
نقطه كهbinary association را به يك كلاس متصل مي كند يك نقش ياassociation endناميده مي شود. و خاصيت ارتباطي يك نقش معين به صورتEnd Name،multiplicity, aggregation و navigability كه به يكassociation end چسبيده شده است را بيان مي كند .
Association Class:
استفاده از يكAssociation Classبراي اضافه كردن صفات, عملگر ها و ساير خواص به يك دياگرامstatic structure است و براي سرعت دادن در چسباندن كلاس ها با يك ديگر است و مي تواند به صورت يك عنصر مدلينگ منفرد باشد. و عنصري است كه مي تواند بر رويClass ها ياassociation يا هر دوي آن ها عمل نمايد و نامي به صورت منفرد داشته باشد.

Dependency:
يك مرتبط كننده بين دو عنصر كه براي نشان دادن تغييرات روي عنصر منبع كه مي تواند باعث تغيير در عناصر مقصد شود.اين مرتبط كننده كه به صورت خط چين است براي نشان دادن وابستگي به كار مي رود و مي تواند ارتباطات يك عنصر را به خودش نشان دهد و داراي چهار نوع است كه عبارتند از :
Binding:
نوع وابستگي است كه كلاس هاي پارامتري ، الگو ها ، پارامتر ها به مقادير ساخته شده از يك مرز يا عناصر بدون پارامتر را نشان مي دهد .