همه پست های بابک آشفته یزدی

مدیریت ارتباط با مشتری CRM

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد

مدیریت ارتباط با مشتری (به انگلیسی: CRM – Customer Relationship Management) به همه فرآیندها و فناوری‌هایی گفته می‌شود که در شرکت‌ها و سازمان‌ها برای شناسایی، ترغیب، گسترش، حفظ و ارائه خدمات بهتر به مشتریان به کار می‌رود. اصول مدیریت ارتباط با مشتری، چگونگی ایجاد موفق یک سیستم و اجرای آن را برای ارتباط با مشتریان از شروع و اجرای اولیه یک چنین سیستمی تا نگهداری آن در زمانهای مختلف را بیان می‌کند.

مفهوم مدیریت ارتباط با مشتری

مجموعه کاملی از فرآیندها و تکنولوژی‌ها برای مدیریت ارتباط با مشتریان فعلی و بالقوه و دست اندرکاران کسب و کار در بازاریابی، فروش و خدمات، صرف نظر از نوع مسیرهای ارتباطی با مشتریان.

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

مدیریت ارتباط با مشتری یک نظام اطلاعاتی یک پارچه است که برای برنامه ریزی، زمان‌بندی و کنترل فعالیت‌های قبل و بعد از فروش سازمان و با هدف توانمند سازی مشتریان جهت تعامل با سازمان از طریق ابزارهای متعددی چون وب سایت، تلفن و غیره به کار می‌رود.

پیش شرط‌ های لازم برای اجرای سیستم CRM در یک کمپانی

با پیشرفت روزافزون تکنولوژی و ارتباطات آنلاین، شرکت‌های بزرگ همگی در حال استفاده از سیستم‌های مدیریت ارتباط با مشتری یا CRM هستند، قبل از اجرای یک سیستم CRM یکسری پیش نیاز است که باید کمپانی مورد نظر آن‌ها را در نظر بگیرد. این پیش شرط‌ها عبارتند از:

  1. مشخص کنید که به دنبال اجرای سیستم CRM چه مشکلاتی در شرکت مورد بررسی قرار می‌گیرد، چه بهبودها یا تغییراتی باید به دنبال نصب چنین سیستمی وارد فرایند تجاری یک سازمان شود.
  2. مسئول و مدیر پروژه را به درستی انتخاب کنید. به طور معمول بخش IT درگیر این کار می‌شود، گرچه به همراه این بخش باید بخش خدمات مشتری یا فروش و نیروهای بخش بازاریابی نیز درگیر شوند چون تأثیر این پروژه بیشتر بر فعالیت‌های تجاری شرکت خواهد بود.
  3. به اعضای تیم قدرت اجرایی لازم را بدهید تا بتوانند وظایف خود را به طور کامل انجام دهند.
  4. شرکت اجرای سیستم را به درستی انتخاب کنید، چنین شرکتی باید در رابطه با امور تجاری و همچنین مسائل فنی تخصص لازم را داشته باشد.
  5. از یک روش مرحله به مرحله استفاده کنید. سعی کنید ابتدا اجرای سیستم را کم‌کم پیش ببرید و سپس به مرور زمان به سمت اهداف بلند مدت تجاری شرکت پیش بروید.
  6. شاخص‌های کلیدی عملکرد معینی را برای ارزیابی میزان موفقیت پروژه تعیین کنید.

    منافع استفاده از سیستم CRM

    بسیاری از سیستم‌های امروزی به منظور به حداقل رسانی تلاش کاری و سهولت انجام کارها ایجاد شده‌اند. یک سیستم ارتباط با مشتری هم اگر به درستی استفاده شود منافع زیادی می‌تواند برای یک شرکت تجاری به همراه داشته باشد. استفاده از یک سیستم خوب CRM می‌تواند به معنای فروش بیشتر، سود بیشتر و وفاداری روزافزون مشتریان به آن شرکت باشد؛ ولی جدا از این موارد یک سیستم مدیریت ارتباط با مشتری منافعی با خود به همراه می‌آورد که گاهی اوقات دیده نمی‌شوند ولی آن‌ها نیز مهم هستند. این منافع عبارتند از:

    • صرفه جویی در زمان

    یکی از واقعیت‌های ناخوشایند بخش فروش این است که حجم کاری بسیار زیاد است. بخش فروش شما و نیروی آن‌ها زمان زیادی را صرف کاغذ بازی می‌کنند به جای اینکه مشغول به انجام فعالیت‌های مربوط به فروش باشند. CRM نمی‌تواند شلوغی کار را از بین ببرد ولی می‌تواند قسمتی از آن را به حالت خودکار درآورده و سرعت انجام کارها را بیشتر کند. این به معنای صرفه جویی بیشتر در کار و همچنین سود و کمیسیون بیشتر است.

    • سازماندهی

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

    • ارتباط برقرار کردن

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

    • ایجاد سریع تر سرنخ فروش

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

    • برقراری نظم

    سیستم CRM به شما کمک می‌کند در طبقه‌بندی کردن اطلاعات مشتری و تماس‌ها و تمامی موارد مشابه نظم داشته باشید. با آنکه حافظه بعضی از افراد بسیار قوی است ولی باز هم کسی نمی‌تواند همه اطلاعات را به یاد داشته باشد.

    • مدیریت تلاش‌هایی که در بخش فروش صورت می‌گیرد

    تنها این امر برای مدیران فروش نیست بلکه تمامی اعضای تیم فروش باید در رابطه با عملکردشان رکوردی در اختیار داشته باشند و عملکرد خود را در ماه‌های بعدی پیش بینی کنند. CRM می‌تواند اطلاعات لازم برای پیگیری عملکرد شما را در اختیارتان قرار دهد و با گزارش‌های دقیق در رابطه با عملکردهای روزانه و ماهانه شما اطلاعات خوبی فراهم کند.

    • مدیریت خدمات

    با استفاده از سیستم CRM می‌توان تمامی موارد مربوط به سفارش خدمات را در سازمان پشتیبانی کرد از مواردی نظیر قیمت دهی به مشتری وپردازش آن گرفته تا گرفتن سفارش و مشخص سازی بهترین فرد برای برخورد با مشتری.

    • برنامه ریزی امور فروش

    تیم فروش می‌توانند با آنالیز داده‌های CRM امکان پیش بینی میزان فروش و درآمد تخمینی کلی را در اختیار داشته باشند.

رئوس مطالب

مدیریت ارتباط با مشتری – اهداف CRMاز دیدگاه بارنت -اهداف CRM از دیدگاه نول – مدل ROI Cost/Benefit CS – اهداف CRM از دیدگاه سوئیفت – مزایای سوئیفت – اهداف CRMاز دیدگاه گالبریث و راجرز -نمودار اثرات CRM بر ساختار سازمانی – اثرات CRM بر ساختار سازمانی – تغییرات سازمانی در نتیجه استفاده از CRM – متغییر های طراحی سازمان – ساختار سازمانی بازاریابی در CRM – استراتژی بازار و محصول – معاونت بازاریابی (CRM) – چهار رول CRM – ابزارهای همکاری به تمام مراحل ایجاد CRM – انواع دیدگاه مدیریت ارتباط با مشتری – مراحل و فرایندهای مدیریت ارتباط با مشتری – مراحل CRM و توجه و استراتژیهای سازمانی متناظر با آنها (مدل چرخه حیات CRM کالاکوتا) – مدل یکپارچگی تاکتیکی فرایندهای CRM (مدل سویفت) – استراتژی کسب و کار – استراتژی CRM – استراتژی بازاریابی – ارزش برای مشتری (قوت رابطه) – پنج جزء مدیریت موفق درCRM – مدل آمادگی سازمانها برای اجرا CRM – نمونه ای از یک کارت امتیازی CRM که برای هر بخش از مشتریان هدف CRM طرح شده است. – شش سیگمای استراتژیک – نقش ها و مسئولیتهای کلیدی یکپارجه سازی موفق کارت امتیازی CRM و شش سیگمای استراتژیک – رابطه علت و معلول و دیدگاههای مربوط به فرایند – مدل ارزیابی میزان اثربخشی – شاخصهای اثربخشی در ارتباط با شاخصهای دانش مشتری – انواع وفاداری در حوزه مدیریت ایجاد وفاداری در مشتریان – محدودیتهای CRM – تفاوت های CRM وICRM

مروری بر سیستمهای مدیریت محتوا CMS

نگاه کوتاه

سامانه مدیریت محتوا (Content Management System)، نرم‌افزاری که به‌وسیلهٔ آن ساخت و نگهداری وب‌گاهها به شکلی ساده امکان‌پذیر می‌گردد.
سامانه مدیریت کد (Code Management System)، نرم‌افزاری برای بایگانی و نگهداری کد منبع نرم‌افزارها.
سامانه نظارت محاوره‌ای (Conversational Monitor System)، سیستم‌عامل محصول شرکت IBM.
سامانه نرم‌افزار مدیریت مرکزی (central managment software)معنایی که بیشتر در سیستم‌های حفاظتی و امنیتی تصدیق پیدا می‌کند که به منظور کنترل نرم‌افزاری چند نقطهٔ تحت حفاظت دوربین مداربسته در یک سیستم کامپیوتری به وسیله یک نرم افزارصورت می‌گیرد.

سامانه مدیریت محتوا
سامانه مدیریت محتوا (به انگلیسی: Content management system)، یک برنامه رایانه ای است که امکان انتشار، ویرایش و مدیریت محتوا، سازماندهی، حذف و همچنین نگهداری از طریق یک رابط مرکزی فراهم می کند. یک سیستم مدیریت محتوا از دو عنصر تشکیل شده است:

نرم افزار مدیریت محتوا (CMA) که به مدیر محتوا یا نویسنده، که ممکن است دانش لازم در مورد زبان نشانه گزاری (HTML) را نداشته باشد، اجازه میدهد تا ایجاد، ویرایش و حذف محتوای یک وب سایت را بدون نیاز به تخصص یک وب‌مستر، مدیریت کند.

نرم افزار تحویل محتوا (CDA) که با تفسیر و استفاده از آن اطلاعات وب‌گاه را بروز رسانی می کند.

سامانه مدیریت محتوای وب
یک سیستم مدیریت محتوا (سیستم مدیریت محتوای وب) یک نرم افزار همراه و یا مستقل برای ایجاد، گسترش، مدیریت و ذخیره محتوا در صفحات وب است. محتوای وب سایت شامل متن، گرافیک، عکس، ویدئو، صدا و کد است که برای نمایش محتوا یا تعامل با کاربر استفاده می شود. مدیریت محتوا نقش زیادی در تجارت امروز دارد و پایه و اساس وبلاگ نویسی، انتشار مقالات، اخبار، توضیحات محصولات و … در وب سایت است.

تاریخچه
سامانه های مدیریت محتوا به صورت متن‌باز از سال ۱۹۹۰ پدیدار شدند. از مهم ترین سامانه های متن باز دنیا جوملا، وردپرس و دروپال می توان اشاره کرد. شما می توانید به راحتی یکی از سامانه های متن باز را روی فضای مجازی آپلود کرده و اقدام به طراحی سایت کنید.

ویژگی های سیستم مدیریت محتوا یا CMS

ویژگی های یک سیستم مدیریت محتوا ممکن است متفاوت با سایرین باشد ولی بیشتر آنها شامل انشار مبتنی بر وب، مدیریت قالب، کنترل نسخه، نمایه سازی محتوی، جستجو و بازیابی می باشند.

  • امکان انتشار مبنی بر وب به افراد اجازه می دهد تا با استفاده از یک یا مجموعه از قالب ها، که توسط سازمان تایید شده، اقدام به انتشار و ویرایش محتوا وب کنند.
  • امکان مدیریت قالب این اجازه را می دهد که اسناد شامل اسناد الکترونیکی و اسناد کاغذی اسکن شده به فرمت HTML یا قالب پرتابل (PDF) برای وب سایت تبدیل شوند.
  • مدیریت نسخه این امکان را فراهم می کند که محتوی به نسخه جدیدتر بروزرسانی یا نسخه های قبلی  بازگردانده شوند. مدیریت نسخه همچنین تمام تغییرات روی فایل ها که توسط افراد اعمال می شود را ثبت می کند.
  • ویژگی بعدی، نمایه سازی (indexing)، جستجو و بازیابی است. یک سیستم مدیریت محتوا، داده های داخل یک سازمان یا شاخص سازی می کند. که در نتیجه افراد میتوانند داده ها را از طریق سامانه بازیابی مدیریت محتوا با استفاده از کلمات کلیدی جستجو کنند.

چند سیستم مدیریت محتوا معروف

حال چند نمونه از معروف ترین سیستم های مدیریت محتوا را معرفی می کنیم که افراد با استفاده از آنها می توانند اقدام به طراحی سایت مورد نیاز خود کنند.

  • WordPress : وردپرس یک سیستم مدیریت محتوای ساده ولی قدرتمند است. وردپرس در ابتدا به عنوان یک سیستم وبلاگ نویسی ارائه شد و به آرامی محبوب شد و به محبوب ترین سیستم مدیریت محتوا تبدیل شد.  سهولت در استفاده ، فروم ها و پشتیبانی گسترده، پلاگین های متنوع، مطابقت با استانداردهای سئو و بهینه سازی از جمله ویژگی های برجسته این سیستم مدیریت محتوا ست.
  • Drupal : دروپال یک سیستم مدیریت محتوای ماژولار با امکانات زیاد است که برای بسیاری از انواع وب سایت ها، اعم از وبلاگ شخصی کوچک تا سایت شرکتی بزرگ قابل استفاده است.  ایجاد محتوا با کنترل دسترسی انعطاف پذیر، پشتیبانی از سیستم عامل های مختلف برای ویرایش محتوا، وجود تعداد زیادی ماژول متنوع ، قابلیت انعطاف پذیری برای هر نوع قالب ، طراحی سایت بر اساس تکنیک های سئو و بهینه سازی و قابلیت امنیت بالا از مهمترین ویژگی های دروپال است. انعطاف پذیری و امنیت بالا دروپال ، باعث شده تا وب سایتهای معتبری همچون کاخ سفید ، ناسا ، AOL و Yahoo Research این سیستم مدیریت محتوا را برای طراحی سایت انتخاب کنند.
  • Joomla : جوملا سیستم مدیریت محتوایی است که به شما امکان ساخت و طراحی سایت ها و برنامه های آنلاین قدرتمند را می دهد. بسیاری از ویژگی ها مثل کاربری آسان و قابلیت توسعه ، جوملا را به یکی از بهترین نرم افزار ایجاد وب سایت، تبدیل کرده است. فروم و پشتیانی قوی از دیگر مزایای سیستم مدیریت محتوای جوملا محسوب می شود.
رئوس مطالب

سطح بندی اطلاعات بر اساس گروه های کاربری – شیوه ذخیره سازی اطلاعات در CMS – ویژه گیهای سیستمهای مدیریت محتوا – مزایای استفاده از سیستم مدیریت محتوا نسبت به طراحی سایت اختصاصی – انواع سیستمهای مدیریت محتوا – مقیاس بزرگی وب سایت – انواع CMS از لحاظ نرم افزاری – دوبخش اصلی یک CMS – خصوصیات سیستمهای مدیریت محتوا معتبر – اهداف استفاده از CMS – سئوالاتی که قبل از ایجاد یک CMS باید پرسید؟ – مشکلات سیستمهای نگهدارنده اسناد (سیستمهای قدیمی تر از جوملا) – Sharepoint – امکانات Sharepoint – مزیتهای اصلی Sharepoint – موتورهای جستجوگر Search Engine – اصطلاحات ومفاهیم موتورهای جستجوگر – نحوه کار موتور جستجوگر – انواع موتورهای جستجو – تکنیک های بهینه سازی سایت برای موتورهای جستجوگر – SEO – پورتال Portal – ویژه گیهای پورتال – انواع پورتال

سیستمهای پرداخت الکترونیک

نگاه کوتاه

 از ویکی‌پدیا، دانشنامهٔ آزاد

سیستم پرداخت، (به انگلیسی: payment system) مجموعه‌ای از ابزار، عوامل فنی، قانونی و اجتماعی است، که ارزش پولی را بین پرداخت کننده و گیرنده وجه، منتقل می‌کند.

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

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

زیرساخت‌های قانونی؛ مجموعه قوانین، مقررات و توافق‌نامه‌هایی هستند، که از یک سیستم پرداخت، حمایت کرده و در طرفین معامله، ایجاد اطمینان و اعتماد می‌کنند.

شناخته شده‌ترین سیستم‌های پرداخت عبارتند از: سیستم پرداخت الکترونیکی و سیستم‌های معاملاتی بازار سهام، بازار اوراق قرضه، فارکس، بازار معاملات آتی و اختیار معامله، همچنین شبکه سوئیفت.

تاریخچه

ارتباط بین تجارت و تکنولوژی دیر زمانی است که وجود داشته و ادامه دارد. در واقع، یک پیشرفت تکنیکی باعث رونق تجارت شد و آن هم ساخت کشتی بود. در حدود ۲۰۰۰سال قبل از میلاد، فینیقیان تکنیک ساخت کشتی را بکار بردند تا از دریا بگذرند و به سرزمین‌های دور دست یابند. با این پیشرفت، برای اولین بار مرزهای جغرافیایی برای تجارت باز شد و تجارت با سرزمین‌های دیگر آغاز گشته و روشهای خلاقانه‌ای بصورتهای گوناگون به آن اضافه شد تا امروز که یکی از محبوبترین روشهای تجارت خرید اینترنتی در دنیای وب است. شما می‌توانید در زمانهای پرت، در هر زمان و مکان حتی با لباس خواب می‌توانید اینکار را بکنید. به معنای واقعی هر کسی می‌تواند صفحه اینترنتی خود را ساخته و کالاهای مورد نیازش را در آن ارایه دهد. البته تاریخچه تجارت الکترونیک با تاریخچه اختراعات قدیمی مثل کابل، مودم، الکترونیک، کامپیوتر و اینترنت پیوند خورده‌است. تجارت الکترونیک به شکل کنونی در سال ۱۹۹۱ محقق شد. از آن زمان هزاران هزار کسب و کار و تجار وارد این دنیا شده‌اند.درواقع تجارت الکترونیک برای اسان سازی معاملات اقتصادی به صورت الکترونیک تعریف شد. استفاده از این فناوری مانند تبادل الکترونیکی اطلاعات و انتقال الکترونیکی سرمایه، که هر دو در اواخر ۱۹۷۰ معرفی شده‌اند. و به شرکتها و سازمان‌ها اجازه ارسال اسناد الکترونیکی را داد. و اجازه تجارت کردن با ارسال اسناد تجاری مثل سفارشهای خرید یا فاکتورها را به صورت الکترونیکی، می‌دهد. با رشد و پذیرش کارت اعتباری، ماشین تحویلدار خودکار و تلفن بانک در دهه ۱۹۸۰ باعث فرم گیری تجارت الکترونیک شد. نوع دیگر تجارت الکترونیک سیستم رزرواسیون هواپیمایی بوسیله Sabre در امریکا و Travicom در بریتانیا، ارایه شده‌است. از دهه ۱۹۹۰ به بعد تجارت الکترونیک شامل اضافاتی مثل سیستم برنامه ریزی منابع سرمایه، داده کاوی، انبار داده شده‌است. در ۱۹۹۰، Tim Bermers-lee مرورگر وب جهان گسترده را اختراع کرد و شبکه ارتباطی اکادمیک را به سیستم ارتباطی هرروز و برای هر شخص در جهان وسیع دگرگون ساخت که اینترنت یا www خوانده می‌شود. سرمایه‌گذاری تجاری بروی اینترنت بخاطر کافی نبودن سرمایه‌گذاری کاملاً محدود شده بود. اگر چه اینترنت محبوبیت جهانی گسترده‌ای در حدود ۱۹۹۴ با استفاده از مرورگر وب Mosaic پیدا کرده بود. معرفی پروتکلهای امنیتی و DSL (اشتراک خط دیجیتال) که ارتباط مستمر را با اینترنت را اجازه می‌داد حدود ۵ سال طول کشید.. البته در سال ۲۰۰۰ بحران The dot-com bust باعث برشکستگی خیلی از شرکت‌های تجاری بزرگ و نتایج ناگواری را بوجود اورد، باعث بازبینی قوانین و افزایش مزایا و امکانات تجارت الکترونیک کردند و تا انتهای سال ۲۰۰۰، خیلی از شرکتهای تجاری امریکایی و اروپایی سرویس هایشان را از طریق اینترنت ارایه دادند. از ان موقع مردم به کلمه‌ای به عنوان تجارت الکترونیک با توانایی خرید کالاهای گوناگون از طریق اینترنت با استفاده از پروتکل‌های امنیتی و سرویس‌های پرداخت الکترونیکی که در ان مشارکت کردند، اشنا شدند. واز این زمان رقابت شدید بین شرکت‌ها و سازمانها شدت گرفتو با گذشت زمان هم اینرقابت تنگتر شده‌است. جالب این که تا پایان سال ۲۰۰۱ بیش از ۲۲۰ بیلیون دلار معاملات مالی توسط صدها سایت تجاری بر روی اینترنت انجام پذیرفته‌است و در همین سال مدل تجارت الکترونیک B2B دارای در حدود ۷۰۰ میلیارد تراکنش بود. و در سال ۲۰۰۷ سهم تجارت الکترونیک در خرده فروشی کل دنیا ۳٫۴٪ بوده‌است که انرا در سال ۲۰۱۰، ۵٫۱٪ اعلام نمودند که این امار رشد سریع این شیوه تجارت کردن را می‌رساند.

سیر زمانی

۱۹۷۹: Michael Aldrich خرید آنلاین را اختراع کرد

۱۹۸۱: Thomson Holidays اولین خرید انلاین B2B را در بریتانیا ایجاد کرد.

۱۹۸۲: Minitel سیستم سراسر کشور را در فرانسه بوسیله France Telecom و برای سفارش گیری انلاین استفاده شده‌است.

۱۹۸۴: Gateshead اولین خرید انلاین B2C را بنام SIS/Tesco و خانم Snowball در ۷۲ اولین فروش خانگی انلاین را راه انداخت.

۱۹۸۵: Nissan فروش ماشین و سرمایه‌گذاری با بررسی اعتبار مشتری به صورت انلاین از نمایندگی‌های فروش

۱۹۸۷: Swreg شروع به فراهم اوردن ومولف‌های اشتراک افزار و نرم‌افزار به منظور فروش انلاین محصولاتشان از طریق مکانیسم حسابهای الکترونیکی بازرگانی.

۱۹۹۰: Tim Berners-Lee اولین مرورگر وب را نوشت، وب جهان گستر، استفاده از کامپیوترهای جدید

۱۹۹۴: راهبر وب گرد: Netscape در اکتبر با نام تجاری Mozilla ارایه شد. Pizza Hut در صففحه وب سفارش دادن انلاین را پیشنهاد داد. اولین بانک انلاین باز شد. تلاشها برای پیشنهاد تحویل گل و اشتراک مجله به صورت انلاین شروع شد. لوازم بزرگسالان مثل انجام دادن ماشین و دوچرخه به صورت تجاری در دسترس قرار گرفت. Netscape 1.0 در اواخر ۱۹۹۴ با رمزگذاری SSL که تعاملات مطمئن را ایجاد می‌کرد، معرفی شد.

۱۹۹۵: Jeff Bezos، Amazon.com و اولین تجارتی ۲۴ ساعته رایگان را راه انداخت. ایستگاه‌های رادیوی اینترنتی رایگان، رادیو HK ورادیوهای شبکه‌ای شروع به پخش کردند. Dell و Cisco به شدت از اینترنت برای تعاملات تجاری استفاده کردند. eBay توسط Pierre Omidyar برنامه نویس کامپیوتر به عنوانوب سایت حراج بنیانگذاری شد.

۱۹۹۸: توانایی خریداری و بارگذاری تمبر پستی الکترونیکی برای چاپ از اینترنت. گروه Alibaba در چین با خدمات B2B و C2C, B2C را با سیستم خود تاییدی تاسیس شد.

۱۹۹۹: Business.com به مبلغ ۷٫۵ میلیون دلار به شرکتهای الکترونیکی فروخته شد. که در سال ۱۹۹۷ به ۱۴۹٬۰۰۰ دلار خریداری شده بود. نرم‌افزار اشتراک گذاری فایل Napster راه‌اندازی شد. فروشگاه‌های ATG برای فروش اقلام زینتی خانه به صورت انلاین راه‌اندازی شد.

۲۰۰۰: The dot-com bust

۲۰۰۲: ای‌بی برای پی‌پال ۱٫۵ میلیون دلار بدست اورد. Niche شرکت‌های خرده فروشی و فروشگاه‌های CSN و فروشگاهای شبکه‌ای را با منظور فروش محصولات از طریق ناحیه‌های هدف مختلف نسبت به یک درگاه متمرکز.

۲۰۰۳: Amazon.com اولین سود سالیانه خود را اعلان کرد.

۲۰۰۷: Business.com بوسیله R.H. Donnelley با ۳۴۵ میلیون دلار خریداری شد.

۲۰۰۹: Zappos.com توسط Amazon.com با قیمت ۹۲۸ میلیون دلار خریداری شد. تقارب خرده فروشان و خرید اپراتورهای فروش وبسایتهای خصوصی RueLaLa.com بوسیله GSI Commerce به قیمت ۱۷۰ میلیون دلار بعلاوه سود فروش از تا سال ۲۰۱۲.

۲۰۱۰: Groupon گزارش داد پیشنهاد ۶ میلیار دلاری گوگل را رد کرده‌است. در عوض این گروه طرح خرید وب سایتهای IPO را تا اواسط ۲۰۱۱ دارد.

۲۰۱۱: پروژه تجارت الکترونیک امریکا و خرده فروشی انلاین به ۱۹۷ میلیارد دلار رسیده‌است که نسبت به ۲۰۱۰ افزایش ۱۲ درصدی داشته‌است. Quidsi.com, parent company of Diapers.comتوسط Amazon.com به قیمت ۵۰۰ میلیون بعلاوه ۴۵ میلیون بدهکاری و تعهدات دیگر خریداری شد.

چکیده

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

جایگاه تجارت الکترونیک در کشورهای جهان


در ایران
[ویرایش]در مدت کوتاهی که از آغاز عمر تجارت الکترونیک در جهان معاصر می‌گذرد، این فعالیت رشد بی سابقه‌ای را در کشورهای پیشرفته داشته‌است و پیش بینی می‌شود در آینده نزدیک با سرعت شگفت انگیزی در سطح جهان توسعه یابد. بر اساس آمار محاسبه شده موسسات معتبر اقتصادی نیز پیش بینی شده‌است که گستره این فعالیت تا سال ۲۰۱۰ به طور متوسط ۵۴ الی ۷۱ درصد رشد خواهد کرد که نشان دهنده شتاب دار بودن حرکت آن است.[۲]

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

انواع تجارت الکترونیک

تجارت الکترونیک را می‌توان از حیث تراکنش‌ها(Transactions) به انواع مختلفی تقسیم نمود که بعضی از آنها عبارتند از:

  • ارتباط بنگاه و بنگاه (B2B): به الگویی از تجارت الکترونیکی گویند، که طرفین معامله بنگاه‌ها هستند.
  • ارتباط بنگاه و مصرف کننده (B2C): به الگویی از تجارت الکترونیک گویند که بسیار رایج بوده و ارتباط تجاری مستقیم بین شرکتها و مشتریان می‌باشد.
  • ارتباط مصرف کننده‌ها و شرکتها (C2B): در این حالت اشخاص حقیقی به کمک اینترنت فراورده‌ها یا خدمات خود را به شرکتها می‌فروشند.
  • ارتباط مصرف‌کننده با مصرف‌کننده (C2C): در این حالت ارتباط خرید و فروش بین مصرف‌کنندگان است.
  • ارتباط بین بنگاه‌ها و سازمان‌های دولتی (B2A): که شامل تمام تعاملات تجاری بین شرکتها و سازمانهای دولتی می‌باشد. پرداخت مالیاتها و عوارض از این قبیل تعاملات محسوب می‌شوند.
  • ارتباط بین دولت و شهروندان (G2C): الگویی بین دولت و توده مردم می‌باشد که شامل بنگاه‌های اقتصادی، موسسات دولتی و کلیه شهروندان می‌باشد. این الگو یکی از مولفه‌های دولت الکترونیک می‌باشد.
  • ارتباط بین دولت‌ها (G2G): این الگو شامل ارتباط تجاری بین دولتها در زمینه‌هایی شبیه واردات و صادرات می‌باشد.

البته باید گفت که انواع بالا کاملاً مستقل از هم نیستند و گاهی که تاکید بر خرید و فروش ندارند در قالب کسب و کار الکترونیک می‌آیند[۴]

رمزنگاری و امنیت در شبکه

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد 

رمزنگاری[۱] دانشی است که به بررسی و شناختِ اصول و روش‌های انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانال‌های ارتباطی یا محل ذخیره اطلاعات ناامن باشند) می‌پردازد.

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

رمزنگاری، پنهان‌نگاری، کدگذاری

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

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

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

اصول ششگانه کرشُهف

آگوست کرشهف شهرت خود را از پژوهشهای زبانشناسی و کتابهایی که در این خصوص و زبان ولاپوک نوشته بود بدست آورد. او در سال ۱۸۸۳ دو مقاله با عنوان «رمز نگاری نظامی» منتشر کرد. در این دو مقاله شش اصل اساسی وجود داشت که اصل دوم آن به عنوان یکی از قوانین رمز نگاری هنوز هم مورد استفاده دانشمندان در رمز نگاری پیشرفته‌است:

  • سیستم رمزنگاری اگر نه به لحاظ تئوری که در عمل غیرقابل شکست باشد.
  • سیستم رمز نگاری باید هیچ نکته پنهان و محرمانه‌ای نداشته باشد. بلکه تنها چیزی که سری است کلید رمز است.
  • کلید رمز باید به گونه‌ای قابل انتخاب باشد که اولاً بتوان براحتی آن را عوض کرد و ثانیاً بتوان آنرا به خاطر سپرد و نیازی به یاداشت کردن کلید رمز نباشد.
  • متون رمز نگاری باید از طریق خطوط تلگراف قابل مخابره باشند.
  • دستگاه رمز نگاری یا اسناد رمز شده باید توسط یکنفر قابل حمل و نقل باشد.
  • سیستم رمزنگاری باید به سهولت قابل راه‌اندازی باشد.

در توضیح قانون دوم کرشهف باید عنوان کرد که به چند دلیل عمده کلید رمز باید تنها اطلاعات محرمانه در یک سیستم رمزنگاری باشد: ۱- محرمانه نگه داشتن یک رشته بیت ۵۱۲ تایی (به طور معمول) بسیار ساده تر و عملی تر از محرمانه نگه داشتن یک الگوریتم یا روش پیاده سازی است. ۲- اگر کلید رمز افشا شود تنها با اتخاذ یک کلید جدید می توان مجددا به یک سیستم رمزنگاری جدید و امن دست پیدا کرد در صورتیکه اگر امنیت سیستم رمزنگاری وابسته به الگوریتم و روش پیاده سازی باشد با افشای این اطلاعات بازتولید یک سیستم رمزنگاری جدید و امن بسیار دشوار خواهد بود. ۳- وقتی که کلید رمز تنها اطلاعات محرمانه یک سیستم رمزنگاری باشد می توان از یک سیستم مشترک (با کلیدهای متفاوت) برای ارتباط با گیرنده/فرستنده های مختلف استفاده کرد در صورتی که اگر غیر از این می بود برای ارتباط با هر فرستنده/گیرنده به یک الگورتیم و روش پیاده سازی جدید نیاز می بود. ۴- وقتی که الگوریتم و روش پیاده سازی برای همگان قابل دسترسی باشد مشکلات و حفره های امنیتی الگورتیم پیش از آنکه توسط یک حمله گر مورد سوء استفاده قرار بگیرد توسط محققان امنیتی مورد بررسی قرار گرفته و رفع می شود و بنابراین سیستم های رمزنگاری ای که بر اساس الگوریتم های روشن و قابل دسترسی عمل می کنند معمولا قابل اعتمادتر هستند.[۲]

رمزنگاری پیشرفته

با پدید آمدن رایانه‌ها و افزایش قدرت محاسباتی آنها، دانش رمزنگاری وارد حوزهٔ علوم رایانه گردید و این پدیده، موجب بروز سه تغییر مهم در مسائل رمزنگاری شد:

  1. وجود قدرت محاسباتی بالا این امکان را پدید آورد که روش‌های پیچیده‌تر و مؤثرتری برای رمزنگاری به وجود آید.
  2. روش‌های رمزنگاری که تا قبل از آن اصولاً برای رمز کردن پیام به کار می‌رفتند، کاربردهای جدید و متعددی پیدا کردند.
  3. تا قبل از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام می‌گرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود.

تعاریف و اصطلاحات

عناصر مهمی که در رمزنگاری مورد استفاده قرار می‌گیرند به شرح زیر می‌باشد:

  • متن آشکار
پیام و اطلاعات را در حالت اصلی و قبل از تبدیل شدن به حالت رمز، متن آشکار یا اختصاراً پیام می‌نامند. در این حالت اطلاعات قابل فهم توسط انسان است.
  • متن رمز
به پیام و اطلاعات بعد از درآمدن به حالت رمز، گفته می‌شود. اطلاعات رمز شده توسط انسان قابل فهم نیست.
  • رمزگذاری (رمز کردن)
عملیاتی است که با استفاده از کلید رمز، پیام را به رمز تبدیل می‌کند.
  • رمزگشایی (بازکردن رمز)
عملیاتی است که با استفاده از کلید رمز، پیام رمز شده را به پیام اصلی باز می‌گرداند. از نظر ریاضی، این الگوریتم عکس الگوریتم رمز کردن است.
  • کلید رمز
اطلاعاتی معمولاً عددی است که به عنوان پارامتر ورودی به الگوریتم رمز داده می‌شود و عملیات رمزگذاری و رمزگشایی با استفاده از آن انجام می‌گیرد. انواع مختلفی از کلیدهای رمز در رمزنگاری تعریف و استفاده می‌شود.

رمزنگاری دانش گسترده‌ای است که کاربردهای متنوعی دارد. در این حوزهٔ وسیع، تعاریف زیر از اهمیت ویژه‌ای برخوردار هستند:

سرویس رمزنگاری

به طور کلی، سرویس رمزنگاری، به قابلیت و امکانی اطلاق می‌شود که بر اساس فنون رمزنگاری حاصل می‌گردد. قبل از ورود رایانه‌ها به حوزهٔ رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمز کردن پیام و پنهان کردن مفاد آن می‌شده‌است. اما در رمزنگاری پیشرفته سرویس‌های مختلفی از جمله موارد زیر ارائه گردیده‌است:

به معنای ایجاد اطمینان از صحت اطلاعات و عدم تغییر محتوای اولیهٔ آن در حین ارسال است. تغییر محتوای اولیهٔ اطلاعات ممکن است به صورت اتفاقی (در اثر مشکلات مسیر ارسال) و یا به صورت عمدی باشد.
به معنای تشخیص و ایجاد اطمینان از هویت ارسال‌کننده اطلاعات و عدم امکان جعل هویت افراد می‌باشد.
به این معنی است که ارسال‌کنندهٔ اطلاعات نتواند در آینده ارسال آن را انکار یا مفاد آن را تکذیب نماید.

چهار مورد بالا، سرویس‌های اصلی رمزنگاری تلقی می‌شوند و دیگر اهداف و سرویس‌های رمزنگاری، با ترکیب چهار مورد بالا قابل حصول می‌باشند.

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

پروتکل رمزنگاری

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

معمولاً یک پروتکل رمزنگاری مشخص می‌کند که

  • اطلاعات موجود در چه قالبی باید قرار گیرند
  • چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود
  • کدامیک از الگوریتم‌های رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند
  • روابط ریاضی چگونه به اطلاعات عددی اعمال شوند
  • چه اطلاعاتی باید بین طرف ارسال‌کننده و دریافت‌کننده رد و بدل شود
  • چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است

به عنوان مثال می‌توان به پروتکل تبادل کلید دیفی-هلمن برای ایجاد و تبادل کلید رمز مشترک بین دو طرف اشاره نمود.

الگوریتم رمزنگاری

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

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

بنا بر این تمام امنیت حاصل شده از الگوریتم‌ها و پروتکل‌های رمزنگاری استاندارد، متکی به امنیت و پنهان ماندن کلید رمز است و جزئیات کامل این الگوریتم‌ها و پروتکل‌ها برای عموم منتشر می‌گردد.

بر مبنای تعریف فوق، توابع و الگوریتم‌های مورد استفاده در رمزنگاری به دسته‌های کلی زیر تقسیم می‌شوند:

الگوریتمهای رمزنگاری بسیار متعدد هستند، اما تنها تعداد اندکی از آن‌ها به صورت استاندارد درآمده‌اند.

رمزنگاری کلید متقارن

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

واضح است که در این نوع از رمزنگاری، باید یک کلید رمز مشترک بین دو طرف تعریف گردد. چون کلید رمز باید کاملاً محرمانه باقی بماند، برای ایجاد و رد و بدل کلید رمز مشترک باید از کانال امن استفاده نمود یا از روش‌های رمزنگاری نامتقارن استفاده کرد. نیاز به وجود یک کلید رمز به ازای هر دو نفرِ درگیر در رمزنگاری متقارن، موجب بروز مشکلاتی در مدیریت کلیدهای رمز می‌گردد.

رمزنگاری کلید نامتقارن

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

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

دو کلید عمومی و خصوصی با یکدیگر متفاوت هستند و با استفاده از روابط خاص ریاضی محاسبه می‌گردند. رابطهٔ ریاضی بین این دو کلید به گونه‌ای است که کشف کلید خصوصی با در اختیار داشتن کلید عمومی، عملاً ناممکن است.

مقایسه رمزنگاری کلید متقارن و کلید نامتقارن

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

تجزیه و تحلیل رمز

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

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

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

رمزهای جانشینی

در رمز نگاری جانشینی هر حرف یا گروهی از حروف بایک حرف یا گروهی دیگراز حروف جابجا می‌شوند تا شکل پیام بهم بریزد. یکی از قدیمی‌ترین رمزهای شناخته شده روش رمز نگاری سزار است که ابداع آن به ژولیوس سزار نسبت داده می‌شود. در این روش حرف a به d تبدیل می‌شود bبه c، e به fوبه همین ترتیب تاz که با حروفc جایگزین می‌شوند.

افزونگی

اولین اصل آن است که تمام پیامهای رمز شده بایدشامل مقداری «افزونگی»[داده‌های زائد]باشندبه عبارت دیگر لزومی ندارد که اطلاعات واقعی به همان گونه که هستند رمز و ارسال شوند. یک مثال می‌تواند به فهم دلیل این نیاز کمک کند. فرض کنید یک شرکت به نام TCP با۶۰۰۰۰کالااز طریق سیستم پست الکترونیکی سفارش خرید می‌پذیرد. برنامه نویسان شرکت TCP به خیال آن که برنامه‌های موثر و کار آمدی می‌نویسند پیامهای سفارش کالا را مشتمل بر ۱۶بایت نام مشتری و به دنبال آن سه بایت فیلد داده (شامل یک بایت برای تعدادکالا ودو بایت برای شمارهٔ کالا) در نظر می‌گیرد که سه بایت آخر توسط یک کلید بسیار طولانی رمزنگاری می‌شود واین کلید را فقط مشتری و شرکت TCP می‌داند.

تازگی پیامها

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

راهکاری برای ایجاد تازگی پیام

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

رمزنگاری به صورت سخت‌افزاری

الگوریتم‌های رمزنگاری رامی توان هم به صورت سخت‌افزاری (به منظورسرعت بالاتر) وهم به صورت نرم‌افزاری (برای انعطاف‌پذیری بیشتر) پیاده‌سازی کرد روشهای جانشینی وجایگشتی می‌توانند با یک مدار سادهٔ الکترونیکی پیاده‌سازی شوند. p-box ابزاری است که برای جایگشت بیتهای یک ورودی هشت بیتی کاربرد دارد. بود با سیم بندی و برنامه ریزی درونی این p-box قادراست هر گونه جایگشت بیتی راعملاً با سرعتی نزدیک به سرعت نور انجام بدهد چرا که هیچ گونه محاسبه‌ای لازم نیست وفقط تأخیر انتشار سیگنال وجود دارد. این طراحی از اصل کرکهف تبعیت می‌کند یعنی:حمله کننده از روش عمومی جایگشت بیت‌ها مطلّع است آن چه که او از آن خبر ندارد آن است که کدام بیت به کدام بیت نگاشته می‌شود کلید رمز همین است.

بانکداری الکترونیک

از ویکی‌پدیا، دانشنامهٔ آزاد

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

پیشینه

کهن‌ترین شکل بانک‌داری مربوط به دوران هخامنشیان و در میانرودان (بخشی از ایران آن زمان) است که در آنجا یهودیان عهده‌دار امور بانکداری بوده‌اند. مدارکی از این ناحیه به دست آمده‌است که کاملا حکمچک را دارند. واژهٔ «بانک» نیز در آن زمان به کار می‌رفته‌است و واژهٔ «چک» نیز از آن روزگار تا به امروز باقی مانده‌است. در نوشته‌های ساسانیان به زبان پهلوی به واژهٔ چک برمی‌خوریم و همین واژه از ایران به دیگر نقاط جهان راه یافته‌است.[۱]

تاریخچه بانکداری مدرن

ریشه بانکداری به معنای امروزی این کلمه، می‌توان در دوره رنسانس ایتالیا ودر شهرهای ثروتمند آن درشمال مانند فلورانس، ونیس و ژنووا یافت. خانواده‌های باردی و پروزی در ۴ میلادی بانکداری را در فلورانس با توزیع شعبات در بسیاری از بخشهای دیگر اروپا گسترش دادند؛ و شاید مشهورترین بانک ایتالیا، بانک medici، باشد که توسط جیووانی مدیسی در سال ۱۳۹۷ تاسیس شد. اولین بانک سرمایه‌گذاری ایالتی شناخته شد،بانک سنت جورج (به ایتالیایی: Banco di san Giorgio) در ژنووا ایتالیا در سال ۱۴۰۷، تاسیس شد.

 بانک نهادی اقتصادی است که وظیفه‌هایی چون تجهیز و توزیع اعتبارات، عملیات اعتباری، عملیات مالی، خرید و فروش ارز ها، نقل و انتقال وجوه، وصول مطالبات اسنادی و سود سهام مشتریان، پرداخت بدهی مشتریان، قبول امانات، نگهداری سهامو اوراق بهادار و اشیای قیمتی مشتریان، انجام وظیفهٔ قیمومیت و وصایت برای مشتریان، انجام وکالت خریدها و فروش را بر عهده دارند. وظایف بانک مرکزی عبارتست از انتشار اسکناس و تنظیم حجم پول در گردش، نگهداری فلزات گرانبها و ارزهایمتعلق به دولت، نگهداری ذخایر قانونی و موجودی نقدی بانک‌های تجاری، ایجاد امکانات اعتباری برای بانک‌های تجاری، انجام دادن عملیات تصفیه حساب بین بانک‌ها، صندوقداری و نمایندگی مالی برای عملیات بانکی دولت، اجرای سیاست پولی و کنترل حجم اعتبارات. این بانک مسؤولیت کنترل شبکه بانکی و اداره سیاست پولی ثبات را بر عهده دارد. این بانک، بانک‌های دیگر را در جهت ارائهٔ خدمت و هماهنگی با اقتصاد به فعّالیت وامیدارد.

تعریف بانک

تعاریفی که از یک بانک ارائه می‌شود از کشوری به کشور دیگر متفاوت است.

انگلستان

طبق قوانین معمول انگلیسی، یک بانکدار به عنوان فردی تعریف شده‌است که دارای شغل بانکداری است و مسئولیت‌هایش که به صورت زیر تعیین شده‌است:

  • انجام محاسبات جاری برای مشتریان
  • جمع‌آوری چک‌های مشتریان

شغل بانکداری در بسیاری از کشورها که قانون متداول انگلیس در آن رایج است از طریق اساسنامه تعریف نشده‌است اما این تعریف طبق قوانین متداول صورت گرفته‌است.

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

ایالات متحده آمریکا

در ایالات متحده آمریکا صنعت بانکداری صنعتی کاملا قانون‌دار با قانونگذاری بسیار دقیق و نکته‌بین است تمامی بانک‌ها با سپردهای تضمین شده ازطریق fdic دارای شرکت نیمه سپرده گذاری فدرال fdic بعنوان یک متعادل کننده هستند گرچه سیستم ذخیره فدرالی اولین تعدیل کننده بانک‌های ایالتی عضو فدرال است اما اداره ممیزی اسکناس occ اولین تعدیل کننده فدرالی بانک‌های داخلی است و اداره نظارت بر پس انداز یا ots اولین تعدیل کننده فدرالی پس‌اندازها می‌باشد.

بانک‌های غیر عضو ایالتی از طریق مراکز ایالتی وهمینطور fdic مورد بررسی قرار می‌گیرند. بانک‌های داخلی یک تعدیل کننده اولیه دارد یعنی occ واسطه‌های واجد شرایط و کارگران کمکی توسط MAIC تعدیل می‌شوند هر مرکز تعدیل مجموعه قوانین ومقررات خاص خودش را دارد که بانک‌ها و صندوق‌های ذخیره باید از آنها پیروی کنند.

شورای نظارت بر موسسات مالی فدرال FFIEC درسال ۱۹۷۹ بعنوان یک بدنه بین نمایندگی‌های رسمی که وکالت دارند تا قوانین وسیاست‌گذاریهای واحد معیارها واستانداردها را تعریف کرده شیوه‌های متداول فدرال بر موسسات مالی را گزارش دهد گرچه FFIEC موجب ایجاد درجهٔ بالاتری از تعدیل بین نمایندگی‌ها وشعب بانک‌ها شده‌است قوانین و مقررات تعدیل دائما در حال تغییر است علاوه بر قوانین در حال تغییر تغییرات در صنعت موجب ادغام موسسات ذخیره فدرال FDIC،OTS،MAIC،OCC در هم شده‌است ادارات بسته شده‌اند.

گونه‌های بانک‌داری

  • بانک‌داری شعبه‌ای: فعالیت بانکی با مجوز تأسیس شعبه.
  • بانک‌داری بی‌شعبه: فعالیت بانکی بدون مجوز تأسیس شعبه.
  • بانک‌داری سرمایه‌گذاری: واسطه‌گری مالی در خرید اوراق بهادار دست اول و عرضه به سرمایه‌گذاران در بازار سرمایه.
  • عمده‌بانک‌داری: انجام عملیات بانکی توسط یک بانک برای یک بنگاه مالی یا بانک دیگر.
  • خرده‌بانک‌داری: انجام عملیات توسط یک بانک برای بنگاه‌ها و اشخاص.

انواع بانک‌ها

بانک‌ها را می‌توان به انواع مختلف تقسیم کرد از قبیل:

  • بانکداری جزئی، که مستقیما با اشخاص وتجارتها ی کوچک سرو کار دارد.
  • بانکداری تجاری، که خدمات تجارت بازار متوسط را ارائه می‌دهد
  • بانکداری شراکتی، که مربوط به موسسات تجاری بزرگ ومستقل
  • بانکداری خصوصی، که خدمات مدیریت سرمایه را برای اشخاص و خانواده‌های دارای ارزش شبکه‌ای بالا فراهم می‌کند
  • بانکداری سرمایه‌گذاری، که مربوط می‌شود به فعالیت‌هایی که در بازارهای مالی انجام می‌گیرد.

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

انواع بانک‌های جزئی

انواع بانک‌های سرمایه

  • بانک‌های سرمایه‌ای که پذیره‌نویسی می‌کنند (برای فروش ضمانت می‌کنند) اوراق بهادار و اوراق قرضه، به داد و ستد حساب‌های خودشان می‌پردازند، ایجاد بازار می‌کنند و به شرکت‌ها پیشنهاد فعالیت‌های بازار سرمایه نظیر ادغام‌ها و کسب سود را می‌دهند.
  • بانک‌های بازرگان:از دیرباز بانک‌هایی بودند که ضامن سرمایه‌گذاری –معاملاتی بودند تعریف امروزی آن اشاره دارد به بانک‌هایی که برای شرکت‌ها سرمایه را بصورت سهام عرضه می‌کند نه وام. برخلاف شرکت‌های سرمایه مخاطره‌آمیز، آنها تمایل دارند که در شرکت‌های جدید سرمایه‌گذاری نکنند.

انواع دیگر بانک‌ها

  • بانک‌های مرکزی:که معمولاً تحت مالکیت دولت است و با مسئولیت‌ها قانونی مشابه مدیریت می‌شود؛ نظیر پشتیبانی از بانک‌های تجاری یا مدیریت نرخ سود نقدی به طور کلی آنها که نقدینگی را برای سیستم بانک‌داری فراهم می‌کنند و به عنوان وام‌دهنده در آخرین وهله در شرایط بحران عمل می‌کند.
  • بانک‌های اسلامی: به قوانین اسلامی پای‌بندند. اشکال[مبهم] از بانکداری دور سیاست‌گذاری‌های صحیحی می‌چرخند که بر قوانین اسلامی استوار است تمامی فعالیت‌های بانک‌داری باید از سود (بهره) اجتناب کنند.

مدیریت پروژه فناوری اطلاعات

نگاه کوتاه

 از ویکی‌پدیا، دانشنامهٔ آزاد

تعریف

استاندارد PRINCE2 [۱] دو تعریف را برای پروژه ارائه داده است که اولی به اهداف پروژه و دیگری به ویژگی‌های پروژه توجه دارد. این استاندارد از جهت اهداف ،پروژه را یک محیط مدیریتی که به منظور تحویل یک یا چند محصول تجاری مطابق با یک موقعیت تجاری مشخص ایجاد شده است تعریف می‌کند و در جای دیگر و با توجه به ویژگی‌های پروژه آن را یک سازمان موقتی که باید یک نتیجه منحصربه‌فرد و از پیش تعیین شده را با یک زمان از قبل تعیین شده و منابع مشخص، ایجاد کند می‌داند. استاندارد PMBOK [۲] یک پروژه را تلاشی موقتی که به منظور تولید محصول، خدمت یا نتیجه‌ای منحصربه‌فرد انجام می‌گیرد، می‌داند. و براساس تعریف استاندارد ICB پروژه یک عملکرد محدود شده توسط زمان و هزینه برای دست‌یابی به تحویل شدنی‌های تعریف شده (محدوده تعریف شده برای برآوردن موضوعات پروژه) براساس استانداردهای کیفیت و الزامات است.[۳] قابل توجه است که همه این استانداردها محدودیت زمان، هزینه(منابع) و موقتی بودن را درکنار تولید یک محصول مشخص و منحصربه‌فرد مورد توجه قرار داده‌اند.

ویژگی‌ها

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

  • پروژه‌ها در برگیرنده فعالیت‌هایی هستند که باید در زمانی معین و با هزینه و کیفیتی معین اجرا بشوند.
  • پروژه‌ها اغلب یک بار انجام می‌شوند و به پایان می‌رسند. ولی گاهی نیز پروژه به دسته فعالیت‌هایی گفته می‌شود که بایستی در فاصله‌های تاریخی ویژه تکرار شوند، همچون بازسازی‌های بنیادی یک پالایشگاه هر دو سال یکبار
  • در بسیاری موارد به نادرستی پروژه، مدیریت پروژه، سنجش پروژه و برنامه‌ریزی پروژه به یک مفهوم بکار می‌روند و شاید یکی از دلایل و شوندهای آن آموزش همهٔ موارد بالا در یک ترم و در یک درس سه واحدی باشد، که دانشجویان مهندسی صنایع و مدیریت، یکبار و در یک ترم بایستی با تمام این توانایی‌ها آشنا شوند.

عموماً در ایران و دیگر نقاط جهان، منظور از نوع پروژه، پروژه های ساختمانی و تاسیساتی است در صورتیکه با توجه به تعریف پروژه میتوان تقسیم بندی زیر را به عنوان نمونه در نظر گرفت:

  • پروژه های تحقیقاتی
  • پروژه های ساختمانی
  • پروژه های مهندسی مجدد
  • پروژه های تدارکات
  • پروژه های پیاده سازی فرایندهای کسب و کار
  • پروژه های اجتماعی

یا:

  • محصول محور
  • ابزار محور
  • سیستم محور
  • استراتژی محور
  • مدیریت پروژه جامع

فازهای پروژه

فاز صفر: طرح توجیهی

فازیک: طراحی اولیه

فاز دو: طراحی تفصیلی

فاز سه: اجرای پیمان

فاز چهار: بهره برداری

مدیریت پروژه

(به انگلیسی: Project managementفرایندی است، در جهت حفظ مسیر پروژه، برای دستیابی به تعادلی اقتصادی و موجه، بین سه عامل هزینه، زمان و کیفیت، در حین اجرای پروژه، که از ابزار و تکنیک های خاص خود، در انجام این مهم کمک می گیرد. در واقع کنترل اجرای دقیق و کامل برنامه تدوین شده برای پروژه است، به طوری که هنگام خروج از برنامه بتوان با تشخیص علل و طرح اقتصادی ترین فعالیتها، پروژه را به نزدیکترین حالت ممکن در مسیر اولیه و اصلی خود باز گرداند. کنترل پروژه در این راه از سه عامل زیر بهره می‌گیرد.

  1. – تعیین وضعیت واقعی پروژه
  2. – مقایسه وضعیت واقعی با برنامه
  3. – در نظر گرفت اقدام اصلاحی

مثلث کنترل پروژه،فلش ها: هزینه، طرح، برنامه زمانی

نرم‌افزارهای رایج کنترل پروژه شامل سری نرم‌افزار های پریماورا وهمچنین نسخه های MSP می باشد.

مهندسی مدیریت پروژه

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

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

انجمن مدیرت پروژه APM در سال ۱۹۹۲ اولین سری استاندارد دانش مدیریت پروژه (Project Management Body Of Knowledge) که به اختصار PMBOK خوانده می شود ار ارائه نمود که تاکنون ۴ بار این استاندارد بازنگری شده است .

این استاندارد حاوی الزاماتی برای مدیرت پروژه می باشد که تضمین کننده رسیدن به اهداف پروژه ها می باشد .

بر اساس PMBOK هر پروژه به ۵ مرحله آغاز ، برنامه ریزی ، اجرا، کنترل و خاتمه تقسیم شده و این استاندارد برای اجرای موفق این ۵ مرحله راهنمایی های کاربردی ارائه می کند.

سازمان جهانی استاندارد سازی ( IOS ) با توجه به نتایج موفق به دست آمده از اجرای استاندارد PMBOK اقدام به تدوین استاندارد جهانی ISO 10006 نمود و این استاندارد بین المللی می رود در جهان جانشین موفقی برای سایر روشهای مدیریت پروژه گردد . اجرای این استاندارد ها بویژه به شرکتهایی که پروژه های بزرگ صنعتی و عمرانی را اجرا می کنند و یا در مناقصه های بین المللی شرکت می نمایند توصیه می شود.

برنامه ریزی و کنترل پروژه

  1. تهیه ساختار شکست کار پروژه WBS
  2. برنامه ریزی و کنترل پروژه به روش مسیر بحرانی CPM
  3. برنامه ریزی و کنترل پروژه به روش PERT
  4. بودجه بندی پروژه ها و زمانبندی منابع مورد استفاده
  5. تهیه گزارش از روند و پیشرفت پروژه ها
  6. تهیه گزارش کارگاهی و مدیریتی
  7. مشارکت در تحلیل پروژه و تهیه طرح های بهبود
  8. خدمات هزینه یابی پروژه تهیه صورت وضعیت

آموزش تصویری PHP-MySQL

نگاه کوتاهاز ویکی‌پدیا، دانشنامهٔ آزاد

پی‌اچ‌پی (به انگلیسی: PHP)

یک زبان برنامه‌نویسی است که برای طراحی وب توسعه یافته‌است، اما می‌توان از آن به عنوان یک زبان عمومی نیز استفاده‌کرد. تا ژانویهٔ سال ۲۰۱۳ میلادی پی‌اچ‌پی بر روی ۲۴۴ میلیون وب‌گاه و ۲٫۱ میلیونسرور وب نصب شده‌است.[۳] این زبان در سال ۱۹۹۵ میلادی توسط راسموس لِردورف (به انگلیسی: Rasmus Lerdorf) ساخته‌شد و در حال حاضر توسعهٔ آن بر عهدهٔ گروه پی‌اچ‌پی می‌باشد.[۴] در ابتدا پی‌اچ‌پی از عبارت صفحهٔ خانگی شخصی (به انگلیسی: Personal Home Page) گرفته شده‌بود.[۴] اما اکنون این کلمه مخففِ بازگشتی PHP: Hypertext Preprocessor به معنی پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن می‌باشد.[۵]

کدهای پی‌اچ‌پی توسط یک سرور وب که نرم‌افزار پی‌اچ‌پی بر روی آن نصب باشد، تفسیر می‌شوند. دستورهای این زبان می‌توانند به صورت مستقیم در درون کدهای اچ‌تی‌ام‌ال قرار بگیرند. زبان پی‌اچ‌پی از نسخهٔ ۴٫۳ به بعد قابلیت پشتیبانی ازواسط خط فرمان را نیز به امکانات خود اضافه کرد. این قابلیت می‌تواند برای ایجاد نرم‌افزارهای غیر وبی و یا نرم‌افزارهایی با واسط گرافیکی کاربر مورد استفاده قرار بگیرد.[۶]

پی‌اچ‌پی یک نرم‌افزار آزاد است که تحت مجوز پی‌اچ‌پی انتشار یافته است. این مجوز به دلیل قرار دادن محدودیت بر روی استفاده از عنوان پی‌اچ‌پی، با مجوز همگانی گنو (GPL) سازگار نیست. پی‌اچ‌پی را می‌توان بر روی اکثر سرورهای وبنصب کرد. همچنین قابلیت نصب آن به صورت یک شل جداگانه بر روی تقریباً تمامی سیستم‌های عامل و پلت‌فرم‌ها (یا سکوها) وجود دارد.[۷] تمامی این استفاده‌ها رایگان است.[۸]

تاریخچه

راسموس لردورف (در تصویر سمت راست) که پی‌اچ‌پی اولیه را نوشت، در کنار اندی گاتمنس و زیو سوراسکی که نویسنده‌های نسخهٔ ۳ پی‌اچ‌پی بودند.

توسعهٔ‌پی‌اچ‌پی از سال ۱۹۹۴ و زمانی که راسموس لردورف تعدادی اسکریپت به زبان سی نوشت تا صفحهٔ خانگی خود را مدیریت کند، آغاز شد. این اسکریپت‌ها که به صورت رابط دروازهٔ مشترک (به انگلیسی: Common Gateway Inteface) نوشته شده‌بودند، مسئول انجام عملیات‌های ساده‌ای مانند نشان دادن رزومهٔ راسموس و بررسی آمارهای بازدید از وب‌گاه او بودند.[۴] با گسترش اسکریپت‌ها و افزودن توانایی تعامل با فرم‌های وب و ارتباط با پایگاه‌های داده، نامصفحهٔ خانگی شخصی/مفسر فرم (به انگلیسی: Personal Home Page/Form Interpreter) یا PHP/FI برای آن‌ها انتخاب شد. PHP/FI می‌توانست برای ایجاد نرم‌افزارهای سادهٔ وب مورد استفاده قرار بگیرد. لردورف در ابتدا برای یافتن خطاهای این اسکریپت‌ها و بهبود آن‌ها، در ۸ جون سال ۱۹۹۵ میلادی اسکریپت‌ها را با نام ابزارهای صفحهٔ خانگی شخصی نسخهٔ ۱٫۰ (به انگلیسی: Personal Home Page Tools version 1.0) تحت مجوز عمومی گنو بر روی گروه خبرییوزنت منتشر کرد.[۹] این نسخهٔ اولیه بسیاری از ویژگی‌های نسخهٔ کنونی این زبان را دارا بود. متغیرها به سبک زبان پرل بودند، مدیریت فرم‌ها وجود داشت و می‌شد کدها را در درون کدهای اچ‌تی‌ام‌ال قرار داد. قواعد پی‌اچ‌پی نیز از زبان پرلپیروی می‌کردند، اما ساده‌تر، محدودتر و ناپایدارتر بودند.[۴] با شکل‌گیری یک گروه برنامه‌نویسی و بعد از انجام تست‌های فراوان بر روی نسخهٔ بتا و بازنویسی موتور تجزیه‌کننده، سرانجام PHP/FI نسخهٔ ۲٫۰ در نوامبر سال ۱۹۹۷ میلادی منتشر گردید.[۴]

اندی گاتسمن و زیو سوراسکی با بازنویسی موتور تجزیه‌کننده در سال ۱۹۹۷ میلادی، پایه و اساس نسخهٔ ۳ پی‌اچ‌پی را بنیان نهادند. این ۲ نفر با همراهی لردورف با تغییر نام پی‌اچ‌پی به پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن (به انگلیسی: PHP: Hypertext Preprocessor) که یک مخفف بازگشتی است، در ماه جون ۱۹۹۸ میلادی رسماً پی‌اچ‌پی نسخهٔ ۳٫۰ را منتشر کردند.[۴] بعد از این اتفاق گاتسمن و سوراسکی شروع به نوشتن هستهٔ جدیدی برای زبان پی‌اچ‌پی کردند که منجر به به‌وجودآمدن موتور زِند در سال ۱۹۹۹ میلادی شد. آن‌ها همچنین شرکت زِند تکنولوژی را در کشور اسرائیل تاسیس کردند.[۱۰][۱۱]

در تاریخ ۲۲ می سال ۲۰۰۰ میلادی پی‌اچ‌پی نسخهٔ ۴ که از موتور زند نسخهٔ ۱٫۰ استفاده می‌کرد، منتشر شد.[۴] این نسخه تا ماه اوت سال ۲۰۰۸ میلادی توسعه یافت و به زیرنسخهٔ ۴٫۴٫۹ رسید. هم‌اکنون پشتیبانی این نسخه به پایان رسیده‌است و هیچ به‌روزرسانی برای آن منتشر نمی‌شود.[۱۲][۱۳]

در ۱۳ ژوئیه سال ۲۰۰۴ میلادی، نسخهٔ ۵ پی‌اچ‌پی که از موتور زند نسخهٔ ۲ بهره می‌برد، منتشر شد.[۴] نسخهٔ ۵ ویژگی‌های زیادی را به پی‌اچ‌پی اضافه کرد. پشتیبانی کامل از شیء گرایی، افزونهٔ PDO (به انگلیسی: PHP Data Object Extension) (که دسترسی به بانک‌های اطلاعاتی را ممکن می‌ساخت) و بهبود بازدهی از جملهٔ این ویژگی‌ها محسوب می‌شد.[۱۴] از سال ۲۰۰۸ به بعد، با پایان یافتن پشتیبانی از تمامی نسخه‌های قدیمی‌تر پی‌اچ‌پی، نسخهٔ ۵ تنها نسخهٔ در حال گسترش است.

در کنار نسخهٔ ۵ پی‌اچ‌پی یک نسخهٔ اصلی دیگر در حال توسعه است. با توجه به تغییرات عمدهٔ موجود در این نسخه از جمله پشتیبانی کامل از یونیکد، قرار بود این نسخه به عنوان نسخهٔ ۶ پی‌اچ‌پی منتشر گردد. اما پیاده‌سازی پشتیبانی از یونیکد بیش از آنچه انتظار می‌رفت به طول انجامید. این امر باعث شد تا در مارچ سال ۲۰۱۰ میلادی، این نسخه به بخش در حال توسعه (به انگلیسی: Trunk) منتقل شد و دیگر به آن نسخهٔ ۶ گفته نمی‌شود.

مهم‌ترین تغییرات این بخش جدید شامل حذف register_globals،[۱۵] magic quotes و safe mode می‌باشد.[۱۲] دلیل حذف magic quotes تاثیرات غیرقابل پیش‌بینی و دلیل حذف register_globals خطرهای امنیتی بود که در نرم‌افزارها ایجاد می‌کرد. به جای استفاده ازmagic qoutes برنامه‌نویس‌ها می‌توانند از تابع addslashes() و یا توابع دقیق‌تری که برای هر پایگاه داده ایجاد شده‌اند مانند mysql_real_escape_string() که برای پایگاه داده مای‌اس‌کیوال طراحی شده‌است، استفاده کنند. توابعی که قرار است در نسخهٔ ۶ حذف شوند، از نسخهٔ ۵٫۳ به صورت توصیه‌نشده (به انگلیسی: Deprecated) درآمده‌اند و استفاده از آن‌ها باعث بروز هشدار در نرم‌افزار خواهد شد.[۱۶]

تعداد بسیار زیادی از پروژه‌های بزرگ و متن‌باز که از زبان پی‌اچ‌پی استفاده می‌کنند، از سال ۲۰۰۸ با به وجود آمدن جنبش ابتکاری GoPHP5 به معنای برو به پی‌اچ‌پی ۵ دیگر از پی‌اچ‌پی نسخهٔ ۴ استفاده نمی‌کنند. این جنبش توسط بسیاری از توسعه‌دهندگان پی‌اچ‌پی پشتیبانی شد تا بتوانند به گسترش استفاده از نسخهٔ ۵ پی‌اچ‌پی کمک کنند.[۱۷][۱۸][۱۹]

مفسرهای زبان پی‌اچ‌پی برای هر دو معماری ۳۲بیتی و ۶۴بیتی موجود می‌باشند. تنها استثنا سیستم‌عامل ویندوز است که فقط نسخه‌های ۳۲بیتی برای آن منتشر می‌شود. اما مدتی است که نسخه‌های ۶۴بیتی ویندوزی نیز به صورت امتحانی بر روی وب‌گاه پی‌اچ‌پی منتشر می‌شوند. استفاده از نسخه‌های امتحانی ۶۴بیتی ویندوز برای سرورهای بزرگ توصیه نمی‌شود.[۲۰][۲۱]

تاریخچه انتشار

جدول راهنما
رنگ مفهوم وضعیت توسعه
قرمز نسخهٔ قدیمی بدون توسعه
زرد نسخهٔ پایدار تنها به‌روزرسانی‌های امنیتی
سبز نسخهٔ پایدار به‌روزرسانی فعال
آبی نسخهٔ آینده امکانات جدید
نسخه تاریخ انتشار تاریخ اتمام پشتیبانی[۲۲] یادداشت‌ها
۱٫۰ ۱۹۹۵/۰۶/۰۸ این نسخه به صورت رسمی “Personal Home Page Tools” یا “PHP Tools” نامیده شد. کلمهٔ پی‌اچ‌پی اولین بار در اینجا به کار رفت.[۴]
۲٫۰ ۱۹۹۷/۱۱/۰۱
۳٫۰ ۱۹۹۸/۰۶/۰۶ ۲۰۰۰/۱۰/۲۰ توسعه‌دهندگان از یک به چند نفر افزایش یافتند. زیو سوراسکی و اندی گاتمنس هستهٔ این نسخه را بازنویسی کردند.[۴]
۴٫۰ ۲۰۰۰/۰۵/۲۲ ۲۰۰۱/۰۱/۲۳ سیستم دومرحله‌ای تجزیه/اجرای پیشرفته تحت عنوان موتور زند به این نسخه اضافه شد.[۲۳]
۴٫۱ ۲۰۰۱/۱۲/۱۰ ۲۰۰۲/۰۳/۱۲ متغیرهای فوقِ سراسری(Superglobal) معرفی شدند. (GET، $_POST، $_SESSION و…)[۲۳]
۴٫۲ ۲۰۰۲/۰۴/۲۲ ۲۰۰۲/۰۹/۰۶ تنظیم register_globals به صورت پیش‌فرض غیرفعال شد. با این تغییر اطلاعاتی که از طریق شبکه ارسال می‌شدند، دیگر به طور مستقیم در محدودهٔ متغیرهای فوقِ سراسری قرار نمی‌گرفتند. این نکته مشکلات امنیتی احتمالی بسیاری از نرم‌افزارها را برطرف کرد.[۲۳]
۴٫۳ ۲۰۰۲/۱۲/۲۷ ۲۰۰۵/۰۳/۳۱ واسط خط فرمان یا همان CLI به این نسخه اضافه شد.[۲۳]
۴٫۴ ۲۰۰۵/۰۷/۱۱ ۲۰۰۸/۰۸/۰۷ صفحات راهنما(man page) برای درستورات phpsize و config-php اضافه شد.[۲۳]
۵٫۰ ۲۰۰۴/۰۷/۱۳ ۲۰۰۵/۰۹/۰۵ موتور زند نسخهٔ ۲ معرفی شد.[۲۴]
۵٫۱ ۲۰۰۵/۱۱/۲۴ ۲۰۰۶/۰۸/۲۴ بهبود بازدهی با معرفی متغیرهای مترجم (Compiler Variables) در موتور جدید پی‌اچ‌پی.[۲۴] مدل PDO به عنوان یک رابط پایدار برای برقراری ارتباط با بانک‌های اطلاعاتی معرفی شد.[۲۵]
۵٫۲ ۲۰۰۶/۱۱/۰۲ ۲۰۱۱/۰۱/۰۶ افزونهٔ فیلتر (Filter Extension) به صورت پیش‌فرض فعال شد. پشتیبانی از جی‌سَن (JSON) افزوده شد.[۲۴]
۵٫۳ ۲۰۰۹/۰۶/۳۰ ژوئیه ۲۰۱۴[۲۶] پشتیبانی از namespace، late static binding، دستور jump (نسخهٔ ضعیف شدهٔ دستور Goto) و زباله جمع‌کن. پشتیبانی بهتر از سیستم‌عامل ویندوز. پشتیبانی از اس‌کیوال‌لایت نسخهٔ ۳. کتابخانهٔ Mysqlnd جایگزین کتابخانهٔ libmysql (که مسئول برقراری ارتباط با بانک‌اطلاعاتی مای‌اس‌کیوال بود) شد. افزونهٔ fileinfo که کارایی بهتری در مورد MIMEها دارد، جایگزین افزونهٔ mime_magic شد. افزونهٔ بین‌الملل (Internationalization) اضافه شد و توابع ereg از دور خارج شدند.
۵٫۴ ۲۰۱۲/۰۳/۰۱ ۳ سال بعد از انتشار[۲۷] پشتیبانی از Trait. پشتیبانی از آرایه‌ها با فرمت کوتاه. سرور وب داخلی.[۲۸] بهبود کارایی و استفاده از حافظه به میزان کمتر.
توابع حذف شده: register_globals, safe_mode, allow_call_time_pass_reference, session_register
۵٫۵ ۲۰۱۳/۰۶/۲۰ ۳ سال بعد از انتشار[۲۷] جنراتورها افزوده شدند(Generators). بهینه‌ساز زند+ (Zend Optimizer+) افزوده شد.[۲۹]
۵٫۶ مشخص نشده ۳ سال بعد از انتشار[۲۷] قابلیت بازنویسی عملگرها (Operator Overloading). ایجاد تغییرات در GMP یا GNU Multiple Precision.[۳۰]

از تاریخ ۲۸ جون سال ۲۰۱۱ میلادی، گروه پی‌اچ‌پی برنامه‌ای مدون برای انتشار نسخه‌های آیندهٔ این زبان را منتشر کرد.[۲۷] بر اساس این برنامه هر ماه یک انتشار جزئی و هر سال یک انتشار اصلی اتفاق خواهد افتاد. از هر نسخه از پی‌اچ‌پی تا ۳ سال پشتیبانی می‌شود. تا ۲ سال تمامی به‌روزرسانی‌ها و سال سوم تنها به‌روزرسانی‌های امنیتی برای هر نسخه منتشر می‌شود.

مای‌اس‌کیوال (به انگلیسی: MySQL)

یک سامانه مدیریت پایگاه داده‌ها متن‌باز است،[۲] که توسط شرکت اوراکل توسعه، توزیع، و پشتیبانی می‌شود.[۲]

سرور مای‌اس‌کیوال به چندین کاربر اجازه استفاده همزمان از داده‌ها را می‌دهد.

مزیت‌ها

مای‌اس‌کیوال از مزیت‌های زیر بهره‌مند است:[۳]

  • مقیاس‌پذیری و قابلیت انعطاف
  • عملکرد بالا
  • در دسترس‌بودن بالا
  • پشتیبانی از تراکنش‌ها
  • محافظت از داده
  • آسان بودن مدیریت
  • آزاد بودن برنامه
  • پشتیبانی شبانه‌روزی

تاریخچه

توسعه مای‌اس‌کیوال در سال ۱۹۹۴ توسط مایکل وایدنیوس و دیوید آکسمارک آغاز شد.[۴] اولین نسخه داخلی در ۲۳ می ۱۹۹۵ عرضه شد. در سال ۲۰۰۸ سان میکروسیستمز مای‌اس‌کیوال ای‌بی را خریداری کرد.[۵] شرکت اوراکل سان میکروسیستمز را در ۲۷ ژانویه ۲۰۱۰ خریداری کرد.[۶]

قابلیت‌ها

انواع داده

انواع داده‌های پشتیبانی شده در مای‌اس‌کیوال شامل موارد زیر است:[۷]

  • عددی
  • کاراکتری
  • دودویی
  • شمارشی (Enum)
  • زمان و تاریخ
  • نوع‌های داده‌های فضایی (به انگلیسی: Spatial)

موتورهای ذخیره‌سازی

مای‌اس‌کیوال از چندین موتور ذخیره‌سازی پشتیبانی می‌کند که به عنوان نوع‌های جدول مختلف عمل می‌کنند.[۸] برخی انواع موتورهای ذخیره‌سازی در برابر تراکنش‌ها امن، و برخی دیگر در برابر تراکنش‌ها ناامن هستند.

لیست موتورهای ذخیره‌سازی مای‌اس‌کیوال شامل موارد زیر است:

  • اینودی‌بی (به انگلیسی: InnoDB): امن در برابر تراکنش‌ها است. از قواعد جامعیت کلید خارجی پشتیبانی می‌کند. از مای‌اس‌کیوال ۵٫۵٫۵ موتور ذخیره‌سازی پیش‌فرض مای‌اس‌کیوال است.[۹]
  • مای‌آی‌سم (به انگلیسی: MyISAM): قبل از نسخه ۵٫۵٫۵ موتور ذخیره‌سازی پیش‌فرض مای‌اس‌کیوال بود.[۱۰]
  • حافظه (به انگلیسی: Memory): تمام داده را به منظور دسترسی سریع در حافظه نگهداری می‌کند.[۸]
  • ادغام (به انگلیسی: Merge): قابلیت گروه‌بندی کردن چندین جدول مای‌آی‌سم مشابه و ارجاع به آن‌ها به عنوان یک جدول را می‌دهد.[۸]
  • آرشیو (به انگلیسی: Archive): برای نگهداری داده‌های آرشیوی که به ندرت به آن‌ها ارجاع می‌شود.[۸]
  • متحد (به انگلیسی: Federated): برای پیوند زدن چندین سرور مای‌اس‌کیوال مجزا برای ایجاد یک پایگاه‌داده منطقی از چندین سرور فیزیکی.[۸]
  • سی‌اس‌وی (به انگلیسی: CSV): داده را در فایل‌های متنی با قالب مقادیر جداشده با کاما ذخیره‌سازی می‌کند.[۸]
  • سیاه‌چاله (به انگلیسی: Blackhole): ورودی داده را قبول می‌کند، ولی آن را ذخیره نمی‌کند.[۸]

برنامه‌های ذخیره‌شده

در مای‌اس‌کیوال هر برنامه ذخیره‌شده شامل یک بدنه است که از عبارات اس‌کیوال تشکیل شده است.[۱۱] برنامه‌های ذخیره‌شده می‌توانند مقادیر خروجی داشته باشند (ایجاد شده توسط CREATE PROCEDURE) یا نداشته باشند (ایجاد شده توسط CREATE FUNCTION). اگر یک برنامه خروجی داشته باشد، از آن می‌توان در پرس‌وجوی SELECT استفاده کرد.

کاربران سرشناس

از کاربران سرشناس مای‌اس‌کیوال به موارد زیر می‌توان اشاره کرد:[۱۲][۱۳]

تمرینات مصور SQL

نگاه کوتاه

 از ویکی‌پدیا، دانشنامهٔ آزاد

در مدل رابطه‌ای داده‌ها، زبان ساختارمند پرسش‌ها یا اس‌کیوال یا سی‌کوال (Structured Query Language – SQL) زبانی است سطح بالا مبتنی بر زبان سطح پایین و ریاضی جبر رابطه‌ای که برای ایجاد، تغییر، و بازیابی داده‌ها و نیز عملیات بر روی آنها به‌کار می‌رود.

زبان SQL به سمت مدل شی‌گرا – رابطه‌ای نیز پیشرفت کرده‌است.

تاریخچه

منشا اصلی سی‌کوال به مقالهٔ سال ۱۹۷۰ ادگار کاد تحت عنوان «مدل رابطه‌ای داده‌ها برای بانک‌های بزرگ داده‌های اشتراکی»[۱] باز می‌گردد. در دههٔ ۷۰ گروهی از شرکت آی‌بی‌ام در شهر سان خوزه بر روی سیستم پایگاه داده‌های سیستم آر بدون توجه به این مقاله کار می‌کردند و زبان SEQUEL را به منظور عملیات و بازیابی اطلاعات ذخیره شده در سیستم آر ایجاد کردند. اگر چه اس‌کیوال ناشی از تلاشهای کاد بود اما دونالد چامبرلین و ریموند بویس به عنوان طراحان زبان SEQUEL شناخته می‌شوند

سمینارهایی در زمینه فناوری بانک اطلاعاتی و مباحثاتی در مورد مزایای مدل رابطه‌ای جدید برگزار گردید. تا ۱۹۷۶ مشخص بود که آی‌بی‌ام که طرفدار جدی فناوری بانک اطلاعاتی رابطه‌ای بوده، توجه زیادی نسبت به زبان سی‌کوال دارد. تبلیغات در زمینه سیستم آر باعث جذب گروهی از مهندسین در منلو پارک در کالیفرنیا گردید. این گروه به این نتیجه رسیدند که تحقیقات آی‌بی‌ام منجر به یک بازار تجاری برای بانک‌های اطلاعاتی رابطه‌ای خواهد گردید.

در ۱۹۷۷ این گروه شرکتی بنام اینک (Inc) و رلیشنال سافتویر (Relational Software) تأسیس نمودند تا یک سامانه مدیریت پایگاه‌های داده رابطه‌ای بر اساس سی‌کوال بسازند. محصولی بنام اوراکل در ۱۹۷۹ عرضه گردید، و اولین سامانه مدیریت پایگاه داده رابطه‌ای بوجود آمد. به این ترتیب محصول اوراکل باعث گردید اولین محصول آی‌بی‌ام برای مدت ۲ سال در بازار دچار رکود باشد. این محصول بر روی مینی کامپیوترهای وکس دیجیتال (VAx Digital) اجرا می‌شد که خیلی از کامپیوترهای بزرگ آی‌بی‌ام ارزان‌تر بودند.

امروزه این شرکت با نام اوراکل اولین فروشنده سیستم‌های مدیریت بانک اطلاعاتی رابطه‌ای است. استادان آزمایشگاه‌های کامپیوتر در دانشگاه برکلی کالیفرنیا نیز در نیمه دهه ۱۹۷۰ مشغول تحقیق در زمینه بانک‌های اطلاعاتی رابطه‌ای بودن (مانند تیم تحقیق آی‌بی‌ام)، گروه فوق نیز یک نمونه ازسامانه مدیریت پایگاه داده رابطه‌ای ایجاد نمودند و سیستم خود را اینگرس (Ingres) نام نهادند.

پروژه اینگرس شامل یک زبان پرس‌وجو بنام QUEL بود، اگر چه از سی‌کوال خیلی ساخت یافته تر بود، اما شباهت آن به زبان انگلیسی کمتر بود.

در حالیکه اوراکل و اینگرسبرای ارائه محصولات تجاری در رقابت بودند، پروژه سیستم آر شرکت آی‌بی‌ام در تلاش بوده‌است که یک محصو ل تجاری با نام SQL/Data system (یا SQL/DS) عرضه نماید. آی‌بی‌ام موجودیت SQL/DS را در ۱۹۸۱ اعلام، و در ۱۹۸۲ شروع به عرضه محصول خود نمود. در سال ۱۹۸۳ آی‌بی‌ام یک نسخه SQL/DS را برای VM/CMS (سیستم‌عاملی که در کامپیوتر بزرگ آی‌بی‌ام غالباً استفاده شده بود)، اعلام نمود.

همچنین در سال ۱۹۸۳ شرکت آی‌بی‌ام، محصول دی‌بی‌تو را معرفی نمود که یک سامانه مدیریت پایگاه داده رابطه‌ای برای سیستم‌های بزرگ آن شرکت بود. دی‌بی‌تو تحت سیستم‌عامل وی‌ام‌اس (سیستم‌عامل مراکز کامپیوتری بزرگ) اجرا می‌شد. اولین نسخه دی‌بی‌تو در ۱۹۸۵ عرضه گردید، و مسئولین آی‌بی‌ام اعلام نمودند که این محصول یک برنامه استراتژیک برای تکنولوژی نرم‌افزاری آی‌بی‌ام می‌باشد. از آن تاریخ تاکنون دی‌بی‌تو سامانه مدیریت پایگاه داده رابطه‌ای شاخصی بوده و آی‌بی‌ام از آن حمایت نموده و زبان «سی‌کوال دی‌بی‌تو» استاندارد عملی زبان بانک اطلاعاتی بوده‌است.

استانداردها

سی‌کوال استاندارد (ANSI (American National Standards Institute را در سال ۱۹۸۶ و ISO (International Organization for Standardization) را در سال ۱۹۸۷ اتخاذ نمود. استانداردهای مختلفی از اس‌کیوال تاکنون عرضه شده که در جدول زیر بیان می‌کنیم:

حوزه و وسعت

بسیاری از اصطلاحات زبان اس‌کیوال تحت استاندارد بین‌المللی بوده، و در نتیجه، از آنها شبیه بقیه زبانهای استاندارد مثل محصولات شرکت اوراکل PL/SQL[۲] یا Sybase و SQL PL (مدل رویه‌ای) از شرکت آی‌بی‌ام می‌باشد.

اس‌کیوال برای کارهای ویژه و محدودی (گزارش گیری از داده‌ها در پایگاه داده‌های رابطه‌ای) طراحی شده‌است. بر خلاف زبانهای دستوری مثل بیسیک یا سی که برای حل مسائل طراحی شده، SQL زبانی بر پایه اعلان است. زبانهای توسعه یافته‌ای مثل PL/SQL به دنبال کامل کردن زبان به هدف ایجاد زبان برنامه نویسی با حفظ مزیت‌های SQL می‌باشد. شیوه دیگر کار این است که به کدهای زبان برنامه نویسی اجازه دسترسی به پایگاه داده به کمک دستورات SQL داده شود مثلاً PostgreSQL به توابعش اجازه می‌دهد که درون کدهای Perl، Tcl و C نوشته شوند. گاهی به شوخی گفته می‌شود که SQL نه ساخت یافته‌است، نه محدود به گزارش گیری‌ها و اصلاً یک زبان نیست!

واژه‌های کلیدی

واژه‌های کلیدی اس‌کیوال به گروه‌های مختلفی تقسیم می‌گردد، در زیر به برخی از آنها اشاره می‌کنیم آنهایی که آشنا تر هستند را تنها با یک مثال شرح می‌دهیم:

  • دستور بازیابی داده‌ها: SELECT
  • دستورات عملیات داده‌ها: INSERT،UPDATE،MERGE،TRUNCAT، DELETE
  • دستورات تراکنش داده‌ها: COMMIT و ROLLBACK
  • دستورات تعریف داده‌ها: CREATE وDROP
  • دستورات کنترل داده‌ها: GRANT و REVOKE

معایب اس کیوال

در کاربرد عملی از SQL معایب زیر بر آن وارد است:

  • دستورات نحوی(syntax) آن تا حدی مشکل است به نحوی که گاهی آنرا با COBOL مقایسه می‌کنند.
  • شیوه استانداردی را برای دستورات چند تکه بزرگ ندارد.
  • نمونه‌های مختلف آن‌ها که توسط فروشندگان مختلف ارائه می‌شود گاهی با هم سازگاری ندارد.
  • وجود برخی دستورات بلند
  • اشتباه گرفتن وظیفه‌های دستورهایی مثل UPDATE و INSERT.

محاسن اس‌کیوال

ولی سی‌کوال دارای محاسنی هم هست:

  • سازگاری با اکثر زبانهای دستوری
  • سازگاری با اکثر پایگاه‌های داده مثل SQL Server,Oracle و حتی MS ACCESS
  • پس از اینکه برنامه نویس این زبان را درک کرد استفاده از آن بسیار ساده‌است
  • کاربرد در زبانهای جدید و پیشرفته

زبان‌های مشابه اس‌کیوال

  • IBM BS۱۲ (Business System ۱۲)
  • Tutorial D
  • TQL Proposal
  • HQL (بر پایه ابزار JAVA
  • OSQL(برپایه ابزارهای شی گرای PHP برای عملیات و گزارش گیری)
  • Quel (در سال ۱۹۷۴ در دانشگاه برکلی ایجاد شد)
  • ODMG (Object Data Management Group)
  • linQ

مفاهیم و تمرینات مصور شی گرایی

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد

برنامه‌نویسی شیءگرا

(به انگلیسی Object-Oriented Programming مخفف:OOP) یک شیوه برنامه نویسی است که ساختار یا بلوک اصلی اجزای آن، شی‌ها می‌باشند. در واقع در این شیوه برنامه نویسی، برنامه به شیء گرایش پیدا می‌کند. به این معنا که داده‌ها و توابعی که قرار است بر روی این داده‌ها عمل کنند، تا حد امکان در قالبی به نام شی در کنار یکدیگر قرار گرفته، جمع‌بندی شده و یک واحد (شی) را تشکیل داده و نسبت به محیط بیرونِ خود، کپسوله می‌شوند و از این طریق، توابع بیگانهٔ خارج از آن شی، دیگر امکان ایجاد تغییر در داده‌های درون آن شی را ندارند. به طور مثال حساب بانکی شما که شامل مشخصات فردی شما و میزان سپردهٔ شما در بانک است، تشکیل یک شی را می‌دهند و به دلیل دارا بودن ویژگی کپسوله، امکان دستکاری در میزان سپرده یا مشخصات شما، توسط دیگران وجود ندارد.[۱] از دیگر ویژگی‌های برنامه نویسی شی گرا، پیچیدگی کم، هزینه کم، امکان گسترش سریع برنامه با خطای کمتر نسبت به سایر پارادایم‌های برنامه نویسی است.

فلسفه یی که منجر به شکل گیری ی زبان‌های شی گرا شد، عبارت بود از این واقعیت که نحوهٔ عملکرد مغز و شیوهٔ دریافت اطلاعات از محیط پیرامون و پردازش آن اطلاعات (اندیشیدن)، شیوه یی شی گراست، از همین روی می‌بایستی زبانی تعریف می‌شد که همین شیوه را مبنای کار خود قرار داده و بازتولید می‌کرد؛ و دقیقاً به همان شکل که اشیا در جهان خارج، دارای هویت و کارکرد مشخص و یگانه برای خود هستند و در عین حال با دیگر اشیا در ارتباطی تنگاتنگ و مستقیم اند، در زبان‌های برنامه نویسی نیز می‌بایستی این اصول کلی برقرار می‌شد.[۲] تا به این شکل، برنامه نویس بتواند با بهره‌گیری از زبانی که به روش اندیشیدنش، نزدیکی بیشتری دارد، شی‌های مختلفی را تعریف نموده، این شی‌ها را در ارتباط با یکدیگر قرار داده و از شی‌های پویای تولید شده برای حل مساله ی پیش روی استفاده نماید. امروزه اکثر زبان‌های دستوری برنامه نویسی از فنون شیءگرایی پشتیبانی می‌کنند. زبانهایی مانند جاوا، سی++، سی شارپ، دلفی از جمله زبانهای شیءگرا هستند. حتی بسیاری از زبانهای روال گونه که ساختار برنامه‌ها در آنها بلوک‌هایی با نام پروسیجر است امروزه از فنون شیءگرایی نیز پشتبانی می‌کنند. زبانهای سی++ و پی‌اچ‌پی از این جمله هستند. هر شیء یک سری خصوصیت و قابلیت دارد، که اصطلاحاً Properties و Operation خوانده می‌شوند. در این پارادایم برنامه نویسی، دید برنامه نویس به سیستم دید شخصی است که سعی می‌نماید با پیدا کردن اشیاء مختلف در سیستم و برقراری ارتباط بین آنها سیستم را تولید نماید. (مفهوم مدیریت دیداری)

کلاس

کلاس نوع خاصی از آرایه است که امکان ذخیره و جمع‌بندی تعداد زیادی المان را (که شامل داده‌ها و توابع هستند) برای یک شی جدید فراهم آورده و تحت یک نام مشترک ذخیره می‌کند. اما بر خلاف آرایه که تنها قادر به ذخیرهٔ داده‌هایی هم جنس است، کلاس می‌تواند داده‌هایی از جنس‌های مختلف را ذخیره نماید.[۳] به طور مثال در نظر بگیرید که می‌خواهیم تاریخ ۱۳ نوامبر ۲۰۰۶ را که تشکیل شده از روز، ماه و سال است مورد استفاده قرار دهیم. برای این منظور سه نوع متغیر متفاوت مورد نیاز است:

وراثت

مقالهٔ اصلی: وراثت (برنامه‌نویسی شی‌گرا)

وراثت یا ارث بری (Inheritance) از مفاهیم اساسی برنامه نویسی شیءگراست. هر شیء یک نمونه از یک کلاس است و هر کلاس می‌تواند از کلاس یا کلاسهای دیگری مشتق شده باشد (خواص متدها یا رویدادهای کلاس‌های دیگر را به ارث ببرد). در یک مثال ساده می‌توان اتومبیلی را در نظر گرفت که برای جلوگیری از بازنویسی خواص عمومی اتومبیل شامل: چهار چرخ، متدهای حرکت چرخ، متد چرخاندن فرمان، فرمان، بدنه، در و غیره، می‌توان یک کلاس پایه از اتومبیل ایجاد کرد سپس مثلاً برای اتومبیل سیتروئن مدل C۵ یک کلاس جدید ایجاد کرده که خواص، متدها و رویدادهای عمومی اتومبیل را داشته باشد و فقط برای خواص، متدها و رویدادهای جدید این اتومبیل کد نوشته شود. این ویژگی باعث صرفه‌جویی در نوشتن کد و تا حدودی تضمین صحت کد موجود می‌شود. به عنوان مثال اگر کلاس پایه مشکلی داشته باشد فقط کافی است کلاس پایه تغییر داده شود و در تمامی کلاس‌هایی که از این کلاس پایه ویژگی‌ای ا به ارث برده‌اند این تغییر اعمال خواهد شد.

مخفی‌سازی

مقالهٔ اصلی: کپسوله سازی (علم رایانه)

کپسوله سازی، مخفی‌سازی (Encapsulation)، یا لفافه‌بندی، به این مفهوم اشاره دارد که باید بعضی خصوصیات یا رفتارهای شیء را از دید دیگران پنهان کرد. فرض کنید شما به عنوان یک راننده می‌خواهید اتومبیل شخصی تان را روشن کنید و به محل کارتان عزیمت کنید سوییچ را بر می‌دارید، استارت می‌زنید و با فشار آوردن به پدال‌های گاز و ترمز و چرخش فرمان و … به محل کارتان خواهید رسید. در طول این مسیر در اتومبیل شما به عنوان یک شیء اعمال مختلفی در حال انجام بود. مثلاً لنت ترمز به دیسک چرخ برخورد می‌کرد و باعث کم شدن سرعت می‌شد یا شمع‌ها شروع به جرقه زدن در زمانی بخصوصی می‌کردند. حال فرض کنید که عمل مخفی سازی وجود نداشت و شما مجبور بودید که جرقه زدن شمعها را کنترل می‌کردید و به سیستم سوخت رسانی در موقع لزوم دستور می‌دادید که سوخت را بداخل سیلندرها ارسال کند و… یا هیچ‌گاه به مقصد نمی‌رسیدید! یا سالم نمی‌رسیدید!

عمل مخفی سازی باعث می‌شود که اشیاء بدون آنکه از چگونگی کارکرد یکدیگر اطلاع داشته باشند با هم کار کنند.

چندشکلی

مقالهٔ اصلی: چندشکلی (علوم رایانه)

چند ریختی(Polymorphism) چند ریختی، کمیتی است که به یک رابط امکان می‌دهد تا از عملیات یکسانی در قالب یک کلاس عمومی استفاده کند. عمل خاص کلاس را ذات حقیقی شیء تعیین می‌کند. مثال ساده‌ای از چند ریختی، فرمان اتومبیل است. عمل فرمان اتومبیل برای تمام اتومبیل‌ها بدون توجه به ساز و کاری که دارند، یکسان است. فرمان برای اتومبیل که به طور مکانیکی کار می‌کند یا با نیروی برق یا هر چیز دیگری، عمل یکسانی را انجام می‌دهد؛ بنابراین، پس از اینکه شما عملکرد فرمان را یاد گرفتید، می‌توانید فرمان هر اتومبیلی را کنترل کنید. همین هدف در برنامه نویسی نیز اعمال می‌شود. به طور کلی، مفهوم چند ریختی، اغلب با عبارت ((یک رابط، چندین روش))بیان می‌شود. این بدین معنی است که امکان طراحی رابط عمومی برای گروهی از عملیات مرتبط وجود دارد. چند ریختی یا چندشکلی (Polymorphism) به این معنا است که اشیاء می‌توانند در موقعیت‌های مختلف، رفتارهای متفاوتی بروز دهند. مثلاً یک تابع در صورتی که بر روی نمونه‌ای از کلاس آ فراخوانی شود، رفتار ب را بروز دهد در حالی که اگر بر روی کلاس ج (که فرزند کلاس آ است) فراخوانی شود، رفتاری متفاوت انجام دهد.

انتزاع / تجرید

مقالهٔ اصلی: تجرید (رایانه)

به این معنا است که بخشی از یک موجودیّت یک مفهوم را که میان همهٔ وارثان مشترک است، پیش تعریف کنیم. این توانایی منجر به داشتن نگاه مشابه به موجودیّت‌های مشابه می‌گردد.

یک مثال کاربردی

در اطراف ما اشیاء زیادی وجود دارد و می‌توان تمام مفاهیم موجود در طبیعت را با اشیاء تقلیل داد. مثلاً یک ماشین باربری. این ماشین یک سری خصوصیات دارد: چهار چرخ، یک پدال ترمز، یک پدال گاز، یک فرمان و یک محل بزرگ برای قرار دادن اشیاء در آن و… این ماشین در صورتی که ما پدال گاز آن را فشار دهیم، حرکت می‌کند. در صورتی که فرمان آن را بچرخانیم تغییر مسیر می‌دهد. پس این شیء علاوه بر یک سری خصوصیات، یک سری رفتار مشخص هم به ما نشان می‌دهد؛ ولی فقط این یک ماشین نیست که این کار را انجام می‌دهد. تمامی ماشین‌ها این کارها را انجام می‌دهند. پس می‌توانیم این ماشین را ‘تعریف’ کنیم و بگوییم:

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

مفاهیم فوق در زبان‌های برنامه نویسی شیءگرا گنجانده شده‌اند. در این زبان‌ها، اشیاء زیادی از پیش وجود دارند که برنامه‌نویسان می‌توانند از آنها استفاده کنند.

ارتباط اشیاء

مجدداً به مثال ماشین باربری بر می‌گردیم و این بار، یک ماشین سواری را تعریف می‌کنیم. ماشین سواری شیئی است که چهار چرخ، یک ترمز، یک پدال گاز و یک صندوق عقب دارد. این تعریف به تعریف ماشین باربری بسیار شبیه‌است. به عبارت دیگر ما به یک تعریف جدید می‌رسیم: خودرو. خودرو وسیله‌ای است که چهار چرخ، یک ترمز، یک پدال گاز دارد. پس از این به بعد تعریف ماشین باربری و ماشین سواری خیلی ساده‌تر می‌شود.

ماشین باربری، خودرویی است که محلی برای قرار دادن بار داشته باشد و ماشین سواری خودروییاست که صندوق عقب داشته باشد.

  • اگر کسی به درب کارخانه مراجعه کند و بگوید که ‘خودرو’ می‌خواهد، چیزی دریافت نمی‌کند. خودرو یک تعریف انتزاعی است، برای تعریف خودرو شیء وجود ندارد پس مشتری تنها می‌تواتند ماشین باربری یا ماشین سواری بخواهد.
  • کارواش را در نظر می‌گیریم. این کارواش خودرو را تمیز می‌کند و دیگر به طور جزئی عنوان نمی‌کند که کدام نوع خودرو را تمیز می‌کند. به عبارت دیگر نوع خودرو برای کارواش مهم نیست.
  • وقتی شخصی قصد اجاره خودرویی دارد، و می‌خواهد جنسی را حمل کند در هنگام تماس با متصدی کرایه ماشین می‌گوید: «اگر خودرو شمااز نوع باربری است، برای من ارسال کنید»، ولی اگر قصد جابجا شدن را دارد می‌گوید: «برای من یک ماشین سواری بفرستید.»

در زبان‌های برنامه نویسی شیءگرا نیز اشیاء مختلفی وجود دارند که تعریف آنها تکمیل کننده یکدیگر است، به عبارت دیگر اشیا از یکدیگر ارث بری می‌کنند. برخی از تعاریف کاملاً عام است و نمی‌توان از آنها نمونه شیئی ساخت و تنها تعریف هستند. به این تعاریف Interface گفته می‌شود.

مدیریت پیچیدگی

مقالهٔ اصلی: مدیریت پیچیدگی

اعمال شیوه‌های مدیریتی با محوریت اشیاء در مطالعه، طراحی، ایجاد، و اجراء پروژه‌های مهندسی نرم‌افزار و مهندسی دانش.

مرور برخی مباحث ریاضیات مهندسی

نگاه کوتاه

ریاضیات

از ویکی‌پدیا، دانشنامهٔ آزاد

صفحه‌ای از کتاب خوارزمی

ریاضیات (در قدیم[نیازمند منبع]، هم‌چنین: اِنگارِش[۱]) را بیش‌تر دانش بررسی کمیتها و ساختارها و فضا و دگرگونی (تغییر) تعریف می‌کنند. دیدگاه دیگری ریاضی را دانشی می‌داند که در آن با استدلال منطقی از اصول و تعریف‌ها به نتایج دقیق و جدیدی می‌رسیم (دیدگاه‌های دیگری نیز در فلسفه ریاضیات بیان شده‌است). با اینکه ریاضیات از علوم طبیعی به شمار نمی‌رود، ولی ساختارهای ویژه‌ای که ریاضی‌دانان می‌پژوهند بیشتر از دانش‌های طبیعی به‌ویژه فیزیک سرچشمه می‌گیرند و در فضایی جدا از طبیعت و محض‌گونه گسترش پیدا می‌کنند، به‌طوری که علوم طبیعی برای حل مسائل خود به ریاضی باز می‌گردند تا جوابشان را با آن مقایسه و بررسی کنند.

علوم طبیعی، مهندسی، اقتصاد و پزشکی بسیار به ریاضیات تکیه دارد ولی ریاضی‌دانان گاه به دلایل صرفاً ریاضی (و نه کاربردی) به تعریف و بررسی برخی ساختارها می‌پردازند.

تاریخچه

مصریان باستان، بیش از ۵ هزار سال پیش، برای اندازه‌گیری و نقشه‌برداری زمین و ساختن اهرام با دقت بسیار بالا، از حساب و هندسه استفاده می‌کردند. علم حساب با اعداد و محاسبه سر و کار دارد. در حساب، چهار عمل اصلی عبارتند از: جمع، تفریق، ضرب و تقسیم. هندسه علم مطالعه خط‌ها، زاویه‌ها، شکل‌ها، و حجم‌ها است. یونانی‌هایی چون اقلیدس، حدود ۲۵۰۰ سال قبل، بیشتر قوانین اصلی هندسه (قضایای هندسه) را تعیین کردند. جبر نوعی خلاصه‌نویسی ریاضیات است که در آن برای نشان دادن کمّیت‌های نامعلوم، از علائمی چون x و y استفاده می‌شود. این علم را نیز دانشمندان ایرانی، حدود ۱۲۰۰ سال قبل توسعه دادند. حساب، هندسه و جبر، پایه‌های ریاضیات هستند.

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

کمیت

مجموعه، رابطه، تابع، عمل، گروه، میدان، عدد، اعداد طبیعی، اعداد حسابی، اعداد صحیح، اعداد اول، اعداد مرکب، اعداد گویا، اعداد گنگ، اعداد حقیقی، اعداد مختلط، اعداد جبری، عدد پی، عدد ای، چهارگان‌ها، هشت‌گان‌ها، شانزدگان‌ها، اعداد پی-ادیک، اعداد فوق پیچیده (Hypercomplex numbers)، اعداد فوق حقیقی (Hyperreal number)، اعداد فراواقعی (Surreal numbers)، بینهایت، اعداد ترتیبی، اعداد اصلی، ثابت‌های ریاضی، پایه

ساختار

Elliptic curve simple.png Group diagram d6.svg
جبر مجرد نظریه اعداد نظریه گروه‌ها
Torus.jpg MorphismComposition-01.png Lattice of the divisibility of 60.svg
توپولوژی نظریه مدول‌ها نظریه ترتیب

جبر مجرد، نظریه اعداد، هندسه جبری، نظریه گروه‌ها، مونوئیدها، آنالیز ریاضی، آنالیز تابعی، توپولوژی، جبر خطی، نظریه گراف، جبر عمومی، نظریه مدول‌ها، نظریه ترتیب، [[نظ

فضا

Torus.jpg Pythagorean.svg Taylorsine.svg Osculating circle.svg Koch curve.svg
توپولوژی هندسه مثلثات هندسه دیفرانسیل هندسه برخال‌ها

توپولوژی، هندسه، مثلثات، هندسه جبری، هندسه دیفرانسیل، توپولوژی دیفرانسیل، توپولوژی جبری، جبر خطی، هندسه برخال‌ها، متری

تغییر

36 \div 9 = 4 Integral as region under curve.png Vectorfield jaredwf.png \int 1_S\,d\mu=\mu(S)
حساب حسابان حساب برداری آنالیز ریاضی
\frac{d^2}{dx^2} y = \frac{d}{dx} y + c Limitcycle.jpg LorenzAttractor.png
معادلات دیفرانسیل سیستم‌های دینامیکی نظریه آشوب

حساب، حسابان، حساب برداری، آنالیز ریاضی، معادلات دیفرانسیل، سیستم‌های دینامیکی، نظریه آشوب، فهرست تابع‌ها

پایه‌ها و روش‌های ریاضیات

فلسفه ریاضیات، شهودگرایی، ساخت‌گرائی، مبانی ریاضیات، نظریه مجموعه‌ها، منطق نمادی، نظریه مدل، نظریه رسته‌ها، منطق ریاضی، ریاضیات معکوس، جدول نمادهای ریاضی

ریاضیات گسسته

[1,2,3][1,3,2]
[2,1,3][2,3,1]
[3,1,2][3,2,1]
Venn A intersect B.svg DFAexample.svg Caesar3.svg 6n-graf.svg
ترکیبیات نظریه شهودی مجموعه‌ها نظریه رایانش رمزنگاری نظریه گراف

ترکیبیات، نظریه شهودی مجموعه‌ها، نظریه رایانش، رمزنگاری، نظریه گراف

ریاضیات کاربردی

فیزیک ریاضی، مکانیک، مکانیک سیالات، آنالیز عددی، بهینه‌سازی، احتمالات، آمار، اقتصاد ریاضی، ریاضیات مالی، نظریه بازی‌ها، ریاضیات زیستی، رمزنگاری، نظریه اطلاعات

گفتاورد (نقل قول)

برتراند راسل زمانی که دربارهٔ روش بُنداشتی (اصل موضوعی) سخن می‌گفت که در آن برخی ویژگی‌های یک ساختار (که چیزی از آن نمی‌دانیم) فرض می‌شود و پیامدهای این فرض از راه منطق نتیجه‌گیری می‌شود گفت:

ریاضیات را می‌توان رشته‌ای تعریف کرد که در آن نه معلوم است از چه سخن می‌گوییم و نه می‌دانیم آنچه می‌گوییم صحت دارد.

ما در ریاضیات مطالب را نمی‌فهمیم، بلکه تنها به آنها عادت می‌کنیم.