امکانات انجمن
  • مهمانان محترم می توانند بدون عضویت در سایت در بخش پرسش و پاسخ به بحث و گفتگو پرداخته و در صورت وجود مشکل یا سوال در انجمنن مربوطه موضوع خود را مطرح کنند



iran rules jazbe modir
snapphost mahak

تمامی فعالیت ها

این جریان به طور خودکار به روز می شود     

  1. امروز
  2. دیروز
  3. Miscellaneous

    اموزش ساخت صفحه دیفیس با فتوشاپ به صورت تصویری خودم ریکوردش کردم اگر مشکلی شد در faq مطرح کنید . لینک دانلود رمز فایل : anonysec.org توجه : رمز را کپی نکنید تایپ کنید !
  4. Hacking-Virus

    یکم میشه برا من بیشتر توضیح بدین ساده تر من همین کارو کنم بفرستم کافیه؟یعنی خودش همچیو برام ارسال میکنه؟نیاز به نرم افزار نیست.و cmd اید چیکار کنم باهاش؟ببخشید دوباره پرسیدم خیلی احتیاج دارم
  5. Miscellaneous

    به غير از زبان wright ، بقيه روشهاي مبتني بر زبان توصيف معماري ، تفـاوتي بـين سـبك هـاي مختلـف معماري قائل نمي شوند و اغلب بطور غيررسمي تعريف شده اند ك اي ه ن مس ئله تحليل و درستيابي صـفات معماري را مشكل مي .كند مشكل ديگر زبانهاي توصيف معماري اين است كه تنها مدلسازي معماري نرمافزار را پشـتيباني مـي كننـد و براي توصيف بق يه سطوح توسعه نرمافزار قابل استفاده نيستند . بنابراين براي مدلنمودن كـل فرآينـد توسـعه نرمافزار قابل استفاده نيستند . ويژگي زبانهاي توصـيف معمـاري ، مـديريت سيسـت هـا م يي اسـت كـه تعـداد محدودي پيكربندي دارند. همچنين در زبانهاي توصيف معماري رسمي ، فعالي ها ت بصورت واضح و دقيـق انجام ميشوند اما استفاده از آنها هنوز در فرآيند توسعه معماري نرمافزار ، همگاني نشدهاست [ .]33 زبانهاي مختلف توصيف معماري با توجه به دامن ها ه ي كاربردي م تفاوت، سبك هاي معماري يا جنب ها ه يي از معماري كه آنها مدل مي كنند، توسعهيافتهاند. بعضي از اين زبانهاي توصيف معماري همهمنظوره و بعضي در دامن ها ه ي خاصي استفا ه د ميگردند. نمون هاي از ايـن زبانهـاي توصـيف معمـاري ، ,C2, Darwin , LILEANNA 34.[ ] است SADL, Rapide, MeTaH, Wright, weaves , uniCon, ARTEk, Aesop -4-3-2 نقشه مورد كاربري نقشه مورد كاربري [ ] 26 نيز مشابه زبان مدلسازي يكپارچه از ساختار گرافيكي براي توصيف سيستم استفاده يم كند. اين نوع علامتگذار ،ي امكان توصيف يكپارچه و سطح بالا را از رفتار سيستم در تمام فازهاي توسعه و بدون درنظرگرفتن جزئيات فراهم م يكند. همچنين چگونگي ساختاربندي سيست ها م ي پيچيده و رفتار آنهـا را توصيف مي.دكن اما نقشه مورد كاربري در فـراهم نمـودن مشخصـ ههـا ي كامـل رفتـاري سيسـتم ، كمكـي نم يكند. نقشه مورد كاربري در سطح توصيف نيازهاي سيستم، مولف ها ه را بصورت جعبـ هـا ه ي سـياه رنگـي توصيف مي كند و در مرحله طراحي سطح بالا، مشخص ها ه ي مولف ها ه را پالايش مي كند تا بخش هاي داخلـي مولف ها ه را استخراج نمايد و مسئوليت ها را به مؤلف هـا ه ي معمـاري اختصـاص دهـد . نقشـه مـورد كـاربري ، سناريوها را از طريق سناريوهاي مسير نشان ميدهد. موارد كاربري مربوط ه ب آن نيز در نقش هاي شبيه نمودار ، نشان داده ميشود. اين نمودارها بيشتر بر روي تصاوير پويا متمركزند نه بر روي سازمان كد منبع . نقطه شروع در يك نقشه، نقطه شروع يك سناريو را ن شان مي دهد و حركت در اين مسير، نشاندهنده پيشـرفت سـناريو است ب . راي نمايش ساختارهاي رفتاري، دستكاري، استفاده مجدد و فهم موجوديت هاي معماري از سناريوهاي موجود در نقشه موردكاربري ، استفاده مي شود. نقشه موردكاربري ، مسيرهاي سـببي را بـين مسـئولي هـا ت در ساختار مولف اه ه ي انتزاعي مستقيم اٌ نشان م يدهد. در واقع در يك ديد، ساختار و رفتـار را نشـان مـي دهـ د و مسئولي ها ت را به مولف ها ه ي معماري اختصاص م يدهند. تمام محصولات نقشه موردكاربري( يعنـي مسـيرها،
  6. Miscellaneous

    همچنين به منظور استفاده از زبان مدلسازي يكپارچه در مدلسازي نرمافزارهـاي خـاص و ارزيـابي صـفات 1 كيفيتي سه مكانيزم توسع اي ه كليشه ر، ب چسب و محدودي ها ت 2 3 درنظرگرفته شده است . "كليشه"، لغت نامـه زبان مدلسازي يكپارچه است كه بوسيله مدل كننده تعريف مي شود و انواع جديد بـلاك هـاي سـاختاري را معرفي مي .كند "برچسب"، خاصيت زبان مدلسازي يكپارچه است و رشت اي ه است كه براي الحاق اطلاعات اختياري به هر عنص ر مدل استفاده مـي شـود تـا خـواص بـلاك سـاختاري را در زبـان مدلسـازي يكپارچـه توسعهدهد. "محدوديت" نيز توسعهدهنده معناي عناصر مدلسازي آن است و محدودي ها ت ي مربوط به يـك عنصر مدل را بصورت متني و در قالب زبان محدوديت طراحي توصيف ميكند ].9] نسخه جديد زبان مدلسازي يكپا رچه ، 0.Uml2 است [ ]31 كه قابلي ها ت ي جديـدي بـه آن اضـافه شـده اسـت . بعنوان مثال در اين نسخه ، نمودار ترتيب قابلي ها ت ي بيشتري دارد، نمودار مؤلفه نيز بهتر مشخص شـده و دو 4 نمودار جديد ب هنام نمودار زماني و IOD معرفي شدهاست . -3-3-2 زبان توصيف معماري زبانهاي توصيف مع ماري بعنوان راهحلي براي توصيف مؤلف ها ه ي معماري نرمافزار و تعامل بين آنها بصورت انتزاعي و بدون جزئيات پياده سازي معرفي شدند . اين زبانها از مدلسازي به منظـور سـاختاربندي سيسـ تم و تركيب عناصر مختلف پشتيباني ميكنند [ و32.[ 33 زبانهاي توصيف معماري با نمايش ساده و انعطاف پذير، معماري نرمافزار را رسمي مي كنند و ممكن است شامل يك زبان متني با توصيفات رسمي يـا شـبه رسـمي، يك زبان گرافيكي و يا تركيبي از هر دو باشند [ و32[. 33 زبانهاي توصيف معماري بسياري پيشنهادشده اند كه هر يك براي توصيف و سير تكاملي معمـاري از روش خاصي استفاده كردهاند اما. جدا از توانائي هـاي گونـاگوني كـه دارنـد ، داراي يكسـري ويژگيهـاي مشـترك همچون مولف ها ه ، ارتباط ميان آنها و پيكربندي معماري هستند [ ].34 ويژگي اغلب زبانهاي توصيف معماري ، تمركز بر روي توصيف ساختار ايستاي يك معماري ، بدون توجه به وجه پويـاي معمـاري اسـت . مطالعـات انجام شده در [ ،]35 نقطه ضعفهاي زبان توصيف معماري را در چندين وجه بيان ميكند [ ]:33 -1 هيچ كدام از زبانهاي توصيف معماري ك از رفتار پوياي معماري پشتيباني نمي .نند اگر چـه در بعضـي از آنها پيشنهادهايي ارائه شدهاست [36و .]37 -2 زبانهاي توصيف معماري ت عداد ثـابتي پيكربنـدي را در نظـر مـي گيرنـد ؛ در ايـن صـورت امكـان انجـام پيكربندي مجدد در آنها وجود ندارد
  7. Miscellaneous

    دارد . زبان مدلسازي يكپارچه ، ساختارهايي را بـراي مدلسـازي مولفـ هـا ه ي معمـاري ، واسـط هـاي آنهـا و استقرارشان بر روي كامپيوترهاي ميزبان فراهم مي .كند با استفاده از نمودارهاي مختلف زبان مدلسازي يكپارچه ي م توان نرمافزار را در سطوح مختلفـي از انتـزاع و با نگرش هاي م تفاوتي توصيفنمود با . اينكه براي اين نمودارها تعريف رسمي ارائه نگرديده اسـت ؛ امـا آنهـا انعطافپذير و براي استفاده و نگهداري، ساده و مناسباند . زبان مدلسازي يكپارچه معمولا بصورت يك معماري فرام دل چهار لاي اي ه تعريف مي شـود كـ ايـ ه ن چهـار ،لايه سه استراتژي براي مدلسازي معماري نرمافزار فراهم ميكند [ :]29 -1 استفاده ”از is as ”موجود در زبان مدلسازي يكپارچه كه سادهترين استراتژي است و از ها علامتگذاري ي موجود در زبان مدلسازي يكپارچه براي توصيف معماري نرمافزار استفاده ك مي . ند مزيت استراتژي اين اسـت كه كاربران زبان مدلسازي يكپارچه ، مدلهاي معماري را به راحتي درك ميكنند و به آساني قابـل دسـتكاري است و مشكل آن اين است كه هيچ امكاني بـراي نمـايش صـريح روابـط بـين سـاختارهاي موجـود زبـان مدلسازي يكپارچه و مفاهيم معماري وجود ندارد و اين روابط بايستي بطور ضمني توسط معمـار نـرم افـزار حفظ شود . -2 محدودنمودن فرامدل زبان مدلسازي يكپارچه با استفاده از مكانيز ها م ي توسع اي ه از پيش تعريفشـده در زبان مدلسازي يكپارچه . در اين استراتژي با محدودنمودن زبان مدلسـازي يكپارچـه مـي تـوان سـاختارهاي جديدي را به نمودارها اضافه نمود تا معماري نرمافزار و ويژگيهاي جديد در توسعه نرمافزار د نشان اده .شود مزيت اين روش ، نمايش صريح و اعمال محدودي ها ت ي معماري است ؛ بنابراين يك معماري توصيفشده با اين روش با كمك ابزارهاي استاندارد زبان مدلسازي يكپارچه هنوز قابل دستكاري است و بوسـيله كـاربران آن نيز ق ابل فهم است و ايراد آن اين است كه فضاي مدلسازي به سـختي بطـور كامـل و صـحيح مشـخص مي .شود -3 توسعه فرامدل زبان مدلسازي يكپارچه هب گون كه اي ه مستقيماً مفاهيم مورد نيـاز در معمـاري را پشـتيباني كند. در اين استراتژي ، زبان مدلسازي يكپارچه به منظور پشتيباني از نيازهاي معماري نرمافزار با فرامدل زبان مدلسازي يكپارچه بطور افزايشي تطبيق پيدا مي كند. قابليت افزايش ي فرام دل بـه طـور رسـمي توانـائي هـاي جديد مدلسازي را با زبان مدلسازي يكپارچه تركيب مي كند. مزيت اين روش توانايي كسب مشخصـ هـا ه ي مطلوب انواع زبانهاي توصيف معماري و پشتيباني طبيعي از معماري نرمافزار است و ايراد آن مطابق نبـودن آن با زبان مدلسازي يكپارچه استاندارد و در نتيجه ابزارهاي پشتيبان آن است
  8. Miscellaneous

    زبان توصيف معماري CHAM ]3[ و 3 [ ] 27 است امر. جع [28 و ] 41 توصيف كاملي از بعضي از ايـن مـدلها انجام داده است. در ادامه، هر يك از اين ها علامتگذاري بطور مختصر توضيح داده م ي .شود آتاماتا 2-3-1- با استفاده از ماشين خودكار م يتوان رابطه رياضي بامعني براي يك سيستم بدسـت آورد كـه بـ ه كمـك آن ، همكاري و همزماني زيرسيست ها م مدل م يگردد. همچنين اين رابطه يك رابطه تركيبي است ؛ زيرا سيسـتم را بعنوان مجموع اي ه ازحالا ت، مدل ميكند و رفتار سيستم را بوسيله گذارهاي بين حالات ، توصيف مـ يكنـد . در يك تعريف رسمي، ماشين خودكار ، شامل مجموعه نامحدودي از حالات ( Q ،(مجموع هاي ازسـمبولهاي ورودي (∑) و يك تابع Q × ∑ → Q ∂ : است كه گذار بين حالات را نشان يم دهد. Q ،شامل يـك حالـت خاصQ ∈q0 و مجموع هاي از حالات نهاييQ ⊂ F است [ . ]22 براي ماشين خودكار م يتوان يك گراف گذار 4 حالات رسم نمود كـه گـره هـا در ايـن گـراف ، حـالات و كمانهـاي برچسـب دار آن ، گـذارهاي آتاماتـا را يم نشان دهند . 5 انواع مختلف آتاماتا عبارتند از: آتاماتاي قطعي ، آتاماتاي غيرقطعي 6 7 و آتاماتاي تصادفي . در آتاماتاي قطعي، تابع گذار ، قطعي است و گذار بين حالات بطور قطعي تعيين م يشود، اما در آتاماتاي غيرقطعي، تابع گـذار ، قطعي نيست و از يك حالت داده شده به همراه سمبولهاي ورودي م شابه م يتوان به چندين حالـت رسـيد و در آتاماتاي تصادفي كه يك نوع آتاماتاي غيرقطعي است، حالت بعدي سيستم بوسيله يـك مقـدار احتمـالي مشخص م ي .شود -2-3-2 زبان مدلسازي يكپارچه زبان مدلسازي يكپارچه يك زبان شبه رسمي و استاندارد براي توصيف آسان معماري نرمافزار است كه گروه 8 مديريت شي آن را معرفي كرد [ .]21 ايـن زبـان ، مجموعـه قدرتمنـدي از عناصـر مدلسـازي، نمودارهـا و ساختارهاي از پيشتعريفشده ، براي توصيف ويژگيهاي ساختاري و رفتاري معماري نرمافزار معرفي نموده است و ابزارهاي مناسبي از آن پشتيباني مي كنند. اما اصول تعريف شده در آن نسبت به آتاماتا دقـت كمتـري
  9. Miscellaneous

    ترتيب نيازهاي وظيفه مندي مي توانند با خطر كمتري در فازهـاي ب عـدي در سيسـتم لحـ اظ شـوند . مـدلهاي مختلفي براي نمايش يك معماري قابل اجرا وجود دارد . از جمله اين مدلها مي تـوان بـه شـبكه هـاي پتـري، شبكههاي صف، مدلهاي شبيه سازي، جبر فرآيندي و غيره اشاره كرد . همچنـين بعضـي از زبانهـاي توصـيف معماري ميتوانند يك معماري قابل اجرا را به نمايش بگذارند . استفاده از اين مدلها در سطح معماري، ارزيابي بسياري از نيازهاي غيروظيفهمندي را توسط معمار امكانپذير ميكند. زيرا معمار با نگاشت توصيفات معماري بعنوان اولين محصول طراحي به اين مـدلهاي اجرايـي ، بـه راحتي ارزيابي را انجام ميدهد. همچنين اين مدل را ميتوان با گرفتن برخي از نيازهاي كاربران اجرا نمود و در تحليل كيفيت هاي بلادرنگ سيستم و همچنين نياز هاي كاربران بكار بـرد . مـدل هـاي اجرايـي معمـاري ، مولفههاي نرم فزار، واسط بين مولفه ها، مورد كاربريها ، گروهبندي مولفههـا و سـاختار توسـعه را مشـخص ميكند اس. تفاده از اين مدل هاي اجرايي به پيش بيني خصوصـيات بهينـه در پيكربنـدي هـاي متفـاوت كمـك زيادي مي .كند با مروري بر كارهاي انجام شده، مشاهده مي شود كه محققان در محيط هاي علمي و مراكز صـنعتي بـه دنبـال زبانهاي توصيفي براي معماري هستند. از جملة ايـن زبـان هـا مـي تـوان از ARTek ، Caps، MetaH، Rapide ،UniCon و Wright نام برد . با بررسي اين زبان هاي توصيفي ، مشاهده مي شود كه همگي اين زبان ها فقـط بـر روي خصوصيات اتصال مولفه ها، مانند نوع و سبك اتصال ها، تكيه دارند. از آنجاييكه معماري نرمافـزار بـه عنوان يك واسط بين تمامي صاحبان سـهام مـي باشـد، در سيسـتم هـاي پيچيـده نيـاز اسـت كـه عـلاوه بـر خصوصيات ساختاري و عملياتي مولفهها، رفتار مولفههاي اصلي در كل سيستم نيز مشخص گردد . در بين زبان هاي توصيفي كه براي معماري نرم افزار ارائه گرديده، برخي از آنهـا قابليـت اجـراي معمـاري را فراهم مي كنند. آنچه كه در اكثر اين زبان ها مشاهده مي گردد استفاده از مدل هاي شبكه هاي پتري بعنوان مدل قابل اجرا ميباشد . -3-2 مدلهاي توصيف كننده معماري نرمافزار مهندسين نرمافزار براي توصيف جنب ها ه ي ايستا و پوياي معماري يك سيستم نرمافزاري از مدلهاي مختلفـي استفاده م يكنند. بخش ايستاي سيستم ، توصيفكننده مولف ها ه ي نرمافزاري و ارتباط ميان آنها است و بخـش پوياي آن نشاندهنده رفتار زمان اجراي سيستم است ب. راي توصيف ساختار و رفتـار سيسـتم از شـيوه هـاي 1 مدلسازي و علامتگذاريها ي مختلفي ميتوان استفادهنمود كه برخي از آنها زبان مدلسـازي ي كپارچـه 21[ ، ] 2 آتاماتا [ ]22 ، جبر فرآيند [ي ]23 ، شبك ها ه ي پتري [ ]24 ، نمودار ترتيب پيغام 1[ ] 25 ، نقشه مورد كاربري 26[
  10. Miscellaneous

    مدل اجرايي در سطح تحليل و طراحي در بين فعاليتهاي تحقيقاتي انجام شده در زمينه مهندسي نرمافزار، تلاش براي رسيدن به يك مدل اجرايي در طول فاز تحليل و طراحي سيست ها م از اهميت ويژ اي ه برخوردار است . رسيدن به نيازهـاي كيفيتـي سيسـتم، مطالعه رفتار پوياي سيستم، تعامل با كاربران سيستم و بهينه كردن سيستم را مي توان از جمله انگيز ها ه ي ايـن تلاشها دانست. ايجاد اين مدلها براي يك سيستم به تحليلگر و طراح اين توانايي را م يدهد كه بتواند تحليل و طراحي را قبل از رسيدن به مرحله پياده سازي، بررسي و ارزيابي كند و با توجه به بازخوردهايي كه از اين اجرا كسب م ينمايد؛ سيستم را به سمت واقعي خو د سوق دهد. همچنين اشكالزدايي تحليـل و طراحـي بـا دنبالنمودن اين مدلهاي اجرايي امكانپذير است . 1 از مدلها مي توان براي ارزيابي خطر در مرحله تح ليل استفاده كرد . معمولاً براي ارزيابي خطر در سيست ،هـا م ط بقهبندي نيازهاي عملياتي براساس پيچيدگي 2 و سختي 3 ( هزين يها ه ي كه بر اثر تحليل اشتباه بوجود م يآيـد ) صورت مي گيرد. همچنين در سيست ها م يي مثل شبك ها ه و تراك ن شهاي الكترونيكي ا نم 4 كه مسـائل امنيتـي و تحليل و طراحي دقيق در آنها مهم است، تحليلگران و طراحان ايـن سيسـت هـا م از مـدلهاي قابـل اجـرا در فازهاي آغازين سيستم استفاده مينمايند . -2-2-2 ايجاد مدل اجرايي در سطح معماري معماري در فرآيند توليد نرم افزار جايگاه بسيار مهمي دارد، و معمار به عنوان كسي كه با كليه صاحبا نسـهام در ارتباط است فرد بسيار تاثيرگذار در اين فرآيند مي باشد. از طرفي طراحي يك معماري مناسـب بـه دليـل مبهم و موردي بودن خصوصيات معماري ، كار بسيار دشواري است كه با داشتن يك مدل اجرايـي در سـطح معماري، بسياري از مراحل معماري را م يتوان با دقت بالا يي انجام داد ؛ زيرا مـدل اجرا يـ ي در ايـن سـطح ، اشتباهات را كم، فهم نيازها را راحتتر، تحليل و ارزيابي سيستم را بهتر و ارائه معماري را سادهتر م ي .كند مدلهاي اجرايي معماري از روي مولفه هاي عملياتي سيستم، كارها، پيغام ها، رويداد ها، زمانبندي و مكـانيزم انتقال پيغام ها استخرا ج مي گردند. اين مدل ها قابليت بررسي تعامل مولفه ها، چگـونگي تخصـيص كارهـا بـه مولفهها، كنترل كارها و خصوصيات زماني و مكاني سيستم را به معماري مي دهنـد . مـدل اجرايـي معمـاري نرمافزار يك پياده سازي از سيستم محسوب مي شود كـه غالبـاً در آن ويژگيهـا يي نمـايش داده مـي شـود كـه دربرگيرنده نيازهاي غيروظيفه مندي است. معماري قابل اجـرا در مراحـل آغـازين توسـعه نـرم افـزار ايجـاد ميشود تا بتواند خطرهاي مربوط به "كارايي"، "توان عملياتي "، "قابليت اطمينان " ... و را كاهش دهد به.
  11. Miscellaneous

    پيوسته از كيفيت اين سيستمها ، اطمينان حاصل .شود -4 تغييرات و ارزيابي اين سيستمها، مديريت شود . در واقع با مدلسازي نرمافزار، توسعه دهنده ي م ، تواند نرمافزار را قبل از اضافه نمودن منابع اضافي طراحي كند و به مرحله قبل از طراحي، يعني نيازها برگردد و از درست ساختهشدن سيستم، اطمينان حاصل .كند همچنين توسعه تكراري كه براي مدلها درنظرگرفته شده ، باعث م يشود كه تغييـرات سـريعتر و متنـاوب انجـام شـود 14[. ] مدلها، با نمايش قابل اجرا از مشخص ها ه ي معماري ، رفتار زمان اجراي سيستم را نشان مي دهند كه با استفاده از اين رفتارها مي توان بسياري از صفات كيفيتي بخصوص "كارايي" و "قابليت اطمينـان " را ار زيـابي كـرد . مدل اجرايي معماري نرمافزار، يك پيادهسازي از سيستم محسوب ميشود كه غالباً در آن ويژگيهايي نمـايش داده ميشود كه دربرگيرنده نيازهاي غيروظيفهمندي هستند . مدلهاي مختلفي براي نمايش يك معمـاري قابـل اجرا وجود دارد . از جمل اي ه ن مدلها مي توان به شبك يها ه پتري، شبك ها ه ي صف، مدلهاي شـبيه سـازي، جبـر فرآيندي و غيره اشارهكرد. همچنين بعضي از زبانهاي توصيف معماري ميتوانند يك معماري قابل اجرا را به نمايش بگذارند . 1 مرحله بعدي در سير مدلسازي و فرآيند توسعه ، معماري نهرا مدل است. تمركز معماري مـدل رانـه بـر روي تعريف مدلها در سطوح انتزاعي مختلف و تعريف تبديلات بين اين سطوح است . امروز اي ه جاد مد ها ل ي اجرايي در سطوح مختلف مهندسي نرمافزار مورد توجه قرار گرفته است . اين مدلهاي اجرايي براي اهداف مختلفي در سيست ها م استفاده ميشوند و سيستم را به سمت بهينه شدن سوق مـ يدهنـد . داشتن اين مدلهاي اجرايي در فازهاي آغازين اين امكان را فراهم كرده كه رفتار پوياي سيسـتم را در شـرايط مختلف ارزيابي ك ند و مشكلات موجود نيز از بين برود . بدسـت آوردن نيازهـاي واقعـي كـاربران، نيازهـاي بلادرنگ در سيستم و شرايط مناسب براي بهينه كردن سيستم از جمله مسائلي است كـه بـا اسـتفاده از ايـن مدلهاي اجرايي بدست م يآيد. براي ايجاد مدل اجرايي، يمـ معمولاً از ابزارهاي مدلسازي اسـتفاده گـردد كـه بعضي از آنها شبك ها ه ي پتري، شبك ها ه ي صف، روشهاي شبيهسازي و .. . است [ -15[. 20 مدلهاي اجرايي را م يتوان در فازهاي تحليل و طراحي داشت. از طرفي معماري در فرآيند توليـد نـرم افـزار ، جايگاه بسيار مهمي دا رد و معمار بعنوان كسي كه با كليه صاحبان سهام در ارتباط است ، فرد بسيار تأثيرگذار در اين فرآيند محسوب مي شود. از اينرو م يتوان مدل اجرايي را در سطح معماري نيز اجرا كرد. در بخشهاي بعدي مدلهاي اجرايي در سطح تحليل و طراحي و در سطح معماري بررسي ميگرد
  12. Miscellaneous

    استفاده در روشهاي فرآيندگرا با علامتگذاريها ي استفاده شده براي توصيف نيازهاي غيروظيف همنـد مشـكل است. به همين منظور براي رفع موانع فوق و ارزيابي نيازهاي غيروظيفهمندي و با توجه به نياز جامعـه بـه توسـعه اف نرم زارهاي بسيار بزرگ و صرف هزينه بسيار زياد بـراي توسـعه آن هـا ، بايسـتي قبـل از مراحـل طراحـي و پيادهسازي، ويژگي هاي مورد نياز طراحان و مشتر يان سيستم را بررسي كرد. بنـابراين لازم اسـت در مرحلـه توسعه معماري نرمافزار، مدلي ارائه داد كه با كمك آن بتوان ويژگيهاي مورد ن يـاز سيسـتم يعنـي نيازهـاي غيروظ يفهمندي را ارزيابي .كرد -2-2 مدلسازي و نقش آن در ارزيابي نيازهاي غيروظ يفهمندي سيست ها م ي نرمافزاري روزبه روز پيچيده تر ميشوند و اغلب بايستي كنار سيسـت هـا م ي ديگـر مـورد اسـتفاده قرارگيرند. بعنوان مثال يك اتومبيل ب ه كامپيوترها، منر افزارهـاي وابسـته بـ راي كنتـرل موتـور، سيسـت هـا م ي ارتباطي و . .. مجهز شده است . از طرفي بسياري از سيست ها م ي نرمافزاري در سـلامت انسـانها نقـش مهمـي دارند و بايستي با دقت بيشتري توسعه يابند . پس توسعهدهندگان ، به درك بهتر آنچه يم سازند ، نيازمندند. به همين دليل سالهاي متمادي است كه تحليلگران، مهندس ان و دانشمندان ب راي ايجاد اين سيست ها م ي پيچيـده از مدلها استفاده م يكنند. اين مدلها م يتوانند ملموس (مثل اتومبيل يا خانه) يا غيرملموس (مثـل نمودارهـاي مدارهاي الكتريكي يا شبيه سازي يك فروشگاه ) باشند. مدلسازي نرمافزار، ايجاد و تغيير آن را به سـادگي و با هزينه كمتري امكان پذير مي نمايد ي . ك مدل، نمايش تقريبي از ويژگ يهاي يك سيستم واقعي اسـت و بـا استفاده از آن مي توان سيستمهايي را ارزيابي كرد كـه قبـل از پيـاده سـازي سيسـتم ، سـاخت آنهـا بـدون در نظرگرفت ن طراحي و يا يك خروجي اوليه از آن ا ها ز نظر تكنيكي و اقتصادي ، امكان پذير نيست . در نتيجه بـا مدلسازي، مي توان ب ر ناسازگاريهاي اطلاعاتي موجود ميان مدلهاي مختلف از طريق كـم كـردن فاصـله زيـاد معنايي بين نيازهاي سطح بالا و محصولات سطح پائين معماري غلبه كرد [12 .[ خروجيهاي مدلسازي با ا نعكا س بعضي مشخص ات صفات كيفيتـي ، بـه معمـاران و طراحـان سيسـت هـا م ي پيچيده، قدرت نمايش بصري كل سيستم را م .دنده ي ضمن اينكه امكان ارزيابي و بررسي دقيق آنهـا را قبـل از ساخت واقعي آنها فراهم م ندنك ي [ .]13 البته باي د توجه داشت كه مدلسازي سيست ها م ي پيچيده ، به تحويل به موقع سيستم به بازار خللي وارد نكند. در همين راستا شركت IBM به منظور توسعه نرمافزار چهار راهكار ارائه داده است[14 :[ -1 سيستمها بصورت تكراري توسعهيابند . -2 در توسع اي ه ن سيستمها بر معماري تمركز
  13. Miscellaneous

    نيازهاي غيروظيفه مندي در محصول نهايي مورد توجه قرار ميگيرند. در اين روش، نيازهاي وظيفهمنـدي در محصول، اندازهگيري مي شود و محصول، مورد استفاده قرار . رديگ مي سپس صفات كيفيتي نـرم افـزار بـا هـم مقايسه ميشو .ند اغلب روشهاي پيشنهادشده از نوع محصول گراست و بر تعريف ييها علامتگذاري متمركزند كـه بـراي ب يـان نيازهاي غيروظيفهمندي محصول نهايي استفاده مي. دنشو علامتگذاري ،ها مبتني بر سيست هـا م ي منطقـي مثـل 1 منطق مرتبه اول ]7 ، ]منطق زماني 2 ]8 ]و منطق گزار ها ه 3 ] 9 ]هستند و نيازهاي غيروظيفهمندي را به شـكل گزار ها ه يي بيان مي كنند. ظرو شهاي ديگري ب راي توصيف نيازهاي غيروظيفهمندي [در ]10 معرفي شد كـه از يك علامتگذاري خاصي به نام Nofun استفاده مينمايـد در. روشـهاي فرآينـد گرا از Framework NFR [ ] 11 استفاده يم شود كه براي تجزيه فرآيندها و نمايش نيازهاي غير وظيفهمنـدي از يـك علامتگـذاري گرافيكـي استفاده مي .كند مشكل اين ر و ،شها مستقل بود ن آنها، اسـتفاده از علامتگـذاريهـا ي مخصـوص آن روش و تركيب نشدن آن با مراحل ديگر توسعه نرمافزار است. همچنين دانش ناچيز توسعهدهندگان و معمار نرمافزار موجب مي شود علامتگذاريهاي مبتني بر سيستمهاي منطقي به راحتي براي آنان قابل استفاده نباشد به . عـلاوه بعضي از اين روشها ، يكپارچهنمودن ارزيابي نيازهاي غيروظيفهمندي را درسطح توسـعه نـرم افزارهـا خيلـي ضعيف و بيشتر آن را در انتهاي توسعه انجام مي. دنده نهايتاً اينكـه يكپارچـه نمـودن علامتگـذاري هاي مـورد
  14. Miscellaneous

    رفتاري سيست م است . ضمن اينكه معماري نرمافزار بعنوان اولين محصول طراحي ، خروجي هاي مناسبي ارائه ميدهد ك ه با استفاده از آن ي م ها توان رفتار قابل ارزيابي سيستم يعني نيازهاي غير وظيفـه منـدي مثـل امنيـت، قابليت اطمينان، قابليت استفاده، قابليت تغيير، ايستايي و كارايي را سنج .يد بنابراين معمـاري ، تصـمي ماتي از طراحي را نشان مي دهد كه تغيير آنها به سا دگي انجام نمي شود و تاثير بس زايي بر كيفيت نهايي سيسـت هـا م ي نرمافزاري دارند، در نتيجه به دقت و توجه بيشتري نيازمندند 3 ] و ].5 نيازهاي غيروظيفهمندي به دلايل زير به ندرت در طي توسعه نرمافـزار بخصـوص در مراحـل اوليـه فرآينـد توسعه مورد توجه قرار ميگيرند :]6] -1 اين نيازها در سطح بالايي از انتزاع قرار دارند و بصورت غيررسمي بيان ميشوند . -2 پيچيده هستند . -3 در نظرگرفتن آنها در طي فرآيند توسعه مشكل است . -4 ارزيابي آنها در محصول نهايي آسان نيست و به وضوح نميتوان ارضاي يك نياز غيروظيفهمندي خاص را بوسيله محصول درستيابي نمود . -5 اغلب آنها مثل دردسترس پذيري و كارايي با يكديگر برخورد دارند و در رقابت با يكديگر .ند جدول -2 1 ،تعامل اين نيازها را نشان مي دهد [192 [ . همانطور كه اين جـدول نشـان مـي دهـ د، دو نيـاز "كـارايي " و "قابليت اطمينان " كه در اين پايان نامه مدنظر است در تعامل مثبت با يكديگر هستند و افزايش كـارايي يـك مولفه يا ارتباط بين آنها باعث افزايش قابليت اطمينان آنها ميگردد و بالعكس . -6 جدانمودن آنها از نيازهاي وظيفهمندي به سادگي انجام نميگيرد . با توجه بـه افـزايش تقاضـا ي كـاربرد سيسـتمهاي دبلا رنـگ، چندرسـانه اي و تحمـل پـذير خطـا ن، يازهـاي غيروظيفهمندي در اين نوع سيستمها نقش حياتي بازي ميكنند و بعنوان يـك نـوع نيـاز طبيعـي محسـوب ميشوند كه بايستي به فرآيند توسعه اضافه شود . دليل ديگر اهميت ارزيـابي ايـن نيازهـا در سـطح توسـعه نرمافزار بخصوص معماري نرم افزار، اين است كه تعامل ميان نيازهاي وظ يفهمندي و نيازهاي غيروظيفهمندي در اغلب حالات بسيار قوي است و نيازهاي غيروظيفه مندي نتيجه تصميمات طراحي اخذشده براي ارضـاي نيازهاي وظيفه مندي محسوب مي شوند. سرانجام اينكه نيازهاي غيروظيفه مندي، قدرت پيش بينـي بعضـي از صفات كيفيتي محصول نهايي را با اطمينان و قابليت بيشتر به ما ميدهد . 1 با استفاده از دو روش فرآيندگرا 2 و محصولگرا مي توان مسـائل مربـوط بـه نيازهـاي غيروظيفـه منـدي را صريحاً در سطح توسعه نرم افزار نشان داد 6 .[ ]روش فرآيندگرا، نيازهاي غيروظيفهمندي را در كنار نيازهـاي وظيفهمندي به صورت عناصر مؤثر در فرآيند توسعه نـرم افـزار در نظـر مـي گيـرد . در روش محصـول گـرا،
  15. Miscellaneous

    فصل دوم بررسي روشهاي توصيف معماري نرمافزار و مدلهاي ارزيابي قابليت اطمينان و كارايي توسعه روشهاي مبتني بر مدل به منظور ارزيابي سيست ها م و شبك ها ه ي كامپيوتري قدمت بسياري دارد. كاربرد درست اين مدلها ميتوان د نگرشهاي مناسبي براي ارزيابي نيازهاي غيروظيفهمنـدي بخصـوص "كـارايي " و "قابليت اطمينان" فراهم .كند هدف اين فصل ، مروري بر اهميت مدلسازي در ارزيابي نيازهاي غيروظيفهمندي و انـواع علامتگـذاري هـا ي مورد استفاده براي مدلسازي نرمافزار به منظور ارزيابي اين نيازها بخصوص "كارايي" و "قابليـت اطمينـان " است. ارزيابي اين صفات در سطح معماري نرم افزار به دليل پائين بودن سطح دانـش معمـار نـرم افـزار در زمينـه ارزيـابي آنهـا قابـل انجـام نيسـت؛ زيـرا معمـار نـرمافـزار بـراي توصـيف معمـاري نـرمافزارهـا از علامتگذاريها ي خاصي استفاده مي كند كه قابل استفاده براي خبرگـان ارزيـابي كـارايي و قابليـت اطمينـان نيست . علامتگذاريها ي نرمافزار ،ي بر ساختار و رفتار سيستم تاكيد دا رند، درحاليكه تاكيد علامتگذاريها ي مورد استفاده براي مدلهاي كارايي و قابليت اطمينان، بر پارامترهايي به منظـور ارزيـابي ايـن صـفات اسـت . بنابراين، بايستي حل راه ي پيدا نمود كه فاصل اي ه جاد شد ه بين طراحان نـرم افـزار و خبرگـان ارزيـابي نيازهـاي غيروظيفهمندي را پرنمايد . يكي از راهحلها استفاده از ابزارها و ها علامتگذاري ي مدلسازي نرمافزار به همـراه قابلي ها ت ي اضافه شده به آنها است كه ميتواند نقش مهمي در پرنمودن اين فاصل اي ه جاد شده ايفا نمايد . در اي ن فصل ، علامتگذاريها ي موجود براي توصـيف معمـاري و علامتگـذاريهاي موجـود بـراي ارزيـابي كارايي و قابليت اطمينان در سطح معماري نرمافزار رگ بررسي مي دد و نهايتاً به دنبال اين بررسي، نتيج هگيري ميشود كه كداميك از اين علامتگذاريها براي استفاده در فرآيند توسعه معماري نرمافزار مناسبتر است . -1-2 معماري نرمافزار و نقش آن در ارزيابي نيازهاي غيروظيفهمندي با افزايش پيچيدگي، حجم، تعداد كاربران، كاربرد و ميزان سرمايه گذاري براي توسعه سيستمهاي نرمافزاري، توسعه آنها بر مبناي اصول و متدولوژيهايي كه ضمن كاهش هزينه هاي سرما يه گذاري، كليه ويژگيهاي مورد نياز توسعهدهندگان و كاربران اين سيست ها م را برآورده كند، ضروري است . پيچيدگي سيستمهاي نرمافـزار ي از نوع ذاتي است و عواملي همچون پيچيدگي حوزه مسـئله، پيچيـدگي فرآينـد توليـد، انعطـاف پـذيربودن ، غيراستانداردبودن آن و مشكل بودن رفتار سيست يها م 1 ]پيچيده، پديدآورنده آن هستند و .]2 از طرفي پيچيدگي را نم يتوان از بين برد بلكه بايستي با استفاده از روشهايي آن را كنتـرل نمـود و همچنـين بررسي ويژگي هاي سيستم قبل از مرحله طراحي و پياده سازي هزينه و زمان كمتري را صرف مي كند، پـس بهترين زمان براي سنجش رفتار قابل ارزيابي سيستم موقعي است كه معماري نرمافزار آن سيستم، ايجاد شده است 4 ،3[. ] 5و معماري نرمافزار در سطح بالاتري از طراحي قـرار دارد و نشـان دهنـده وجـه سـاخت اري
  16. Miscellaneous

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

    نمودارها اضافه كند و بطور خودكار به مدل رسمي كه درك آنها براي معمـار بسـيار راحـت اسـت، تبـديل نمايد . - ارائه چارچوبي براي يكپارچهنمودن فرآيند توسعه نرم افزار و ارزيابي نيازهاي غيروظيفه مندي. ساختار اين چارچوب بگونه اي است كه ارتباط بين عناصر توصيف كننده معماري و مدل اجرايي را بطور كامل مشخص ميكند تا بازخورد نتايج به توصيفات معماري به راحتي صورت گيرد . -ارائه مثالهاي مختلف كه صحت الگوريتمها و چارچوب پيشنهادي را بررسي كند . همچنين نشان دهـد كـه چگونه با آنها ميتوان به اهداف موردنظر در اين پاياننامه رسيد . -4-1 ساختار پاياننامه ساختار اين پاياننامه در فصلهاي بعدي بدين شرح است : در فصل دوم ، علامتگذاريهاي اصلي براي توصيف معماري نرم افزار و علامتگذاريهاي مورد استفاده براي توصيف مدل كارايي و قابليت اطمينان بازنگري مي شود. هدف از اين بررسي ، انتخاب علامتگذاري مناسـب براي توصيف معماري و مدل كارايي و قابليت اطمينان است . در فصل سوم ، روشهاي مبتني بر مدل مختلفي كه تاكنون براي ارزيابي كارايي، قابليت اطمينان و تركيـب آنها استفاده شده است را بازنگري مي كند. سپس دستهبندي و مقايسهاي بين آنها انجام ميدهد. همچنين ايـن مدلها با مدل پيشنهادي در اين تحقيق مقايسه مي گردند و مزيت مدل ارائه شده در اين پايان نامـه نسـبت بـه مدلهاي ديگر بيان ميگردد . در فصل چهارم ، ابتدا معماري يك سيستم نرم افـزاري مبتنـي بـر مولفـه بـا نمودارهـاي زبـان مدلسـازي يكپارچه توصيف مي شود. سپس با توجه به علامتگذاري مورد استفاده براي توصيف معماري و با توجـه بـه مدل كارايي و قابليت اطمينان انتخابي، توص يفات معماري به مدل اجرايي موردنظر يعنـي شـبكه هـاي پتـري تبديل مي شوند. در اين فصل ، هنـوز اطلاعـات كـارايي و قابليـت اطمينـان بـه توصـيفات معمـاري اضـافه نشدهاست به. علاوه در اين فصل با يك مثال ساده، كاربرد الگوريتم پيشنهادي نشان داده شدهاست . در فصل پنجم ، ابتدا نقش هر يك از نمودارهاي توصـيف كننـده معمـاري در ارزيـابي كـارايي و قابليـت 1 اطمينان بررسي مي شود. سپس اطلاعات مربوط به نيازهاي كارايي و قابليت اطمينان در قالب كليشـه هـا بـه اين توصيفات اض افه مي شود و سپس به شبكه هاي پتري رنگي تصادفي تبـديل مـي شـود . ايـن اطلاعـات از 2 نمايههاي عملياتي حاصل مي شود كه در اين فصل مرور مي شوند. روش پيشنهادي ، قوانيني را بـراي توليـد
  18. Miscellaneous

    اطمينان" اين نوع سيستم ها، ابتدا هر يك از مولفه ها بطور جداگانه ارزيابي مي شوند، سپس بـا تركيـب آنها كل سيستم ارزيابي ميشود. هدف اين تحقيق، بدست آوردن نگرش عميق در رابطه با تحليل "كارايي" و "قابليت اطمينان " مبتني بـر مدل معماري نرم افزار است . اين تحليل، تحت عنوان تحليل "كارايي" و "قابليت اطمينـان " پيشـگويانه نـام برده مي شود و به معمار در طي مرحله تعريف معماري نرم افزار كمك مي كند زيرا بروز خطا در اين مرحلـه مانع از موفقيت كل پروژه ميگردد . همچنين در اين تحقيق، روشي براي تركيب ارزيابي كارايي و قابليت اطمينـان در سـطح معمـاري نرمافزار ارائه مي گردد. در اين سطح همانطور كه مشخص است، هـيچ گونـه اطلاعـاتي در رابطـه بـا بسـتر سختافزاري كه سيستم نهايي بر روي آن اجرا خواهد شد، وجود ندارد . در اين تحقيق ، ابتدا ايـن نكـات را درنظرگرفته و سپس با تبديل خودكار علامتگذاريهاي نرم افزاري به مدل نهايي به پرنمودن فاصله ميان معمار و تحليلگران نيازهاي غيروظيفه مندي كمك مي نمايد، ضمن ا ينكه بدون تاخير در فرآيند توسـعه نـرم افـزار ، ارزيابي دو صفت "كارايي" و "قابليت اطمينان" را در سطح معماري نرمافزار انجام ميدهد . بعلاوه، در اين تحقيق، چارچوبي معرفي مي گردد كه هـدف آن يكپارچـه نمـودن تحليـل نيازيهـاي "قابليت اطمينان" در سطح معماري نرمافـزار اسـت . در ايـن چـارچوب و غيروظ يفهمندي "كارايي" "قابليت اطمينان " و تعامل بين آنها نيز مشخص مـي شـود . همچنـين و روابط بين نيازهاي "كارايي" نشان داده مي شود كه يك روش كارايي و قابليت اطمينان نرم افزار كه ارزيابي را كاملا خودكار انجـام مي ش دهد چگونه به اين چارچوب ملحق مي .ود با اين توصيفات مسير اصلي كار در اين تحقيق در فلوچارت 1-1 ، نشان داده شدهاست . بطور كلي اهداف اين تحقيق به بخشهاي زير تقسيم مي :شود - بررسي انواع روشهاي موجود براي ارزيابي نيازهاي كارايي و قابليت اطمينان در سطح معماري و مقايسـه آنها با روش پيشنهادي - انتخ اب علامتگذاري مناسب براي توصيف معماري و انتخاب يك مدل اجرايـي مناسـب بـراي تحليـل و ارزيابي معماري - الحاق اطلاعات لازم مربوط به نيازهاي "كارايي" و "قابليت اطمينان" به توصيفات فوق - نگاشت توصيفات معماري به مدل اجرايي موردنظر . در ايـن نگاشـت ، كليـه نمودارهـاي توصـيف كننـده معماري به مدل رسمي مبتني بر شبكه هاي پتري رنگي تصادفي تبديل مي شـوند، بگونـه ايكـه معمـار بسـيار راحت ميتواند اطلاعات مورد نظر خود در رابطه با نيازهاي "كارايي" و "قابليت اطمينان" را به اين
  19. Miscellaneous

    مقدار و نوع مهره هاي موجود در اين شبكه ها، اضافهنمودن عبارات به كمانها براي محاسبه نياز موردنظر و يا با اضافه نمودن مكان و يا گذار اضافي به شبكه مي توان آنهـا را ارزيـابي نمـود . لـذا بـا ايـن شـبكه هـا يـك چارچوب عمومي براي ارزيابي معماري نرمافزار از نظر نيازهاي غيروظيفهمندي مختلف فراهم مي .شود در اين تحقيق، روشي براي ارزيابي بهينه ارائه نمي شود بلكه سعي خواهدشـد بهتـرين مشخصـات روشهاي موجود براي ارزيابي دو صفت كارايي و قابليت اطمينان در سطوح ديگر انتخـا ب شـود و در ارزيابي معماري استفاده گردد تا فاصله دانشي بين معمار و تحليل گـر كـاهش يابـد . از طـرف ديگـر چگونگي جمع آوري اطلاعات مربوط به نيازهاي كارايي و قابليت اطمينان و چگونگي ارزيابي و تحليل نتايج آن نيز بررسي نميشود . "قابليـت اطمينـان " بـه آن و در اين تحقيق ، توصيفات معماري كه اطلاعات مربوط به "كارايي" اضافه شده است، طي الگوريتمي به مدل اجرايي نگاشـت مـي يابنـد كـه توصـيف معمـاري و الحـاق "قابليت اطمينان" به آن توسط معمار صورت ميگيرد و نگاشـت و اطلاعات مربوط به نياز "كارايي" آنها به يك مدل رسمي نيز بطور خودكار يا توسط معمار انجام مي شود. تمركز اصلي ايـن تحقيـق بـر روي تعريف يك سطح مياني بين مدل توصيفات معماري و مدل اجرايي است كه براي رسيدن بـه آن، روش جديدي ارائه شد ه و يك مدل رسمي و اجرايي از معماري استخراج مي گردد. همچنـين روشـي جديد براي ارزيابي قابليت اطمينان در سطح معما ري نرم افزار و مبتني بر شبكه پتري ارائه مي شـود . در روشهاي موجود براي ارزيابي قابليت اطمينان نرم افزار، تحليل گر با ايجاد يك مـدل اجرايـي از نـرم افـزار و بدون دخالت معمار و طراح، ارزيابي را انجام مي دهد كـه ايـن مسـئله باعـث ايجـاد فاصـله بـين معمـار و تحليلگر و طولا نيشدن زمان توسعه مي گردد. همچنين تحليل گر بايستي پياده سازي از نـرم افـزار در اختيـار 1 داشته باشد تا ارزيابي را بطور كامل و دقيق انجام دهد . لذا در اين تحقيق، ما معتقديم كه تحليل پيشـگويانه در فازهاي اوليه فرآيند توسعه نـرم افـزار ، نقـش كليـدي در پرنمـودن محـدوديتها ي "كـارايي " و "قابليـت اطمينان" دارد . همچنين دامنه كاربرد اين تحقيق ، در رابطه با سيستمهاي نرم افزار مبتني بر مولفه است و "كـارايي " "قابليت اطمينان " نرم افزار با ارزيابي هر يك از مولفه ها و تركيب آنها با يكديگر، ارزيابي مي شـود . و در سيستم هاي مبتني بر مولفه، م ولفهها وظايف خود را مستقل از يكديگر انجام مي دهند و براي انجام بعضي "قابليـت و از وظايف خود مولفه هاي ديگر را فراخواني مي كنند. لـذا در ارزيـابي نيازهـاي "كـارايي
  20. Miscellaneous

    اطمينان" و .. را كاهش دهد به. اين ترتيب نيازهاي غيروظيفهمندي مي توانند با خطر كمتري در فازهاي بعدي در سيستم لح اظ شوند . مدلهاي رسمي مختلفي براي نمايش يك معماري قابل اجرا وجود دارد . از جمله اين مدلها مي توان به شبكه هاي پتري، شبكههاي صف، مدلهاي شـبيه سـازي، جبر فرآينـد ي و غيـره اشـاره كـرد . همچنين بعضي از زبانهاي توصيف معماري ميتوانند يك معماري قابل اجرا را به نمايش بگذارند . داشتن مدلهاي اجرايي در فازهاي آغازين ، امكان ارزيابي رفتار پوياي سيستم در شرايط مختلـف و رفـع مشكلات موجود آن را فراهم مي كند. بدستآوردن نيازهاي واقعي كاربران، نيازهاي بلادرنـگ در سيسـتم و شرايط مناسب براي بهينه كردن سيستم از جمله مسائلي است كه با استفاده از اين مـدلهاي اجرايـي بدسـت آيد مي . براي ايجاد مدل اجرايي معمولاً از ابزارهاي مدلسازي استفاده مي گردد كه بعضي از آنهـا شـبكه هـاي پتري، شبكههاي صف، روشهاي شبيه سازي و .. . است [ -15[. 20 -3-1 انگيزه اين تحقيق اخيرا روشهاي زيادي براي ارزيابي و تحليل نيازهاي غيروظيفه مندي بخصـوص "كـارايي " و تـا حـدي "قابليت اطمينان " سيستم هاي نرم افزاري در سطح معماري نرم افزار ارائه شده است [18 و ]31 ، اما كاربرد هر يك از اين روشها در مثالهاي كاربردي پيچيده و واقعي ، محدود است و هيچ كدام از روشها بطور كامل ايـن نيازها را ارزيابي نمي كنند و يا اينكه تنها متمركز بر روي يك نياز هستند و ارزيابي نيـاز "قابليـت اطمينـان " چندان مورد توجه قرار نگرفته است. هم چنين فاصله موجود بين معمار و تحليلگر نيازها بطور كامل از بـين نرفتهاست. از طرفي در اغلب روشها ، مدل اجرايي حاصل براي ارزيابي كارايي، مدل شبكه صف است و در صورت نياز به استفاده از آن در ارزيابي نيازهاي ديگر بايستي مـدلي جديـد از سيسـتم بهمـراه فاكتورهـاي احتمالاتي جديد درنظـر گرفتـه شـود . در واقـع بـا اسـتفاده از ايـن مـدل اجرايـي ، بـراي ارزيـابي نيازهـاي غيروظيفهمندي مختلف، چندين مدل براي يك معماري به ازاي هر نياز بايستي ايجاد شود . شبكههاي صـف در دامنه هاي كاربردي خاص و براي بعضي از نيازهاي غيروظيفهمندي خوب كـار مـي كننـد . هم چنـين ايـن شبكهها براي فرآيندهاي موازي و سيستم هاي توزيعي مثل سيسـتم هـاي سـرويس دهنـده / سـرويس گيرنـده مناسب نيستند [ . ]15 "قابليت اطمينان" نرمافزار را و تفاوت اين تحقيق با مطالعات ديگر اين است كه دو نياز "كارايي" در سطح معماري نرم افزار ارزيابي نموده و اطلاعا ت اين دو صفت توسط معمار يا طراح به توصـيفات معماري اضافه مي شود. ضمن اينكه مدل اجرايي حاصل براي ارزيا بي اين دو صفت مدل شـبكه پتـري است، به اين علت كه شبكه هاي پتري براي ارزيابي كارايي و قابليت اطمينان با هم استفاده مي شوند و براي ارزيابي آنها توسط شبكه هاي پت ري برخلاف شبكه هاي صف تنها به يك مدل اجرايي نياز اسـت و بـا تغیرر
  21. Miscellaneous

    در اين سناريو، علامتگذاريها و ابزارهاي مدلسازي نرم افزار، نقش اساسي در پرنمودن اين فاصـله بـازي ميكنند و زمان ارزيابي كارايي و قابليت اطمينان را نيز كاهش ميدهند. از طرفي با افزايش پيچيدگي و اندازه سيستمهاي نرمافزاري توزيعي، نياز به داشتن ابزارهايي به منظور حمايت از تصـميمات طراحـي و مـديريت كارايي و قابليت اطمينان سيستم نرمافزاري در زمان اجرا، ضروري است . -2-1 اهميت مدلسازي اف نرم زار سالهاي متمادي است كه تحليلگران، مهندس ان و دانشمندان ب راي ايجـاد سيسـتم هـاي پيچيـده از مـدلها استفاده مي كنند. اين مدلها مي توانند ملموس (مثل اتومبيل يا خانه ) يا غيرملموس (مثل نمودارهاي مـدارهاي الكتريكي يا شبيه سازي يك فروشگاه ) باشند ي. ك مدل، نمايش تقريبي از ويژگي هاي يـك سيسـتم واقعـي است و با استفاده از آن مي توان سيستمهايي را ارزيابي كرد كه قبل از پياده سازي سيستم ، ساخت آنها بـدون در نظرگرفت ن طراحي و يا يك خروجي اوليه از آن ها از نظر تكنيكي و اقتصادي، امكان پذير نيست . در نتيجه با مدلسازي، مي توان ب ر ناسازگا ريهاي اطلاعاتي موجود ميان مدلهاي مختلف از طريق كم كردن فاصـله زيـاد معنايي بين نيازهاي سطح بالا و محصولات سطح پائين معماري غلبه كرد [12 .[ خروجيهاي مدلسازي با انعكاس بعضي مشخصات صفات كيفيتي به معمـاران و طراحـان سيسـتم هـا ي پيچيده، قدرت نمايش بصري كل سيستم را دنده مي ، زيرا گرامر و معناي 2 تعريف شده در آنها رسمي اسـت . همچنين امكان ارزيابي و بررسي دقيق آنها را با كمك ابزارهاي تحليل مناسب ، قبل از سـاخت واقعـي آنهـا فراهم مي كند [ .]13 البته باي د ها توجه داشت كه مدلسازي سيستم ي پيچيده به تحويل بـه موقـع سيسـتم بـه بازار خللي وارد نكند . در واقع با مدلسازي نرم افزار، توسعه دهنده، مي تواند نرم افزار را قبل از اختصاص منابع اضـافي ، طراحـي نموده و به مرحله قبل از طراحي ، يعني تعيين نيازمنديها برگردد و از درست ساختهشـد ن سيسـتم، اطمينـان حاصل كند . همچنين توسعه تكراري كه براي مدلها در نظرگ رفتهشده، باعث مي شود كه تغييـرات سـريعتر و متناوب انجام شود [ .]14 مدلها، با نمايش قابل اجرا از مشخصههاي معماري ، رفتار زمان اجراي سيستم را نشان مـي دهنـد كـه بـا استفاده از اين رفتارها مي توان بسياري از صفات كيفيتي بخصوص "كارايي" و "قابليت اطمينان" را ارزيـابي ك .رد از سوي ديگر معماري نرم افزار قابل اجرا ، يك پياده سازي از سيستم محسوب مي شود كـه غالبـاً در آن ويژگيهايي نمايش داده ميشود كه دربرگيرنده نيازهاي غيروظيفه مندي هستند . معماري قابل اجرا در مراحـل آغازين توسعه نرمافزار ايجاد مي شود تا بتواند خطرهاي مربوط بـه "كـارايي "، "تـوان عمليـاتي "، "قابليـت
  22. Miscellaneous

    روشهاي مختلف ارزيابي معماري نرمافزار دو نوع تحليل در سطح معماري نرمافزار انجام ميشود [ :]51 -1 تحليل كم ي 1 : در اين گروه هر نوع اندازه گيري كم ي كه از معماري نرم افزار ميتواند اسـتخراج شـود، 2 قرار مي گيرد. مثل تخمين زمان گذرانده براي اجراي هر ماژول و يا ميزان سودمندي حافظه يا شـبكه ، ايـن اندازهگيريها با استخراج يك مدل تحليل ، از معماري نرم افزار بدست مي آيند؛ اما خيلي دقيق نيسـتند ؛ زيـرا مبتني بر توضيحات انتزاعي سطح بالا از سيستم هستند . -2 تحليل كيفي 3 : در اين گروه خواصي از سيستم نرم افزاري مثل امنيت و آزادي از بنبست قرار ميگيرند كه به آساني قابلسنجش و تعيين نيستند . روشهاي دقيق ، قبل از اندازه گيري به پيادهسازي سيستم نياز دارند ؛ كه پيادهسـازي سيسـتم هـا ي پيچيـده ، هزينهبر و زمانگي ر است . بعنوان مثال اگر سيستم با مشكل كارايي مواجه شود، رفـع آن بعـد از پيـاده سـازي مشكل است . بنابراين لازم است اندازه گيري كارايي در سطح معمـاري و قبـل از پيـاده سـازي انجـام شـود . بدينصورت كه مدلي از معماري نرم افزار ساخته شـود و سـپس مـورد ارزيـابي قـرار گيـرد . ايـن ارزيـابي ، بصورت ت حليلي، شبيه سازي يا تركيب ي از اين دو انجام مي شود . بيشتر تحقيقات ارزيابي كـارايي و قابليـت اطمينان مبتني بر مدلهاي تحليلي در سطح طراحي و معماري نرم افزار است . اين مدلها تنها با در نظرگـرفتن محدوديتها يي بر طراحي و معماري نرم افزار اصلي حاصل مي شوند اما. در حالتهايي كه نميتوان جنبههاي بحراني را به راحتي و بطور كارا در معماري نرم افزار نشان داد؛ براي ارزيابي معمـاري نـرم افـزار از مـدلهاي شبيهسازي استفاده مي .شود علاوهبراين ، تحقيقات در مورد ارزيابي قابليت اطمينان مبتني بر مـدل، هنـوز در ابتداي راه خود است، به گونه اي كه روشهاي محدودي به منظور ارزيابي قابليت اطمينان مبتني بر مدل انجـام شدهاست . در گروه هاي تحقيقاتي مختلفي، مسئله ارزيابي نيازهاي كارايي و قابليت اطمينان و ارزيابي همزمـان ايـن دو نياز در سطوح اوليه توسعه نرم افزار بررسي شدهاست و روشهاي زيادي نيز پيشنهاد گرديـد هاسـت [18 و 131 [ . اگرچه از بين اين روشها، تعدادي از آنها بطور موفق استفاده شـده انـد ، امـ ا هنـوز فاصـله زيـادي بـا يكپارچهنمودن فرآيند ارزيابي اين دو نياز در سطح فرآيند توسعه نرم افزار بخصوص معماري نرم افزار وجود دارد. در اين تحقيق، از تكنيكهاي تحليل كارايي و قابليت اطمينان مبتني بر مدل، براي اين يكپارچـه سـازي استفاده مي شود. روشهاي مبتني بر مدل ، اين يكپارچگي را ساده مي نمايند، زيرا مدلها، ضمن امكان پيشرفت در فرآيند توسعه، در طي چرخه زندگي نرمافزار، پالايش نيز ميشوند
  23. Miscellaneous

    از طرفي مراحل اوليه طراحي ، تاثير بسيار زيادي بر روي توسعه نرم افزار و كيفيت محصـول نهـايي دارد . بنابراين تصميمات غيردقيق در فازهاي اوليه ممكن است منجر به كارهاي مجـدد وسـيعي گـردد . روشـهاي 1 معمولي توسعه نرم افزار، تنها متمركز بر روي بررسي صحت نرمافزار هستند و به مسائلي همچـون ارزيـابي كارايي و قابليت اطمينان ، در مراحل بعدي توسعه ، توجه مي نمايند. با استفاده از اين روشهـاي توسـعه كـه 2 روشهاي اصلاح در آينده نام دارند، پروژه هايي با اندازه بزرگ توليد ميگردند كه مي تواند نهايتا منجر بـه شكست شوند. بنابراين بايستي به سمت روشهاي جديـد توسـعه حركـت نمـود كـه قـادر باشـيم در حـين مشخصسازي نيازها، فاز معماري و طراحي، عواملي كه سيستم را تحت تاثير قرار ميدهنـد يعنـي نيازهـاي غيروظيفهمندي را نيز شناسايي نمائيم . ارزيابي نيازهاي غيرو ظ يفهمندي در سطوح توسعه نرم افزار حتي در مرحله اي كه اين صفات صريحا بيـان نشدهاند، مهم است . حتي در سيستم هاي نرم افزاري تـوزيعي مبتنـي بـر مولفـه ، نيازهـايي همچـون كـارايي، 3 وابستگي و قابليت نگهداري هستند كه كيفيت محصول نهايي و موفقيت توسعه نرم افزار را تعيين مي كننـد . اين سيستم هاي نرم افزاري مب تني بر مولفه از اجتماع و كنار هم قرارگرفتن مولفه هاي مسـتقل موجـود شـكل گرفته و با يكديگر در تعامل هستند تا سرويس هايي را براي كاربران فراهم كننـد . از طرفـي مسـئله ارزيـابي نيازهاي هر يك از مولفه ها به تنهايي خود يكي از زمينههاي تحقيقات امروز ي است و از سوي ديگـر حتـي اگر فرض بر اين باشد كه يك مولفه به تنهايي از كيفيت مناسبي برخـوردار اسـت، كيفيـت مناسـب تركيـب مولفهها با يكديگر هميشه قابل تضمين نيست . بنابراين لازم است كه در فازهـاي اوليـه توسـعه ، عـلاوه بـر ارزيابي هر يك از مولفهها، چگونگي تعامل آنها با يكديگر و با محيط نيز ارزيابي شود . همانطور كه مشخص است، بـه دليـل فاصـله دانشـي مـابين معمـار نـرم افـزار و تحليـل گـران نيازهـاي غيروظيفهمندي است كه معماران نرمافزار هيچ شناختي نسبت به ارزيابي اين نيازها ندارند. اين فاصله دانشي به دليل درك مشكل مدلهاي رسمي است . زيرا مدلهاي رسمي مبتني بر اصول رياضي هسـتند كـه خوانـدن، درك و تغيير مشخصه هاي آنها را مشكل مي كند. البته كوتاه بودن زمان براي تحويل نرم افزار به بازار نيز ايـن وضعيت را بحراني تر مي .كند لذا بايستي روشي پيدا نمود كه ايـن فاصـله دانشـي را كـاهش دهـد . يكـي از راهحلها براي رفع مشكل اين اس ت كه معمار در فاز معماري يا طراحي نرم افزار بايستي اطلاعات مربوط بـه نيازهاي غيروظيفه مندي را به توصيفات معماري يا طراحي اضـافه كنـد و سـپس ايـن اطلاعـات بـه همـراه مشخصات نرمافزار به مدل اجرايي مربوط به نيازهاي غيروظيفهمندي تبديل شود
  1. نمایش فعالیت های بیشتر