دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 146 کیلو بایت |
تعداد صفحات فایل | 95 |
شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)
مقدمه
C# یکی از زبانهای جدید برنامهسازی شیگرا است که با ارائة رهیافت Component-Based به طراحی و توسعه نرمافزار میپردازد. آنچه ما در حال حاضر از زبانهای برنامهسازی Component-Based در اختیار داریم و آنچه که C# در اختیار ما قرار میدهد، افق جدیدی به سوی تولید و طراحی نرمافزارهای پیشرفته را در روی ما قرار میدهند.
نرمافزار، به عنوان یک سرویس، هدف اصلی نسل بعدی در سیستمهای محاسباتی است. برای مثال، C# زبانی مناسب برای تولید و طراحی صفحات وب، ایجاد اجزایی با قابلیت استفاده مجدد و ایجاد محیطهایی چند رسانهای را به عنوان زبانی که هدفش توسعه ایجاد نرمافزارهای پیشرفته است، در اختیار ما قرار میدهد.
زبان برنامهسازی C#، به همراه تکنولوژی جدید شرکت نرمافزاری مایکروسافت یعنیNET. ارائه گردید، از این رو از تکنولوژیNET. این شرکت بهره میبرد. پس در ابتدا به بیان مطالبی درباره محیطNET. میپردازیم.
فصل اول:تکنولوژیNET.
چراNET.؟
در گذشته زبانهای برنامهسازی، سیستمهای عامل و محیطهای اجرایی نرمافزارها برای دورهای خاص ساخته میشدند. هنگامیکه برنامهها از محیطهای رومیزی(Desktop) به اینترنت منتقل میشدند، ابزارهای موجود نیازمند API هایی اضافی و قابلیتهای دیگری بودند. بیشتر این قابلیتها در کنار زبانهای برنامهسازی بعنوان ابزارهایی جهت رفع این نیازمندیها ارائه میشدند. هرچند این ابزارهای اضافی بصورت قابل توجهی نیازمندیها را حل کرده و باعث رسیدن اینترنت به وضعیت کنونی شدند، اما همچنان مسائل بسیاری وجود داشت که نیاز به حل شدن داشتند.
NET. به منظور پشتیبانی از کاربردهای عصر جدید اینترنت ساخته شد. مواردی همچون گسترش، امنیت و versioning، که از مسایل مهممی بودند، توسط NET. پوشش داده شدند. قسمت مرکزیNET. بخش CLR (Common Language Runtime) است که یک موتور اجرایی مجازی است که از توسعه، امنیت و ارتقای نسخه کد پشتیبانی مینماید. در گذشته چنین امکاناتی برای کدهای کامپایل شده فراهم نبود. بدلیل اینکهNET. توانست بر این مشکلات اساسی فائق آید، راه حل قدرتمندتری جهت ساخت برنامههای تحت اینترنت به شمار میرود.
NET. چیست؟
NET. محیطی جهت ساخت برنامههای توزیع شده است که شامل ابزارهایی نظیر ""کتابخانه کلاسهای پایه"(BCL: Base Class Library)، CLR و زبانهای برنامهنویسی است. این ابزارها امکان ساخت انواع مختلفی از نرمافزارها، از قبیل فرمهای ویندوز، ADONET.، ASPNET. و سرویسهای وب، را فراهم میآورند.
فرمهای ویندوز، مجموعهای از کتابخانهها جهت ساخت رابطهای کاربر گرافیکی برای برنامههای کاربردی است. این کتابخانهها اغلب API های Win32 را در خود دارا میباشند. همچنین امکان استفاده از رهیافت شیگرایی را جهت تولید آسان برنامههای تحت ویندوز، فراهم میآورند.
ADONET. مجموعهای از کلاسهای شیگرایی است که جهت ساخت مولفههای داده و سطوح دسترسی داده در برنامههای n-tiered مورد استفاده قرار میگیرد.
ASPNET. شامل مدل برنامهنویسی فرمهای وب است که بوسیلة آن برنامههای تحت وب ساخته شده و تحت اینترنت قابلیت اجرا پیدا کرده و از طریق مرورگر(Browser) قابل دسترسی میباشند. این روش مدل بهبود یافته برنامهسازی وب است که در آن کدها در سرور کامپایل میشوند ولی همانند صفحات HTML در کامپیوتر مشتری اجرا میشوند.
سرویسهای وب، رهیافتی جدید، مستقل از platform و استاندارد، جهت ایجاد ارتباط و فعالیت بین سیستمهای ناهمگون در اینترنت، میباشند. سرویسهای وبNET.، از زیر ساخت شیگرایی برنامهنویسی ASPNET. استفاده میکنند، اما همچنان از استانداردهای باز و مدلی بر پایة پیغام(Message Based Model) استفاده مینمایند. استفاده از استانداردهای باز از قبیل XML، WSDL و UDDI باعث میشوند تا سرویسهای وب با سایر سرویسهای وب استاندارد که پیادهسازیهایی متفاوت دارند، بدون توجه به محیط و platform آنها، ارتباط برقرار نمایند.
این چند نمونه، اندکی از انواع مختلف نرمافزارهایی بودند که میتوان تحتNET. به پیادهسازی آنها پرداخت.
کتابخانههای کلاسهای پایه(Base Class Library: BCL)
BCL درNET.، شامل هزاران نوع قابل استفاده، جهت افزایش بهرهوری در ساخت برنامههایNET. است. به علت گستردگی BCL یادگیری تمام کلاسهای آن وقتگیر بوده و امکان پذیر نمیباشد، به همین دلیل برای صرفهجویی در زمان بهتر است قبل از ایجاد یک نوع خاص به جستجوی نوعهای موجود در BCL بپردازیم. نگاهی کلی به BCL میتواند بسیار سودمند باشد. جدول زیر Namespace های مهم و توضیح نوعهای مختلف BCL را نمایش میدهد.
NET. Namespaces |
|
Namespace |
Description |
System |
The most commonly used types. |
System.CodeDom |
Allows creating types that automate working with source code, that is, compilers and code creation tools. |
System.Collections |
Collection types such as ArrayList, Hashtable, and Stack. |
System.ComponentModel |
Supports building reusable components. |
System.Configuration |
Types for working with various kinds of XML configuration files. |
System.Data |
Most of the types for ADONET. database programming. Other types are in namespaces that are specific to a database or data interface. |
System.Diagnostics |
Process, EventLog, and Performance Counter types. |
System.DirectoryServices |
Managed interface for accessing Windows Active Directory Services. |
System.Drawing |
GDI+ types. |
System.EnterpriseServices |
COM+ types. |
System.Globalization |
Types for culture-specific support of calendars, formatting, and languages. |
System.IO |
Directory, File, and Stream types. |
System.Management |
APIs for performing WMI tasks. |
System.Messaging |
Types for working with message queues. |
SystemNET. |
Access to networking protocol types. |
System.Reflection |
Reflection APIs for inspecting assembly metadata. |
System.Resources |
Types for culture-specific resource management. |
System.Runtime |
COM Interop, Remoting, and Serialization support. |
System.Security |
Code access security, role-based security, and cryptography types. |
System.ServiceProcess |
Types for building Windows Services. |
System.Text |
Text encoding/decoding, byte array from/to string translation, the StringBuilder class, and regular expressions. |
System.Timers |
Timer types. |
System.Threading |
Threads and synchronization types. |
System.Web |
HTTP Communications, ASPNET., and Web Services types. |
System.Windows |
Windows Forms types. |
System.XML |
All XML support types, including XML Schema, XmlTextReaders/XmlTextWriters, XPath, XML Serialization, and XSLT. |
جدول 1-1 Namespaceهای مهم و رایج
هر Namespace مجموعهای از کلاسهای از پیس ساخته شدةNET. است که میتوان از آنها در برنامههای مختلف استفاده نمود.
(Common Language Runtime)CLR
CLR یک موتور اجرایی است که با هدف اصلی اجرای هدایت شدة کدها درNET. ایجاد گردیده است. CLR به مدیریت اجرا، ارتقای نسخه و امنیت تمامی کدها درNET. میپردازد. به همین دلیل کدهایNET. یا C# اغلب تحت عنوان کدهای مدیریت شده، شناخته میشوند.(Managed Code) تمامی کدهایی که به CLR مرتبت هستند، تحت عنوان "مدیریت شده" و کدهایی توسط CLR مدیریت نشدهاند، بلکه مستقیماً به کد ماشین تبدیل میشوند، تحت عنوان "مدیریت نشده" بیان میشوند.
کدهای مدیریت شده، به کد ماشین کامپایل نمیشوند، بلکه به زبان سطح میانی مایکروسافت(MSIL) کامپایل شده و مورد استفاده قرار میگیرند. این زبان سطح میانی را میتوان زبانی شبیه به زبان اسمبلی تصور کرد. IL در حافظه بارگذاری میشود و بلافاصله بوسیلة CLR در حافظه به کد ماشین کامپایل میگردد.
برنامههایNET. از اسمبلیهایی تشکیل شدهاند که اجزای خودکار منطقی توسعه، شناسایی و امنیت به حساب میآیند و تفاوت آنها با روشهای قدیمی در آن است که اسمبلی میتواند شامل یک یا چندین فایل باشد. اسمبلیNET. به صورت یک فایل اجرایی تک یا یک فایل کتابخانهای است، اما ممکن است حاوی ماژولها، که کدهایی غیر اجرایی بوده و قابلیت استفادة مجدد را دارند، نیز باشد.
مسئلة مهم دیگر در مورد CLR، نحوة بارگذاری(Load) و اجرای برنامه توسط آن است. به محض اینکه برنامةNET. شروع به اجرا میکند، ویندوز اسمبلیNET. راتشخیص داده و CLR را اجرا میکند. سپس CLR نقطه شروع برنامه را شناسایی و پروسة تعیین انواع که در آن، محل قرارگیری انواع مختلف بکار رفته در برنامه مشخص میشود را، اجرا میکند. اسمبلی شناسایی شده در پروسة Loader بارگذاری میگردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 458 کیلو بایت |
تعداد صفحات فایل | 68 |
بهینهسازی و پردازش پرس و جو
در این تحقیق ما به تکنیکهای بکار رفته توسط DMBS برای پردازش، بهینهسازی و اجرای پرس و جوهای سطح بالا میپردازیم. پرس و جوی بیان شده در زبان پرسو جوی سطح بالا مثل SQL ابتدا باید پویش و تجزیه . معتبر شود. پویشگر (اسکنر) علامت هر زبان، مثل لغات کلیدی SQL، اساس ویژگی، و اساس رابطه، را در متن پرس و جو شناسایی میکند، در عوض تجربه کننده، ساختار دستوری پرس و جو را برای تعیین اینکه آیا بر طبق قوانین دستوری زبان پرس و جو تدوین میشود یا خیر، چک میکند. پرس و جو باید همچنین معتبر شود، با چک کردن اینکه تمام اسامی رابطه و ویژگی معتبر هستند و اسامی معنیدار در طرح پایگاه اطلاعاتی ویژهای پرس و جو میشوند. نمونه داخلی پرس و جو ایجاد میشود، که تحت عنوان ساختار دادههای درختی بنام درخت پرس و جو میباشد. ارائه پرس و جو با استفاده از ساختار دادههای گراف بنام گراف پرس و جو نیز امکان پذیر است. DOMS باید استراتژی اجرایی برای بازیابی نتیجه پرس و جو از فایلهای پایگاه اطلاعاتی را هدایت کند. پرس و جو استراتژیهای اجرایی بسیاری دارد. و مرحلة انتخاب، مورد مناسبی برای پردازش پرس وجو تحت عنوان بهینهسازی پرس و جو شناخته شده است. تصویر 1، مراحل مختلف پردازش پرس و جوی سطح بالا را نشان میدهد. قطعه بر نامه بهینهساز پرس وجو، وظیفه ایجاد طرح اجرایی را بعهده دارد و ژنراتور (تولید کننده) که ، کد را برای اجرای آن طرح ایجاد میکند. پردازنده پایگاه اطلاعاتی زمان اجرا وظیفه اجرای که پرس و جو را بعهده دارد، خواه در وضعیت کامپایل شده یا تفسیر شده جهت ایجاد نتیجه پرس و جو. اگر خطای زمان اجرا نتیجه شود، پیام خطا توسط پایگاه اطلاعاتی زمان اجرا ایجاد میشود.
اصطلاح بهینهسازی نام بی مسمایی است چون در بعضی موارد، طرح اجرایی انتخاب شده، استراتژی بهینه نمیباشد، آن فقط استراتژی کارآمد معقول برای اجرای پرس و جو است. یافتن استراتژی بهینه، ضامن صرف زمان زیادی است، بجز برای سادهترین پرس و جوها، ممکن است به اطلاعاتی روی چگونگی اجرای فایلها در فهرستهای فایلها، اطلاعاتی که ممکن است کاملاً در کاتالوگ DBMS در دسترس نباشد، نیاز باشد. از اینرو، برنامهریزی استراتژی اجرا ممکن است توصیف درستتری نسبت به بهینهسازی پرس و جو باشد. برای زبانهای پایگاه اطلاعاتی (دریایی) جهتیابی در سطح پایینتر در سیستمهای قانونی، مثل شبکه DML شبکهای یا MOML سلسله مراتبی، برنامه نویس باید، استراتی اجرای پذیرش و جو را انتخاب کند ضمن اینکه برنامه پایگاه اطلاعاتی را مینویسد. اگر DBMS فقط زیان جهتیابی را ارائه دهد. فرصت و نیاز محدودی برای بهینهسازی پرس وجوی وسیع توسط DBMS وجود دارد، در عوض به برنامه نویس قابلیت انتخاب استراتژی اجرایی بهینه ارائه میشود. بعبارت دیگر، زبان پرس و جو در سطح بالا، مثل SQL برای DBMSهای رابطهای یا OQL برای DBMSهای مقصد، در ماهیت تفریطیتر است. چون آنچه نتایج مورد نظر پرس و جو است بغیر از شناسایی جزئیات چگونگی بدست آمدن نتیجه، را تعیین میکند. بهینهسازی پرس و جو برای پرس و جوهایی ضروی است که در زبان پرس و جوی سطح بالا تعیین می شوند. ما روی توصیف بهینهسازی پرس و جو در زمینه ROBMS تمرکز میکنیم چون بسیاری از تکنیکهایی که توصیف می کنیم برای، برای ODBMSها تطبیق یافتهاند. DBMS رابطهای باید استراتژیهای اجرای پرس و جوی دیگری را ارزیابی کند و استراتژی بهینه یا کارآمد معقولی را انتخاب کند. هر DBMS ، تعدادی الگاریتم دسترسی به پایگاه اطلاعاتی کلی دارد که علامتهای رابطهای مثل SELECT یا JOIN یا ترکیبی از این عملیات ها را اجرا میکند. تنها استراتژیهای اجرایی که میتوانند توسط الگاریتمهای دسترسی DBMS اجرا شوند و برای طراحی پایگاه اطلاعاتی فیزیکی ویژه و پرس و جوی خاص بکار روند، میتوانند توسط قطعه برنامه بهینهسازی پرس و جو در نظر گرفته شوند. ما با بحث کلی چگونگی ترجمه پرس و جوهای SQL به پرس و جوهای جبری رابطهای و در بهینهشدن آنها کار را شروع میکنیم. بعد ما روی الگاریتمها برای اجرای عملیاتهای رابطهای در بخش 1802 بحث میکنیم. بدنبال این مطلب، بررسی از استراتژیهای بهینهسازی پرس و جو را ارائه میدهیم. دو تکنیک اصلی برای اجرای بهینهسازی پرس و جو وجود دارد. اولین تکنیک بر اساس قوانین ذهنی جهت ترتیب دادن عملیاتها در استراتژی اجرای پرس و جو میباشد. ذهن قانونی است که بخوبی در اکثر موارد عمل میکند ولی برای کار مناسب در هر مورد کنش تضمین نمیشود. قوانین عملیاتها را در درخت پرس وجو مجدداً ترتیب میدهند. دومین تکنیک شامل برآورد هزینه استراتژیهای اجرای متفاوت و انتخاب طرح اجرایی با پایینترین هزینه برآورد است. دو تکنیک معمولاً در بهینه ساز پرس و جو (باهم ترکیب میشوند) بهم ملحق میگردند. بررسی مختصری از عوامل در نظر گرفته شده در طول بهینهسازی پرس و جو در RDBMS بازرگانی ORACLL= را ارائه میدهیم. در بخش بعدی نوعی بهینهسازی پرس و جوی معنایی را ارائه میدهد که در آن محدودیتهای شناخته شده برای پرداختن به استراتژیهای اجرایی پرس و جوی کارآمد استفاده میشوند. 2 – ترجمه پرس و جوهای SQL به پرس و جوهای رابطهای: در عمل، SQL زبان پرس وجویی است که در اکثر RDBMS های بازرگانی استفاده میشود. پرس وجوی SQL ، ابتدا به عبارت جبری رابطهای توسعه یافته معادل، نمایانگر ساختار داروهای درخت پرس و جو، ترجمه میشود و بعد بهینهسازی میشود. پرس و جوهای SQL به بلوکهای پرس و جو تجزیه میشوند، که واحدهای اساسی را تشکیل میدهند که میتوانند به عملکردهای جبری ترجمه شوند و بهینهسازی شوند. بلوک پرس و جو شامل عبارت SELECT- FROM-WHERE تکی و بندهای Groop By و HAVING است چنانچه اینها بخشی از بلوک باشند. از اینرو، پرس و جوهای تو در تو در پرس و جو بعنوان بلوکهای پرس و جوی مجزا شناسایی میشوند. چون SQL شامل عملکردهای گروهی، مثل MAX ، COUNT,SUM میباشد، این عملگرها باید در پرس و جوی جبری توسعه یافتهای شامل شوند، همانطوریکه در بخش 705 توصیف شد. پرس و جوی SQL در رابطه EMPLOEE در تصویر 705 را در نظر بگیرید: این پرس و جو شامل، پرس و جوی فرعی تو در تو است و از اینرو به دو بلوک تجزیه میشود. بلوک درونی بدین صورت است: و بلوک بیرونی بدین صورت می باشد: که C نمایانگر نتیجه حاصله از بلوک درونی است. بلوک درونی به عبارت جبری رابطهای توسعه یافته زیر ترجمه شده است: و بلوک بیرونی به عبارت زیر ترجمه شده است: بهینهساز پرس و جو، طرح اجرایی را برای هر بلوک انتخاب میکند. ما باید اشاره کنیم به در مثال فوق، بلوک درونی نیاز به ارزیابی شدن دارد تنها زمانی که، حداکثرحقوقی که بعکار میرود که بعنوان ثابت C، توسط بلوک بیرونی استفاده میشود. ما اینرو پرس و جوی تودرتوی غیرمرتبط نامیدیم (در فصل 8). آن برای بهینهسازی پرس و جوهای تو در توی مرتبط پیچیدهتر، خیلی سختتر است، جایی که متغیر Tuple از بلوک بیرونی در بند WHERE در بلوک درونی ظاهر میشود. 1802- الگاریتم های انسانی برای اجرای عملیاتهای پرس و جو: RDBMS شامل الگاریتمهایی برای اجرای انواع مختلف عملیاتهای رابطهای است که میتوانند در استراتژی اجرای پرس و جو نمایان شوند، این عملیاتها شامل عملیاتهای جبری بیسیک (اصلی) و توسعه یافته مورد بحث در فصل 7 ، و در بسیاری موارد، الحاقاتی از این عملیاتها میباشد. برای هر یک از این عملیات ها یا الحاقی از عملیاتها، یک یا چند الگاریتم برای اجرای عملیاتها در دسترس قرار دارند. الگاریتم ممکن است فقط برای ساختارهای ذخیره خاص مسیرهای دستیابی بکار روند، در اینصورت ، تنها در صورتی استفاده میشود که فایل های موجود در عملیات شامل این مسیرهای دستیابی هستند. در این بخش، ما به الگاریتمهای نمونه بکار رفته برای اجرای SEKECT ، JOIN و دیگر عملیاتهای رابطهای میپردازیم. ما بحث مرتب کردن خارجی را در بخش 180201 آغاز میکنیم که در قلب عملیاتهای رابطهای قرار دارد که از استراتژیهای ادغام کردن به مرتب کردن استفاده میکند. بعد ما به الگاریتمهایی برای اجرای عملیات SELECT در بخش 180202 میپردازیم، به عملیات JOIN در بخش 180203 و عملیات PRIJECT و عملیاتهای مجموعه در بخش IE 1802 و عملیاتهای گروهی و جمعی در بخش 2 .2 . 18 میپردازیم. 1. 2. 18- مرتب کردن خارجی: مرتب کردن، یکی از الگاریتمهای اولیه بکار رفته در پردازش پرس و جو است. برای مثال، به هر وقت پرس و جوی SQL ، بعد ORDER BY را تعیین میکند، نتیجه پرس و جو باید مرتب گردد. مرتب کردن، مؤلفه کلیدی در الگاریتمهای مرتب کردن- ادغام کردن (مرتب-ادغام) بکار رفته برای Join و عملیاتهای دیگر، دور الگاریتمهای حذف کپی برای عملیات PROYECT است. ما روی بعضی از این الگاریتمها در بخش 3. 2. 18 و 4. 02 18 بحث خواهیم کرد. توجه کنید که مرتب کردن در صورتی که اجتناب میشود که شاخص مناسب برای امکان دسترسی مرتب شده به ثبتها وجود دارد. مرتب کردن خارجی به الگاریتمهای مرتب کردن اشاره میکند که برای فایل های بزرگ ثبت های ذخیره شده روی دیسک مناسب هستند که در حافظه اصلی، مثل اکثر فایل های پایگاه اطلاعاتی تناسب نمییابد. الگاریتم مرتب کردن خارجی نمونه از استراتژی مرتب- ادغام استفاده میکند، که با مرتب کردن- فایلهای فرعی کوچک بنام اجراها در فایل اصلی شروع میشود و بعد اجراها مرتب شده ادغام میشوند، فایلهای فرعی مرتب شده بزرگتری ایجاد میشوند که بترتیب ادغام میشوند. الگاریتم ادغام –مرتب، مثل دیگر الگاریتم های پایگاه اطلاعاتی به فاضی بافر در حافظه اصلی نیاز دارد، جایی که مرتب کردن واقعی و ادغام اجراها انجام می شود. الگاریتم اصلی (سیبک) شرح داده شده در تصویر 1802 ، شامل دو مرحله است: (1) فاز یا مرحله مرتب کردن و (2) مرحله ادغام.در مرحله مرتب کردن، اجراهای فایلی که میتواند در فضای باز موجود تناسب یابد در حافظه اصلی خوانده میشوند و با استفاده از الگاریتم مرتب کردن داخلی مرتب میشود عقب دیسک بعنوان فایلهای فرعی مرتب شده متوفی نوشته میشود. اندازه اجرا و تعداد اجراهای آغازین توسط تعداد بلوکهای فایل (b) و فضای بافر موجود (NB) بیان میشود. برای مثال اگر بلوکو اندازه قایل 1024=b بلوک باشد، بعد یا 205 اجرای آغازین در هر اندازه 5 بلوک است. از اینرو، بعد از مرحله مرتب کردن، 205 اجرای مرتب شده بعنوان فایلهای فرعی موقتی روی دیسک ذخیره میشوند. اجرای مرتب شده بعنوان فایلهای فرعی موقتی و روی دیسک ذخیره میشوند. در مرحله ادغام شدن، اجراهای مرتب شده، در طول یک یا چند گذر ادغام میشوند. درجه ادغام شدن تعداد اجراهایی است که میتوانند با همدیگر در هر گذر ادغام شوند. در هر گذر، یک بلوک بافر، برای حفظ یک بلوک از هر اجرای ادغام شده نیاز میباشد، و یک بلوک برای تشکیل یک بلوک نتیجه ادغام لازم است . از اینرو، کوچکتر از و است و تعداد گذرها، است. در مثالها، است. لذا، 205 اجرای مرتب شده آغازین در 25 تا در پایان اولیه گذر ادغام میشود: که بعد به 12، بعد 4 بعد یک اجرا ادغام میشوند، که بدین معنی است که چهارگذر لازم میباشد. حداقل از 2، عملکرد بدترین مورد الگاریتم را ارائه میدهد که بدین قرار است: اولین جمله، تعداد دسترسیهای بلوک برای مرحله مرتب سازی را نشان میدهد، چون هر بلوک فایل دو برابر دسترسی میشود، یکبار برای خواندن در حافظه، یکبار برای نوشتن ثبتها دیسک بعد از مرتب کردن. دومین جمله، تعداد دسترسیهای بلوک برای مرحله ادغام کردن را نشان میدهد، با فرض اینکه بدترین مورد از 2 وجود دارد. بطور کلی، ثبت وقایع در مبنای و عبارت برای تعداد دسترسیهای بلوک نوین قرار میشود: تصویر 1802- شرح الگاریتم ادغام – مرتب کردن برای مرتب کردن خارجی: 2. 2. 18- اجرا و پیادهسازی عملیات SELECT : تعداد Optionهایی ( انتخابها) برای اجرای عملیات SELECT وجود دارد، که بعضی به فایل دارای مسیرهای دستیابی خاص بستگی دارند و تنها برای انواع معین شرایط انتخاب بکار میرود. ما به الگاریتمهایی جهت اجرای SELECT در این بخش میپردازیم. ما از عملیاتهای زیر استفاده میکنیم که روی پایگاه اطلاعاتی رابطهای در تصویر 507 مشخص شده و بحث ما را روشن میسازد: متدهای جستجو برای انتخاب ساده: تعدادی الگاریتم های جستجو برای انتخاب ثبتها از فایل امکانپذیر میباشند، چون ثبتهای فایل نامیده می شوند، چون ثبتهای فایل را برای جستجو و بازیابی ثبتهایی که شرایط انتخاب را برآورده میسازند، پویش میکنند. اگر الگاریتم جستجو شامل کاربرد شاخص باشد، جستحوی شاخص پویش شاخص نامیده میشد. متدهای جستجوی زیر ( 1S تا s6 ) مثالهایی از الگاریتمهای جستجو هستند که میتوانند برای اجرای عملیات انتخاب بکار روند: - s1 : جستجوی خطی (روش برنامهسازی پر قدرت): بازیابی هر ثبت در فایل، و تست اینکه آیا مقادیر ویژگی آن، شرط انتخاب را براورده میسازد یا خیر. - S2: جستجوی بنیادی (دودویی): اگر شرط انخاب شامل قیاس تساوی روی ویژگی کلیدی باشد که روی آن فایل مرتب میشود، جستجوی بنیادی، که نسبت به جستجوی خطی کارآمدتر است، میتواند بکار رود. مثال OP1 است چنانچه ssn ، ویژگی کلیدی با شاخص اولیه( یا کلید hash) باشد، برای مثال، SNN-‘123456789’ در opt، شاخص اولیه یا کلید hosh) برای بازیابی ثبت استفاده میشود، توجه کنید که این شرط، ثبت تکی را بازیابی میکند. - S4: کاربرد شاخص اولیه برای بازیابی ثبتهای متعدد: اگر شرط انتخاب شدن قیاس تساوی روی ویژگی غیر کلیدی با شاخص خدشهسازی باشد، برای مثال در ، شاخص را برای بازیابی کل ثبتها در برآورده ساختن شرط، استفاده کنید. - S6: بکارگیری شاخص ثانویه (درخت ) روی قیاس تساوی: این متد جستجو میتواند برای بازیابی ثبت تکی بکار رود چنانچه فیلد نمایهسازی (شاخصسازی) کلید باشد یا برای بازیابی ثبتهای متعدد بکار میرود چنانچه فیلد شاخصسازی کلید نباشد، این میتواند برای مقایساتی شامل یا بکار رود. در بخش 3. 4. 18، ما به چگونگی توسعه فرمولهایی میپردازیم که هزینهدستیابی این متدهای جستجو را در اصطلاحات تعداد دستیابیهای بلوک و زمان دستیابی برآورد میکند. Method S!برای هر فایلی استفاده میشود ولی تمام متدهای دیگر به داشتن مسیر دستیابی مناسب روی ویژگیبکار رفته در شرط انتخاب بستگی دارند. متدهای S4 و 6، میتوانند برای بازیابی ثبتها در دامنه معین بکار روند برای مثال پرس و جوها شامل این شرطها، پرس وجوهای دامنه نیامد به میشوند.متدهای جستجو برای انتخاب پیچیده: اگر شرط عملیات SELECT، شرط تقارنی و مرتبط باشد، در اینصورت اگر از چندین شرط ساده در ارتباط با ارتباط منطقی and مثل op4 فوق تشکیل شود، DBM میتواند از متدهای اضافی زیر برای اجرای عملیات استفاده کند: S7: انتخاب تقارنی یا ارتباطی با استفاده از شاخص اختصاص: اگر ویژگی شامل شده در هر شرط ساده متکی در شرط تقارنی، مسیر دستیابی داشته باشد که به کاربرد یکی از متدهای S2 تا S6 امکان عمل دهد، از آن شرط برای بازیابی ثبتهای استفاده کنید و بعد کنترل کنید آیا هر ثبت بازیابی شد، شرایط ساده باقیمانده در شرط تقارنی را برآورده میکند یا خیر. S8 : انتخاب تقارنی (ارتباطی) با استفاده از شاخص مرکب: اگر دو یا چند ویژگی در شرایط تساوی در شرط تفاوتی شامل شدند و شاخص مرکب در فیلدهای مرکب وجود داشته باشد، برای مثال اگر شاخص روی کلید مرکب (ESSN, PNO) در فایل Works ON برای OPS ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.
در این تحقیق ما به تکنیکهای بکار رفته توسط DMBS برای پردازش، بهینهسازی و اجرای پرس و جوهای سطح بالا میپردازیم. پرس و جوی بیان شده در زبان پرسو جوی سطح بالا مثل SQL ابتدا باید پویش و تجزیه . معتبر شود. پویشگر (اسکنر) علامت هر زبان، مثل لغات کلیدی SQL، اساس ویژگی، و اساس رابطه، را در متن پرس و جو شناسایی میکند، در عوض تجربه کننده، ساختار دستوری پرس و جو را برای تعیین اینکه آیا بر طبق قوانین دستوری زبان پرس و جو تدوین میشود یا خیر، چک میکند. پرس و جو باید همچنین معتبر شود، با چک کردن اینکه تمام اسامی رابطه و ویژگی معتبر هستند و اسامی معنیدار در طرح پایگاه اطلاعاتی ویژهای پرس و جو میشوند. نمونه داخلی پرس و جو ایجاد میشود، که تحت عنوان ساختار دادههای درختی بنام درخت پرس و جو میباشد. ارائه پرس و جو با استفاده از ساختار دادههای گراف بنام گراف پرس و جو نیز امکان پذیر است. DOMS باید استراتژی اجرایی برای بازیابی نتیجه پرس و جو از فایلهای پایگاه اطلاعاتی را هدایت کند. پرس و جو استراتژیهای اجرایی بسیاری دارد. و مرحلة انتخاب، مورد مناسبی برای پردازش پرس وجو تحت عنوان بهینهسازی پرس و جو شناخته شده است. تصویر 1، مراحل مختلف پردازش پرس و جوی سطح بالا را نشان میدهد. قطعه بر نامه بهینهساز پرس وجو، وظیفه ایجاد طرح اجرایی را بعهده دارد و ژنراتور (تولید کننده) که ، کد را برای اجرای آن طرح ایجاد میکند. پردازنده پایگاه اطلاعاتی زمان اجرا وظیفه اجرای که پرس و جو را بعهده دارد، خواه در وضعیت کامپایل شده یا تفسیر شده جهت ایجاد نتیجه پرس و جو. اگر خطای زمان اجرا نتیجه شود، پیام خطا توسط پایگاه اطلاعاتی زمان اجرا ایجاد میشود. اصطلاح بهینهسازی نام بی مسمایی است چون در بعضی موارد، طرح اجرایی انتخاب شده، استراتژی بهینه نمیباشد، آن فقط استراتژی کارآمد معقول برای اجرای پرس و جو است. یافتن استراتژی بهینه، ضامن صرف زمان زیادی است، بجز برای سادهترین پرس و جوها، ممکن است به اطلاعاتی روی چگونگی اجرای فایلها در فهرستهای فایلها، اطلاعاتی که ممکن است کاملاً در کاتالوگ DBMS در دسترس نباشد، نیاز باشد. از اینرو، برنامهریزی استراتژی اجرا ممکن است توصیف درستتری نسبت به بهینهسازی پرس و جو باشد. برای زبانهای پایگاه اطلاعاتی (دریایی) جهتیابی در سطح پایینتر در سیستمهای قانونی، مثل شبکه DML شبکهای یا MOML سلسله مراتبی، برنامه نویس باید، استراتی اجرای پذیرش و جو را انتخاب کند ضمن اینکه برنامه پایگاه اطلاعاتی را مینویسد. اگر DBMS فقط زیان جهتیابی را ارائه دهد. فرصت و نیاز محدودی برای بهینهسازی پرس وجوی وسیع توسط DBMS وجود دارد، در عوض به برنامه نویس قابلیت انتخاب استراتژی اجرایی بهینه ارائه میشود. بعبارت دیگر، زبان پرس و جو در سطح بالا، مثل SQL برای DBMSهای رابطهای یا OQL برای DBMSهای مقصد، در ماهیت تفریطیتر است. چون آنچه نتایج مورد نظر پرس و جو است بغیر از شناسایی جزئیات چگونگی بدست آمدن نتیجه، را تعیین میکند. بهینهسازی پرس و جو برای پرس و جوهایی ضروی است که در زبان پرس و جوی سطح بالا تعیین می شوند. ما روی توصیف بهینهسازی پرس و جو در زمینه ROBMS تمرکز میکنیم چون بسیاری از تکنیکهایی که توصیف می کنیم برای، برای ODBMSها تطبیق یافتهاند. DBMS رابطهای باید استراتژیهای اجرای پرس و جوی دیگری را ارزیابی کند و استراتژی بهینه یا کارآمد معقولی را انتخاب کند. هر DBMS ، تعدادی الگاریتم دسترسی به پایگاه اطلاعاتی کلی دارد که علامتهای رابطهای مثل SELECT یا JOIN یا ترکیبی از این عملیات ها را اجرا میکند. تنها استراتژیهای اجرایی که میتوانند توسط الگاریتمهای دسترسی DBMS اجرا شوند و برای طراحی پایگاه اطلاعاتی فیزیکی ویژه و پرس و جوی خاص بکار روند، میتوانند توسط قطعه برنامه بهینهسازی پرس و جو در نظر گرفته شوند. ما با بحث کلی چگونگی ترجمه پرس و جوهای SQL به پرس و جوهای جبری رابطهای و در بهینهشدن آنها کار را شروع میکنیم. بعد ما روی الگاریتمها برای اجرای عملیاتهای رابطهای در بخش 1802 بحث میکنیم. بدنبال این مطلب، بررسی از استراتژیهای بهینهسازی پرس و جو را ارائه میدهیم. دو تکنیک اصلی برای اجرای بهینهسازی پرس و جو وجود دارد. اولین تکنیک بر اساس قوانین ذهنی جهت ترتیب دادن عملیاتها در استراتژی اجرای پرس و جو میباشد. ذهن قانونی است که بخوبی در اکثر موارد عمل میکند ولی برای کار مناسب در هر مورد کنش تضمین نمیشود. قوانین عملیاتها را در درخت پرس وجو مجدداً ترتیب میدهند. دومین تکنیک شامل برآورد هزینه استراتژیهای اجرای متفاوت و انتخاب طرح اجرایی با پایینترین هزینه برآورد است. دو تکنیک معمولاً در بهینه ساز پرس و جو (باهم ترکیب میشوند) بهم ملحق میگردند. بررسی مختصری از عوامل در نظر گرفته شده در طول بهینهسازی پرس و جو در RDBMS بازرگانی ORACLL= را ارائه میدهیم. در بخش بعدی نوعی بهینهسازی پرس و جوی معنایی را ارائه میدهد که در آن محدودیتهای شناخته شده برای پرداختن به استراتژیهای اجرایی پرس و جوی کارآمد استفاده میشوند. 2 – ترجمه پرس و جوهای SQL به پرس و جوهای رابطهای: در عمل، SQL زبان پرس وجویی است که در اکثر RDBMS های بازرگانی استفاده میشود. پرس وجوی SQL ، ابتدا به عبارت جبری رابطهای توسعه یافته معادل، نمایانگر ساختار داروهای درخت پرس و جو، ترجمه میشود و بعد بهینهسازی میشود. پرس و جوهای SQL به بلوکهای پرس و جو تجزیه میشوند، که واحدهای اساسی را تشکیل میدهند که میتوانند به عملکردهای جبری ترجمه شوند و بهینهسازی شوند. بلوک پرس و جو شامل عبارت SELECT- FROM-WHERE تکی و بندهای Groop By و HAVING است چنانچه اینها بخشی از بلوک باشند. از اینرو، پرس و جوهای تو در تو در پرس و جو بعنوان بلوکهای پرس و جوی مجزا شناسایی میشوند. چون SQL شامل عملکردهای گروهی، مثل MAX ، COUNT,SUM میباشد، این عملگرها باید در پرس و جوی جبری توسعه یافتهای شامل شوند، همانطوریکه در بخش 705 توصیف شد. پرس و جوی SQL در رابطه EMPLOEE در تصویر 705 را در نظر بگیرید: این پرس و جو شامل، پرس و جوی فرعی تو در تو است و از اینرو به دو بلوک تجزیه میشود. بلوک درونی بدین صورت است: و بلوک بیرونی بدین صورت می باشد: که C نمایانگر نتیجه حاصله از بلوک درونی است. بلوک درونی به عبارت جبری رابطهای توسعه یافته زیر ترجمه شده است: و بلوک بیرونی به عبارت زیر ترجمه شده است: بهینهساز پرس و جو، طرح اجرایی را برای هر بلوک انتخاب میکند. ما باید اشاره کنیم به در مثال فوق، بلوک درونی نیاز به ارزیابی شدن دارد تنها زمانی که، حداکثرحقوقی که بعکار میرود که بعنوان ثابت C، توسط بلوک بیرونی استفاده میشود. ما اینرو پرس و جوی تودرتوی غیرمرتبط نامیدیم (در فصل 8). آن برای بهینهسازی پرس و جوهای تو در توی مرتبط پیچیدهتر، خیلی سختتر است، جایی که متغیر Tuple از بلوک بیرونی در بند WHERE در بلوک درونی ظاهر میشود. 1802- الگاریتم های انسانی برای اجرای عملیاتهای پرس و جو: RDBMS شامل الگاریتمهایی برای اجرای انواع مختلف عملیاتهای رابطهای است که میتوانند در استراتژی اجرای پرس و جو نمایان شوند، این عملیاتها شامل عملیاتهای جبری بیسیک (اصلی) و توسعه یافته مورد بحث در فصل 7 ، و در بسیاری موارد، الحاقاتی از این عملیاتها میباشد. برای هر یک از این عملیات ها یا الحاقی از عملیاتها، یک یا چند الگاریتم برای اجرای عملیاتها در دسترس قرار دارند. الگاریتم ممکن است فقط برای ساختارهای ذخیره خاص مسیرهای دستیابی بکار روند، در اینصورت ، تنها در صورتی استفاده میشود که فایل های موجود در عملیات شامل این مسیرهای دستیابی هستند. در این بخش، ما به الگاریتمهای نمونه بکار رفته برای اجرای SEKECT ، JOIN و دیگر عملیاتهای رابطهای میپردازیم. ما بحث مرتب کردن خارجی را در بخش 180201 آغاز میکنیم که در قلب عملیاتهای رابطهای قرار دارد که از استراتژیهای ادغام کردن به مرتب کردن استفاده میکند. بعد ما به الگاریتمهایی برای اجرای عملیات SELECT در بخش 180202 میپردازیم، به عملیات JOIN در بخش 180203 و عملیات PRIJECT و عملیاتهای مجموعه در بخش IE 1802 و عملیاتهای گروهی و جمعی در بخش 2 .2 . 18 میپردازیم. 1. 2. 18- مرتب کردن خارجی: مرتب کردن، یکی از الگاریتمهای اولیه بکار رفته در پردازش پرس و جو است. برای مثال، به هر وقت پرس و جوی SQL ، بعد ORDER BY را تعیین میکند، نتیجه پرس و جو باید مرتب گردد. مرتب کردن، مؤلفه کلیدی در الگاریتمهای مرتب کردن- ادغام کردن (مرتب-ادغام) بکار رفته برای Join و عملیاتهای دیگر، دور الگاریتمهای حذف کپی برای عملیات PROYECT است. ما روی بعضی از این الگاریتمها در بخش 3. 2. 18 و 4. 02 18 بحث خواهیم کرد. توجه کنید که مرتب کردن در صورتی که اجتناب میشود که شاخص مناسب برای امکان دسترسی مرتب شده به ثبتها وجود دارد. مرتب کردن خارجی به الگاریتمهای مرتب کردن اشاره میکند که برای فایل های بزرگ ثبت های ذخیره شده روی دیسک مناسب هستند که در حافظه اصلی، مثل اکثر فایل های پایگاه اطلاعاتی تناسب نمییابد. الگاریتم مرتب کردن خارجی نمونه از استراتژی مرتب- ادغام استفاده میکند، که با مرتب کردن- فایلهای فرعی کوچک بنام اجراها در فایل اصلی شروع میشود و بعد اجراها مرتب شده ادغام میشوند، فایلهای فرعی مرتب شده بزرگتری ایجاد میشوند که بترتیب ادغام میشوند. الگاریتم ادغام –مرتب، مثل دیگر الگاریتم های پایگاه اطلاعاتی به فاضی بافر در حافظه اصلی نیاز دارد، جایی که مرتب کردن واقعی و ادغام اجراها انجام می شود. الگاریتم اصلی (سیبک) شرح داده شده در تصویر 1802 ، شامل دو مرحله است: (1) فاز یا مرحله مرتب کردن و (2) مرحله ادغام.در مرحله مرتب کردن، اجراهای فایلی که میتواند در فضای باز موجود تناسب یابد در حافظه اصلی خوانده میشوند و با استفاده از الگاریتم مرتب کردن داخلی مرتب میشود عقب دیسک بعنوان فایلهای فرعی مرتب شده متوفی نوشته میشود. اندازه اجرا و تعداد اجراهای آغازین توسط تعداد بلوکهای فایل (b) و فضای بافر موجود (NB) بیان میشود. برای مثال اگر بلوکو اندازه قایل 1024=b بلوک باشد، بعد یا 205 اجرای آغازین در هر اندازه 5 بلوک است. از اینرو، بعد از مرحله مرتب کردن، 205 اجرای مرتب شده بعنوان فایلهای فرعی موقتی روی دیسک ذخیره میشوند. اجرای مرتب شده بعنوان فایلهای فرعی موقتی و روی دیسک ذخیره میشوند. در مرحله ادغام شدن، اجراهای مرتب شده، در طول یک یا چند گذر ادغام میشوند. درجه ادغام شدن تعداد اجراهایی است که میتوانند با همدیگر در هر گذر ادغام شوند. در هر گذر، یک بلوک بافر، برای حفظ یک بلوک از هر اجرای ادغام شده نیاز میباشد، و یک بلوک برای تشکیل یک بلوک نتیجه ادغام لازم است . از اینرو، کوچکتر از و است و تعداد گذرها، است. در مثالها، است. لذا، 205 اجرای مرتب شده آغازین در 25 تا در پایان اولیه گذر ادغام میشود: که بعد به 12، بعد 4 بعد یک اجرا ادغام میشوند، که بدین معنی است که چهارگذر لازم میباشد. حداقل از 2، عملکرد بدترین مورد الگاریتم را ارائه میدهد که بدین قرار است: اولین جمله، تعداد دسترسیهای بلوک برای مرحله مرتب سازی را نشان میدهد، چون هر بلوک فایل دو برابر دسترسی میشود، یکبار برای خواندن در حافظه، یکبار برای نوشتن ثبتها دیسک بعد از مرتب کردن. دومین جمله، تعداد دسترسیهای بلوک برای مرحله ادغام کردن را نشان میدهد، با فرض اینکه بدترین مورد از 2 وجود دارد. بطور کلی، ثبت وقایع در مبنای و عبارت برای تعداد دسترسیهای بلوک نوین قرار میشود: تصویر 1802- شرح الگاریتم ادغام – مرتب کردن برای مرتب کردن خارجی: 2. 2. 18- اجرا و پیادهسازی عملیات SELECT : تعداد Optionهایی ( انتخابها) برای اجرای عملیات SELECT وجود دارد، که بعضی به فایل دارای مسیرهای دستیابی خاص بستگی دارند و تنها برای انواع معین شرایط انتخاب بکار میرود. ما به الگاریتمهایی جهت اجرای SELECT در این بخش میپردازیم. ما از عملیاتهای زیر استفاده میکنیم که روی پایگاه اطلاعاتی رابطهای در تصویر 507 مشخص شده و بحث ما را روشن میسازد: متدهای جستجو برای انتخاب ساده: تعدادی الگاریتم های جستجو برای انتخاب ثبتها از فایل امکانپذیر میباشند، چون ثبتهای فایل نامیده می شوند، چون ثبتهای فایل را برای جستجو و بازیابی ثبتهایی که شرایط انتخاب را برآورده میسازند، پویش میکنند. اگر الگاریتم جستجو شامل کاربرد شاخص باشد، جستحوی شاخص پویش شاخص نامیده میشد. متدهای جستجوی زیر ( 1S تا s6 ) مثالهایی از الگاریتمهای جستجو هستند که میتوانند برای اجرای عملیات انتخاب بکار روند: - s1 : جستجوی خطی (روش برنامهسازی پر قدرت): بازیابی هر ثبت در فایل، و تست اینکه آیا مقادیر ویژگی آن، شرط انتخاب را براورده میسازد یا خیر. - S2: جستجوی بنیادی (دودویی): اگر شرط انخاب شامل قیاس تساوی روی ویژگی کلیدی باشد که روی آن فایل مرتب میشود، جستجوی بنیادی، که نسبت به جستجوی خطی کارآمدتر است، میتواند بکار رود. مثال OP1 است چنانچه ssn ، ویژگی کلیدی با شاخص اولیه( یا کلید hash) باشد، برای مثال، SNN-‘123456789’ در opt، شاخص اولیه یا کلید hosh) برای بازیابی ثبت استفاده میشود، توجه کنید که این شرط، ثبت تکی را بازیابی میکند. - S4: کاربرد شاخص اولیه برای بازیابی ثبتهای متعدد: اگر شرط انتخاب شدن قیاس تساوی روی ویژگی غیر کلیدی با شاخص خدشهسازی باشد، برای مثال در ، شاخص را برای بازیابی کل ثبتها در برآورده ساختن شرط، استفاده کنید. - S6: بکارگیری شاخص ثانویه (درخت ) روی قیاس تساوی: این متد جستجو میتواند برای بازیابی ثبت تکی بکار رود چنانچه فیلد نمایهسازی (شاخصسازی) کلید باشد یا برای بازیابی ثبتهای متعدد بکار میرود چنانچه فیلد شاخصسازی کلید نباشد، این میتواند برای مقایساتی شامل یا بکار رود. در بخش 3. 4. 18، ما به چگونگی توسعه فرمولهایی میپردازیم که هزینهدستیابی این متدهای جستجو را در اصطلاحات تعداد دستیابیهای بلوک و زمان دستیابی برآورد میکند. Method S!برای هر فایلی استفاده میشود ولی تمام متدهای دیگر به داشتن مسیر دستیابی مناسب روی ویژگیبکار رفته در شرط انتخاب بستگی دارند. متدهای S4 و 6، میتوانند برای بازیابی ثبتها در دامنه معین بکار روند برای مثال پرس و جوها شامل این شرطها، پرس وجوهای دامنه نیامد به میشوند.متدهای جستجو برای انتخاب پیچیده: اگر شرط عملیات SELECT، شرط تقارنی و مرتبط باشد، در اینصورت اگر از چندین شرط ساده در ارتباط با ارتباط منطقی and مثل op4 فوق تشکیل شود، DBM میتواند از متدهای اضافی زیر برای اجرای عملیات استفاده کند: S7: انتخاب تقارنی یا ارتباطی با استفاده از شاخص اختصاص: اگر ویژگی شامل شده در هر شرط ساده متکی در شرط تقارنی، مسیر دستیابی داشته باشد که به کاربرد یکی از متدهای S2 تا S6 امکان عمل دهد، از آن شرط برای بازیابی ثبتهای استفاده کنید و بعد کنترل کنید آیا هر ثبت بازیابی شد، شرایط ساده باقیمانده در شرط تقارنی را برآورده میکند یا خیر. S8 : انتخاب تقارنی (ارتباطی) با استفاده از شاخص مرکب: اگر دو یا چند ویژگی در شرایط تساوی در شرط تفاوتی شامل شدند و شاخص مرکب در فیلدهای مرکب وجود داشته باشد، برای مثال اگر شاخص روی کلید مرکب (ESSN, PNO) در فایل Works ON برای OPS ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 32 کیلو بایت |
تعداد صفحات فایل | 35 |
آشنایی با پول الکترونیک
مقدمه :
پول در زندگی بشر از چنان اهمیتی برخوردار است که برخی آن را یکی از اختراعات بشریاد کرده اند و حتی معتقدند تمدن بشری با اختراع پول همزمان بوده است.
اقتصاد دانان تاریخ اقتصادی را با توجه به اهمیت نقش پول به سه دوره تقسیم می نمایند:
دوره اقتصاد پایاپای , دوره اقتصاد پولی و دوره اقتصاد اعتباری (کهزادی و گچلو, 1380 ). بر این اساس و با توجه به پیشرفت روز افزون فن آوری اطلاعات و ارتباطات (ICT ) و گسترش استفاده از پول الکترونیکی از اواسط دهه 1990 شاید بتوان دوره کنونی را دوره اقتصاد اینترنتی نامید . پول الکترونیک , ارزش پولی واحدهای ذخیره شده بر روی ابزار الکترونیکی است که توسط دولت یا مؤسسات خصوصی منتشر می شود.
گسترش فرایند استفاده از پول الکترونیک پیامدهای تجاری, اقتصادی, سیاسی و اجتماعی چشمگیری به همراه دارد که در ادامه به برخی پیامدهای اقتصادی مرتبط با تجارت الکترونیک پرداخته خواهد شد.
ویژگیهای پول ا لکترونیک
اگر چه در فرایند توسعه پول الکترونیکی, انواع بسیار متفاوتی از فرآورده های پول الکترونیکی با ویژگیهای مختلف عرضه شده اند, اما در طراحی همه آ؛نها سعی شده است تا حداقل, همه ویژگیهای پول بانک مرکزی لحاظ گردد. به طور کلی فرآورده های پول الکترونیکی را از نظر فنی می توان به دو دسته تقسیم کرد: پول الکترونیکی مبتنی بر کارت های هوشمند و پول الکترونیکی مبتنی بر نرم افزارهای رایانه ای (پول مبتنی بر شبکه). فرآورده های پول الکترونیکی مبتنی بر کارت های هوشمند قابلیت شارژمجدد دارند و در همه جا به عنوان ابزار پرداخت, قابل استفاده می باشند. علاوه بر این, پرداخت از طریق آنها, نیازی به کسب اجازه از یک مرجع ندارد. دو ویژگی نخست, این نوع پول ها را از کارت های تک منظوره عادی که به طور موردی یا برای خرید یک سری کالا و خدمات خاص صادر شده اند متمایز می کند و ویژگی سوم, آنها را از کارت های بدهی متمایز می نماید. به طور کلی می توان گفت که فرآورده های این نوع پول, برای تسهیل پرداخت های با ارزش کم در معاملات خرد رو در رو طراحی شده اند.
بنابراین انتظار می رود که فرآورده های پول الکترونیکی مبتنی بر کارت های هوشمند, استفاده از پول بانک مرکزی و نیز در حد کمتر, استفاده از کارت های بدهی را برای پرداخت های مستقیم کاهش دهد.همچنین به احتمال زیاد استفاده از چک, کارت های پرداخت و کارت های بدهی در پرداخت های غیر مستقیم یعنی پرداخت های بهنگام را نیز کاهش خواهد داد(Berentsen , 1998 ) . فرآورده های پول الکترونیکی مبتنی بر نرم افزار رایانه ای نیز توانایی پرداخت و دریافت از طریق شبکه های کامپیوتری , به ویژه اینترنت را دارند. این نوع از طریق کاهش هزینه های مبادلاتی ( به واسطه تسهیل نقل و انتقال پول میان انواع مختلف حساب ها, بانک ها و کشورها) و نیز سرریز های یادگیری, تقاضای سپرده های دیداری را تحت تاثیر قرار داده و آنرا کاهش خواهد داد.
سرریز های یادگیری به مهارتی مربوط می شود که افراد در طی زمان, ضمن استفاده از نرم افزار های مالی شخصی و فن آوری های ارتباطی برای مدیریت بهینه برنامه های مالی خود, کسب می نمایند ( دژ پسند, 1383 ). ماهیت بانکی پول الکترونیک, همچون چک پول مسافرتی بیانگر طلب قابل دریافت از بانک یا مؤسسه اعتباری صادر کننده آن است که پیش از پرداخت به وسیله آن, به هیچ حساب خاصی منظور نشده است.اما مهمترین انگیزه چنین بانک یا مؤسساتی برای ایجاد و صدور پول الکترونیک, استفاده از حجم پول نقد خارج از سیستم بانکی به عنوان منبع مالی بسیار ارزان قیمت, تحت فرایند تبدیل آن به پول الکترونیک و ایجاد بدهی برای خود است. محصولات پول الکترونیک که به عنوان جایگزینی پول نقد سنتی ایجاد شده اند, با ماهیتی بسیار سیال و جا به جا پذیر می توانند به راحتی نسبت اجزای پولی ( اسکناس و مسکوک و سپرده های دیداری) و همچنین سرعت گردش پول را تغییر داده و از مجرای تغییر حجم پول, سیاست پولی بانک مرکزی را تحت الشعاع قرار دهند. مهمترین ویژگی پول الکترونیکی یعنی فرا ملیتی یا بی مرز بودن آن, نقش مهمی در اثر گذاری بر سایر متغیرهای اقتصادی ایفا می کند. اگر چه این ویژگی از نظر دولت ها منشا برخی تبعات منفی نشر گسترده پول الکترونیکی تلقی می شود اما به ارتقای سطح کارآیی مبادلات بین المللی نیز کمک قابل ملاحظه ای می نماید. طبیعتا با استفاده از پول الکترونیکی, هزینه ی نقل و انتقال بین المللی وجوه, به طور قابل توجهی کاهش خواهد یافت. البته با افزایش بی سابقه کار آیی پرداخت های بین المللی ممکن است بی ثباتی نظام پوئلی جهانی افزایش یافته و به بروز کشمکش بین ناشران و استفاده کنندگان پول الکترونیکی از یک سو و بانکهای مرکزی کشورها از سوی دیگر منجر گردد ( 1996 , Tanaka ).
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 144 کیلو بایت |
تعداد صفحات فایل | 18 |
آموزش پیاده سازی گرافیکی هشت وزیر با C#
مقدمه
محمد امین شریفی تحصیلات مقدماتی خود را در دبیرستان همیشه ماندگار البرز گذراند و هم اینک دانشجوی سال اول کارشناسی تکنولوژی نرم افزار در دانشگاه آزاد واحد دماوند می باشد.علاقه مند به گسترش برنامه های دات نت و حل کردن مسائل برنامه نویسی با C++ است.
این مقاله در راستای نوشتار کتابچه ای به نام 'پیاده سازی بازی های تخته ای' نوشته شده است و در صورت آشنایی با این برنامه،شما می توانید با انواع بازی های تخته ای مانند reverse, chess, dooz, tic-tac-toe, checkers آشنا شوید،هم اینک بازی reverse و dooz کامل شده است و باقی بازی ها هم در آینده نزدیک نوشته خواهد شد و بطور رایگان در اختیار دانش جویان نرم افزار قرار خواهد گرفت.
این مقاله برای آن دسته از افرادی می باشد که پیشین با C# کار کرده اند و یا قصد آشنایی و برنامه نویسی با این قالب برنامه نویسی را دارند.در این مقاله کوشش شده است که هر بخش مستقل از بخش های دیگر باشد و دوستانی که با C# و یا پیاده سازی گرافیکی تخته بازی آشنایی دارند می توانند با سرعت از این بخش ها عبور کنند و به سراغ الگوریتم بازی بروند.ولی توصیه میکنم که سلسله مراتب بخش ها را هر چند گذرا مرور کنید.
هدف از نوشتن این مقاله آشنا کردن خواننده با الگوریتم هشت وزیر به صورت گرافیکی می باشد. در این بازی ما باید هشت وزیر را بگونه ای در صحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.در این مقاله، هر 2 نوع پیاده سازی بازگشتی و غیر بازگشتی نوشته شده است.
پس از خواندن این مقاله از دانشجویان انتظار می رود که بتوانند الگوریتم هشت وزیر را تحلیل کرده و مطابق با نیاز خود در محیط های مختلف طراحی و پیاده سازی کنند.
فصل اول : طراحی
گام نخست : پیاده سازی مهره و کاشی بازی
|
|
مهره نشان دهنده وزیر |
|
را ایجاد کنید.eight_queen ای به نام Windows Application برنامه Visual C# را اجرا کنید و از قسمت Visual Studio
SquareControl.cs به نام User Control یک Add new item بر روی پروژه یتان کلیک راست کنید و از قسمت
کاشی صفحه شطرنج ما را می سازدUser control را ایجاد کنید.در واقع این
این کنترل را به 32, 32 تغییر می دهیم.حالا کاشی تخته یمان آماده شد!size
تخته یمان که به شکل دایره است می رسد(Discs)نوبت به طراحی مهره های
این مهره ها را می توان به 2 صورت پیاده سازی کرد:
با قرار دادن عکس وزیر درون کاشی های شطرنج .1
با کشیدن دایره درون کاشی های شطرنج. .2
که در این مقاله راه دوم را برگزیدیم.یعنی با کد زیر دایره ای با رنگ سفید یا سیاه درون کاشی هایمان رسم می کنیم.
e.Graphics.DrawEllipse(SquareControl.pen, left, top, width, height);
را حذف کردیم و آنرا به گام های بعدی محول کرده ایم.shadow و animationدر این گام ما قسمت
|
|
نام دامنه |
پارامتر |
اضافه می کنیم:User controlدر ابتدای کار نام دامنه زیر را
using System.Drawing.Drawing2D;
سپس رنگ کاشی خود را تعیین می کنیم:
public static Color NormalBackColor= Color.Green;
باید متغیری برای ذخیره کردن ردیف و ستون مهره ها ایجاد کنیم.به این دلیل که کدمان حرفه ای تر بشود ، آنها را تعریف کرده ایم:propertyمستقیمان به صورت
// These reflect the position of the square on the board.
Public int col{get;set;}
public int row{get;set;}
در انتها هم رنگ و قلم موی خود را انتخاب می کنیم:
// Drawing tools.
Private static Pen pen = new Pen(Color.Black);
private static SolidBrush solidBrush = new SolidBrush(Color.Black);
گام سوم : تابع تنظیم ردیف و ستون
فهرست
مقدمه. 3
معرفی نویسنده اثر. 3
درباره این مقاله. 3
مخاطبان این مقاله. 3
هدف از نوشتن این مقاله. 3
فصل اول : طراحی. 4
گام نخست : پیاده سازی مهره و کاشی بازی.. 4
گام دوم : تعریف پارامترها و نام دامنه برای User Control ها 5
گام سوم : تابع تنظیم ردیف و ستون. 6
گام چهارم : ایجاد و نابود سازی User Control ها 7
گام پنجم : چیدن مهره ها در صفحه شطرنج. 8
گام ششم : کشیدن حاشیه بین کاشی ها 10
گام هفتم : نگاه کلی بر کلاس SquareControl 11
فصل دوم : پیاده سازی محیط بازی.. 12
گام هشتم : تعریف متغییر های تخته بازی.. 12
گام نهم : پیاده سازی تابع سازنده تخته بازی.. 13
گام دهم : ذخیره 92 حالت مختلف.. 14
فصل سوم : الگوریتم هشت وزیر به روش غیر بازگشتی. 15
گام یازدهم : معرفی الگوریتم 15
گام دوازدهم : روش بررسی صحّت قرار گیری مهره 16
فصل چهارم : الگوریتم هشت وزیر به روش بازگشتی. 17
گام سیزدهم : معرفی الگوریتم 17
گام چهاردهم : روش بررسی صحّت قرارگیری مهره 17
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 68 کیلو بایت |
تعداد صفحات فایل | 96 |
فصل اول
آشنایی بااینترنت
تاریخچه اینترنت
فصل دوم
آشنایی با وب جهانی
اصول طراحی صفحات وب
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 162 کیلو بایت |
تعداد صفحات فایل | 24 |
آشنائی با روتر
استفاده از روترها در شبکه به امری متداول تبدیل شده است. یکی از دلایل مهم گسترش استفاده از روتر ، ضرورت اتصال یک شبکه به چندین شبکه دیگر (اینترنت و یا سایر سایت های از راه دور) در عصر حاضر است. نام در نظر گرفته شده برای روترها، متناسب با کاری است که آنان انجام می دهند: "ارسال داده از یک شبکه به شبکه ای دیگر". مثلاً در صورتی که یک شرکت دارای شعبه ای در تهران و یک دفتر دیگر در اهواز باشد، به منظور اتصال آنان به یکدیگر می توان از یک خط leased (اختصاصی) که به هر یک از روترهای موجود در دفاتر متصل می گردد، استفاده نمود. بدین ترتیب، هر گونه ترافیکی که لازم است از یک سایت به سایت دیگر انجام شود از طریق روتر محقق شده و تمامی ترافیک های غیرضروری دیگر فیلتر و در پهنای باند و هزینه های مربوطه، صرفه جوئی می گردد.
انواع روترها
روترها را می توان به دو گروه عمده سخت افزاری و نرم افزاری تقسیم نمود:
روترهای نرم افزاری: روترهای نرم افزاری دارای عملکردی مشابه با روترهای سخت افزاری بوده و مسئولیت اصلی آنان نیز ارسال داده از یک شبکه به شبکه دیگر است. یک روتر نرم افزاری می تواند یک سرویس دهنده NT، یک سرویس دهنده نت ور و یا یک سرویس دهنده لینوکس باشد. تمامی سیستم های عامل شبکه ای مطرح ،دارای قابلیت های روتینگ از قبل تعبیه شده می باشند.
در اکثر موارد از روترها به عنوان فایروال و یا gateway اینترنت، استفاده می گردد. در این رابطه لازم است به یکی از مهمترین تفاوت های موجود بین روترهای نرم افزاری و سخت افزاری، اشاره گردد: در اکثر موارد نمی توان یک روتر نرم افزاری را جایگزین یک روتر سخت افزاری نمود، چراکه روترهای سخت افزاری دارای سخت افزار لازم و از قبل تعبیه شده ای می باشند که به آنان امکان اتصال به یک لینک خاص WAN (از نوع Frame Relay، ISDN و یا ATM) را خواهد داد. یک روتر نرم افزاری (نظیر سرویس دهنده ویندوز) دارای تعدادی کارت شبکه است که هر یک از آنان به یک شبکه LAN متصل شده و سایر اتصالات به شبکه های WAN از طریق روترهای سخت افزاری، انجام خواهد شد .
مثال 1 : استفاده از روتر به منظور اتصال دو شبکه به یکدیگر و ارتباط به اینترنت
فرض کنید از یک روتر مطابق شکل زیر به منظور اتصال دو شبکه LAN به یکدیگر و اینترنت، استفاده شده است. زمانی که روتر داده ای را از طریق یک شبکه LAN و یا اینترنت دریافت می نماید، پس از بررسی آدرس مبداء و مقصد ، داده دریافتی را برای هر یک از شبکه ها و یا اینترنت ارسال می نماید. روتر استفاده شده در شکل زیر، شبکه را به دو بخش متفاوت تقسیم نموده است. (دو شبکه مجزاء). هر شبکه دارای یک هاب است که تمامی کامپیوترهای موجود در شبکه به آن متصل شده اند. علاوه بر موارد فوق، روتر استفاده شده دارای اینترفیس های لازم به منظور اتصال هر شبکه به آن بوده و از یک اینترفیس دیگر به منظور اتصال به اینترنت، استفاده می نماید. بدین ترتیب، روتر قادر است داده مورد نظر را به مقصد درست، ارسال نماید.
دسته بندی | برق |
فرمت فایل | doc |
حجم فایل | 25 کیلو بایت |
تعداد صفحات فایل | 15 |
اندازه گیری سیستم قدرت
22-1 مقدمه
سنجش دقیق ولتاژ، جریان یا دیگر پارامتر های شبکه ی نیرو پیش نیازی برای هر شکلی از کنترل می باشد که از کنترل اتوماتیک حلقه ی بسته تا ثبت داده ها برای اهداف آمارب می تواند متغیر می باشد . اندازه گیری و سنجش این پارامتر ها می تواند به طرق مختلف صورت گیرد که شامل استفاده از ابزار ها ی مستقیم خوان و نیز مبدل های سنجش الکتریکی می باشد.
مبدل ها خروجی آنالوگ D.C دقیقی را تولید می کنند – که معمولا یک جریان است- که با پارامتر های اندازه گیری شده مرتبط می باشد (مولفه ی مورد اندازه گیری)آنها ایزولاسیون الکتریکی را بوسیله ی ترانسفورماتور ها فراهم می کنند که گاها به عنوان ابزولاسیون گالوانیکی بین ورودی و خروجی بکار برده می شوند.این مسئله ابتداء یک مشخصه ی ایمنی محسوب می شود ولی همچنین به این معنی است که سیم کشی از ترمینال های خروجی و هر دستگاه در یافت کننده می تواند سیک وزن و دارای مشخصات عایق کاری کمی باشد مزیت های ابزار های اندازه گیری گسسته در زیر ارائه گردیده است.
الف) نصب شدن در نزدیکی منبع اندازه گیری، کاهش بار ترانسفورماتور وسیله و افزایش ایمنی بدنبال حزف سلسله ی سیم کشی طولانی.
ب) قابلیت نصب نمایشگر دور از مبدل
ج) قابلیت استفاده از عناصر نمایشگر چندگانه به ازای هر مبدل
د) بار روی CT’s/VT’s بصورت قابل ملاحظه ای کمتر است.
خروجی های مبدل ها ممکن است به روش های مختلف از ارائه ی ساده ی مقادیر اندازه گیری شده برای یک اپراتور تا بهره برداری شدن بوسیله ی برنامه ی اتوماسیون سک شبکه برای تعیین استراتژی کنترلی مورد استفاده قرار گیرد.
2-22) مشخصه های عمومی
مبدل ها می توانند دارای ورودی ها یا خروجی های منفرد و یا چند گانه باشند ورودی ها ، خروجی ها و تمامی مدار های کمکی از همدیگر مجزا خواهند شد. ممکن است بیش از یک کمیت ورودی وجود داشته باشد و مولفه ی مورد اندازه گیری می تواند تابعی از آنها باشد-هرچند مبدل اندازه گیری که مورد استفاده قرار گیرد معمولا انتخابی بین نوع مجزا و پیمانه ای وجود دارد که نوع اخیر یعنی پیمانه ای توسط پریز واحد ها را به یک قفسه ی ایتاندارد وصل می کند موقعیت و اولویت استفاده نوع مبدل را تعیین می کند.
1-2-22) ورودی های مبدل
ورودی مبدل ها اغلب از ترانسفورماتور ها گرفته می شود که این امر ممکن است از طرق مختلف صورت پذیرد . به طور کامل ، برای بدست آوردن بالا ترین دفت کلی باید کلاس اندازه گیری ترانسفورماتور های دستگاه مورد استفاده قرار گیرد. و سپس خطای ترانسفورماتور، ولو اینکه از راه جبر و بصورت ریاضی گون، به خطای مبدل اضافه خواهد شد. هرچند که اعمال مبدل ها به کلاس محافظتی ترانسفورماتور های دستگاه عمومیت دارد و به این علت است که مبدل ها معمولا بر اساس توانایی تحمل اضافه بار کوتاه مدت مشخص روی جریان ورودی آنها توصیف می شوند. مشخصه های عمومی مقاومتی مناسب برای اتسال به کلاس حفاظتی ترانسفور ماتور های دستگاه برای مدار ورودی جریان یک ترانسفور ماتور در ذیل آمده است:
الف)300 درصد کل جریان پیوسته
ب)2500 درصد برای سه ثانیه
ج)5000 درصد برای یک ثانیه
مقاومت ظاهری ورودی هر مدار ورودی جریان باید تا حد ممکن پایین و برای ولتاژ ورودی باید تا حد ممکن بالا نگه داشته شود. این کار خطا ها را بعلت عدم تناسب مقاومت ظاهری کاهش می دهد .
2-2-22) خروجی مبدل ها
خروجی یک مبدل معمولا منبع جریان می باشد. و به این معنا یت که در طول محدوده تغییرات ولتاژ خروجی (ولتاژ مقبول) مبدل ، وسایل نمایشگر اضافی بدون محدودیت و بدون هرگونه نیازی برای تنظیم مبدل می تواند اضافه گردند.میزان ولتاژ قابل قبول ، حداکثر مقاومت ظاهری حلقه ی مدار خروجی را تعیین می کند . به طوری که میزان بالای ولتاز قابل قبول ، دوری موقعیت دستگاه مزبور را تسهیل می کند.
در جایی که حلقه ی خروجی برای اهداف کنترلی مورد استفاده قرار گرفته می شود ، دیود زینر های به طور مناسب ارزیابی شده گاها در میان ترمیتال های هر وسیله در حلقه ی سری برای حفاظت در برابر امکان تبدیل مدارات داخلی آنها به مدار باز نصب می شوند.این امر اطمینان می دهد که یک وسیله خراب در داخل حلقه منجر به خرابی کامل حلقه ی خروجی نمی گردد. طبیعت جریان ساده ی خروجی مبدل حقیقتا ولتاژ را بالا می برد و تا تحت فشار قرار دادن سیگنال خروجی صحیح اطراف حلقه ادامه می یابد.
3-2-22) دقت مبدل
معمولا دقت از اولویت های اولیه می باشد . اما در مقایسه باید اشاره گردد که دقت می تواند به طرق مختلف تعریف گردیده و شاید تحت تعاریف بسیار نزدیک شرابط استفاده اعمال گردد. مطالبی که در زیر اشاره می گردد تلاش دارد تا برخی از موضوعاتی که دارای عمومیت بیشستری هستند و نیز ارتباط آنها با شرایطی که در عمل رخ می دهد با استفاده از تروینولوژی معین در ICE 60688 را روشن می سازد.
دقت مبدل بوسیله ی عوامل مختلف (به یک مقدار کم یا زیاد) تحت تاثیر فرار خواهد گرفت که با نام مقادیر تاثیر شناخته می شود که روی آن استفاده کننده کنترل کمی داشته یا حتی هیچ کنترلی ندارد. جدول 1-22 لیست کاملی از مقادیر تاثیر را به نمایش در آورده است.دقت تحت گروهی از شرایط که به عنوان شرایط مرجع شناخته می شوند بررسی می گردند. شرایط مرجع برای هر یک از مقادیر تاثیر می تواند به صورت یک مقدار منفرد (برای مثال 20 درجه ی سانتی گراد) یا محدوده ی تغییرات ( برای مثال 10 تا 40 درجه ی سانتی گراد ) بیان گردد.
جدول 1-22 ) --------------------------------------------------------
خطای تعیین شده تحت شرایط مرجع به خطای ذاتی باز می گردد. همه ی مبدل هایی که دارای خطای ذاتی یکسانی هستند در یک کلاس دقت مشخص گروهبندی می شوند که بوسیله ی نشانه ی کلاس مذکور مشخص می گردند. نشانه ی کلاس با خطای ذاتی بوسیله درصدی مشخص می گردد( برای مثال مبدلی با خطای ذاتی 0.1 درصد از کل مقیاس دارای نشانه ی کلاسی برابر با 0.1 می باشد) یکی است.
سیستم نشانه ی کلاسی که در IEC 60688 استفاده می شود نیازمند این است که تغییرات برای هر یک از مقادیر تاثیر دقیقا مرتبط با خطای ذاتی باشد و این به این معنی است که بیشترین مقدار دقت آن است که کارخانه ی سازنده ادعا دارد و کمترین مقدار ناشی از حدود ناپایداری است.
به علت آنکه مقادیر تاثیر زیادی وجود دارند ، پایداری ها به صورت منفرد تعیین می گردند ضمن اینکه همه ی دیگر مقادیر تاثیر در شرایط مرجع نگهداری می شوند محدوده تغییرات اسمی استفاده از یک مبدل بوسیله ی کارخانه ی سازنده مشخص می گردد. محدوده تغییرات اسمی به طور طبیعی گسترده تر از میزان یا محدوده ی تغییرات مرجع می باشد. مطابق با محدوده ی تغییرات اسمی استفاده از یک مبدل خطاهای اضافی به علت یک خزا روی هم جمع می شوند. این خطا های اضافی به مقدار تاثیر منفردی که اغلب نشانه ی کلاس می باشد محدود می شود. جدول 2-22 جزئیات اجزاء محدوده ی تغییرات نوعی یک مبدل را طبق استاندارد ارائه می کند.
جدول 1-22 ) --------------------------------------------------------
همچنین آشفتگی برای مشخص شدن کارائی تحت شرایط عملی واقعی بالا می رود. سیگنال خروجی اغلب یک مولفه ی اندازه گیری آنالوگ D.C می باشد اما از یک مقدار ورودی متناوب بدست می آید و به ناچار مقدار مشخصی از اجزاء متناوب یا موج دار را دارار خواهد بود. موج یا شکن بوسیله ی اختلاف بین مقادیر ماکسیمم و مینیمم اخزاء متناوب سیگنال خروجی تعریف می گردند . هر چند که برخب سازنده ها از اختلاف بین میانگین تا ماکسیمم یا r.m.s (Remote Monipulator system) استفاده می کنند. برای با معنی بودن شرایطی که تحت آن مقدار موج یا شکن اندازه گرفته شده است باید توضیح داده شود ، برای مثال 0.35% r.m.s = 10% peak-to-peak ripple .
با تغییرات شرایط مولفه ی مورد اندازه گیری سیگنال به طور آنی از تغییرات طبعیت نمی کند بلکه دارای تاخیر زمانی می باشدو این مسوله به علت فیلترینگ مورد نیاز برای کاهش شکن یا ،در مبدل هایی که از تکنولوژی رقمی استفاده می کنند ، ممانعت از بد نمایی زمان واکنش معمولا می تواند در عوض افزایش شکن کاهش یابد و بالعکس. مبدل هایی که دارای زمان واکنش گکمتر از معمول هستند می توانند برای چنان مواردی مورد استفاده قرار گیرد جایی که سیستم نیرو، نوسانات ، افت ها و نوسانات فرکانس پایین را که باید مانیتور گردد تحمل می کند.
مبدل هایی که دارای جریان خروجی می باشند ولتاژ خروجی ماکسیممی دارند که به عنوان ولتاژ قابل قبول شناخته می شود. اگر مقاومت بار خیلی بالا باشد و از این رو ولتاژ قابل قبول از یک حدی تجاوز کند، خروجی مبدل دارای دقت بالایی نخواهد بود.
میدل های مخصوصی بوسیله ی سازندگان برای استفاده روی سیستم هایی که شکل موجی ، سینوسی خالص نیست مشخصه بندی شده اند. آنها عموما به انواع دریافت حقیقی r.m.s باز می گردند . برای چنین انواعی عامل اختشاش شکل موج یک مقدار تاثیر می باشد. دیگر مبدل ها به دربافت میانگین باز می گردند و برای پاسخ به مقدار r.m.s یک مرجع سینوسی خالص تنظیم شده اند. اگر شکل موج ورودی به هم بریزد خطا ها بوجود خواهند آمد . برای مثال خطایی به علت آسیب دیدن سومین هارمونیک می تواند بالغ بر یک در صد به ازای سه درصد هارمونیک شود. اولین بار که دستگاه نصب شد استفاده کننده توقع دارد که دقت مبدل در طی زمان پایدارباقی بماند. استفاده از اجزاء دارای کیفیت بالا و نیز بررسی محافظه کارانه ی نیرو به اطمینان از پایداری طولانی مدت کمک خواهد کرد ولی شرایط محیطی مخالف یا ناسازگار می تواند منجر به تغییر کارایی گردد که ممکن است نیاز به جایگزینی آن در طی طول عمر دستگاه گردد.
3-22) تکنولوژی مبدل های دیجیتال
مبدل های دارای سیستم نیروی دیجیتال از تکنولوژی مشابهی که در مورد رله های رقمی و دیجیتال که در فصل هفتم توضیح داده شده استفاده می کنند. سیگنال های آنالوگ حاصل شده از CT’s و VT’s برای جلوگیری از بدنمایی فیلتر می شوند ( با استفاده از مبدل A/P به دیجیتال تبدیل می شوند( و سپس پردازش سیگنال برای بدست آوردن اطلاعات مورد نیاز انجام می گیرد. اطلاعات پایه در فصل هفتم ارائه گردیده است. نرخ نمونه برداری 64 (نمونه/چرخه) یا بیشتر ممکن است مورد استفاده قرار گیرد و کلاس دقت آن به طور معمول 0.5 می باشد.
خروجی ها ممکن است هم دیجیتال و هم آنالوگ باشند . خروجی های آنالوگ به وسیله ی عوامل تاثیر گزار روی دقت آنچنانکه در بالا توضیح داده شد تحت تاثیر قرار می گیرند. خروجی های دیجیتال نوعا در شکل یک پیوند مخابراتی با انواع موجود RS232 و RS458 هستند زمان واکنش بسته به نرخی که مقادیر به پیوند مخابراتی انتقال داده می شوند و تاخبر در پردازش داده ها درد انتهای دریافت کننده ممکن است در مقایسه با مبدل های آنالوگ قابل تحمل تر باشند .
در حقیقت همه ی مقادیر تاثیری که یک مبدل آنالوگ سنتی را تحت تاثبر قرار می دهند در مبدل های دیجیتالی نیز در برخی اشکال مشاهده می شوند ولب خطاهای ایحاد شده شاید خیلی کمتر از نوع مشابه در مبدل های آنالوگ بوده و نیز در یک چرخه ی زمانی طولانی بسیار پابدار تر می باشد.
مزیت استفاده از تکنولوژی رقمی در مبدل ها به صورت زیر می باشد:
1- پایداری طولانی مدت بهبود شده
2- اندازه گیری r.m.s با دقت خیلی بیشتر
3- امکان ارتباطی بهبود یافته
4- قابلیت برنامه ریزی مقیاس گزاری
5- محدوده ی تغییرات گسترده تر از توابع
6- کاهش یافتن اندازه ی دستگاه
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 469 کیلو بایت |
تعداد صفحات فایل | 33 |
انتقال داده ها، شبکه های کامپیوتری و سیستم های توزیع شده
در دنیای امروز که میتوان آن را عصر اطلاعات نامید، انتقال دادهها (Data Commonication) و شبکههای کامپیوتری (Computer Networks) که حاصل پیوند دو صنعت کامپیوتر و مخابرات است، از اهمیت ویژهای برخوردار میباشد. هدف از پیدایش شبکههای کامپیوتری، اتصال کامپیوترهای مستقل از طریق یک فناوری واحد و قوانین مشخص به منظور انتقال دادهها و اشتراک منابع است. منظور از انتقال دادهها، ارسال و دریافت دادهها به صورت پیوسته آنالوگ یا گسسته دیجیتال بر روی رسانههای مختلف انتقال مانند زوج سیم به هم تابیده، فیبر نوری، هوا و غیره میباشد.
توجه کنید که اینترنت و وب، هیچکدام یک شبکه کامپیوتری نمیباشند. اینترنت (Internet)، شبکه شبکهها است و از به هم پیوستن هزاران شبکه نامتجانس و گوناگون که هر کدام از آنها فناوری و قوانین مخصوص به خودش را دارد به وجود آمده است. اما وب گسترده جهانی (WWW. World Winde Web) نمونهای از یک سیستم توزیع شده است. یک سیستم توزیع شده، مجموعهای از چندین کامپیوتر مستقل است که از دید کاربر به صورت یک سیستم نامرئی (Transparent)، متمرکز (Centeralized) و متجانس به نظر میرسد و کاربر به جای نگرانی در مورد به خاطر سپردن آدرسها (مثلا آدرس اینترنتی IP)، هر چیز را از طریق نام آن فراخوانی مینماید (مثلا در وب همه چیز به صورت سند یا صفحه وب است و از طریق نام URL قابل دستیابی است و این نامها به صورت خودکار توسط خدمتگزارهای نام حوزه به آدرس IP تبدیل میشوند.) همچنین دقت کنید که وب، میان افزار (Middleware) است و یک لایه نرمافزاری میباشد که در یک محیط ناهمگن بر روی سیستم عاملهای متنوع مستقل قرار دارد، اما ایده سیستمهای عامل توزیع شده، وظیفه ایجاد یک تصویر متمرکز از کامپیوترهای مستقل را بر عهده سیستم عامل واحد توزیع شده میسپارد.
کاربردهای شبکه
امروزه با گسترش اینترنت و جهانی شدن وب، کاربردهای شبکههای کامپیوتری از تنوع زیادی برخوردار است که برای نمونه، چند مورد از آنها عبارتند از: جستجو و تحقیق و دسترسی به اطلاعات به روز پراکنده در دنیا، تجارت الکترونیکی، خرید، فروش و حراج کالا، آموزش از راه دور و دانشگاه مجازی، دولت الکترونیکی، درمان از راه دور، کنفرانس صوتی و تصویری از راه دور، کنترل، مدیریت و نظارت بر سیستمهای صنعتی از راه دور، پست الکترونیکی، پیامرسانی فوری، گروههای خبری، گفتگو و گپ زدن، بازی و سرگرمی تعاملی، پخش فیلمهای درخواستی، کمک به ایجاد واقعیت مجازی و دهها کاربرد دیگر.
اجزای شبکه
شبکههای انتقال داده از سه بخش عمده تشکیل میشوند:
کامپیوترهای میزبان (Host) که هدف اصلی ایجاد شبکه، اتصال کامپیوترهای میزبان به یکدیگر است.
پردازندههای واسط مانند هابها (Hub)، تکرار کنندهها (Repeater)، پلها (Bridge)، سوئیچها (Switch) و مسیریابهای (Router) میانی که وظیفه مدیریت شبکه و هدایت ارسال دادهها از مبدأ و مقصد را بر عهده دارند. مدل ریاضی شبکههای کامپیوتری یک گراف است که در آن، گرهها (Nodes) همان پردازندههای واسط هستند.
لینکهای ارتباطی (Link) که در واقع رسانههای انتقال داده هستند و با اتصال گرههای شبکه به یکدیگر انتقال دادهها را بر عهده دارند.
پردازندههای واسط و لینکهای ارتباطی زیر شبکه انتقال داده (Communication Subnet) را تشکیل میدهند.
1-1 طبقهبندی شبکهها
شبکههای کامپیوتری از نظر اندازه و گستردگی جغرافیایی به 5 دسته تقسیم میشوند:
شبکههای شخصی (PAN: Personal Area Networks) که بر روی میز کار یا فاصله چند متری یک شخص هستند. مانند ارتباط بیسیم اجزای کامپیوتر با کامپیوتر شخصی (PC) و دستیار دیجیتالی (PDA) و یا حتی کامپیوتر پوشیدنی (Wearable Computer) شخص.
شبکههای محلی (LAN: Local Area Networks) که دارای گستردگی در حد یک ساختمان یا یک کمپ کوچک میباشند.
شبکههای شهری (MAN: Metropolitan Area Networks) که دارای گستردگی در حد یک شهر میباشند.
شبکههای گسترده (WAN: Wide Area Networks) که دارای گستردگی بیش از حد یک شهر ( در حد استان، کشور یا قاره) میباشند.
شبکههای جهانی که همان شبکه شبکهها یا اینترنت است.
انواع فناوری انتقال
به طور کلی دو نوع فناوری انتقال داده وجود دارد:
نقطه به نقطه (Point to point) یا همتا به همتا (Peer to peer) یا تک پخشی (Unicast) که دادههای ارتباطی از طریق لینکها و گرههای میانی به طور مستقیم بین دو ماشین مبدأ و مقصد مبادله میشود. (مانند شبکههای تلفنی)
انتشاری (Broadcast) که به آن داده پراکن یا پخشی نیز میگویند و در آن همه ماشینها به یک کانال مشترک متصل شده و دادهها بر روی کانال انتقال داده منتشر میشود و کلیه ماشینها به دادهها روی کانال دسترسی دارند (مانند انتشار رادیویی). این ماشینها با توجه به آدرس مقصد بستهها آنها را برداشته یا دور میاندازند.
البته در بعضی از شبکههای انتشاری امکان ارسال دادهها از مبدأ به گروهی از مقصدها وجود دارد که به آن پخش گروهی یا چند پخشی (Multicast) یا (Point to Mutltipoint) گویند.
همبندی (Topology)
منظور از همبندی یا توپولوژی نحوه اتصال گرههای تشکیل دهنده گراف شبکه از طریق لینکهای ارتباطی است. ساختار و توپولوژی شبکههای کامپیوتری بر اساس ماهیت کانالهای (Channel) انتقال داده و فناوری انتقال به دو دسته اصلی (نقطه به نقطه و انتشاری) تقسیم میشود.
انواع توپولوژی Point to point
چندین نوع توپولوژی در شبکههای نقطه به نقطه مورد استفاده قرار میگیرد، مانند:
انواع توپولوژی Broadceast
چندین نوع توپولوژی در شبکههای انتشاری مورد استفاده قرار میگیرد، مانند:
2-1 روند پیشرفت شبکههای کامپیوتری
در ابتدا طراحی شبکههای کامپیوتری به صورت موردی و خاص و با معماریهای گوناگون و ناسازگار با یکدیگر انجام میشد و هر شرکت معماری و روش غیر استاندارد خودش را داشت. بنابراین قابلیت اتصال به کامپیوترهای شرکتهای دیگر وجود نداشت و به همین دلیل به آنها شبکههای بسته (Closed Networks) گفته میشد. برای مثال شکل 1 دو کامپیوتر را نشان میدهد که به طور مستقیم به یکدیگر متصل شدهاند. اینگونه شبکهها از نوع شبکههای خصوصی با وسعت یک شرکت (Enterprise Networks) بودند.
دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 33 کیلو بایت |
تعداد صفحات فایل | 41 |
آموزش کار با PHP
مقدمه
PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند.
PHP هم همانند تمامی زبانهای برنامه نویسی Server Side، ترجمه شده و در نهایت به صورت کدهای HTML در اختیار کاربر قرار می گیرد. از این رو کد شما، از دید دیگران پنهان می ماند.
اما فرق PHP با دیگر زبانها چیست؟ یکی از مهمترین رقیبهای PHP، توسط مایکروسافت تحت عنوان ASP که در نسخه جدید به ASP.NET تغییر نام داده است، به وجود آمده و هنوز بحث سر آن است که کدامیک از آنها قویتر و مناسب تر است.
در این مقاله نمی خواهم بگویم که کدام یک بهتر است. هر کس عقاید مربوط به خود را دارد. در زیر به مقایسه این دو زبان می پردازم:
همان طور که مشاهده کردید، هر کدام از آنها دارای معایب و مزایایی هستند و انتخاب آنها، کاملا به عهده خود شماست.
نصب PHP
نصب PHP بر روی ویندوز و IIS کار بسیار آسانی است. اما از آنجا که در این مقاله، علاوه بر آشنایی با PHP، مروری بر پایگاه داده ی MySQL داریم، نیازمند MySQL نیز هستیم. اگر بخواهید تک تک آنها را از اینترنت دانلود کرده و آنها را جداگانه نصب و پیکربندی کنید، می بایست وقت بسیاری را صرف کنید. دانلود آنها (آن هم با یک مودم و اینترنتی که بیش تر از 4KB/S نمی رود) کار بسیار زمان بری است. همچنین برای پیکربندی آنها نیز، مستلزم انجام کارهای نه چندان خوشایند هستید!
بدین منظور، من به شما یک راه ساده تر را پیشنهاد می کنم. XAMPP!
XAMPP یک مجموعه نرم افزاری بسیار جالب است که علاوه بر حجم کم آن (تنها 13MB)، تمامی پکیجهای مورد نیاز شما را شامل می شود:
این در حالی است که فقط خود MySQL به تنهایی، حجمی بیشتر از 10MB دارد.
من از پکیج XAMPP mini win32 Version 1.2 در کامپیوتر خودم استفاده می کنم. آن را می توانید از آدرس زیر دانلود کنید.
http://www.apachefriends.org/download.php?minixampp-win32-1.2.exe
چگونگی نصب XAMPP
نکته: قبل از انجام این عملیات، وب سرور IIS خود (و یا دیگر وب سرورها) را غیر فعال (Disable, Stop) کنید.
پس از دریافت XAMPP آن را در جای مورد نظر خود نصب (Extract) کنید. فرق نمی کند که کجا باشد.
سپس به پوشه ای که XAMPP را در آنجا Extract نموده اید، بروید. فایل setup_xampp.bat را باز کرده تا صفحه سیاهی نمایان شود. عدد 1 را وارد کرده و کلید Enter را فشار دهید تا مراحل نصب آغاز شود.
پس از آنکه نصب به پایان رسید، می بایست سرور شوید. برای اینکار دو فایل apache_start.bat و mysql_start.bat را اجرا کرده و دیگر کاری به آنها نداشته باشید. آنها را Minimize کرده و مابقی کارها را انجام دهید.
حال مرورگر دلخواه خود را باز کرده و عبارت http://localhost (یا http://127.0.0.1) را تایپ نمایید. با انجام اینکار می بایست صفحه بنفش رنگی نمایان شود.
چگونگی اجرا کردن اسکریپتهای PHP به وسیله XAMPP
اسنادی را که خواهان اجرای آن به وسیله XAMPP هستید، می بایست درون پوشه htdocs کپی نمایید. ولی در نوشتن آدرس آن در مرورگر، نیازی به نوشتن این پوشه نیست. به عنوان مثال فایل %XAMPP%\htdocs\weblog\index.php را در مرورگر می بایست به صورت http://localhost/weblog/index.php اجرا نمود...
شروع کار با PHP
در برنامه نویسی هیچ چیز لذت بخش تر از کد نویسی نیست. همین حالا برنامه Notepad خود را باز کرده و کدهای زیر را در آن بنویسید:
این فایل را در محل %XAMPP%\htdocs\PHP\phpinfo.php ذخیره کرده و به وسیله مرورگر خود، آدرس http://localhost/PHP/phpinfo.php را اجرا نمایید. با انجام این کار، صفحه ای که مشخصات PHP نصب شده بر روی سیستم را به شما نشان می دهد، نمایان خواهد شد.
آشنایی با PHP
همان طور که در مثال بالا مشاهده کردید، کد زیر با بقیه کدهای HTML فرق داشت:
?>
این تکه کدی است که به وسیله PHP نوشته شده است. برای نوشتن کدهای PHP، می بایست آنها را در بین تگهای ?> و و قرار داد. همچنین یک راه میانبر نیز است که به صورت =SOMETHING?> به کار می رود. در این مقاله از همان روش ?> و عبارات (Statements)
به طور کلی در PHP، عبارات به دو دسته زیر تقسیم می شوند:
در انتهای هر عبارت PHP، یک علامت سمی کالن (;) قرار می گیرد. به وسیله این علامت، PHP متوجه می شود که یک عبارت به اتمام رسیده و عبارت دیگری در حال شروع است. به مثالهای زیر توجه کنید:
echo("Hello World!");
echo("Mojtaba");
?>
echo("Hellow World"); echo("Mojtaba");
?>
هر دو کد بالا صحیح است. چرا که بعد از اتمام هر یک از عبارت PHP، یک علامت سمی کالن قرار داده شده است. برنامه نویسان معمولا از کد بالایی استفاده می کنند. چرا که در آن، هر یک از کدهای PHP در یک خط مجزا قرار گرفته و در نتیجه نگهداری کد آسان تر خواهد شد. حال به کد زیر توجه کنید:
echo("Hello World!")
echo("Mojtaba")
?>
اجرای این کد سبب خطا می شود. چرا که عبارت در آن از هم جدا نشده است و عبارتی همانند عبارت echo("Hello World") echo("Mojtaba") برای PHP ناآشناست.
تا به اینجای کار، عبارت تک خطی مورد بررسی قرار گرفتند و اما عبارات چند خطی. عبارات چندخطی که به کد بلاک (Code Block) معروف است، در PHP توسط آکولادها { } احاطه می شوند. این عبارات با همدیگر اجرا می شوند. به عنوان مثال در یک عبارت شرطی (عبارات شرطی در جلوتر مورد بررسی قرار می گیرند)، برای PHP تعیین می کنیم که اگر شرط درست بود، این سری عبارات و در غیر این صورت، سری دیگری عبارات را اجرا نماید:
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 1040 کیلو بایت |
تعداد صفحات فایل | 24 |
تاریخچه فتوشاپ
سالها پیش در پاییز سال 1987, Thomas knoll، دانشجوی دکترای رشته ) (Computer Visionدر حال کار روی برنامهای بود که بتواند تصاویر طیف خاکستری کامپیوتری را روی مانیتورهای سیاهوسفید نقشهبیتی به نمایش درآورد. این برنامه به نوعی سرگرمی دوره دانشجویی نول محسوب میشد که فارغ از درسهای دوره دکتری، در خانه خود و روی کامپیوتر مک پلاس خانگیاش روی آن کار میکرد. این کد برنامه به هیچ وجه مربوط به رساله پایاننامه نول نمیشد و خود او نیز در اوایل کار هرگز فکر نمیکرد که این برنامه ساده او قرار است روزی به بزرگترین نرمافزار ویرایش تصویر تبدیل شود.
این برنامه نظر John، برادر نول را جلب کرد. جان در آن زمان در شرکت بزرگ (Industrial Light and Magic ILM)در مارین کانتری کالیفرنیا مشغول به کار بود. ILM مرکز جلوههای ویژه تصویری در شرکت عظیم لوکاس فیلم بود که در آن زمان بزرگترین و معتبرترین شرکت فیلمسازی به شمار میرفت. با تهیه فیلم جنگهای ستارهای، لوکاس فیلم ثابت کرده بود که جلوههای تصویری کارآمد میتوانند با ترکیب شخصیتهای خیالی و داستانی دور از ذهن، به یک پدیده در دنیای سینما تبدیل شوند.
در پی موفقیت عظیم آن فیلم، همه در پی یافتن راهحلهای دیجیتالی برای چنین مقاصدی بودند و به همین علت جان نیز به محض اطلاع از پروژه برادرش، از او خواست که از برنامهاش برای تولید تصاویر دیجیتالی استفاده کند. این برنامه ساده Display نام داشت و نمایش تصاویر دیجیتالی توسط این برنامه نتیجه خوبی را به دنبال داشت که نقطه سرآغاز کار این دو برادر شد. خود جان چنین تعریف میکند:
"من نمیدونستم چطور میشه از Display استفاده کرد. وقتی برای اولین بار یک عکس سیاه و سفید رو با اون باز کردم، از جان پرسیدم آیا میتونه کد برنامه رو جوری تغییر بده که تصاویر رو با فرمتهای دیگه هم ذخیره کنه؟! اگهDisplay میتونست چنین کاری کنه اونوقت من میتونستم با اون از عکس برنامههای دیگه خروجی بگیرم. من چندتا عکس رو که از کامپیوترهای لایت اند مجیک آورده بودم، توی Display باز کردم. اما روی کامپیوتر من خیلی تیره نمایش داده شدند. بنابراین دوباره از توماس پرسیدم: میتونی کاری کنی که این عکسها کمی روشنتر بشن یا مثلا مقدار شفافیت اونها رو تغییر بدی؟"
همین سوال ساده سرآغاز کار بر روی نرمافزاری شد که امروزه آن را با نام فتوشاپ میشناسیم.
جان توسط پدرش که در دانشگاه میشیگان سمت استادی داشت، ترتیب سفارش یک کامپیوتر Macintosh II را که اولین مدل رنگی محسوب میشد داد. به محض خریداری این کامپیوتر، نول دوباره شروع به کار روی برنامه کرد، به نوعی که بتواند روی مانیتورهای رنگی نیز کار کند. آن دو به مدت چند ماه به طور مداوم روی این پروژه کار کردند تا بتوانند قابلیتهای نمایشی آن را افزایش دهند. در همان زمان به اصرار جان، توماس کدهای مخصوص خواندن و ذخیرهکردن فرمتهای مختلف رنگدانهها را به برنامهاش اضافه کرد که همان کدها سالها بعد تبدیل به فیلترها plug-inتصویرهای نقشه بیتی شدند.
توماس پس از مدتی کار روی برنامهاش موفق به ساخت ابزار منحصر به فرد محدوده انتخاب (Selection Tools) شد که بدون اینکه لبههای زمخت و ناهموار ایجاد کند، قابلیت جدا کردن مناطق رنگی را داشت. او همچنین توانست قابلیتهای فوقالعادهای مثل Levelها را برای تنظیم تنالیته تصویر، Hue and Saturation را برای تنظیمات رنگی و نیز قابلیتهای رنگآمیزی را برای تغییر رنگ مناطق مورد نظر در تصاویر نقشه بیتی فراهم کند.
در تابستان 1988 بود که جان بالاخره به این نتیجه رسید که کاربرد برنامه ساخته شده به حدی از انتظار رسیده است که بتوان از آن به عنوان یک محصول تجاری استفاده کرد. توماس از این فکر جان شگفت زده شد:" جداً فکر میکنی بتونیم این برنامه رو به کسی بفروشیم؟ من که فکرش رو نمیکنم. " جان با خوشبینی برادرش را متقاعد کرد که این کار اصلا دور از ذهن نیست و به او قول داد که سعیاش را میکند تا از برنامه ساخته شده، یک نرمافزار تجاری بسازد.
جان راست میگفت. فروش چنین برنامهای به همین سادگیها نبود و کار بسیار زیادتری لازم داشت تا به چنین نتیجهای برسد. اما جان دست بردار نبود.
در همان زمان بود که جان در نشریه MacWeek آگهی تبلیغ نرمافزار ویرایشگری را دید که PhotoMac نام داشت. دیدن آن آگهی باعث شد که جان بیشتر در فکر فروش نرمافزار خودشان بیفتد. به همین علت برای تحقیق پیرامون نرمافزار جدید راهی همایش SIGGRAPH شد. نتیجه همایش برای او رضایتبخش بود. طوری که خود او میگوید"ما هیچ نگرانیای از آن نرمافزار نداشتیم. برنامه ما قابلیتهای بزرگی داشت که PhotoMac فاقد آنها بود" و درحقیقت تعجب کرده بود که برنامهای با چنین قابلیتهای سطح پایینی میتواند فروخته شود! توماس بارها و بارها نام برنامه خودشان را تغییر داد و هر بار که نام جدیدی برای آن برمیگزید چیز دیگری نظرش را جلب میکرد و باعث میشد دوباره آن را تغییر دهد. دقیقا مشخص نیست نام فتوشاپ از کجا گرفته شد.
به نظر میرسد این نام را یکی از افراد مورد اعتماد او به وی پیشنهاد داد و در حقیقت این نام آخرین نامی بود که برگزیده شد و روی نرمافزار مورد نظر باقی ماند.
پس از نامگذاری نرمافزار، جان شروع کرد به گشتن به دنبال شرکتی که روی فتوشاپ سرمایهگذاری کند. اولین شرکتی که با آنها وارد مذاکره شدSuperMacبود که اختلافات مالی موجب جلوگیری از رسیدن به توافق نهایی بین آنها شد. Aldus در حال کار روی یک پروژه خانگی بود و Adobe نیز علیرغم علاقهمندیای که به همکاری نشان داد اما روند کار آنها به سرعتی نبود که بتوانند به راحتی وارد مذاکره شوند. در آن زمانی که جان در دره سیلیکون به دنبال شرکتی برای همکاری میگشت، توماس نیز بهطور تمام وقت در حال کار روی فتوشاپ بود تا بتواند امکانات و قابلیتهای بیشتری را به آن اضافه کند. در این زمان جان نیز برای اینکه بتواند امکان استفاده از نرمافزار را برای عموم سادهتر کند، یک راهنمای ساده برای آن تهیه کرد که میتوانست نحوه کار با نرمافزار را به خوبی تشریح کند.
زحمات این دو بالاخره نتیجه داد و توانستند با شرکت Barneyscan وارد مذاکره شوند. این شرکت در آن زمان سازنده اسکنرهای نقشهبیتی بود و قصد داشت با خرید فتوشاپ و استفاده از آن در جهت بالابردن کارایی اسکنرهای خود، فروش سختافزارهای خود را افزایش دهد. اقدامات اولیه انجام شد و اولین نسخه نرمافزار به عنوان یک برنامه الحاقی برای اسکنرها به بازار آمد. از نسخه فتوشاپ چیزی در حدود دویست کپی به فروش رفت که هرچند قابل ملاحظه نبود، اما بههرحال اولین فروش تجاری برنامه خانگی برادران نول به شمار میرفت.
در همین زمان جان، نرمافزار خودش را به مهندسان شرکت اپل نشان داد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 200 کیلو بایت |
تعداد صفحات فایل | 23 |
پورت موازی
در زمان اتصال یک چاپگر به کامپیوتر از پورت موازی استفاده می گردد. با اینکه اخیرا" استفاده از پورت های USB رایج شده است ولی همچنان استفاده از پورت موازی برای اتصال چاپگر به کامپیوتر بسیار متداول است .
از پورت های موازی می توان برای اتصال تجهیزات جانبی زیر استفاده کرد
مبانی پورت های موازی
پورت موازی ، توسط شرکت IBM و بمنظور اتصال یک چاپگر به کامپیوتر طراحی گردید. زمانیکه شرکت IBM در اندیشه طراحی و ارائه کامپیوترهای شخصی بود، ضرورت استفاده از چاپگرهای شرکت" سنترونیکس" نیز احساس گردید.شرکت IBM تصمیم نداشت که از همان پورتی که توسط چاپگرهای سنترونیک استفاده می گردید، در طراحی خود استفاده نماید.
مهندسین شرکت IBM از یک کانکتور 25 پین (DB-25) بهمراه یک کانکتور 36 پین برای ایجاد یک کابل خاص بمنظور اتصال چاپگر به کامپیوتر استفاده کردند. سایر تولید کنندگان چاپگر نیز در ادامه از استاندارد سنترونیک تبعیت و به مرور زمان استاندارد فوق در سطح جهان مطرح و مورد استفاده قرار گرفت .
زمانیکه کامپیوترهای شخصی اطلاعاتی را برای چاپگر و یا هر وسیله دیگری که به پورت موازی متصل است، ارسال می نمایند ، در هر لحظه هشت بیت ارسال خواهد شد.. هشت بیت فوق بصورت موازی برای دستگاه ارسال خواهند شد. پورت موازی استاندارد، قادر به ارسال 50 تا 100 کیلوبایت در هر ثانیه است .نحوه عملکرد چاپگر به شرح زیر است :
- پین یک، حامل سیگنال Strobe بوده و دارای ولتاژی بین 2/8 و پنج است . زمانیکه کامپیوتر اطلاعاتی ( یک بایت داده ) ارسال می دارد ولتاژ به نیم ولت افت پیدا خواهد کرد.افت ولتاژ فوق به چاپگر اعلام می نماید که داده هائی ارسال شده است .
- پین دوتا نه حامل داده است .بمنظور مشخص نمودن اینکه یک بیت دارای مقدار یک است ولتاژ پنج ارسال از طریق پین مربوطه ارسال ( شارژ) خواهد شد.بر روی پینی که شامل مقدار ( داده ) صفر است شارژی ( ولتاژ) قرار نخواهد گرفت .
- پین ده ، اطلاعات لازم در خصوص نحوه عملکرد چاپگر را برای کامپیوتر، ارسال می نماید . نحوه پیاده سازی پین فوق نظیر پین "یک" است .زمانیکه ولتاژ موجود بر روی پین فوق به نیم ولت تنزل پیدا نماید، کامپیوتر اطلاعات لازم در خحصوص فرآیند چاپ را از چاپگر اخذ خواهد کرد .( کامپیوتر به این اطمینان خواهد رسید که چاپگر اطلاعات را دریافت نموده است )
- در صورتیکه چاپگر مشغول باشد، پین شماره یازده شارژ می گردد. زمانیکه ولتاژ نیم ولت بر روی پین فوق قرار بگیرد به کامپیوتر اغلام خواهد شد که چاپگر آماده دریافت اطلاعات است .
- در صورتیکه چاپگر دارای کاغذ نباشد ، از طریق پین شماره دوازده به کامپیوتر آگاهی لازم داده خواهد شد.
- زمانیکه بر روی پین شماره سیزده شارژی وجود داشته باشد، آماده بودن چاپگر به کامپیوتر اعلام می گردد.
- کامپیوتر از طریق پین شماره چهارده و با استفاده از یک ولتاژ پنچ ولت سیگنال Auto Feed را برای چاپگر ارسال می دارد.
- در صورتیکه چاپگر دارای مشکلی باشد ولتاژ پین شماره پانزده به نیم ولت کاهش و کامپیوتر از بروز اشکال در چاپگر آگاهی پیدا می نماید.
- زمانیکه یک کار آماده چاپ باشد، کامپیوتر از پین شماره شانزده برای مقداردهی اولیه چاپگر ( کاهش ولتاژ) استفاده می نماید.
- کامپیوتر از پین شماره هیفده برای Offline نمودن از راه دور چاپگر استفاده می نماید، بدین منظور برای چاپگر یک شارژ ارسال خواهد شد.
- پین های شماره هیجده تا بیست و پنج Ground بوده و از آنها بعنوان یک سیگنال مرجع برای شارژ های پایین تر از نیم ولت استفاده می گردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 301 کیلو بایت |
تعداد صفحات فایل | 28 |
بخش های اصلی کامپیوترهای شخصی
◄ پردازشگر مرکزی (CPU)
ریزپردازنده بمنزله " مغز" کامپیوتربوده و مسئولیت انجام تمامی عملیات ( مستفیم یا غیر مستقیم ) را برعهده دارد. هر چیزی را که کامپیوتر انجام می دهد با توجه به وجود " ریز پردازنده " است .
◄ حافظه
این نوع از حافظه ها با سرعت بالا، امکان ذخیره سازی اطلاعات را فراهم می نمایند. سرعت حافظه های فوق می بایست بالا باشد چراکه آنها مستقیما" با ریزپردازنده مرتبط می باشند. در کامپیوتر از چندین نوع حافظه استفاده می گردد:
● ( Random-Access Memory(RAM از این نوع حافظه ، بمنظور ذخیره سازی موقت اطلاعاتی که کامپیوتر در حال کار با آنان است، استفاده می گردد.
● ( Read Only Memory (ROM یک حافظه دائم که از آن برای ذخیره سازی اطلاعات مهم در کامپیوتر استفاده می گردد.
● (Basic Input/Output System (BIOS یک نوع حافظه ROM ، که از اطلاعات آن در هر بار راه اندازی سیستم استفاده می گردد.
● Caching حافظه ای سریع که از آن برای ذخیره سازی اطلاعاتی که فرکانس بازیابی آنان بالا باشد، استفاده می گردد.
● Virtual Memory فضای موجود بر روی هارد دیسک که از آن برای ذخیره سازی موقت اطلاعات استفاده و در زمان نیاز عملیات جایگزینی در حافظه RAM انجام خواهد شد .
◄ برد اصلی (MotherBoard). برد اصلی کامپوتر بوده که تمام عناصر داخلی به آن متصل خواهند شد. پردازشگر و حافظه بر روی برد اصلی نصب خواهند شد.برخی از عناصر سخت افزاری ممکن است مستقیما" و یا بصورت غیر مستقیم به برد اصلی متصل گردنند. مثلا" یک کارت صدا می تواند همراه برد اصلی طراحی شده باشد و یا بصورت یک برد مجزا بوده که از طریق یک اسلات به برد اصلی متصل می گردد
◄ منبع تغذیه (Power Supply) یک دستگاه الکتریکی که مسئول تامین و نتظیم جریان الکتریکی مورد نیاز در کامپیوتر است .
◄ هارد دیسک (Hard Disk) یک حافظه با ظرفیت بالا و دائم که از آن برای نگهداری اطلاعات و برنامه ها استفاده می گردد.
◄ کنترل کننده (Integrated Drive Electronics(IDE . اینترفیس اولیه برای هارد ، CD-ROM و فلاپی دیسک است .
◄ گذرگاه Peripheral Component Interconnect)PCI) . رایج ترین روش اتصال یک عنصر سخت افزاری اضافه به کامپیوتر است .PCI از مجموعه ای اسلات که بر روی برد اصلی سیستم موجود می باشد، استفاده و کارت های PCI از طریق اسلات های فوق به برد اصلی متصل خواهند شد.
◄ اینترفیس Small Computer System Interface)SCSI) روشی برای اضافه کردن دستگاه های اضافه در سیستم نظیر : هارد و اسکنر است .
◄ پورت Accelerated Graphics Port)AGP) یک اتصال با سرعت بسیار بالا بمنظور ارتباط کارت های گرافیک با کامپیوتر است .
◄کارت صدا (Sound Card) مسئول ضبط و پخش صوت از طریق تبدیل سیگنال های آنالوگ صوتی به اطلاعات دیجیتال و بر عکس است
◄کارت گرافیک (Graphic Cards) مسئول تبدیل اطلاعات موجود در کامپیوتر بگونه ای که قابلیت نمایش بر روی مانیتور را داشته باشند.
دستگاه های ورودی و خروجی
◄مانیتور (Monitor) . رایج ترین دستگاه نمایش اطلاعات در کامپیوتر است .
◄صفحه کلید (KeyBoard) رایج ترین دستگاه برای ورود اطلاعات است .
◄موس (Mouse) . رایج ترین دستگاه برای انتخاب موارد ارائه شده توسط یک نرم افزار و ایجاد ارتباط متقابل با کامپیوتر است .
◄رسانه های ذخیره سازی قابل حمل (Removable storage) . با استفاده از این نوع رسانه ها می توان بسادگی اطلاعاتی را به کامپیوتر خود اضافه و یا اطلاعات مورد نیاز خود را بر روی آنها ذخیره و در محل دیگر استفاده کرد.
● فلاپی دیسک (Floppy Disk) . رایج ترین رسانه ذخیره سازی قابل حمل است .
● CD-ROM . دیسک های فشرده رایج ترین رسانه ذخیره سازی برای انتقال وجابجائی نرم افزار ها و ... می باشند.
● Flash Memory یک نوع خاص از حافظه Rom است(EEPROM). این نوع رسانه ها امکان ذخیره سازی سریع و دائم را بوجود می آورند. کارت های PCMCIA نمونه ای از این رسانه ها می باشند.
● Digital Versatile Disc,Read Only Disk) DVD-ROM ) این نوع رسانه ذخیره سازی مشابه CD-ROM بوده با این تفاوت مهم که میزان ذخیره سازی آنان بسیار بالا است .
پورت ها
◄موازی (Parallel) . از این نوع پورت ها اغلب برای اتصال چاپگر استفاده می گردد.
◄سریال (Serial) . از این نوع پورت ها اغلب برای اتصال دستگاههائی نظیر یک مودم خارجی، استفاده می گردد.
◄پورت ( Uuniversal Serial Bus(USB . از پورت ها ی فوق بمنظور اتصال دستگاههای جانبی نظیر اسکنر و یا دوربین های وب استفاده می گردد.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 84 کیلو بایت |
تعداد صفحات فایل | 22 |
تاریخچه لینوکس
آغاز داستان
در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد. با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت. ولی هنوز چیزی کم بود...
و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.
داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.
خیمه گاه دیگر دنیای کامپیوترها، دنیای یونیکس بود. ولی یونیکس به خودی خود بسیار گرانقیمت بود. آنقدر گرانقیمت که کاربران کامپیوترهای شخصی جرات نزدیک شدن به آنرا نداشتند. کد منبع یونیکس که توسط آزمایشگاههای بل بین دانشگاهها توزیع شده بود، محتاطانه محافظت میشد تا برای عموم فاش نشود. برای حل شدن این مسئله، هیچیک از تولید کنندگان نرم افزار راه حلی ارائه ندادند.
بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.
بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هرکس که کتاب سیستم عامل تاننباوم را تهیه میکرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا میکرد. برای نخستین بار، یک برنامه نویس یا هکر مشتاق میتوانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث و گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند.
و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.
کودک جدید در افق
در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.
در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.
با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.
تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.
این زمان برای توروالدز بیش از حد طولانی بود...
در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:
از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: بیشتر چه چیزی را میخواهید در MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من
با سلام به تمام استفاده کنندگان از MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر... من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس
همانطور که در این نامه پیداست، خود توروالدز هم باور نمی کرد که مخلوقش آنقدر بزرگ شود که چنین تحولی در دنیا ایجاد کند. لینوکس نسخه 0.01 در اواسط سپتامبر 1991 منتشر شد و روی اینترنت قرار گرفت. شور و اشتیاقی فراوان حول مخلوق توروالدز شکل گرفت. کدها دانلود شده، آزمایش شدند و پس از بهینه سازی به توروالدز بازگردانده شدند. لینوکس نسخه 0.02 در پنجم اکتبر به همراه اعلامیه معروف توروالدز آماده شد:
از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: کدهای منبع رایگان هسته مشابه MINIX
آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟ هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان مینوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آنرا مطابق با نیازهای خود در آورید؟ اگر اینگونه است، این نامه برای شما نوشته شده است.
همانطور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه MINIX برای کامپیوترهای 386 هستم. این سیستم عامل اکنون بجایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را میتوانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید. این دایرکتوری همچنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را میتوانید همانطور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میتوانید در مسیر pub/GNU پیدا کنید.
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 198 کیلو بایت |
تعداد صفحات فایل | 11 |
تحلیل سیستم انتخاب واحد دانشگاه
چکیده
در این پروژه جهت بدست آوردن نیازهای سیستم نرم افزاری ابتدا با کاربران مصاحبه ای انجام گرفته و به تحلیل و بررسی مشکلات و نیازمندی ها پرداخته شده است.به طور کلی سیستم جاری تحلیل شده و نیازمندی ها مشخص شده است، سپس با توجه به نیازمندی ها ، سیستم کامپیوتری تعریف شده است. برای تحلیل سیستم کامپیوتری از نرم افزار Rational Rose استفاده گردیده که از نمودارهای use case، sequence ، collaboration و classبرای تحلیل بهره گرفته شده است.
مقدمه
تحلیل سیستم جاری
نام |
x |
سمت |
مسئول ثبت |
عناوین کلیدی مسئولیت ها |
تکمیل مشخصات بایگانی دانشجویان, ثبت انتخاب واحد و حذف و اضافه, تکمیل پرونده فراغت از تحصیل, رعایت آیین نامه آموزشی, تهیه کارنامه برای دانشجویان |
نتیجه کار |
ثبت انتخاب واحد |
برای |
سیستم انتخاب واحد دانشجویان |
مسائل دخیل در موفقیت |
سیستم نرم افزاری کارامد با پوشش کامل نیازمندی ها |
موارد تسهیل کننده وظائف |
سیستم نرم افزاری با کارایی بالا به طوریکه در آن موارد زیر به وضوح مشخص باشد: _ثبت نام برای هر دانشجو بر اساس شماره دانشجویی باشد _ثبت لیست دروس انتخابی دانشجو به راحتی امکان پذیر باشد _رعایت اتوماتیک پیش نیازها و هم نیازها _سیستمی که آیین نامه برای آن تعریف شده باشد _سیستم این قابلیت را داشته باشد که مشروطی ها و اخراجی ها را مشخص کند _ترم های مشروطی مشخص باشد _تمامی اطلاعات دانشجویان مثلا تعداد واحد هایی که پاس کرده اند همراه با اسامی دروس قابل مشاهده و پرینت باشد _تهیه لیست حضور غیاب کلاسی برای اساتید _مشخص بودن اسامی کسانی که انتخاب واحد کرده اند و کسانی که انتخاب واحد نکرده اند |
موانع انجام وظایف |
امنیت پایین_مشکلات اجرایی آیین نامه_زمانبر بودن انجام کارها |
نام |
x |
سمت |
مسئول پشتیبانی انتخاب واحد |
عناوین کلیدی مسئولیت ها |
ثبت دروسی که باید در هر نیم سال ارائه شود_ثبت ظرفیت کلاس ها_زمان تشکیل کلاسها و زمان امتحانات که توسط مدیر گروه مشخص شده است_بر طرف کردن مشکلات دانشجویان فارغ تحصیل_ثبت نمرات دانشجویان_اصلاح اطلاعات در صورت نیاز |
نتیجه کار |
ثبت واصلاح نمرات |
برای |
سیستم انتخاب واحد دانشجویان |
مسائل دخیل در موفقیت |
سیستم نرم افزاری کارامد با پوشش کامل نیازمندی ها |
موارد تسهیل کننده وظائف |
سیستم نرم افزاری که در آن موارد زیر تعریف شده است _لیست دروسی که دانشجویان پاس کرده اند مشخص باشد _قیمت دروس انتخابی همراه با تمامی مشخصات قابل تعریف باشد _اسامی دانشجویان مشروطی مشخص باشد _به دانشجویان مشروط امکان انتخاب بیش از 14 واحد را ندهد _به دانشجویان ممتاز (معدل A) امکان انتخاب تا 24 واحد را ندهد _بازه زمانی انتخاب واحد(تاریخ شروع و پایان)قابل تعریف باشد _قابلیت پرینت لیست دروس برای اساتید که آنها را تدریس می کنند _جلوگیری از انتخاب دروسی که باهم تداخل دارند _قابلیت تعریف ظرفیت برای هر کدام از دروس _تهیه لیست حضور و غیاب برای هر درس به استاد مربوطه _آیین نامه دانشگاه برای سیستم قابل تعریف باشد _لیست دروس مربوط به هر رشته از قبل تعریف شده باشد _دروس هم نیاز و پیشنیاز برای سیستم تعریف شده باشد _نهایی شدن لیست دروس انتخابی دانشجویان پس از حذف و اضافه
|
موانع انجام وظایف |
امنیت پایین_مشخص نبودن قیمت دروس_زمانبر بودن مراحل انتخاب واحد |
مسائل موجود
مساله |
روش حل مساله |
مشکلات در اجرای آیین نامه دانشگاه |
تعریف آیین نامه دانشگاه برای نرم افزار |
زمانبر بودن انجام کارها |
نرم افزاری کردن کارها |
مشکلات در کنترل دروس انتخابی |
تعریف کنترل های لازم در سیستم |
عدم وجود پایگاه داده یکپارچه |
راه اندازی سیستم اتوماسیون و پایگاه داده یکپارچه |
وجود سیستم بایگانی یکپارچه سنتی و عدم امکان دسترسی آسان |
راه اندازی سیستم نرم افزاری |
امنیت پایین |
راه اندازی سیستم نرم افزاری |
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 33 کیلو بایت |
تعداد صفحات فایل | 17 |
تحقیقات بازاریابی پیوسته و آنلاین ( کامپیوتری )
تصمیمات بازاریابی نوعاً بر مبنای تحقیقاتی که ، از طریق خدمات پستی سریع ، پیام مراکز خرید ، گفتگوی تلفنی ، مذاکرات گروهی منسجم و موردی از این صورت می گیرند ، اتخاذ می شوند . این شیوه های مربوط به تحقیقات بازاریابی وقت گیر و پر خرج بوده ، و برای دستیابی به نتایج دقیق مستلزم تلاش و کوشش زیادی می باشد . این مقاله شیوه نوینی را برای انجام تحقیقات بازاریابی آنلاین ارائه می دهد ة که بر مبنای چندین نظریه از جمله دانش فعال و موثر ، گروههای کنترلی و تجربی مشابه ، و تجربیات صریح و ضمنی می باشد . این نظریات ، توام با فرصت هایی که به واسطه تعداد فراینده خریداران آنلاین ایجاد می شوند ، می توانند تحقیقات بازاریابی سریع ، منظم و کم هزینه ای را سبب گردند .
مقدمه
پیش بینی رابطه بین متغیرهای بازاریابی و متغیرهای واکنشی در تصمیمات مربوط به فعالیتهای تجاری که ، در آنها بازاریابی و خرید و فروش بهم وابسته است ، از اهمیت برخوردار می باشد ، این مثال ساده را در نظر بگیرید که ، یک خرده فروش باید قیمتی که با آن کالایی خاص را به فروش برساند ، تعیین نماید . یک تصمیم گیری اصولی خرده فروش را بر آن می دارد که رابطه بین قیمت کالا ( متغیر بازاریابی ) و تقاضای کالا ( متغیر واکنشی ) را در قیمت گذاریهای مختلف مورد توجه قرار دهد . حال مثال را پیچیده تر در نظر بگیرید ، وضعیتی را فرض کنید که خرده فروش احساس می کند که انجام تبلیغات برای کالا به در آمد فراینده ای منجر خواهد شد. این تبلیغات ممکن است به شکل کاهش موقتی قیمت که از طریق بکارگیری کوپن حاصل می شود صورت گیرد . تعیین بهای اعتباری کوپن قیمت موثری که با آن کالا به فروش می رسد را مشخص می نماید و این قیمت موثر تنها در صورتی مشخص می گردد که تقاضا در مراحل قیمت گذاری مختلف معلوم باشد . با این وجود اگر سایر تاثیرات در نظر گرفته شوند ، تصمیم گیری سخت تر می شود . اگر خرده فروش چندین نمونه کالا را به فروش برساند ، کاهش قیمت یک نمونه خاص به خریداران ممکن است در طی دوره تبلیغ ، آن کالا را به مقدار زیاد ذخیره نمایند ، که این امر به کاهش فروش کالایی که در دوره تبلیغ و در آمدهای خالص ثابت را دنبال می کند ، می انجامد .
این مثالهای بالا بیانگر پیچیدگی بازاریابی و خرید و فروش می باشند . فردی ممکن است اینطور مطرخ نماید که این مساله تابع شیوه های تحلیلی است و بگوید که تصمیمات آگاهانه مبتنی بر بازاریابی و خرید و فروش مستلزم پیش بینی رابطه بسیار متنوع بین متغیرهای بازاریابی و متغیرهای واکنی باشند . به عبارت ساده تر ، آنها مستلزم این هستند که بدانیم که ، در زمان متغیر یک یا چند متغیر بازاریابی ، متغیرهای واکنشی چطور تغییر پیدا خواهند کرد . پیش بینی عملکرد یک متغیر واکنشی در هنگام تغییر متغیر بازاریابی نیازمند اطلاعات و اگاهی هایی می باشد . شاخصاً این اطلاعات از طریق تحقیقات بازاریابی که ، بواسطه خدمات پستی سریع ، پیام های مراکز خرید ، گفتگوهای تلفنی ، مذاکرات گروهی متمرکز و مواردی از این دست صورت می گیرند ، گرد آوری می شوند . در مثال ساده ای که در بالا عنوان شد ، شخص ممکن است از طریق گفتگوهای تلفنی از مشتریان بخواهد که احتمال خرید کالای مورد نظرشان را در قیمت گذاری های مختلف تشریخ نمایند و این اطلاعات گردآوری شده را بکار گیرد تا رابطه بین متغیر بازاریابی ( قیمت ) و متغیر واکنشی ( تقاضا) را تعیین نماید . تاثیر متقابل یک شخص بر دیگری که در برخی از این شیوه های گرد آوری اطلاعات ( برای مثال ، در گفتگوی تلفنی ) ضروری است ، توام با مدت زمان زیاد انجام کار ( برای مثال ، بواسطه زمان انتقال یک پست سریع به سوی و از طرف فرد پاسخگر ) و مقدار موثر اوقات – شخص بیانگر این شکل قدیمی تحقیقات بازاریابی اند که پرخرج ، کند و مستعد خطا و اشتباه می باشند .
گسترش سریع اینترنت فرصتی را برای انجام تحقیقات بازاریابی آنلاین ( OMR ) فراهم نموده است . در واقع بر اساس برخی پیش بینی ها ، حدود 60 در صد جمعیت ایالات متحده و اتحادیه اروپایی به اینترنت دسترسی دارند . بطور کلی ، این نواحی یاد شده همچنین بر طبق " مجمع تحقیقات بازاریابی بریتانیا ( BMRA ) و مجمع متخصصان تحقیقات بازاریابی و نظریه پرداز دنیا
( ESOMAR ) ، سهم عمده قدرت خرید دنیا را در دست دارند . جدای از این ، نواحی مختلفی در آسیا دسترسی فزاینده ای به اینترنت یافته اند . این پذیرش گسترده اینترنت بخش وسیعی از جمعیت را به اینترنت قابل دسترس می سازد و این اطمینان را ایجاد می کند که نیازها و سلایق یک جمعیت عمده ا ی از مشتریان بطور آنلاین و پیوسته جامه عمل پوشانده شود . هدف این مقاله این است .
از طریق تحقیقات بازاریابی پیوسته و آنلاین ( OMR ) ، امکان تهیه اطلاعات تجاری عملی راسریعاً ، اصولی و نظامدار ، و بطور کم هزینه فراهم نماید . اگر پیچیدگی تصمیمات مبتنی بر بازاریابی و خرید و فروش را در فعالیتهای تجاری مدرن ، و نیز محدودیت های مکانی که لزوماً تحت تاثیر شیوه کار بردی کاغذ قرار دارند ، را در نظر بگیریم ، می بینیم که باید بر برخی جنبه های مهم تحقیقات بازاریابی پیوسته ( OMR ) تاکید نمائیم . ما ، بطور ویژه ، آن جنبه هایی را مد نظر قرار می دهیم که در تلاشهای مربوط به درک اجرای تحقیقات بازاریابی پیوسته مفید واقع خواهند شد . ما بقیه این مقاله را بر طبق آنچه که در ذیل می آید ترتیب داده ایم . در بخش 2 ، ما یک دیدگاه کلی مفهومی از یک سیستم را ارائه می دهیم و یک طرح اساسی که برای اجرای ( OMR ) قابل کاربرد باشد را تشریح کنیم . تاکید ها بر رویدادهای ثابت سیستم نمی باشد ، چون اینها به سرویس دهنده تجاری که ، OMR در آن اجرا می گردد ، وابسته می باشند . در عوض ، ما بیشتر بدنبال این هستیم که نظریاتی راجع به زنجیره رویدادهایی که رخ می دهند ، مراحل مختلف کنترل OMR ، نوآوری های متنوعی که در این مقاله مطرح می شوند ، اشاره نمائیم . معتقدیم که این نوآوری ها برای OMR مهم و پر اهمیت هستند که مفصلاً آنها را در بخش 3 بحث خواهیم کرد . در بخش 4 ، دیدگاهی کلی درباره انواع اطلاعات تجاری عملی که ، بر حسب سیستم پیشنهادی و الگوریتم ها قابل حصول می باشند ، را ارائه می دهیم . ما در بخش 5 ، نتیجه گیری را همراه با یک سری مباحث انجام می دهیم .