تبلیغات
تبلیغات متنی
محبوبترینها
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
قیمت انواع دستگاه تصفیه آب خانگی در ایران
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
پروازهای مشهد به دبی چه زمانی ارزان میشوند؟
تجربه غذاهای فرانسوی در قلب پاریس بهترین رستورانها و کافهها
دلایل زنگ زدن فلزات و روش های جلوگیری از آن
خرید بلیط چارتر هواپیمایی ماهان _ ماهان گشت
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1836470327
آشنایی با UML 2
واضح آرشیو وب فارسی:راسخون:
آشنایی با UML 2 مقدمه شايد براي شما هم اين سؤال پيش آمده باشد كه چه تغيير مهمي در UML رخ داده است كه پس از UML 2.0، UML 1.5 عرضه شد؟ آيا اضافه شدن دياگرامهاي جديد (مثل Timing Diagram) يا بهبود دياگرامهاي موجود (مانند افزودن امكانات بيشتر به Sequence Diagram ) موجب اين ارتقاء قابل توجه شده است؟ حقيقت اين است كه آنچه كه موجب اين ارتقاء نسخه قابل توجه از 1 به 2 شده است، فراتر از اين جزئيات است. آنچه كه توليد مدلگرا (Model Driven Development) ناميده ميشود، كه بر پايه سطح تجرد بالاتر و استفادة بيشتري از توليد خودكار كد نسبت به روشهاي سنتي قرار دارد، اثر قابل توجه خود در بهبود كيفيت نرمافزار و بهرهوري توليد نشان داده است. از آنجاييكه نقش زبان مدلسازي براي موفقيت MDD بسيار مهم است، يك تجديد نظر عمده در زبان استاندارد UML انجام شده است كه منجر به عرضه UML 2.0 گرديده است. درعين حال كه چندين قابليت جديد مدلسازي اضافه شده است – مانند قابليت بيان دقيقتر معماري نرمافزار - خصوصيت غالب اين بازبيني عمده، زياد كرد دقچت قابليت تعريف زبان است كه سطح بالاتري از خودكارسازي را فراهم ميكند. در ادامه شرح خواهيم داد كه UML2.0 چگونه به اين موارد دست يافته است و ساير جنبههاي مهم آنرا نيز بيان خواهيم كرد. همانگونه كه ميدانيد UML بوسيله توليدكنندگان بزرگ ابزارهاي مدلسازي پذيرفته و پشتيباني ميشود، و بصورت يك بخش ضروري از دانش مهندسي نرمافزار درآمده است و در دانشگاهها نيز تدريس ميشود. همچنين نقش مهمي در مدلسازي نرمافزارهاي پيچيده ايفا ميكند. اما با وجود همه اين مزايا همچنان مقاومتهايي در برابر استفاده از UML وجود دارد. دلايل زيادي براي اين وضعيت وجود دارد، لكن يكي از مهمترين آنها اين است كه مدلهاي نرمافزار ممكن است در بعضي موارد بسيار نادقيق باشند و ارزش كاربردي هر مدلي با ميزان دقت و صحت آن تناسب مستقيم دارد. چنانچه شما نتوانيد به يك مدل از يك سيستم نرمافزار اعتماد كنيد، بدتر از حالتي است كه مدلي وجود نداشته باشد، زيرا ممكن است منجر به تصميمگيري غلط شما شود. بنابراين بهترين راهحل افزايش ارزش مدلهاي نرمافزاري كم كردن فاصلة ميان آنها و سيستمي است كه آنرا مدل كردهاند. جالب است بدانيد - همانطور كه در ادامه بيان خواهيم كرد- در مهندسي نرمافزار بيش از ساير رشتههاي مهندسي اين كاهش فاصله امكانپذير است. Model-Driven Development راهحل اين معما اتصال دقيق يك مدل به معادل پيادهسازي نرمافزاري آن با استفاده از يك يا چند تبديل مدل خودكار است. شايد بهترين مثال يك كامپايلر باشد، كه يك برنامه كه به زبان سطح بالا نوشته شده است را به متناظر سطح ماشين آن برنامه تبديل ميكند. مدل، در اين حالت، نقش آن زبان سطح بالا را ايفا ميكند كه جزئيات غير ضروري را نمايش ميدهد. جالب است توجه كنيد در هيچ يك از رشتههاي مهندسي ديگر نميتوانند اين ارتباط قوي بين مدل و فرآوردة مهندسي آن ايجاد كنند. زيرا فرآوردهاي كه شما آنرا مدل ميكنيد نرمافزار است و نه سختافزار. يك مدل از هر نوع از فرآوردههاي فيزيكي (بعنوان مثال، يك اتومبيل، ساختمان، پل و موارد ديگر) هنگام مدلكردن نياز به يكسري حذف جزئيات و مجردسازي است كه بصورت غير دقيق انجام ميشود و هنگام ساخت يك فرآورده مهندسي از روي مدل مجرد نيز لازم است يك سري تبديلهاي غير دقيق انجام شود. ماهيت اين تبديلها به دليل عدم دقتي كه دارند ممكن است مدلها را به يك موجوديت ناكارا يا حتي مزاحم تبديل كنند. حال آنكه در نرمافزار اين تبديلها، بطور كلي، ميتوانند بصورت كاملا دقيق و قاعدهمند انجام شوند. پتانسيلي كه در وراي اين تركيب قدرتمند تجرد و خودكارسازي وجود دارد منجر به ظهور تكنولوژي مدلسازي جديدي به همراه روشهاي توليد متناظر با آن شده است كه با عنوان توليد مدلگر (model-driven development) شناخته ميشود. ويژگي اصلي MDD اين است كه مدلها به فرآوردة اصلي طراحي نرمافزار بدل گشتهاند، كه منجر به انتقال تمركز بيشتر از كد برنامه به مدل ميشود. با دقيقتر شدن مدلها (كه UML 2.0 اين قابليت را فراهم ميآورد) سطح خودكارسازي توليد كد از روي مدل افزايش پيدا ميكند و مزاياي MDD بيشتر نمايان ميشوند. لازم به ذكر است كه پيش از اين هم در عمل MDD مورد استفاده قرار گرفته است، لكن در حال حاضر به دليل رشد و افزايش قابليت تكنيكها و استانداردها (مانند UML 2) اين امكان بيشتر فراهم شده است و MDD بيشتر مورد توجه قرار گرفته است. اهمِ موارد جديد در UML 2.0 توسعههاي جديدي كه در UML 2.0 انجام شده است را ميتوان در اين پنج دسته عمده گروهبندي كرد كه در ادامه به ترتيب اهميت بيان شدهاند. افزايش قابل توجه ميزان دقت در تعاريف زبان كه نتيجه نياز به پشتيباني از خودكارسازي سطح بالاتري است كه براي MDD لازم است. لازمة خود كارسازي رفع ابهام و عدم دقت از مدلها (و در نتيجه از زبان مدلسازي) است تا برنامههاي كامپيوتر ي بتوانند مدلهاي را تبديل به كد كنند. يكي از اقداماتي كه به منظور كمينه كردن ابهامات و افزايش دقت مدل انجام شده است استفاده از metamodel است. اين مدل خصوصيات هر عنصر مدلسازي UML و ارتباط آن با ساير مفاهيم مدلسازي را تعريف ميكند. اين metamodel با استفاده از يك زيرمجموعه از عناصر UML - كه بيشتر مفاهيم Class Diagram هستند و اصطلاحا Meta-Object Facility (MOF) ناميده ميشوند - تعريف شده است و بوسيله يك مجموعه از محدوديتهاي رسمي كه به زبان Object Constraint Language (OCL) نوشته شده است پشتيباني ميشود. بطور خلاصه ميزان دقت تعاريف زبان UML 2.0 با روشهاي زير بطور قابل توجهي افزايش يافته است : • يك سازماندهي مجدد عمده در فراساختار metamodel • توصيفهاي معنايي توسعه يافته و دقيقتر • يك چارچوب معنايي پويا و شفاف به منظور پركردن خلاءهايي كه در اين زمينه وجود داشت
شكل 1 - چارچوب معنايي UML 2.0 بهبود سازماندهي زبان با پيمانهاي (Modular) كردن زبان، علاوه بر اينكه براي كاربران جديد امكان شناخت و استفاده سادهتر خواهد بود، همكاري ميان ابزارها را نيز تسهيل ميكند. در واقع معماري بهتري براي زبان ايجاد شده است. با توجه به افزايش دقت UML 2.0، تعاريف زبان بزرگتر شدهاند و در نتيجه چنانچه از همان ساختار و معماري UML 1 براي آن استفاده ميشد، فهم و استفاده از آن را بسيار مشكل ميساخت. به منظور مقابله با مشكل پيچيدگي زبان، UML 2.0 بصورت پيمانهاي درآمده است تا امكان استفادة انتخابي از پيمانههاي زبان فراهم شود. شكل كلي اين ساختار در شكل 2 نمايش داده شده است. همانطور كه مشاهده ميشود از يك پايه كه شامل عناصر به اشتراك گذاشته شده است (مانند كلاسها و روابط association)، كه بر روي آن مجموعهاي از زير-زبانها يا عناصر زبان وجود دارد. هر كدام از اين زير-زبانها براي مدلسازي يك قالب يا جنبة بخصوص مناسب هستند. اين عناصر در Error! Reference source not found. نمايش دادهشده اند. اين عناصر افقي زبان بطور معمول از يكديگر مستقل هستند و بنابراين شما ميتوانيد آنها را بصورت مستقل استفاده كنيد (برخلاف UML 1 كه بعنوان مثال activity diagram بطور كامل بر روي state diagram قرار گرفته بود).
شكل 2- معماري زبان UML 2.0 علاوهبر اين عناصر افقي زبان بصورت سلسلهمراتبي در سه سطح سازماندهي شدهاند كه سطح بالاتر قابليتهاي بيشتري نسبت به سطح پايينتر دارد. به اين ترتيب زبان از يك بعد ديگر نيز پيمانهاي است و شما را قادر ميسازد كه حتي در يك واحد زبان هم يك زيرمجموعة بخصوص را انتخاب كنيد. اين ساختار معماري زبان شما را قادر ميسازد كه تنها يك زير مجموعه از UML را بياموزيد و بكار ببريد كه مناسب كار شما است و به مرور زمان و كسب تجارب بيشتر ميتوانيد با عناصر قدرتمندتر زبان آشنا شويد و در هنگام نياز از آنها استفاده كنيد. جدول 1- عناصر زبان UML 2.0 PurposeLanguage Unit(Foundation) modeling of fine-grained actionsActionsData and control flow behavior modelingActivities(Foundation) modeling of basic structuresClassesComplex structure modeling for componenttechnologiesComponentsDeployment modelingDeployments(Foundation) common behavioral semantic base and timemodelingGeneral BehaviorsAbstract data flow modelingInformation FlowsInter-object behavior modelingInteractionsModel organizationModelsLanguage customizationProfilesEvent-driven behavior modelingState MachinesComplex structure modelingStructuresPattern modelingTemplatesInformal behavioral requirements modelingUse Casesبهبود قابل توجه در توانايي براي مدل كردن سيستمهاي نرمافزاري بزرگ برخي از نرمافزارهاي كاربردي مدرن تجميع برنامههاي كاربردي مستقل را در قالب سيستمي از سيستمها نمايان ميسازند و اين روندي است ادامه دار كه منجر به پيچيدهتر شدن سيستمها خواهد شد. براي پشتيباني از چنين روندهايي، قابليتهاي جديد انعطافپذيرِ سلسلهمراتبي به زبان اضافه شده است تا از مدلسازي نرمافزار در سطوح دلخواه پيچيدگي پشتيباني كند. بطور كلي تعداد قابليتهاي جديد اضافه شده به UML 2.0 كم است تا از بزرگ شدن زياد زبان جلوگيري شود و بخش عمدهاي از اين قابليتهاي جديد مدلسازي، گسترشي بر استفاده از قابليتهاي جديد است كه به شما امكان مدلسازي سيستمهاي نرمافزاري بزرگ را ميدهد. علاوهبراين، اين گسترشها با استفاده از يك راهكار پايهاي يكسان بدست آمدهاند : استفادة بازگشتي از مجموعة يكساني از مفاهيم در سطوح مختلف تجرد. بدين معني كه شما ميتوانيد عناصر مدلسازي مربوط به يك گونه بخصوص را با يكديگر تركيب كنيد تا واحدهايي ايجاد شود كه بعنوان بلوكهاي سازنده در سطح بعدي تجرد مورد استفاده قرار گيرند. اين وضعيت قابل مقايسه با روشي است كه در برنامهنويسي procedure ها ميتوانند تا چندين سطح در داخل يكديگر فراخواني شوند(Nested Procedure Call). بطور مشخص، قابليتهاي مدلسازي زير بدين روش توسعه يافتهاند : • ساختارهاي پيچيده (Complex Structures) • فعاليتها (Activities) • تعاملها (Interactions) • ماشينهاي حالت (State machines) سه تاي اول از ليست بالا 90% قابليتهاي جديد UML 2.0 را شكل ميدهند. ساختارهاي پيچيده (Complex Structures) به اين منظور عناصر پايهاي ساختاري كه part ناميده ميشوند ممكن است يك يا چند درگاه (port) داشته باشند كه با استفاده از كانالهاي ارتباطي كه اتصالدهنده (connector) ناميده ميشوند (همانگونه كه درشكل 3 نمايش داده شده است) به يكديگر متصل شدهاند. اين ساختار تجمعي ميتواند در داخل عناصر سطح بالاتر كپسوله شود كه port هاي خود را دارند و ميتوانند با عناصر سطحبالاتري متصل شوند و به همين ترتيب عناصر سطح بالاتري ميتوانند ساخته شوند.
شكل 3- مفاهيم مدلسازي ساختارهاي پيچيده فعاليتها (Avtivities) Activity ها در UML براي مدلكردن انواع مختلفي از جريان مورد استفاده قرار ميگيرد : جريان signal يا data، و نيز جريانهاي algorithmic يا procedural. در UML 1 يك محدوديت عمده براي Activity ها وجود داشت و آن هم اين بود كه آنها بر پايه ماشين حالت قرار گرفته بودند و بنابراين در حوزة معنايي ماشينهاي حالت محدود شده بودند. در UML 2.0 پاية ماشين حالت با يك چارچوب معنايي عمومي ديگر كه تمام اين محدوديتها را حذف كرده است جايگزين شده است. (در واقع، پاية معنايي با استفاده از petri net colored هاي عموميشده جايگزين شده است). علاوه بر اين از برخي استانداردهاي صنعتي براي مدلسازي فرآيندهاي كسب و كار مانند BPEL4WS الهام گرفته است. تعاملها (Interactions) تعاملهاي ميان اشياء در UML 1 يا با استفاده از collaboration diagram و يا با استفاده از sequence diagram نمايش داده ميشدند. لكن متأسفانه دو قابليت اساسي جا افتاده بودند : 1. امكان استفادة مجدد از تواليها كه ممكن بود در متن دنبالههاي ديگر تكرار شوند. بعنوان مثال، يك دنباله كه هويتشناسي كاربر را انجام ميدهد ممكن است در چندين جاي مختلف يك برنامة كاربردي رخ دهد. بدون امكان بستهبندي اين دنبالههاي تكرار شونده در عناصر جداگانه، لازم بود كه آنها را چندين مرتبه بيان كنيد كه علاوه بر افزودن سربار اضافي، نگهداري مدل را نيز مشكلتر ميكرد. 2. امكانات كافي براي مدلكردن جريانهاي پيچيده مختلف كه در بازنمايي تعاملات سيستمهاي پيچيده رايج هستند. اين قابليتها شامل تكراركردن يك زيردنباله، مسيرهاي اجرايي آلترناتيو، اجراهاي همروند و مستقل از ترتيب، حلقه، شرط و موارد مشابه ميشود. مهمترين نوآوري در اين زمينه معرفي تعاملها (Interaction) بصورت يك واحد مدلسازي جداگانه نامگذاري شده است كه امكان پارامتري كردن آنها نيز وجود دارد و بنابراين ميتوان هر سطح پيچيدگي دلخواهي از تعاملهاي ميان اشياء را در يك نمودار تعامل مدل كرد.
شكل 4 - مثالي از يك مدل تعاملي پيچيده همانگونه كه در شكل 4 نشان داده شده است شما ميتوانيد اين تعاملات بستهبندي شده را در تعاملات سطح بالاتر بصورت بازگشتي فراخواني كنيد. ماشينهاي حالت (State Machine) مهمترين قابليتي كه ماشينهاي حالت در UML 2.0 اضافه شده است كاملا مشابه موارد قبلي است. ايدة اصلي اين است كه شما ميتوانيد يك ماشين حالت پيچيده را كاملا بصورت پيمانهاي مدل كنيد كه داراي نقاط مشخصي براي ورود و خروج است. به اين ترتيب شما ميتوانيد تجزيه داخلي يك ماشين حالت را بوسيله يك مجموعه از ماشينهاي حالت جداگانه و قابل استفاده انجام دهيد. به اين ترتيب توصيف يك الگوي رفتاري مشترك در چند حوزة مختلف به سادگي انجام ميپذيرد.
شكل 5- نمونهاي از نمودار حالت در UML 2.0 بهبود پشتيباني براي سفارشي سازي براي يك حوزه بخصوص تجارب عملي استفاده از UML ارزش مكانيزمهاي توسعه (Extension) آنرا نمايان ساخته است. در UML 1.x فقط از مكانيزمهاي توسعة stereotype و profile استفاده ميشد، لكن در UML 2.0 مكانيزم توسعة جديد metamodel اضافه شده است كه امكانات توسعة سطح بالاتري را فراهم ميكند. تقويت، تطابق با اصول، روشني و وضوح بيشتر براي مفاهيم مختلف مدلسازي زبان سادهتر و سازگارتر شده است. اقدامات جديد شامل تقويت و تثبيت مفايهم و – در بعضي موارد – حذف مفاهيم تكراري، پالايش چندين تعريف و افزودن توضيحات متني و مثال بوده است.منبع:www.smhoseyni.com/س
این صفحه را در گوگل محبوب کنید
[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 1571]
صفحات پیشنهادی
آشنایی با UML 2
آشنایی با UML 2 مقدمه شايد براي شما هم اين سؤال پيش آمده باشد كه چه تغيير مهمي در UML رخ داده است كه پس از UML 2.0، UML 1.5 عرضه شد؟ آيا اضافه شدن دياگرامهاي ...
آشنایی با UML 2 مقدمه شايد براي شما هم اين سؤال پيش آمده باشد كه چه تغيير مهمي در UML رخ داده است كه پس از UML 2.0، UML 1.5 عرضه شد؟ آيا اضافه شدن دياگرامهاي ...
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) توسعه محصولات پروژه 3.1.2 انتخاب كدام مدل ها و دیاگرام ها كه بتواند راه حلی را برای ...
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) توسعه محصولات پروژه 3.1.2 انتخاب كدام مدل ها و دیاگرام ها كه بتواند راه حلی را برای ...
آشنایی با مفهوم UML | دانلود کتاب
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) ... خصوصیت قابل استفاده از ابزار ، كتاب ها ، و دوره ها گستردگی برازندگی آن را .
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) ... خصوصیت قابل استفاده از ابزار ، كتاب ها ، و دوره ها گستردگی برازندگی آن را .
آشنايي كامل با اجزا و سيستم خودرو
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) ... زیر مدل كامل این نما ها همچنان كه سیستم خود سازگار می توانند آنالیز كنند یا ساخته ...
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) ... زیر مدل كامل این نما ها همچنان كه سیستم خود سازگار می توانند آنالیز كنند یا ساخته ...
آشنایی با مفهوم Uml(تعاریف UML عبارتند از)
آشنایی با مفهوم Uml(تعاریف UML عبارتند از)-آشنایی با مفهوم Uml (قسمت اول)1. ... كه بتوان آن را گسترش و تغییر مدل داد .2 ) میسر ساختن توسعه پذیری و مكانیسمهای ...
آشنایی با مفهوم Uml(تعاریف UML عبارتند از)-آشنایی با مفهوم Uml (قسمت اول)1. ... كه بتوان آن را گسترش و تغییر مدل داد .2 ) میسر ساختن توسعه پذیری و مكانیسمهای ...
uml -
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) توسعه محصولات پروژه 3.1.2 انتخاب كدام مدل ها و دیاگرام ها كه بتواند راه حلی را برای .
آشنایی با مفهوم Uml(توسعه محصولات پروژه 3.1.2)-آشنایی با مفهوم Uml (قسمت دوم) توسعه محصولات پروژه 3.1.2 انتخاب كدام مدل ها و دیاگرام ها كه بتواند راه حلی را برای .
آشنایی با ویروس ها (3) - ویروس W32Agobot-PI
آشنایی با ویروس ها (3) - ویروس W32Agobot-PI-آشنایی با ویروس ها (3) - ویروس ... Agobot.jg وظایف 1 - از بین بردن پردازش برنامه های آنتی ویروس 2 - دسترسی دیگران ...
آشنایی با ویروس ها (3) - ویروس W32Agobot-PI-آشنایی با ویروس ها (3) - ویروس ... Agobot.jg وظایف 1 - از بین بردن پردازش برنامه های آنتی ویروس 2 - دسترسی دیگران ...
آشنایی با ویروس ها (4)- ویروس W32MyDoom-BD
آشنایی با ویروس ها (4)- ویروس W32MyDoom-BD-آشنایی با ویروس ها (4)- ... BD وظایف :1 - از کار انداختن آنتی ویروس ها 2 - فرستادن خود به واسطه میل های آلوده 3 - آلود.
آشنایی با ویروس ها (4)- ویروس W32MyDoom-BD-آشنایی با ویروس ها (4)- ... BD وظایف :1 - از کار انداختن آنتی ویروس ها 2 - فرستادن خود به واسطه میل های آلوده 3 - آلود.
آشنایی با ویروس ها (5)- ویروس VBS/Mcon-G
آشنایی با ویروس ها (5)- ویروس VBS/Mcon-G-آشنایی با ویروس ها (5)- ویروس VBS/Mcon-G نام : VBS/Mcon-G نام مستعار :: VBS.Mcon.c و VBS/Pica.worm.gen و VBS.
آشنایی با ویروس ها (5)- ویروس VBS/Mcon-G-آشنایی با ویروس ها (5)- ویروس VBS/Mcon-G نام : VBS/Mcon-G نام مستعار :: VBS.Mcon.c و VBS/Pica.worm.gen و VBS.
آشنايي با Utility هاي اينترنتي!
vazeh.com 03:03:05 04:50:49 12:07:57 19:23:26 19:45:04 2:15 مانده تا اذان ظهر ... آشنایی با مفهوم Uml Use) Case)-آشنایی با مفهوم Uml (قسمت سوم) :یك راه حل آماده ...
vazeh.com 03:03:05 04:50:49 12:07:57 19:23:26 19:45:04 2:15 مانده تا اذان ظهر ... آشنایی با مفهوم Uml Use) Case)-آشنایی با مفهوم Uml (قسمت سوم) :یك راه حل آماده ...
-
گوناگون
پربازدیدترینها