مقایسه با متدهای دیگر

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





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

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

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

متدهای چابک که از دهه‌ی 90-1980 توسط James Martin و دیگران حمایت شدند، اشتراکات زیادی با «توسعه‌ی سریع اپلیکیشن‌ها» دارند. علاوه بر متدهای مبتنی بر تکنولوژی، متدهای مشتری‌محور و طراحی‌محور (مانند نمونه‌سازی سریع تجسم‌محور که توسط Brian Willison توسعه یافت)، مشتریان و کاربران نهایی را به تسهیل توسعه‌ی چابک نرم‌افزار تشویق می‌کنند.

در سال 2008 مؤسسه‌ی مهندسی نرم‌افزار (SEI) گزارش فنی «CMMI یا چابک: چرا هر دو نه؟» را برای روشن کردن اینکه مدل یکپارچه‌ی قابلیت بلوغ (CMMI) و مدل چابک هر دو می‌توانند وجود داشته باشند، منتشر کرد. CMMI ورژن 1.3 شامل تیپ‌هایی برای پیاده‌سازی چابک و CMMI است.

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






متدهای چابک

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

مدل‌سازی چابک
فرایند یکپارچه‌ی چابک (AUP)
Crystal Clear
متدهای Crystal
متدهای توسعه‌ی سیستم‌های دینامیک (DSDM)
برنامه‌نویسی اکستریم (XP)
توسعه‌ی ویژگی‌محور (FDD)
طراحی گرافیکی سیستم (GSD)
توسعه Kanban
توسعه Lean
Scrum
ردیابی سرعت







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

در ، اصطلاحات متفاوتی به مفهوم متد انطباقی برمی‌گردد، شامل «سازمان‌دهی متد»، «تطابق قطعات متد» و «مهندسی موقعیتی متد». مناسب‌سازی متد به صورت زیر تعریف می‌شود:

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

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

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

برنامه‌نویسی Extreme (XP) نیاز به انطباق متد را شفاف می‌کند. یکی از ایده‌های بنیادین XP این است که هیچ فرایندی برای تمام پروژه‌ها مناسب نیست، اما ترجیحاً روش‌ها باید برای هر پروژه‌ی منحصربه‌فرد سازمان‌دهی مناسب‌سازی شوند. انطباق جزئی روش‌های XP، که توسط Beck طرح شد، در موارد مختلفی گزارش شده است.

یک روش سازمان‌دهی پیشنهاد می‌کند که یک نقشه‌ی راه و راهنماهای مناسب برای انطباق با تمام روش‌ها ارائه می‌دهد. روش RDP برای سفارشی‌سازی XP طراحی شده است. این روش، برای اولین بار در کارگاه APSO در کنفرانس ICSE 2008، به عنوان یک مقاله‌ی تحقیقاتی طولانی طرح شد، و اکنون نیز تنها متد طراحی‌شده و قابل‌اجرا برای سفارشی‌سازی XP است. اگرچه این روش به طور خاص راه‌حلی برای XP است، اما قابلیت توسعه برای سایر متدولوژی‌ها را دارد.

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






چرخه‌ی عمر توسعه‌ی نرم‌افزار

متدهای چابک بر جنبه‌های متفاوتی از چرخه‌ی عمر توسعه‌ی نرم‌افزار تمرکز دارند. بعضی از آنها بر روش‌ها (برنامه‌نویسی extreme، برنامه‌نویسی فعال مدل‌سازی چابک) تمرکز دارند، در حالی که بعضی دیگر بر مدیریت پروژه‌های نرم‌افزاری تأکید دارند (مانند رویکرد scrum). هنوز، رویکردهایی وجود دارند که تمام چرخه‌ی عمر توسعه را پوشش می‌دهند (متدهای توسعه‌ی سیستم دینامیک (DSDM) و Rational Unified Process (RUP))، در حالی که بیشتر آنها از فاز تعیین نیازمندی‌ها مناسب هستند (مثلاً ویژگی‌محور در توسعه یا FDD). بنابراین، یک تفاوت آشکار بین متدهای گوناگون توسعه‌ی چابک نرم‌افزار در این مورد است. اگرچه DSDM و RUP نیازی به رویکردهای مکمل برای پشتیبانی از توسعه‌ی نرم‌افزار ندارند، بقیه‌ی آنها با درجات متفاوت این نیاز را دارند. DSDM می‌تواند توسط هر کسی به کار رود (علیرغم اینکه فقط اعضای DSDM می‌توانند محصولات یا خدمات DSDM را عرضه کنند). RUP یک محیط توسعه تجاری فروشی است (Abrahamsson، Salo، Rankainen & Warsta، 2002).






اندازه‌گیری میزان چابکی

اگرچه چابکی به عنوان ابزاری برای پایان دیده می‌شود، تعدادی رویکرد پیشنهاد شده‌اند که کیفیت چابکی را تعیین می‌کنند. اندازه‌گیری شاخص‌های چابکی (AIM) پروژه‌ها را برای کسب یک امتیاز کل، در مقابل تعدادی از فاکتورهای چابکی امتیازدهی می‌کنند. نام مشابه «شاخص اندازه‌گیری چابکی»، توسعه‌ها را در برابر 5 بعد یک پروژه‌ی نرم‌افزاری (مدت‌زمان، ریسک، تازگی، تلاش و تعامل) امتیازدهی می‌کند. تکنیک‌های دیگر مبتنی بر اهداف قابل‌اندازه‌گیری هستند.

مطالعه‌ی دیگری با استفاده از ریاضیات فازی (fuzzy)، می‌گوید سرعت پروژه می‌تواند یکی از استانداردهای چابکی باشد. خودارزیابی‌هایی در چابکی وجود دارد که تعیین می‌کند آیا یک تیم از روش‌های چابک استفاده می‌کند یا خیر (آزمون Nokia، آزمون Karlskrona، 42 آزمون نکته‌ای).

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

«این ممکن است یک دلیل بی‌میلی برای انشتار مقالات در مورد پروژه‌های ناموفق باشد، یا ممکن است نشان‌دهنده‌ی آن باشد که وقتی متدهای چابک کار می‌کنند که پیاده‌سازی درست انجام شود.». اگرچه، داده‌هایی از ROI توسعه‌ی چابک نرم‌افزار از CSIAC ROI Dashboard در دسترس است.).






آزمودگی و پذیرش

یکی از مطالعات اخیر که دستاوردهای کیفیت، بهره‌وری و رضایت کسب‌وکار با استفاده از متدهای چابک را گزارش می‌دهد، یک بررسی بود که توسط Shine Technologies از نوامبر 2002 تا ژانویه‌ی 2003 انجام شد.

یک بررسی مشابه در سال 2006 توسط Scott Ambler (رهبر تمرین توسعه‌ی چابک با گروه متدهای عقلانی IBM) انجام شد که همین فواید را بیان کرد. در بررسی انجام‌شده توسط VersionOne (یک تهیه‌کننده‌ی نرم‌افزار برای برنامه‌ریزی و پیگیری پروژه‌های توسعه‌ی چابک نرم‌افزار) در سال 2008، 55 درصد پاسخ‌دهندگان گفتند متدهای چابک در 90 تا 100 درصد موارد موفق بوده‌اند.

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






سازگاری

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

تلاش‌های توسعه در مقیاس وسیع (>20 توسعه‌گر)، اگرچه استراتژی‌های مقیاس‌گذاری و مدارک بعضی پروژه‌های بزرگ توضیح داده شده است؛
تلاش‌های توسعه‌ی توزیع‌شده (تیم‌های غیرهم‌مکان). استراتژی‌ها در «پل‌بندی و فاصله» و «استفاده از فرایند چابک نرم‌افزار با توسعه‌ی دور دورکاری» توضیح داده شده است؛
تحمیل یک فرایند چابک به یک تیم توسعه؛ سیستم‌های مأموریت بحرانی که در آنها شکست، به هر قیمتی یک گزینه نیست (مثل نرم‌افزار کنترل ترافیک هوایی).

اخیراً موفقیت‌ها، چالش‌ها و محدودیت‌هایی که در انطباق با متدهای چابک در یک سازمان بزرگ مشاهده می‌شوند، مستندسازی شده‌اند. در شرایط برون‌سپاری توسعه‌ی چابک، Michael Hckett، معاون رئیس شرکت LogiGear گفته‌است «یک تیم دورکار... باید این موارد را داشته باشد: تخصص، تجربه، مهارت‌های ارتباطی خوب، تفاهم بین فرهنگ‌ها، اعتماد و تفاهم بین اعضا، گروه‌ها و با یکدیگر.». متدهای چابک به طور گسترده برای توسعه‌ی محصولات نرم‌افزاری به کار رفته‌اند، بعضی از آنها نیز از خصوصیات مشخصی از نرم‌افزار، مانند فناوری‌های موضوع استفاده می‌کنند. اگرچه این فناوری‌ها می‌توانند برای محصولات غیر نرم‌افزاری (مانند کامپیوترها، وسایل نقلیه‌ی موتوری، وسایل پزشکی، خوراک و پوشاک) نیز به کار گرفته شوند. همچنین تحلیل ریسک می‌تواند برای انتخاب بین متدهای انطباقی (چابک یا ارزش‌محور) و پیشگویانه (برنامه‌محور) استفاده شود. Barry Boehm و Richard Turner می‌گویند که هر سوی این زنجیره پایه‌ی اصلی (home ground) خاص خود را دارد






نقد

ممکن است متدولوژی‌های چابک در سازمان‌های بزرگ و انواع خاصی از پروژه‌ها ناکارآمد باشند.

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







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

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

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







افزونه نرم‌افزاری

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

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






افزونه و افزایه

افزونه‌ها کمی با افزایه‌ها (به انگلیسی: Plug-in) متفاوتند. بر خلاف افزایه‌ها که معمولاً از واسط کاربری برنامه کاربردی استفاده می‌کنند و چارچوبی معین برای عملکردهایشان دارند، اما افزونه‌ها معمولاً محدودیت کمتری داشته و بعضاً واسط کاربری مربوط به خود را دارند. و همینطور افزایه‌ها دارای قابلیت‌های محدودتری هستند.








ماشین مجازی

در علم کامپیوتر ماشین مجازی (به انگلیسی: Virtual machine) نرم‌افزاری است که بر روی یک کامپیوتر پیاده‌سازی می‌شود. این پیاده‌سازی به‌گونه‌ای است که تصور می‌شود یک کامپیوتر واقعی در حال اجرای برنامه‌های ماست.






تعاریف

یک ماشین مجازی، در ابتدا توسط Popek and Goldberg به صورت "یک نسخه کپی شده از روی یک ماشین واقعی، به صورت کارا و ایزوله شده" تعریف شد. استفاده‌های کنونی، ماشین‌های مجازی‌ای را شامل می‌شود که هیچ ارتباط با سخت‌افزار واقعی ندارند.

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

مثال: یک برنامه که به زبان جاوا نوشته شده‌است، با ارسال فرامین و دریافت نتایج مورد نظرش، خدماتی از نرم‌افزار ماشین مجازی جاوا (JVM) می‌گیرد. با ارائه این خدمات به برنامه، نرم‌افزار جاوا، به عنوان یک ماشین مجازی عمل می‌کند.







نرم‌افزار آزاد و متن‌باز
نرم‌افزار آزاد و متن‌باز (به انگلیسی: Free and open source software یا FLOSS، F/OSS، FOSS)، نرم‌افزاری است که به‌منظور تامین حق کاربران برای مطالعه، تغییر، و بهبود طراحی آن، با دردسترس‌بودن کد مبدأ نرم‌افزار، به‌شکل آزاد پروانه‌دار گشته است.








نرم‌افزار قابل حمل
نرم‌افزار قابل حمل (Portable application) به نرم‌افزاری گفته می‌شود که بدون نیاز به نصب بر روی سیستم‌عامل از روی لوح فشرده, یواس‌بی فلش درایو، حافظه فلش یا فلاپی‌دیسک قابل اجرا باشد.







نرم‌افزار کاربردی

نرم‌افزار کاربردی (به انگلیسی: Application software) عبارت است از نرم‌افزاری که با استفادهٔ مستقیم از منابع و قابلیت‌های رایانه کاری را مستقیماً برای کاربر انجام می‌دهد. باید توجه داشت که این عبارت در مقابل عبارت نرم‌افزار سیستمی معنی پیدا می‌کند.

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

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

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

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







نرم‌افزار متن‌باز
نرم‌افزار متن‌باز (به انگلیسی: Open Source Software) به نرم‌افزارهایی می‌گویند که افراد می‌توانند در کد منبع آن‌ها تغییر ایجاد کرده و یا اشکالات (باگ) احتمالی آن‌ها را رفع کنند. این یک شیوه توسعه نرم‌افزار است که می‌تواند هم برای نرم‌افزارهای آزاد و هم برای نرم‌افزارهای با مالکیت انحصاری و تجاری به کار رود.






مشخصات متن‌باز

مقدمه

متن‌باز فقط دسترسی به کد نرم‌افزار نیست..

نرم‌افزارهای متن‌باز باید دارای ۱۰ تعریف زیر باشند:

۱. توزیع مجدد آزاد

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

۲. کد منبع

کد نرم‌افزار باید شامل نرم‌افزار باشد و اجازه توزیع کد نرم‌افزار داده بشود (برای مثال از یک صفحه وب قابل دانلود باشد).

۳. کار مشتق‌شده

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

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

۵. بین افراد و گروه‌ها تبعیضی گذاشته نشود

اجازه‌نامه نباید بین افراد یا گروه‌ها تبعیضی بگذارد.

۶. هیچ تبعیضی در نوع استفاده از نرم‌افزار وجود نداشته باشد

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

۷. توزیع اجازه‌نامه

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

۸. اجازه‌نامه نباید مخصوص یک محصول باشد

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

۹. اجازه‌نامه نباید نرم‌افزارهای دیگر را محدود کند

شرایط تعریف شده در مجوز نباید توزیع نرم‌افزار را درکنار نرم‌افزارها با مجوزهای دیگر محدود کند. برای نمونه نمی‌تواند تعیین کند که تمامی نرم‌افزارهای ارائه شده در لوح فشرده ارائه شده باید متن باز باشند.

۱۰. اجازه‌نامه باید از نظر تکنولوژی بی‌طرف باشد

اجازه‌نامه نباید مختص یک تکنولوژی خاص باشد.







در ایران

مرکز ملی توسعه و بکارگیری نرم‌افزارهای بومی و آزاد /متن باز ایران (متنام) روز چهارشنبه مورخ ۲۲ خرداد ۱۳۹۲ در ساختمان دوم سازمان فناوری اطلاعات ایران افتتاح شد.








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

مای‌اس‌کیوال (به انگلیسی: MySQL) یک سامانه مدیریت پایگاه داده‌ها متن‌باز است، که توسط شرکت اوراکل توسعه، توزیع، و پشتیبانی می‌شود.

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






مزیت‌ها

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

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







تاریخچه

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







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

عددی
کاراکتری
دودویی



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







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

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

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

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







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

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







مایا

مایا نام نرم‌افزاری برای طراحی سه بعدی است. این نرم‌افزار نخست توسط شرکت آلیاس. ویو فرانت عرضه شده‌است که در سال ۲۰۰۵ شرکت اتودسک (شرکت سازنده نرم‌افزارهای سه بعدی و انیمیشن سازی از جمله تری‌دی‌اس‌مکس و اتوکد) آن را خریداری کرد و نسخه‌های جدید مایا با نام اتودسک مایا (Autodesk MAYA) به بازار عرضه شدند.

مایا یکی از پیشرفته‌ترین نرم‌افزار انیمیشن و مدل سازی سه بعدی است که به طور گسترده در استودیوهای فیلم سازی، انیمیشن و همینطور صنعت بازی‌های رایانه‌ای استفاده می‌شود. البته نقطه قوت مایا در ابزارهای مدل سازی آن است و در شرکتهای بزرگ نیز بیشتر از این خصیصه اش استفاده می‌کنند. تکنولوژی NURBS بکار رفته در این استودیو انیمیشن سازی، باعث کمک به طراحی بهینه اشیاء طبیعی از جمله چمن، گیاهان، مو و... می‌شود. توانایی بالا در Rendering که با استفاده از موتور قدرتمند mentalray و وجود Materialهای متنوع در این نرم‌افزار از جمله موارد کلیدی آن است. از جمله ویژگی‌های این نرم‌افزار، انعطاف پذیری و قابلیت‌های شخصی سازی (customization) آن است که به کاربران حرفه‌ای اجازه می‌دهد به سادگی محیط آن را به دلخواه خود تغییر دهند. مایا یک نرم‌افزار جامع است که به بخش های مختلفی تقسیم شده که هر بخش ویرایش و ایجاد یکی از مراحل ساخت انیمیشن رابر عهده دارد و نیاز کاربر را به نرم‌افزار های جانبی به حد اقل میرساند . به علاوه، یکی دیگر از قابلیت‌های منحصربه‌فرد آن امکان توسعه این نرم‌افزار برای استفاده کنندگان آن است. کاربران می‌توانند از طریق زبان‌های برنامه نویسی سی پلاس پلاس، MEL یا (maya embedded language) و همینطور پایتون آن را توسعه دهند و ابزارها و امکاناتی که پیشتر در نرم‌افزار وجود نداشته‌اند را به آن اضافه کنند. به همین دلیل بسیار مورد توجه استودیوهای بزرگ سازنده فیلم و انیمیشن قرار گرفته‌است.

تا سال ۲۰۰۹ مایا در دو گونهٔ maya complete و maya unlimited عرضه می‌شد که گونهٔ دوم امکانت گسترده تر همینطور قیمت بالا تری داشت، اما از نسخه ۲۰۱۰ به بعد فقط در یک گونه و با تمام امکانات عرضه می‌شود. آخرین نسخه مایا maya 2014 است. البته لازم به ذکر است که در سالهای اخیر، این نرم‌افزار در قالب ۳۲ بیت و ۶۴ بیت عرضه می‌شود.

در سال ۲۰۰۳ نرم‌افزار مایا برنده جایزه Academy Award برای "موفقیت‌های علمی و فنی" شد.

هسته اصلی مایا در زبان سی‌پلاس‌پلاس نوشته شده‌است.

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








مامبو

مامبو (Mambo Open Source یا MOS) یک سیستم مدیریت محتوا (CMS) به صورت متن باز و نرم‌افزار آزاد می‌باشد که امکانات زیادی برای ایجاد و مدیریت یک وب‌گاه چندمنظوره با یک رابط ساده فراهم می‌کند.

مامبو به زبان PHP نوشته شده و به صورت پیش فرض از پایگاه داده MySQL استفاده می‌کند. این سیستم مدیریت محتوا مانند سایر پروژه‌های PHP/MySQL به اغلب محیط‌های کاری کامپیوتری (سیستم‌عامل‌ها و معماری‌های مختلف) قابل انتقال (portable) است.

مامبو تحت مجوز گنو (GPL) منتشر می‌گردد و حقوق آن متعلق به بنیاد مامبو (Mambo Foundation) می‌باشد.






ویژگی‌های مامبو

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

اطلاعات کاملاً در دیتا بیس قرار دارد
رابط کاربری و مدیریتی ساده
پشتیبانی از XML و RSS
امکان تهیه صفحات نهانی (cache) برای بالا بردن سرعت مرور وب‌گاه
ایجاد فروم، نظر سنجی و وبلاگ
چندزبانه بودن و قابلیت محلی سازی







آخرین نسخه

در حال حاضر (دسامبر ۲۰۰8) آخرین نسخه منتشر شده مامبو ۴٫۶.۵ می‌باشد. وبژگیهای این نسخه عبارت‌اند از:

قسمت مدیریت کاملا دو زبانه‌است . با تغییر زبان قالب هم متناسب با دایرکشن مربوطه تغییر می‌کند
تاریخ‌های بخش کاربری و مدیریت با تغییر زبان، تغییر می‌کنند یعنی با تغییر زبان به انگلیسی تاریخ‌ها میلادی و با تغییر به زبان فارسی تاریخ‌ها شمسی می‌شوند . این قابلیت برای سایتهای چند زبانه بسیار کاربرد دارد. ( این قابلیت در مدیریت محتواهای مشابه وجود ندارد )
حل چند مشکل امنیتی که با روشن بودن Register Global ممکن بود سایت‌ها را دچار آسیب کند
حل مشکل Vote & SEF
حل مشکل حالت نمایش ساده و پیشرفته قسمت مدیریت
اضافه شدن قسمت‌های بیشتر برای ترجمه از قسمت مدیریت
ارتقا پاپ آپ تاریخ در قسمت مدیریت
حل مشکل Tooltip‌ها و افزایش عرض صفحه
...
11:32 pm

آزمایشگاه

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





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



شیمی
شیمی (به انگلیسی: Chemistry) یکی از دانش‌های بنیادین است که به مطالعه و بررسی ساختار، خواص، ترکیبات، و دگرگونی ماده می‌پردازد. گسترۀ زیاد این دانش باعث شده است تا تعریف‌ یکپارچه‌ برای آن مشکل گردد.



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



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



نگاه گذرا

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

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

این اتم‌ها اغلب با اتم‌های دیگر واکنش‌هایی را انجام می‌دهند. (برای نمونه زمانی‌که آتش چوب را می‌سوزاند واکنشی است بین اتم‌های اکسیژن موجود در هوا و مواد آلی چوب. که نور بر روی مواد شیمیایی فیلم عکاسی ایجاد می‌کند شکل می‌گیرد.)

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

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

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

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

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



بخش‌های اصلی دانش شیمی عبارت‌اند از:

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

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



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



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



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


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



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





تاریخ شیمی

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

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

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




دوران باستان (۴۰۰۰–۳۰۰ پ. م)
مسلماً نخستین واکنش شیمیایی که بشر توانست آن را کنترل و مهار کند، سوختن و آتش بود. آتش برای مردم باستان، یک نیروی عرفانی بود که می‌توانست یک ماده را به یک مادهٔ دیگر تبدیل کند در حالی که نور و گرما نیز می‌بخشد. آتش بر بسیاری از جوامع تأثیر گذاشت. به طوری که فعالیت‌های روزمره‌ای مانند آشپزی و تهیه نور و گرما تا فناوری‌هایی مانند سفالگری، تهیهٔ آجر و ذوب فلزها همگی وابسته به آتش بودند. آتش سبب کشف شیشه و نحوهٔ پالایش فلزها شد و همین امر پایه‌گذار دانش متالوژی یا شناخت مواد شد. در اوایل نیاز زیادی به دانستن شیوه‌های پالایش فلزها بود به ویژه در مصر باستان (۲۶۰۰ پ. م) که طلا فلزی گرانبها به شمار می‌آمد. کشف آلیاژها باعث شروع عصر برنز شد. نخستین شواهدی که نشان می‌دهد انسان‌های باستان در زمینهٔ دانش متالوژی فعالیت داشتند، مربوط به هزاره‌های پنجم و ششم پیش از میلاد است. پس از آن دانش متالوژی برای یافتن چگونگی ساخت سلاح‌های جنگی برتر به کار گرفته‌شد.



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



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



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

ارائهٔ نظریهٔ اتمی به دوران یونان باستان بازمی‌گردد. نظریهٔ اتمی مربوط به ۴۴۰ سال پیش از میلاد است. لوکرتیوس (۵۰ پ. م) در کتابی به نام «طبیعت چیزها» (به یونانی: De Rerum Natura) به اندیشه‌های دموکریت و لئوکیپوس اشاره می‌کند. دموکریت ادعا می‌کرد که همهٔ مواد از ذره‌های تجزیه‌ناپذیری به نام اتم تشکیل شده‌اند.

ساعت : 11:32 pm | نویسنده : admin | مطلب بعدی
آزمایشگاه شیمی | next page | next page