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





برنامه‌نویسی غیر ساخت‌یافته
برنامه نویسی غیر ساخت یافته قدیمی ترین پارادایم برنامه‌نویسی است که قادر به نوشتن الگوریتم برنامه ی تورینگ کامل است. این برنامه نویسی بعداً با برنامه نویسی تابعی وسپس برنامه نویسی شی گرا ادامه یافت و هر دو این برنامه ها به عنوان برنامه نویسی ساخت یافته در نظر گرفته شدند. برنامه نویسی ساخت یافته به خاطر تولید کدهایی که به سختی قابل خواندن بودند(اسپاگتی کد) به شدت مورد نکوهش قرار گرفت و گاهی اوقاتیک روش بد برای نوشتن پروژه های بزرگ در نظر گرفته شد.اما این نوع برنامه نویسی برای آزادی که به برنامه نویسان می دهد تحسین شده است و با این مقایسه شده است که موزارت چگونه موسیقی را نوشته است. هر دو زبانهای برنامه نویسی سطح بالا و سطح پایین وجود دارند که به عنوان زبانهای برنامه نویسی غیر ساخت یافته استفاده می شوند.




ویژگی ها ومفاهیم معمولی

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




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





برنامه‌نویسی مفهوم
برنامه نویسی مفهوم یک پارادایم برنامه نویسی است، که برچگونگی ترجمهٔ مفاهیمی که در ذهن برنامه نویس شکل می‌گیرد به آنچه در فضای کد قابل دستیابی است، تمرکز می‌کند. این رویکرد توسط کریستوف دی نچین در سال ۲۰۰۱ با زبان برنامه نویسی XL معرفی شد.




شبه سنجه‌ها

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

اعوجاج نحوی تفاوت میان مفهوم و نحوی که برای نمایش آن به کار گرفته شده است را اندازه‌گیری می‌کند. به عنوان مثال: نقطه ویرگول در انتهای دستورات در زبان C می‌تواند به عنوان اعوجاج نحوی در نظر گرفته شود چون در فضای مفهوم معادلی ندارد.
اعوجاج معنایی فاصلهٔ معنا یا رفتار مورد انتظار از مفهوم با معنا با رفتار واقعی درون کد را اندازه‌گیری می‌کند. به عنوان مثال: این حقیقت که انواع دادهٔ حسابی سرریز می‌کنند (در حالیکه اعداد حسابی ریاضی چنین نیستند.) صورتی از اعوجاج معنایی است.
پهنای باند این را اندازه‌گیری می‌کند که به چه میزان از فضای مفهوم را یک ساختار کد از پیش تعیین شده می‌تواند معرفی نماید. به عنوان مثال: عملگر جمع اضافه بار شده در زبان C پهنای باند بیشتری از دستور جمع در زبان اسمبلی (Add) دارد چون عملگر زبان C می‌تواند عمل جمع را با اعداد ممیز شناور (و نه فقط اعداد حسابی انجام دهد.)
نسبت سیگنال به اعوجاج این را اندازه‌گیری می‍کند که چه کسری از فضای کد در برابر اطلاعات پیاده‌سازی شده برای نمایش مفاهیم واقعی به کار گرفته شده است.





قانون برابری، شکست برابری

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

خطای دامنه وضعیتی است که در آن کد خارج از دامنهٔ برابری اجرا می‌شود، که این دامنه ایست که در آن مفهوم و پیاده‌سازی منطبق می‌شوند سرریز عدد حسابی مثالی از خطای دامنه است.
قالب مفهوم (همچنین قالب بندی دوباره مفهوم یا مفهوم را دوباره قالب بندی کردن) بازنویسی یک مفهوم به صورت مفهومی دیگر است بدین سبب که مفهوم اصلی را نمی‌توان به وسیله ابزارها پیاده‌سازی نمود در زبان C به کار بردن اشاره گرها برای آرگومان‌های خروجی به این دلیل که زبان C از آرگومان‌های خروجی به صورت صریح پشتیبانی نمی‌کند، مثالی از قالب مفهوم است.
وارونگی اولویت صورتی از اعوجاج نحوی یا معنایی است که به وسیله برخی قوانین عمومی دیکته شده از سوی زبان به وجود می‌آید. از این رو وارونگی اولویت نامیده می‌شود که زبان تقدم را بر مفهوم حاکم می‌سازد. در Smalltalk هر چیزی یک شی است و این قانون به این دستاورد ناخواسته منجر می‌شود که عبارتی شبیه به ۲+۳*۵ از توالی مرسوم عملیات پیروی نمی‌کند (در Smalltalk ابتدا ۲ با ۳ جمع شده، حاصل آن در ۵ ضرب می‌شود که در نهایت عدد ۲۵ به جای ۱۷ بدست می‌آید.)




روش شناسی

برای نوشتن کد برنامه نویسی مفهوم این گام‌ها را پیشنهاد می‌دهد:

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

ابزارهای برنامه نویسی بسیاری اغلب فاقد قابلیت‌های نمادی هستند. بنابراین برنامه نویسی مفهوم در برخی موارد نیازمند استفاده از پیش پردازنده‌ها، زبان‌های مختص به دامنه یا روش‌های فرا برنامه نویسی است.




زبان‌ها

زبان برنامه نویسی XL تنها زبان شناخته شده ایست که تا به امروز به طور واضح برای برنامه نویسی مفهوم ایجاد شده است. اما برنامه نویسی مفهوم تقریباً در هر زبانی با درجات متفاوتی از موفقیت قابل اجراست. زبان‌های برنامه نویسی Lisp و Forth و مشتقات آنها نمونه‎هایی از زبان‌های از قبل موجود هستند که به خوبی قابلیت استفاده به عنوان برنامه نویسی مفهوم را دارند.




کارهای مشابه

پروژه‌هایی هستند که از ایده‌های مشابه بهره‌برداری کرده‌اند تا با سطح بالایی از انتزاع کد تولید کنند. دربین آنها این موارد را می‌توان نام برد:

برنامه نویسی هدفی
برنامه نویسی زبان گرا
برنامه نویسی ادیبانه
معماری مدل- محور






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




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



نمونه‌های مهم

برنامه‌نویسی دستوری در تضاد با برنامه‌نویسی تابعی
برنامه‌نویسی رویه‌ای در تضاد با برنامه‌نویسی شئ‌گرا
برنامه‌نویسی منطقی







مدل برنامه‌نویسی موازی

مدل برنامه‌نویسی موازی (به انگلیسی: Parallel programming model) مفهومی است که عبارت‌های برنامه‌های موازی را قادر می‌سازد ترجمه و اجرا شوند. ارزش یک مدل برنامه‌نویسی معمولاً بر اساس فراگیری آن (اینکه چند مسئلۀ متفاوت می‌توانند توسط آن بیان شوند و با چند معماری مختلف می‌توان آن‌ها را اجرا کرد) تعیین می‌شود. ایجاد یک مدل برنامه‌نویسی می‌تواند چندین حالت بگیرد مانند الهام گرفتن کتابخانه‌ها از زبان‌های متوالی قدیمی، ضمیمه‌های زبان و یا مدل‌های اجرایی کاملاً جدید.

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




طبقه‌بندی و الگوهای اصلی

طبقه‌بندی‌های مدل‌های برنامه‌نویسی موازی را می‌توان به دو محدودۀ کلی تقسیم کرد: تعامل فرایند و تجزیۀ مسئله.




تعامل فرایند

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




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

در مدل انتقال پیام، وظایف موازی داده‌ها را به کمک گذر پیام با یکدیگر عوض می‌کنند. این ارتباطات می‌توانند همزمان یا غیرهمزمان باشند. رسمی‌سازی انتقال پیام فرایند ارتباطات متوالی (سی‌اس‌پی) کانال‌های ارتباطی را به خدمت گرفته است تا فرایندها را به یکدیگر "مرتبط" سازد؛ و با این کار باعث ایجاد شدن چندین زبان مهم همچون جویس، اوکام و ارلنگ شد.




موازی‌سازی تلویحی

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




تجزیۀ مسئله

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




موازی‌سازی وظیفه

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




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






مهندسی نرم‌افزار

مهندسی نرم افزار (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرم افزاری با کیفیت که قابل اطمینان و با صرفه بوده و برروی ماشین های واقعی به طور کارآمدی عمل کند.

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

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

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

فناوری‌ها و خدمات مهندسی نرم‌افزار به کاربران برای بهبود بهره‌وری و کیفیت یاری میرساند. نمونه‌هایی از زمینه‌های بهبود: پایگاه داده‌ها، زبان‌ها، کتابخانه‌ها، الگوها، فرآیندها و ابزار.




مهم ترین شاخص مهندسی نرم‌افزار

مهم ترین شاخص در مهندسی نرم افزار تولید نرم افزار با کیفیت مناسب در جهت «نیازهای مشتری» است.




پیشینه مهندسی نرم‌افزار

اصطلاح مهندسی نرم‌افزار پس از سال ۱۹۶۸ میلادی شناخته شد. این اصطلاح طی نشست «مهندسی نرم‌افزار ناتو ۱۹۶۸» (که در گارمیش-پارتنکیرشن، آلمان برگزار شد) توسط ریاست نشست فریدریش ال باوئر معرفی شد و از آن پس به‌طور گسترده مورد استفاده قرار گرفت.

اصطلاح مهندسی‌نرم‌افزار عموماً به معانی مختلفی به‌کار می‌رود:

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

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



مطالعه روش‌های موجود در استاندارد IEEE

محدوده مهندسی نرم‌افزار و تمرکز آن

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

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

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




نیاز به مهندسی نرم‌افزار

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

با توجه به گسترش روزافزون دنیای رایانه امروزه بیش از هر زمان دیگری نیاز به متخصصان رایانه احساس می شود. متاسفانه این رشته در ایران بازار کار خوبی ندارد طبق آمارها ۶۳٫۲۷ درصد از فارغ‌التحصیلان در سال ۹۰ مشغول به کار در سایر مشاغل هستند. اما برای مهندسان سخت افزار هم امكان كار در شركت‌های تولیدكننده قطعات و دستگاه‌ها و مراكز صنعتی – تولیدی بسیار فراهم است و از نظر سطح درآمدی هم با توجه به دانش و پشتكار شخصی در حد متوسط قرار دارند. به طور کلی این رشته در ایران با استقبال چندانی رو به رو نیست؛ این نیز حاکی از نبود برخی از زیرساخت‌ها در ایران هست.




تکنولوژی‌ها و روش‌های عملی

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

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




ماهیت مهندسی نرم‌افزار

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

دیوان فعالیت‌های آماری آمریکا مهندسان نرم‌افزار را به عنوان زیرگروهی از «متخصصان رایانه»، با فرصت‌های شغلی‌ای مانند «دانشمند رایانه»، «برنامه نویس» و «مدیر شبکه» دسته بندی کرده‌است. BLS تمام مهندسان دیگر این شاخه علمی، که شامل مهندسان سخت‌افزار رایانه نیز هست، را به‌عنوان «مهندسان» دسته بندی می‌کند.






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




مهندس دانش کیست؟

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





سیستم‌های مدیریت دانش

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

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




تعریف مدیریت دانش

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




آفرینش و ربایش دانش

سازمان باید به خوبی بتواند دانش مورد نیاز خود را شناسایی کند، در صورت نیازآن را بیافریند، یا اینکه از منابع دانش خارج از سازمان بدست آورد.




ذخیره سازی

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




انتشار و به اشتراک گذاری

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



به کارگیری دانش

پس از انجام گامه های فوق مدیریت دانش در سطح سازمان پیاده سازی می‌شود و مورد استفاده قرار می‌گیرد.




انواع دانش

چهار نوع دانش مشخص شده‌است:

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

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




تبدیل دانش

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

گروه افزار



سامانه های مکان یابی

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

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

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

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

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

ابزارهای پشتیبان نوآوری
نرم‌افزار یادگیری سازمانی

مراحل پیاده سازی نظام مدیریت دانش در سازمان

پیاده سازی یک نظام مدیریت دانش همچون سایر نظام ها و به تناسب موارد خاص آن در شش گامه صورت می‌گیرد:




گام نخست - امکان سنجی طرح

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




مرحله دوم- طراحی خام نظام

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




مرحله سوم- طراحی تفصیلی سیستم

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




مرحله چهارم- پیاده سازی

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




مرحله پنجم- نگهداری

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





مرحله ششم- ارزشیابی سیستم

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




سیستمهای کار- دانش

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




دانشگران

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




وظایف دانشگران

۱)وظیفه به روز رسانی دانش سازمان که در ارتباط با محیط خارج است را به عهده دارند.

۲)این افراد به عنوان مشاورین داخل سازمان به ارائه خدمات می‌پردازند.

۳)در راستای تغییر، ایجاد خلاقیت و ارتقا در داخل سازمان فعالیت می‌کنند.
نیازمندیهای سیستم کار دانش

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

بنابر اعتقاد شیعیانِ دوازده‌امامی، حجت بن حسن فرزند حسن بن علی عسکری (امام یازدهم شیعیان) و دوازدهمین و آخرین امام و همان مهدی موعود است. همچون پیامبر اسلام نامش محمد و کنیه اش ابوالقاسم است. همچنین «امام زمان»، «صاحب الزمان»، «ولی عصر»، «قائم آل محمد» و «مهدی موعود» از القاب اوست.






پس از مرگ حسن عسکری (امام یازدهم شیعیان) در سال ۲۶۰ هجری و سن ۲۸ سالگی، از آنجا که حسن عسکری برخلاف سایر امامان شیعه —که در زمان حیاتشان جانشین بعدی را تعیین کرده بودند— بطور علنی جانشینی برای خود برجای نگذاشته بود، بحران فکری و اعتقادی بزرگی در میان پیروان امام شیعه بوجود آمد. در این دوران که به «سال‌های حیرت» موسوم است، شیعیان به فرقه‌های متعددی منشعب شدند. عده‌ای از شیعیان اعتقاد داشتند که از حسن عسکری فرزندی باقی نمانده‌ است یا این فرزند در گذشته‌است؛ بسیاری از شیعیان امامت جعفر برادر حسن عسکری را پذیرفتند و گروه‌هایی نیز متوجه فرزندان و نوادگان امامان نهم و دهم شیعه شدند. اما اصحابی از حسن عسکری چنین گفتند که «وی پسری داشته که جانشینی مشروع برای امامت است». طبق گفتهٔ عثمان بن سعید، این پسر مخفی نگاه داشته شده بود، چرا که ترس آن می‌رفت که توسط دولت دستگیر شود و به قتل برسد. دیدگاه این گروه که در ابتدا دیدگاه اقلیت شیعه بود، به‌مرور به دیدگاه تمامی شیعیان امامی تبدیل شد که شیعیان دوازده امامی فعلی‌اند.

از دیدگاه تاریخی، باور به دوازده امام و اینکه امام دوازدهم همان مهدی موعود است بطور تدریجی در میان شیعیان تکامل یافت. به نظر می‌رسد مدتی طول کشید تا این نظریه به صورتبندی نهایی خود برسد و پس از آن هم توجیه ها و تبیین های دینی گسترده‌ای در موردش ارائه شد. شیعیان با دو رویکرد حدیثی و کلامی به تبیین نظریهٔ غیبت برخاستند. کلینی (و. ۳۲۹ ه.ق. / ۹۴۱ م.) در احادیث باب غیبت کتاب اصول کافی —که در خلال دوره سفرا (موسوم به غیبت صغری) گرد آورد— به موضوع غیبت و علت آن پرداخت. به‌خصوص نعمانی در کتاب الغیبه به تبیین نظریه غیبت از طریق احادیث پرداخت و او برای نخستین بار اصطلاحات «غیبت صغری» و «غیبت کبری» را به کار برد. پس از وی ابن بابویه (و.۹۹۱-۹۹۲) در کتاب کمال الدین در خصوص گردآوری احادیث مربوط به امام دوازدهم و غیبت وی کوشید. از دیگر سو، متخصصان علم کلام از جمله شیخ مفید (و. ۴۱۳ ه.ق. / ۱۰۲۳ م.) و شاگردانش بخصوص سید مرتضی (۱۰۴۴-۱۰۴۵) به تدوین نظریات کلامی امامت جهت تبیین ضرورت وجود امام زنده در شرایط غیبت پرداختند.

در باور کنونی شیعه دوازده امامی، حجت بن حسن در نیمهٔ شعبان سال ۲۵۵ یا ۲۵۶ ه.ق. در سامرا به دنیا آمد؛ او در پنج سالگی و پس از مرگ پدرش به امامت رسید. پس از مرگ حسن عسکری، مهدی تنها از طریق چهار سفیر یا نائب با شیعیان تماس می‌گرفت. البته بررسی‌های تاریخی نشان می‌دهد که از آغاز تعداد وکلا محدود به چهار تن نبوده و اصطلاح نیابتِ خاص در قرن‌های چهارم و پنجم هجری توسط علمای شیعه مانند شیخ طوسی و برای تبیین غیبت صغری ایجاد شده‌است. پس از یک دوره هفتاد ساله (موسوم به غیبت صغری) و با مرگ علی بن محمد سمری، چهارمین نائب امام دوازدهم شیعه، بار دیگر حیرت شیعیان را فراگرفت. آنها در نهایت در سده پنجم به تبیینی عقلی در کلام شیعه از غیبت امام دست یافتند. به باور شیعیان، پس از دوران سفرا، شیعیان با مهدی در ارتباط نیستند و این دوران را اصطلاحاً غیبت کبری می‌نامند. پس از پایان دورهٔ غیبت، وی با عنوان مهدی قیام خواهد کرد و او کسی خواهد بود که از طریق وی حق و عدالت بار دیگر به پیروزی خواهد رسید.

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




منبع‌شناسی

به نوشته جاسم حسین احادیث مربوط به غیبت مهدی قائم را بسیاری از گروه های شیعه گردآوری کرده اند. پیش از سال ۲۶۰ ه./۸۷۴ م. در آثار سه مذهب واقفیه، زیدیه جارودیه و امامیه موجود است. از واقفیه، انماطی ابراهیم بن صالح کوفی از اصحاب امام محمد باقر کتابی به نام «الغیبه» نوشت. علی بن حسین طائی طاطاری و حسن بن محمد بن سماعه هر یک کتابی به نام «کتاب الغیبه» نوشتند و امام موسی کاظم را به عنوان امام غائب معرفی کردند. از زیدیه ابوسعید عباد بن یعقوب رواجینی عصفری (و. ۲۵۰ ه./۸۶۴ م.) در کتابی به نام «ابوسعید عصفری» احادیثی در خصوص غیبت، ائمه دوازده گانه و ختم ائمه به دوازده می آورد بی آنکه نام آنها را برشمرد. از امامیه علی بن مهزیار اهوازی (وکیل امام نهم و دهم) (وفات حدود ۲۵۰ تا ۲۶۰ ق.)، دو کتاب به نام های «کتاب الملاحم» و «کتاب القائم» نوشت که هر دو درباره غیبت امام و قیام او با شمشیر مطالبی دارد. حسن بن محبوب سراد (م. ۲۲۴ ه./ ۸۳۸ م.) کتاب «المشیخه» را در موضوع غیبت می نویسد. فضل بن شاذان نیسابوری (۲۶۰ ه./ ۸۷۳ م.) کتاب «الغیبه» را نوشت که ظاهراً مطالب آن از کتاب «المشیخه» نقل شده است. وی که دو ماه پیش از امام یازدهم می میرد، امام دوازدهم را قائم می داند. به نوشته پوناوالا منابع پیش از دوران موسوم به غیبت کبری بسیار پراکنده و ناکافی‌اند و مشکلی که پژوهشگران در هنگام بررسی این منابع با آن مواجه می‌شوند، میزان تاریخی بودن این منابع است.

در خلال دوره سفارت موسوم به غیبت صغری (۲۶۰-۳۲۹ ه./۸۷۴-۹۴۱ م.) فقها و مبلغان بر اساس اطلاعات کتب پیشین و فعالیت های سازمان وکالت نوشته اند که در کتب تاریخی این دوره یافت نمی‌شود. ابراهیم بن اسحاق نهاوندی (م. ۲۸۶ ه./۸۹۹ م.) که مدعی نیابت امام دوازدهم بود کتابی در موضوع غیبت نوشت. عبدالله بن جعفر حمیری(م. بعد از ۲۹۳ ه./ ۹۰۵ م.) که خود کارگزار امامان دهم و یازدهم و نواب اول و دوم بود کتاب «الغیبه و الحیره» را نوشت. ابن بابویه (پدر شیخ صدوق) (م. ۳۲۹ ه. / ۹۴۰ م.) کتاب «الامامه و التبصره من الحیره» و کلینی (م. ۳۲۹ ه. / ۹۴۰ م.) بخش عمده ای از کتاب حجت اصول کافی را به غیبت اختصاص داد.

از سال (۳۲۹ ه./۹۴۱ م.) با پایان سفارت و آغاز دوره موسوم به غیبت کبری چندین اثر برای تبیین غیبت و علت طولانی شدن ان نگاشته شد. به گفته جاسم حسین پنج اثر در این زمان نگاشته شد که اساس عقاید بعدی امامیه درباره غیبت را تشکیل می دهد. نخستین کتاب الغیبه نعمانی توسط ابوعبدالله محمد بن جعفر نعمانی (م.۳۶۰ ق.) با استفاده از آثار فوق‌الذکر بدون توجه به اعتقادات نویسندگان آن آثار تدوین شده است. دومین اثر کمال‌الدین و تمام‌النعمة است که توسط شیخ صدوق (۳۰۶ تا ۳۸۱ ه.ق./ ۹۲۳ تا ۹۹۱ م.) بر اساس اصول اربعمائه گردآوری شده است و با توجه به جایگاه پدرش، علی بن بابویه، اطلاعات معتبری از دوران وکلا و ارتباط مخفی آنها با امام غایب از طریق چهار سفیر ارائه می دهد. سومین مورد «الفصول العشرة فی الغیبة» توسط شیخ مفید (و. ۴۱۳ ه.ق. / ۱۰۲۲ م.) نوشته شد و اطلاعات تاریخی در مورد دوران غیبت و پانزده دیدگاه پدیدار شده در میان امامیه در دوران غیبت و از میان رفتن همه آنها جز اثنی عشریه بیان می کند. همچنین در کتاب الارشاد به سبک کلینی و نعمانی به نقل احادیث و توجیه طولانی شدن عمر امام غایب می پردازد. چهارمین اثر توسط سید مرتضی (۳۵۵ - ۴۳۶ ه.ق /۱۰۴۴-۱۰۴۵ م.) شاگرد شیخ مفید با عنوان «مسئلة وجیزة فی الغیبة» نوشت. این اثر و کتاب دیگری با نام «البرهان علی صحة طول عمر الامام الزمان» تألیف محمد بن علی کراجکی (م. ۴۴۹ ق./ ۱۰۵۷ م.) فاقد اطلاعات تاریخی هستند. پنجمین اثر الغیبة نوشته شیخ طوسی (۳۸۵-۴۶۰ ق. / ۱۰۶۷ م.) بر مبنای کتابی به نام «الاخبار الوکالة الاربعة» نوشته احمد بن نوح بصری اطلاعات تاریخی معتبری از فعالیت های مخفی سفرا ارائه می دهد و نیز به شیوه حدیثی و عقلی اثبات می کند امام دوازدهم همان مهدی قائم است که باید در غیبت به سر برد و سایر ادعاها در خصوص غیبت دیگر افراد نظیر علی بن ابیطالب، محمد بن حنفیه و موسی کاظم مردود است. این کتاب مأخذ اصلی نویسندگان بعدی شیعه امامی و بخصوص بحار الانوار محمدباقر مجلسی (۱۰۳۷-۱۱۱۰ ق.) بوده است.

به نوشته جاسم حسین منابع غیرشیعه بر کتاب «المسترشد» اثر ابوالقاسم بلخی معتزلی (م. حدود ۳۰۱ ق./ ۹۱۳ م.) اتکا دارد که معتقد است حسن عسکری بی وارث از دنیا رفت و ظاهراً اطلاعات خود در خصوص دسته بندی شیعه پس از سال ۲۶۰ را از حسن بن موسی نوبختی (و. حدود ۳۰۰ ه.ق.) گرفته است. این کتاب مبنای اطلاعات المغنی عبدالجبار معتزلی (م. ۴۱۵ ق. / ۱۰۲۴ م.) و ابوالحسن اشعری (م. ۳۲۴ ق./ ۹۳۵ م.) قرار گرفت و کتاب اشعری مرجع سایر کتاب های اهل سنت نظیر ابن حزم (م. ۴۵۶ ق. / ۱۰۳۷ م.) و شهرستانی (م. ۵۴۸ ق. / ۱۱۵۳ م.) درباره دسته بندی های شیعه بوده است.

بیان موضوع در منابع تاریخ عمومی مسلمانان متفاوت است. محمد بن جریر طبری (۲۲۴ - ۳۱۰ ق./ ۹۲۲ م.) که معاصر دوران غیبت بود در تاریخ طبری اشاره ای به موضوع امام دوازدهم و فعالیت های شیعیان امامی نمی‌کند در حالی که به فعالیت های سایر گروه های شیعه نظیر اسماعیلیه می پردازد و حتی کاربرد حدیث مهدی قائم توسط این گروه ها در کسب قدرت را پی می گیرد. جاسم حسین علت ذکر نشدن فعالیت های امامیه در این کتاب را مخفیانه بودن آن می داند. مسعودی (حدود ۲۸۳ – ۳۴۶ ق. / ۸۹۶ - ۹۵۷ م.) در مروج‌الذهب، التنبیه و الاشراف و نیز اثبات و الوصیه که به وی منسوب است به فشارها و سخت گیری های عباسیان علیه امامان شیعه که منجر به وقوع غیبت شد می پردازد. ابن اثیر (۵۵۵ - ۶۳۰ه ق / ۱۲۳۲ م.) در الکامل فی التاریخ به اختلافات میان وکلای امام در دوران غیبت و تأثیر غلو در بروز آن می پردازد. به عقیده جاسم حسین ممکن است وی اطلاعات خود را از کتاب «تاریخ الامامیه» اثر یحیی بن ابی طی (م ۶۳۰ ق. / م.۱۲۳۲) گرفته باشد.

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




پیشینه اعتقاد شیعه به مهدی و قائم

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

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

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

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

اما به نوشته جاسم حسین منشأ دیدگاه مهدی به عنوان منجی در احادیث پیامبر بوده است که توسط بیست و شش نفر از صحابه و در کتاب های حدیث اهل سنت، زیدیه و امامیه نقل شده است. وی ضعیف بودن احادیث را رد می کند و می گوید این احادیث در زمان امویان نیز رواج داشته و در کتاب سلیم بن قیس منسوب به سلیم بن قیس هلالی (م. حدود 80-90 ق./ 699- 708 م.) هم آورده شده است. از سوی دیگر مورخان و متکلمان شیعه نظیر سید مرتضی عسکری و محمدحسین طباطبایی با تأکید بر اشتراک ادیان مختلف در خصوص کلیت موضوع نوید به آمدن مهدی و برپایی دین و برقراری عدل در زمین، این موضوع را از مشترکات ادیان الهی و ناشی از منشأ فطری ادیان می دانند. این گروه نخستین اشاره به مهدی را در احادیث پیامبر اسلام که از طرق شیعه و سنی روایت شده ذکر می کنند برمی شمارند و وجود وی را از ضروریات تحقق وعده های اسلام و قرآن در برپایی عدل و قسط در زمین می دانند.





شرایط محیطی امامیه در سده های سوم و چهارم

شرایط محیطی در دوران آخرین امامان شیعه

از زمان حکومت متوکل عباسی (۲۳۲- ۲۴۷ ه. ق. / ۸۴۷ - ۸۶۱ م.) سیاست مدارای مأمون (۱۹۸- ۲۱۸ ه. ق. / ۸۱۳ - ۸۳۳ م.) و خلفای پس از وی با شیعیان یکباره به کنار گذشته شد. در دوران متوکل به دستور او حرم حسین بن علی تخریب شد و امام دهم شیعه، هادی، از مدینه به سامرا فراخوانده شد تا تحت نظارت خلیفه باشد. متوکل از هیچ وسیله ممکن در آزار رساندن و بی احترامی به وی دریغ نمی‌کرد. گزارش‌ها حاکی از آن است که فشار شدیدی بر امامان در سامرا می‌آمد و شیعیان در عراق و حجاز در شرایط اسف باری زندگی می‌کردند. منتصر، پسر و جانشین متوکل این سیاست‌ها را برداشت و در نتیجه امام هادی آزادی بیشتری پیدا کرد. سیاست‌های متوکل در زمان مستعین (۸۶۲ - ۸۶۶ م.) هم ادامه یافت. احتمالاً در این زمان بود که امام دهم شیعه عثمان بن سعید را به نمایندگی خود در عراق برگزید (که البته این نمایندگی در زمان امام یازدهم حسن عسکری نیز تایید شد).در دوران آخرین امامان شیعه، شبکه‌ای از وکلا شکل گرفته بود؛ البته این شبکه بیشتر از آنکه به مانند سایر شبکه‌های علوی آن زمان (اسماعیلیه، زیدیه، نوادگان حسن بن علی) به قصد برپایی قیام تشکیل شده باشد، کار گردآوری وجوهات دینی مانند خمس و زکات را انجام می‌داد. شرایط سیاسی و مذهبی سال‌های آخر امامت حسن عسکری و نخستین دهه‌های پس از مرگ او —همزمان با خلافت معتمد عباسی (۲۵۶ -۲۷۹ ه. ق. /۸۷۶-۸۹۲ م.)— بسیار پرچالش بود. این دوران به جهت سیاسی، مصادف بود با عصر ضعف خلافت عباسیان؛ بدین صورت آنان از اعمال مؤثر حاکمیت خود جز در بخش محدودی از سرزمین عراق ناتوان بودند. در این دوره، افراد مختلف در جای‌جای قلمرو عباسیان قیام کرده‌بودند و سرزمین مسلمانان دچار تجزیه سیاسی شده‌بود. معتمد عباسی، حسن عسکری را —که رقیبی بالقوه برای خلافت به شمار می‌رفت— در سامرا تحت نظارت و مراقبت قرار داده و او را حتی از ملاقات با پیروانش نیز بازداشته بود.



شرایط محیطی در سال‌های آغازین غیبت کبری

سال‌های آغازین موسوم به غیبت کبری، همزمان با دورانی بود که به «قرن شیعه» معروف است. در سال ۳۳۴ ه. ق. /۹۴۵ م. بنی‌عباس تحت سلطهٔ حکومت شیعهٔ آل‌بویه درآمد؛ آل بویه با اینکه احتمالاً در آغاز زیدی بودند، هنگامی که به حکومت رسیدند به شیعهٔ دوازده امامی گرایش یافتند؛ آل‌بویه چون از نسل پیامبر مسلمانان نبودند باید امامی زیدی از نسل پیامبر را برای اطاعت کامل از او به امامت می‌رساندند. بنابراین احتمالاً به همین دلیل بود آنان پس از رسیدن به حکومت، به شیعه دوازده امامی متمایل شدند و ایدهٔ یک امام غائب از نظر سیاسی برای بوییان مطلوبتر بود.همزمان با آل‌بویه، حکمرانان شیعه فاطمی در مصر و شمال آفریقا، خاندان بنی حمدان در شمال عراق و سوریه و ادریسیان بر بخش‌هایی از شمال آفریقا حکمرانی می‌کردند.

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





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




فرقه های امامیه در دوران حیرت

با درگذشت حسن عسکری(و. ۲۶۰ ه.ق. /۸۷۴ م.)، امام یازدهم شیعه، سردرگمی بزرگی برای نیم قرن در بین شیعیان پدید آمد که نویسندگان شیعه از آن تحت عنوان «دوران حیرت» نام می‌برند. در این دوران، انشقاق در بین شیعیان شدت یافت و جنبش‌های رقیب مانند اسماعیلیه نیز استفادهٔ کافی از این موقعیت نمودند. تبلیغات در این دوران به حدی بود که بسیاری از شیعیان و بسیاری از بزرگان شیعهٔ امامی، مذهب خود را ترک نمودند. شیعه امامی به فرق متعدد منشعب شد. مسعودی (و. ۳۴۶ ه.ق. /۹۵۷ م.) در کتاب مروج‌الذهب تعداد این فرقه‌ها را بیست فرقه شمرده‌است و حسن ابن موسی نوبختی (و. حدود ۳۰۰ ه.ق.) در کتاب فرق الشیعه، از چهارده فرقه با ذکر جزئیات اعتقادی آنها نام می‌برد.

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

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

واقفیه بر حسن عسکری: کسانی که مرگ حسن عسکری را باور نداشته و او را به عنوان «مهدی آل محمد» زنده می‌پنداشتند و به نام «واقفیه»، یعنی کسانی که بر امامت حسن عسکری توقف کرده‌اند، شناخته می‌شدند.
جعفریه: کسانی که پس از مرگ حسن عسکری، به برادر او جعفر بن علی الهادی ( ۲۲۶ تا ۲۷۱ ق.) گرویده و به دلیل آنکه فرزند حسن عسکری را ندیده بودند، به امامت جعفر گردن نهادند که دسته ای از آنان وی را جانشین امام دهم شیعه (هادی) و دسته ای دیگر او را به عنوان امام دوازدهم می شناختند. به این گروه «جعفریه» می‌گفتند.
محمدیه: عده ای که پس از انکار امامت حسن عسکری، به امامت اولین فرزند هادی محمد (حدود ۲۲۸ تا ۲۵۲ ق.) که در زمان حیات پدرش درگذشته بود، گرویدند. به اینان «محمدیه» گفتند.
ختم امامت: شمار دیگری بر این باور بودند که همان‌گونه که پس از محمد (پیامبر مسلمانان) دیگر پیامبری نخواهد آمد، پس از مرگ حسن عسکری نیز امامی وجود نخواهد داشت.
قطعیه: این گروه که خود چندین شاخه بودند، به امامت فرزندی که خود برای حسن عسکری قائل بودند اعتقاد داشتند. این جریانی همان جریانی بود که به تدریج به شیعه دوازده امامی فعلی تبدیل گشت.

دوره‌ای که باعث ایجاد این ابهام شد، در دوران خلافت معتمد عباسی (خلافت: ۲۵۶ تا ۲۷۹ ق. / ۸۷۰ تا ۸۹۲ م) شروع شد و تا زمان خلیفه عباسی مقتدر (خلافت: ۲۹۵ تا ۳۲۰ ق. / ۹۰۸ تا ۹۳۲ م) ادامه یافت.
ساعت : 3:20 am | نویسنده : admin | مطلب بعدی
ظهور | next page | next page