وبلاگ چت روم کامپیوتر و شبکه در سایت الفور
نرم افزار iTunes را میتوانید از لینک زیر دانلود کنید
http://www.filehippo.com/download_itunes
مهندسی نرمافزار پیشهای است که به یاری دانش رایانه و دیگر فناوریها و روشها به آفریدن و نگاهداری نرمافزار رایانهای میپردازد.
مسائل اصلی مهندسی نرمافزار تولید نرمافزار بر اساس موارد زیر است:
مهندسی نرمافزار طراحی، برنامه نویسی، توسعه، مستندسازی و نگهداری نرمافزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروزه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینهها است.
کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههای از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای، و اینترنت.
فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار.
اصطلاح مهندسی نرمافزار بعد از سال 1968 شناخته شد. این اصطلاح طی کنفرانس «مهندسی نرمافزار ناتو 1968» (که در گارمیش آلمان برگزار شد) توسط ریاست کنفرانس F.L. Bauer معرفی شد و از آن پس بطور گسترده مورد استفاده قرار گرفت.
اصطلاح مهندسینرمافزار عموماً به معانی مختلفی به کار میرود:
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سیستم نرمافزاری مربوط میباشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد. این خصوصیات نرمافزاری ممکن است شامل: پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد.
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنیای را آماده میکند که اگر بدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تامین میکند یا خیر.
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است.
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژِی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای مدرن قابل مقایسهاند. بهعنوان مثال یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی خدود ده میلیون بخش دارد)، در حالی که نرمافزار هدایت چنین هواپیمایی میتواند تا 4میلیون خط کد داشته باشد.
مهندسین نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگارند. این بحث در سالهای دهه 60 میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسین نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند : کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند : برنامه نویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از مدلهای طراحی شده قبلی باشد، که باید شفاف بوده و بخوبی مستند شده باشد.
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار درباره کیفیت نرمافزار ادامه دارند.
دیوید پارناس گفتهاست که مهندسی نرمافزار یک شکل از مهندسی است. استیو مککانل گفتهاست که هنوز اینطور نیست، ولی مهندسی نرمافزار باید یک شکل از مهندسی بشود. دونالد کنوت گفتهاست که برنامه نویسی یک هنر است.
دیوان فعالیتهای آماری آمریکا مهندسان نرمافزار را به عنوان زیرگروهی از «متخصصین کامپیوتر»، با فرصتهای شغلیای مانند «دانشمند کامپیوتر»، «برنامه نویس» و «مدیر شبکه» دسته بندی کردهاست. BLS تمام مهندسین دیگر این شاخه علمی، که شامل مهندسین سختافزار کامپیوتر نیز هست، را بهعنوان «مهندسین» دسته بندی میکند.
چگونه اتصال به یک کامپیوتر در مکان دیگر از طریق اینترنت
برای فعال کردن Remote Assistance بر روی My Computer کلیک راست میکنیم و سپس گزینه properties کلیک می کنیم مانند شکل زیر
حال ابتدا سر برگ Remote را انتخاب می کنیم و قسمت Remote Assistance و با تیک زدن گزینه Allow Remote Assistance Invitations to be که در شکل مشخص شده تیک می زنیم
برای پرکردن فرم دعوتنامه ( ( Invitation ابتدا دکمه F1 را می زنیم تا صفحه Help ویندوز ظاهر شود
سپس از قسمت Ask for assistance گزینه اول که در تصویر با علامت قرمز رنگ و عدد یک مشخص کرده ام انتخاب می کنید
گزینه ای که با شماره 2 مشخص کردم انتخاب کنید
در این قسمت مدت زمان اتصال در قسمت 1-4 که علامت زدم انتخاب کنید و سپس گزینه 2-4 را جهت ادامه کار کلیک کنید
در این قسمت یک پسورد به دلخواه وارد کنید و این پسورد را به کسی که می خواهید به کامپیوتر شما وصل شود بدهید
در این قسمت فایل دعوتنامه روی کامپیوتر شما ذخیره می شود که باید آن را برای دوستتان ارسال کنید از طریق چت یا از طریق ایمیل یا بصورت دستی
از این گزینه برای دیدن دعوتنامه می توانید استفاده کنید
در این کامپیوتر یک دعوتنامه صادر شده که بوسیله این قسمت می توان دعوت نامه را فعال - غیر فعال – حذف و ویرایش نمود
فایل دعوتنامه ایجاد شده را در روی کامپیوتر بصورت شکل بالا خواهید دید
بعد اجرا فایل دعوتنامه بوسیله دوست شما و دادن پسوردی که شما به دوست خود دادی و در صورتیکه هر دوی شما به اینترنت وصل باشید و آپی شما عوض نشده باشد دوست شما به کامپیوتر شما وصل خواهد شد دو نکته بسیار مهم در استفاده از Remote Assistance وجود دارد. نکته اول اینکه در هنگام اتصال حتما Firewall سیستم خود را غیر فعال نمایید تا هنگام اتصال از طریق پورتهاى سیستم عامل مشکل و خللى در ارتباط بوجود نیاید. نکته بسیار مهم دیگر اینکه ، کاربر مبتدى هنگامى که فرم Invitation را پر میکند میبایست به اینترنت متصل باشد .
هوش مصنوعی
هوش ماشینی را باید عرصه پهناور تلاقی و ملاقات بسیاری از دانشها، علوم، و فنون قدیم و جدید دانست. ریشهها و ایدههای اصلی آن را باید در فلسفه، زبانشناسی، ریاضیات، روانشناسی، نورولوژی، و فیزیولوژی نشان گرفت و شاخهها، فروع، و کاربردهای گوناگون و فراوان آن را در علوم رایانه، علوم مهندسی، علوم زیستشناسی و پزشکی، علوم ارتباطات و زمینههای بسیار دیگر.
هوش مصنوعی به هوشی که یک ماشین از خود نشان میدهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته میشود. بیشتر نوشتهها و مقالههای مربوط به هوش مصنوعی آن را «دانش شناخت و طراحی عاملهای هوشمند»تعریف کردهاند. یک عامل هوشمند جان مکارتی که واژه هوش مصنوعی را در سال 1956 استفاده نمود، آن را «دانش و مهندسی ساخت ماشینهای هوشمند» تعریف کردهاست. تحقیقات و جستجوهایی انجام شده برای رسیدن به ساخت چنین ماشینهایی مرتبط با بسیاری از رشتههای علمی دیگر است، مانند علوم رایانه، روانشناسی، فلسفه، عصب شناسی، علوم ادراکی، تئوری کنترل، احتمالات، بهینه سازی و منطق. سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را بالا میبرد.
پیش از بوجود آمدن علوم الکترونیک، هوش مصنوعی توسط فلاسفه و ریاضیدانانی نظیر بول که اقدام به ارائه قوانین و نظریههایی در باب منطق نمودند، مطرح شده بود. با اختراع رایانههای الکترونیکی در سال 1943،هوش مصنوعی دانشمندان را به چالشی بزرگ فراخواند. در بادی امر، چنین بهنظر میرسید که این فناوری در نهایت قادر به شبیهسازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن مینگریستند تنها پس از چهار دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانههای هوشمند در صنایع گوناگون هستیم.
نام هوش مصنوعی در سال 1965 میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت درزمینه این علم از سال 1960 میلادی شروع شدهبود.(مرجع1)
بیشتر کارهای پژوهشی اولیه در هوش مصنوعی بر روی انجام ماشینی بازیها و نیز اثبات قضیههای ریاضی با کمک رایانهها بود. در آغاز چنین به نظر میآمد که رایانهها قادر خواهند بود چنین اموری را تنها با بهره گرفتن از تعداد بسیار زیادی کشف و جستجو برای مسیرهای حل مسئله و سپس انتخاب بهترین آنها به انجام رسانند.
این اصطلاح (هوش مصنوعی) برای اولین بار توسط جان مکارتی (John McCorthy) که از آن بهعنوان پدر «علم و دانش تولید ماشینهای هوشمند» یاد میشود استفاده شد.آقای جان مکارتی مخترع یکی از زبانهای برنامه نویسی هوش مصنوعی به نام (lisp) نیز هستند. با این عنوان میتوان به هویت هوشمند یک ابزار مصنوعی اشاره کرد. (ساخته دست بشر، غیر طبیعی، مصنوعی)
حال آنکه AI به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی (مرکب از مواد مصنوعی) است.
از اصطلاح strong and weak AI میتوان تا حدودی برای معرفی ردهبندی سیستمها استفاده کرد. AIها در رشتههای مشترکی چون علم کامپیوتر، روانشناسی و فلسفه مورد مطالعه قرار میگیرند، که مطابق آن باعث ایجاد یک رفتار هوشمندانه، یادگیری و سازش میشود و معمولاً نوع پیشرفته? آن در ماشینها و کامپیوترها استفاده میشود.
آزمون تورینگ آزمونی است که توسط آلن تورینگ در سال 1950 در نوشتهای به نام «محاسبات ماشینی و هوشمندی» مطرح شد. در این آزمون شرایطی فراهم میشود که شخصی با ماشین تعامل برقرار کند و پرسشهای کافی برای بررسی هوشمندی او بپرسد. چنانچه در پایان آزمایش نتواند تعیین کند که با انسان در تعامل بوده است یا با ماشین، تست تورینگ با موفقیت انجام شده است. تا کنون هیچ ماشینی از این آزمون با موفقیت بیرون نیامده است. کوشش این آزمون برای تشخیص درستی هوشمندی یک سیستم است که سعی در شبیه سازی انسان دارد.
هنوز تعریف دقیقی که مورد قبول همه دانشمندان این علم باشد برای هوش مصنوعی ارائه نشدهاست، و این امر، به هیچ وجه مایه? تعجّب نیست. چرا که مقوله مادر و اساسیتر از آن، یعنی خود هوش هم هنوز بطور همهجانبه و فراگیر تن به تعریف ندادهاست. در واقع، میتوان نسلهایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نمودهاند که: هوش چیست؟
اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از 4باور زیر قرار میگیرند:
شاید بتوان هوش مصنوعی را این گونه توصیف کرد: «هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها را بهتر انجام میدهند»(مرجع2).
محققین هوش مصنوعی علاقهمند به تولید ماشینی هستند که دستورات مورد نیاز را به صورت هوشمندانه انجام دهد. به عنوان مثال قابلیت کنترل، برنامهریزی و زمانبندی، توانایی تشخیص جواب به سوال مصرف کننده، دست نویسها، زبان شناسی، سخنرانی و شناسایی چهره را داشته باشد. مطالعه بر روی یک AI دارد به یک رشته? مهندسی تبدیل میشود که کانون مشروط است بر حل مشکلات زندگی واقعی، علم معدن کاری، نرمافزارهای کاربردی، استراتژی بازیها مثل بازی شطرنج و بازیهای ویدئویی یکی از بزرگترین مشکلات (سختیها) با AIها، قوه درک آنها است.
تاحدی دستگاههای تولیدشده میتوانند شگفتانگیز باشند، اما کارشناسان هوش مصنوعی ادعا میکنند که ماشینهای هوشمند ساختهشده دارای درک واقعی و حقیقی نیستند.
--مشاهده رفتاری هوشمندانه و صحیح از یک سیستم را نمی توان دلیلی کافی بر هوشمندی آن سیستم تصورکرد بلکه بایستی به ساختار داخلی و مکانیزم انتخاب راه توسط سیستم توجه شود که آیا مبتنی بر آگاهی خود سیستم است یا نه و این آگاهی زمانی میسر خواهد بود که سیستم خود قابلیت تحلیل اطلاعات در یافتی از محیط را داشته باشد و بتواند رابطههای معنی داری بین علت و معلول ما بین اتفاقات محیطی ایجاد کند و در واقع قادر به ایجاد مدلی هر چند غیر دقیق بر پایه مشاهدات خود از محیط باشد سپس سیستم ایده ارزشمندی از نظرگاه خود تولید بکند و بعنوان خواسته و هدفی سعی در پیاده سازی آن بکند یعنی در پی پیدا کردن و اتصال ابزارهای مناسبی به آن هدف باشد تا بتواند آلگوریتم عملیاتی برای برآورد آن خواسته تولید نماید.
بطور کلی ماهیت وجودی هوش به مفهوم جمع آوری اطلاعات، استقرا و تحلیل تجربیات به منظور رسیدن به دانش و یا ارایه تصمیم است. در واقع هوش به مفهوم به کارگیری تجربه به منظور حل مسائل دریافت شده تلقی میشود. هوش مصنوعی علم و مهندسی ایجاد ماشینهایی با هوش با به کارگیری از کامپیوتر و الگوگیری از درک هوش انسانی و یا حیوانی و نهایتاً دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی است.
در مقایسه هوش مصنوعی با هوش انسانی میتوان گفت که انسان قادر به مشاهده و تجزیه و تحلیل مسایل در جهت قضاوت و اخذ تصمیم است در حالی که هوش مصنوعی مبتنی بر قوانین و رویههایی از قبل تعبیه شده بر روی کامپیوتر است. در نتیجه علی رغم وجود کامپیوترهای بسیار کارا و قوی در عصر حاضر ما هنوز قادر به پیاده کردن هوشی نزدیک به هوش انسان در ایجاد هوشهای مصنوعی نبودهایم.
بطور کلّی، هوش مصنوعی را میتوان از زوایای متفاوتی مورد بررسی و مطالعه قرار داد. مابین هوش مصنوعی به عنوان یک هدف، هوش مصنوعی به عنوان یک رشته تحصیلی دانشگاهی، و یا هوش مصنوعی به عنوان مجموعه? فنون و راه کارهایی که توسط مراکز علمی مختلف و صنایع گوناگون تنظیم و توسعه یافتهاست باید تفاوت قائل بود.
اتاق چینی بحثی است که توسط «جان سیرل» در 1980 مطرح شد در این راستا که یک ماشین سمبل گرا هرگز نمیتواند دارای ویژگیهایی مانند «مغز» و یا «فهمیدن» باشد، صرف نظر از اینکه چقدر از خود هوشمندی نشان دهد.
ایجاد و ابداع فنون و تکنیکهای لازم برای مدیریّت پیچیدگی را باید به عنوان هسته? بنیادین تلاشهای علمی و پژوهشی گذشته، حال، و آینده، در تمامی زمینههای علوم رایانه، و به ویژه، در هوش مصنوعی معرّفی کرد. شیوهها و تکنیکهای هوش مصنوعی، در واقع، برای حلّ آن دسته از مسائل به وجود آمدهاست که به طور سهل و آسان توسط برنامهنویسی تابعی (Functional programming)، یا شیوههای ریاضی قابل حلّ نبودهاند.
در بسیاری از موارد، با پوشانیدن و پنهان ساختن جزئیّات فاقد اهمّیّت است که بر پیچیدگی فائق میآییم و میتوانیم بر روی بخشهایی از مسئله متمرکز شویم که مهمتر است. تلاش اصلی در واقع، ایجاد و دستیابی به لایهها و ترازهای بالاتر از هوشمندی تجرید را نشانه میرود، تا آنجا که، سرانجام برنامههای کامپوتری درست در همان سطحی کار خواهند کرد که خود انسانها رسیدهاند.
به یاری پژوهشهای گسترده دانشمندان علوم مرتبط، هوش مصنوعی تاکنون راه بسیاری پیمودهاست. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبانها انجام گرفت و همچنین درک عمیق از احساسات، دانشمندان را در پیشبرد این دانش کمک زیادی کردهاست. یکی از اهداف متخصصین، تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای نمونه روباتیی هوشمند که بتواند اعضای بدن خود را به حرکت درآورد، این روبات نسبت به این حرکت خود آگاه بوده و با آزمون و خطا، دامنه حرکت خود را گسترش میدهد و با هر حرکت موفقیت آمیز یا اشتباه، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته و یا حتی میدود و یا به روشی برای جابجا شدن دست مییابد، که سازندگانش برای او متصور نبودهاند.
هر چند نمونه بالا ممکن است کمی آرمانی به نظر برسد، ولی به هیچ عنوان دور از دسترس نیست. دانشمندان، عموماً برای تولید چنین ماشینهایی، از وجود مدلهای زندهای که در طبیعت وجود، به ویژه آدمی نیز سود بردهاند.
هوش مصنوعی اکنون در خدمت توسعه علوم رایانه نیز است. زبانهای برنامه نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن ساخته اند، پایگاههای دادهای پیشرفته، موتورهای جستجو، و بسیاری نرمافزارها و ماشینها از نتایج پژوهشهایی در راستای هوش مصنوعی بودهاند.
عملکرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است زبانهای برنامه نویسی LISP,PROLOG علاوه بر اینکه از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند خصوصیات نحوی ومعنایی انها باعث شده که انها شیوهها و راه حلهای قوی برای حل مسئله ارایه کنند. تاثیر قابل توجه این زبانها بر روی توسعه AI از جمله تواناییهای انها بعنوان «ابزارهای فکرکردن» است. در حقیقت همانطور که هوش مصنوعی مراحل رشد خود را طی میکند زبانهای LISP ,PROLOG بیشتر مطرح میشوند این زبانها کار خود را در محدوده توسعه سیستمهای AIدر صنعت ودانشگاهها دنبال میکنند و طبیعتاً اطلاعات در مورد این زبانها بعنوان بخشی از مهارت هر برنامه نویس AIاست.
در حقیقت این مدل برنامه نویسی طوری موثر بودهاست که تعدادی از دیگر زبانها براساس عملکرد برنامه نویسی آن بنا شدهاند: مثل FP ،ML ،SCHEME
یکی از مهمترین برنامههای مرتبط با LISP برنامه SCHEME است که یک تفکر دوباره در باره زبان در آن وجود دارد که بوسیله توسعه AI وبرای آموزش واصول علم کامپیوتر مورد استفاده قرار میگیرد.
عاملها (Agents) قادر به شناسایی الگوها، و تصمیم گیری بر اساس قوانین فکر کردن خوداند. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش، تعریف میشود. این سیستمها بر اساس قوانین خاص خود فکر کرده و کار خودرا به درستی انجام میدهند. پس عاقلانه رفتار میکنند، هر چند الزاما مانند انسان فکر نمیکنند.
در بحث هوشمندی اصطلاح PEAS سرنام واژه های "کارایی (Performance)" ، "محیط (Environment)" ، "اقدام گر (Agent)" و "حسگر (Sensor)" است.
سیستمهای خبره زمینهای پرکاربرد در هوش مصنوعی و مهندسی دانش است که با توجّه به نیاز روز افزون جوامع بر اتخاذ راه حلها و تصمیمات سریع در مواردی که دانشهای پیچیده و چندگانه انسانی مورد نیاز است، بر اهمیت نقش آنها افزوده هم میشود. سیستمهای خبره به حل مسائلی میپردازند که به طور معمول نیازمند تخصّصهای کاردانان و متخصّصان انسانیست. به منظور توانایی بر حل مسائل در چنین سطحی (ترازی)، دسترسی هرچه بیشتر اینگونه سامانهها به دانش موجود در آن زمینه خاص ضروری میگردد.