ثبت نام | ورود

خوش آمدید: مهمان
خانه | لیست مطالب | ارسال مطلب | فروشگاه الکترونیکی | اتاق چت و گفتگو

منو اصلي
اتاق چت گفتگو
کليپ تصويري و نماهنگ
دفتر يادبود
لينک باکس

طنز و سرگرمی
پارس اخبار
نقشه سايت
دنياي خنده و طنز
Sms اس ام اس
اخبار و رسانه ها
آموزش کامپيوتر
IT فن آوري اطلاعات
ورزشي
موفقیت و پیروزی
نجوم و ستاره شناسی
مذهبی
فیلم و سینما
گیاه شناسی
عکس و کاريکاتور
فال و طالع بینی
عشق و دوستی
علمي ، آموزشي
دانلود نرم افزار
آرايش و زيبايي
طنز و سرگرمي
سلامتي و بهداشت
خانه و خانواده
آشپزی
ادبيات
کشاورزي
هنر
کار و تجارت
بیوگرافی
آخرين مطالب ارسال شده
3irani & 3amrikai - داستان 3..
مي دونيد اگه .......
خصوصيات پسرها وقتي عاشق مي ش..
يه پسر خوب(وجود نداره)
Sms & jok
تعبير عاشقانه
نكاتي طلايي در مورد موي آقاي..
آسيب شناسي فک و فاميل
مزيت دختر بودن
داستان مداد
يک داستان عجيب
دختر بودن يعني ...
ويژگي پسرهاي ايراني
پسر بودن يعني چه؟
ياد من باش
bodo bodo sms اس ام اس داغ
sms bahal اس ام اس باحال
انواع مرد ها
24ساعت از زندگي پسرها
داستان عاشقانه
داستان عاشقانه
خصوصيات دخترها وخصوصيت پسرها
سايت هاي همکار







منتخب برای شما
خانه » لیست موضوعات » آموزش کامپيوتر » ملزومات و اصطلاحات کامپيوتري :: نمایش مطلب

مدلسازى (Modeling) چيست؟

  ارسال این مطلب به یک دوست   
 اطلاعات کاربر:
 
 نويسنده مطلب:  مجيد
 محل کاربر: تهران
تمام مطالب کاربر: تمام مطالب توسط مجيد
 
اطلاعات مطلب:
ارسال شده در: شنبه 22 مهر 1385

متن مطلب:
گزارش مطلب در صورت اهانت آمیز بودن
نمایش داده شده: 857 دفعه 
 اندازه متن:  1  2  3  4 

ساسان نيكوكار امروزه يك سازمان نرم‏افزارى موفق سازمانى است كه بتواند بسادگى نرم‏افزارهايى را توليد كند كه نيازهاى كاربران در آن ديده شده باشد.
چنين سازمانى كه بتواند چنين نرم‏افزارى را با روشها و ابزار مؤثر و در زمان مناسب پياده‏سازى كند، مى‏تواند در امر تجارت موفق باشد.
محصول اوليه يك تيم توليد نرم‏افزار، بهينه نمى‏باشد و شعار نمى‏دهد بلكه مهم است كه نرم‏افزارى را پياده‏سازى كرده باشد كه نيازهاى كاربران و تجارت را برآورده سازد.
بقيه موارد حالت ثانويه به حساب مى‏آيند.
نكته مهمى در اين شعار وجود دارد.
متأسفانه بسيارى از سازمانهاى نرم‏افزارى درگير حالت ثانويه مى‏باشند.
براى پياده‏سازى نرم‏افزارى كه اهداف موردنظر را برآورده سازد، شما بايد كاربران را ملاقات كنيد تا نيازهاى واقعى سيستم شما بدست آيد.
مى‏توان گفت براى اينكه شما در نهايت بتوانيد نرم‏افزارى با كيفيت بالا به وجود آوريد، بايد داراى افراد و ابزارى مناسب به همراه هدف مشخص و واضحى باشيد.
مدل كردن، قسمت مركزى تمامى فعاليتهايى است كه پياده‏سازان نرم‏افزارى را به سمت توليد يك محصول مناسب راهنمايى مى‏كند.
ما سيستم‏ها را مدل مى‏كنيم براى اينكه رفتارها و ساختارهايى را كه در سيستم خود مى‏خواهيم بصورت كتبى داشته باشيم، ما مدل مى‏كنيم تا بتوانيم معمارى سيستم خود را كنترل كنيم و بتوانيم سيستمى را كه در حال ساختن آن مى‏باشيم بهتر درك كنيم، امكان Reuse را در سيستم داشته باشيم و همچنين ريسكهاى پروژه را مديريت كنيم. بسيارى از سازمانهاى نرم‏افزارى شروع به انجام كارهاى بزرگ مى‏كنند، ولى مشكل اصلى اين است كه آنها همانند ساختن لانه براى پرنده‏ها عمل مى‏كنند (براى ساختن لانه پرنده مى‏توان با تعدادى تخته و ميخ و بدون نياز به نقشه اقدام به ساخت لانه كرد). اگر شما واقعاً مى‏خواهيد كه نرم‏افزارى را بدون هدف و در كمترين زمان ممكن توليد كنيد مشكلات اين كار فقط نوشتن خود برنامه مى‏باشد، ولى در واقع هدف اصلى ايجاد يك نرم‏افزار صحيح مى‏باشد و پياده‏سازى يك نرم‏افزار كارا وابسته است بر ابزار، فعاليتها و معمارى كه آن نرم‏افزارى استفاده مى‏كند.
بسيارى مواقع پروژه‏ها بصورت كوچك شروع مى‏شوند ولى پس از مدتى به پروژه‏هاى بزرگ تبديل مى‏شوند، بخاطر آنكه آنها موفقيت كارى خودشان را در اين راه قربانى مى‏كنند.
در پروژه‏هاى كوچك (ساختن لانه پرنده) صدمات وارده كم است ولى در پروژه‏هاى بزرگ (ساختن خانه مسكونى) نتيجه‏اش بسيار زيانبار خواهد بود.
عناصر زيادى در موفقيت يك پروژه نقش دارد كه يكى از آنها كه در همه رعايت مى‏شود، مدلسازى است. ما مدل مى‏كنيم تا كاربران تصويرى ازمحصول نهايى را مشاهده كنند، ما حتى مدل مى‏كنيم تا ريسكهايى هايى را كه بر سرراه پروژه قرار دارد پيدا كنيم. پس مى‏توان گفت كه مدلسازى در اصل يك كار تكنيكى است. مدلسازى چيست؟ يك مدل ساده شده هستى است كه وجود دارد.
در اصل مدل يك نقشه از سيستم را فراهم مى‏كند.
مدلها ممكن است دربرگيرنده جزئيات يك برنامه باشند.
پس به طور كلى مى‏توان گفت كه يك مدل خوب، مدلى است كه تمام عناصر درگير در پروژه و روابط بين آنها و نحوه اثرگذارى آنها را مشخص كند.
هر سيستمى ممكن است توسط چندين مدل شرح داده شود و در هر مدلى يك نقشه شماتيكى وجود دارد كه بر تشريح سيستم مى‏پردازد.
پس با اين همه چرا ما مدل مى‏كنيم؟ ما مدل مى‏كنيم تا كه سيستمى را كه مى‏خواهيم پياده‏سازى كنيم بهتر درك كنيم‏ از مدلسازى به چهار نتيجه مى‏رسيم:
مدلها به ما كمك مى‏كنند كه سيستمى را كه مى‏خواهيم به آن برسيم بهتر تصور كنيم. مدلها به ما اجازه مى‏دهند تا ساختار و رفتار سيستم را مشخص كنيم. مدلها ما را در جهت ساخت صحيح سيستم راهنمايى مى‏كنند (براى ما الگوهايى (Pattern) را ايجاد مى‏كنند كه مى‏توانيم در پروژه‏هاى بعدى خود از آنها استفاده كنيم. اين كار باعث افزايش امكان Reuse در پروژه مى‏شود). مدلها تصميماتى را كه در جهت كاربردى سيستم بايد گرفته شوند مستند مى‏كنند.
ما در اصل مدلها را براى سيستمهاى پيچيده ايجاد مى‏كنيم. زيرا نمى‏توانيم آنها را يكجا تصور كنيم. انسان توانايى درك چيزهاى پيچيده را ندارد و در درك آنها محدوديت دارد.
ولى با مدل سازى در هر نسخه روى يك جزء از سيستم كار مى‏شود، بايد توجه داشت كه مدل‏سازى مى‏تواند روى تخته، كاغذ، كارتهاى CRC و... صورت گيرد.
ولى چيزى كه مهم است مدل كردن سيستمهاى پيچيده مى‏باشد و شكستن آنها به سيستمهاى كوچكتر كه قابل درك بوده و به راحتى قابل پياده‏سازى مى‏باشند.
اصول مدلسازى:
تجربه چهار اصل را براى مدلسازى پيشنهاد مى‏كند:
اول:
انتخاب مدلهايى كه براى ساخت داراى تأثيرات كارآمد و عميقى بر روى اينكه چگونه مى‏توان به يك مشكل حمله كرد و چگونه مى‏توان براى آن راه‏حل پيدا كرد مى‏باشند.
به معنى ديگر مدل خود را خوب انتخاب كنيد.
يك مدل خوب مشكلات موجود در سرراه پياده‏سازى را تصوير مى‏كند و مسيرى را كه راهى مناسبتر از آن پيدا نمى‏كنيد پيشنهاد مى‏دهد، ولى مدلهاى نامناسب شما را به بى‏راهه راهنمايى خواهند كرد.
در توليد نرم‏افزار مدلهايى را كه شما انتخاب مى‏كنيد مى‏توانند تاثير زيادى بر روى ديد شما به مسائل داشته باشند.
اگر شما يك سيستمى را بعنوان پياده‏ساز يك بانك اطلاعاتى درنظر داشته باشيد، به احتمال زياد روى روابط موجوديتى كه رفتارشان همانند triggerها و Store Procedureها مى‏باشد تمركز خواهيد كرد.
اگر شما سيستمى را بعنوان يك آناليست مشاهده كنيد، مدلها را به احتمال زياد از ديد الگوريتم و جريان داده‏هايى كه بين پروسس‏ها در حال حركت مى‏باشند بررسى مى‏كنيد.
پس نتيجه مى‏شود كه هر مدل ديدى به سيستم ما مى‏دهد كه اين ديدها، گوناگون بوده و هزينه و سودهاى خاص خود را دارند.
دوم:
هر مدلى بسته به شرايط بايد از لايه‏هاى گوناگونى بررسى شود.
اين مسئله هم در دنياى واقعى و هم در صنعت نرم‏افزار صادق است. گاهى يك مدل سريع و راحت همانند User Interface مشخص مى‏كند كه ما نيازمند چه مى‏باشيم. اين مسئله در تعيين Platform، شبكه و مسائلى از اين قبيل حائز اهميت مى‏باشد.
بهترين مدلها آنهايى هستند كه اجازه دهند شما جزئيات و وابستگى‏هاى سيستم خود را بشناسيد و متوجه شويد كه به كدام علت به آنها در سيستم خود نيازمند باشيد.
در بسيارى از مدلها يك طراح يا كاربر مى‏خواهد بر روى «چه چيز» متمركز شود و يك پياده‏ساز مى‏خواهد بر روى «چه طور» تمركز كند، هر دوى اينها مى‏خواهند يك سيستم را در لايه‏ها و زمانهاى مختلف تصوير كنند.
سوم:
بهترين مدلها آنهايى هستند كه به واقعيت نزديك و در ارتباط با آن باشند.
مدل مناسب بايد با دنياى واقعى مرتبط باشد و مشخص كند كه در كدام قسمتها داراى ضعف مى‏باشد.
در اصل تمامى مدلها حالت ساده شده‏اى از دنياى واقعى هستند، نكته اصلى در مدل اين است كه جزئيات اصلى و مهم سيستم از قلم انداخته نشده باشد.
در نرم‏افزار، نقطه ضعف در از بين رفتن ارتباط بين مدل آناليز شده و مدلى كه طراحى مى‏شود مى‏باشد.
اين شكاف بين مدلها باعث ايجاد شكافهاى بيشترى در پروژه در زمانهاى مختلف خواهد بود.
چهارم:
هيچ مدلى به تنهايى كارايى كافى ندارد.
هر سيستم بزرگى بهتر است كه داراى خط مشيى باشد كه به سمت يك مجموعه از مدلهاى كوچك با كمترين وابستگى حركت كند.
اگر شما سازنده يك ساختمان باشيد، هيچ نقشه‏اى وجود ندارد كه تمام جزئيات را براى شما مشخص كرده باشد.
در حداقل شرايط شما به چندين نقشه مانند برق ساختمان، طبقات، لوله‏كشى و... نيازمند باشيد.
شايد جمله سؤال برانگيز، وجود كلمه «با كمترين وابستگى» در اصل چهارم مى‏باشد.
اين به معناى داشتن مدلهايى است كه مى‏توانند بطورى مستقل و جداگانه ساخته شده و استفاده شوند.
اما هنوز هم بر همديگر وابستگى دارند.
مثلاً در نقشه ساختمان، نقشه برق ساختمان يك نقشه جداگانه و كامل مى‏باشد كه مى‏تواند پياده‏سازى شود، ولى هنوز بر نقشه بناى ساختمان وابستگى دارد زيرا با تغيير در آن ممكن است نقشه برق نيز دچار تغيير شود.
اين واقعيت در سيستمهاى نرم‏افزارى شى‏ءگرا صادق است. براى درك معمارى چنين سيستمهايى شمانيازمند چندين View بهم مرتبط مى‏باشيد كه شامل موارد زير مى‏باشد.
- Usecase View (نيازمنديهاى سيستم را مشخص كرده و نمايش مى‏دهد). - Design View (پيداكردن مشكلات سيستم و مشخص كردن راه‏حلهاى مربوط به آنها). - Process View (پردازش Threadهاى موجود در سيستم را در قالب توزيع شده مدل مى‏كند). - Development View (پياده‏سازى و اداره كردن درك فيزيكى سيستم را برعهده دارد). - Deployment View (بر روى مهندسى و تكنولوژى گسترش برنامه متمركز مى‏باشد). هر كدام از ديدها ممكن است داراى ساختار گوناگونى باشند ولى درمجموع همه آنها نقشه يك سيستم نرم‏افزارى را نشان مى‏دهند.
البته بايد توجه داشت كه در سيستمهاى گوناگون هر كدام از اين مدلها ممكن است داراى اهميت بيشترى نسبت به ديگر مدلها باشند.
مثلاً در Graphic User interface(GUI) ديدهاى Usecase مهم است. در سيستمهاى Realtime ديد پردازشى مهم است و در برنامه‏هاى تست و Web ديد پياده‏سازى و گسترش برنامه از اهميت بالايى برخوردار است. امروزه يك سازمان نرم‏افزارى موفق سازمانى است كه بتواند بسادگى نرم‏افزارهايى را توليد كند كه نيازهاى كاربران در آن ديده شده باشد.
چنين سازمانى كه بتواند چنين نرم‏افزارى را با روشها و ابزار مؤثر و در زمان مناسب پياده‏سازى كند، مى‏تواند در امر تجارت موفق باشد.
محصول اوليه يك تيم توليد نرم‏افزار، بهينه نمى‏باشد و شعار نمى‏دهد بلكه مهم است كه نرم‏افزارى را پياده‏سازى كرده باشد كه نيازهاى كاربران و تجارت را برآورده سازد.
بقيه موارد حالت ثانويه به حساب مى‏آيند.
نكته مهمى در اين شعار وجود دارد.
متأسفانه بسيارى از سازمانهاى نرم‏افزارى درگير حالت ثانويه مى‏باشند.
براى پياده‏سازى نرم‏افزارى كه اهداف موردنظر را برآورده سازد، شما بايد كاربران را ملاقات كنيد تا نيازهاى واقعى سيستم شما بدست آيد.
مى‏توان گفت براى اينكه شما در نهايت بتوانيد نرم‏افزارى با كيفيت بالا به وجود آوريد، بايد داراى افراد و ابزارى مناسب به همراه هدف مشخص و واضحى باشيد.
مدل كردن، قسمت مركزى تمامى فعاليتهايى است كه پياده‏سازان نرم‏افزارى را به سمت توليد يك محصول مناسب راهنمايى مى‏كند.
ما سيستم‏ها را مدل مى‏كنيم براى اينكه رفتارها و ساختارهايى را كه در سيستم خود مى‏خواهيم بصورت كتبى داشته باشيم، ما مدل مى‏كنيم تا بتوانيم معمارى سيستم خود را كنترل كنيم و بتوانيم سيستمى را كه در حال ساختن آن مى‏باشيم بهتر درك كنيم، امكان Reuse را در سيستم داشته باشيم و همچنين ريسكهاى پروژه را مديريت كنيم. بسيارى از سازمانهاى نرم‏افزارى شروع به انجام كارهاى بزرگ مى‏كنند، ولى مشكل اصلى اين است كه آنها همانند ساختن لانه براى پرنده‏ها عمل مى‏كنند (براى ساختن لانه پرنده مى‏توان با تعدادى تخته و ميخ و بدون نياز به نقشه اقدام به ساخت لانه كرد). اگر شما واقعاً مى‏خواهيد كه نرم‏افزارى را بدون هدف و در كمترين زمان ممكن توليد كنيد مشكلات اين كار فقط نوشتن خود برنامه مى‏باشد، ولى در واقع هدف اصلى ايجاد يك نرم‏افزار صحيح مى‏باشد و پياده‏سازى يك نرم‏افزار كارا وابسته است بر ابزار، فعاليتها و معمارى كه آن نرم‏افزارى استفاده مى‏كند.
بسيارى مواقع پروژه‏ها بصورت كوچك شروع مى‏شوند ولى پس از مدتى به پروژه‏هاى بزرگ تبديل مى‏شوند، بخاطر آنكه آنها موفقيت كارى خودشان را در اين راه قربانى مى‏كنند

↓ تبلیغ های جدید و روز برای شما ↓


 وضعیت: فعال


عضویت دوستان
:: دریافت ایمیل رایگان ::
عکس و کاریکاتور
جوک و اس ام اس
مطالب آموزشی تفریحی

ثبت نام
تبليغات
مطالب روز
بهترين ها
يک داستان عجيب
اختلاف سن مناسب براي عر..
کفير، نوشيدني خوش‌طعم و..
امتحان آئين نامه - طنز
ناگفته هايي درباره شرف ..
کذب محض عشق - طنز عشقي
بادام تلخ در درمان سرما..
ورود چند نفره به مسنجر ..
بيش از 50 نوع از کليد ه..
ساختار دقيقترين توپ فوت..
نکاتي مهم و کليدي براي ..
ديدن مبلغ قبض ميان دوره..
زورگوئي و دروغ گویی
فرشته نجات
دستور زبان اصفهاني
رضا صادقي کیست ؟
شکار لحظه هاي ورزشي
خاطرات مدرسه
نقشه و پروژکتور چراغ قو..
اس ام اس شبهاي قدر و شه..
طالع بيني افراد از روي ..
چند تا لطیفه از غضنفر

تمام مطالب داغ ...
بهترین لینک

 جستجو برای:     فقط با عکس:  
 جستجو در:   جستجو پیشرفته    

همکاری تبلیغاتی | نقشه سایت | شرایط استفاده | تماس با ما |