پیشگفتار
پیچیدگیها و تنوع فعالیتها و روابط اقتصادی ،اجتماعی به گونهای است که جهت نیل به هدفهای مورد انتظار، تهیه و اجرای برنامههای جامع توسعه به عنوان چارچوب منطقی فعالیتها، امری اجتناب ناپذیر است. در این برنامهها که به صورت مجموعه به هم پیوستهای از اهداف، ابزارها و سیاستهای اجرائی در قالب یک نظام هدفمند و سازگار تهیه میشود، آمار و اطلاعات از جایگاه ویژهای برخوردار است.
در برنامههای توسعه،شناخت وضعیت موجود بخشها، کمّی کردن اهداف و ابزارها، تعیین
چشمانداز و قابلیتهای اجرایی و همچنین ارزیابی و بررسی عملکرد برنامهها جز براساس اطلاعات آماری امکانپذیر نمیباشد، به طوری که آمیزه مناسب نظام برنامهریزی با نظام اطلاعاتی است که میتواند تأثیری شگرف بر موفقیت برنامه داشته و هدایت شایسته برنامه را در پرتو دانش فنی برنامهریزی و بستر مناسب آماری فراهم سازد.
خلاء نظام اطلاعاتی پویا وفعال پیش از آنکه معطوف به مدیریت سامانه اطلاعاتی باشد ، عمدتا ناشی از نبود اطلاعات بروز در بخش های مختلف است که بالطبع کار جمع آوری اطلاعات را با مشکل و مشقت مواجه می سازد . بنا بر این طراحی نظام اطلاعاتی مبتنی بر شیوه های مکانیزه اگر چه امری لازم است ولی عملا با توجه به موانع دستیابی به اطلاعات دقیق و بروز ، تحقق اهداف مترتب بر نظام اطلاعاتی مشکل خواهد بود. در این خصوص ضروری است که اهمیت بروز سازی و میزان دقت و صحت اطلاعات در قسمتهای مختلف مورد تاکید قرارگیرد . در این راستا تهیه یک بانک جامع اطلاعاتی که تصویر وضعیت اقتصادی(تولید و خرید و فروش و ... )، اجتماعی و فرهنگی(علائق مشتریان و نحوه اثر گذاری در تصمیم گیری و ...) و تحولات به عمل آمده در بخشهای مختلف (میزان رضایتمندی مشتریان و میزان رشد فروش و میزان ضایعات و میزان سود حاصله و ...) را در یک پایگاه داده ای با قابلیت دستیابی و به روز رسانی آسان و طراحی پویا ارائه میکند، از اهمیت بالائی برخوردار است. این سامانه که قرار است با همکاری موسسه یا شرکت رایانه ای واجد شرایط انجام شود، بستر مناسبی برای انجام بهتر فعالیتهای شرکت ارتباط نوین گستر به شمار میرود.
کلیات
اهداف و کلیات
با توجه به لزوم و اهمیت وجود سیستم متمرکزی برای جمع آوری اطلاعات، جلوگیری از پراکندگی داده ها و نیاز روز افزون به رایانه جهت سرعت بخشیدن به محاسبات، جستجو ها، کاهش هزینه ها و اطمینان از صحت اطلاعات، کمبود یک بانک اطلاعاتی ساخت یافته با ویژگیهای فرایندی و نظام مند شامل تمامی اقلام اطلاعاتی منتج از شاخص های خاص تولید و خرید و فروش و اطلاعات مالی ، پرسنلی ، اطلاعات بازار و مشتریان ، فایلهای چندرسانه ای احساس شد که منتج به امکانسنجی مربوطه برای مرتفع کردن نیازهای شرکت ارتباط نوین گستر و مکانیزاسیون روشهای تهیه و تولید و توزیع و بازاریابی شد .
معرفی برنامه نویسی شی گرا و طراحی بر اساس UML
تاریخچه
دیدگاه شی گرا از اواسط دهه 70 میلادی در مباحث برنامه نویسی کامپیوتر متولد شد.پس از گذشت چند سال و در اوایل دهه 90 به جهت ناکارامدی روش های سنتی در مباحث تحلیل و طراحی سیستم های اطلاعاتی و کامپیوتری و نیز ظهور سیستم هایی که مدل کردن انها به روش های سنتی ناقص بود٬ تحلیل گران و طراحان سیستم را به این فکر انداخت تا از دیدگاه شی گرا علاوه بر برنامه نویسی در زمینه تحلیل وطراحی سیستم نیز استفاده کنند.در طی این سالها متدولوژی های مختلفی توسط دانشمندان شی گرا به دنیا عرضه شده بود از جمله این متدولوزی های شی گرا می توان مواردی نظیر: متدولوژیCoad ٬ متدولوژیBooch ٬ متدولوژیFusion ٬ متدولوژیRumbaugh٬متدولوژیJacobson را بر شمرد.در سال 96 اقایان Rumbaugh٬Booch وJacobson در کنار هم گرد امدند و پایه های زبان مدل سازی یکپارچه معروف به UML را ایجاد کردند. این زبان در سال 97 توسط گروه مدیریت شی در امریکا به عنوان استاندارد پذیرفته شد و شرکت های مختلفی نظیر: Oracle ٬ Microsoft و Hewlett_packard ان را پشتیبانی نمودند.
دیدگاه شی گرا(Object Oriented)
دیدگاه شی گرا در اصل نگرشی جدید به دنیا و سیستم هاست. این دیدگاه سعی دارد تا با نگرش خود به عناصر یک سیستم ٬ کل ان سیستم را مدل سازی کند.دیدگاه شی گرا بر مباحثی نظیر:شی٬ کلاس٬مسئولیت و سناریو استوار است.
شی(Object)
در ساده ترین حالت یک شی نمونه ای است که از روی یک Classایجاد شده است.چون Class نمی تواند عملیاتی باشد ولی نمونه های تولید شده از ان قابلیت اجرایی دارند.در کاملترین حالت یک شی موجودیتی است کاملا مستقل با مسئولیت های شخصی خویش که در لحظه تولید از کلاس مرجع خود بوجود امده است و در پایان مسئولیت های خود می باید از بین برود.طول دوره تولد تا پایان مسئولیتها را طول عمر یک شی می نامیم اگر یک شی از طریق خود یا دیگر اشیاء به طور مستقیم یا غیر مستقیم مورد استفاده قرار نگیرد ان شی متغیر یک شی غیر فعال خواهد بود در صورتی که یک شی از طریق خود یا دیگر اشیاء به طور مستقیم یا غیر مستقیم مورد استفاده قرار بگیرد ان شی متغیر یک شی فعال خواهد بود.
کلاس(Class)
موجودیتی است غیر قابل استفاده مستقیم شامل مجموعه ای از متغیرهابه عنوان صفات کلاس و خطوط برنامه ای از جنس SubRoutine ها یا Functionها به عنوان بخشی از عملکرد ان کلاس. با توجه به اینکه Classها قابلیت استفا ده مستقیم را ندارند از روی هر کلاس میتوان نمونه یا نمونه هایی را تولید کرد.بر همین اساس Classهابه سه گروه زیر تقسیم می شوند:
1)Multitone Class
2)Singletone Class
3)Utility Class
Multitone Class کلاس هایی هستند که می توانند بیش از یک نمونه از خود تولید کنند که هر نمونه از نوع یک کلاس منحصر به فرد باشدSingletone Class کلاس هایی هستند که با ان که می توانند نمونه یا نمونه هایی از خود را تولید کنند اما تنوع تولید نمونه در انها وجود نداشته وکلیه نمونه ها از روی یک کلاس تولید می شوند. Utility Class کلاس هایی هستند که توانایی تولید هیچ نمونه ای از خود را نخواهند داشت . در حالت کلی یک کلاس:
مسئولیت(Responsibility)
یک کلاس و به تبع ان یک نمونه از یک کلاس در طول عمر خود دارای یک سری از مسئولیت هاست مانند ارتباط با اشیاء دیگر و اجرای یک سری ازعملیات و دریافت یکسری از مقادیر برای رسیدن به یک هدف خاص بطور کلی منظور از مسئولیت ها شامل موارد زیر است:
1)صفات(Attribute)
2)عملکردها(Operation)
3)ارتباط ها(Connection)
صفات(Attribute)
خصوصیات مواردی هستند ازجنس متغیرها که بنا به تعریف اگاهی های شی از خودش را نشان می دهد مانند ابعاد یک فرم،وضعیت یک Connectionونام یک فرد یا رنگ یک متن.
خصوصیات یک Class به سه گروه کلی تقسیم می شوند.این تقسیم بندی فضای اعتباراین صفت یا ویژگی را در محدوده Class ها و اشیاءتولید شده از انها بررسی می کند.
گروه اول صفات عمومی(Public): صفاتی هستند که در داخل یک Class وجود داشته،درون یک Class قابلیت خواندن و نوشتن خواهند داشت و در اختیار نمونه هایی که از روی یک کلاس تولید می شوند نیزقرار می گیرند و در داخل اشیاء نیز قابلیت خواندن و نوشتن را خواهندداشت.
گروه دوم صفات خصوصی(Private): صفاتی هستند که درون یک کلاس وجود دارند قابلیت خواندن و نوشتن خواهند داشت اما در اختیار نمونه های تولید شده از کلاس قرار نگرفته و اشیاء دیگر قدرت استفاده از این صفات را نخواهند داشت.
گروه سوم صفات محافظت شده(Protected):صفاتی هستند که در داخل کلاس و نمونه های تولید شده از کلاس وجود داشته در داخل کلاس به شکل خواندنی و نوشتنی خواهند بود اما درون اشیاء دیگریا به شکل فقط خواندنی یا به شکل فقط نوشتنی ظاهر خواهند شد.
عملکرد(Operation)
عمل٬ عکس العمل یا مجموعه ای از عملیات که یک شی در طول دوره زندگی خود با ان خواهد بود و به عنوان یک متد یا Operation تعریفمی شود.
ارتباط(Connection)
اگاهی داشتن یک شی از سطوح مسئولیت دیگر اشیاء (بعضی از صفات٬ عملکردها یا ارتباطات اشیاء دیگر) را رابطه می نامند.ارتباطات در محیط الزاما دو طرفه نبوده و عموما یک شی با اشیاء دیگر بطور یکطرفه ارتباط برقرار می کند.
انواع ارتباطات در مدل شی گرا
الف)تعمیم(Generalization)
این ارتباط برای پرهیز از تکرار صفات٬ اعمال و ارتباطات بین کلاس ها در یک نمودار به کار می رود. برای این منظور می توان عناصر تکراری را در کلاسی مجزا به عنوان کلاس تعمیم و عناصر غیر مشترک را در خود کلاس ها قرار داد و با برقراری رابطه تعمیم بین هر یک از کلاس ها و کلاس تعمیم کلیه عناصر را از کلاس تعمیم به ارث گرفت.
(تصاویر در فایل اصلی قابل مشاهده است)