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





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




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

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




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





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




شبه سنجه‌ها

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

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





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

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

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




روش شناسی

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

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

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




زبان‌ها

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




کارهای مشابه

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

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






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




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



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

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







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

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

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




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

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




تعامل فرایند

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




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

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




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

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




تجزیۀ مسئله

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




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

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




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






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

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

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

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

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

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




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

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




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

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

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

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

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



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

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

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

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

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




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

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

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




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

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

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




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

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

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






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




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

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





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

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

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




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

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




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

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




ذخیره سازی

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




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

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



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

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




انواع دانش

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

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

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




تبدیل دانش

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

گروه افزار



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

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

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

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

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

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

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

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

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




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

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




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

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




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

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




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

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




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

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





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

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




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

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




دانشگران

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




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

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

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

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

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


سالهای امامت

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





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

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




اختلاف بین جعفر و مادر حسن عسکری

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

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





فرزند غایب

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

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




تاریخچه اعتقاد به امام دوازدهم و غیبت

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

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

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

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

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






دوران امامت و غیبت

دوره سفرا یا غیبت صغری

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

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

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

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

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

ورنا کِلِمْ در دانشنامه ایرانیکا، چنین می‌نویسد که احتمالاً گسترش ایدهٔ نایبان چهارگانه توسط خاندان نوبختی در میان شیعیان انجام شده باشد. اطلاعات موجود در مورد دو نائب اول چنین می‌نمایاند که این دو پس از مرگشان به عنوان نائب خاص امام زمان شناخته شدند؛ زیرا نیابت باید از زمان مرگ حسن عسکری شروع می‌شد. در سطح شخصی باید گفت دو فامیل عمری و نوبختی با هم خویشاوند بودند. دختر ابن عمری، ام کلثوم با یکی از نوبختی‌ها ازدواج کرد و منشی حسین بن روح بود. لازم به ذکر است که به گفتهٔ ورنا کلم، نوهٔ ام کلثوم(ابن برنیه)، منبع اصلی کتاب‌های شیخ طوسی بود که برای اولین بار وجود چهار نائب خاص امام زمان را مطرح نمودند.




نواب اربعه

۱) ابو عمرو عثمان بن سعید عَمری

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


۲) ابو جعفر محمد بن عثمان بن سعید

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


۳) ابوالقاسم حسین بن روح نوبختی

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


۴) ابوالحسن علی بن محمد سمری (و. ۳۲۹ ه.ق. / ۹۴۱ م.)

از دیدگاه تاریخی، تنها در زمان خاندان نوبختی بود که نواب مورد پذیرش عموم شیعه بودند و کنترل شیعیان را در دست داشتند. در زمان علی بن محمد، این کنترل دوباره از بین رفت و مورد پذیرش عموم شیعیان نبود. با مرگ سمری در سال ۳۲۹ دوران موسوم به غیبت کبری شروع شد.
ساعت : 10:38 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
ظهور | next page | next page