دوشنبه هفتم اردیبهشت 1388
|
پروژه های دانشجویی در www.bitasoft.ir
لیست برنامه های آماده و پروژه های دانشجوئی انجام شده * (جدید) پروژه های سی شارپ (C#) 1- برنامه های نوشته شده به زبان Visual Basic Application (برنامه نویسی اکسس)(موجود) 2- برنامه های نوشته شده به زبان Visual Basic 6 (موجود) 3- پروژه های نرم افزاری به زبان Visual Basic .net , Visual Basic 2005 ( موجود ) 4- پروژه های درس برنامه نویسی سیستمهای تجاری (موجود) 5- پروژه های کارآفرینی ( موجود) 6- پروژه های درس تجزیه و تحلیل سیستمها (موجود) 7- پروژه های درس مستند سازی (موجود) 8- پروژه های برنامه مولتی مدیا بیلدر (Multimedia Builder ) 10- پایان نامه های دانشجویی (موجود) 11- برنامه ها و پروژه های Assembly ( زبان اسمبلی ) 12- پروژه های وب سایت های استاتیک و داینامیک (موجود)
| |
چهارشنبه دوم بهمن 1387
پروژه های دانشجویی
|
اولین و تخصصی ترین مرکز انجام پروژه ها و پایان نامه ها و تحقیقات دانشگاهی | |||||||||||||||
|
پروژه های دانشجویی | |||||||||||||||
چهارشنبه دوم بهمن 1387
ضرورت استخراج جنبه
در شيگرايي، نرمافزار را از بعد وظيفهمندي به اجزاي کوچکتري تقسيم کرده و به بعد غيروظيفهمند به اندازهی بعد وظيفهمند بها داده نميشود. وجود بعد غيروظيفهمند در درون بعد وظيفهمند سبب میگردد تا موارد مرتبط با بعد وظيفهمندي، در قالب کپسولهسازی مستقل پديدار نگردند. درعوض، اجزايي از نرمافزار که مسئول پوشش وظيفهمندي سيستمها هستند پراکنده میشوند.
مفاهيمي که به خواستههای غيروظيفهمند مربوط میشوند، محيط اشيا را تشکيل میدهند. در صورتي که نرمافزار را با شيوهی شيگرايی به اجزاي کوچکتري تقسيم کنيد، مشکلات زير را در آن مشاهده خواهيد کرد:
• درهمريختگي کد برنامه: بدینمعني که يک کلاس، دربرگيرندهی چند مفهوم میباشد. مفاهيم مربوط به خود کلاس و مفاهيم مربوط به خواستههای غيروظيفهمندي که محيط کلاس را تشکيل میدهند. اين امر سبب پيچيدگي شده و نگهداري نرمافزار را مشکل مینمايد.
• پراکندگي مفاهيم در کد برنامه: به دليل آنکه مفاهيم مربوط به خواستههای غيروظيفهمند در قالب واحدهاي کپسولهسازی مجزا ظاهر نميشوند، از اين رو در کلاسهای مختلف پراکنده میگردند. اين پراکندگي سبب کاهش تحملپذيري کلاس در برابر تغييرات اين مفاهيم میشود. همچنين قابليت استفادهی مجدد کلاسها پايين میآيد.
با توجه به مشکلات ياد شده، بهتر است تغييراتي در نرمافزارهايي که قابليت استفادهی مجدد آنها بالا است اعمال گردد. بدينسان، قابليت پيکربندي اجزاي مختلف نرمافزار براي قرار گرفتن در محيطهای مختلف مهيا میگردد. علاوه براين، قابليت استفادهی مجدد به محيط اشيا و خواستههای غيروظيفهمندي نيز داده میشود.
روش جنبهگرا با تقسيمبندي بخشهای مختلف برنامه، پيچيدگي برنامه را کاهش میدهد. در واقع با کاهش پيچيدگي، طراحي، درک و همچنين نگهداري سيستم نرمافزاري آسانتر خواهد شد. علاوه بر اين، برنامهنويسي جنبهگرا باعث توليد محصولاتي با بهرهوري بالا، کيفيت بهتر و اضافه کردن قابليتهای بيشتر میگردد.
مشکل ديگر در برنامههای شیگرا، وجود دغدغه است. دغدغه هدفي مشخص، مفهوم يا يک حوزهی کاري میباشد. يک سيستم نرمافزاري عادي داراي دغدغههای متعددي است. اين دغدغهها از لايهی مرکزي تا لايههای سيستمي یک برنامهی نرمافزاری ادامه دارند. براي نمونه، دغدغهی اصلي يک سيستم پردازش کارت اعتباري، پردازش پرداختها میباشد. اما دغدغههای سيستمي آن، ثبت وقايع، يکپارچه کردن تراکنشها، شناسايي کاربر، امنيت، کارآيي و غيره هستند. بسياري از اين دغدغهها به دغدغههای تداخلي معروف هستند که بر پيادهسازی پيمانههای مختلف برنامه تاثير میگذارند. شيوهی جنبهگرا مکانيزمهايي را در اختيار توسعهدهندگان قرار میدهد تا بتوانند کدهايي که بيانگر دغدغههای متداخل باشد را بنويسند.
در صورت استفاده از شيوههای برنامهنويسي کنوني، دغدغههای تداخلي روي تعداد زيادي از پيمانههای برنامه پخش شده و اثر میگذارند. به همين دليل طراحي و درک سيستم مورد نظر سختتر و همچنين پيادهسازی آن پيچيدهتر خواهد شد. تغيير در چنين سيستمي دشوار است. برنامهنويسي جنبهگرا بهتر از روشهای متداول قبلي، دغدغهها را از پيمانههای سيستم جدا میکند. پس میتوان از تداخل دغدغهها جلوگيري نمود.
میتوان بطور خلاصه چنين نتيجهگيری نمود که هر جنبه، شاخص وظيفهاي خاص از وظايف يک سيستم است. به همين دليل جهت تشخيص وظايف، نياز به استخراج جنبهها از متن برنامههای شيگرا میباشد. استخراج جنبهها و تعيين حدود هر جنبه در داخل کد برنامهها موجب افزايش خوانايي و قابليت توسعه برنامه میگردد. مقولهی استفادهی مجدد معمولاً در قالب عمليات مطرح است و نه کلاسها. لذا، با استخراج و تعيين سرحد جنبهها امکان استفادهی مجدد از کد برنامهها افزايش میيابد.
منبع: G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier and J. Irwin, “Aspect-Oriented Programming”, proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, 1997.
E. Filman, T. Elrad, S. Clarke and M. Aksit, “Aspect-Oriented Software Development”, Addison Wesley Professional, 2004.
J. D. Gradecki and N. Lesiecki, “Mastering AspectJ - Aspect-Oriented Programming in Java”, Wiley Publishing, 2003.
N. Loughran and A. Rashid, “Mining Aspects”, Lancaster University, UK, 2002.
چهارشنبه دوم بهمن 1387
حافظه مجازی
حافظه مجازی يکی ازبخش های متداول در اکثر سيستم های عامل کامپيوترهای شخصی است . سيستم فوق با توجه به مزايای عمده، بسرعت متداول و با استقبال کاربران کامپيوتر مواجه شده است . اکثر کامپيوترها در حال حاضر از حافظه های محدود با ظرفيت 64 ، 128 و يا 256 مگابايت استفاده می نمايند. حافظه موجود در اکثر کامپيوترها یه منظور اجرای چندين برنامه بصورت همزمان توسط کاربر ، پاسخگو نبوده و با کمبود حافظه مواجه خواهيم شد. مثلا" در صورتی که کاربری بطور همزمان ، سيستم عامل ، يک واژه پرداز ، مرورگر وب و يک برنامه برای ارسال نامه الکترونيکی را فعال نمايد ، 32 و يا 64 مگابايت حافظه، ظرفيت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر يک از نرم افزارهای فوق نخواهند بود. يکی از راهکارهای غلبه بر مشکل فوق افزايش و ارتقای حافظه موجود است . با ارتقای حافظه و افزايش آن ممکن است مشکل فوق در محدوده ای ديگر مجددا" بروز نمايد. يکی ديگر از راهکارهای موجود در اين زمينه ، استفاده از حافظه مجازی است . در تکنولوژی حافظه مجازی از حافظه های جانبی ارزان قيمت نظير هارد ديسک استفاده می گردد. در چنين حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته اند ، از حافظه خارج و در محلی خاص بر روی هارد ديسک ذخيره می گردند. بدين ترتيب بخش ی از حافظه اصلی آزاد و زمينه استقرار يک برنامه جديد در حافظه فراهم خواهد شد. عمليات ارسال اطلاعات از حافظه اصلی بر روی هارد ديسک بصورت خودکار انجام می گيرد.
مسئله سرعت
سرعت خواندن و نوشتن اطلاعات بر روی هارد ديسک بمراتب کندتر از حافظه اصلی کامپيوتر است . در صورتی که سيستم مورد نظر دارای عملياتی حجيم در رابطه با حافظه مجازی باشد ، کارآئی سيستم بشدت تحت تاثير قرار خواهد گرفت . در چنين مواردی لازم است که نسبت به افزايش حافظه موجود در سيستم ، اقدام گردد. در مواردی که سيستم عامل مجبور به جابجائی اطلاعات موجود بين حافظه اصلی و حافظه مجازی باشد ( هارد ديسک ) ، باتوجه به تفاوت محسوس سرعت بين آنها ، مدت زمان زيادی صرف عمليات جايگزينی می گردد. در چنين حالتی سرعت سيستم بشدت افت کرده و عملا" در برخی حالات غيرقابل استفاده می گردد. محل نگهداری اطلاعات بر روی هارد ديسک را يک Page file می گويند. در فايل فوق ، صفحات مربوط به حافظه اصلی ذخيره و سيستم عامل در زمان مورد نظر اطلاعات فوق را مجددا" به حافظه اصلی منتقل خواهد کرد. در ماشين هائی که از سيستم عامل ويندوز استفاده می نمايند ، فايل فوق دارای انشعاب swp است .
پيکربندی حافظه مجازی
ويندوز 98 دارای يک برنامه هوشمند برای مديريت حافظه مجازی است . در زمان نصب ويندوز ، پيکربندی و تنظيمات پيش فرض برای مديريت حافظه مجازی انجام خواهد شد. تنظيمات انجام شده در اغلب موارد پاسخگو بوده و نيازی به تغيير آنها وجود نخواهد داشت . در برخی موارد لازم است که پيکربندی مديريت حافظه مجازی بصورت دستی انجام گيرد. برای انجام اين کار در ويندوز 98 ، گزينه System را از طريق Control panel انتخاب و در ادامه گزينه Performance را فعال نمائيد. در بخش Advanced setting ، گزينه Virtual memory را انتخاب نمائيد.
با نمايش پنجره مربوط به Virtual Memory ، گزينه "Let me specify my own virtual memory setting" را انتخاب تا زمينه مشخص نمودن مکان و طرفيت حداقل و حداکثر فايل مربوط به حافظه مجازی فراهم گردد..در فيلد Hard disk محل ذخيره نمودن فايل و درفيلد های ديگر حداقل و حداکثر ظرفيت فايل را بر حسب مگابايت مشخص نمائيد. برای مشخص نمودن حداکثر فضای مورد نياز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعريف اندازه ائی به ميزان دو برابر حافظه اصلی کامپيوتر برای حداکثر ميزان حافظه مجازی توصيه می گردد.
ميزان حافظه موجود هارد ديسک که برای حافظه مجازی در نظر گرفته خواهد شد بسيار حائر اهميت است . در صورتی که فضای فوق بسيار ناچيز انتخاب گردد ، همواره با پيام خطائی مطابق "Out of Memory" ، مواجه خواهيم شد. پيشنهاد می گردد نسبت حافظه مجازی به حافظه اصلی دو به يک باشد. يعنی در صورتی که حافظه اصلی موجود 16 مگابايت باشد ، حداکثر حافظه مجازی را 32 مگابايت در نظر گرفت .
يکی از روش هائی که یه منظور بهبود کارائی حافظه مجاری پيشنهاد شده است ، ( مخصوصا" در موارديکه حجم بالائی از حافظه مجازی مورد نياز باشد ) در نظر گرفتن ظرفيت يکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنين حالتی در زمان راه اندازی کامپيوتر، سيستم عامل تمام فضای مورد نياز را اختصاص و در ادامه نيازی با افزايش آن همزمان با اجرای ساير برنامه ها نخواهد بود. در چنين حالتی کارآئی سيستم بهبود پيدا خواهد کرد .
يکی ديگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فايل مربوط به حافظه مجازی است . در صورتی که سيستم کامپيوتری دارای چندين هارد ديسک فيزيکی باشد ، ( منظور چندين درايو منظقی نيست ) می توان حجم عمليات مربوط به حافظه مجازی را بين هر يک از درايوهای فيزيکی موجود توزيع کرد. روش فوق در موارديکه از حافظه مجازی در مقياس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت .
چهارشنبه دوم بهمن 1387
انواع کابل در شبکه
امروزه از کابل های مختلفی در شبکه ها استفاده می گردد .نوع و سيستم کابل کشی استفاده شده در يک شبکه بسيار حائز اهميت است . در صورتی که قصد داشتن شبکه ای را داريم که دارای حداقل مشکلات باشد و بتواند با استفاده مفيد از پهنای باند به درستی خدمات خود را در اختيار کاربران قرار دهد ، می بايست از يک سيستم کابلينگ مناسب ، استفاده گردد . در زمان طراحی يک شبکه می بايست با رعايت مجموعه قوانين موجود در خصوص سيستم کابلينگ، شبکه ای با حداقل مشکلات را طراحی نمود .با اين که استفاده از شبکه های بدون کابل نيز در ابعاد وسيعی گسترش يافته است ، ولی هنوز بيش از 95 درصد سازمان ها و موسسات از سيستم های شبکه ای مبتنی بر کابل، استفاده می نمايند .
ايده های اوليه
ايده مبادله اطلاعات به صورت ديجيتال ، تفکری جديد در عصر حاضر محسوب می گردد. درسال 1844 فردی با نام "ساموئل مورس" ، يک پيام را از Washington D.C به Baltimore و با استفاده از اختراع جديد خود (تلگراف)، ارسال نمود . با اين که از آن موقع زمانی زيادی گذشته است و ما امروزه شاهد شبکه های کامپيوتری بزرگ و در عين حال پيچيده ای می باشيم ولی می توان ادعا نمود که اصول کار ، همان اصول و مفاهيم گذشته است .
کدهای مورس ، نوع خاصی از سيستم باينری می باشند که از نقطه و خط فاصله با ترکيبات متفاوت به منظور ارائه حروف و اعداد ، استفاده می نمايد . شبکه های مدرن داده از يک و صفر ، استفاده می نمايند . بزگترين تفاوت موجود بين سيستم های مدرن مبادله اطلاعات و سيستم پيشنهادی "مورس " ، سرعت مبادله اطلاعات در آنان است.تلگراف های اواسط قرن 19 ، قادر به ارسال چهار تا پنج نقطه و يا خط فاصله در هر ثانيه بودند ، در حالی که هم اينک کامپيوترها با سرعتی معادل يک گيگابيت در ثانيه با يکديگر ارتباط برقرار می نمايند (ارسال 1،000،000،000 صفر و يا يک در هر ثانيه).
تلگراف و تله تايپ رايتر ، پيشگام مبادله داده می باشند . در طی سی و پنج سال اخير همه چيز با سرعت بالا و غيرقابل تصوری تغيير نموده است. ضرورت ارتباط کامپيوترها با يکديگر و با سرعت بالا ، مهمترين علل پياده سازی تجهيزات شبکه ای سريع ، کابل هائی با مشخصات بالا و سخت افزارهای ارتباطی پيشرفته است .
پياده سازی تکنولوژی های جديد شبکه
اترنت در سال 1970 توسط شرکت زيراکس و در مرکز تحقيقات Palo Alto در کاليفرنيا پياده سازی گرديد . در سال 1979 شرکت های DEC و اينتل با پيوستن به زيراکس ، سيستم اترنت را برای استفاده عموم ، استاندارد نمودند . اولين مشخصه استاندارد در سال 1980 توسط سه شرکت فوق و با نام Ethernet Blue Book ارائه گرديد . ( استاندارد DIX ) .
اترنت يک سيستم ده مگابيت در ثانيه است ( ده ميليون صفر و يا يک در ثانيه) که از يک کابل کواکسيال بزرگ به عنوان ستون فقرات و کابل های کواکسيال کوتاه در فواصل 5 / 2 متر به منظور ايستگاههای کاری استفاده می نمايد . کابل کواکسيالی که به عنوان ستون فقرات استفاده می گردد ، Thick Ethernet و يا 10Basee5 ناميده می شود که در آن 10 به سرعت انتقال اطلاعات در شبکه اشاره داشته ( 10 مگابيت در ثانيه ) و واژه Base نشاندهنده سيستم Base band است . در سيستم فوق ، از تمامی پهنای باند به منظور انتقال اطلاعات استفاده می گردد . در Broad band به منظور استفاده همزمان ، پهنای باند به کانال های متعددی تقسيم می گردد . عدد 5 نيز شکل خلاصه شده ای برای نشان دادن حداکثر طول کابلی است که می توان استفاده نمود ( در اين مورد خاص 500 متر ) .
موسسه IEEE در سال 1983 نسخه رسمی استاندارد اترنت را با نام IEEE 802.3 و در سال 1985 ، نسخه شماره دو را با نام IEEE 802.3a ارائه نمود . اين نسخه با نام Thin Ethernet و يا 10Base2 معروف گرديد. ( حداکثر طول کابل 185 متر می باشد و عدد 2 نشاندهنده اين موضوع است که طول کابل می تواند تا مرز 200 متر نيز برسد )
از سال 1983 تاکنون ، استانداردهای متفاوتی ارائه شده است که يکی از اهداف مهم آنان ، تامين پهنای باند مناسب به منظور انتقال اطلاعات است . ما امروزه شاهد رسيدن به مرز گيگابيت در شبکه های کامپيوتری می باشيم .
کابل های (UTP (Unshielded Twisted Pair
کابل UTP يکی از متداولترين کابل های استفاده شده در شبکه های مخابراتی و کامپيوتری است . از کابل های فوق ، علاوه بر شبکه های کامپيوتری در سيستم های تلفن نيز استفاده می گردد ( CAT1 ). شش نوع کابل UTP متفاوت وجود داشته که می توان با توجه به نوع شبکه و اهداف مورد نظر از آنان استفاده نمود . کابل CAT5 ، متداولترين نوع کابل UTP محسوب می گردد .
مشخصه های کابل UTP
با توجه به مشخصه های کابل های UTP ، امکان استفاده ، نصب و توسعه سريع و آسان آنان ، فراهم می آورد . جدول زير انواع کابل های UTP را نشان می دهد :
موارد استفاده
سرعت انتقال اطلاعات
گروه
سيستم های قديمی تلفن ، ISDN و مودم
حداکثر تا يک مگابيت در ثانيه
CAT1
شبکه های Token Ring
حداکثر تا چهار مگابيت در ثانيه
CAT2
شبکه های Token ring و 10BASE-T
حداکثر تا ده مگابيت در ثانيه
CAT3
شبکه های Token Ring
حداکثر تا شانزده مگابيت در ثانيه
CAT4
اترنت ( ده مگابيت در ثانيه ) ، اترنت سريع ( يکصد مگابيت در ثانيه ) و شبکه های Token Ring ( شانزده مگابيت در ثانيه )
حداکثر تا يکصد مگابيت در ثانيه
CAT5
شبکه های Gigabit Ethernet
حداکثر تا يکهزار مگابيت در ثانيه
CAT5e
شبکه های Gigabit Ethernet
حداکثر تا يکهزار مگابيت در ثانيه
CAT6
توضيحات :
تقسيم بندی هر يک از گروه های فوق بر اساس نوع کابل مسی و Jack انجام شده است .
از کابل های CAT1 ، به دليل عدم حمايت ترافيک مناسب، در شبکه های کامپيوتری استفاده نمی گردد .
از کابل های گروه CAT2, CAT3, CAT4, CAT5 و CAT6 در شبکه ها استفاده می گردد .کابل های فوق ، قادر به حمايت از ترافيک تلفن و شبکه های کامپيوتری می باشند .
از کابل های CAT2 در شبکه های Token Ring استفاده شده و سرعتی بالغ بر 4 مگابيت در ثانيه را ارائه می نمايند .
برای شبکه هائی با سرعت بالا ( يکصد مگا بيت در ثانيه ) از کابل های CAT5 و برای سرعت ده مگابيت در ثانيه از کابل های CAT3 استفاده می گردد.
در کابل های CAT3 ,CAT4 و CAT5 از چهار زوج کابل مسی استفاده شده است . CAT5 نسبت به CAT3 دارای تعداد بيشتری پيچش در هر اينچ می باشد . بنابراين اين نوع از کابل ها سرعت و مسافت بيشتر ی را حمايت می نمايند .
از کابل های CAT3 و CAT4 در شبکه هایToken Ring استفاده می گردد .
حداکثر مسافت در کابل های CAT3 ، يکصد متر است .
حداکثر مسافت در کابل های CAT4 ، دويست متر است .
کابل CAT6 با هدف استفاده در شبکه های اترنت گيگابيت طراحی شده است . در اين رابطه استانداردهائی نيز وجود دارد که امکان انتقال اطلاعات گيگابيت بر روی کابل های CAT5 را فراهم می نمايد( CAT5e ) .کابل های CAT6 مشابه کابل های CAT5 بوده ولی بين 4 زوج کابل آنان از يک جداکننده فيزيکی به منظور کاهش پارازيت های الکترومغناطيسی استفاده شده و سرعتی بالغ بر يکهزار مگابيت در ثانيه را ارائه می نمايند.

