• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
تعداد مطالب : 642
تعداد نظرات : 140
زمان آخرین مطلب : 3649روز قبل
موبایل

GPRS چيست؟


يک سرويس ارتباطي است که روي خطوط GSM گذاشته شده که شما ميتوانيد بدون استفاده از مودم يا شبکه بي سيم در هر کجا و هر زمان از اينترنت استفاده نماييد.



کاربردهاي GPRS :

- پست الکترونيکي: پست الکترونيکي جايي است که GPRS در آن خودنمايي ميکند.با توجه به ارتباط دائمي با اينترنت و پرداخت به ازاي اطلاعات ورودي/خروجي،شما ميتوانيد به نامه هاي الکترونيکي دوستان و يا همکاران خود در هر زمان با حداقل هزينه و حداکثر سرعت پاسخ دهيد و يا براي کارهاي فوري به ديگران نامه دهيد.

- پيغامهاي لحظه اي:ارتباط دائمي با اينترنت به شما امکان ميدهد تا همواره پيغامهاي فوري خود را که توسط نرم افزارهاي Chat فرستاده ميشوند،در هر لحظه دريافت و به آنها پاسخ دهيد.يعني شما ميتوانيد از AOL Messenger/IRC/ICQ/Yahoo Messenger/MSN Messenger و ... در تمامي مدت روز بهره ببريد.

- MMS:تنها بستري که شما ميتوانيد از امکانات صدا،تصوير و ويدئو در سيستم MMS يا Multimedia Messaging Service-که نسخه پيشرفته تر SMS ميباشد-به طور کامل بهره مند شويد .

- مرور سايت هاي وب:همچون ديگر خدمات،شما توسط GPRS ميتوانيد تقريبا با سرعتي معادل خطوط تلفن معمولي يعني 56 کيلوبيت در ثانيه صفحات مورد علاقه خود را مرور کنيد.

- WAP

- کارهاي گروهي: GPRS به شما امکان ميدهد تا همواره به تقويم کاري و يا اطلاعات اشتراکي همکاران خود دسترسي داشته باشيد.
چهارشنبه 30/8/1386 - 18:46
آموزش و تحقيقات

مناسب ترين روش براي توليد نرم افزارهاي كوچك



در حقيقت ساختن يك نرم افزار فقط نوشتن كدهاي برنامه نيست. رويه ساخت نرم افزارها مراحل متعددي را دربرمي گيرد؛ از جمع آوري نيازهاي كاربران گرفته تا طراحي، نوشتن كد و در آخر امتحان نرم افزار. روش توليد نرم افزارهاي كوچك با نرم افزارهاي بزرگ متفاوت است و طبعاً رويه توليد نرم افزارهاي كوچك نيز متفاوت خواهد بود. البته اين رويه نبايد سنگين و حجيم باشد، بايد مستقيماً به تمامي فعاليت هاي لازم براي توليد نرم افزاري با كيفيت بالا نظارت داشته باشد و از تمامي رويه هاي آسان و متمركز استفاده كند. با استفاده از تكنيك هايي مفيد، از روش هايي مانند XP،Scrum و RUP مي توان رويه اي مناسب براي توليد نرم افزارهاي كوچك به وجود آورد. همچنين مي توان از روش هايPSP و TSP نيز كه براي توليد نرم افزارهاي كوچك مناسب هستند استفاده نمود و به وسيله اين روش ها كيفيت و قابليت هاي نرم افزارها را بالا برد و در حداقل زمان ممكن نرم افزار را تهيه نمود. اين مقاله با بررسي روش هاي جديد و متداول امروزي در توليد نرم افزار، بهترين و مناسب ترين روش توليد نرم افزارهاي كوچك را به شما نشان خواهد داد. گفتني است نوشتار حاضر نتايج تحقيقات من در گروه تحقيقاتي مهندسي نرم افزار دانشگاه ساندرلند انگلستان است و آمار و نتيجه گيري هاي آن براساس مصاحبه هاي انجام شده با چندين شركت كوچك و بزرگ توليد نرم افزار آن كشور است.


فرايند توليد نرم افزار
پيروي از يك رويه منظم توليد نرم افزار به توليدكنندگان نرم افزار كمك مي كند امور مربوط به توليد نرم افزار را منظم و پروژه را در حداقل زمان ممكن و با كارايي بالايي انجام دهند. در حقيقت يك رويه يا Process از مراحل مختلفي تشكيل شده است. اين مراحل فعاليت هاي مربوط به رويه را مشخص مي نمايند و تعيين مي كنند كه اين فعاليت ها بايد چگونه انجام شوند. پيروي از اين مراحل به اعضاي پروژه دريابند ياري مي رساند كه چه كاري را چه موقع و چگونه انجام دهند همچنين اين كار ميان اعضاي گروه نيز هماهنگي به وجود ميآورد. از آن جايي كه منابع موجود و نيازهاي كاربران هر نرم افزار با ديگري تفاوت دارد، فرايند توليد نرم افزارهاي گوناگون نيز متفاوت است.

انجمن IEEE رويه يا فرايند توليد نرم افزار را اين گونه تعريف مي كند: رويه توليد نرم افزار در واقع شامل مراحلي مانند جمعآ وري نيازهاي كاربران ، طراحي سيستم با استفاده از تحليل اين نيازها و نوشتن كدهاي نرم افزار با استفاده از طرح نرم افزار است. همچنين بر اين باور است كه از آن جايي كه كيفيت و بهره وري نيروي كار با كيفيت روند توليد نرم افزار ارتباط مستقيم دارد، طراحي و مديريت رويه توليد نرم افزار از اهميت شاياني برخوردار است.

براي طراحي يك رويه توليد نرم افزار مي توان از روش هاي متفاوتي استفاده نمود و از آن جايي كه هر پروژه نرم افزاري با ديگر پروژه ها متفاوت است، مي توان گفت كه رويه توليد آن پروژه نيز با ديگر پروژه ها تفاوت دارد. در واقع مي توان گفت: انتخاب اين روش ها رابطه مستقيمي با اندازه گروه در پروژه دارد و نرم افزارهاي بزرگ و كوچك نياز به رويه هاي توليد متفاوت دارند.

در ادامه اين مقاله روش هاي توليد نرم افزارها، به خصوص نرم افزارهاي نسبتاً كوچك كه از گروه هاي توليد نرم افزاري كوچك تري استفاده مي كنند، بررسي مي شوند و مورد ارزيابي قرار مي گيرند.

روش SCRUM
در روش هاي قديمي و معمول ساخت نرم افزار، طراحان نرم افزار معمولاً ابتدا فرض مي كنند كه تمامي نيازهاي كاربران سيستم را درك كرده اند. اما هميشه نيازهاي كاربران سيستم در ابتدا مشخص نيست و كاربران ممكن است در همان مراحل ابتدايي، نيازهاي خود را تغيير دهند و اين چيزي است كه برنامه نويسان و طراحان سيستم هميشه از آن شكايت مي كنند و به دنبال راه حلي براي رفع اين موضوع مي گردند. به عنوان مثال مدل قديمي آبشاري (waterfall) را در نظر بگيريد.

اين مدل حاوي مشكلات فراواني است كه به صورت مستقيم به غيرقابل انعطاف بودن اين مدل ارتباط دارد. اين مدل مانند يك جاده يك طرفه مي باشد كه وقتي اتومبيل در آن حركت مي كند، نمي تواند مسير خود را تغيير دهد و در جهت ديگري حركت كند. در ابتداي كار كاربر سيستم ممكن است نظراتي در مورد سيستم داشته باشد ولي نمي تواند ببيند كه سيستم چگونه كار خواهد كرد و در نتيجه ممكن است وقتي كه سيستم آماده شد، از ساختار و كارايي آن راضي نباشد و تقاضاي تغيير در سيستم را بنمايد. در نتيجه اگر بتوانيم كاربر را از ابتدا در جريان ساخت نرم افزار قرار دهيم، ممكن است كه اين مشكل حل شود؛ زيرا مي تواند نظرات خود را در طول مدت ساخت و قبل از اتمام كار اعلام كنند و در نتيجه از نرم افزار تهيه شده راضي باشد.

امروزه يكي از روش هاي توليد نرم افزار كه به خصوص براي پروژه هاي نرم افزاري كوچك مورد استفاده قرار مي گيرد و توسط بسياري از اساتيد و صاحب نظران مورد تأييد قرار گرفته است، روش SCRUM است. با استفاده از اين روش كه روشي به اصطلاح (iterative تكراري يا چرخشي) مي باشد، مي توان نرم افزارهاي كوچك را با كيفيت بالا تهيه نمود. در اين روش كه به روش هوشمند يا Agile نيز مشهور است، مديريت قوي توليد نرم افزار وجود دارد كه به برنامه نويسان اجازه مي دهد با استفاده از آن در پروژه ها به سرعت نرم افزار موردنظر را تهيه نمايند. اسم Scrum در حقيقت از بازي راگبي گرفته شده است (در بازي راگبي Scrum تيمي متشكل از هشت نفر است كه با همكاري بسيار نزديك با يكديگر بازي مي كنند).


در اين روش هر عضو از گروه موظف به درك وظيفه خود در پروژه است و بايد يك هدف مشخص را در تمامي مراحل عملياتي يا فازهاي اجرايي دنبال كند. لازم به ذكر است كه در Scrum هر فاز عملياتي سيستم به Sprint مشهور است.

روش Scrum همانند پروسه هاي داراي مرحله برنامه ريزي مقدماتي يا Initial Planning است. در اين فاز اعضاي تيم بايد يك نقشه مقدماتي و يك معماري سيستم قابل تغيير به وجود آورند. بعد از اين فاز يك سري از Sprintها به صورت مرتب و جزء جزء نرم افزار مورد نظر را به وجود مي آورند. انجام دادن هر Sprint ممكن است از يك تا چهار هفته به طول بينجامد و مجموع اين Sprintها نرم افزار كاملي را به وجود ميآورند.

فهرست تكاليف در هر Sprint به Backlog مشهور است كه تكاليف تيم عملياتي در هر Sprint را مشخص مي كند. اين Backlog در هر Sprint بروز مي شود و هر تكليف براساس اهميتي كه دارد در فهرست تكاليف تعيين اولويت مي گردد. هر فرد در گروه يك كار يا تكليف خاص از اين فهرست را به عهده مي گيرد و موظف مي شود تا شروع Sprint بعدي آن را به اتمام برساند. وقتي كه يك Sprint شروع شد، ديگر انجام هيچ تغييري در تكاليف امكان ندارد و حتي درخواست كننده نرم افزار نيز حق تغيير يا درخواست نياز ديگري در نرم افزار را نخواهد داشت.

البته درخواست كننده مي تواند از قسمتي از نرم افزار كه بايد در هر مرحله توليد شود بكاهد، اما نمي تواند تاريخ تحويل آن قسمت را تغييردهد. شايد بتوان گفت كه اين كار باعث ايجاد نظم در گروه مي شود و تاريخ تحويل نرم افزار به تعويق نخواهد افتاد. علاوه بر اين، در طول هر Sprint گروه موظف است روزانه جلساتي جهت بررسي روند پيشرفت و قابليت هاي نرم افزار داشته باشد كه اين نيز به هماهنگي بيشتر گروه كمك خواهد كرد. در اين جلسات كه معمولاً به صورت روزانه است، سه گروه مي توانند شركت كنند: گروه تهيه كننده نرم افزار، مديريت، و درخواست كنندگان نرم افزار.

در طول اين جلسات مسئول جلسه كه اغلب مدير پروژه است، از تمامي اعضاي تيم سه سؤال مي پرسد:

1- مسئوليت شما (تكاليف) از جلسه قبلي تاكنون چه بوده است و آيا توانسته ايد اين تكاليف را به اتمام برسانيد؟

2- در طول اين دوره به چه مشكلاتي برخورده ايد؟

3- بر طبق فهرست وظايف، مسئوليت شما از حالا تا جلسه بعدي چه خواهد بود؟

مدير Scrum در حقيقت مسئوليت شناسايي تكاليف محوله به اعضا، بررسي روند تكميلي ساخت نرم افزار، بررسي قابليت هاي اعضاي گروه و فعاليت در راستاي كم كردن ريسك در پروژه را داراست.

اما چه تفاوتي بين Scrum و ديگر روش هاي توليد نرم افزار وجود دارد؟ در جواب اين سؤال بايد يادآورشد كه در Scrum هر مرحله يا Sprint قسمتي از نرم افزار را آماده مي كند. در اين روش مي توان پيشرفت در توليد نرم افزار را در هر مرحله به خوبي احساس نمود. علاوه بر اين، گروه مي تواند پس از اتمام هر Sprint تصميم گيري كند كه آيا مي خواهد به كار روي پروژه ادامه دهد يا انجام پروژه مذكور غيرممكن است. روش Scrum وقتي مي تواند بيشتر مفيد باشد كه در ابتداي پروژه نيازهاي كاربران به صورت دقيق مشخص نباشد و يك گروه كوچك مسئول پروژه نرم افزاري باشد.

نتايج تحقيقاتي كه اواخر سال 2005 روي چندين شركت توليدكننده نرم افزار در كشور انگلستان انجام دادم، نشان دهنده اين بود كه شركت هايي كه از Scrum استفاده كرده بودند با حدود چهارصددرصد افزايش در بهره وري كار مواجه بودند. البته اين رقم در گروه هاي نرم افزاري مختلف متفاوت بود و مي توان گفت عوامل انساني از جمله مدير پروژه نقش بسيار مهمي در افزايش يا كاهش راندمان پروژه ها دارند.

شايد اين سؤال در ذهن شما به وجود آيد كه چرا Scrum ممكن است براي توليد نرم افزارهاي كوچك راه حل خوبي باشد؟ در جواب مي توان گفت، از آن جايي كه در تيم هاي كوچك، اعضاي گروه بايد از تمامي مسائل پروژه آگاه باشند و در Scrum تمامي مراحل ساخت توسط تمامي اعضاي گروه قابل مشاهده است. لذا اين روش مي تواند روش مناسبي باشد.

معايب روش Scram
مزاياي استفاده از Scrum بسيار است، اما اين روش چند اشكال نيز دارد. از جمله:

1- Scrum روش جديدي است و با روش هاي مرسوم تفاوت هاي زيادي دارد.

2- برخي از برنامه نويسان حرفه اي ممكن است از تكاليفي كه مدير Scrum به ايشان مي دهد راضي نباشند و بخواهند روش قديمي خود را اجرا نمايند و در صورت اجبار، در روند اجراي پروژه كارشكني كرده و مشكل آفريني كنند.

3- از آنجا كه مدير Scrum هم از نظر كيفي و هم كمي بايد پروژه را مديريت كند، Scrum نياز به مديريت بسيار قدرتمند دارد.

4- Scrum را مي توان به عنوان روش توليد نرم افزار نام برد، اما اين روش بيشتر روش مديريت پروژه هوشمند خوبي است و نمي توان آن را به صورت منفرد استفاده نمود و مي توان گفت براي حصول اطمينان از موفقيت پروژه هاي نرم افزاري (به خصوص در سطح كوچك) بايد اين روش را با روش هاي ديگر ادغام نمود. Scrum را از آن جهت مي توان روش خوبي برشمرد كه روشي تحقيقي براساس تخمين، اولويت بندي، عملكرد گروه و بررسي نتايج است كه اگر به صورت صحيح مورد استفاده قرار گيرد و قبل از استفاده به صورت كامل آموزش داده شود، مي تواند راندمان پروژه هاي نرم افزاري، به خصوص توليد نرم افزارهاي كوچك را به صورت بسيار محسوسي بالا ببرد.

روش XP
اشتباه نكنيد! منظور از روش اكس پي، ويندوزاكس پي نيست. اكس پي مخفف Extreme Programming يا برنامه نويسي سريع مي باشد كه مانند Scrum روشي هوشمند در توليد نرم افزار است. در اكس پي دو برنامه نويس كار را انجام مي دهند و قبل از اتمام برنامه آن را چندين بار امتحان مي كنند. اكس پي در حقيقت روشي از توليد نرم افزار است كه براساس آساني، ارتباط، واكنش و تصميم گيري سريع استوار است. شكل 2 اصول روش اكس پي را نشان مي دهد.

در روش اكس پي اعضاي گروه (كه كاربر سيستم نيز عضوي از آن است) در ابتدا جلسه اي تشكيل مي دهند و اولويت هاي پروژه را مشخص مي كنند. اين گروه ممكن است از چند برنامه نويس، امتحان كننده نرم افزار يا Tester و تحليلگر سيستم تشكيل شود كه با هم از ابتدا تا انتهاي پروژه همكاري مي كنند. معمولاً در اكس پي برنامه نويسان در گروه هاي دوتايي قرار مي گيرند و وظيفه تكميل قسمتي از برنامه را برعهده مي گيرند و هر دوي اين برنامه نويسان در مورد هر كدام از نيازهاي كاربران با هم بحث مي كنند و قدم به قدم كلاس هاي برنامه را آماده مي كنند.

بدين ترتيب كه در ابتدا كلاسي را به صورت ابتدايي و بدون هيچ طراحي اوليه به وجود مي آورند و اين كلاس را امتحان مي كنند. در صورتي كه اين كلاس فاقد هر گونه اشكال باشد، كد اصلي برنامه را بر آن اساس مي نويسند. وقتي يكي از برنامه نويسان مشغول نوشتن قسمتي از برنامه است، برنامه نويس ديگر وظيفه كنترل صحت اين كدها را عهده دار است و در صورت مشاهده هر گونه اشكال، نويسنده كد را مطلع مي كند.

مانند Scrum، در اكس پي نيز اعضاي گروه مي توانند روند تكميلي توليد نرم افزار را مشاهده كنند و در جريان كار قرار گيرند.اكس پي روش مناسبي براي مديريت پروژه هاي كوچك مي باشد كه از دو تا ده برنامه نويس تشكيل شده است. اگر چه اصولاً اكس پي هيچ رويه خاص و مراحل پيوسته اي را مشخص نكرده اما مي توان گفت كه اكس پي داري چهار مرحله اصلي مي باشد:

الف: مرحله زمانبندي پروژه: در اين مرحله اعضاي گروه با توجه به اندازه نرم افزار و كارايي آن برنامه زمانبندي را با هم تنظيم مي كنند.

ب: طراحي ابتدايي

ج: نوشتن كدهاي برنامه

د: امتحان كردن كدهاي نوشته شده

مطابق تحقيقاتي كه توسط نويسنده انجام شد، مشخص گرديد كه اكس پي در پروژه هاي بزرگ با تعداد اعضاي بالاي ده نفر اصلاً موفق نخواهد بود و تنها مي تواند براي پروژه هاي كوچك مفيد باشد. دليل آن را نيز مي توان در طبيعت اين روش دانست؛ زيرا مستندات چنداني براي نرم افزار وجود ندارد و فقط دو نفر يا حداكثر چهار نفر مي توانند در مورد قسمتي از نرم افزار اطلاعاتي داشته باشند. همچنين نرم افزار توليدشده توسط اين روش هيچ گونه طراحي سازمان يافته اي ندارد كه اين موضوع مي تواند براي مراحل پس از نصب يعني تعميرات و نگهداري سيستم باعث بروز مشكلاتي گردد.

از جمله مزاياي اكس پي مي توان به اين نكته اشاره نمود كه از آن جايي كه يك برنامه نويس به صورت مستقيم كدهاي برنامه را كنترل مي كند، مي توان گفت كه كيفيت نرم افزار توليدي بالا مي رود. همچنين مي توان گفت از آن جايي كه دو برنامه نويس با هم كار مي كنند، آموزش كمتري نياز است و در نتيجه هزينه توليد نرم افزار پايين خواهد آمد. اما اين روش مشكلات خاص خود را نيز دارد. مثلاً تصوركنيد اگر در يك گروه، يك برنامه نويس تمايلي براي كار با برنامه نويس ديگري را نداشته باشد يا در يك روز يكي از دو عضو گروه غايب باشد يا ... در نتيجه چون نمي توان با يك برنامه نويس به ادامه كار پرداخت، اتمام پروژه با تأخير مواجه خواهد شد.

طبق نتايج تحقيقات به عمل آمده، وقتي يك برنامه نويس در كدهاي برنامه به دنبال اشكال مي گردد، حداكثر مي تواند ده تا پانزده درصد از اشكالات برنامه را پيدا كند. اما وقتي در روشي مثل اكس پي دو برنامه نويس با هم كار مي كنند و يكي از اين برنامه نويسان كدها را كنترل مي كند، بيست تا چهل درصد از اشكالات ساختاري برنامه خود را نشان مي دهد. اما با استفاده از روش هاي PSP و TSP كه در ادامه اين مقاله توضيح داده مي شوند حتي مي توان تا هشتاددرصد اشكالات برنامه (كه رقم بسيار خوبي است) را قبل نهايي شدن برنامه شناسايي و رفع كرد.

روشRational Unified Process) RUP)

در اين بخش يكي از معروف ترين رويه هاي توليد نرم افزار كه توسط شركت آي بي ام طراحي گرديده است را معرفي مي كنيم. اين روش با نام Rational Unified Process) RUP) در بسياري از پروژه هاي نرم افزاري به كار گرفته مي شود.
در حقيقت هدف اصلي RUP مطمئن شدن از اين موضوع مهم است كه آيا نرم افزار توليدشده نيازهاي كاربرانش را به صورت كامل، با كيفيت بالا ، در زمان معين و با بودجه مشخص برآورده كرده است يا خير.

مطابق تحقيقات انجام شده، از آن جايي كه RUP به تمامي اعضاي تيم، اطلاعاتي مشترك مي دهد و تمامي اعضاي گروه با يك زبان مشترك با هم مرتبط هستند، بازده كاري گروه را بالا مي برد.

RUP داراي سه جزء اصلي است. جزء اول از مجموع راه حل هاي خوب كه در رويه مي تواند مورد استفاده قرار گيرد تشكيل شده است. جزء دوم همان مراحل تهيه نرم افزار است و جزء آخر قسمت هاي تشكيل دهنده اين رويه مي باشد.

RUP شش راه حل خوب كه مي تواند در مراحل مختلف اين رويه به ما كمك كند را معرفي كرده است. از آن جمله:

1- استفاده از USE CASEها كه مي توانند در جمعآوري نيازهاي كاربران مفيد باشند.

2- استفاده از معماري نرم افزار قابل تغيير ( component reuse)

3- استفاده از روش هاي تكميلي و Iterative براي كنترل بهتر و آسان پروژه نرم افزاري

4- استفاده از نمودارهاي UML

5- كنترل تغييرات در نرم افزار

6- كنترل كيفيت نرم افزار با توجه به درخواست هاي اوليه كاربران

شكل 3 رويه RUP را نمايش مي دهد. همان طور كه در اين شكل مشخص شده است چرخه توليد نرم افزار به چهار قسمت اصلي تقسيم شده است:

الف: Inception phase يا مرحله آغازين:
در اين مرحله اهداف پروژه مشخص شده و درخواست هاي اوليه كاربران تعريف مي شود. از خروجي هاي اين مرحله مي توان به مدل اوليه Use Case، آزمون ريسك در پروژه و برنامه زمانبندي پروژه اشاره كرد.

ب: Elaboration phase يا مرحله مقدماتي:
در اين مرحله نيازهاي كاربران تحليل و بررسي شده و راه حل كلي طراحي سيستم ترسيم مي شود. از خروجي هاي اين مرحله مي توان از مدل كامل شده Use Case، فهرست نيازهاي كامل كاربران و طرح كلي سيستم نام برد.

ج: Construction phase:
يا مرحله ساخت و توسعه: در اين مرحله نرم افزار طراحي شده ساخته مي شود و به اصطلاح، كد برنامه نوشته شده و قسمت هاي مرتبط به هم ارتباط داده مي شوند. از خروجي اين مرحله مي توان از نرم افزار، راهنماي استفاده از نرم افزار و مستندات سيستم نام برد.

د: Transition phase يا مرحله تغييرات:
در اين مرحله اگر نرم افزار به وجود آمده در مرحله ساخت دچار مشكل شود، مشكل رفع خواهد شد.

تمامي مراحل توسط خطوط عمودي از همديگر جدا شده اند و هر مرحله با يك milestone يا نقطه مهم تمام مي شود. روش RUP با استفاده از مدل هاي مختلف همچنين مشخص مي كند چه كسي، چگونه و چه وقت چه كاري را انجام خواهد داد.

همان طور كه در اين قسمت ذكر شد، روش RUP روشي انعطاف پذير، قابل تغيير و پيشرفته است كه مي تواند در صورت استفاده صحيح، باعث افزايش كارايي و كيفيت نرم افزار توليدي گردد. اما آيا RUP مي تواند رويه خوبي براي توليد نرم افزارهاي كوچك باشد؟ در جواب بايد گفت كه RUP را طوري طراحي كرده اند كه بتواند براي انواع پروژه هاي نرم افزاري در هر اندازه مفيد باشد و از آن جايي كه از ابزارهاي خوبي مثل UML نيز استفاده مي كند، UML) در گروه هاي كوچك كه نرم افزارهاي كوچك طراحي مي كنند ابزار مدلي خوبي است) مي تواند باعث همكاري و هماهنگي بيشتر گروه گردد.

اما همان طور كه در ادامه اين بحث خواهيد ديد، اگر بتوانيم رويه هاي ساده تر را با يكديگر ادغام كنيم، شايد بتوانيم راه حلي با كارايي بالاتري داشته باشيم.
روش هاي PSP و TSP
PSP يا Personal Software Process در حقيقت روش توليد نرم افزار نيست بلكه روشي است نوين كه با ملزم نمودن اعضاي گروه پروژه هاي نرم افزاري به رعايت اصولي مشخص و استفاده از فرم ها و تكاليفي مشخص به آن ها كمك مي كند كارايي و بهره وري كاري خود را بالا ببرند. اين روش همچنين حاوي تكنيك هاي خوبي براي كنترل، ا ندازه گيري و تشخيص اشكالات مي باشد كه مي تواند به شخص (مثلاً برنامه نويس) كمك كند تا مثلاً با اندازه گيري نرم افزار، يادداشت ميزان فعاليت روزانه و ساعات هدر رفته، و اشكالات به وجود آمده، مشكلات را حل كند و در نتيجه بهره وري خود را بالاتر ببرد. TSP يا Team Software Process مانند PSP است، ولي براي يك تيم طراحي شده و با طرح روش هاي منظم جهت كنترل و جمع آوري اطلاعات روزانه به اعضاي تيم كمك مي كند تا كارايي خود را بالا ببرند.

راه حل هاي پيشنهادي
تا اين قسمت با برخي از روش هاي توليد نرم افزار آشنا شديم. اگر دقت كنيد تمامي اين روش ها و رويه ها مي توانستند براي توليد نرم افزارهاي كوچك مورداستفاده قرار گيرند، اما در ادامه مقاله با چند روش جديد آشنا خواهيد شد كه در چندين گروه نرم افزاري كوچك مورد آزمايش قرار گرفته اند و در تمامي موارد بازدهي درخور داشته اند. در واقع نمي توان گفت تمامي روش هاي زير روش هاي جديدي هستند، بلكه برخي از آن ها از ادغام روش هاي بالا به وجود آمده اند.

روش RUP + Scrum
همان طور كه قبلاً اشاره شد، روش Scrum روشي آسان براي توليد نرم افزار است كه مديريت پروژه و نظم موجود در آن مي تواند بسيار كارگشا باشد. حال تجسم كنيد كه روش RUP را اجرا و قسمت هايي از Scrum را در آن ادغام كنيم. پس از اين كار متوجه خواهيد شد كه روش RUP مي تواند از مدل Scrum كمك بگيرد و با ادغام اين دو مي توان پروسه اي منظم براي توليد نرم افزارهاي كوچك سازماندهي كرد. اما همان طور كه مي دانيد نمي توان دو رويه ناهمگون را با هم تركيب نمود. آيا RUP و Scrum با هم شباهت هايي دارند؟

همان طور كه قبلاً بيان شد، هر دو رويه ساخت نرم افزار روش حلقه اي تكراركننده يا Iterative را خط مشي خود قرار داده اند(البته در RUP تعريف بهتر و كامل تري از Iterative شده است). در Scrum تعريف نيازهاي كاربران توسط اعضاي تيم انجام مي پذيرد، اما در RUP تنها يك شخصRequirement Engineer) يا مهندس مسئول نيازهاي كاربران) است كه اين مسئوليت را برعهده دارد. در زمينه مدل سيستم اگر چه Scrum مسئوليت انجام اين كار را به تمامي اعضاي گروه داده است، اما هر دو روش از مدل UML پشتيباني مي كنند و استفاده از آن را پيشنهاد مي دهند.

ضمناً هر دوي اين روش ها روش هاي هوشمند و Iterative هستند كه مديريت و اندازه گيري كيفيت نرم افزار در تمامي مراحل اين رويه ها به خوبي ديده مي شود. همچنين هر دوي اين روش ها انجام تغييرات را در طول پروژه مجاز مي دانند. البته همان طور كه در قسمت Scrum توضيح داده شد، اين روش تغييرات را در طول مراحل Sprint مجاز نمي داند، اما مدير Scrum مي تواند تغييرات درخواستي توسط كاربران را جمعآوري و در جلسه بعدي مطرح نمايد.

به تازگي RUP نيز ابزارهاي جديدي مانند RUP Builder و RUP modeller را عرضه كرده كه به مديران پروژه ها اجازه مي دهد تا برخي از اصول Scrum را درRUP اجرا كنند. در نتيجه اين دو پروسه توليد نرم افزار مي توانند به كمك بيايند و روشي مناسب براي توليد نرم افزارها به خصوص در اندازه كوچك باشند.


روش RUP + XP
روش دومي كه مورد آزمايش قرار گرفت، تلفيقي بود از اكس پي و RUP. ولي مي توان گفت ادغام اين دو رويه بسيار متفاوت است.

RUP رويه اي بسيار سنگين و اكس پي روشي بسيار سبك است. مي دانيد كه RUP را مي توانيم تقريباً براي تمامي نرم افزارهاي كوچك و بزرگ به كار برد. اكس پي نيز همانند RUP براساس Iterationها يا مراحل پيوسته مانند تحليل، طراحي و امتحان نرم افزار استوار است.

از آن جايي كه RUP و اكس پي از اساس با هم تفاوت هاي زيادي دارند و اكثراً تصور مي كنند كه RUP راه حلي براي توليد نرم افزارهاي بزرگ و اكس پي براي توليد نرم افزارهاي كوچك است، ممكن شما هم تصور كنيد كه استفاده همزمان از هر دوي اين روش ها كاردرستي نيست.

اما مطابق تحقيقات انجام شده به نظر مي رسد كه براي توليد نرم افزارهاي كوچك روشي بين RUP و اكس پي نياز است.در نتيجه با اضافه كردن برخي از تكنيك هاي اكس پي به RUP مي توان به رويه اي مناسب تردست يافت. قبلاً نيز محققاني روي RUP كار كرده اند تا آن را براي پروژه هاي كوچك مناسب سازند. مثلاً در سال 2000 يك نسخه از RUP به نام dX معرفي گرديد كه RUP مختصر شده اي بود. براي نرم افزارهاي كوچك (كه اعضاي پروژه اغلب در يك محيط كار مي كنند) اكس پي مي تواند روشي بسيار خوب باشد، اما اگر اعضاي تيم پراكنده باشند و سيستم بخواهد توسعه يابد، اكس پي قادر به جوابگويي نيست و مي توان گفت كه با استفاده از قسمت هايي از روش قدرتمند RUP مي توان به اكس پي كمك نمود.

براي تلفيق اين دو روش تصوركنيد كه پروژه اي شروع شده است. در مرحله Inception يا آغازين مي توان از تكنيك هاي اكس پي در زمينه برنامه ريزي زماني و جمع آوري نيازهاي سيستم استفاده نمود. البته نمي توان گفت كه هميشه اين دو روش با هم سازگار هستند. مثلاً در اكس پي مرحله اي به نام طراحي يا Design Phase وجود ندارد. در صورتي كه RUP يك مرحله مجزا براي اين قسمت دارد.

روش Iterative Process
شايد به نظر برسد كه در پروژه هاي كوچك، اعضاي گروه نياز كمتري به ارتباط با يكديگر دارند. اما از آن جايي كه در اين گونه پروژه ها ارتباط بين اعضاي تيم و كاربر نزديك تر است و عوامل خارجي نيز نقش مهمي را در پروژه بازي مي كنند، در اين پروژه ها نياز به ارتباط بين اعضاي تيم محسوس به نظر مي رسد. همچنين اگرچه پروژه هاي نرم افزاري كوچك طبيعتاً نياز به نوشتن كدهاي كمتري دارند و ممكن است به چند مدير نياز نداشته باشند اما مانند پروژه هاي بزرگ بايد نرم افزاري با كيفيت بالا ارائه دهند. در نتيجه مي توان گفت كه روشي براي توليد نرم افزار كوچك مناسب تر است كه تمامي موارد مذكور را در نظر بگيرد و اجرا كند.

رويه Iterative يكي از اين روش ها است. با استفاده از اين رويه دو نوع محصول به نام هاي Actual و by-product توليد مي گردد. در واقع محصولاتي كه در موفقيت پروژه نقش اساسي بازي مي كنند، Actulas و آن دسته كه به وجود آمدن Actualsها كمك مي كنند را By-Product مي گويند (مثلاً طرح اوليه سيستم). در اين مدل هر عضو از گروه مسئول انجام دادن قسمتي از كار مي شود و اين مدل شامل هشت مرحله يا فاز است.

اولين مرحله اين رويه جمعآوري اطلاعات از كاربر است. در مرحله بعدي سيستم به صورت جامع تحليل و آناليز مي گردد تا اعضاي تيم با مدل كلي سيستم آشنا گردند. سپس در مرحله تحليل، نرم افزار به صورت كلي مورد بررسي قرار مي گيرد و پس از آن كه مرحله معماري سيستم نام دارد، اجزاي تشكيل دهنده سيستم مشخص مي شوند و كارايي هاي سيستم مشخص مي گردند. در مرحله طراحي تمامي اجزاي سيستم طراحي مي شوند و در مرحله بعد كدهاي سيستم نوشته مي شود.

وقتي اين مرحله تمام شد و كدهاي سيستم نوشته شد، اعضاي تيم در فاز جمع بندي كدهاي سيستم را با توجه به مراحل اول تا پنج مرور مي كنند. در مرحله آخر نيز اعضاي گروه را امتحان مي كنند تا اولاً نيازهاي كاربران را تأمين كرده باشد و ثانياً فاقد هرگونه اشكال باشد. اگر نرم افزار فاقد اشكال باشد، رويه توليد نرم افزار به آخر خواهد رسيد. در غير اين صورت، اعضاي گروه به دنبال منبع مشكل در مراحل قبلي مي گردند و مجدداً رويه را از آن جايي كه فكر مي كنند باعث بروز اشكال شده است، ادامه مي دهند.

نتيجه گيري
براي دستيابي به موفقيت در پروژه هاي نرم افزاري، اعضاي گروه بايد از يك رويه يا روش مشخص پيروي كنند. اما براي پروژه هاي كوچك (براي توليد نرم افزارهاي كوچك) اين رويه بايد ساده و آسان باشد. اضافه براين، براي دستيابي به موفقيت در پروژه ها تنها داشتن يك رويه آسان و كارا كافي نيست بلكه مديران پروژه هاي نرم افزاري بايد به اين نكته توجه كنند كه اعضاي گروه در موفقيت پروژه ها از اهميت شاياني برخوردار هستند و بايد در انتخاب اين افراد حداكثر دقت را مبذول نمود. در ضمن موقع انتخاب يك رويه مناسب بايد اندازه نرم افزار را معين نمود و براساس نيازهاي كاربران پروسه توليدي را طراحي كرد. براي تعيين رويه اي مناسب در توليد نرم افزارهاي كوچك بايد دقت داشت كه اين رويه بايد بسيار ساده باشد تا به اعضاي تيم كمك كند به راحتي مراحل تهيه نرم افزار را ادامه دهند.

از جمله اين رويه هاي ساده مي توان از Scrum نام برد. Scrum يك تكنيك مديريت پروژه است كه مي تواند به تيم هاي نرم افزاري كوچك كه روي پروژه هاي كوچك نرم افزاري كار مي كنند كمك كند راندمان و كارايي بالاتري در كار داشته باشند. اما اگر اين روش ها را با روش هاي مناسب ديگر ادغام كنيم، مي توانند بيشتر مفيد واقع گردند.

پس از Scrum، روش اكس پي توضيح داده شد و به عنوان بهترين راه براي توليد نرم افزارهاي كوچك از آن نام برده شد. اما اين روش به تنهايي كارايي چنداني نخواهد داشت. سپس RUP كه مي تواند در تمامي پروژه ها استفاده شود تشريح شد و در ادامه سه روش مناسب براي توليد نرم افزارهاي كوچك ارائه گرديد. اما همان طور كه بحث شد، داشتن يك روش مناسب به تنهايي نمي تواند ضامن موفقيت در پروژه باشد، بلكه انتخاب منابع انساني مناسب و با تجربه مي تواند راه را براي موفقيت پروژه هاي نرم افزاري هموارتر سازد.


چهارشنبه 30/8/1386 - 18:43
مصاحبه و گفتگو
هر کی دنبال مطالبی در مورد موبایل و کامپیوتر ترفند+کد+کلی مطالب جالب IT و کد موبایل و بازی  و ترفند های کامپیوتر و موبایل +کلی مطالب جالب دیگه

یک سری بزن خیلی جالبه؟
سه شنبه 29/8/1386 - 14:28
آموزش و تحقيقات
آیا مخترع Ctrl+Alt+Del را می شناسید؟

توسط: یاسر سوری دیوید برادلی کد یکی از مشهور ترین کلید های ترکیبی جهان را نوشته است. ترکیب سه کید Ctrl+Alt+Del که از قدیم به سلام سه انگشتی معروف است. در پارک تحقیقی مثلث در کالوریای شمالی امریکا به ملاقات مردی می رویم به نام دیوید برادلی که تنها 5 دقیقه وقت خود را صرف نوشتن برنامه ی کرد که سال هاس سال است که تمام کاربران کامپیوتر را در سراسر جهان به خود مشغول کرده است. ما حصل کار یکی از مشهور ترین کلید های ترکیبی شناخته شده است. یعنی ترکیب سه کلید Ctrl+Alt+Del . فشار دادن توام این یه کلید. کامپیوتر ها را مجبور می سازد بر خلاف میل خود خاموش و روشن شده و به اصطلاح دوباره بوت شوند و به این ترتیب مزد تمرد و سرکشی خود را بچشند. خود برادلی می گوید: نمی دانستیم این کار قرار است به نشانه ی از فرهنگ تبدیل شود.من کار های خیلی زیادتری نسبت به Ctrl+Alt+Del انجام داده ام ولی متآشفانه و از بخت بد برای این یکی معروف شده ام! http://iritn.com/index.php?action=show&type=news&id=5240
سه شنبه 29/8/1386 - 14:25
آموزش و تحقيقات
کدهای مربوط به سیم کارت های ایرانسل
سیم کارت های اعتباری :

*140*3*1*1#
فعال سازی پیامگیر

*140*3*1*3#
فعال سازی ذخیره شماره

*140*3*1*4#
حذف همه سرویس ها

*140*3*5#
دریافت تنظیمات MMS

*140*3*6#
دریافت تنظیمات GPRS


سیم کارت های دائمی :

*130*3*1*1#
فعال سازی پیامگیر

*130*3*1*3#
فعال سازی ذخیره شماره

*130*3*1*4#
حذف همه سرویس ها

*130*3*5#
دریافت تنظیمات Mms

*130*3*6#
دریافت تنظیمات Gprs


سرويس ذخيره شماره تماس گيرنده (Who Called):

اين سرويس شما را قادر مي سازد تا بدانيد در زماني كه در دسترس نبوده ايد، چه كساني با شما تماس گرفته اند. چنانچه تلفن همراهتان خاموش بوده يا خارج از محدوده پوشش شبكه باشد، كسي كه با شما تماس مي گيرد، به يك سرويس پيام گير هدايت مي شود كه در آنجا شماره اين شخص ذخيره مي شود. هنگامي كه تلفن همراهتان مجدداً در دسترس قرار گيرد، ليستي از تمام شماره هايي كه با شما تماس گرفته اند به همراه زمان اين تماسها از طريق SMS براي شما ارسال مي گردد.
اين سرويس و سرويس پيام گير صوتي نمي توانند همزمان فعال باشند. شما تنها مي توانيد از يكي از دو سرويس ذخيره شماره تماس گيرنده يا پيام گير صوتي در يك زمان استفاده نماييد.
سه شنبه 29/8/1386 - 14:23
آموزش و تحقيقات
كارت شبكه
اولين عنصر سخت افزاری كه به تشريح جايگاه و عملكرد آن در يك شبكه خواهيم پرداخت ، كارت شبكه است . به كارت شبكه ، كارت اينترفيس شبكه و يا NIC ( برگرفته از Network Interface Cards ) نيز گفته می شود . مهمترين رسالت و يا وظيفه كارت شبكه ، اتصال فيزيكی يك كامپيوتر به شبكه است تا امكان مبادله اطلاعات برای وی فراهم گردد .

كارت شبكه می بايست با نوع محيط انتقال مطابقت و به نوعی با آن سازگار باشد . منظور از محيط انتقال ، نوع كابلی است كه از آن در شبكه استفاده می گردد ( شبكه های بی سيم شرايط مختص به خود را دارند كه در مطالب جداگانه ای به تشريح آنها خواهيم پرداخت ) .

با توجه به وجود استانداردهای متعدد ، تشخيص سازگاری كارت شبكه با محيط انتقال ، كار چندان مشكلی بنظر نمی آيد . قبل از ايجاد شبكه و خريد تجهيزات سخت افزاری مورد نياز( نظير كارت شبكه و كابل ) ، می بايست در ابتدا مشخص گردد كه قصد استفاده از كدام استاندارد شبكه را داريم . اترنت ، Token ring و Arcnet نمونه هائی از استانداردهای مختلف شبكه می باشند . توجه داشته باشيد كه هر فناوری شبكه دارای نقاط قوت و ضعف مختص به خود می باشد و همواره می بايست گزينه ای انتخاب گردد كه قادر يه تامين نيازهای يك سازمان با شرايط مطلوب تری باشد .

اكثر فناورهای شبكه كه به آنها اشاره گرديد ، منسوخ و در حال حاضر تقريبا" اترنت تنها گزينه برای ايجاد شبكه های كابلی در اكثر سازمان ها (صرفنظر از ابعاد آنها ) می باشد . شكل زير يك نمونه كارت شبكه را نشان می دهد .





در شبكه های اترنت پيشرفته ، از كابل های بهم تابيده موسوم به twisted pair با هشت رشته سيم استفاده می شود كه با يك نظم خاص سازماندهی می گردند . از يك كانكتور RJ-45 در دو سر كابل استفاده می گردد . كانكتور RJ-45 نظير كانكتورهای استفاده شده در خطوط تلفن است با اين تفاوت كه اندازه آن بزرگتر می باشد . در خطوط تلفن از كانكتورهای RJ-11 استفاده می شود . شكل زير يك كابل اترنت به همراه يك كانكتور RJ-45 را نشان می دهد .






هاب و سوئيچ
كامپيوتر های موجود در يك شبكه از كارت شبكه به منظور ارسال و دريافت داده استفاده می نمايند. داده بر روی كابل های اترنت منتقل می گردد . معمولا" نمی توان صرفا" از يك كابل اترنت بين دو كامپيوتر استفاده نمود و نام آن را هم شبكه گذاشت .

همزمان با گسترش و عموميت دستيابی سريع به اينترنت ، احتمالا" با واژه broadband بدفعات برخورد نموده ايد . در شبكه های broadband ، ارسال و دريافت داده بر روی رشته سيم های مشابه انجام می شود . در شبكه های اترنت از فناوری Baseband به منظور مبادله اطلاعات استفاده می گردد . در اين نوع شبكه ها به منظور ارسال و دريافت داده از رشته سيم های جداگانه ای استفاده می گردد . اين بدان معنی است كه اگر كامپيوتری در حال ارسال داده از طريق رشته سيم هائی خاص از يك كابل اترنت باشد ، كامپيوتر دريافت كننده داده نيازمند رشته سيم هائی است كه به پورت دريافت هدايت شده اند.

با استفاده از روش فوق می توان دو دستگاه كامپيوتر را به يكديگر متصل نمود . در چنين مواردی می بايست از يك كابل كراس ( cross ) استفاده نمود . كابل كراس ، يك كابل شبكه است كه رشته سيسم های ارسال و دريافت آن بصورت معكوس بسته شده اند . بدين ترتيب ، می توان دو كامپيوتر را مستقيما" به يكديگر متصل نمود .

با استفاده از كابل كراس نمی توان شبكه ای با بيش از دو دستگاه كامپيوتر را ايجاد نمود . در مقابل استفاده از كابل كراس ، در اكثر شبكه ها از كابل های اترنت معمولی استفاده می گردد . در اين نوع كابل ها رشته سيم های ارسال و دريافت بصورت معكوس نخواهند بود .

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

با اين كه هاب در شكل و اندازه های متعددی توليد و ارائه شده است ولی آنها چيزی بيشتر از يك جعبه به همراه تعداد محدودی پورت RJ-45 نمی باشند .هر كامپيوتر موجود در شبكه از طريق يك كابل اترنت به هاب متصل می شود . شكل زير يك نمونه هاب را نشان می دهد .

سه شنبه 29/8/1386 - 14:21
آموزش و تحقيقات

هاب و نحوه عملکرد آن

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

  • Domain : تمامی کامپيوترهای عضوء يک domain هر اتفاق و يا رويدادی را که در domain اتفاق می افتد ، مشاهده و يا خواهند شنيد .

  •  Collision Domain : در صورت بروز يک تصادم (  Collision ) بين دو کامپيوتر، ساير کامپيوترهای موجود در domain آن را شنيده  و آگاهی لازم در خصوص آن چيزی که اتفاق افتاده است را پيدا خواهند کرد . کامپيوترهای فوق عضوء يک Collision Domain يکسان می باشند. تمامی کامپيوترهائی که با استفاده از هاب به يکديگر متصل می شوند ، عضوء يک   Collision Domain يکسان خواهند بود ( بر خلاف سوئيچ ) .

  • Broadcast Domain : در اين نوع domain ، يک  پيام broadcast ( يک فريم و يا داده که برای تمامی کامپيوترها ارسال می گردد) برای هر يک از کامپيوترهای موجود در doamin ارسال می گردد . هاب و سوئيچ  با موضوع broadcast domain برخورد مناسبی نداشته ( ايجاد حوزه های مجزاء ) و در اين رابطه به يک روتر نياز خواهد بود .

به منظور برخورد مناسب ( ايجاد حوزه های مجزاء )  با  collision domain ، broadcast domain  و افزايش سرعت و کارائی يک شبکه از تجهيزات سخت افزاری متعددی استفاده می شود . سوئيچ ها collision domain مجزائی را ايجاد می نمايند ولی در خصوص broadcast doamin بدين شکل رفتار نمی نمايند . روترها ، broadcast domain و collision domain مجزائی را ايجاد نموده و در مقابل هاب ، قادر به ايجاد broadcast doamin و Collision domain جداگانه نمی باشد . شکل زير يک نمونه هاب هشت پورت را نشان می دهد ( D-Link DE-808TP 10Mbps Ethernet 8-Port Mini-Hub ) .


منبع : سايت D-Link

آشنائی با نحوه عملکرد هاب
هاب ، يکی از تجهيزات متداول در شبکه های کامپيوتری  و  ارزانترين روش اتصال دو  و يا چندين کامپيوتر به يکديگر است . هاب در اولين لايه مدل مرجع OSI فعاليت می نمايد . آنان فريم های داده را نمی خوانند ( کاری که سوئيچ و يا روتر انجام می دهند ) و صرفا"  اين اطمينان را ايجاد می نمايند که  فريم های داده بر روی هر يک از پورت ها ، تکرار خواهد شد.
گره هائی که يک  اترنت و يا Fast Ethernet را  با استفاده از قوانين CSMA/CD به اشتراک می گذارند ، عضوء يک  Collision Domain مشابه می باشند . اين بدان معنی است که تمامی گره های متصل شده به هاب بخشی از Collision domain مشابه بوده و  زمانی که يک collision اتفاق می افتد ، ساير گره های موجود در domain نيز آن را شنيده و از آن متاثر خواهند شد .
کامپيوترها و يا گره های متصل شده به هاب از کابل های ( UTP (Unshielded Twisted Pair  ، استفاده می نمايند. صرفا" يک گره می تواند به هر پورت هاب متصل گردد. مثلا" با استفاده از يک هاب  هشت پورت ، امکان اتصال هشت کامپيوتر وجود خواهد داشت .زمانی که هاب ها به متداولی امروز نبودند و قيمت آنان نيز گران بود ، در اکثر شبکه های نصب شده در ادارات و يا منازل از کابل های کواکسيال، استفاده می گرديد.
نحوه کار هاب بسيار ساده است . زمانی که يکی از کامپيوترهای متصل شده به هاب اقدام به ارسال داده ئی می نمايد ، ساير پورت های هاب نيز آن را دريافت خواهند کرد ( داده ارسالی تکرار و برای ساير پورت های هاب نيز فرستاده می شود  ) . شکل زير نحوه عملکرد هاب را نشان می دهد .

سه شنبه 29/8/1386 - 14:19
آموزش و تحقيقات
وب جهاني چگونه كار مي كند؟

در حال حاضر اينترنت و معروف ترين تجلي آن يعني وب جهاني را مي توان به اولين مدل ماشين فورد تشبيه كرد. اينترنت، ما را به هر جايي از فضاي مجازي مي برد و مطمئنا اين پديده سرگرم كننده بوده و سريع تر از ارسال نامه هاي پستي توسط اسب هاي قديمي است. هيچ كس نمي تواند تصور كند كه وب ممكن است به چه صورت درآيد يا چه تاثير بزرگ و فراگيري به آينده ي جهان خواهد گذاشت. مانند كسي كه يك قرن قبل وقتي اولين مدل ماشين فورد را مي ديد كه از يك جاده خاكي پت پت كنان مي آيد، نمي توانست تصور كند كه اتومبيل براي جامعه ي مدرن [امروز] چه اهميتي مي تواند داشته باشد. شبكه ي اينترنت تاكنون بر روي آموزش، تجارت و ارتباطات شخصي تاثير گذاشته است وو نهايتا قادر به برآورده كردن وعده اي است كه گوتنبرگ داده بود: «هر كس مي تواند يك ناشر شود. » [در حال حاضر] هر كسي مي تواند عقايدش را به جهان ارائه دهد بي آنكه نشر پرهزينه اي را تقبل كرده، انتشاراتي داشته و يا در اين راستا به هر چيز ديگري كه مي توان اشاره كرد دسترسي داشته باشد. اينترنت همچنين مي تواند ما را به نوعي سيب زميني تبديل كند. يعني موجوداتي بي رنگ و رو با ماهيچه هايي شل و استخوان هايي ضعيف، كه هرگز خانه هايشان را ترك نمي كنند چون هر چيزي از كار گرفته تا خريد بر روي وب موجود است. در حقيقت [فعلا]ِ اين شانس وجود دارد كه وب بر روي چيز هايي كه ما مي توانيم تصورش را بكنيم تاثير مي گذارد. ما مطمئن نيستيم كه اولين مدل ماشين، فكر رانندگي در فيلم ها و يا تحويل غذا توسط ماشين را به وجود آورده باشد. در آن زمان حتي اين نگراني كه ماشين چه تاثيري مي تواند بر روي شغل درشكه سواري داشته باشد نيز به ذهن نزديك نبود. البته ما قصد نداريم تا به پيش بيني دنياي واهي يا غيرواهي كه توسط وب به وجود مي آيد بپردازيم. اما چنين نيز برداشت نمي شود كه وب آنچنان جهش بزرگي باشد كه تغييرا ت غير قابل برگشتي را در جامعه پديد آورد. اما در حال حاضر چيزي كه وب هست يك روش ارزان و سريع براي ارسال پيغام بوده و حتي تماس هايي كه نقاط دوردست گرفته مي شود را نيز تقبل مي كند. وب راه خوبي براي يافتن اطلاعات درباره ي انجام دادن امتحان ويا تضعيف روحيه ي حريفان خود است. شما مي توانيد تعداد زيادي نرم افزار خوب را به طور رايگان و يا خيلي ارزان از وب تهيه كنيد و نيز افرادي را ملاقات كنيد و يا با اشخاصي دوست شويد كه هرگز در تمام چيزهاي اندك، بد نيستند. مرور و جستجو دو استفاده ي وب هستند كه بيش از همه معمول مي باشند. اين دو كاربرد، كمي شبيه هم هستند اما مرور، اغلب يك فعاليت علت و معلولي و پيوسته است كه آن را مي توان به موج سواري در بستر يك رودخانه تشبيه كرد. عمل مرور مملو از رويدادهاي خوش يمن است. جستجو، بيرون كشيدن تمام توقف ها به طور جدي و منظم است كه با استفاده از صدها امكان ياري دهنده انجام مي شود.
سه شنبه 29/8/1386 - 14:18
موبایل
درباره plug & play چه مي‌دانيد؟

وقتی از plug&play صحبت‌ مي‌شود، معمولاً به‌ ياد پيغام‌هايي‌ مي‌افتيم‌ كه‌ ويندوز هنگام‌ نصب‌ يك‌ سخت‌افزار مثلاًكارت‌ صدا، مودم‌ و... روي‌ صفحه‌ مونيتور نشان‌ می‌دهد؛ البته‌ خيلي‌ هم‌ بی‌ربط‌ نيست‌ چون‌ Plug&Play به‌ پشتيباني‌ سيستم‌عامل‌ وابسته‌ است‌. بيشتر سيستم‌ عامل‌هاي‌ جديد با مكانيزم‌ Plug&Play سازگاری‌ دارند يعنی‌ آنها می‌توانند در سخت‌افزاررايانه‌ جستجو كرده‌، آنها را شناسايی‌ و در صورت‌ نياز به‌ صورت‌ خودكار نصب‌ كنند. P&P در ويندوز، از ويندوز 95 به‌ بعدمطرح‌ شد. به‌ همين‌ علت‌ است‌ كه‌ امروزه‌ وقتي‌ شما يك‌ وسيله‌ جديد براي‌ رايانه‌تان‌ مي‌خريد، راحت‌ و بي‌دردسر، ويندوز آن‌ را شناسايی‌ و درايور را نصب‌ مي‌كند؛ در صورتي‌ كه‌ اين‌ كار در DOS يا Win3.1 به‌ اين‌ راحتي‌ها نبود. Plug&Play هم‌ به‌پشتيبانی‌ نرم‌افزاری‌ و هم‌ سخت‌افزاری‌ نيازمند است‌. در واقع‌ يك‌ سری‌ خصوصيات‌ سخت‌افزاری‌ لازم‌ است‌ تا نرم‌افزاربتواند بدرستی‌ آن‌ را شناسايی‌ كند. يكی‌ از اين‌ خصوصيات‌ به‌ نوع‌ باس‌ سيستم‌ مربوط‌ است‌ باس‌ بايد توانايي‌ تشخيص‌تغييرات‌ در پيكربندی‌ خودش‌ را داشته‌ باشد (يك‌ وسيله‌ اضافه‌ شده‌ يا تغييري‌ رخ‌ داده‌؟) مثلاً باس‌های‌ MCA يا ISA درگذشته‌ P&P را پشتيباني‌ نمي‌كردند؛ اما باس‌های‌ PCI امروزي‌ اين‌ توانايي‌ را دارند. علاوه‌ بر اين‌ سخت‌افزار، بايد به‌ يك‌سری‌ كد كه‌ به‌ IDcode معروف‌ است‌ مجهز باشد تا نرم‌افزار بتواند آن‌ را بشناسد (مثلاً شماره‌ سريال‌). مرحله‌ بعد نوبت‌سيستم‌ عامل‌ است‌ كه‌ بتواند اين‌ تغييرات‌ را handle كند به‌ اين‌ صورت‌ كه‌ باس‌ توسط‌ پيغام‌ هايي‌ كه‌ وقفه‌ (int) ناميده‌می‌شود به‌ سيستم‌ عامل‌ خبر می‌دهد كه‌ تغييراتی رخ‌ داده‌ و سيستم‌ عامل‌ بايد اطلاعاتی‌ را از باس‌ بخواند و تغييرات‌ راشناسايی‌ كند. بعد هم‌ Driver لازم‌ آن‌ سخت‌افزار را Load كرده‌ (از فهرست‌ درايورهاي‌ خودش‌ يا CD مربوطه‌) و بعد آن‌ رانصب‌ كند تا سخت‌افزار بتواند شروع‌ به‌ كار كند. به‌ اين‌ ترتيب‌ P&P يك‌ سری‌ قابليت‌های‌ سخت‌افزاری‌ است‌ كه‌ برای‌سهولت‌ نصب‌ سخت‌افزار از آنها استفاده‌ می‌شود.
سه شنبه 29/8/1386 - 14:17
آموزش و تحقيقات

تنظيمات فوق العاده براي بهينه سازي مودم در ويندوز 98:

تنظيمات زير را براي بهينه سازي مودمتان در ويندوز 98 انجام دهيد:

  • روي آيكون Modems در Control Panel دابل كليك كنيد، روي باتون properties كليك كنيد روي جدول (تب) Connection كليك كنيد و سپس روي باتون Port Setting كليك كنيد. روي گزينه Use FIFO buffers  علامت تيك بگذاريد و باتون را به منتها اليه سمت راست بكشيد (High 14 ).
  • روي آيكون modems در كنترل پانل دابل كليك كنيد در باتون properties و ار منوي Maximum speed سرعت انتقال 115200 را انتخاب كنيد روي جدول Connection كليك كنيد و سپس گزينه هاي Use error control و required to connect را بدون علامت كنيد و بلاخره براي ذخيره تنظيمات روي ok كليك كنيد.
  • اگر مودم شما به يك لامپ فلورسنت نزديك است ممكن است سبب تداخل در ارسال يا دريافت اطلاعات در مودم شما شود بنابراين اگر يك لامپ فلورسنت روي ميز خود داريد بهتر است آن را از مودم دور نگه داريد.
سه شنبه 29/8/1386 - 14:15
مورد توجه ترین های هفته اخیر
فعالترین ها در ماه گذشته
(0)فعالان 24 ساعت گذشته