متد های دیگر
مقایسه با متدهای دیگر
متدهایی در زنجیرهی بین انطباقی تا پیشگویانه وجود دارند. متدهای چابک در بخش انطباقی این زنجیره قرار دارند. متدهای انطباقی بر انطباق سریع با واقعیات تغییریافته متمرکز است. وقتی نیازهای یک پروژه تغییر میکند، یک تیم انطباقی نیز تغییر میکند. یک تیم انطباقی به سختی توضیح میدهد که در آینده دقیقاً چه اتفاقی خواهد افتاد.
در متد انطباقی هرچه تاریخ دورتر باشد، ابهام در بیان اینکه در آن تاریخ چه اتفاقی خواهد افتاد، بیشتر است. یک تیم انطباقی نمیتواند وظایفی را که اعضا در هفتهی آینده خواهد داشت گزارش دهد، تنها میتواند ترکیب کارهایی را که برای ماه آینده قرار است انجام شود بیان کند. وقتی در مورد انتشار شش ماه از حالا سؤال میشود، یک تیم انطباقی ممکن است فقط بتواند بیانیهی مأموریت (برای آن انتشار) یا بیانیهی ارزش موردانتظار در مقابل هزینه را گزارش دهد.
در مقابل، متدهای پیشگویانه، بر تحلیل و برنامهریزی آینده به صورت جزئی و برای ریسکهای شناختهشده تمرکز دارد. در نهایت، یک تیم پیشگویانه میتواند دقیقاً گزارش دهد که چه ترکیب کار و چه وظایفی در سرتاسر فرایند توسعه برنامهریزی شدهاست. متدهای پیشگویانه بر فاز ابتدایی و اثربخش تحلیل تکیه دارد و اگر این فاز با اشتباه زیادی پیش رود، ممکن است جهت پروژه به سختی اصلاح شود. تیمهای پیشگویانه اغلب یک هیأت کنترل تغییر ایجاد میکنند تا اطمینان یابند که تنها به تغییرات با ارزش فکر میشود.
متدهای رسمی، بر خلاف متدهای انطباقی و پیشگویانه، بر تئوری علوم کامپیوتری با طیف گستردهای از انواع مفاهیم ثابت تکیه دارد. یک متد رسمی میکوشد تا نبود خطاها را با درجهای از جبرگرایی ثابت کند. بعضی متدهای رسمی مبتنی بر بررسی مدل هستند و مثالهای متضادی برای کدهایی که نمیتوان ثابت کرد، فراهم میکنند. تیمهای چابک ممکن است متدهای رسمی بسیار منظمی به کار گیرند.
متدهای چابک که از دههی 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ها و افزایش عرض صفحه
...
متدهایی در زنجیرهی بین انطباقی تا پیشگویانه وجود دارند. متدهای چابک در بخش انطباقی این زنجیره قرار دارند. متدهای انطباقی بر انطباق سریع با واقعیات تغییریافته متمرکز است. وقتی نیازهای یک پروژه تغییر میکند، یک تیم انطباقی نیز تغییر میکند. یک تیم انطباقی به سختی توضیح میدهد که در آینده دقیقاً چه اتفاقی خواهد افتاد.
در متد انطباقی هرچه تاریخ دورتر باشد، ابهام در بیان اینکه در آن تاریخ چه اتفاقی خواهد افتاد، بیشتر است. یک تیم انطباقی نمیتواند وظایفی را که اعضا در هفتهی آینده خواهد داشت گزارش دهد، تنها میتواند ترکیب کارهایی را که برای ماه آینده قرار است انجام شود بیان کند. وقتی در مورد انتشار شش ماه از حالا سؤال میشود، یک تیم انطباقی ممکن است فقط بتواند بیانیهی مأموریت (برای آن انتشار) یا بیانیهی ارزش موردانتظار در مقابل هزینه را گزارش دهد.
در مقابل، متدهای پیشگویانه، بر تحلیل و برنامهریزی آینده به صورت جزئی و برای ریسکهای شناختهشده تمرکز دارد. در نهایت، یک تیم پیشگویانه میتواند دقیقاً گزارش دهد که چه ترکیب کار و چه وظایفی در سرتاسر فرایند توسعه برنامهریزی شدهاست. متدهای پیشگویانه بر فاز ابتدایی و اثربخش تحلیل تکیه دارد و اگر این فاز با اشتباه زیادی پیش رود، ممکن است جهت پروژه به سختی اصلاح شود. تیمهای پیشگویانه اغلب یک هیأت کنترل تغییر ایجاد میکنند تا اطمینان یابند که تنها به تغییرات با ارزش فکر میشود.
متدهای رسمی، بر خلاف متدهای انطباقی و پیشگویانه، بر تئوری علوم کامپیوتری با طیف گستردهای از انواع مفاهیم ثابت تکیه دارد. یک متد رسمی میکوشد تا نبود خطاها را با درجهای از جبرگرایی ثابت کند. بعضی متدهای رسمی مبتنی بر بررسی مدل هستند و مثالهای متضادی برای کدهایی که نمیتوان ثابت کرد، فراهم میکنند. تیمهای چابک ممکن است متدهای رسمی بسیار منظمی به کار گیرند.
متدهای چابک که از دههی 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ها و افزایش عرض صفحه
...
اپل استور (برخط)
اپل استور (به انگلیسی: Apple Store) فروشگاه برخط شرکت اپل است. این سرویس در ۱۰ نوامبر ۱۹۹۷ راهاندازی شد.
سینت
سینت (به انگلیسی: CNET) یک رسانه اینترنتی تکنولوژی است که اخبار، مقالات و بلاگهای مختلفی را در زمینه فناوری و ابزارهای الکترونیکی ارائه میکند. سی نت در سال 1994 توسط «هالسی مینر» و «شلبی بونی» تاسیس شد.این شرکت در ابتدا فقط به عنوان یک رسانه کوچک در رادیو و تلویزیون آغاز به کار کرد. سپس وبسایت و حالا به عنوان یک رسانه بزرگ، برنامه های خود را از طریق «اینترنت تی وی» و «سی نت تی وی» پخش میکند.
تاریخچه
در سال 1994 با بنیان گذاری «شبکه فاکس» سی نت با اجرای چند برنامه تلویزیونی پیرامون کامپیوتر، تکنولوژی و اینترنت تاسیس شد. «سی نت تی وی» مجموعه برنامه ای بود که ابتدا با پخش سه برنامه: سی نت سنترال، وب، و ضلع تازه شروع به کار کرد. سپس این سه برنامه در وبسایت تی وی دات کام به اینترنت آمدند. در ادامه سی نت برنامه تلویزیونی جدیدی پیرامون اخبار تکنولوژی با نام نیوز دات کام ارائه داد. برنامه ای که سال 1999 تاسیس شد. از سال 2001 تا 2003 برنامه های رادیویی سی نت بهبود های زیادی پیدا کرد. رادیو سی نت در پخش خود، برنامه هایی با مضمون آموزش برنامه نویسی و دیگر برنامه ها کار خود را ادامه داد اما متأسفانه این بخش با عدم جذب شنونده کافی روبرو شد. بخش رایدویی سی نت در ژانویه 2003 به دلیل ضرر های مالی متوقف شد.
خریداری و گسترش
از زمان تاسیس سی نت تا بحال این رسانه بارها توسط شرکتها و افراد مختلف خریداری شده است. که در نهایت در 15 می 2008 شرکت «سی بی اس» تمایل خود را برای خریداری سی نت با مبلغ 1/8 میلیارد دلار اعلام کرد.این معامله در 30 ژون همان سال انجام شد و سی نت بطور کامل به مالکیت سی بی اس در آمد.] سی بی اس هم اکنون مالک حوزه های فراوانی با نام های شناخته شده و تاسیس شده توسط سی نت است از جمله: download.com, downloads.com, upload.com, news.com, search.com, TV.com, mp3.com, chat.com, computers.com, help.com, shopper.com, radio.com, com.com علاوه بر همه اینها سی نت در حال حاضر دارای شعبه های مختلفی در مناطق گوناگون جهان از جمله: استرالیا، چین، فرانسه، آلمان، ژاپن، جنوب شرق آسیا، آسیا، ترکیه، تایوان و انگلیس است.
وبسایت سی نت و بخش های آن
سی نت دات کام به پنج بخش بزرگ تقسیم شده است: نقد و بررسی، اخبار و وبلاگ ها (نیوز دات کام)، دانلود ها، سی نت تی وی، و چگونگی(how to).
بخش نقد و بررسی بزرگترین بخش سایت به حساب می آید. با تولید بیش از چهار هزار و سیصد نقد و بررسی از محصولات و نرمافزار های مختلف در هر سال. نقد و بررسی از محصولاتی چون: خودرو، تلفن همراه، کامپیوتر، دوربین، سیستم های صوتی، لپ تاپ، تبلت، تلویزیون و ...
قسمت نقد و بررسی همچنین دارای بخش «جایزه انتخاب توسط سر دبیر» است که به بهترین محصولات تعلق میگیرد. محصولاتی که دارای ابتکار بخصوص، خلاقیت و بهترین کیفیت تولید هستند. اخبار سی نت که قبلاً با نام نیوز دات کام شناخته میشد از سال 1996 شروع به کار کرد. وبسایتی که اختصاص به تکنولوژی دارد و یکی از اولین منابع خبری است که گذارشات تکنولوژی را در آغاز عمر اینترنت در اختیار مردم قرار میداد. سی نت نیوز تابحال جایزه های معتبر گوناگونی از جمله نشنال مگزین آوارد کسب کرده است.
با فهرستی بیش از چهارصد هزار عنوان بخش دانلود سی نت تشکیل میشود که به کاربران اجازه دانلود محبوب ترین نرمافزار ها را میدهد، همراه با حدود سه و نیم میلیون دانلود در روز. سی نت دانلود نرمافزار های ویندوز، مکینتاش و تلفن همراه را ارائه میکند.سی نت تی وی کانال اختصای سی نت بر روی اینترنت است که ویدیو های مورد تقاضا بینندگان از جمله نقد و بررسی، اولین نگاه به نوآوری ها و محصولات روز و ویژگی های خاص دیگری به بینندگان ارائه میدهد. بزرگترین بخش از برنامه های پخش تلویزیون سی نت را میتوان نقد و بررسی ها دانست. از نقد خودرو های روز گرفته تا برنامه هایی چون گزارشات گوناگون، راه حل های سریع، برترین های هفته، محصولات و اخبار اپل، شهر دیجیتال، خانه دیجیتال و غیره نام برد. تلویزیون سی نت سال 2007 تاسیس شد.
سیلک رود
سیلک رود (به انگلیسی: Silk Road) یک بازار الکترونیکی و تحت وب است که گرداننندگانش آن را با استفاده از فناوری سامانهٔ نرمافزاری پنهان تور اجرا میکنند. بیشتر کالاهایی که در سیلکرود برای فروش گذاشته میشوند در حوزهٔ قضایی بیشتر کشورها قاچاق محسوب میشوند. رادیوی عمومی ملی از این وبگاه به عنوان «آمازون.کامِ داروهای غیرمجاز» یاد کرده است. اکونومیست نیز آن را در مقالهای دربارهٔ بیتکوین به عنوان «نوعی ئیبِی برای مواد مخدر در گوشهای تاریک و پنهان از وب به نام تور» معرفی میکند. فروش سالانهٔ سیلک رود نزدیک به ۲۲ میلیون دلار تخمین زده شده است. در تاریخ ۲ اکتبر ۲۰۱۳ این وبسایت توسط افبیآی ضبط شد. اف بی آی ۲۶،۰۰۰ بیت کوین را مصادره کرد که هر یک ۱۴۰$ ارزش داشتند که مبلغی بالغ بر ۳٫۶ میلیون دلار می شد. یک سخنگوی اف بی آی گفت که بیتکوین ها را تا پایان رویهٔ قضایی ضبط و سپس نقد خواهد شد.
کریگزلیست
کریگزلیست (به انگلیسی: Craigslist) وبگاهی برای طبقه بندی تبلیغات در مورد خرید، استخدام و انواع خدمات است. این پایگاه اطلاع رسانی در سال ۱۹۹۵ به وسیلهٔ کریگ نیومارک بنیانگذاری گردید. این پایگاه از سال ۲۰۰۰ شروع به توسعه در سایر کشورها به غیر از ایالات متحده داده که اکنون به تعداد ۵۰ کشور رسیدهاست. روش کار این وبگاه به این شکل است که شما ابتدا کشور و یا منطقه سکونت شهری خود (فقط برای شهرهای ایالات متحده) را انتخاب می کنید سپس از روی فهرست داده شده خدمات ، کالاها و یا شغل مورد نظر خود را جستجو می کنید در نهایت این وبگاه اطلاعاتی در مورد آن آگهی از قبیل تاریخ و خلاصه موارد می دهد.
فیوچر شاپ
فیوچرشاپ (به انگلیسی: FutureShop) فروشگاه زنجیرهای فعال در زمینه لوازم خانگی و تجهیزات الکتریکی و الکترونیکی در کشور کانادا است. این شرکت زنجیرهای، متعلق به بست بای کانادا بوده و دارای بیش از ۱۳۰ شعبه در استانهای مختلف کاناداست و بیش از چهارده هزار کارمند، در آن اشتغال دارند.
تأسیس
حسن خسروشاهی کانادایی ایرانی تبار در سال ۱۹۸۲ این شرکت را تأسیس نمود.
اپل استور (به انگلیسی: Apple Store) فروشگاه برخط شرکت اپل است. این سرویس در ۱۰ نوامبر ۱۹۹۷ راهاندازی شد.
سینت
سینت (به انگلیسی: CNET) یک رسانه اینترنتی تکنولوژی است که اخبار، مقالات و بلاگهای مختلفی را در زمینه فناوری و ابزارهای الکترونیکی ارائه میکند. سی نت در سال 1994 توسط «هالسی مینر» و «شلبی بونی» تاسیس شد.این شرکت در ابتدا فقط به عنوان یک رسانه کوچک در رادیو و تلویزیون آغاز به کار کرد. سپس وبسایت و حالا به عنوان یک رسانه بزرگ، برنامه های خود را از طریق «اینترنت تی وی» و «سی نت تی وی» پخش میکند.
تاریخچه
در سال 1994 با بنیان گذاری «شبکه فاکس» سی نت با اجرای چند برنامه تلویزیونی پیرامون کامپیوتر، تکنولوژی و اینترنت تاسیس شد. «سی نت تی وی» مجموعه برنامه ای بود که ابتدا با پخش سه برنامه: سی نت سنترال، وب، و ضلع تازه شروع به کار کرد. سپس این سه برنامه در وبسایت تی وی دات کام به اینترنت آمدند. در ادامه سی نت برنامه تلویزیونی جدیدی پیرامون اخبار تکنولوژی با نام نیوز دات کام ارائه داد. برنامه ای که سال 1999 تاسیس شد. از سال 2001 تا 2003 برنامه های رادیویی سی نت بهبود های زیادی پیدا کرد. رادیو سی نت در پخش خود، برنامه هایی با مضمون آموزش برنامه نویسی و دیگر برنامه ها کار خود را ادامه داد اما متأسفانه این بخش با عدم جذب شنونده کافی روبرو شد. بخش رایدویی سی نت در ژانویه 2003 به دلیل ضرر های مالی متوقف شد.
خریداری و گسترش
از زمان تاسیس سی نت تا بحال این رسانه بارها توسط شرکتها و افراد مختلف خریداری شده است. که در نهایت در 15 می 2008 شرکت «سی بی اس» تمایل خود را برای خریداری سی نت با مبلغ 1/8 میلیارد دلار اعلام کرد.این معامله در 30 ژون همان سال انجام شد و سی نت بطور کامل به مالکیت سی بی اس در آمد.] سی بی اس هم اکنون مالک حوزه های فراوانی با نام های شناخته شده و تاسیس شده توسط سی نت است از جمله: download.com, downloads.com, upload.com, news.com, search.com, TV.com, mp3.com, chat.com, computers.com, help.com, shopper.com, radio.com, com.com علاوه بر همه اینها سی نت در حال حاضر دارای شعبه های مختلفی در مناطق گوناگون جهان از جمله: استرالیا، چین، فرانسه، آلمان، ژاپن، جنوب شرق آسیا، آسیا، ترکیه، تایوان و انگلیس است.
وبسایت سی نت و بخش های آن
سی نت دات کام به پنج بخش بزرگ تقسیم شده است: نقد و بررسی، اخبار و وبلاگ ها (نیوز دات کام)، دانلود ها، سی نت تی وی، و چگونگی(how to).
بخش نقد و بررسی بزرگترین بخش سایت به حساب می آید. با تولید بیش از چهار هزار و سیصد نقد و بررسی از محصولات و نرمافزار های مختلف در هر سال. نقد و بررسی از محصولاتی چون: خودرو، تلفن همراه، کامپیوتر، دوربین، سیستم های صوتی، لپ تاپ، تبلت، تلویزیون و ...
قسمت نقد و بررسی همچنین دارای بخش «جایزه انتخاب توسط سر دبیر» است که به بهترین محصولات تعلق میگیرد. محصولاتی که دارای ابتکار بخصوص، خلاقیت و بهترین کیفیت تولید هستند. اخبار سی نت که قبلاً با نام نیوز دات کام شناخته میشد از سال 1996 شروع به کار کرد. وبسایتی که اختصاص به تکنولوژی دارد و یکی از اولین منابع خبری است که گذارشات تکنولوژی را در آغاز عمر اینترنت در اختیار مردم قرار میداد. سی نت نیوز تابحال جایزه های معتبر گوناگونی از جمله نشنال مگزین آوارد کسب کرده است.
با فهرستی بیش از چهارصد هزار عنوان بخش دانلود سی نت تشکیل میشود که به کاربران اجازه دانلود محبوب ترین نرمافزار ها را میدهد، همراه با حدود سه و نیم میلیون دانلود در روز. سی نت دانلود نرمافزار های ویندوز، مکینتاش و تلفن همراه را ارائه میکند.سی نت تی وی کانال اختصای سی نت بر روی اینترنت است که ویدیو های مورد تقاضا بینندگان از جمله نقد و بررسی، اولین نگاه به نوآوری ها و محصولات روز و ویژگی های خاص دیگری به بینندگان ارائه میدهد. بزرگترین بخش از برنامه های پخش تلویزیون سی نت را میتوان نقد و بررسی ها دانست. از نقد خودرو های روز گرفته تا برنامه هایی چون گزارشات گوناگون، راه حل های سریع، برترین های هفته، محصولات و اخبار اپل، شهر دیجیتال، خانه دیجیتال و غیره نام برد. تلویزیون سی نت سال 2007 تاسیس شد.
سیلک رود
سیلک رود (به انگلیسی: Silk Road) یک بازار الکترونیکی و تحت وب است که گرداننندگانش آن را با استفاده از فناوری سامانهٔ نرمافزاری پنهان تور اجرا میکنند. بیشتر کالاهایی که در سیلکرود برای فروش گذاشته میشوند در حوزهٔ قضایی بیشتر کشورها قاچاق محسوب میشوند. رادیوی عمومی ملی از این وبگاه به عنوان «آمازون.کامِ داروهای غیرمجاز» یاد کرده است. اکونومیست نیز آن را در مقالهای دربارهٔ بیتکوین به عنوان «نوعی ئیبِی برای مواد مخدر در گوشهای تاریک و پنهان از وب به نام تور» معرفی میکند. فروش سالانهٔ سیلک رود نزدیک به ۲۲ میلیون دلار تخمین زده شده است. در تاریخ ۲ اکتبر ۲۰۱۳ این وبسایت توسط افبیآی ضبط شد. اف بی آی ۲۶،۰۰۰ بیت کوین را مصادره کرد که هر یک ۱۴۰$ ارزش داشتند که مبلغی بالغ بر ۳٫۶ میلیون دلار می شد. یک سخنگوی اف بی آی گفت که بیتکوین ها را تا پایان رویهٔ قضایی ضبط و سپس نقد خواهد شد.
کریگزلیست
کریگزلیست (به انگلیسی: Craigslist) وبگاهی برای طبقه بندی تبلیغات در مورد خرید، استخدام و انواع خدمات است. این پایگاه اطلاع رسانی در سال ۱۹۹۵ به وسیلهٔ کریگ نیومارک بنیانگذاری گردید. این پایگاه از سال ۲۰۰۰ شروع به توسعه در سایر کشورها به غیر از ایالات متحده داده که اکنون به تعداد ۵۰ کشور رسیدهاست. روش کار این وبگاه به این شکل است که شما ابتدا کشور و یا منطقه سکونت شهری خود (فقط برای شهرهای ایالات متحده) را انتخاب می کنید سپس از روی فهرست داده شده خدمات ، کالاها و یا شغل مورد نظر خود را جستجو می کنید در نهایت این وبگاه اطلاعاتی در مورد آن آگهی از قبیل تاریخ و خلاصه موارد می دهد.
فیوچر شاپ
فیوچرشاپ (به انگلیسی: FutureShop) فروشگاه زنجیرهای فعال در زمینه لوازم خانگی و تجهیزات الکتریکی و الکترونیکی در کشور کانادا است. این شرکت زنجیرهای، متعلق به بست بای کانادا بوده و دارای بیش از ۱۳۰ شعبه در استانهای مختلف کاناداست و بیش از چهارده هزار کارمند، در آن اشتغال دارند.
تأسیس
حسن خسروشاهی کانادایی ایرانی تبار در سال ۱۹۸۲ این شرکت را تأسیس نمود.