فرمت :WORD تعداد صفحه :67
مایکروسافت
|
مایکروسافت |
|
|
تأسیس |
|
|
موسس(ها) |
|
|
شعبهٔ مرکزی |
|
|
محدودهٔ فعالیت |
جهانی |
|
افراد مهم |
بیل گیتس (مؤسس و مدیر اجرایی)[۲] |
|
زمینه فعالیت |
نرم افزار رایانه |
|
محصولات |
مایکروسافت ویندوز |
|
درآمد |
|
|
تعداد کارکنان |
۸۹٬۸۰۹ در ۱۰۵ کشور (۲۰۰۸) |
|
شعار |
Your potential ، Our passion |
|
وبگاه |
|
شرکت مایکروسافت (به انگلیسی: Microsoft Corporation)
یک شرکت آمریکایی چند ملیتی با ۸۹۰۰۰ کارمند در ۱۰۵ کشور دنیا است که در زمینه فناوریهای رایانهای فعالیت میکند. درآمد سالیانهٔ این شرکت در سال ۲۰۰۷ میلادی ۵۱٫۱۲ میلیارد دلار بود. [۳] مایکروسافت در زمینهٔ طراحی، توسعه، ساخت، صدور مجوز، پشتیبانی و ارائهٔ خدمات نرم افزاری برای وسایل کامپیوتری فعال است.[۴][۵] دفتر مرکزی مایکروسافت در ردموند، واشنگتن در ایالات متحده آمریکا قرار دارد.
پرفروشترین محصولات مایکروسافت سیستم عامل ویندوز و نرم افزار مایکروسافت آفیس هستند. در راستای شعار اصلی شرکت یعنی «یک کامپیوتر روی هر میز و در هر خانه، که نرمافزارهای مایکروسافت را اجرا کند»[۶][۷][۸][۹][۱۰][۱۱][۱۲] این دو محصول با سهمی حدود ۹۰٪ در سال ۲۰۰۳ برای مایکروسافت آفیس و در سال ۲۰۰۶ برای ویندوز جایگاه مهمی در بازار فروش محصولات کامپیوترهای شخصی و کامپیوترهای رومیزی پیدا کردند. مایکروسافت که در ابتدا کار خود را با ساخت و فروش مفسر بیسیک (Basic interpreters) برای «Altair ۸۸۰۰» شروع کرد. در اواسط دههٔ ۸۰ میلادی با طراحی «MS-DOS» بر بازار سیستم عامل کامپیوترهای خانگی مسلط شد. شرکت سهام خود را وارد بورس کرد و پس از آن با افزایش ارزش سهام آن چهار نفر را میلیاردر و حدود ۱۲۰۰۰ نفر از کارکنان مایکروسافت را میلیونر کرد.[۱۳][۱۴][۱۵]
مایکروسافت امروز حدود ۷۵۰٬۰۰۰ متر مربع است و بیش از ۳۰٬۰۰۰ کارمند دارد. [۱۶] مایکروسافت همواره هدف نقدهای مختلفی از جمله انحصارطلبی بوده که موجب ایجاد دادگاههای قضایی بسیاری برای مایکروسافت به علت تجاوز از قوانین انحصار، در وزارت دادگستری ایالات متحده آمریکا و کمیسیون اروپا شد.[۱۷][۱۸]
مایکروسافت علاوه بر بازار سیستم عامل و نرمافزار اداری در زمینههای دیگر هم فعالیت میکند مانند: شبکه تلویزیونی اماسانبیسی «MSNBC»، سایت اینترنتی «MSN» و دانشنامه چندرسانهای انکارتا. مایکروسافت همچنین در زمینه ساخت سخت افزار رایانه با ساخت محصولاتی مانند موشواره و نیز سرگرمیهای خانگی از جمله ایکسباکس، ایکسباکس ۳۶۰، زیون، و «MSN TV» فعالیت دارد. مایکروسافت از گذشته تاکنون با استفاده از روشهای مختلف مانند گروه خبری «Usenet» و وب، پشتیبانی از نرم افزارهای خود را همواره ادامه دادهاست و جایزهٔ «Microsoft MVP» را به داوطلبینی که در کمک به مشتریان شرکت مفید بوده باشند، اهدا میکند.[۱۹][۲۰]
تاریخچه
تأسیس مایکروسافت (۱۹۷۵-۱۹۸۵)
تصویر کارمندان مایکروسافت در سال ۱۹۷۸ از راست به چپ:
بالا: جیم لین، باب والاس، استیو وود
وسط: گوردون لتوین، مارک مکدونالد، باب گرینبرگ، باب او-ریر
پایین: پل آلن، مارلا وود، اندرآ لوئیز، بیل گیتس
بیل گیتس بعد از مطالعه شماره اول ژانویه ۱۹۷۵ مجلهٔ پاپیولار الکترونیکز (Popular Electronics) که حاوی اطلاعاتی در مورد ریزرایانه التیر ۸۸۰۰ (Altair 8800) بود، (التیر ۸۸۰۰ اولین ریزرایانهای بود که وارد عرصه رقابت رایانهای شد.) با «MITS» که سازنده آن بود تماس گرفت و آنان را از ساخت نرمافزار برنامهنویسی برای «Altair ۸۸۰۰» که نام آن را بیسیک گذاشته بودند، مطلع ساخت.[۲۱] بیل گیتس تا آن زمان نه یک سیستم «Altair» و نه حتی یک مترجم ساده داشت، با این حال در طول هشت هفته قبل از اجرای اولیه نرمافزار او و آلن یک برنامهٔ مفسر نوشتند. مترجم در اجرای آزمایشی کار کرد و «MITS» پذیرفت تا بیسیک را بخرد و «Altair BASIC» را روانهٔ بازار کند.
فرمت :WORD تعداد صفحه :32
مبانی اترنت ( بخش اول )
اترنت ، متداولترین فنآوری استفاده شده در دنیای شبکه های محلی است که
خود از مجموعه ای تکنولوژی دیگر تشکیل شده است . یکی از بهترین روش های
آشنائی اصولی با اترنت ، مطالعه آن با توجه به مدل مرجع OSI است
. اترنت از رسانه های انتقال داده و پهنای باند متفاوتی حمایت می نماید
ولی در تمامی نمونه های موجود از یک قالب فریم و مدل آدرس دهی مشابه
استفاده می گردد .
به منظور دستیابی هر یک از ایستگاه ها و یا گره های موجود در شبکه به محیط
انتقال ، استراتژی های کنترل دستیابی مختلفی تاکنون ابداع شده است .
آگاهی از نحوه دستیابی دستگاه های شبکه ای به محیط انتقال امری لازم و
ضروری به منظور شناخت عملکرد شبکه و اشکال زدائی منطقی و اصولی آن می باشد .
اترنت چیست ؟
پهنای باند ارائه شده توسط اترنت در ابتدا ده مگابیت در ثانیه بود و برای کامپیوترهای شخصی دهه هشتاد که دارای سرعت پائین بودند ، کافی بنظر می آمد ولی در اوایل سال 1990 که سرعت کامپیوترهای شخصی و اندازه فایل ها افزایش یافت ، مشکل پائین بودن سرعت انتقال داده بهتر نمایان شد . اکثر مشکلات فوق به کم بودن پهنای باند موجود مربوط می گردید
فرمت :WORD تعداد صفحه :43
مبانی امنیت اطلاعات
امروزه شاهد گسترش حضور کامپیوتر در تمامی ابعاد زندگی خود می باشیم .
کافی است به اطراف خود نگاهی داشته باشیم تا به صحت گفته فوق بیشتر واقف
شویم . همزمان با گسترش استفاده از کامپیوترهای شخصی و مطرح شدن شبکه های
کامپیوتری و به دنبال آن اینترنت (بزرگترین شبکه جهانی ) ، حیات کامپیوترها
و کاربران آنان دستخوش تغییرات اساسی شده است . استفاده کنندگان کامپیوتر
به منظور استفاده از دستاوردها و مزایای فن آوری اطلاعات و ارتباطات ،
ملزم به رعایت اصولی خاص و اهتمام جدی به تمامی مولفه های تاثیر گذار در
تداوم ارائه خدمات در یک سیستم کامپیوتری می باشند . امنیت اطلاعات و ایمن
سازی شبکه های کامپیوتری از جمله این مولفه ها بوده که نمی توان آن را مختص
یک فرد و یا سازمان در نظر گرفت . پرداختن به مقوله امنیت اطلاعات و ایمن
سازی شبکه های کامپیوتری در هر کشور ، مستلزم توجه تمامی کاربران صرفنظر از
موقعیت شغلی و سنی به جایگاه امنیت اطلاعات و ایمن سازی شبکه های
کامپیوتری بوده و می بایست به این مقوله در سطح کلان و از بعد منافع ملی
نگاه کرد. وجود ضعف امنیتی در شبکه های کامپیوتری و اطلاعاتی ، عدم آموزش و
توجیه صحیح تمامی کاربران صرفنظر از مسئولیت شغلی آنان نسبت به جایگاه و
اهمیت امنیت اطلاعات ، عدم وجود دستورالعمل های لازم برای پیشگیری از نقایص
امنیتی ، عدم وجود سیاست های مشخص و مدون به منظور برخورد مناسب و بموقع
با اشکالات امنیتی ، مسائلی را به دنبال خواهد داشت که ضرر آن متوجه تمامی
کاربران کامپیوتر در یک کشور شده و عملا" زیرساخت اطلاعاتی یک کشور را در
معرض آسیب و تهدید جدی قرار می دهد .
در این مقاله قصد داریم به بررسی مبانی و اصول اولیه امنیت اطلاعات و ایمن
سازی شبکه های کامپیوتری پرداخته و از این رهگذر با مراحل مورد نیاز به
منظور حفاظت کامپیوترها در مقابل حملات ، بیشتر آشنا شویم .
اهمیت امنیت اطلاعات و ایمن سازی کامپیوترها
تمامی کامپیوترها از کامپیوترهای موجود در منازل تا کامپیوترهای موجود در
سازمان ها و موسسات بزرگ ، در معرض آسیب و تهدیدات امنیتی می باشند .با
انجام تدابیر لازم و استفاده از برخی روش های ساده می توان پیشگیری لازم و
اولیه ای را خصوص ایمن سازی محیط کامپیوتری خود انجام داد.علیرغم تمامی
مزایا و دستاوردهای اینترنت ، این شبکه عظیم به همراه فن آوری های مربوطه ،
دریچه ای را در مقابل تعداد زیادی از تهدیدات امنیتی برای تمامی استفاده
کنندگان ( افراد ، خانواده ها ، سازمان ها ، موسسات و ... ) ، گشوده است .
با توجه به ماهیت حملات ، می بایست در انتظار نتایج نامطلوب متفاوتی بود(
از مشکلات و مزاحمت های اندک تا از کار انداختن سرویس ها و خدمات ) .در
معرض آسیب قرار گرفتن داده ها و اطلاعات حساس ، تجاوز به حریم خصوصی
کاربران ، استفاده از کامپیوتر کاربران برای تهاجم بر علیه سایر کامپیوترها
، از جمله اهداف مهاجمانی است که با بهره گیری از آخرین فن آوری های موجود
، حملات خود را سازماندهی و بالفعل می نمایند . بنابراین ، می بایست به
موضوع امنیت اطلاعات ، ایمن سازی کامپیوترها و شبکه های کامپیوتری، توجه
جدی شده و از فرآیندهای متفاوتی در جهت مقاوم سازی آنان ، استفاده گردد .
داده ها و اطلاعات حساس در معرض تهدید
تقریبا" هر نوع تهاجم ، تهدیدی است در مقابل حریم خصوصی ، پیوستگی ، اعتبار
و صحت داده ها .یک سارق اتومبیل می تواند در هر لحظه صرفا" یک اتومبیل را
سرقت نماید ، در صورتی که یک مهاجم با بکارگیری صرفا" یک دستگاه کامپیوتر ،
می تواند آسیب های فراوانی را متوجه تعداد زیادی از شبکه های کامپیوتری
نموده و باعث بروز اشکالاتی متعدد در زیرساخت اطلاعاتی یک کشورگردد. آگاهی
لازم در رابطه با تهدیدات امنیـتی و نحوه حفاظت خود در مقابل آنان ، امکان
حفاظت اطلاعات و داده های حساس را در یک شبکه کامپیوتری فراهم می نماید .
ویروس ها
ویروس های کامپیوتری ، متداولترین نوع تهدیدات امنیتی در سالیان اخیر بوده
که تاکنون مشکلات گسترده ای را ایجاد و همواره از خبرسازترین موضوعات در
زمینه کامپیوتر و شبکه های کامپیوتری ، بوده اند. ویروس ها ، برنامه هائی
کامپیوتری می باشند که توسط برنامه نویسان گمراه و در عین حال ماهر نوشته
شده و بگونه ای طراحی می گردند که قادر به تکثیر خود و آلودگی کامپیوترها
بر اثر وقوع یک رویداد خاص ، باشند . مثلا" ویروس ها ئی که از آنان با نام
"ماکرو ویروس " یاد می شود ، خود را به فایل هائی شامل دستورالعمل های
ماکرو ملحق نموده و در ادامه ، همزمان با فعال شدن ماکرو ، شرایط لازم به
منظور اجرای آنان نیز فراهم می گردد.برخی از ویروس ها بی آزار بوده و صرفا"
باعث بروز اختلالات موقت در روند انجام عملیات در کامپیوتر می شوند ( نظیر
نمایش یک پیام مضحک بر روی صفحه نمایشگر همزمان با فشردن یک کلید خاص توسط
کاربر) . برخی دیگر از ویروس ها دارای عملکردی مخرب تر بوده و می توانند
مسائل و مشکلات بیشتری نظیر حذف فایل ها و یا کاهش سرعت سیستم را به دنبال
داشته باشند. یک کامپیوتر صرفا" زمانی آلوده به یک ویروس می گردد که شرایط و
امکان ورود ویروس از یک منبع خارجی ( اغلب از طریق فایل ضمیمه یک نامه
الکترونیکی و یا دریافت و نصب یک فایل و یا برنامه آلوده از اینترنت ) ،
برای آن فراهم گردد . زمانی که یک کامپیوتر در شبکه ای آلوده گردید ، سایر
کامپیوترها ی موجود در شبکه و یا سایر کامپیوترهای موجود در اینترنت، دارای
استعدادی مناسب به منظور مشارکت و همکاری با ویروس،خواهند بود.
برنامه های اسب تروا ( دشمنانی در لباس دوست )
برنامه های اسب تروا و یا Trojans ، به منزله
ابزارهائی برای توزیع کد های مخرب می باشند . تروجان ها ، می توانند بی
آزار بوده و یا حتی نرم افزاری مفیدی نظیر بازی های کامپیوتری باشند که با
تغییر قیافه و با لباسی مبدل و ظاهری مفید خود را عرضه می نمایند. تروجان
ها ، قادر به انجام عملیات متفاوتی نظیر حذف فایل ها ، ارسال یک نسخه از
خود به لیست آدرس های پست الکترونیکی ، می باشند. این نوع از برنامه ها
صرفا" می توانند از طریق تکثیر برنامه های اسب تروا به یک کامپیوتر،دریافت
فایل از طریق اینترنت و یا باز نمودن یک فایل ضمیمه همراه یک نامه
الکترونیکی ، اقدام به آلودگی یک سیستم نمایند.
فرمت :WORD تعداد صفحه :32
چکیده
فصل اول
1) شبکه کامپیوتری چیست ؟
2) مدل های شبکه
3) اجزا ءشبکه
4) انواع شبکه از لحاظ جغرافیایی
5) ریخت شناسی شبکه
6) پروتکل های شبکه
7) مدل Open System Interconnection OSI
8) ابزارهای اتصال دهنده
فصل دوم
1) مفاهیم مربوط به ارسال سیگنال و پهنای باند
2) کابل شبکه
3) کارت شبکه
4)نصب کارت شبکه
5) شبکه های بی سیم
6) پارامترهای مؤثر در انتخاب و پیادهسازی یک سیستم wLAN
جمعبندی
چکیده:
استفاده از شبکه های کامپیوتری در چندین سال اخیر رشد فراوانی کرده
وسازمانها وموسسات اقدام به برپایی شبکه نموده اند . هر شبکه کامپیوتری
باید با توجه به شرایط وسیاست های هر سازمان ، طراحی وپیاده سازی گردد. در
واقع شبکه های کامپیوتری زیر ساخت های لازم را برای به اشتراک گذاشتن منابع
در سازمان فراهم می آورند؛در صورتیکه این زیر ساختها به درستی طراحی
نشوند، در زمان استفاده از شبکه مشکلات متفاوتی پیش آمده و باید هزینه های
زیادی به منظور نگهداری شبکه وتطبیق آن با خواسته های مورد نظر صرف شود.
در زمان طراحی یک شبکه سوالات متعددی مطرح می شود:
-برای طراحی یک شبکه باید از کجا شروع کرد؟
-چه پارامترهایی را باید در نظر گرفت ؟
-هدف از برپاسازی شبکه چیست ؟
- انتظار کاربران از شبکه چیست ؟
- آیا شبکه موجود ارتقاء می باید ویا یک شبکه از ابتدا طراحی می شود؟
-چه سرویس ها و خدماتی برروی شبکه ارائه خواهد شد؟
بطور کلی قبل از طراحی فیزیکی یک شبکه کامپیوتری ، ابتدا باید خواسته ها
شناسایی وتحلیل شوند، مثلا در یک کتابخانه چرا قصد ایجاد یک شبکه را داریم
واین شبکه باید چه سرویس ها وخدماتی را ارائه نماید؛ برای تامین سرویس ها
وخدمات مورد نظر اکثریت کاربران ، چه اقداماتی باید انجام داد ؛ مسائلی چون
پروتکل مورد نظر برای استفاده از شبکه ، سرعت شبکه واز همه مهمتر مسائل
امنیتی شبکه ، هریک از اینها باید به دقت مورد بررسی قرار گیرد. سعی شده
است پس از ارائه تعاریف اولیه ، مطالبی پیرامون کاربردهای عملی آن نیز
ارائه شود تا در تصمیم گیری بهتر یاری کند.
این مطلب در اصل بعنوان یک پروژه کارشناسی ارشد در زمینه آسان سازی
مفهومهای شبکه برای دانشجویان در دانشگاه تهران در سال 1382 اجرا شد.
1)شبکه کامپیوتری چیست ؟
اساسا یک شبکه کامپیوتری شامل دو یا بیش از دو کامپیوتر وابزارهای جانبی
مثل چاپگرها، اسکنرها ومانند اینها هستند که بطور مستقیم بمنظور استفاده
مشترک از سخت افزار ونرم افزار، منابع اطلاعاتی ابزارهای متصل ایجاده شده
است توجه داشته باشید که به تمامی تجهیزات سخت افزاری ونرم افزاری موجود در
شبکه منبع1(Source) گویند.
در این تشریک مساعی با توجه به نوع پیکربندی کامپیوتر ، هر کامپیوتر کاربر
می تواند در آن واحد منابع خود را اعم از ابزارها وداده ها با کامپیوترهای
دیگر همزمان بهره ببرد.
" دلایل استفاده از شبکه را می توان موارد ذیل عنوان کرد2" :
1 - استفاده مشترک از منابع :
استفاده مشترک از یک منبع اطلاعاتی یا امکانات جانبی رایانه ، بدون توجه به
محل جغرافیایی هریک از منابع را استفاده از منابع مشترک گویند.
2 - کاهش هزینه :
متمرکز نمودن منابع واستفاده مشترک از آنها وپرهیز از پخش آنها در واحدهای
مختلف واستفاده اختصاصی هر کاربر در یک سازمان کاهش هزینه را در پی خواهد
داشت .
3 - قابلیت اطمینان :
این ویژگی در شبکه ها بوجود سرویس دهنده های پشتیبان در شبکه اشاره می کند ،
یعنی به این معنا که می توان از منابع گوناگون اطلاعاتی وسیستم ها در شبکه
نسخه های دوم وپشتیبان تهیه کرد ودر صورت عدم دسترسی به یک از منابع
اطلاعاتی در شبکه " بعلت از کارافتادن سیستم " از نسخه های پشتیبان استفاده
کرد. پشتیبان از سرویس دهنده ها در شبکه کارآیی،، فعالیت وآمادگی دایمی
سیستم را افزایش می دهد.
4 - کاهش زمان :
یکی دیگر از اهداف ایجاد شبکه های رایانه ای ، ایجاد ارتباط قوی بین
کاربران از راه دور است ؛ یعنی بدون محدودیت جغرافیایی تبادل اطلاعات وجود
داشته باشد. به این ترتیب زمان تبادل اطلاعات و استفاده از منابع خود بخود
کاهش می یابد.
5 - قابلیت توسعه :
یک شبکه محلی می تواند بدون تغییر در ساختار سیستم توسعه یابد وتبدیل به یک
شبکه بزرگتر شود. در اینجا هزینه توسعه سیستم هزینه امکانات وتجهیزات مورد
نیاز برای گسترش شبکه مد نظر است.
6 - ارتباطات:
کاربران می توانند از طریق نوآوریهای موجود مانند پست الکترونیکی ویا دیگر
سیستم های اطلاع رسانی پیغام هایشان را مبادله کنند ؛ حتی امکان انتقال
فایل نیز وجود دارد".
در طراحی شبکه مواردی که قبل از راه اندازی شبکه باید مد نظر قرار دهید شامل موارد ذیل هستند:
1 - اندازه سازمان
2 - سطح امنیت
3 - نوع فعالیت
4 - سطح مدیریت
5 - مقدار ترافیک
6 - بودجه
مفهوم گره " Node" وایستگاههای کاری " Work Stations :
" هرگاه شما کامپیوتری را به شبکه اضافه می کنید ، این کامپیوتر به یک ایستگاه کاری یا گره تبدیل می شود.
یک ایستگاه کاری ؛ کامپیوتری است که به شبکه الصاق شده است و در واقع
اصطلاح ایستگاه کاری روش دیگری است برای اینکه بگوییم یک کامپیوتر متصل به
شبکه است. یک گره چگونگی وارتباط شبکه یا ایستگاه کاری ویا هر نوع ابزار
دیگری است که به شبکه متصل است وبطور ساده تر هر چه را که به شبکه متصل
والحاق شده است یک گره گویند".
برای شبکه جایگاه وآدرس یک ایستگاه کاری مترادف با هویت گره اش است.
فرمت :WORD تعداد صفحه :28
چکیده:
طراحى فراروندى است که کاملاً به شخص طراح بستگى دارد. سازماندهى. طراحى سازماندهى است. در سازماندهى، جایگاه هر عنصر و خصوصیات آن و چگونگى ارتباط عناصر با یکدیگر مشخص مىشود.
منابع مهمترین عامل محدود کننده یک سیستم، منابعى است که توسط سیستم قابل استفاده و در دسترس است. منابع سیستم، مجموعه عوامل داخلى یا خارجى است که فعالیت سیستم با استفاده از آنها انجام مىشود. حل یک مسئله بزرگ از حل صدها مسئله کوچکتر تشکیل مىشود. طراحى باید مستقل از خصوصیات فردى و موارد غیر ثابت در سیستم انجام شود.
مقدمه:
سادهترین بخش فعالیت تجزیه و تحلیل سیستمها است. براى انجام طراحى یک سیستم سازمانى - انسانى، تحلیلگر و طراح باید از ماهیت، روشها و ابعاد طراحى سیستم با اطلاع باشند. در این بخش، مختصراً سعى در معرفى ماهیت طراحى سیستم، بیان روشهاى طراحى، و شناسائى ابعاد طراحى داریم. بیان طراحى در یک بخش جداگانه و بصورت مجزا از بخش دوم (تجزیه و تحلیل سیستم)، به معناى جدا بودن این دو مبحث نیست. بلکه طراحى بخشى از فراروند تجزیه و تحلیل سیستم است. تنها به دلیل تنوع و پیچیدگى و حجم زیاد مباحث آن، این تفکیک صورت گرفته است.
طراحى چیست؟
این اولین سئوالى است که شما از خود مىپرسید. آیا طراحى همان نقاشى است؟! آیا طراحى یعنى نقشه کشى؟! حتماً میدانید که اینطور نیست. پس این فعالیت عجیب و غریب چیست که ما دائماً از آن صحبت مىکنیم؟
براى شناختن مفهوم طراحى ابتدا لازم است تا عواملى را که در فراروند طراحى وجود دارند بشناسیم. این عوامل عبارتند از :
توجه به این نکته ضرورى است که بحث ما پیرامون کلمه طراحى، تنها از دیدگاه طراحى سیستمهاى سازمانى - انسانى انجام مىشود، در حالى که این کلمه، کاربرد وسیعى در علوم و زمینههاى مختلف، بخصوص در زمینههاى مهندسى دارد.
طراح. شخصى که فراروند طراحى را انجام مىدهد. طراحى فراروندى است که کاملاً به شخص طراح بستگى دارد. شاید فراروندى مانند آشپزى چندان به آشپز مربوطه بستگى نداشته باشد، بلکه اصل دستورالعمل و مواد پخت غذا است. یعنى اگر چند آشپز مختلف، با استفاده از مواد یکسان، دقیقاً دستورالعمل پخت یکسانى را انجام دهند، غذاهاى پخته شده مشابه خواهد بود (به لفظ دقیقاً توجه کنید). اما طراحى چنین خصوصیتى ندارد. یعنى اصولاً دستورالعمل واحد و قطعى براى آن وجود ندارد. وقتى یک دستورالعمل براى کشیدن یک تابلو نقاشى توسط افراد مختلف اجرا مىشود، نقاشىهاى حاصله احتمالاً (یا قطعا) شبیه هم نخواهد بود. زیرا افکار و روحیات هر فرد، در کشیدن آن نقاشى نقش موثرى را ایفا مىکند. به همین ترتیب نیز طراحى یک سیستم با توجه به افکار، سلایق و روحیات شخص طراح شکل مىگیرد. دو طراحى براى یک سیستم واحد که توسط دو نفر مختلف انجام شود کاملاً با هم متفاوت خواهند بود. از همین رو، توجه به اینکه چه کسى کار طراحى را انجام مىدهد و میزان خلاقیت، ابتکار، تجربیات و توانائیهاى فکرى وى، در کیفیت طراحى ارائه شده بسیار موثر است.
سازماندهى. طراحى سازماندهى است. در سازماندهى، جایگاه هر عنصر و خصوصیات آن و چگونگى ارتباط عناصر با یکدیگر مشخص مىشود. فرمانده یک ارتش، در سازماندهى آن، محل استقرار لشگرهاى تحت امر خود را مشخص مىکند و تعیین مىکند که هر یک از لشگرها چگونه باید در عملیات جنگى عمل کنند و هر یک چه وظیفهاى دارند. همچنین وى مشخص مىکند که هر یک از لشگرها و گردانها چگونه با لشگرها و گردانهاى دیگر در ارتباط باشند. در طراحى یک سیستم نیز طراح، عناصر، اجزاء، پرسنل، منابع، فراروندها و سایر عوامل موجود در یک سیستم را سازماندهى مىکند و مشخص مىکند که هر یک در چه موقعیت فیزیکى یا منطقى باید قرار گیرند.
فرمت :WORD تعداد صفحه :45
پیشگفتار
همگام با پیشرفت سریع علم کامپیوتر و بکار گیری آن در جامعه بشری ، هر روز افراد بیشتری به ضرورت فراگیری آن پی برده و بر خیل مشتاقان این علم افزوده می گردد .
در آینده ای نه چندان دور کامپیوتر در اداره کلیه امور جوامع نقش بسزایی خواهد داشت و به همین اعتبار سواد کامپیوتری اهمیتی برتر از سواد خواندن و نوشتن پیدا خواهد نمود .
این تحقیق بر اساس سر فصلهای استاندارد آموزشی و تجربیات در ارائه درس مبانی کامپیوتر گرد آوری شده است و قابل استفاده کلیه علاقمندان به فراگیری علوم کامپیوتر می باشد. در این تحقیق سعی بر آن بوده است که علاوه بر مطالب پایه و اساسی ، بحثهایی نیز در ارتباط با تازه های علم کامپیوتر نظیر حافظه های نوری ، بسته های نرم افزاری و ویروسهای کامپیوتری ارائه شود تا خواننده با آخرین دست آوردهای این تکنولوژی و کاربردهای آن نیز آشنا شود. مطالب تحقیق بیشتر در مورد کامپیوتر های شخصی ( personal computers) تمرکز یافته است که امروزه توسط کاربان کامپیوتر بطور وسیع مورد استفاده قرار می گیرد.
تاریخچه کامپیوتر
نیاز بشر به شمارش ، انگیزه پیدایش وسایلی بود که بتواند عمل شمارش را برای وی سریعتر انجام دهد ، دیر زمانی بشر از انگشتان دست و دانه های ریگ برای شمارش استفاده می کرد . سپس از چوب خط به عنوان وسیله ای ابتدایی که می توانست ضمن شمارش اطلاعات را نیز در خود حفظ نماید ، استفاده نمود .
نخستین وسیله مکانیکی که جهت عمل شمارش ساخته شد وسیله ای است به نام چرتکه (Abacus) که اختراع آن را به چینیها در قرن ششم قبل از میلاد نسبت داده اند .
ماشین حساب های مکانیکی :
متناسب با پیشرفت بشر در زمینه های دریانوردی و ستاره شناسی نیاز به محاسبات بیشتر شد و اولین ماشین مکانیکی که قادر به انجام عمل جمع و تفریق بود توسط آقای پاسکال PASCAL ریاضی دان فرانسوی در قرن هفدهم (1642) ساخته شد این دستگاه ماشین جمع (Adding machine) نامیده شد و مزیت آن بر چرتکه این بود که می توانست عمل ده بر یک را به طور خودکار انجام دهد.
چندی بعد آقای لایب نیتز (LIBNITZ) ریاضی دان آلمانی موفق به اختراع ماشینی شد که علاوه بر جمع و تفریق قادر به انجام اعمال ضرب و تقسیم نیز بود. این دستگاه ماشین محاسبه (Calculating machine) نامیده شد . این دستگاه نیز کاملاً مکانیکی بود ه و عملیات آن بوسیله یکسری اهرم چرخ دنده انجام می گرفت .
فکر ساختن ماشین خودکار و برنامه پذیر برای اولین بار در سال 1812 توسط چارلز بابیج(CHARLES BABBAGE) مطرح شد اما طرحهای مطرح شده بابیج بسیار پیشرفته تر از زمان او بود و در اثر محدودیتهای فنی و مهندسی آن دوره وی نتوانست آن را تکمیل کند ولی بعدها بسیاری از طرحها و افکار او در ساختن کامپیوتر های اولیه مورد استفاده قرار گرفت و به همین لحاظ وی را« پدر کامپیوتر» لقب داده اند .
آقای هرمن هالریت (HERMAN HOLLRITH) برای اولین بار اصول جدیدی را بر اساس استفاده از نوار کاغذی جهت دسته بندی و تفکیک اطلاعات ارائه داد بطوریکه نتایج حاصل از طرح فوق زمان استخراج نتایج سرشماری سال1890 ایلات متحده آمریکا را به مدت سه برابر کاهش داد .
بعدها کارت منگنه جای نوارهای کاغذی را گرفت و بدین صورت خود تبدیل به وسیله ای جهت حفظ و نگهداری اطلاعات شد .
ماشین های الکترو مکانیکی :
ماشینهای مکانیکی کند و غیر قابل اعتماد بودند، با ظهور الکتریسیته و ترکیب آن با مکانیک ماشین های الکترو مکانیک اختراع شدند . اولین ماشین الکترو مکانیکی توسط آقای هوراد ایکن (HOWARD AIKEN) در دانشگاه هاروارد و با کمک مالی و فنی شرکت IBM(international Buseness Machine) پس از پنج سال کار و تلاش عاقبت در سال 1944 ساخته شد ، این ماشین مارک اول (MARK 1) نامیده شد و قادر به انجام عملیات جمع و ضرب و تقسیم و محاسبه توابع مثلثاتی و توانهای مختلف بود . این ماشین حساب یک عمل ضرب را در 3 ثانیه انجام می داد .
اولین ماشین محاسبه به نام کامپیوتر COMPUTER در سال 1944 در دانشگاه پنسیلوانیا بنام (ENIAC) برای حل مسائل مربوط به انفجار اداره ارتش آمریکا ساخته شد و از آن زمان تا عصر حاضر کامپیوترها تکامل پیدا نموده و تا کنون پنج نسل کامپیوتری به شرح ذیل پشت سر گذاشته شده است.
کامپیوترهای نسل اول (1944-1959 First Gen19xeration)
با ظهور الکترونیک و اختراع لامپ های خلاء و کاربرد آنها در کامپیوتر ، اولین نسل کامپیوتر بوجود آمد . کامپیوتر الکترونیکی انیاک دارای 19000 لامپ خلاء بود و حدود 130000 وات مصرف انرژی داشت و فضایی به وسعت 19x15 متر مربع را اشغال میکرد لیکن نسبت به ماشین های الکترو مکانیکی سرعت نسبتاً زیادی داشت بطوریکه 5000 جمع و 350 ضرب را در مدت 1 ثانیه انجام می داد .
فرمت :WORD تعداد صفحه :48
سخت افزار:مجموعه قطعات الکترونیکی کامپیوتر که به نوعی با هم و با دنیای بیرون رابطه دارند را سخت افزار گویند.
نرم افزار:مجموعه برنامه های هستند که سخت افزار را وادار به نوعی فعالیت می کند.
برنامه:مجموعه دستورالعمل های که منجر به دستیابی به یک هدف مشترک می شود را برنامه گویند.
تعریف خروجی:مجموعه ابزارهایی که به نوعی اطلاعات را از درون سیستم به بیرون منتقل می کند را خروجی گویند.
تعریف ورودی:مجموعه ابزارهای الکتریکی یا الکترونیکی که به نوعی اطلاعات را یا داده ها را وارد سیستم می کند را ورودی گویند.
کامپیوتر نیز همانند انسان دارای ابزارهای خروجی است.
کامپیوتر نیز همانند انسان دارای ابزارهای ورودی است.
کنترل گر مرکزی:قسمتی از سیستم است به عبارتی تمامی کنترل های سیستم به عهده این قسمت می باشد (cpu)
تعریف حافظه: حافظه در واقع مکانی است که برای ذخیره سازی اطلاعات یا داده های خام مورد استفاده قرار می گیرد.
اطلاعات: مجموعه داده های پردازش شده است.
داده های خام: مجموعه داده های پردازش نشده است.
پردازش: تجزیه و تحلیل یک سری اطلاعات است.
کامپیوتر: مجموعه ای از قطعات الکترونیکی است که با هم گردآوری شده و مجموعه سخت افزار را به وجود آورده و به کمک نرم افزار مجموعه ای نسبتا هوشمند بوجود آورده است.
سیستم عامل: عبارت است از 1)برنامه کلی که به عنوان روح و مدیر سیستم وظایف عمده ای را بر عهده دارد که از جمله این موارد1)مدیریت سیستم2)فراهم آوردن محیطی جهت ارتباط با دنیای بیرون 3)فراهم آوردن محیطی جهت فعال شدن نرم افزارها و یا حتی سیتسم عامل های دیگر
زبان برنامه نویسی: یک زبان برنامه نویسی عبارت است از مجموعه دستورالعمل ها و مجموعه قواعد حاکم که مجموعا جهت انجام کار یا عملی از ان زبان استفاده می کنیم.
زبان های برنامه سازی به طور کلی در سه سطح:سطح پایین، سطح میانه، سطح بالا تقسیم بندی می شوند.
زبان های سطح پایین: زبان هایی هستند که معمولا درک آن برای مشکل ولی به زبان کامپیوتر و به سطح پایین یعنی سخت افزار نزدیک تر است.
زبان های سطح بالا: زبان های مستند که به زبان انسان یا کاربران نزدیک شده و درک آن برای کاربران به سهولت صورت می گیرد.
تقسیم بندی علوم کامپیوتر:1)شاخه سخت افزار 2)شاخه نرم افزار
تقسیم بندی سخت افزار:1)ورودی ها:صفحه کلید یا کیبرد، موس، اسکنر، فلاپی یا هم ورودی و هم خروجی. قلم نوری، دوربین دیجیتال
2)خروجی:فلاپی درایو، پرینتر، اسپیکر(بلندگو)، مانیتور، رایتر(هم ورودی و هم خروجی)، سی دی درایو، چاپگر
3)کنترل گر مرکزی (cpu): CPU قسمت اصلی سیستم می باشند که به عبارتی کنترل گر مرکزی در داخل CPU قرار می گیرد و این CPU بر روی بردهای اصلی کامپیوتر به نام برد قرار می گیرند.
فرمت :WORD تعداد صفحه :34
Cisco IOS Network Address Translation
Overview
In its simplest configuration, the Network Address Translator (NAT) operates on a router connecting two networks together; one of these networks (designated as inside) is addressed with either private or obsolete addresses that need to be converted into legal addresses before packets are forwarded onto the other network (designated as outside). The translation operates in conjunction with routing, so that NAT can simply be enabled on a customer-side Internet access router when translation is desired.
Use of a NAT device provides RFC 1631-style network address translation on the router platform. The goal of NAT is to provide functionality as if the private network had globally unique addresses and the NAT device was not present. RFC 1631 represents a subset of Cisco IOS NAT functionality.
Cisco IOS NAT supports "bi-directional translation" through the simultaneous use of "inside source" and "outside source" translations.
Terminology
Inside
Set of networks subject to translation
Outside
All other addresses. Usually these are valid addresses located on the Internet.
Figure 2
NAT Terminology « Inside Addressing»
Figure 3
NAT Terminology "Outside Addressing"
Simple Translation Entry
Translation entry that maps one IP address to another
Extended Translation Entry
Translation entry that maps one IP address and port pair to another
Main Features
مترجم آدرسهای شبکهِ ios ِ سیسکو
مترجم آدرس شبکه در ساده ترین حالتش بر روی مسیر یابی که دو شبکه را به هم متصل میکند عمل میکند؛ یکی از این شبکه ها (تعین شده بعنوان داخلی ) بصورت خصوصی یا غیر متداول آدرس دهی میشود که باید این آدرس به یک آدرس قانونی و متداول تبدیل شودقبل از اینکه بسته های اطلاعاتی به سمت شبکه دیگر(تعیین شده بعنوان شبکه بیرونی ) فرستاده شود . ترجمه مرتبط با مسیر یابی عمل میکند ، بطوریکه اگر ترجمه مطلوب باشد مترجم آدرس شبکه براحتی میتواند بر روی مسیر یاب یک سرویس گیرنده اینترنت فعال شود .
استفاده از وسایل ترجمه در RFC 1631 ( request for comment ) ( درخواست برای توضیح ) آمده است - شیوه ترجمه آدرس در مسیر یاب . هدف مترجم آدرس شبکه ایجاد یک عاملیت برای شبکه خصوصی است که عموماً آدرسهای منحصر بفردی دارد و مترجم آدرس شبکه نیز در آن موجود نیست .RFC 1631 یک زیر مجموعه از اصول مترجم آدرس شبکه های IOS سیسکو را ارائه میکند .
مترجم IOS سیسکو ترجمه دوسویه را از طریق استفاده همزمان از منابع داخلی و خارجی ترجمه پشتیبانی میکند .
Terminology : واژگان فنی
شکل 1 – مفاهیم مترجم آدرس شبکه :
Inside ( دا خلی ) :
مجموعه ای از مطالب شبکه برای ترجمه .
Outside ( خارجی ) :
تمام آدرسهای دیگر .معمولاً اینها آدرسهای معتبر در اینترنت هستند .
شکل 2 –
( واژه های فنی مترجم آدرسهای شبکه )
( NAT terminology ) « آدرس دهی داخلی » :
فرمت :WORD تعداد صفحه :62
001-001:محاسبات چگونه صورت می گیرد:
در ضمن اجرا و یا حل هر سیستم ویا مسئله ریاضی جوابها و یا نتایج عملیات می باید بر روی کاغذ یادداشت گردد. شخص حسابگر در تمام مدت اجرای عملیات سیر تسسل عملیات و تجزیه و تحلیل دستورالعمل و برنامههای اجرائی را رهبری نموده و مسئولیت اجرای درست عملیات را به عهده دارد.
درخلال انجام محاسبات انسان حسابگر دو عمل اساسی انجام میدهد .یکی از آنهاکنترل عملیات است .در این مرحله انسان درک و فهمی درست از دستورالعملها و یا فرامین پیدا مینماید و در ضمن انجام عملیات مطمئن میگرددکه مراحل تسسل عملیات درست صورت می پذیرد. وظیفه شخص حسابگر اجرای نهایی عملیات ریاضی است که منجر به نتایج عددی مورد نیاز میگردد.
امروزه اکثر دانشجویان و پژوهندگان جهت سادگی اجرای عملیات ریاضی و دستیابی سریع به جواب درست و مطمئن از ماشینهای حساب دستی استفاده می نمایند.
در شکل 1 شمای سادهای از رابطه بین سه واحد کاغذ, ماشینحساب و شخص حسابگر داده شده استکه بیانگر سیر تسسل اجرای عملیات است و میتوان چگونگی آن رابصورت زیر بیان نمود.
برای رسیدن به این منظور شخص حسابگر مقدار عددی A رااز روی کاغذ قرائت نموده و آنرا به روی دکمههای ماشین حساب منتقل مینماید .سپس دکمه فرمان + را فشار داده و بدنبال آن مقدار عددی متغیر Bرا به ماشین حساب میدهد تا جواب منسوب به X بدست آید. نتیجه عمل جمع از ماشین حساب برروی کاغذ منتقل و درآنجا ثبت میگردد. درتمام مراحل عملیات مغز انسان حسابگر سیر اجرا ئی عملیات را کنترل نموده و دست او با فرامین اخذ شده از مغز مراحل مختلف محاسبه را انجام میدهد.
واحد کنترل برنامه دستورالعملها و جزئیات برنامه را ترجمه و تفسیر
نموده و تسسل اجرای عملیات را تشخیص میدهد. قسمت ریاضی ـ منطقی موجود
دستورالعملها و عملیات تشخیص داده شده را اجرا مینماید. برای آنکه
عملیات تشریح شده فوق بتواند تماماً توسط ماشین حسابگر اتوماتیک انجام
بپذیرد میباید برای هر قسمت از شمای طبقاتی شکل 1 واحد معادلی انتخاب شود
تاامکان انجام عملیات مهیا گردد. جهت انجام این منظور شمای طبقاتی شکل 2
پیشنهاد میگردد که شباهت زیادی بواحد شکل 1 دارد. واحد حافظه در این سیستم
همانند صفحه کاغذ وظیفه انبار نمودن دستورالعملها (برنامه) و دادهها را
بعهده دارد .
شکل 2: واحدهای مختلف یک ماشین حسابگر اتوماتیک (کامپیوتر)
دو واحد کنترل برنامه و ریاضی ـ منطقی روی هم واحد کنترل عملیاتی ( CPU) را تشکیل میدهند که وظیفه مغز انسان حسابگر را انجام میدهد.
تفاوت عمده بین انسان حسابگر وکامپیوتر تنها در شکل نمایش اطلاعات بصورت دستور و دادههاست انسان میتواند بکمک زبانی که تکلم میکند مفاهیم و سیر اجرائی عملیات را بیان نماید و عینا آنها را بر صفحه کاغذ منتقل نماید. در حالیکه در کامپیوترهای دیجیتالی اطلاعات (دستورالعملهاودادهها) بیشتر بصورت رمز باینری در حافظه ماشین انبار میگردد و سپس عملیات برروی آنها میگیرد.
برای برقراری ارتباط بین انسان و ماشین حسابگر که دارای دو زبان مختلف هستند , حتماً نیاز به مترجم و یا عاملی هستیم که مطالب هریک را بشکل دلخواه و قابل فهم طرف دیگر ترجمه و تفسیر نماید. هر ماشین حسابگر میبایست دارای واحدهای ضروری زیر باشد تا بتواند عملیات ریاضی و منطقی و تصمیمگیری را به طور اتوماتیک انجام دهد.
الف: واحد عملیاتی ویا پردازشی PROCESSOR
این واحد وظیفه اصلی و اساس را در ترجمه وتفسیر اجرای برنامه بعهده داشته و قادر است عملیات مختلف ریاضی /منطقی را انجام دهد.
ب: واحد حافظه MEMORY
این واحد جهت انبارنمودن ونگهداری دستورالعمل ها- دادهها والگوریتمهای اجرائی و نتایج حاصل از عبارات ضروریست.
ج: واحدهای ورودی/خروجی INPUT/OUTPUT
وسیله ویا دستگاهی جهت انتقال و تبادل دستورالعملها ,دادهها
و الگوریتم های اجرائی ازدنیای خارج بداخل کامپیوتر و بالعکس برای انتقال
نتایج حاصله ازعملیات ازدرون کامپیوتر بدنبال خارج مورد نیازخواهد بود.
واحدهای ورودی/ خروجی امکان ارتباط ومحاوره بین انسان وماشین رامهیا
مینماید.
شکل3: نمونهای از امکانات و تجهیزات یک مرکز کامپیوتر
010-001:سازمان و تشکیلات کامپیوترها :
لفظ کامپیوتر بطور کلی با انواع بسیار متنوعی از ماشینهای حسابگر اطلاق میگردد که هم از نظر اندازه و هم از نظر سرعت , قدرت, نوع کاربرد و قیمت با هم متفاوت هستند.
اکثر مواقع جهت معین نمودن نوع و وسعت عمل کامپیوتر از اصطلاحات زیر استفاده میگردد :
شبکههای کامپیوتری, مالتی کامپیوترها, مالتی پروسسورها, کامپیوتر(همه منظوره ـ ویژه), مینیکامپیوتر, میکروکامپیوتر.
سیستمهای کامپیوتری بر شمرده فوق در موارد متعدد چه از نظر تاسیسات و چه از نظر نوع کار و قدرت اجرائی با هم اختلاف فاحشی دارند که در شکل 4 نمایش داده شدهاند که عبارتند از :
واحد کنترل ـ واحد ریاضی / منطقی , واحد حافظه و واحدهای ورودی / خروجی .
Figure 1.1 Basic Iunctional unit of a computer
شکل 4 :واحدهای اساسی سیستمهای کامپیوتری
این پنچ واحد اساسی که استخوان بندی هر سیستم کامپیوتری را تشکیل میدهند میتواند در سه قسمت اصلی تقسیم بندی شود :
1-واحد عملیاتی یا پردازشگر
2- واحد حافظه
3- واحد ورودی / خروجی

در هر سیستم کامپیوتری واحد ورودی اطلاعات دنیای خارجی را بعد ازتغییر
مناسب تحت کنترل واحد مرکزی عملیاتی بداخل حافظه میفرستد. اطلاعات
(دستورالعملها- دادهها) انبارشده در حافظه بوسیله واحد کنترل یک بیک از
حافظه به بیرون حافظه فرا خوانده شده و بعد از تجزیه و تحلیل و تشخیص نوع
عملیات فرمانهای لازم جهت اجرای آن به قسمتهای مختلف ماشین صادر میگردد.
واحد ریاضی / منطقی کامپیوتر تحت تاثیر فرامین صادره از سوی واحد کنترل
عملیات تعیین شده را انجام میدهد ونتایج عملیات اجرا شده را بداخل یکی
از ریجسترها (انبارههای موقت) میفرستد. این نتایج بموجب فرامین واحد
کنترل بداخل حافظه برگشت داده شده و در صورت لزوم از طریق یکی از واحدهای
خروجی بشکل مطلوب در اختیار استفاده کننده قرار میگیرد.
در اینجا ذکراین نکته ضروریست که اطلاعات اعمال شده به کامپیوتر نمیتواند از دو گروه داده شده زیر خارج باشد .
دستورالعملها ویا فرامین اوامری هستند که موجب نقل و انتقالات و اجرای عملیات گوناگون در داخل و خارج کامپیوتر میگیردند. بنابراین بصورت ساده میتوان گفت که تمام نقل و انتقالات دادهها و عملیات ریاضی / منطقی بکمک مجموعه پیوستهای از دستورالعملها انجام میپذیرد که به آن برنامه می گویند روش عادی اجرای هر برنامه توسط ماشین بدین صورت انجام میپذیرد که ابتدا تمام برنامه بداخل حافظه فرستاده شده و بعد از تشخیص و تعیین نوع عملیات واحد کنترل متناسب با آن دستورالعمل فرامین لازم جهت باجرا در آمدن آن دستورالعمل را بتمام قسمتهای ماشین ارسال می دارد.
چنین ماشینهائی را که برروی برنامههای ذخیره شده عمل مینمایند کامپیوترهای با برنامه ذخیرهای میگویند (STORED PROGRAM COMPUTERS) .
دادهها که دومین جزء هر برنامه کامپیوتری است چیزی جزء اطلاعات عددی و یا حرفی نیست که میبایست بروی آنها عملیات انجام گیرد.
شکل 5 : شمای طبقاتی و نحوه ارتباط واحدها در یک سیستم کامپیوتری
برنامههای اجرائی کامپیوتر به هر شکلی نوشته شود خواه به صورت زبانهای سطح بالا شبیه فورترن, کوبال
بیسیک وخواه بصورت زبانهای سطح پایین همانند زبان اسمبلی باشد میبایست
توسط برنامه دیگری تبدیل به کدهای قابل قبول ماشین شود .عامل برنامهای که
موجب ترجمه ویا تفسیر برنامههای ورودی میگردد کامپایلر یا مترجم یا
اسمبلر نامیده میشوند.
فرمت :WORD تعداد صفحه :22
طراحی لایه واسط کاربر
موفقیت ما در طول ساختن برنامه های کاربردی بستگی به توانایی ما در پیش بینی اجرای برنامه ها دارد . برخی از جنبه های اجرای برنامه تقریبا برای پیش بینی آسان می باشد . مثلا به راحتی می توانیم ظرفیت برنامه را در ترم های بخش های داده ای یا عناصر تصویر تخمین بزنیم . دیگر جنبه های اجرا مثل اندازه ی برنامه و سرعت پاسخ گویی یا قابلیت اطمینان برنامه برای تعیین کردن سخت است . اغلب موضوعات عمده ای هستند که به طور بهینه در طول برنامه تخمین زده شده اند تاثیر بهینه سازی در این تخمین ها در برنامه هنگام کامل شدن در مواجه با نیازهای اساسی با شکست روبرو می شود . واسط کاربر تنها جزء قابل تعامل برنامه است که در اجرا قابل پیش بینی نمی باشد . مثلا آن جزء از برنامه که تصمیم می گیرد چگونه کاربر و کامپیوتر با هم ارتباط داشته باشند ( و این قابل تاسف است که باید این گونه باشد ) برای طراحی واسط کاربر تاثیر زیادی بر مقبولیت برنامه دارد . ناتوانی ما در پیش بینی اجزای واسط کاربر باعث می شود که کاربر در راه ها ی غیر منتظره واکنش نشان دهند در جاییکه آنان برای اولین بار از برنامه استفاده می کنند بیشترین شگفتی زمانی اتفاق می افتد که برنامه نویس با اولین کاربر و کاربر مبتدی همراه شود تا اجرای برنامه را توضیح دهد :
بدین صورت
برنامه نویس : حالا که شما این مدار را کشیده اید ممکن است بخوا هید چند راه آن را تغییر دهید .
کاربر : بله پس باید یک عنصر را حذف کنیم . چه طور باید این کار را انجام دهیم ؟
برنامه نویس : روی آیتمی که برچسب CD دارد کلیک کنید .
کاربر : CD ؟
برنامه نویس : این برای حذف کردن یک عنصر است .
کاربر : بله . خوب اجرا می کنیم راستی چه اتفاقی می افتد ؟
برنامه نویس : شما در مود تحلیل هستید باید AM را به جای CD انتخاب کنید .
کاربر : چه جالب من در حال اشاره کردن به CD هستم . چگونه می توانیم از مود تجزیه بیرون بیاییم ؟
برنامه نویس : کافی است control-Q را تایپ کنید .
کاربر : ( Type C-O-N-T-R )
برنامه نویس : نه ، کلید کنترل ( Kontrol-Key ) را فشار بده و بعد دکمه ی Q را بزن .
کاربر : متاسفم اشتباه کردم بله من باید دوباره شروع کنم .
برنامه نویس : حالا به عنصر برای پاک کردن اینها ؟
کاربر : بله هیچ اتفاقی رخ نداد . آیا من اشتباهی انجام داده ام ؟
برنامه نویس : نه تو هیچ اشتباهی مرتکب نشدی : تو عناصر را پاک کردی اما هنوز برنامه این را از صفحه ی نمایش Remove نکرده است .