تبليغاتX
دانشنامه تخصصی کامپیوتر

دانشنامه تخصصی کامپیوتر
 
در کتاب «آیا برای کار در گوگل به اندازه کافی باهوش هستید؟» متونی از تکنیک های مصاحبه در گوگل ارائه شده که همین شروع ثابت می کند سلسله مراتب اداری خاصی در این شرکت جریان دارد و هرکسی نمی تواند در آن استخدام شود.
ویلیام پاندستون، منتقد و نویسنده آمریکایی بیشتر کتاب‌هایش را درباره علوم مختلف نوشته که با وجود لحاظ نکات علمی و تحقیقی بیشتر به نکته جنجالی آن توجه کرده است.

به گزارش خبر، از عنوان آخرین کتاب «پاندستون» اینگونه برمی آید که او یک متخصص کامپیوتر یا چیزی شبیه آن است که برای خود رقیبانی جستجو می کند ولی تمام صفحات کتابش بیشتر نوعی روزنامه نگاری و گزارش‌هایی از سلسله مراتبی است که در شرکت گوگل می گذرد.

در ۱۳۶ صفحه ابتدایی این کتاب با عنوان «آیا برای کار در گوگل به اندازه کافی باهوش هستید؟» متونی از تکنیک های مصاحبه در گوگل ارائه شده که همین شروع ثابت می کند سلسله مراتب اداری خاصی در این شرکت جریان دارد و هرکسی نمی تواند در آن استخدام شود.

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

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

به نوشته پاندستون به نظر می رسد کسانی می توانند در این شرکت و یا موتور جستجوی جهانی استخدام شوند که بیشتر از مهارت کامپیوتری به خلاقیت و تجسم ذهنی مجهز باشند؛ در اصل گوگل بیشتر از متخصص کامپیوتر به خیال پردازان و مبتکرانی ماهر نیاز دارد تا خدمات جدیدی در رقابت با شرکت های دیگر ارائه کنند.

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

یکی از ۱۰۱ سوالی که در این کتاب مطرح شده است عبارت است از : «شما در یک جزیره فوتبال بازی می کنید ولی برای شیر یا خط سکه ای ندارید. تنها سکه ای که در جزیره پیدا شده کج شده است. چگونه می توان از یک سکه کج شده برای شیر یا خط استفاده کرد؟»

اگر چنین مسئله هایی را به شیوه خلاقانه حل نکنید باید کار در گوگل را فراموش کنید.

یکی دیگر از سوالاتی که معمولاً برای جویندگان کار در گوگل مطرح می شود این است «شما اگر یک تخم مرغ داشته باشید و بخواهید آن را از هر طبقه یک ساختمان ۱۰۰ طبقه به پائین پرتاب کنید. کدام طبقه را انتخاب می کنید که تخم مرغ نشکند!» و معمای دیگر اینکه عدد بعدی توالی اعداد روبرو چیست: ۱۰، ۹، ۶۰، ۹۰، ۷۰، ۶۶

در مورد معمای مربوط به سکه کج شده در جزیره نویسنده نوشته است شانس یک پرتاب در شیر آمدن با شانس خط آمدن تفاوت دارد ولی شانس دو پرتاب برای خط آمدن بعد از آن یک شیر با شانس دو پرتاب یک خط و سپس یک شیر آمدن مساوی است. در نتیجه یک «خط و شیر» به یک تیم اختصاص دهید و یک شیر و خط به تیم دیگر، سپس پرتاب را در گروه‌هایی دوتایی ادامه دهید و بدون توجه به شیر یا خط آمدن سکه تا رسیدن به نتیجه این عمل را تکرار کنید.

نویسنده معتقد است کسانی که دوست دارند در گوگل کار کنند و یا کسانی که به شیوه های خلاقانه حل مسائل علاقمند هستند بهتر است این کتاب را مطالعه کنند.


نوشته شده در تاريخ دوشنبه چهارم اردیبهشت 1391 توسط مدیر وبلاگ

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


نوشته شده در تاريخ دوشنبه چهارم اردیبهشت 1391 توسط مدیر وبلاگ

سلام

امروز براتون

حل تمرینات پایان فصل کتاب زبان ماشین و برنامه سازی سیستم آقای داریوش نیک مهر رو گذاشتم

به درخواست تعداد زیادی از دانشجویان محترم


download


نوشته شده در تاريخ دوشنبه چهارم اردیبهشت 1391 توسط مدیر وبلاگ
خصوصیتهای RUP :

1- مبتنی بر موارد قابل کاربرد

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

2- مبتنی بر معماری

معماری نرم افزار همانند معماری ساختمان است. معماری در حوزه ای بر بهره مندی از تلفیق علم، هنر و تجربه، تکیه دارد. معماری نرم افزار مطابق نظر آقای Kruchen در معماری 4+1 از دیدگاههای مختلف شامل دیدگاه مورد قابل کاربرد، دیدگاه منطقی، دیدگاه فرآیندها، دیدگاه استقرار و دیدگاه پیاده سازی تشکیل شده است.

3- تکرار شونده و افزایشی

تکرار یعنی یکبار انجام دادن همه نظامهای یک فرآیند توسعه . یک پروژه را به


نوشته شده در تاريخ چهارشنبه بیست و ششم بهمن 1390 توسط مدیر وبلاگ
وسعه تكراری نرم افزار:

در سیستم های پیچیده امروزی انجام مراحل تعیین تمام مسأله، طراحی تمام راه حل و ساخت تمام نرم افزار و در انتها تست كامل آن به صورت متوالی ممكن نیست. در اینجا نیاز به فرآیندی مكرر است كه اجازه فهم افزایشی مسأله به همراه پیرایش آن و تكامل راه حل مؤثر را در طول چندین تكرار بدهد.RUP از روش تكرار استفاده می کند كه اجزاء را با ریسك بالا در هر مرحله از چرخه حیات مشخص می كند، و این باعث كاهش ریسك می شود. فرآیند تكراری مقابله با ریسك را با نمایش پیشرفت فرآیند و نسخه های اجرایی كه امكان درگیری و بازخورد از كاربران، فراهم می كند. همچنین فرآیند تكراری قابلیت انجام تغییرات تاكتیكی در نیازها، قابلیتها و برنامه ها را سبب می شود.

مدیریت نیازها:

فرآیند RUP طریقة استخراج، سازماندهی و مستند كردن عملكرد و شرایط مورد نیاز دنبال كردن و مستند كردن موازنه ها و تصمیم گیری و مبادله آسان نیازهای كاری را بیان می كند. همچنین اثبات شده است كه ورش نمادی كه در آن مورد كاربرد وسناریوها مدل می شوند، راهی مناسب برای گرفتن نیازهای كار كردی و اطمینان از تأمین نیازهای كاربران توسط نهایی، می باشد. مزیت دیگر آن ایجاد رشته هایی منسجم و قابل ردیابی درون سیستم در حال توسعه و تحویل شده می اشد.

استفاده از معماری مبتنی بر مؤلفه:

مؤلفه ها، ماژولها یا زیر سیستمهای هستند كه كاركردهای مشخصی دارند. RUP روشی سیستماتیك برای تعریف معماری با استفاده از مؤلفه های جدید و موجود ایجاد می كند كه توسط یك معماری خوش ساخت، كه می تواند بصورت ad hoc و یا در یك چارچوب مؤلفه ای مانندCORBA و COM سر هم شوند، ایجاد می كند.

مدل كردن تصویری نرم افزار:

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

بازبینی كیفیت نرم افزار:

دو عامل مهم و مشتركی كه امروزه سبب عدم پذیرش نرم افزارها می شوند، قابلیت اطمینان پایین و كارآیی ضعیف می باشد. فرآیندRUP در ایجاد برنامه ریزی،طراحی ، پیاده سازی و ارزیابی آزمایشهایی كه بر جنبه های مختلف نرم افزار نظارت داشته باشند، كمك مؤثری می باشد.
ساختار RUP

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

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


نوشته شده در تاريخ چهارشنبه بیست و ششم بهمن 1390 توسط مدیر وبلاگ
انطباق با RUP

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

RUP تمرینات تولید نرم افزار ثابت شده فراوانی را دربر دارد. شركت Rational میدان دید بالایی را برای موارد زیر، ارائه می دهد:
- توسعه مكرر
- مدل سازی بصری
- مدیریت ملزومات تغییرات كنترل
- بازبینی مداوم كیفیت
- استفاده از معماری بر مبنای اجزا

همچنین URP بر مبنای دیگر اصول كلیدی دیگری كه كمتر قابل مشاهده هستند و ساده تر به محاق فراموشی سپرده می شوند، استوار شده است كه فقط برای یادآوری اشاره ای به آنها می نماییم:
- منحصراً آنچه را كه مورد نیاز است، پرورش دهید.
- روی نتایج ارزشمند تمركز كنید، نه روی چگونگی حصول نتایج
- كاغذبازی را به حداقل برسانید.
- انعطاف پذیر باشید.
- از اشتباهات خود عبرت بگیرید.
- به طور منظم، مخاطرات محتمل را مورد بازبینی قرار دهید.
- برای پروسه موردنظر معیارهای قابل اندازه گیری و علمی را بدون موضع گیری شخصی استوار كنید.
- از گروه های كوچك و توانمند استفاده كنید.
طرحی را در ذهن داشته باشید.

ذهنیت كلیدی در سازگار شدن و سازگار كردن RUP قالب توسعه (Development Case) می باشد. یك قالب توسعه نمونه ای از RUP است كه برای پروژه ویژه ای كه مد نظرتان است، مناسب باشد. با مراجعه به ساختار RUP به توضیح پروسه ای دست  می یابید كه موارد زیر را تعریف نموده و شناسایی می كند.
- چه چیزی توسعه داده خواهد شد؟
- به چه مصنوعاتی واقعاً نیاز داریم؟
- چه الگوهایی باید مورد استفاده قرار بگیرند؟
- كدام مصنوعات در حال حاضر وجود دارند؟
- به چه نقش هایی نیاز داریم؟
- چه فعالیتهایی انجام خواهند شد؟
- كدام خطوط راهنما، استانداردهای پروژه و ابزارهایی مورد استفاده قرار خواهند گرفت
در بسیاری از شركت ها حدود 30 تا 50 درصد هزینه تولید نرم افزار صرف تست آن می شود.، هنوز هم خیلی از افراد اعتقاد دارند كه نرم افزارها قبل از انتشار، به درستی تست نمی شوند. این شرایط به دو دلیل به وجود می آید. اول این كه تست نرم افزار امری بسیار مشكل است. دوم این كه تست معمولا" بدون متدولوژی مشخص و ابزار لازم انجام می گیرد.
آنچه كه باعث می شود تا شركت ها هزینه زیادی صرف تست نرم افزارها كنند، چیزی جز دستیابی به كیفیت مطلوب نیست.


نوشته شده در تاريخ چهارشنبه بیست و ششم بهمن 1390 توسط مدیر وبلاگ
توسعه تكراری نرم افزار:

در سیستم های پیچیده امروزی انجام مراحل تعیین تمام مسأله، طراحی تمام راه حل و ساخت تمام نرم افزار و در انتها تست كامل آن به صورت متوالی ممكن نیست. در اینجا نیاز به فرآیندی مكرر است كه اجازه فهم افزایشی مسأله به همراه پیرایش آن و تكامل راه حل مؤثر را در طول چندین تكرار بدهد.RUP از روش تكرار استفاده می کند كه اجزاء را با ریسك بالا در هر مرحله از چرخه حیات مشخص می كند، و این باعث كاهش ریسك می شود. فرآیند تكراری مقابله با ریسك را با نمایش پیشرفت فرآیند و نسخه های اجرایی كه امكان درگیری و بازخورد از كاربران، فراهم می كند. همچنین فرآیند تكراری قابلیت انجام تغییرات تاكتیكی در نیازها، قابلیتها و برنامه ها را سبب می شود.

مدیریت نیازها:

فرآیند RUP طریقة استخراج، سازماندهی و مستند كردن عملكرد و شرایط مورد نیاز دنبال كردن و مستند كردن موازنه ها و تصمیم گیری و مبادله آسان نیازهای كاری را بیان می كند. همچنین اثبات شده است كه ورش نمادی كه در آن مورد كاربرد وسناریوها مدل می شوند، راهی مناسب برای گرفتن نیازهای كار كردی و اطمینان از تأمین نیازهای كاربران توسط نهایی، می باشد. مزیت دیگر آن ایجاد رشته هایی منسجم و قابل ردیابی درون سیستم در حال توسعه و تحویل شده می اشد.

استفاده از معماری مبتنی بر مؤلفه:

مؤلفه ها، ماژولها یا زیر سیستمهای هستند كه كاركردهای مشخصی دارند. RUP روشی سیستماتیك برای تعریف معماری با استفاده از مؤلفه های جدید و موجود ایجاد می كند كه توسط یك معماری خوش ساخت، كه می تواند بصورت ad hoc و یا در یك چارچوب مؤلفه ای مانندCORBA و COM سر هم شوند، ایجاد می كند.

مدل كردن تصویری نرم افزار:

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

بازبینی كیفیت نرم افزار:

دو عامل مهم و مشتركی كه امروزه سبب عدم پذیرش نرم افزارها می شوند، قابلیت اطمینان پایین و كارآیی ضعیف می باشد. فرآیندRUP در ایجاد برنامه ریزی،طراحی ، پیاده سازی و ارزیابی آزمایشهایی كه بر جنبه های مختلف نرم افزار نظارت داشته باشند، كمك مؤثری می باشد.
ساختار RUP

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

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


نوشته شده در تاريخ چهارشنبه بیست و ششم بهمن 1390 توسط مدیر وبلاگ
تمامی حقوق این وبلاگ محفوظ است | طراحی : پیچک