مدیریت پیچیدگی
مدیریت پیچیدگی
اعمال شیوههای مدیریتی با محوریت اشیاء در مطالعه، طراحی، ایجاد، و اجراء پروژههای مهندسی نرمافزار و مهندسی دانش.
برنامهنویسی غیر ساختیافته
برنامه نویسی غیر ساخت یافته قدیمی ترین پارادایم برنامهنویسی است که قادر به نوشتن الگوریتم برنامه ی تورینگ کامل است. این برنامه نویسی بعداً با برنامه نویسی تابعی وسپس برنامه نویسی شی گرا ادامه یافت و هر دو این برنامه ها به عنوان برنامه نویسی ساخت یافته در نظر گرفته شدند. برنامه نویسی ساخت یافته به خاطر تولید کدهایی که به سختی قابل خواندن بودند(اسپاگتی کد) به شدت مورد نکوهش قرار گرفت و گاهی اوقاتیک روش بد برای نوشتن پروژه های بزرگ در نظر گرفته شد.اما این نوع برنامه نویسی برای آزادی که به برنامه نویسان می دهد تحسین شده است و با این مقایسه شده است که موزارت چگونه موسیقی را نوشته است. هر دو زبانهای برنامه نویسی سطح بالا و سطح پایین وجود دارند که به عنوان زبانهای برنامه نویسی غیر ساخت یافته استفاده می شوند.
ویژگی ها ومفاهیم معمولی
مفاهیم اساسی
یک برنامه در یک زبان غیر ساخت یافته معمولاً شامل دستورهای متوالی منظم است یا جمله ها معمولاً هر کدام در یک خط نوشته شده اند.خط ها معمولاً شماره گذاری شده اند یا ممکن است که بر چسب داشته باشند.این خاصیت اجازه می دهد که جریان اجرایی برنامه بتواند به هر خط برنامه بپرد. برنامه نویسی غیرساخت یافته مفهوم جریان کنترل اساسی را همانند حلقه ها ، انشعابات و پرش ها معرفی میکند. هرچند که هیچ مفهوم رویه ای در الگوی غیرساخت یافته وجود ندارد،اجازه ی استفاده از زیرروالها را داریم.برعکس یک رویه، یک زیرروال ممکن است چندین نقطه ی ورود و خروج داشته باشد و یک پرش مستقیم به زیرروال یا خارج از زیر روال(از نظر فرض علمی) اجازه داده می شود.این انعطاف باعث میشود مفهومی که coroutine (دستور العمل اتصال مجموعه ای از ورودی ها به مجموعه ای از خروجی ها) نام داد در اینجا معنی پیدا کند. هیچ مفهومی در مورد متغییرهای محلی در زبان های برنامه نویسی غیر ساخت یافته (هر چند برای برنامه های اسمبلی رجیسترهای همه منظوره ممکن است همین منظور را پس از ذخیره کردن در ورودی برآورده کنند)، اما برچسب ها و متغییرها میتوانند اثر خود را در قسمت محدودی از برنامه بگذارند (برای مثال،تعدادی خط).این معنی را میتوان دیافت که هیچ تغییر متنی هنگام صدا زدن یک زیرروال رخ نمیدهد.پس همه متغییرها ممکن است که مقدار قبلی خود را از فراخوانی قبلی نگه دارند که باعث سخت شدن روش بازگشتی می شود.اما در بعضی نمونه های بازگشتی (که هیچ حالت زیر روالی پس از فراخوانی توابع بازگشتی احتیاج نمیشود) ممکن است.اگر متغییرها به زیر روال بازگشتی اختصاص داده شوند در ورودی زیر روال صریحاً پاک می شوند (یا دوباره با مقدار اصلی خود مقدار دهی می شوند) . عمق تو در تو بودن ممکن است محدود به یک یا دو بار باشد.
نوع و گونه ی داده
زبانهای غیر ساخت یافته اجازه استفاده از نوع های داده ای اساسی را مثل شماره ها، رشته ها و آرایه ها (تعدادی داده ی همنوع) می دهند. معرفی آرایه ها در زبان های غیر ساخت یافته یک مرحله ی رو به جلو قابل توجه است.فرایند ساخت جریان داده با وجود فقدان نوع داده ای ساختار ممکن است.
برنامهنویسی مفهوم
برنامه نویسی مفهوم یک پارادایم برنامه نویسی است، که برچگونگی ترجمهٔ مفاهیمی که در ذهن برنامه نویس شکل میگیرد به آنچه در فضای کد قابل دستیابی است، تمرکز میکند. این رویکرد توسط کریستوف دی نچین در سال ۲۰۰۱ با زبان برنامه نویسی XL معرفی شد.
شبه سنجهها
برنامه نویسی مفهوم شبه سنجهها را برای ارزیابی کیفیت کد به کار میگیرد. بدین دلیل به اینها شبه سنجه گفته میشود که فضای مفهوم و فضای کد را به هم مربوط میسازند. با درک روشنی از اینکه فضای مفهوم را نمیتوان به اندازهٔ کافی محدود به قالب بندیهایی کرد تا بتوان سنجههای واقعی را تعریف نمود. شبه سنجههای برنامه نویسی مفهومی در برگیرندهٔ موارد زیر میشوند:
اعوجاج نحوی تفاوت میان مفهوم و نحوی که برای نمایش آن به کار گرفته شده است را اندازهگیری میکند. به عنوان مثال: نقطه ویرگول در انتهای دستورات در زبان C میتواند به عنوان اعوجاج نحوی در نظر گرفته شود چون در فضای مفهوم معادلی ندارد.
اعوجاج معنایی فاصلهٔ معنا یا رفتار مورد انتظار از مفهوم با معنا با رفتار واقعی درون کد را اندازهگیری میکند. به عنوان مثال: این حقیقت که انواع دادهٔ حسابی سرریز میکنند (در حالیکه اعداد حسابی ریاضی چنین نیستند.) صورتی از اعوجاج معنایی است.
پهنای باند این را اندازهگیری میکند که به چه میزان از فضای مفهوم را یک ساختار کد از پیش تعیین شده میتواند معرفی نماید. به عنوان مثال: عملگر جمع اضافه بار شده در زبان C پهنای باند بیشتری از دستور جمع در زبان اسمبلی (Add) دارد چون عملگر زبان C میتواند عمل جمع را با اعداد ممیز شناور (و نه فقط اعداد حسابی انجام دهد.)
نسبت سیگنال به اعوجاج این را اندازهگیری میکند که چه کسری از فضای کد در برابر اطلاعات پیادهسازی شده برای نمایش مفاهیم واقعی به کار گرفته شده است.
قانون برابری، شکست برابری
قانون برابری هنگامی تایید میشود که رفتار کد با مفهوم اصلی همخوانی داشته باشد. این برابری ممکن است در حالتهای بسیاری به شکست بینجامد. سرریز کردن اعداد حسابی برابری میان مفهوم ریاضی اعداد حسابی و تقریب کامپیوتری شده از این مفهوم را برهم میزند. به راههای بسیاری در شکست برابری اسامی ویژهای داده شده است زیرا این موارد خیلی رایج هستند:
خطای دامنه وضعیتی است که در آن کد خارج از دامنهٔ برابری اجرا میشود، که این دامنه ایست که در آن مفهوم و پیادهسازی منطبق میشوند سرریز عدد حسابی مثالی از خطای دامنه است.
قالب مفهوم (همچنین قالب بندی دوباره مفهوم یا مفهوم را دوباره قالب بندی کردن) بازنویسی یک مفهوم به صورت مفهومی دیگر است بدین سبب که مفهوم اصلی را نمیتوان به وسیله ابزارها پیادهسازی نمود در زبان C به کار بردن اشاره گرها برای آرگومانهای خروجی به این دلیل که زبان C از آرگومانهای خروجی به صورت صریح پشتیبانی نمیکند، مثالی از قالب مفهوم است.
وارونگی اولویت صورتی از اعوجاج نحوی یا معنایی است که به وسیله برخی قوانین عمومی دیکته شده از سوی زبان به وجود میآید. از این رو وارونگی اولویت نامیده میشود که زبان تقدم را بر مفهوم حاکم میسازد. در Smalltalk هر چیزی یک شی است و این قانون به این دستاورد ناخواسته منجر میشود که عبارتی شبیه به ۲+۳*۵ از توالی مرسوم عملیات پیروی نمیکند (در Smalltalk ابتدا ۲ با ۳ جمع شده، حاصل آن در ۵ ضرب میشود که در نهایت عدد ۲۵ به جای ۱۷ بدست میآید.)
روش شناسی
برای نوشتن کد برنامه نویسی مفهوم این گامها را پیشنهاد میدهد:
مفاهیم مرتبط را در فضای مفهوم شناسایی و تعریف نمایید.
نمادهای سنتی برای مفاهیم را شناسایی یا نمادهای قابل استفاده جدیدی ایجاد نمایید.
ترکیبی از ساختارهای برنامه نویسی را شناسایی کنید که اجازه میدهد مفاهیم به راحتی به قالب کد درآیند، که یافتن نماد کدی که با نماد شناسایی شده در مرحله قبل تا حد ممکن نزدیک باشد، را در بر میگیرد.
کدی بنویسید که تا حد ممکن رفتار و معانی مورد انتظار از جنبههای مرتبط مفهوم اصلی را حفظ و نگهداری میکند.
ابزارهای برنامه نویسی بسیاری اغلب فاقد قابلیتهای نمادی هستند. بنابراین برنامه نویسی مفهوم در برخی موارد نیازمند استفاده از پیش پردازندهها، زبانهای مختص به دامنه یا روشهای فرا برنامه نویسی است.
زبانها
زبان برنامه نویسی XL تنها زبان شناخته شده ایست که تا به امروز به طور واضح برای برنامه نویسی مفهوم ایجاد شده است. اما برنامه نویسی مفهوم تقریباً در هر زبانی با درجات متفاوتی از موفقیت قابل اجراست. زبانهای برنامه نویسی Lisp و Forth و مشتقات آنها نمونههایی از زبانهای از قبل موجود هستند که به خوبی قابلیت استفاده به عنوان برنامه نویسی مفهوم را دارند.
کارهای مشابه
پروژههایی هستند که از ایدههای مشابه بهرهبرداری کردهاند تا با سطح بالایی از انتزاع کد تولید کنند. دربین آنها این موارد را میتوان نام برد:
برنامه نویسی هدفی
برنامه نویسی زبان گرا
برنامه نویسی ادیبانه
معماری مدل- محور
برنامهنویسی منطقی
برنامهنویسی منطقی در کلیترین مفهوم آن، کاربرد منطق ریاضی در برنامهنویسی رایانه است.
پارادایم برنامهنویسی
پارادایم برنامهنویسی یا شیوههای برنامهنویسی، به شیوههای اساسی برنامهنویسی رایانه گویند.
مرور کلی
یک زبان برنامهنویسی میتواند یک یا چند شیوه برنامهنویسی را پشتیبانی نماید. برای مثال، برنامههای نوشته شده با سی++ میتوانند کاملاً بصورت رویهای باشند یا کاملاً منطبق بر شیوه برنامهنویسی شئگرا که در تضاد کامل با شیوه رویهای است بوده یا حتی حاوی عناصری از هر دو شیوه باشند. تصمیمگیری برای چگونگی استفاده از عناصر شیوههای برنامهنویسی برعهده طراح برنامه یا برنامهنویس میباشد.
نمونههای مهم
برنامهنویسی دستوری در تضاد با برنامهنویسی تابعی
برنامهنویسی رویهای در تضاد با برنامهنویسی شئگرا
برنامهنویسی منطقی
مدل برنامهنویسی موازی
مدل برنامهنویسی موازی (به انگلیسی: Parallel programming model) مفهومی است که عبارتهای برنامههای موازی را قادر میسازد ترجمه و اجرا شوند. ارزش یک مدل برنامهنویسی معمولاً بر اساس فراگیری آن (اینکه چند مسئلۀ متفاوت میتوانند توسط آن بیان شوند و با چند معماری مختلف میتوان آنها را اجرا کرد) تعیین میشود. ایجاد یک مدل برنامهنویسی میتواند چندین حالت بگیرد مانند الهام گرفتن کتابخانهها از زبانهای متوالی قدیمی، ضمیمههای زبان و یا مدلهای اجرایی کاملاً جدید.
اجماع بر روی یک مدل برنامهنویسی مهم است چرا که نرمافزار را قادر میسازد تا در آن بیان شده و در معماریهای متفاوت ترابرپذیر باشند. از معماری فون نویمان با معماریهای متوالیاش در این مدل کمک گرفته شده است تا پلی کارآمد را بین نرمافزار و سختافزار فراهم کند؛ بدین معنی که زبانهای برنامهنویسی سطح بالا میتوانند در آن به صورت کارآمد ترجمه شده و توسط سختافزار اجرا گردند.
طبقهبندی و الگوهای اصلی
طبقهبندیهای مدلهای برنامهنویسی موازی را میتوان به دو محدودۀ کلی تقسیم کرد: تعامل فرایند و تجزیۀ مسئله.
تعامل فرایند
تعامل فرایند مربوط به مکانیزمی مییاشد که فرایندهای موازی در آن میتوانند با یکدیگر در ارتباط باشند. معمولترین حالتهای تعامل، حافظۀ مشترک و گذر پیام هستند، اما موازیسازی مطلق نیز وجود دارد.
حافظۀ مشترک
در مدل حافظۀ مشترک، وظایف موازی یک فضای آدرس جهانی را به اشتراک میگذارند و به صورت غیرهمزمان آن را خوانده و مینویسند. این مدل به مکانیزمهای محافظتی چون قفلها، نشانبرها و مبصرانی احتیاج دارد تا دسترسی همزمان را کنترل کند. حافظۀ مشترک میتواند در سیستمهای با حافظۀ توزیعشده و حافظه دسترسی غیریکپارچه (نوما) شبیهسازی گردند.
در مدل انتقال پیام، وظایف موازی دادهها را به کمک گذر پیام با یکدیگر عوض میکنند. این ارتباطات میتوانند همزمان یا غیرهمزمان باشند. رسمیسازی انتقال پیام فرایند ارتباطات متوالی (سیاسپی) کانالهای ارتباطی را به خدمت گرفته است تا فرایندها را به یکدیگر "مرتبط" سازد؛ و با این کار باعث ایجاد شدن چندین زبان مهم همچون جویس، اوکام و ارلنگ شد.
موازیسازی تلویحی
در مدل موازیسازی مطلق، هیچ یک از فعل و انفعالات فرایند برای برنامهنویس قابل مشاهده نیست و به جای آن مترجم و یا رانتایم برای اجرای آن مسئول است. این مدل بین زبانهای با دامنۀ اختصاصی متداولتر میباشد.
تجزیۀ مسئله
هر برنامۀ موازی از فرایندهای در حال اجرا به صورت همزمان تشکیل شده است، تجزیۀ مسئله به راهی مربوط است که در آن این فرایندها فرموله شدهاند. این طبقهبندی ممکن است به اسکلتهای الگوریتمی یا موازیسازیهای برنامهنویسی موازی اشاره کند.
موازیسازی وظیفه
یک مدل موازیسازی وظیفه بر روی فرایند یا ریسههای اجرا تمرکز دارد. این فرایندها معمولاً از لحاظ رفتاری مجزا خواهند بود، که بر نیاز به ارتباطات تاکید میکند. موازیسازی وظیفه یک راه طبیعی برای توصیف ارتباطات گذر پیام میباشد. این مدل معمولاً به امآیامدی/امپیامدی و امآیاسدی تقسیم میشود.
موازیسازی داده
یک مدل موازیسازی داده بر روی عملیاتهای روی داده که معمولاً به صورت ساختاری آرایه هستند، تمرکز دارد. مجموعهای از وظایف بر روی این دادهها عملیاتهایی را انجام میدهند اما به صورت مستقل و در بخشی جدا. در یک سیستم با حافظۀ مشترک، داده برای همگی قابل دسترس خواهد بود، اما در سیستم حافظۀ حافظۀ توزیع شده بین حافظهها تقسیم شده و به طور محلی بر رویشان کار خواهد شد. مدل موازیسازی داده معمولاً به اسآیامدی/اسپیامدی تقسیم میشود.
مهندسی نرمافزار
مهندسی نرم افزار (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرم افزاری با کیفیت که قابل اطمینان و با صرفه بوده و برروی ماشین های واقعی به طور کارآمدی عمل کند.
مهندسی نرم افزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرم افزاری با کیفیت است.
مهندسی نرمافزار اغلب شامل فرآیند خطی تحلیل، طراحی، پیاده سازی و آزمون است؛ که با به کارگیری روشهای فنی و علمی از علوم مهندسی موجب تولید نرم افزاری با کیفیت مطلوب در طول یک فرآیند انتخابی مناسب پروژه می شود.
کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههایی از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای و اینترنت.
فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار.
مهم ترین شاخص مهندسی نرمافزار
مهم ترین شاخص در مهندسی نرم افزار تولید نرم افزار با کیفیت مناسب در جهت «نیازهای مشتری» است.
پیشینه مهندسی نرمافزار
اصطلاح مهندسی نرمافزار پس از سال ۱۹۶۸ میلادی شناخته شد. این اصطلاح طی نشست «مهندسی نرمافزار ناتو ۱۹۶۸» (که در گارمیش-پارتنکیرشن، آلمان برگزار شد) توسط ریاست نشست فریدریش ال باوئر معرفی شد و از آن پس بهطور گسترده مورد استفاده قرار گرفت.
اصطلاح مهندسینرمافزار عموماً به معانی مختلفی بهکار میرود:
بهعنوان یک اصطلاح غیر رسمی امروزی برای محدوده وسیع فعالیتهایی که پیش از این برنامهنویسی و تحلیل سامانهها نامیده میشد.
بهعنوان یک اصطلاح جامع برای تمامی جنبههای عملی برنامهنویسی رایانه، در مقابل تئوری برنامهنویسی رایانه، که علوم رایانه نامیده میشود.
بهعنوان اصطلاح مجسمکننده طرفداری از یک رویکرد خاص نسبت به برنامهنویسی رایانه که اصرار میکند، مهندسی نرمافزار، بهجای آنکه هنر یا مهارت باشد، باید بهعنوان یک رشته عملی مهندسی تلقی شود و از جمعکردن و تدوین روشهای عملی توصیهشده به شکل متدولوژیهای مهندسی نرمافزار طرفداری میکند.
مهندسی نرمافزار عبارتست از:
کاربرد یک رویکرد سامانهشناسی، انتظامیافته، قابل سنجش نسبت به توسعه، عملکرد و نگهداری نرمافزار، که کاربرد مهندسی در نرمافزار است.
مطالعه روشهای موجود در استاندارد IEEE
محدوده مهندسی نرمافزار و تمرکز آن
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سامانه نرمافزاری مربوط میباشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد. این خصوصیات نرمافزاری ممکن است شامل پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد.
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنی را آماده میکند که اگر بهدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تأمین میکند یا خیر.
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است.
نیاز به مهندسی نرمافزار
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای نوین قابل مقایسه هستند. بهعنوان مثال، یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی حدود ده میلیون بخش دارد)، در حالی که نرمافزارِ هدایت چنین هواپیمایی میتواند تا ۴ میلیون خط کد داشته باشد.
با توجه به گسترش روزافزون دنیای رایانه امروزه بیش از هر زمان دیگری نیاز به متخصصان رایانه احساس می شود. متاسفانه این رشته در ایران بازار کار خوبی ندارد طبق آمارها ۶۳٫۲۷ درصد از فارغالتحصیلان در سال ۹۰ مشغول به کار در سایر مشاغل هستند. اما برای مهندسان سخت افزار هم امكان كار در شركتهای تولیدكننده قطعات و دستگاهها و مراكز صنعتی – تولیدی بسیار فراهم است و از نظر سطح درآمدی هم با توجه به دانش و پشتكار شخصی در حد متوسط قرار دارند. به طور کلی این رشته در ایران با استقبال چندانی رو به رو نیست؛ این نیز حاکی از نبود برخی از زیرساختها در ایران هست.
تکنولوژیها و روشهای عملی
مهندسان نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگار هستند. این بحث در سالهای دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسان نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند: کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند: برنامهنویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از الگوهای طراحی شده قبلی باشد، که باید شفاف بوده و بهخوبی مستند شده باشد.
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار درباره کیفیت نرمافزار ادامه دارند.
ماهیت مهندسی نرمافزار
دیوید پارناس گفتهاست که مهندسی نرمافزار یک شکل از مهندسی است. استیو مککانل گفتهاست که هنوز اینطور نیست، ولی مهندسی نرمافزار باید یک شکل از مهندسی شود. دونالد کنوت گفتهاست که برنامهنویسی یک هنر است.
دیوان فعالیتهای آماری آمریکا مهندسان نرمافزار را به عنوان زیرگروهی از «متخصصان رایانه»، با فرصتهای شغلیای مانند «دانشمند رایانه»، «برنامه نویس» و «مدیر شبکه» دسته بندی کردهاست. BLS تمام مهندسان دیگر این شاخه علمی، که شامل مهندسان سختافزار رایانه نیز هست، را بهعنوان «مهندسان» دسته بندی میکند.
مهندسی دانش
مهندسی دانش به مجموعه فرایندهای مربوط به طراحی، مهندسی و ایجاد سامانههای مبتنی بر دانش اطلاق میشود. مهندسی دانش دارای وجوه مشترک فراوانی با مهندسی نرمافزار است، بهطوری که بیشتر راه حلها و روشهای هریک را میتوان در دیگری استفاده کرد. علاوه بر آن، زمینههای دیگری مثل هوش مصنوعی، پایگاههای دادهها، کاوشهای ماشینی در دادهها، سامانههای خبره، سامانههای پشتیبانی تصمیمها و نیز سامانههای اطلاعات جغرافیایی را باید در ارتباط نزدیک با مهندسی دانش به حساب آورد. این رشته بسبار مناسب بانک است
مهندس دانش کیست؟
مهندسان دانش (Knowledge Engineer) نقشی است که در فرآیند مهندسی دانش یا (Knowledge Engineering) تبحر دارد؛ وی می تواند سه فعالیت استخراج، تحلیل و مدلسازی دانش را انجام دهد. این سه فعالیت منجر به تولید یک پایگاه دانش ساخت یافته مبتنی بر مدل های دانش با قابلیت استفاده مجدد می شود که می تواند به عنوان محتوای ورودی در یک سیستم مبتنی بر دانش استفاده شود. در نگاه های غیرحرفه ای تر مهندس دانش به عنوان نقشی برای اجرای برخی فرآیندهای ساده مدیریت دانش تنزل پیدا می کند.
سیستمهای مدیریت دانش
مدیریت دانش رویکردی یکپارچه به شناسایی، کسب و استخراج، بازیابی، ارزیابی، تسهیم و خلق کلیه منابع دانش سازمان است به گونهای که سازمان را در جهت دستیابی به اهداف سازمانی کمک نماید. هدف مدیریت دانش برقراری ارتباط بین خبرگان و افراد مجرب سازمان با افرادی است که نیاز به دانش خاصی را دارند. ایجاد چنین ارتباطی به کمک فرایندها و ابزارهای مدیریت دانش تسهیل میگردد. موفقیت در زمینۀ مدیریت دانش نیازمند ایجاد یک محیط جدید کاری میباشد، که دانش و تجربه بتوانند به راحتی تسهیم شوند.
دوران کنونی، دوران دگرگونی و تغیر پرشناب دانش است. هر پنج و نیم سال حجم دانش دو برابر میشود، البته عمر میانگین آن که به «دارایی» و «منبع ارزشمند راهبردی» ارتباط دارد، کمتر از چهار سال است. «مدیریت دانش» یکی از گفتمانهایی است که در دوران جدید در زمینه مدیریت مطرح گردیده و به شدت مورد توجه سازمانها و مبحث مدیریت قرار گرفتهاست. از مهم ترین ارکان مدیریت دانش، پیاده سازی سیستم و اثربخشی آن در سطح سازمان میباشد. چرا که دیگر مطالب مرتبط با آن همگی به عنوان مقدمهای جهت بسترسازی و استفاده از آنها برای تحقق عملی مدیریت دانش به شمار میروند. سازمانهای پیشرو زیادی در جهان به اهمیت مدیریت دانش به عنوان رویکردی نوین در مدیریت کسب و کار پی برده و اقدام به پیاده سازی آن نمودهاند
تعریف مدیریت دانش
مدیریت دانش رویکردی یکپارچه به شناسایی، کسب و استخراج، بازیابی، ارزیابی، تسهیم و خلق کلیه منابع دانش سازمان است به گونهای که سازمان را در جهت دستیابی به اهداف سازمانی کمک نماید. هدف مدیریت دانش برقراری ارتباط بین خبرگان و افراد مجرب سازمان با افرادی است که نیاز به دانش خاصی را دارند. ایجاد چنین ارتباطی به کمک فرایندها و ابزارهای مدیریت دانش تسهیل میگردد. موفقیت در زمینۀ مدیریت دانش نیازمند ایجاد یک محیط جدید کاری میباشد، که دانش و تجربه بتوانند به راحتی تسهیم شوند.
آفرینش و ربایش دانش
سازمان باید به خوبی بتواند دانش مورد نیاز خود را شناسایی کند، در صورت نیازآن را بیافریند، یا اینکه از منابع دانش خارج از سازمان بدست آورد.
ذخیره سازی
دانش خلق شده یا کسب شده، باید با نیازهای شما تطبیق داده شده و به تعبیری، آماده شود و به صورت مناسب ذخیره شود تا در زمان و مکان و شرایط مورد نیاز مورد استفاده قرارگیرد.
انتشار و به اشتراک گذاری
نکته قابل توجه آن است که باید از راکد ماندن دانش جلوگیری کرد زیرا تنها جریان سیال دانش است که میتواند چون آب جاری ارزش خود را حفظ کند و زندگی بخش باشد تا هر که تشنه آن است از آن سیراب شود. با توزیع و انتشار و اشتراک گذاری دانش بصورتی روان و سیال در میآید و از راکد بودن آن جلوگیری میکند.
به کارگیری دانش
پس از انجام گامه های فوق مدیریت دانش در سطح سازمان پیاده سازی میشود و مورد استفاده قرار میگیرد.
انواع دانش
چهار نوع دانش مشخص شدهاست:
دانش نیروی انسانی: دانشی است که در توسط اعضای سازمان به وجود می¬آید.
دانش مکانیزه: دانشی که حامل وظایف ویژه یکپارچه در سخت افزارماشین است، در واقع شامل دانش مربوط به تجهیزات سازمان میباشد.
دانش مستند: دانشی که به شکل بایگانی، کتاب، سند، دفتر کل، دستورات، نمودارها و... ذخیره میشود.
دانش خودکار (اتوماتیک): دانشی است که به طور الکترونیکی ذخیره شده و به وسیله برنامههای رایانهای که وظایف خاص را پشتیبانی میکند قابل دسترسی میباشد
از سوی دیگر دانش را به دو نوع نهفته یا ضمنی و آشکار تقسیم بندی میکنند: دانش نهفته معمولاً در قلمرو دانش شخصی، شناختی وتجربی قرار می¬گیرد. فرآوردۀ تجربیات افراد می-باشد و از همین رو در جایی ثبت نمیگردد بلکه با گفتگو، بحث، مشورت و ... به اشتراک گذاشته میشود. دانش آشکار بیشتر به دانشی گفته می شود که جنبه عینی تر -عقلانی تر و فنی تر دارد (دادهها، خط مشیها، روشها، نرمافزارها، اسناد و ...). دانش آشکار به طور معمول قابل ثبت میباشد و به صورت نوشته به آسانی در دسترسی افراد قرار میگیرد.
تبدیل دانش
۱. اجتماعیسازی از نهفته به نهفته افراد میتوانند از طریق کنشهای اجتماعی، در اشتراک گذاری دانشهایی که جنبهی شخصی داشته و فرمولهکردن آن دشوار است، سهیم شوند. برای مثال، بهاشتراکگذاشتن تجربیات جنگی فرماندهان از طریق بازگویی خاطرات جنگی است. تبدیل دانش نهفته به نهفته با مشارکت در تجربه ها و تقلید و تمرین و یادگیری از طریق آموزش استاد-شاگردی، شرکت در همایش ها و سمینارها و نشست ها، یا به سادگی در هنگام برهمکنش میان کارکنان در زمانهای استراحت حاصل میشود. سیستمهایی که در این حوزه به کار میروند عبارتند از:
گروه افزار
سامانه های مکان یابی
۲. برونیسازی از نهفته به آشکار برونیسازی یعنی تبدیل دانش شخصی افراد که کیفیت نهفته دارد، به دانش آشکاری که دسترس پذیر باشد و به افراد یا گروههای دیگر به سادگی انتقال یابد. که این امر از طریق بیان و اظهار دانش شخصی افراد و ثبت آن تحقق مییابد، مثل یک گزارش یا مستندسازی. که در این حوزه سیستمهای گروه افزار و سیستمهای گردش کار مورد استفاده قرار میگیرید.
۳. تلفیق از آشکار به آشکار دانش آشکار میتواند از طریق فرایندهای گوناگون مستندسازی به شکلهای گوناگون ارائه شود، این تبدیل با هدف اینکه مخاطبان بیشتری به آن دانش دسترسی داشته باشند، صورت میگیرد. بهعنوان مثال، دانش صریح ریاضی یا فیزیک را که در قالب فرمولها و نظریهها شکل میگیرد، میتوان طوری نوشت که برای گروههای سنی مختلف قابل استفاده باشد. سامانه های بکار رفته در این بخش عبارتند از:
سامانه های خودکارسازی اداری
سامانه های مدیریت مدارک الکترونیکی
سامانه های هوش تجاری
سامانه های دانش مدار
انبارهای داده
کتابخانههای مجازی
کارگزاران خودکار
نقشههای دانش، رده بندی ها و غیره
درگاههای دانش
فناوریهای کاوش
۴. درونیسازی از آشکار به نهفته تبدیل دانش آشکار به دانش نهفته میتواند دانش تازهای در درون فرد ایجاد میکند. درونی سازی این امکان را به کارکنان میدهد تا دانش را در پاسخ و رفتار خود به گونهای ادغام کنند که در هنگام رویارویی با موقعیت یا مشکلی که کاربرد دانش لازم است بتوانند دانش آشکار را به کار گیرند. برای مثال، یک سازمان حفاظت اطلاعات، بنا به نیاز، مجموعهای از اصول و موازین مشخص را تدوین نموده، و رعایت آنها را از تمامی کارکنان سازمان انتظار دارد. اما این اصول و موازین نمیتوانند آنقدر گسترده و فراگیر باشند که بتوانند همهی موقعیتهای احتمالی ممکن را در برگیرند، و در هر شرایطی به فرمانده بگویند که فرمول حفاظت موقعیت چیست، و او چگونه باید تصمیم بگیرد. آنچه در عمل رخ می دهد این است که کارکنان (فرماندهان و زیردستان)، اصول آغازین و بنیادین حفاظتی را که به شکل دانش آشکار ارایه میشوند، درونی کنند، و به مرور زمان یاد میگیرند که چگونه در هر موقعیتی، واکنش حفاظتی درست را نشان دهند. این یعنی درونیسازی، که متضمن تبدیل دانش آشکار به نوعی دانش نهفته کاملاً شخصی است.
ابزارهای مورد استفاده در این قسمت عبارتند از:
ابزارهای پشتیبان نوآوری
نرمافزار یادگیری سازمانی
مراحل پیاده سازی نظام مدیریت دانش در سازمان
پیاده سازی یک نظام مدیریت دانش همچون سایر نظام ها و به تناسب موارد خاص آن در شش گامه صورت میگیرد:
گام نخست - امکان سنجی طرح
در این گامه وضعیت¬های موجود در سازمان جهت پیاده سازی طرح مورد بررسی قرار میگیرد. مطالعات روی جنبه¬های کلیدی مدیریت دانش نظیر انسان (فرهنگ)، سازمان (ساختار) و فن آورانۀ موجود انجام می¬گیرد. به این ترتیب، کاشتی ها و محدودیتهای موجود در هریک از حوزهها در ارتباط با پیاده سازی سیستم مشخص میشود.
مرحله دوم- طراحی خام نظام
پس از شناسایی محدودیت¬ها، راهکارهایی در قالب طرح خام نظام جهت رفع محدودیت¬ها ارائه می¬شود. در این مرحله با بررسی و واکاوی نظرات تصمیم¬گیران، اجرای قطعی سیستم در سازمان تعیین میگردد.
مرحله سوم- طراحی تفصیلی سیستم
پس از پذیرش طرح خام سیستم، طراحی تفصیلی سیستم صورت می¬گیرد. در این مرحله وارد جزئیات شده و متدولوژی قطعی نیز انتخاب می¬گردد. متدولوژی باید متناسب با نیازها و محدودیتهای سازمان باشد. این نیازها و محدودیتها در مرحله امکان سنجی مشخص شده و در مرحله خام مورد بررسی و راهکاردهی قرار گرفتهاست.
مرحله چهارم- پیاده سازی
در پیاده سازی سیستم مباحثی همچون فناوری، آموزش اولیه پرسنل و مدیران، و ساختار سازمانی مطرح بوده و ایجاد هماهنگی و یکپارچگی بین اجزا و افراد از اهمیت خاصی برخوردار است.
مرحله پنجم- نگهداری
جهت جاگیر شدن، تثبیت و ماندگاری سیستم در سازمان باید به یک سری موارد توجه داشت که عبارت است از مشاوره جهت رفع عیوب و نواقص، قرار دادن یک نمایندگی از طرف گروه طراح سیستم در دستگاه اجرایی، و تلاش برای جلوگیری از بازگشت دستگاه به سیستم قبلی_که معمولاً شش ماه مراقبت را لازم دارد_ و ... .
مرحله ششم- ارزشیابی سیستم
در این مرحله یک سیستم بازخورد مناسب برای اصلاح سیستم در نظر گرفته میشود. بطور معمول شش ماه پس از پیاده سازی سیستم صورت میگیرد و طی آن توصیههای اصلاحی ارائه میگردد.
سیستمهای کار- دانش
این سیستم¬ها به طور خاص برای کارکنان دانشی طراحی شدهاست تا بدین وسیله بتوانند به خلق دانش جدید بپردازند.
دانشگران
دانشگران افرادی هستند که دانش جدید ایجاد میکنند و به سازماندهی اطلاعات سازمانی میپردازند. معمولاً این افراد از آموزش سطوح بالا برخوردارند و در سازمانهای حرفهای فعالیت میکنند.
وظایف دانشگران
۱)وظیفه به روز رسانی دانش سازمان که در ارتباط با محیط خارج است را به عهده دارند.
۲)این افراد به عنوان مشاورین داخل سازمان به ارائه خدمات میپردازند.
۳)در راستای تغییر، ایجاد خلاقیت و ارتقا در داخل سازمان فعالیت میکنند.
نیازمندیهای سیستم کار دانش
دسترسی سریع و آسان به پایگاه دادههای خارج و داخل سازمان، برای دانشگران با استفاده از این سیستم میسر میکند تا اتلاف وقت کارکنانی که دستمزد بالایی را از سازمان دریافت میکنند، کاهش یابد.
مروری بر برخی سیستمهای مدیریت دانش
اعمال شیوههای مدیریتی با محوریت اشیاء در مطالعه، طراحی، ایجاد، و اجراء پروژههای مهندسی نرمافزار و مهندسی دانش.
برنامهنویسی غیر ساختیافته
برنامه نویسی غیر ساخت یافته قدیمی ترین پارادایم برنامهنویسی است که قادر به نوشتن الگوریتم برنامه ی تورینگ کامل است. این برنامه نویسی بعداً با برنامه نویسی تابعی وسپس برنامه نویسی شی گرا ادامه یافت و هر دو این برنامه ها به عنوان برنامه نویسی ساخت یافته در نظر گرفته شدند. برنامه نویسی ساخت یافته به خاطر تولید کدهایی که به سختی قابل خواندن بودند(اسپاگتی کد) به شدت مورد نکوهش قرار گرفت و گاهی اوقاتیک روش بد برای نوشتن پروژه های بزرگ در نظر گرفته شد.اما این نوع برنامه نویسی برای آزادی که به برنامه نویسان می دهد تحسین شده است و با این مقایسه شده است که موزارت چگونه موسیقی را نوشته است. هر دو زبانهای برنامه نویسی سطح بالا و سطح پایین وجود دارند که به عنوان زبانهای برنامه نویسی غیر ساخت یافته استفاده می شوند.
ویژگی ها ومفاهیم معمولی
مفاهیم اساسی
یک برنامه در یک زبان غیر ساخت یافته معمولاً شامل دستورهای متوالی منظم است یا جمله ها معمولاً هر کدام در یک خط نوشته شده اند.خط ها معمولاً شماره گذاری شده اند یا ممکن است که بر چسب داشته باشند.این خاصیت اجازه می دهد که جریان اجرایی برنامه بتواند به هر خط برنامه بپرد. برنامه نویسی غیرساخت یافته مفهوم جریان کنترل اساسی را همانند حلقه ها ، انشعابات و پرش ها معرفی میکند. هرچند که هیچ مفهوم رویه ای در الگوی غیرساخت یافته وجود ندارد،اجازه ی استفاده از زیرروالها را داریم.برعکس یک رویه، یک زیرروال ممکن است چندین نقطه ی ورود و خروج داشته باشد و یک پرش مستقیم به زیرروال یا خارج از زیر روال(از نظر فرض علمی) اجازه داده می شود.این انعطاف باعث میشود مفهومی که coroutine (دستور العمل اتصال مجموعه ای از ورودی ها به مجموعه ای از خروجی ها) نام داد در اینجا معنی پیدا کند. هیچ مفهومی در مورد متغییرهای محلی در زبان های برنامه نویسی غیر ساخت یافته (هر چند برای برنامه های اسمبلی رجیسترهای همه منظوره ممکن است همین منظور را پس از ذخیره کردن در ورودی برآورده کنند)، اما برچسب ها و متغییرها میتوانند اثر خود را در قسمت محدودی از برنامه بگذارند (برای مثال،تعدادی خط).این معنی را میتوان دیافت که هیچ تغییر متنی هنگام صدا زدن یک زیرروال رخ نمیدهد.پس همه متغییرها ممکن است که مقدار قبلی خود را از فراخوانی قبلی نگه دارند که باعث سخت شدن روش بازگشتی می شود.اما در بعضی نمونه های بازگشتی (که هیچ حالت زیر روالی پس از فراخوانی توابع بازگشتی احتیاج نمیشود) ممکن است.اگر متغییرها به زیر روال بازگشتی اختصاص داده شوند در ورودی زیر روال صریحاً پاک می شوند (یا دوباره با مقدار اصلی خود مقدار دهی می شوند) . عمق تو در تو بودن ممکن است محدود به یک یا دو بار باشد.
نوع و گونه ی داده
زبانهای غیر ساخت یافته اجازه استفاده از نوع های داده ای اساسی را مثل شماره ها، رشته ها و آرایه ها (تعدادی داده ی همنوع) می دهند. معرفی آرایه ها در زبان های غیر ساخت یافته یک مرحله ی رو به جلو قابل توجه است.فرایند ساخت جریان داده با وجود فقدان نوع داده ای ساختار ممکن است.
برنامهنویسی مفهوم
برنامه نویسی مفهوم یک پارادایم برنامه نویسی است، که برچگونگی ترجمهٔ مفاهیمی که در ذهن برنامه نویس شکل میگیرد به آنچه در فضای کد قابل دستیابی است، تمرکز میکند. این رویکرد توسط کریستوف دی نچین در سال ۲۰۰۱ با زبان برنامه نویسی XL معرفی شد.
شبه سنجهها
برنامه نویسی مفهوم شبه سنجهها را برای ارزیابی کیفیت کد به کار میگیرد. بدین دلیل به اینها شبه سنجه گفته میشود که فضای مفهوم و فضای کد را به هم مربوط میسازند. با درک روشنی از اینکه فضای مفهوم را نمیتوان به اندازهٔ کافی محدود به قالب بندیهایی کرد تا بتوان سنجههای واقعی را تعریف نمود. شبه سنجههای برنامه نویسی مفهومی در برگیرندهٔ موارد زیر میشوند:
اعوجاج نحوی تفاوت میان مفهوم و نحوی که برای نمایش آن به کار گرفته شده است را اندازهگیری میکند. به عنوان مثال: نقطه ویرگول در انتهای دستورات در زبان C میتواند به عنوان اعوجاج نحوی در نظر گرفته شود چون در فضای مفهوم معادلی ندارد.
اعوجاج معنایی فاصلهٔ معنا یا رفتار مورد انتظار از مفهوم با معنا با رفتار واقعی درون کد را اندازهگیری میکند. به عنوان مثال: این حقیقت که انواع دادهٔ حسابی سرریز میکنند (در حالیکه اعداد حسابی ریاضی چنین نیستند.) صورتی از اعوجاج معنایی است.
پهنای باند این را اندازهگیری میکند که به چه میزان از فضای مفهوم را یک ساختار کد از پیش تعیین شده میتواند معرفی نماید. به عنوان مثال: عملگر جمع اضافه بار شده در زبان C پهنای باند بیشتری از دستور جمع در زبان اسمبلی (Add) دارد چون عملگر زبان C میتواند عمل جمع را با اعداد ممیز شناور (و نه فقط اعداد حسابی انجام دهد.)
نسبت سیگنال به اعوجاج این را اندازهگیری میکند که چه کسری از فضای کد در برابر اطلاعات پیادهسازی شده برای نمایش مفاهیم واقعی به کار گرفته شده است.
قانون برابری، شکست برابری
قانون برابری هنگامی تایید میشود که رفتار کد با مفهوم اصلی همخوانی داشته باشد. این برابری ممکن است در حالتهای بسیاری به شکست بینجامد. سرریز کردن اعداد حسابی برابری میان مفهوم ریاضی اعداد حسابی و تقریب کامپیوتری شده از این مفهوم را برهم میزند. به راههای بسیاری در شکست برابری اسامی ویژهای داده شده است زیرا این موارد خیلی رایج هستند:
خطای دامنه وضعیتی است که در آن کد خارج از دامنهٔ برابری اجرا میشود، که این دامنه ایست که در آن مفهوم و پیادهسازی منطبق میشوند سرریز عدد حسابی مثالی از خطای دامنه است.
قالب مفهوم (همچنین قالب بندی دوباره مفهوم یا مفهوم را دوباره قالب بندی کردن) بازنویسی یک مفهوم به صورت مفهومی دیگر است بدین سبب که مفهوم اصلی را نمیتوان به وسیله ابزارها پیادهسازی نمود در زبان C به کار بردن اشاره گرها برای آرگومانهای خروجی به این دلیل که زبان C از آرگومانهای خروجی به صورت صریح پشتیبانی نمیکند، مثالی از قالب مفهوم است.
وارونگی اولویت صورتی از اعوجاج نحوی یا معنایی است که به وسیله برخی قوانین عمومی دیکته شده از سوی زبان به وجود میآید. از این رو وارونگی اولویت نامیده میشود که زبان تقدم را بر مفهوم حاکم میسازد. در Smalltalk هر چیزی یک شی است و این قانون به این دستاورد ناخواسته منجر میشود که عبارتی شبیه به ۲+۳*۵ از توالی مرسوم عملیات پیروی نمیکند (در Smalltalk ابتدا ۲ با ۳ جمع شده، حاصل آن در ۵ ضرب میشود که در نهایت عدد ۲۵ به جای ۱۷ بدست میآید.)
روش شناسی
برای نوشتن کد برنامه نویسی مفهوم این گامها را پیشنهاد میدهد:
مفاهیم مرتبط را در فضای مفهوم شناسایی و تعریف نمایید.
نمادهای سنتی برای مفاهیم را شناسایی یا نمادهای قابل استفاده جدیدی ایجاد نمایید.
ترکیبی از ساختارهای برنامه نویسی را شناسایی کنید که اجازه میدهد مفاهیم به راحتی به قالب کد درآیند، که یافتن نماد کدی که با نماد شناسایی شده در مرحله قبل تا حد ممکن نزدیک باشد، را در بر میگیرد.
کدی بنویسید که تا حد ممکن رفتار و معانی مورد انتظار از جنبههای مرتبط مفهوم اصلی را حفظ و نگهداری میکند.
ابزارهای برنامه نویسی بسیاری اغلب فاقد قابلیتهای نمادی هستند. بنابراین برنامه نویسی مفهوم در برخی موارد نیازمند استفاده از پیش پردازندهها، زبانهای مختص به دامنه یا روشهای فرا برنامه نویسی است.
زبانها
زبان برنامه نویسی XL تنها زبان شناخته شده ایست که تا به امروز به طور واضح برای برنامه نویسی مفهوم ایجاد شده است. اما برنامه نویسی مفهوم تقریباً در هر زبانی با درجات متفاوتی از موفقیت قابل اجراست. زبانهای برنامه نویسی Lisp و Forth و مشتقات آنها نمونههایی از زبانهای از قبل موجود هستند که به خوبی قابلیت استفاده به عنوان برنامه نویسی مفهوم را دارند.
کارهای مشابه
پروژههایی هستند که از ایدههای مشابه بهرهبرداری کردهاند تا با سطح بالایی از انتزاع کد تولید کنند. دربین آنها این موارد را میتوان نام برد:
برنامه نویسی هدفی
برنامه نویسی زبان گرا
برنامه نویسی ادیبانه
معماری مدل- محور
برنامهنویسی منطقی
برنامهنویسی منطقی در کلیترین مفهوم آن، کاربرد منطق ریاضی در برنامهنویسی رایانه است.
پارادایم برنامهنویسی
پارادایم برنامهنویسی یا شیوههای برنامهنویسی، به شیوههای اساسی برنامهنویسی رایانه گویند.
مرور کلی
یک زبان برنامهنویسی میتواند یک یا چند شیوه برنامهنویسی را پشتیبانی نماید. برای مثال، برنامههای نوشته شده با سی++ میتوانند کاملاً بصورت رویهای باشند یا کاملاً منطبق بر شیوه برنامهنویسی شئگرا که در تضاد کامل با شیوه رویهای است بوده یا حتی حاوی عناصری از هر دو شیوه باشند. تصمیمگیری برای چگونگی استفاده از عناصر شیوههای برنامهنویسی برعهده طراح برنامه یا برنامهنویس میباشد.
نمونههای مهم
برنامهنویسی دستوری در تضاد با برنامهنویسی تابعی
برنامهنویسی رویهای در تضاد با برنامهنویسی شئگرا
برنامهنویسی منطقی
مدل برنامهنویسی موازی
مدل برنامهنویسی موازی (به انگلیسی: Parallel programming model) مفهومی است که عبارتهای برنامههای موازی را قادر میسازد ترجمه و اجرا شوند. ارزش یک مدل برنامهنویسی معمولاً بر اساس فراگیری آن (اینکه چند مسئلۀ متفاوت میتوانند توسط آن بیان شوند و با چند معماری مختلف میتوان آنها را اجرا کرد) تعیین میشود. ایجاد یک مدل برنامهنویسی میتواند چندین حالت بگیرد مانند الهام گرفتن کتابخانهها از زبانهای متوالی قدیمی، ضمیمههای زبان و یا مدلهای اجرایی کاملاً جدید.
اجماع بر روی یک مدل برنامهنویسی مهم است چرا که نرمافزار را قادر میسازد تا در آن بیان شده و در معماریهای متفاوت ترابرپذیر باشند. از معماری فون نویمان با معماریهای متوالیاش در این مدل کمک گرفته شده است تا پلی کارآمد را بین نرمافزار و سختافزار فراهم کند؛ بدین معنی که زبانهای برنامهنویسی سطح بالا میتوانند در آن به صورت کارآمد ترجمه شده و توسط سختافزار اجرا گردند.
طبقهبندی و الگوهای اصلی
طبقهبندیهای مدلهای برنامهنویسی موازی را میتوان به دو محدودۀ کلی تقسیم کرد: تعامل فرایند و تجزیۀ مسئله.
تعامل فرایند
تعامل فرایند مربوط به مکانیزمی مییاشد که فرایندهای موازی در آن میتوانند با یکدیگر در ارتباط باشند. معمولترین حالتهای تعامل، حافظۀ مشترک و گذر پیام هستند، اما موازیسازی مطلق نیز وجود دارد.
حافظۀ مشترک
در مدل حافظۀ مشترک، وظایف موازی یک فضای آدرس جهانی را به اشتراک میگذارند و به صورت غیرهمزمان آن را خوانده و مینویسند. این مدل به مکانیزمهای محافظتی چون قفلها، نشانبرها و مبصرانی احتیاج دارد تا دسترسی همزمان را کنترل کند. حافظۀ مشترک میتواند در سیستمهای با حافظۀ توزیعشده و حافظه دسترسی غیریکپارچه (نوما) شبیهسازی گردند.
در مدل انتقال پیام، وظایف موازی دادهها را به کمک گذر پیام با یکدیگر عوض میکنند. این ارتباطات میتوانند همزمان یا غیرهمزمان باشند. رسمیسازی انتقال پیام فرایند ارتباطات متوالی (سیاسپی) کانالهای ارتباطی را به خدمت گرفته است تا فرایندها را به یکدیگر "مرتبط" سازد؛ و با این کار باعث ایجاد شدن چندین زبان مهم همچون جویس، اوکام و ارلنگ شد.
موازیسازی تلویحی
در مدل موازیسازی مطلق، هیچ یک از فعل و انفعالات فرایند برای برنامهنویس قابل مشاهده نیست و به جای آن مترجم و یا رانتایم برای اجرای آن مسئول است. این مدل بین زبانهای با دامنۀ اختصاصی متداولتر میباشد.
تجزیۀ مسئله
هر برنامۀ موازی از فرایندهای در حال اجرا به صورت همزمان تشکیل شده است، تجزیۀ مسئله به راهی مربوط است که در آن این فرایندها فرموله شدهاند. این طبقهبندی ممکن است به اسکلتهای الگوریتمی یا موازیسازیهای برنامهنویسی موازی اشاره کند.
موازیسازی وظیفه
یک مدل موازیسازی وظیفه بر روی فرایند یا ریسههای اجرا تمرکز دارد. این فرایندها معمولاً از لحاظ رفتاری مجزا خواهند بود، که بر نیاز به ارتباطات تاکید میکند. موازیسازی وظیفه یک راه طبیعی برای توصیف ارتباطات گذر پیام میباشد. این مدل معمولاً به امآیامدی/امپیامدی و امآیاسدی تقسیم میشود.
موازیسازی داده
یک مدل موازیسازی داده بر روی عملیاتهای روی داده که معمولاً به صورت ساختاری آرایه هستند، تمرکز دارد. مجموعهای از وظایف بر روی این دادهها عملیاتهایی را انجام میدهند اما به صورت مستقل و در بخشی جدا. در یک سیستم با حافظۀ مشترک، داده برای همگی قابل دسترس خواهد بود، اما در سیستم حافظۀ حافظۀ توزیع شده بین حافظهها تقسیم شده و به طور محلی بر رویشان کار خواهد شد. مدل موازیسازی داده معمولاً به اسآیامدی/اسپیامدی تقسیم میشود.
مهندسی نرمافزار
مهندسی نرم افزار (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرم افزاری با کیفیت که قابل اطمینان و با صرفه بوده و برروی ماشین های واقعی به طور کارآمدی عمل کند.
مهندسی نرم افزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرم افزاری با کیفیت است.
مهندسی نرمافزار اغلب شامل فرآیند خطی تحلیل، طراحی، پیاده سازی و آزمون است؛ که با به کارگیری روشهای فنی و علمی از علوم مهندسی موجب تولید نرم افزاری با کیفیت مطلوب در طول یک فرآیند انتخابی مناسب پروژه می شود.
کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههایی از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای و اینترنت.
فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار.
مهم ترین شاخص مهندسی نرمافزار
مهم ترین شاخص در مهندسی نرم افزار تولید نرم افزار با کیفیت مناسب در جهت «نیازهای مشتری» است.
پیشینه مهندسی نرمافزار
اصطلاح مهندسی نرمافزار پس از سال ۱۹۶۸ میلادی شناخته شد. این اصطلاح طی نشست «مهندسی نرمافزار ناتو ۱۹۶۸» (که در گارمیش-پارتنکیرشن، آلمان برگزار شد) توسط ریاست نشست فریدریش ال باوئر معرفی شد و از آن پس بهطور گسترده مورد استفاده قرار گرفت.
اصطلاح مهندسینرمافزار عموماً به معانی مختلفی بهکار میرود:
بهعنوان یک اصطلاح غیر رسمی امروزی برای محدوده وسیع فعالیتهایی که پیش از این برنامهنویسی و تحلیل سامانهها نامیده میشد.
بهعنوان یک اصطلاح جامع برای تمامی جنبههای عملی برنامهنویسی رایانه، در مقابل تئوری برنامهنویسی رایانه، که علوم رایانه نامیده میشود.
بهعنوان اصطلاح مجسمکننده طرفداری از یک رویکرد خاص نسبت به برنامهنویسی رایانه که اصرار میکند، مهندسی نرمافزار، بهجای آنکه هنر یا مهارت باشد، باید بهعنوان یک رشته عملی مهندسی تلقی شود و از جمعکردن و تدوین روشهای عملی توصیهشده به شکل متدولوژیهای مهندسی نرمافزار طرفداری میکند.
مهندسی نرمافزار عبارتست از:
کاربرد یک رویکرد سامانهشناسی، انتظامیافته، قابل سنجش نسبت به توسعه، عملکرد و نگهداری نرمافزار، که کاربرد مهندسی در نرمافزار است.
مطالعه روشهای موجود در استاندارد IEEE
محدوده مهندسی نرمافزار و تمرکز آن
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سامانه نرمافزاری مربوط میباشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد. این خصوصیات نرمافزاری ممکن است شامل پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد.
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنی را آماده میکند که اگر بهدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تأمین میکند یا خیر.
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است.
نیاز به مهندسی نرمافزار
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای نوین قابل مقایسه هستند. بهعنوان مثال، یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی حدود ده میلیون بخش دارد)، در حالی که نرمافزارِ هدایت چنین هواپیمایی میتواند تا ۴ میلیون خط کد داشته باشد.
با توجه به گسترش روزافزون دنیای رایانه امروزه بیش از هر زمان دیگری نیاز به متخصصان رایانه احساس می شود. متاسفانه این رشته در ایران بازار کار خوبی ندارد طبق آمارها ۶۳٫۲۷ درصد از فارغالتحصیلان در سال ۹۰ مشغول به کار در سایر مشاغل هستند. اما برای مهندسان سخت افزار هم امكان كار در شركتهای تولیدكننده قطعات و دستگاهها و مراكز صنعتی – تولیدی بسیار فراهم است و از نظر سطح درآمدی هم با توجه به دانش و پشتكار شخصی در حد متوسط قرار دارند. به طور کلی این رشته در ایران با استقبال چندانی رو به رو نیست؛ این نیز حاکی از نبود برخی از زیرساختها در ایران هست.
تکنولوژیها و روشهای عملی
مهندسان نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگار هستند. این بحث در سالهای دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسان نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند: کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند: برنامهنویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از الگوهای طراحی شده قبلی باشد، که باید شفاف بوده و بهخوبی مستند شده باشد.
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار درباره کیفیت نرمافزار ادامه دارند.
ماهیت مهندسی نرمافزار
دیوید پارناس گفتهاست که مهندسی نرمافزار یک شکل از مهندسی است. استیو مککانل گفتهاست که هنوز اینطور نیست، ولی مهندسی نرمافزار باید یک شکل از مهندسی شود. دونالد کنوت گفتهاست که برنامهنویسی یک هنر است.
دیوان فعالیتهای آماری آمریکا مهندسان نرمافزار را به عنوان زیرگروهی از «متخصصان رایانه»، با فرصتهای شغلیای مانند «دانشمند رایانه»، «برنامه نویس» و «مدیر شبکه» دسته بندی کردهاست. BLS تمام مهندسان دیگر این شاخه علمی، که شامل مهندسان سختافزار رایانه نیز هست، را بهعنوان «مهندسان» دسته بندی میکند.
مهندسی دانش
مهندسی دانش به مجموعه فرایندهای مربوط به طراحی، مهندسی و ایجاد سامانههای مبتنی بر دانش اطلاق میشود. مهندسی دانش دارای وجوه مشترک فراوانی با مهندسی نرمافزار است، بهطوری که بیشتر راه حلها و روشهای هریک را میتوان در دیگری استفاده کرد. علاوه بر آن، زمینههای دیگری مثل هوش مصنوعی، پایگاههای دادهها، کاوشهای ماشینی در دادهها، سامانههای خبره، سامانههای پشتیبانی تصمیمها و نیز سامانههای اطلاعات جغرافیایی را باید در ارتباط نزدیک با مهندسی دانش به حساب آورد. این رشته بسبار مناسب بانک است
مهندس دانش کیست؟
مهندسان دانش (Knowledge Engineer) نقشی است که در فرآیند مهندسی دانش یا (Knowledge Engineering) تبحر دارد؛ وی می تواند سه فعالیت استخراج، تحلیل و مدلسازی دانش را انجام دهد. این سه فعالیت منجر به تولید یک پایگاه دانش ساخت یافته مبتنی بر مدل های دانش با قابلیت استفاده مجدد می شود که می تواند به عنوان محتوای ورودی در یک سیستم مبتنی بر دانش استفاده شود. در نگاه های غیرحرفه ای تر مهندس دانش به عنوان نقشی برای اجرای برخی فرآیندهای ساده مدیریت دانش تنزل پیدا می کند.
سیستمهای مدیریت دانش
مدیریت دانش رویکردی یکپارچه به شناسایی، کسب و استخراج، بازیابی، ارزیابی، تسهیم و خلق کلیه منابع دانش سازمان است به گونهای که سازمان را در جهت دستیابی به اهداف سازمانی کمک نماید. هدف مدیریت دانش برقراری ارتباط بین خبرگان و افراد مجرب سازمان با افرادی است که نیاز به دانش خاصی را دارند. ایجاد چنین ارتباطی به کمک فرایندها و ابزارهای مدیریت دانش تسهیل میگردد. موفقیت در زمینۀ مدیریت دانش نیازمند ایجاد یک محیط جدید کاری میباشد، که دانش و تجربه بتوانند به راحتی تسهیم شوند.
دوران کنونی، دوران دگرگونی و تغیر پرشناب دانش است. هر پنج و نیم سال حجم دانش دو برابر میشود، البته عمر میانگین آن که به «دارایی» و «منبع ارزشمند راهبردی» ارتباط دارد، کمتر از چهار سال است. «مدیریت دانش» یکی از گفتمانهایی است که در دوران جدید در زمینه مدیریت مطرح گردیده و به شدت مورد توجه سازمانها و مبحث مدیریت قرار گرفتهاست. از مهم ترین ارکان مدیریت دانش، پیاده سازی سیستم و اثربخشی آن در سطح سازمان میباشد. چرا که دیگر مطالب مرتبط با آن همگی به عنوان مقدمهای جهت بسترسازی و استفاده از آنها برای تحقق عملی مدیریت دانش به شمار میروند. سازمانهای پیشرو زیادی در جهان به اهمیت مدیریت دانش به عنوان رویکردی نوین در مدیریت کسب و کار پی برده و اقدام به پیاده سازی آن نمودهاند
تعریف مدیریت دانش
مدیریت دانش رویکردی یکپارچه به شناسایی، کسب و استخراج، بازیابی، ارزیابی، تسهیم و خلق کلیه منابع دانش سازمان است به گونهای که سازمان را در جهت دستیابی به اهداف سازمانی کمک نماید. هدف مدیریت دانش برقراری ارتباط بین خبرگان و افراد مجرب سازمان با افرادی است که نیاز به دانش خاصی را دارند. ایجاد چنین ارتباطی به کمک فرایندها و ابزارهای مدیریت دانش تسهیل میگردد. موفقیت در زمینۀ مدیریت دانش نیازمند ایجاد یک محیط جدید کاری میباشد، که دانش و تجربه بتوانند به راحتی تسهیم شوند.
آفرینش و ربایش دانش
سازمان باید به خوبی بتواند دانش مورد نیاز خود را شناسایی کند، در صورت نیازآن را بیافریند، یا اینکه از منابع دانش خارج از سازمان بدست آورد.
ذخیره سازی
دانش خلق شده یا کسب شده، باید با نیازهای شما تطبیق داده شده و به تعبیری، آماده شود و به صورت مناسب ذخیره شود تا در زمان و مکان و شرایط مورد نیاز مورد استفاده قرارگیرد.
انتشار و به اشتراک گذاری
نکته قابل توجه آن است که باید از راکد ماندن دانش جلوگیری کرد زیرا تنها جریان سیال دانش است که میتواند چون آب جاری ارزش خود را حفظ کند و زندگی بخش باشد تا هر که تشنه آن است از آن سیراب شود. با توزیع و انتشار و اشتراک گذاری دانش بصورتی روان و سیال در میآید و از راکد بودن آن جلوگیری میکند.
به کارگیری دانش
پس از انجام گامه های فوق مدیریت دانش در سطح سازمان پیاده سازی میشود و مورد استفاده قرار میگیرد.
انواع دانش
چهار نوع دانش مشخص شدهاست:
دانش نیروی انسانی: دانشی است که در توسط اعضای سازمان به وجود می¬آید.
دانش مکانیزه: دانشی که حامل وظایف ویژه یکپارچه در سخت افزارماشین است، در واقع شامل دانش مربوط به تجهیزات سازمان میباشد.
دانش مستند: دانشی که به شکل بایگانی، کتاب، سند، دفتر کل، دستورات، نمودارها و... ذخیره میشود.
دانش خودکار (اتوماتیک): دانشی است که به طور الکترونیکی ذخیره شده و به وسیله برنامههای رایانهای که وظایف خاص را پشتیبانی میکند قابل دسترسی میباشد
از سوی دیگر دانش را به دو نوع نهفته یا ضمنی و آشکار تقسیم بندی میکنند: دانش نهفته معمولاً در قلمرو دانش شخصی، شناختی وتجربی قرار می¬گیرد. فرآوردۀ تجربیات افراد می-باشد و از همین رو در جایی ثبت نمیگردد بلکه با گفتگو، بحث، مشورت و ... به اشتراک گذاشته میشود. دانش آشکار بیشتر به دانشی گفته می شود که جنبه عینی تر -عقلانی تر و فنی تر دارد (دادهها، خط مشیها، روشها، نرمافزارها، اسناد و ...). دانش آشکار به طور معمول قابل ثبت میباشد و به صورت نوشته به آسانی در دسترسی افراد قرار میگیرد.
تبدیل دانش
۱. اجتماعیسازی از نهفته به نهفته افراد میتوانند از طریق کنشهای اجتماعی، در اشتراک گذاری دانشهایی که جنبهی شخصی داشته و فرمولهکردن آن دشوار است، سهیم شوند. برای مثال، بهاشتراکگذاشتن تجربیات جنگی فرماندهان از طریق بازگویی خاطرات جنگی است. تبدیل دانش نهفته به نهفته با مشارکت در تجربه ها و تقلید و تمرین و یادگیری از طریق آموزش استاد-شاگردی، شرکت در همایش ها و سمینارها و نشست ها، یا به سادگی در هنگام برهمکنش میان کارکنان در زمانهای استراحت حاصل میشود. سیستمهایی که در این حوزه به کار میروند عبارتند از:
گروه افزار
سامانه های مکان یابی
۲. برونیسازی از نهفته به آشکار برونیسازی یعنی تبدیل دانش شخصی افراد که کیفیت نهفته دارد، به دانش آشکاری که دسترس پذیر باشد و به افراد یا گروههای دیگر به سادگی انتقال یابد. که این امر از طریق بیان و اظهار دانش شخصی افراد و ثبت آن تحقق مییابد، مثل یک گزارش یا مستندسازی. که در این حوزه سیستمهای گروه افزار و سیستمهای گردش کار مورد استفاده قرار میگیرید.
۳. تلفیق از آشکار به آشکار دانش آشکار میتواند از طریق فرایندهای گوناگون مستندسازی به شکلهای گوناگون ارائه شود، این تبدیل با هدف اینکه مخاطبان بیشتری به آن دانش دسترسی داشته باشند، صورت میگیرد. بهعنوان مثال، دانش صریح ریاضی یا فیزیک را که در قالب فرمولها و نظریهها شکل میگیرد، میتوان طوری نوشت که برای گروههای سنی مختلف قابل استفاده باشد. سامانه های بکار رفته در این بخش عبارتند از:
سامانه های خودکارسازی اداری
سامانه های مدیریت مدارک الکترونیکی
سامانه های هوش تجاری
سامانه های دانش مدار
انبارهای داده
کتابخانههای مجازی
کارگزاران خودکار
نقشههای دانش، رده بندی ها و غیره
درگاههای دانش
فناوریهای کاوش
۴. درونیسازی از آشکار به نهفته تبدیل دانش آشکار به دانش نهفته میتواند دانش تازهای در درون فرد ایجاد میکند. درونی سازی این امکان را به کارکنان میدهد تا دانش را در پاسخ و رفتار خود به گونهای ادغام کنند که در هنگام رویارویی با موقعیت یا مشکلی که کاربرد دانش لازم است بتوانند دانش آشکار را به کار گیرند. برای مثال، یک سازمان حفاظت اطلاعات، بنا به نیاز، مجموعهای از اصول و موازین مشخص را تدوین نموده، و رعایت آنها را از تمامی کارکنان سازمان انتظار دارد. اما این اصول و موازین نمیتوانند آنقدر گسترده و فراگیر باشند که بتوانند همهی موقعیتهای احتمالی ممکن را در برگیرند، و در هر شرایطی به فرمانده بگویند که فرمول حفاظت موقعیت چیست، و او چگونه باید تصمیم بگیرد. آنچه در عمل رخ می دهد این است که کارکنان (فرماندهان و زیردستان)، اصول آغازین و بنیادین حفاظتی را که به شکل دانش آشکار ارایه میشوند، درونی کنند، و به مرور زمان یاد میگیرند که چگونه در هر موقعیتی، واکنش حفاظتی درست را نشان دهند. این یعنی درونیسازی، که متضمن تبدیل دانش آشکار به نوعی دانش نهفته کاملاً شخصی است.
ابزارهای مورد استفاده در این قسمت عبارتند از:
ابزارهای پشتیبان نوآوری
نرمافزار یادگیری سازمانی
مراحل پیاده سازی نظام مدیریت دانش در سازمان
پیاده سازی یک نظام مدیریت دانش همچون سایر نظام ها و به تناسب موارد خاص آن در شش گامه صورت میگیرد:
گام نخست - امکان سنجی طرح
در این گامه وضعیت¬های موجود در سازمان جهت پیاده سازی طرح مورد بررسی قرار میگیرد. مطالعات روی جنبه¬های کلیدی مدیریت دانش نظیر انسان (فرهنگ)، سازمان (ساختار) و فن آورانۀ موجود انجام می¬گیرد. به این ترتیب، کاشتی ها و محدودیتهای موجود در هریک از حوزهها در ارتباط با پیاده سازی سیستم مشخص میشود.
مرحله دوم- طراحی خام نظام
پس از شناسایی محدودیت¬ها، راهکارهایی در قالب طرح خام نظام جهت رفع محدودیت¬ها ارائه می¬شود. در این مرحله با بررسی و واکاوی نظرات تصمیم¬گیران، اجرای قطعی سیستم در سازمان تعیین میگردد.
مرحله سوم- طراحی تفصیلی سیستم
پس از پذیرش طرح خام سیستم، طراحی تفصیلی سیستم صورت می¬گیرد. در این مرحله وارد جزئیات شده و متدولوژی قطعی نیز انتخاب می¬گردد. متدولوژی باید متناسب با نیازها و محدودیتهای سازمان باشد. این نیازها و محدودیتها در مرحله امکان سنجی مشخص شده و در مرحله خام مورد بررسی و راهکاردهی قرار گرفتهاست.
مرحله چهارم- پیاده سازی
در پیاده سازی سیستم مباحثی همچون فناوری، آموزش اولیه پرسنل و مدیران، و ساختار سازمانی مطرح بوده و ایجاد هماهنگی و یکپارچگی بین اجزا و افراد از اهمیت خاصی برخوردار است.
مرحله پنجم- نگهداری
جهت جاگیر شدن، تثبیت و ماندگاری سیستم در سازمان باید به یک سری موارد توجه داشت که عبارت است از مشاوره جهت رفع عیوب و نواقص، قرار دادن یک نمایندگی از طرف گروه طراح سیستم در دستگاه اجرایی، و تلاش برای جلوگیری از بازگشت دستگاه به سیستم قبلی_که معمولاً شش ماه مراقبت را لازم دارد_ و ... .
مرحله ششم- ارزشیابی سیستم
در این مرحله یک سیستم بازخورد مناسب برای اصلاح سیستم در نظر گرفته میشود. بطور معمول شش ماه پس از پیاده سازی سیستم صورت میگیرد و طی آن توصیههای اصلاحی ارائه میگردد.
سیستمهای کار- دانش
این سیستم¬ها به طور خاص برای کارکنان دانشی طراحی شدهاست تا بدین وسیله بتوانند به خلق دانش جدید بپردازند.
دانشگران
دانشگران افرادی هستند که دانش جدید ایجاد میکنند و به سازماندهی اطلاعات سازمانی میپردازند. معمولاً این افراد از آموزش سطوح بالا برخوردارند و در سازمانهای حرفهای فعالیت میکنند.
وظایف دانشگران
۱)وظیفه به روز رسانی دانش سازمان که در ارتباط با محیط خارج است را به عهده دارند.
۲)این افراد به عنوان مشاورین داخل سازمان به ارائه خدمات میپردازند.
۳)در راستای تغییر، ایجاد خلاقیت و ارتقا در داخل سازمان فعالیت میکنند.
نیازمندیهای سیستم کار دانش
دسترسی سریع و آسان به پایگاه دادههای خارج و داخل سازمان، برای دانشگران با استفاده از این سیستم میسر میکند تا اتلاف وقت کارکنانی که دستمزد بالایی را از سازمان دریافت میکنند، کاهش یابد.
مروری بر برخی سیستمهای مدیریت دانش
وب مانی (به انگلیسی: Webmoney) سامانه خدمات پول اینترنتی است که در سال ۱۹۹۸
راه اندازی شدهاست. این خدمت به «شرکت انتقال وبمانی» تعلق دارد. این شرکت
ادعا میکند ۱۱ میلیون کاربر ثبتنام شده دارد.
در حال حاضر حدود ۶ میلیون کاربر بر روی سیاره زمین از خدمت وبمانی استفاده میکنند و روز به روز امکانات و خدمات وبمانی و همچنین کاربران این پول الکترونیکی رو به افزایش است. مهمترین ویژگی این سامانه پول الکترونیکی برخورداری از امنیت بالا است. بعد از افتتاح حساب وبمانی برای کاربر فایل کلیدی مخصوص حساب ساخته شده، ارایه میگردد که توسط این فایل کلیدی دسترسی به حساب ممکن میشود. همچنین کاربر میتواند در تنظیمات حساب خود، دسترسی به آن را با یک یا چند آیپی محدود نماید تا اینکه از ورود دیگران به حساب خود جلوگیری کند.
برای استفاده از وبمانی ابتدا کاربر باید نرمافزار «نگهدارنده وبمانی» (Webmoney Keeper) را از وبگاه نصب نماید یا به روش برخط وارد حساب خود در وبگاه وبمانی شود. به هر حساب وبمانی، شناسه وبمانی(WMID) تعلق میگیرد. هر کاربر در سامانه پول الکترونیکی وبمانی از گواهینامه الکترونیکی برخوردار میشود. طبق اطلاعات وارد شده در زمان افتتاح حساب، برای کاربران انواع گواهینامه الکترونیکی ارایه میگردد. اگر کاربر مشخصات شخصی وارد ننماید، گواهینامه ناشناس و اگر مشخصات خود را وارد نماید، گواهینامه تشریفاتی تعلق میگیرد. در زمان افتتاح حساب، کاربر میتواند مشخصات خود را وارد نموده و از گواهینامه تشریفاتی برخوردار شود.
هر حساب وبمانی دارای ۱۰ کیف پول مختلف است. هرکدام از این کیفهای پول نشانگر یک واحد ارزی است که به شرح زیر هستند:
WMZ – نشانگر کیف پول دلار ایالات متحده آمریکا (USD)
WME – نشانگر کیف پول یورو اتحادیه اروپا (EUR)
WMR – نشانگر کیف پول روبل کنفدراسیون روسیه (RUB)
WMU – نشانگر کیف پول گریونا اوکراین (UAH)
WMB – نشانگر کیف پول روبل بلاروس (BYR)
WMS – نشانگر کیف پول سوم قرقیزستان (KGS) – منحلشده
WMY – نشانگر کیف پول سوم ازبکستان (UZS) - منحلشده
WMV – نشانگر کیف پول دانگ ویتنام (VND)
WMX – نشانگر کیف پول بیتکوین (BTC)
WMG – نشانگر کیف پول طلا
این کیفهای پول جدا از شناسه وبمانی (WMID) است و برای انجام حواله باید از شماره ارز مشخص استفاده گردد. حوالجات در سیستم پول الکترونیکی وبمانی با هزینه ۰/۸ درصد انجام میشود. این هزینه بر عهده فرستنده است. مثلاً اگر فرستنده بخواهد ۱۰۰۰ دلار وبمانی به حساب گیرنده بریزد، بانک الکترونیکی وبمانی ۸ دلار وبمانی به عنوان کارمزد درنظر میگیرد و بنابراین برای این که ۱۰۰۰ دلار وبمانی کامل به دست گیرنده برسد، فرستنده باید ۱۰۰۸ دلار وبمانی به حساب گیرنده واریز نماید.
نرخ ارز
به پولهای خارجی ارز گفته میشود. به گفته دیگر به واحدهای پولی که در کشورهای دیگر جز کشور اصلی داد و ستد شود به صورت کلی ارز گفته میشود.
یکی ازتفاوتهای بین معاملات مالی در داخل کشور و مبادلات بینالمللی این است که درتجارت داخلی نیاز به پرداخت و دریافت وجوه بر حسب پول رایج ملی است اما در معاملات خارجی معمولا این وجوه به شکل پولهای رایج و معتبر خارجی، پرداخت میشود.
مثلا در ایران برای انجام مبادلات، از ریال استفاده میشود، در آلمان مارک و آمریکا دلار آمریکا، اما وقتی یک ایرانی بخواهد از آمریکا کالایی را تهیه کند باید در ازای آن دلار آمریکا بپردازد، بنابراین باید بر اساس یک رابطهٔ مبادلهٔ تعریف شده (نرخ ارز) ریال بدهد و دلار بگیرد و با آن کالا را بخرد.
تعریف نرخ ارز
منظور از ارز هر وسیلهای است که به صورت اسکناس، حواله یا چک در مبادلات خارجی جهت پرداختها استفاده میشود. و منظور از نرخ ارز خارجی عبارت است از مقداری از واحد پولی ملی که برای بدست آوردن واحدپول کشور دیگر باید پرداخت شود.
همچنین میتوان نرخ ارز را، ارزش برابری یک واحد پول خارجی به پول داخلی دانست. به عبارت دیگر بهای خرید یا فروش یک واحد پول خارجی به پول رایج کشور را نرخ ارز میگویند.
قاعدهٔ قیمتهای یکسان
قیمت یککالای خارجی در داخل کشور، وابسته به قیمت آنکالا در مبدا و همچنین نرخ ارز آنکشور است. طبق اینقاعده اگر هزینههایجنبی مبادله، ناچیز باشد، قیمتیککالا در همه جا با توجه به قیمتارز، یکسان خواهد بود و در شرایط ایده آل قدرت خریدیک ارز در داخل و خارج یکسان خواهد بود.
برابری قدرت خرید
اگر قاعدهٔ قیمت یکسان را به مجموعهای از کالاها یا سبد مصرفی یک جامعه تعمیم دهیم، به قاعدهٔ برابری قدرت خرید میرسیم. با فرض برابری قدرت خرید در مورد همه کالاها و امکان تهیه تمامی آنها از دیگر کشورهای جهان، رابطهٔ نرخ ارز را میتوان به صورت زیر نوشت:
قیمت سبد کالاهای خارجی / قیمت سبد کالاهای داخلی = نرخ ارز
به این معنی که درصد تغییرات نرخ ارز، برابر است با تفاضل تغییرات تورم داخلی و خارجی.
اگر نرخ تورم در داخل و خارج یکسان با شد، نرخ ارز نیز بدون تغییر باقی میماند؛
اما اگر تورم داخلی بیشتر از تورم خارجی شود، در نتیجه انتظار افزایش نرخ ارز نیز وجود دارد؛
و همچنین اگر نرخ تورم داخلی کمتر از تورم خارجی بشود، نرخ ارز کاهش خواهد یافت.
بازار ارز خارجی
ارز خارجی همانند پول ملی یک کالا محسوب میشود، و دارای بازار است که از دو طرف، عرضهو تقاضا تشکیل میشود.[۹]
بازار ارز خارجی عبارت است از چارچوب سازمان یافته و معینی که در آن افراد، موسسات و بانکها به کار خریدو فروشپولهای خارجی یا ارز اشتغال دارند. وظیفهٔ اصلی بازار ارز خارجی عبارت است از انتقال و جوه یا قدرت خرید از یک کشور به کشور دیگر.
وظیفهٔ دیگر بازار ارز تامین اعتبار است که مانند کالا مستلزم انتقال از فروشنده به خریدار است.
به طور کلی چهار نوع معامله در بازارهای ارزی انجام میپذیرد:
۱- معاملات حال(spot)؛
۲- معاملات سلف(forward)؛
۳- معاملات سوآپ (swap)؛
۴- آربیتراژ(arbitrage).
عرضهٔ ارز
همانند هر کالای دیگر عرضهٔ ارز با قیمت آن (نرخ ارز) رابطهٔ مستقیم دارد.
انواع نرخ ارز
نرخ ارز حقیقی
نرخ ارز حقیقی عبارت است از نسبت قیمتهای خارجی به قیمتهای داخلی بر حسب یک پول: {۴}{۲}R=\frac
R=\frac{〖ep〗^f}{p
که P و Pf به ترتیب سطح عمومی قیمتها در داخل و خارج است و e همان نرخ ارز اسمی و ارزش ریالی پول خارجی است.
نرخ ارز مؤثر اسمی
نرخ ارز مؤثر اسمی ارزش پول یک کشور را برحسب یک میانگین وزنی از پول سایر کشورها اندازهگیری میکند که در آن وزنها انعکاس دهندهٔ سهم هر کشور در تجارت بینالمللی این کشور میباشد. به همین دلیل به آن نرخ ارز با وزن تجاری هم میگویند.
نرخ ارز مؤثر حقیقی
نرخ ارز مؤثر حقیقی از تقسیم یک میانگین وزنی از قیمت سبد کالایی در کشورهای طرف تجاری بر حسب پول داخلی نسبت به قیمت آن در کشور به دست میآید.
تعیین نرخ ارز
در مدلهای اولیه نرخ ارز بر مبنای نظریهٔ برابری قدرت خرید(ppp) تعیین میشد و تنها عامل نوسانات نرخ ارز اسمی را قیمت کالاها میدانستند.
اما آنچه بدیهی است این است که عوامل گوناگونی بر نرخ ارز تاثیر میگذارند:
تراز پرداختها
هرگونه تغییر و تحول در تراز پرداختها تاثیر مستقیم روی نرخ ارز میگذارد. دارندگان ارز کشوری که تراز پرداختهایش رو به کاهش است، آن را میفروشند و ارز معتبر دیگری را خریداری میکنند. بنابراین، عرضهٔ این ارز در بازار زیاد میشود و نرخ آن نسبت به ارزهای دیگر کاهش مییابد.
استقراض خارجی
هر اندازه کشوری بیشتر مقروض باشد نیازش به ارز خارجی برای پرداخت اصل و بهرهٔ بدهیها بیشتر است. بنابر این، فشاری که روی ذخایر ارزی آن کشور وارد میشود، روی نرخ ارز آن کشور منتقل شده و آن را ضعیف میکند.
انتظارات برای آینده
ممکن است نرخ ارزها بر اثر پیشبینیهایی که نسبت به وضعیت آنها میشود، تغییر کند. با وجود انتظار نرخ ارز قوی در آینده، صادرات به آن کالا به تاخیر خواهد افتاد تا زمانی که نرخ ارز کاملا قوی شده و در هنگام تبدیل آن به پول کشور خودی با نرخ بهتری روبه روبوده و پول بیشتری دریافت گردد.
تورم
در صورت برابری نرخ تورم در هر دو کشور باید به شاخص قیمتهای خردهفروشی و عمدهفروشی توجه کرد تا وضعیت هر کشور مشخص شود.
سیاستهای اقتصادی
سیاستهایی کهبر نرخ ارز اثر میگذارند عبارتاند از: رشد معقول عرضهٔ پول، سیاستهای مناسب مالی، خصوصیات دیپلماسی خارجی و فعالیتهای نظامی، سرمایهگذاری در مقایسه با میزان نقدینگی.
تغییرات نرخ ارز
تغییرات نرخ ارز رابطه مستقیمی با تورم دارد.
شرایط تضعیف نرخ ارز
نرخ ارز رسمی ممکن است درصورت وجود شرایطی دچار ضعف شود. این عوامل عبارتاند از: ۱- ادامه کسری در موازنه پرداختهای کشور؛ ۲- کاهش در میزان ذخیره طلا و ارزهای خارجی؛ ۳- تورم داخلی؛ ۴- بیاعتمادی به پول داخلی؛ ۵- سیاستهای دولت که به جای مبارزه با علت، با معلول مبارزه میکند؛ ۶- خط مشیهای دولت که سبب تضعیف اقتصاد داخلی میشود؛ ۷- احتمالتضعیف نرخرسمی ارز کشورهایی کهیک اقتصاد به آنها تعهد و وابستگی نزدیک دارد.
رژیم ارزی
در سال ۱۹۴۴م. بر اساس معاهدهٔ «برتن وودز» کشورها ملزم به حفظ ارزش پول در برابر دلار با یک نسبت مشخص طلا شدند که به سیاست نرخ ارز ثابت شهرت داشت اما در سال ۱۹۷۱م. با اعلام عدم تعهد ایالات متحده در حفظ، برابری و تعویض دلار و طلا، کشورها و درصدر آنها ژاپن سیستم نرخ ارز شناور (مبتنی بر عرضه و تقاضا در بازار) را جایگزین نمودند. مهمترین نظام ارزی، نظام ارزی ثابت و نظام ارزی شناور است، البته، نظامهای دیگری نیز به مرور زمان بهوجود آمدهاند و میتوانند استفادهشوند که بسته به شرایط و نیاز کشورها به کار گرفته میشوند.
نرخ ارز ثابت
وضعیتی است که در آن نیروهای بازار کامللا فعال هستند، اما بانک مرکزی بسته به ملاحظات و ضرورتهای موجود، نرخ ارز معینی را به عنوان نرخ ارز هدف تعیین میکند و با مداخله در بازار و از طریق ساز وکار ذخایر خود، از آن نرخ هدف حمایت میکند.
مثلا اگر نرخ ارز تمایل داشته باشد که از نرخ هدف بالاتر رود بانک مرکزی با عرضهٔ دخایر ارزی خود به بازار از افزایش نرخ ارز جلوگیری میکند و همچنین اگر نرخ ارز تمایل داشته باشد از نرخ هدف کاهش یابد بانک مرکزی مذکور با خرید ارز از بازار و افزایش ذخایر خود از این کار جلوگیری میکند.
مزایاو معایب انتخاب نرخ ارز ثابت: انتخاب نظام ارزی ثابت باعث میشود که مردم و بنگاهها بتوانند، مادامی که نرخ ارز ثابت نگهداشتهشدهاست بدون نگرانی درمورد نوسانات نرخ ارز برای آینده برنامه ریزی کنند. در این صورت در سطح خرد ثبات وجود دارد، اما از آن جا که نوسانات ارز به بخش عرضهٔ پول منتقل میشود، ممکن است بیثباتی به بخش کلان اقتصاد منتقل شود.
نرخ ارز شناور
به ترتیباتی از بازار گفته میشود که در آن نرخ ارز بر اساس تعامل نیروهای عرضه و تقاضا ارز بدون مداخلهٔ مقامات پولی و به صورت آزاد تعیین میشود.
مزایا و معایب انتخاب نرخ ارز شناور: انتخاب نظام شناور باعث میشود نرخ ارز متغیر باشد ولی در نهایت ثبات اقتصاد کلان، به معنای ثبات در حجم پول و تثبیت نرخ تورم، در بلند مدت حاصل میگردد.
انواع نامهای ارز
ارز دولتی
ارز رقابتی، ارزی است که از سوی دولت در رقابت با بازار آزاد، عرضه میشود. ارز دولتی، ارزی است که دولت از طریق بانکهای مجاور و به نرخ دولتی فروشد. ارز دانشجویی، ارزی است که دولت برای تامین مخارج دانشجویان خارج از کشور در نظر میگیرد و به دانشجویان برای ادامه تحصیل میدهد. ارز تهاتری، ارزی است که در قرار دادهای پایاپا مبنای محاسبه قرار میگیرد. ارز مبادلهای، ارزی است که در مرکز مبادلات ارزی برای برخی گروه از کالاها جهت واردات در نظر گرفته میشود. ارز یوزانس، ارزی است که پس از دریافت کالا حواله میشود.
ارز شناور
ارز شناور، ارزی است که بهای آن ثابت نیست و بر اساس عرضه و تقاضا تعیین میشود. ارز صادراتی، ارزی است که از راه فروش کالای صادراتی تامین میشود.
در حال حاضر حدود ۶ میلیون کاربر بر روی سیاره زمین از خدمت وبمانی استفاده میکنند و روز به روز امکانات و خدمات وبمانی و همچنین کاربران این پول الکترونیکی رو به افزایش است. مهمترین ویژگی این سامانه پول الکترونیکی برخورداری از امنیت بالا است. بعد از افتتاح حساب وبمانی برای کاربر فایل کلیدی مخصوص حساب ساخته شده، ارایه میگردد که توسط این فایل کلیدی دسترسی به حساب ممکن میشود. همچنین کاربر میتواند در تنظیمات حساب خود، دسترسی به آن را با یک یا چند آیپی محدود نماید تا اینکه از ورود دیگران به حساب خود جلوگیری کند.
برای استفاده از وبمانی ابتدا کاربر باید نرمافزار «نگهدارنده وبمانی» (Webmoney Keeper) را از وبگاه نصب نماید یا به روش برخط وارد حساب خود در وبگاه وبمانی شود. به هر حساب وبمانی، شناسه وبمانی(WMID) تعلق میگیرد. هر کاربر در سامانه پول الکترونیکی وبمانی از گواهینامه الکترونیکی برخوردار میشود. طبق اطلاعات وارد شده در زمان افتتاح حساب، برای کاربران انواع گواهینامه الکترونیکی ارایه میگردد. اگر کاربر مشخصات شخصی وارد ننماید، گواهینامه ناشناس و اگر مشخصات خود را وارد نماید، گواهینامه تشریفاتی تعلق میگیرد. در زمان افتتاح حساب، کاربر میتواند مشخصات خود را وارد نموده و از گواهینامه تشریفاتی برخوردار شود.
هر حساب وبمانی دارای ۱۰ کیف پول مختلف است. هرکدام از این کیفهای پول نشانگر یک واحد ارزی است که به شرح زیر هستند:
WMZ – نشانگر کیف پول دلار ایالات متحده آمریکا (USD)
WME – نشانگر کیف پول یورو اتحادیه اروپا (EUR)
WMR – نشانگر کیف پول روبل کنفدراسیون روسیه (RUB)
WMU – نشانگر کیف پول گریونا اوکراین (UAH)
WMB – نشانگر کیف پول روبل بلاروس (BYR)
WMS – نشانگر کیف پول سوم قرقیزستان (KGS) – منحلشده
WMY – نشانگر کیف پول سوم ازبکستان (UZS) - منحلشده
WMV – نشانگر کیف پول دانگ ویتنام (VND)
WMX – نشانگر کیف پول بیتکوین (BTC)
WMG – نشانگر کیف پول طلا
این کیفهای پول جدا از شناسه وبمانی (WMID) است و برای انجام حواله باید از شماره ارز مشخص استفاده گردد. حوالجات در سیستم پول الکترونیکی وبمانی با هزینه ۰/۸ درصد انجام میشود. این هزینه بر عهده فرستنده است. مثلاً اگر فرستنده بخواهد ۱۰۰۰ دلار وبمانی به حساب گیرنده بریزد، بانک الکترونیکی وبمانی ۸ دلار وبمانی به عنوان کارمزد درنظر میگیرد و بنابراین برای این که ۱۰۰۰ دلار وبمانی کامل به دست گیرنده برسد، فرستنده باید ۱۰۰۸ دلار وبمانی به حساب گیرنده واریز نماید.
نرخ ارز
به پولهای خارجی ارز گفته میشود. به گفته دیگر به واحدهای پولی که در کشورهای دیگر جز کشور اصلی داد و ستد شود به صورت کلی ارز گفته میشود.
یکی ازتفاوتهای بین معاملات مالی در داخل کشور و مبادلات بینالمللی این است که درتجارت داخلی نیاز به پرداخت و دریافت وجوه بر حسب پول رایج ملی است اما در معاملات خارجی معمولا این وجوه به شکل پولهای رایج و معتبر خارجی، پرداخت میشود.
مثلا در ایران برای انجام مبادلات، از ریال استفاده میشود، در آلمان مارک و آمریکا دلار آمریکا، اما وقتی یک ایرانی بخواهد از آمریکا کالایی را تهیه کند باید در ازای آن دلار آمریکا بپردازد، بنابراین باید بر اساس یک رابطهٔ مبادلهٔ تعریف شده (نرخ ارز) ریال بدهد و دلار بگیرد و با آن کالا را بخرد.
تعریف نرخ ارز
منظور از ارز هر وسیلهای است که به صورت اسکناس، حواله یا چک در مبادلات خارجی جهت پرداختها استفاده میشود. و منظور از نرخ ارز خارجی عبارت است از مقداری از واحد پولی ملی که برای بدست آوردن واحدپول کشور دیگر باید پرداخت شود.
همچنین میتوان نرخ ارز را، ارزش برابری یک واحد پول خارجی به پول داخلی دانست. به عبارت دیگر بهای خرید یا فروش یک واحد پول خارجی به پول رایج کشور را نرخ ارز میگویند.
قاعدهٔ قیمتهای یکسان
قیمت یککالای خارجی در داخل کشور، وابسته به قیمت آنکالا در مبدا و همچنین نرخ ارز آنکشور است. طبق اینقاعده اگر هزینههایجنبی مبادله، ناچیز باشد، قیمتیککالا در همه جا با توجه به قیمتارز، یکسان خواهد بود و در شرایط ایده آل قدرت خریدیک ارز در داخل و خارج یکسان خواهد بود.
برابری قدرت خرید
اگر قاعدهٔ قیمت یکسان را به مجموعهای از کالاها یا سبد مصرفی یک جامعه تعمیم دهیم، به قاعدهٔ برابری قدرت خرید میرسیم. با فرض برابری قدرت خرید در مورد همه کالاها و امکان تهیه تمامی آنها از دیگر کشورهای جهان، رابطهٔ نرخ ارز را میتوان به صورت زیر نوشت:
قیمت سبد کالاهای خارجی / قیمت سبد کالاهای داخلی = نرخ ارز
به این معنی که درصد تغییرات نرخ ارز، برابر است با تفاضل تغییرات تورم داخلی و خارجی.
اگر نرخ تورم در داخل و خارج یکسان با شد، نرخ ارز نیز بدون تغییر باقی میماند؛
اما اگر تورم داخلی بیشتر از تورم خارجی شود، در نتیجه انتظار افزایش نرخ ارز نیز وجود دارد؛
و همچنین اگر نرخ تورم داخلی کمتر از تورم خارجی بشود، نرخ ارز کاهش خواهد یافت.
بازار ارز خارجی
ارز خارجی همانند پول ملی یک کالا محسوب میشود، و دارای بازار است که از دو طرف، عرضهو تقاضا تشکیل میشود.[۹]
بازار ارز خارجی عبارت است از چارچوب سازمان یافته و معینی که در آن افراد، موسسات و بانکها به کار خریدو فروشپولهای خارجی یا ارز اشتغال دارند. وظیفهٔ اصلی بازار ارز خارجی عبارت است از انتقال و جوه یا قدرت خرید از یک کشور به کشور دیگر.
وظیفهٔ دیگر بازار ارز تامین اعتبار است که مانند کالا مستلزم انتقال از فروشنده به خریدار است.
به طور کلی چهار نوع معامله در بازارهای ارزی انجام میپذیرد:
۱- معاملات حال(spot)؛
۲- معاملات سلف(forward)؛
۳- معاملات سوآپ (swap)؛
۴- آربیتراژ(arbitrage).
عرضهٔ ارز
همانند هر کالای دیگر عرضهٔ ارز با قیمت آن (نرخ ارز) رابطهٔ مستقیم دارد.
انواع نرخ ارز
نرخ ارز حقیقی
نرخ ارز حقیقی عبارت است از نسبت قیمتهای خارجی به قیمتهای داخلی بر حسب یک پول: {۴}{۲}R=\frac
R=\frac{〖ep〗^f}{p
که P و Pf به ترتیب سطح عمومی قیمتها در داخل و خارج است و e همان نرخ ارز اسمی و ارزش ریالی پول خارجی است.
نرخ ارز مؤثر اسمی
نرخ ارز مؤثر اسمی ارزش پول یک کشور را برحسب یک میانگین وزنی از پول سایر کشورها اندازهگیری میکند که در آن وزنها انعکاس دهندهٔ سهم هر کشور در تجارت بینالمللی این کشور میباشد. به همین دلیل به آن نرخ ارز با وزن تجاری هم میگویند.
نرخ ارز مؤثر حقیقی
نرخ ارز مؤثر حقیقی از تقسیم یک میانگین وزنی از قیمت سبد کالایی در کشورهای طرف تجاری بر حسب پول داخلی نسبت به قیمت آن در کشور به دست میآید.
تعیین نرخ ارز
در مدلهای اولیه نرخ ارز بر مبنای نظریهٔ برابری قدرت خرید(ppp) تعیین میشد و تنها عامل نوسانات نرخ ارز اسمی را قیمت کالاها میدانستند.
اما آنچه بدیهی است این است که عوامل گوناگونی بر نرخ ارز تاثیر میگذارند:
تراز پرداختها
هرگونه تغییر و تحول در تراز پرداختها تاثیر مستقیم روی نرخ ارز میگذارد. دارندگان ارز کشوری که تراز پرداختهایش رو به کاهش است، آن را میفروشند و ارز معتبر دیگری را خریداری میکنند. بنابراین، عرضهٔ این ارز در بازار زیاد میشود و نرخ آن نسبت به ارزهای دیگر کاهش مییابد.
استقراض خارجی
هر اندازه کشوری بیشتر مقروض باشد نیازش به ارز خارجی برای پرداخت اصل و بهرهٔ بدهیها بیشتر است. بنابر این، فشاری که روی ذخایر ارزی آن کشور وارد میشود، روی نرخ ارز آن کشور منتقل شده و آن را ضعیف میکند.
انتظارات برای آینده
ممکن است نرخ ارزها بر اثر پیشبینیهایی که نسبت به وضعیت آنها میشود، تغییر کند. با وجود انتظار نرخ ارز قوی در آینده، صادرات به آن کالا به تاخیر خواهد افتاد تا زمانی که نرخ ارز کاملا قوی شده و در هنگام تبدیل آن به پول کشور خودی با نرخ بهتری روبه روبوده و پول بیشتری دریافت گردد.
تورم
در صورت برابری نرخ تورم در هر دو کشور باید به شاخص قیمتهای خردهفروشی و عمدهفروشی توجه کرد تا وضعیت هر کشور مشخص شود.
سیاستهای اقتصادی
سیاستهایی کهبر نرخ ارز اثر میگذارند عبارتاند از: رشد معقول عرضهٔ پول، سیاستهای مناسب مالی، خصوصیات دیپلماسی خارجی و فعالیتهای نظامی، سرمایهگذاری در مقایسه با میزان نقدینگی.
تغییرات نرخ ارز
تغییرات نرخ ارز رابطه مستقیمی با تورم دارد.
شرایط تضعیف نرخ ارز
نرخ ارز رسمی ممکن است درصورت وجود شرایطی دچار ضعف شود. این عوامل عبارتاند از: ۱- ادامه کسری در موازنه پرداختهای کشور؛ ۲- کاهش در میزان ذخیره طلا و ارزهای خارجی؛ ۳- تورم داخلی؛ ۴- بیاعتمادی به پول داخلی؛ ۵- سیاستهای دولت که به جای مبارزه با علت، با معلول مبارزه میکند؛ ۶- خط مشیهای دولت که سبب تضعیف اقتصاد داخلی میشود؛ ۷- احتمالتضعیف نرخرسمی ارز کشورهایی کهیک اقتصاد به آنها تعهد و وابستگی نزدیک دارد.
رژیم ارزی
در سال ۱۹۴۴م. بر اساس معاهدهٔ «برتن وودز» کشورها ملزم به حفظ ارزش پول در برابر دلار با یک نسبت مشخص طلا شدند که به سیاست نرخ ارز ثابت شهرت داشت اما در سال ۱۹۷۱م. با اعلام عدم تعهد ایالات متحده در حفظ، برابری و تعویض دلار و طلا، کشورها و درصدر آنها ژاپن سیستم نرخ ارز شناور (مبتنی بر عرضه و تقاضا در بازار) را جایگزین نمودند. مهمترین نظام ارزی، نظام ارزی ثابت و نظام ارزی شناور است، البته، نظامهای دیگری نیز به مرور زمان بهوجود آمدهاند و میتوانند استفادهشوند که بسته به شرایط و نیاز کشورها به کار گرفته میشوند.
نرخ ارز ثابت
وضعیتی است که در آن نیروهای بازار کامللا فعال هستند، اما بانک مرکزی بسته به ملاحظات و ضرورتهای موجود، نرخ ارز معینی را به عنوان نرخ ارز هدف تعیین میکند و با مداخله در بازار و از طریق ساز وکار ذخایر خود، از آن نرخ هدف حمایت میکند.
مثلا اگر نرخ ارز تمایل داشته باشد که از نرخ هدف بالاتر رود بانک مرکزی با عرضهٔ دخایر ارزی خود به بازار از افزایش نرخ ارز جلوگیری میکند و همچنین اگر نرخ ارز تمایل داشته باشد از نرخ هدف کاهش یابد بانک مرکزی مذکور با خرید ارز از بازار و افزایش ذخایر خود از این کار جلوگیری میکند.
مزایاو معایب انتخاب نرخ ارز ثابت: انتخاب نظام ارزی ثابت باعث میشود که مردم و بنگاهها بتوانند، مادامی که نرخ ارز ثابت نگهداشتهشدهاست بدون نگرانی درمورد نوسانات نرخ ارز برای آینده برنامه ریزی کنند. در این صورت در سطح خرد ثبات وجود دارد، اما از آن جا که نوسانات ارز به بخش عرضهٔ پول منتقل میشود، ممکن است بیثباتی به بخش کلان اقتصاد منتقل شود.
نرخ ارز شناور
به ترتیباتی از بازار گفته میشود که در آن نرخ ارز بر اساس تعامل نیروهای عرضه و تقاضا ارز بدون مداخلهٔ مقامات پولی و به صورت آزاد تعیین میشود.
مزایا و معایب انتخاب نرخ ارز شناور: انتخاب نظام شناور باعث میشود نرخ ارز متغیر باشد ولی در نهایت ثبات اقتصاد کلان، به معنای ثبات در حجم پول و تثبیت نرخ تورم، در بلند مدت حاصل میگردد.
انواع نامهای ارز
ارز دولتی
ارز رقابتی، ارزی است که از سوی دولت در رقابت با بازار آزاد، عرضه میشود. ارز دولتی، ارزی است که دولت از طریق بانکهای مجاور و به نرخ دولتی فروشد. ارز دانشجویی، ارزی است که دولت برای تامین مخارج دانشجویان خارج از کشور در نظر میگیرد و به دانشجویان برای ادامه تحصیل میدهد. ارز تهاتری، ارزی است که در قرار دادهای پایاپا مبنای محاسبه قرار میگیرد. ارز مبادلهای، ارزی است که در مرکز مبادلات ارزی برای برخی گروه از کالاها جهت واردات در نظر گرفته میشود. ارز یوزانس، ارزی است که پس از دریافت کالا حواله میشود.
ارز شناور
ارز شناور، ارزی است که بهای آن ثابت نیست و بر اساس عرضه و تقاضا تعیین میشود. ارز صادراتی، ارزی است که از راه فروش کالای صادراتی تامین میشود.
ساعت : 6:58 pm | نویسنده : admin
|
مطلب بعدی