اینترنت پنجره ها اندروید

توجیه انتخاب ابزار و محیط توسعه نرم افزار. CPU سیستم های مدیریت خودکار و ایمنی صنعتی

محیط توسعه یکپارچه (IPR) یک سیستم ابزار نرم افزاری است که توسط برنامه نویسان توسعه استفاده می شود. نرم افزار. که در زبان انگلیسی این محیط زیست محیطی توسعه یکپارچه یا IDE اختصاصی نامیده می شود.

IPR به طور معمول شامل یک ویرایشگر متن، کامپایلر، مترجم، توسعه نرم افزار و مونتاژ و اشکال زدایی است. گاهی اوقات همچنین شامل ابزارهایی برای ادغام با سیستم های کنترل نسخه و ابزارهای مختلف برای ساده سازی طراحی رابط کاربر گرافیکی است. بسیاری از محیط های توسعه مدرن همچنین شامل پنجره کلاسهای برنامه نویسی، بازرس شیء و نمودار سلسله مراتب کلاس ها - برای استفاده در توسعه نرم افزار شی گرا هستند. اکثر ISRS های مدرن برای توسعه برنامه ها در چندین زبان برنامه نویسی در همان زمان طراحی شده اند.

یکی از موارد ویژه ای از محیط زیست توسعه بصری، که شامل امکان ویرایش بصری رابط برنامه است.

پنجره اصلی ویرایشگر متن است که برای ورود به آن استفاده می شود کد منبع در IPR و تمرکز بر روی کار با دنباله ای از شخصیت های در فایل های متنی. چنین ویراستارها قابلیت های پیشرفته ای را ارائه می دهند - برجسته سازی نحو، رشته های مرتب سازی، الگوهای مرتب سازی، تبدیل رمزگذاری، کد های نمادین، و غیره. گاهی اوقات آنها ویرایشگر کد نامیده می شوند، زیرا هدف اصلی آنها نوشتن کد منبع برنامه های کامپیوتری است.

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

مفهوم پخش، کامپایلر و مترجم در سخنرانی های قبلی داده شد.

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

شایع ترین debuggers عبارتند از:

- Debugger GNU - برنامه های اشکال زدایی از پروژه GNU؛

- IDA - Disassembler و Debugger سطح پایین برای سیستم عامل های خانوادگی Windows و GNU / لینوکس؛

- مایکروسافت ویژوال استودیو - محیط توسعه نرم افزار، از جمله بودجه اشکال زدایی از مایکروسافت؛

- OLLYDBG یک اشکال زدایی پایین سطح پایین برای سیستم عامل های ویندوز است؛

- Softice - اشکال زدایی سطح پایین برای سیستم عامل های ویندوز؛

- دکتر. واتسون - ویندوز استاندارد ویندوز اجازه می دهد تا شما را به ایجاد حافظه های حافظه؛

- WindBG یک اشکالزدایی رایگان از مایکروسافت است.

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

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

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

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

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

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

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

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

ویژگی های دیگر سیستم کنترل نسخه عبارتند از:

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

مدیریت مجله که در آن کاربران می توانند توضیحات را در مورد آنچه و چرا آنها در این نسخه تغییر کرده اند، ضبط کنند؛

کنترل دسترسی کاربر، حل و فصل یا ممنوعیت خواندن یا تغییر داده ها بسته به اینکه چه کسی این اقدام را درخواست می کند، کنترل می کند.

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

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

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

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

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

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

ورود به سیستم، تعهد، ارسال - ایجاد یک نسخه جدید، انتشار تغییرات. توزیع تغییرات ساخته شده در یک کپی کار به مخزن سند. در عین حال، مخزن نسخه جدیدی از اسناد تغییر یافته را ایجاد می کند.

C. هک کردن، کلون - استخراج یک سند از مخزن و ایجاد یک کپی کار.

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

M. eRGE، ادغام (ادغام) - ترکیبی از تغییرات مستقل به یک نسخه از سند. این کار انجام می شود زمانی که دو نفر همان فایل را تغییر دادند یا هنگام انتقال تغییرات از یک شاخه به دیگری انجام می شود.

R. eopository - جایی که سیستم مدیریت نسخه تمام اسناد را همراه با تاریخ تغییر آنها و سایر اطلاعات خدمات ذخیره می کند.

R. فرار سیستم های کنترل نسخه، نسخه های نسخه ای را تشخیص می دهند که به صورت خودکار اختصاص داده می شوند.

T. aG، برچسب (برچسب) - که می تواند یک نسخه خاص از سند اختصاص داده شود. برچسب یک نام نمادین برای یک گروه سند است، و نه تنها مجموعه ای از نام فایل ها، بلکه بازنگری هر فایل را نیز توصیف می کند. اصلاحات موجود در برچسب اسناد می تواند به نقاط مختلف زمان تعلق داشته باشد.

T. runk، Mainline (Trunk) شاخه اصلی توسعه پروژه است. سیاست کاری با تنه ممکن است از پروژه به پروژه متفاوت باشد، اما به طور کلی به شرح زیر است: بیشتر تغییرات در بشکه ساخته شده است؛ اگر یک تغییر جدی مورد نیاز باشد، قادر به منجر به بی ثباتی می شود، یک شاخه ایجاد می شود، که هنگامی که نوآوری به اندازه کافی آزمایش می شود، با بشکه ادغام می شود؛ قبل از انتشار نسخه بعدی، شعبه "انتشار" ایجاد می شود که تنها اصلاحات ساخته شده است.

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

W. orking کپی (کپی کار) - کپی (محلی) کپی اسناد.

در نظر گرفتن امکانات IPR در مثال از نسخه های مقرون به صرفه و محبوب ترین در نظر بگیرید.

Eclipse (از انگلیسی. Eclipse) یک محیط توسعه یکپارچه رایگان برای برنامه های کاربردی متقابل پلت فرم مدولار است (شکل 69). توسعه یافته و حمایت شده توسط سازمان غیر انتفاعی Eclipse (http://www.eclipse.org/).

Eclipse اصلی توسط IBM به عنوان یک استاندارد شرکت IPR برای توسعه زبان های مختلف تحت پلت فرم از این شرکت توسعه داده شد. با توجه به IBM، طراحی و توسعه هزینه 40 میلیون دلار است. کد منبع به طور کامل باز شد و پس از گرفتگی در دسترس بود پس از گرفتگی به توسعه بیشتر جامعه مستقل IBM منتقل شد.

چارچوب OSGI و SWT / JFACE بر اساس ECLIPSE، بر اساس لایه زیر - RCP (پلت فرم مشتری غنی، پلت فرم برای توسعه برنامه های کاربردی مشتری کامل) است. RCP به عنوان پایه ای نه تنها برای Eclipse، بلکه برای سایر برنامه های RCP، مانند Azureus و Arranger File عمل می کند. لایه بعدی خود Eclipse خود است، که مجموعه ای از extensions RCP است: ویراستاران، پانل ها، چشم انداز، ماژول CVS و ماژول ابزارهای توسعه جاوا (JDT).

Eclipse - اول از همه، Java ICR کامل، با هدف توسعه گروهی: پشتیبانی از CVS در عرضه Eclipse گنجانده شده است، چندین ماژول SVN به طور فعال در حال توسعه است، پشتیبانی از VSS و دیگران وجود دارد. با توجه به کیفیت آزاد و با کیفیت بالا، گرفتگی در بسیاری از سازمان ها یک استاندارد شرکتی برای توسعه برنامه های کاربردی است.

هدف دوم Eclipse این است که به عنوان یک پلت فرم برای توسعه پسوندهای جدید خدمت کند، زیرا محبوبیت آن را به دست آورده است: هر توسعه دهنده می تواند Eclipse را با ماژول های خود گسترش دهد. در حال حاضر ابزار توسعه C / C ++ (CDT) توسعه یافته توسط مهندسان QNX با "IBM"، و به معنی برای زبان های COBOL، FORTRAN، PHP و دیگران از توسعه دهندگان مختلف وجود دارد. بسیاری از پسوند ها روز چهارشنبه Eclipse را تکمیل می کنند تا مدیران برای کار با پایگاه های داده، سرورهای کاربردی و غیره

شکل 69 . رابط اصلی پنجره Eclipse

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

پایه Eclipse پلت فرم مشتری گسترده است (RCP از زبان انگلیسی. پلت فرم مشتری غنی). اجزای آن:

OSGI (مجموعه استاندارد از لوازم مجموعه (مجموعه ای از بسته نرم افزاری)؛

SWT (ابزارهای ویجت قابل حمل)؛

جگر (بافر فایل، کار با متن، سردبیران متن)؛

محیط کار Eclipse (پانل ها، سردبیران، پیش بینی ها، کارشناسی ارشد).

یکی دیگر از محبوب محبوب ISR KDevelop (http://www.kdevelop.org، شکل 70). KDevelop (Eng. KDevelop) - محیط توسعه نرم افزار رایگان برای سیستم عامل های مشابه یونیکس. این پروژه در سال 1998 آغاز شد. KDevelop با توجه به مجوز GNU (مجوز عمومی عمومی) اعمال می شود.

شکل 70 رابط KDevelop

KDevelop شامل کامپایلر نیست، به جای آن، از هر کامپایلر برای ایجاد یک کد اجرایی استفاده می کند.

نسخه پایدار فعلی از تعداد زیادی از زبان های برنامه نویسی مانند جهنم، Bash، C، C ++، Fortran، Java، Pascal، Perl، PHP، Python، Ruby و SQL پشتیبانی می کند.

Cdevelop از کامپوننت داخلی ساخته شده است - یک ویرایشگر متن - از طریق تکنولوژی KPART. سردبیر اصلی کیت است.

توابع kdewelop:

روشنایی کد منبع، با توجه به نحو زبان برنامه نویسی مورد استفاده، که به طور خودکار تعیین می شود؛

مدیر پروژه برای پروژه های مختلف، مانند خودرو، Qmake برای پروژه های مبتنی بر QT و فن آوری های مورچه برای پروژه های مبتنی بر جاوا؛

ناوبر کلاس (مرورگر کلاس)؛

جلوی مجموعه کامپایلر گنو؛

جلویی برای Debugger GNU؛

کمک کنندگان برای تولید و به روز رسانی کلاس ها و پلت فرم (چارچوب)؛

سیستم تکمیل کد خودکار (SI / C ++)؛

پشتیبانی داخلی برای سیستم مستندات کد منبع (Doxygen)؛

یکی از سیستم های کنترل نسخه ها: SCM، CVS، Subversion، Perforce و Clearcas؛

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

kdevelop این یک معماری "پلاگین" است. هنگامی که توسعه دهنده تغییرات را انجام می دهد، باید این پلاگین را کامپایل کند. ممکن است پروفیل ها را ذخیره کنید که نشان می دهد کدام پلاگین ها باید بارگیری شوند.kdevelop با یک ویرایشگر متن داخلی عرضه نمی شود، آن را به عنوان یک پلاگین متصل می شود.kdevelop این بستگی به زبان برنامه نویسی و از پلتفرم که از آن شروع می شود، حمایت از KDE، GNOME و بسیاری از فن آوری های دیگر (به عنوان مثال، QT، GTK + و WXWidgets) بستگی دارد.

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

در حال حاضر حدود 50 تا 100 افزونه برای این IDE وجود دارد. در میان مفید ترین ها - بوک مارک های کد پروژه های پایدار، اختصارات کد، به شما این امکان را می دهد که به سرعت متن، فرمت منبع را به سرعت نصب کنید، که متن را برای راهنمای سبک برای ذخیره، جستجو برای عبارات منظم و جستجوی / جایگزینی پروژه بازپرداخت می کند.

آخرین ICR استمایکروسافت ویژوال استودیو. (مایکروسافت ویژوال استودیو، شکل 71). در حقیقت،مایکروسافت ویژوال استودیو. این خط محصولات مایکروسافت است که شامل یک محیط توسعه نرم افزاری یکپارچه و تعدادی از ابزارهای دیگر است.


شکل 71 رابط مایکروسافت ویژوال استودیو

مایکروسافت ویژوال استودیو. شامل یک یا چند جزء از موارد زیر است: Visual Basic.Net، Visual C ++، Visual C #، Visual F #، مایکروسافت SQL. سرور، بصری Interdev، Visual J ++، Visual J #، Visual FoxPro.، منبع بصری امن است.

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

مایکروسافت همچنین یک آنالوگ رایگان از محصول ویژوال استودیو اکسپرس را ارائه می دهد.

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

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

سه طبقه اصلی رسانه های سازنده و نگهداری PS وجود دارد (شکل 16.1): ·

محیط برنامه نویسی، ·

محل کار فناوری کامپیوتر، ·

سیستم های فناوری برنامه ریزی سیستم های کاربردی.

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

شکل. 16.1 کلاس های اصلی محیط های سازنده برای توسعه و نگهداری PS.

  1. محیط برنامه های کاربردی ابزار.

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

کلاس های زیر از رسانه ابزار برنامه نویسی متمایز می شوند (نگاه کنید به شکل 14.2): ·

مناطق عمومی، ·

محیط زیست گرا

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

شکل 16.2. طبقه بندی رسانه ابزار برنامه نویسی.

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

رسانه های تفسیری، ·

محیط های کنترل شده به صورت Syntactically.

تفسیرمحیط ابزار برنامه نویسی، تفسیر برنامه ها را در این زبان برنامه نویسی تضمین می کند، I.E. اول از همه، مترجم زبان برنامه نویسی که در آن این محیط گرا است. این محیط برای زبان های برنامه نویسی یک نوع تفسیری (مانند LISP) ضروری است، اما همچنین می تواند برای زبان های دیگر (به عنوان مثال، بر روی یک کامپیوتر ابزار) استفاده شود. Syntax مدیریت شدهمحیط ابزار برنامه نویسی بر اساس نحو زبان برنامه نویسی است که به آن هدایت می شود. در چنین محیطی، به جای یک متن، یک ویرایشگر مدیریت Syntax استفاده می شود، به کاربر اجازه می دهد تا از الگوهای مختلف ساختارهای نحوی استفاده کند (به عنوان یک نتیجه از این، برنامه ای که توسعه یافته همیشه به صورت نحوی درست است). همزمان با برنامه، چنین اشکال سردبیر (در حافظه کامپیوتر) درخت نحوی آن است که می تواند توسط ابزارهای دیگر استفاده شود.

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

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

4.5. محیط توسعه یکپارچه

  1. ویژوال استودیو 97 اولین نسخه منتشر شده از ویژوال استودیو است. برای اولین بار، ابزار مختلف توسعه نرم افزار با هم جمع آوری شد. این سیستم در دو نسخه منتشر شد: حرفه ای و سازمانی. این شامل Visual Basic 5.0، Visual C ++ 5.0، Visual J ++ 1.1، Visual FoxPro 5.0، Visual FoxPro 5.0، ابتدا به نظر می رسد محیط توسعه ASP - بصری بینایی. ویژوال استودیو 97 اولین تلاش مایکروسافت برای ایجاد یک محیط واحد برای توسعه در زبان های مختلف برنامه نویسی بود: Visual C ++، Visual J ++، Visual Interdev و MSDN از یک محیط به نام Developer Studio استفاده کرد. ویژوال بیسیک و بصری FoxPro محیط های توسعه فردی را اعمال کرد.
  2. ویژوال استودیو 6.0 در ژوئن 1998 منتشر شد. این آخرین نسخه ویژوال استودیو است که در پلت فرم Win9x عمل می کند. هنوز هم در میان برنامه نویسان با استفاده از ویژوال بیسیک محبوب هستند. این نسخه محیط اصلی برای توسعه برنامه های تحت ویندوز از مایکروسافت بود، قبل از اینکه پلت فرم 5.Net ظاهر شود.
  3. ویژوال استودیو دات نت (نام کد رندر؛ نسخه داخلی 7.0) صادر شده در فوریه 2002 (شامل .NET Framework 1.0). Service Pack 1 برای ویژوال استودیو دات نت (2002) در مارس 2005 منتشر شد
  4. ویژوال استودیو .NET 2003 (نام کد Everett؛ نسخه داخلی 7.1) در آوریل 2003 ظاهر شد (شامل .NET Framework 1.1). Service Pack 1 برای ویژوال استودیو .NET 2003 منتشر شد در تاریخ 13 سپتامبر 2006
  5. ویژوال استودیو 2005 (نام کد whidbey؛ نسخه داخلی 8.0) در پایان اکتبر 2005 منتشر شد، آخرین رسما در ویندوز 2000 (شامل .NET Framework 2.0). در اوایل نوامبر 2005، مجموعه ای از محصولات نیز در نسخه Express منتشر شد: Visual C ++ 2005 Express، Visual Basic 2005 Express، Visual C # 2005 Express و دیگران منتشر شد. در تاریخ 19 آوریل 2006، سرمقاله اکسپرس آزاد بود . خدمات بسته 1 برای VS2005 و تمام نسخه های اکسپرس منتشر شده در تاریخ 14 دسامبر 2006. پچ اضافی برای SP1، مشکل قاطع سازگاری با ویندوز ویستا در تاریخ 6 مارس 2007 منتشر شد
  6. ویژوال استودیو 2008 (نام کد Orcas) در 19 نوامبر 2007 منتشر شد، در همان زمان X.net چارچوب 3.5. هدف از ایجاد برنامه های کاربردی برای ویندوز ویستا (اما پشتیبانی از هر دو XP)، Office 2007 و برنامه های کاربردی وب است. شامل LINQ، نسخه های جدید C # و زبان های ویژوال بیسیک. استودیو Visual J # را وارد نکرد. از 28 اکتبر 2008، نسخه برای اولین بار در روسیه در دسترس است.
  7. ویژوال استودیو 2010 (نام کد هاوایی، برای نهایی - Rosario) منتشر شده در تاریخ 12 آوریل 2010 همراه با S.NET Framework 4.0. ویژوال استودیو شامل پشتیبانی از زبانهای C # 4.0 و ویژوال بیسیک دات نت 10.0، و همچنین زبان F # که در نسخه های قبلی وجود نداشت.

Wednesday Visual Studio 2010 به شما امکان می دهد تا به طور موثر برنامه های پیچیده را برای مدت کوتاهی ایجاد کنید. مدل این محیط به طور قابل توجهی غنی تر است یا از مفاهیم به عنوان یک راه حل (راه حل)، پروژه، فضای نام (فضای نام) و مونتاژ (مونتاژ) استفاده می کند. مفهوم این پروژه در بسیاری از رسانه ها، به عنوان مثال، در دلفی وجود دارد. فایل پروژه شامل شمارش فایل های منبع و سایر منابع است که از آن سیستم یک برنامه را ایجاد می کند. راه حل زیست محیطی ویژوال استودیو شامل چندین پروژه است که ممکن است وابسته یا مستقل از یکدیگر باشد. ایستادگی کردن شروع پروژه. مفهوم مونتاژ از CLR محیط زیست اجرایی زبان عمومی (زمان اجرا زبان مشترک) می آید. محیط CLR ترین اختراع ترین اختراع است که فرایند نوشتن و اجرای برنامه های کاربردی اساسا متفاوت است.

کامپایلر فایل ها را با کد منبع به کدهای در زبان MSIL متوسط \u200b\u200bتبدیل می کند ( مایکروسافت متوسط \u200b\u200bزبان.) همراه با متاداده، این کدها توسط فایل های PE (پورتال اجرایی) ثبت می شوند، داشتن یک EXE یا DLL پس از نوع پروژه. یک ماژول همچنین می تواند با گسترش NetModule که شامل فراداده نیست، به دست آید.

مجموع 12 نوع پروژه وجود دارد. هنگام بارگیری پرونده های PE "در پرواز" به دستورات پردازنده واقعی پخش می شود. قاب چارچوب NET، ارائه اجرای برنامه، در ویژوال استودیو گنجانده نشده است، اما راه اندازی بیش از سیستم عامل است. این یک آنالوگ Java-Mashina مجازی است.

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

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

برای برنامه نویسان تازه کار، چنین فراوانی فرصت ها می تواند مشکلات بزرگی ایجاد کند. اندازه و پیچیدگی رسانه ها می تواند توسط جدول تطبیقی \u200b\u200bزیر سه محیط مورد قضاوت قرار گیرد.

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

Ecosystem Eclipse اشاره به فن آوری های تلفیقی، سال توزیع گسترده ای که 2007 است. این سیستم در جاوا اجرا می شود و در ابتدا چهارشنبه کامل یکپارچه برای زبان جاوا را نشان داد. در آینده، زبان های دیگر شروع به حمایت کردند. نسخه های اول ناخوشایند بودند، زیرا محصول هدف مجبور به استفاده از قابلیت های بیش از حد بود. شروع از نسخه سوم، معماری کل سیستم به منظور به حداکثر رساندن جداسازی ماژول ها و ارتباط بین آنها دوباره کار کرد. در عین حال، ماژول های Eclipse تشکیل شده از مجموعه های کلاس های توافق شده، عملکرد کل زیر سیستم ها، مانند زیرسیستم های کمک، به روز رسانی محصول، یادگیری، سخنرانی ها را ارائه دادند پشتیبانی چند زبانه و خیلی های دیگر. با توسعه برنامه، شما هم اکنون می توانید به تدریج عملکرد، اتصال اجزای آزاد آماده را افزایش دهید. در اصطلاح گرفتگی Eclipse، این اجزاء "ماژول های پلاگین" یا "پلاگین ها" (پلاگین ها) نامیده می شوند. چنین فناوری معمولی از محیط های عملیاتی توسعه یافته است. پلت فرم بر اساس این تکنولوژی نامگذاری شد

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

محیط های اصلی متمایز ابزار از سایر ابزار ساختمان های نرم افزاری این است که محیط زیست یک چرخه کامل از توسعه نرم افزار را فراهم می کند، از جمله مراحل تجزیه و تحلیل موضوع موضوع، مراحل طراحی، توسعه، تأیید، و همچنین مراحل استقرار و همراهی.

شما می توانید محیط های معروف ترین و محبوب ترین عامل توسعه را انتخاب کنید:

AVE (محیط ساختمان ساختمان)؛

جزئیات بیشتر در مورد محیط توسعه محیط زیست سازنده ذکر شده را در نظر بگیرید.

1. محیط ابزار AgentBuilder توسعه دهندگان را برای توسعه یک ابزار توسعه و یک حساب کاربری از یک برنامه عامل فراهم می کند. تکنولوژی ایجاد یک عامل هوشمند در محیط AgentBuilder در شکل 2.1 ارائه شده است.

شکل. 2.1

رسانه های توسعه و پیاده سازی در زبان برنامه نویسی جاوا نوشته شده اند، که به آنها اجازه می دهد تا بر روی تمام سیستم عامل هایی که جاوا چهارشنبه نصب شده اند، کار کنند. عامل ایجاد شده با استفاده از Toolkit AgentBuilder می تواند بر روی هر پلتفرم با یک ماشین مجازی جاوا (نسخه 1.1 و بالاتر) انجام شود.

ابزارهای توسعه یک رابط گرافیکی مناسب برای تجزیه و تحلیل موضوع موضوع MAC توسعه یافته و مشخصات رفتار مورد نظر عوامل توسعه یافته توسط سردبیران گرافیک. در این محیط سازنده، مراحل زیر از ساخت یک برنامه چند عامل ارائه شده است:

تعریف آژانس؛

ایجاد نمایندگان، که فراهم می کند برای ساخت هستی شناسی مورد استفاده برای انجام عامل اعطای مجوز، و مدل ذهنی (اعتقاد، توانایی، تعهدات، قوانین رفتار)؛

ایجاد پروتکل ها برای مشخص کردن تعامل عوامل این آژانس؛

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

زمان اجرا برنامه عامل شامل یک عامل و پردازنده برای انجام یک عامل است. پردازنده از روش های خروجی منطقی موثر با مقایسه قوانین رفتار رفتار عامل با باورهای عامل تعریف شده توسط مدل ذهنی فعلی و پیام های دریافتی استفاده می کند. بر اساس استدلال، پردازنده اقدامات خاصی را با اقتدار عامل انجام می دهد. برنامه عامل تعریف یک عامل در قالب یک فایل RADL همراه با کتابخانه نصب شده پروژه است. یک برنامه رشته ای همراه با پردازنده یک عامل انجام شده را تشکیل می دهد. هنگام اجرای محیط زمان اجرا، یک پردازنده عامل اولیه است که از مدل RADL و هستی شناسی عامل ارائه شده به عنوان یک کتابخانه کلاس پروژه (کتابخانه پروژه های پروژه) استفاده می شود. این به تعریف عامل (فایل RADL که یک عامل را با توانایی استدلال و مدل ذهنی اولیه) و کتابخانه پروژه های پروژه ارائه می دهد (کلاس های پشتیبانی پروژه PACS از کتابخانه کلاس پروژه) - استفاده می شود برای نمایش موضوع موضوع کار.

2. در محیط BEE-GEN، توسعه برنامه های کاربردی آژانس گرا با استفاده از روش تعیین رفتار عوامل سیستم توزیع شده با استفاده از کتابخانه MAC - که در زبان جاوا اجرا شده است انجام می شود. بر اساس سیستم Bee-Gent ارائه شده توسط سیستم Bee-Gent، می توان به وضوح رفتار هر عامل را به عنوان یک نمودار از ایالت ها و تعیین پروتکل های تعامل عوامل تعیین می کند. تعداد حالت های عوامل بر اساس پایداری نقش های تعریف شده در شکل عبارات منظم در مرحله تجزیه و تحلیل آژانس (به عنوان مثال، با توجه به روش Gaia) ساخته شده است. یک نمونه از یک قطعه از نمودار رفتار عامل، دانش آموز سیستم آموزشی در شکل 2.2 نشان داده شده است.


شکل. 2.2.

گراف دولتی تمام اسامی ایالت هایی را که ممکن است نماینده باشد، ثبت کند. در مرحله بعدی توسعه، کلاس ها برای هر ایالت تعریف شده اند. هر ایالت در ستون نمونه ای از کلاس Awripstate از کتابخانه رشته ای توشیبا اجرا شده در زبان جاوا است. در طراح کلاس، قبل و بعد از شرایط تعیین می شود، I.E. شرایطی که باید در حالت فعلی اجرا شود تا اقدامات تعیین شده توسط کلاس وضعیت را تعیین کرده و انتقال به حالت زیر را تعیین کند. سپس اقداماتی که باید در هر ایالت انجام شود (از جمله عامل خود و فرآیندهای تعامل با عوامل دیگر) مشخص می شود. برای کشورهای اولیه و پایان، کلاس های "init" و "پایان" نیز ایجاد می شوند. اگر عامل با عوامل دیگر ارتباط برقرار کند، سپس با مشخصات خاص حالت، سیستم Bee-Gent برای تعریف پروتکل تعامل فراهم می کند. پروتکل باید تمام خطوط رفتار عامل را در این حالت منعکس کند. در هر ایالت، فعالیت های عامل به منظور اجرای پروتکل های تعامل به منظور اجرای خط رفتار برنامه ریزی شده است. به عنوان مثال، فعالیت های هر عامل در مک تعیین می شود، به عنوان مثال، یک مدل خدمات توسعه یافته در مرحله تجزیه و تحلیل عامل گرا در روش شناسی Gaia تعیین می شود.

هر خط رفتار توسط نمودار تعامل عوامل با محتویات پیام ها و توالی آنها مستند شده است. شکل 2.3 نمونه ای از نمودار تعامل را برای وضعیت مطالعه نظم و انضباط عامل دانش آموز نشان می دهد. فرمت پیام توسط زبان XML / ACL تعیین می شود که توسعه زبان ارتباطات KQML است.


شکل. 2.3. نمودار تعامل دانشجوی عامل در وضعیت "مطالعه رشته"

بنابراین، بر اساس مدل های منطقی توسعه یافته، سیستم Bee-Gent به طور خودکار اسکلت یک کد برنامه نرم افزاری چند عامل را در زبان جاوا تولید می کند که توسط کد برنامه لازم ارائه شده است که یک چرخه زندگی "زندگی" را فراهم می کند. در سیستم BEE-GENT، در مقایسه با AgentBuilder، هنگام توصیف رفتار عوامل، قوانین برای تعیین واکنش عامل به رویدادهای خارجی و دولت داخلی آن استفاده نمی شود.

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

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

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

فراهم می کند گسترش معناشناسان (ویژگی ها هنگام اجرای) برای حمایت از مدل اجرای مورد نیاز توسط یک سیستم نرم افزاری Active-Oriented.

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

در سطح کلاس ها، 5 ساختار اصلی معرفی شد:

نماینده که شبیه سازی نهادهای فکری در جک؛

توانایی جمع آوری در یک کل اجزای عملکردی (حوادث، برنامه ها، بسیاری از باورها و سایر توانایی ها)، برای استفاده از عوامل؛

یک رویداد برای مدل سازی شرایط و پیام هایی که نماینده باید بتواند پاسخ دهد؛

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

بسیاری از محکومیت ها، برای مدل سازی دانش عامل در قالب باورهایی که به معناشناسی یک دنیای بسته یا باز می رسند. این طراحی نشان دهنده اعتقاد نماینده در قالب توطئه های ارتباطی اولین مرتبه اول است و تضمین منطقی منطقی آنها را تضمین می کند.

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

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

برنامه حرکت برنامه گسترش (

#Handles رویداد RobotMoveVent Moversponse؛

#uses عامل اجرای ربات Robotinterface؛

وابسته به بولین استاتیک (RobotMoveVent EV)

متن نوشته () (...)

# روش صحیح

در این مثال، برنامه عملیاتی برنامه تعریف شده از نماینده برنامه، توابع اساسی خود را از کلاس جکپلان به ارث می برد. علاوه بر این، با استفاده از چندین اعلامیه برای برنامه های جک، نشان داده شده است که چگونه طرح استفاده خواهد شد. هر اعلامیه پیش از نماد "#" پیش از آن است تا آنها را از عناصر نحوی جاوا تشخیص دهد. #andles اعلامیه رویداد یک هدف یا رویداد را تعریف می کند که این طرح پاسخ می دهد. اعلامیه #uses عامل اجرای Enshines Agent (ها) که می تواند از این طرح استفاده کند. این طرح در مثال تنها می تواند توسط آن دسته از عوامل انجام شود که رابط مشخص شده را اجرا می کند (RobotInterFace). براکت های شکل گرفته شامل کد جاوا معمول است.

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

برای حمایت از اجرای یک عامل گرا سیستم نرم افزاری جک فراهم می کند پسوند زبان اضافی زیر را فراهم می کند که معنایی زیر را ارائه می دهد:

چندگانه در هسته ساخته شده است و از زیر کنترل برنامه نویس حذف می شود.

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

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

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

مولفه توسعه محیط جک (محیط توسعه جک) امکان پذیر است که نمودارهای نمایشی را بدست آورید که محیط زیست اسکلت کد برنامه را تولید می کند و تضمین می کند که تغییرات ساخته شده در کد در نمودارها نمایش داده می شود.

نمایندگان ایجاد شده در جک معماری ذاتی در عوامل فکری دارند. بنابراین، ممکن است رفتار رفتار معقول را مطابق با مدل نظری BDI Arrenity، بر اساس باورها، خواسته ها و نیت ها انجام دهیم.

با توجه به معماری BDI، عوامل هوشمند جک اجزای نرم افزاری مستقل هستند که می توانند رفتار معقول را براساس برنامه های کاربردی (فوکوس) و واکنش پذیری (رویداد ارسال شده) به سیگنال های ورودی نشان دهند. هر یک از این عوامل دارای:

محکومیت ها (این مجموعه داده های او در مورد جهان است)؛

خواسته ها (مجموعه ای از رویدادهایی که آن را واکنش نشان می دهند و مجموعه ای از اهداف، دستاوردهای آن می تواند تمایل داشته باشد)؛

قصد (مجموعه ای از برنامه هایی که توصیف می کند که چگونه می تواند اهداف و برنامه های ظهور را مدیریت کند).

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

تمرکز پایدار - عوامل بر اهداف متمرکز شده اند و نه بر روی روش های انتخاب شده برای رسیدن به آنها؛

وابستگی متنی در زمان واقعی - نمایندگان از گزینه هایی که در هر زمان قابل استفاده هستند پیروی می کنند و تصمیمات مربوط به اقدامات پیگیری بر اساس شرایط موجود را می گیرند؛

تصویب صحت صحت رویکرد در زمان واقعی - عامل اطمینان حاصل خواهد کرد که آن را به دنبال دوره انتخاب اقدامات تا زمانی که شرایط خاص ادامه درست باشد؛

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

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

4. Software Jade (چارچوب توسعه Agent Java) به طور گسترده ای برای توسعه سیستم های چند عامل استفاده شده است. این کاملا در جاوا اجرا شده و از استانداردهای FIPA برای ایجاد عوامل هوشمند پشتیبانی می کند. هدف ایجاد یک محیط جید، ساده سازی روند توسعه با استاندارد سازی روش های تعامل عوامل در سیستم خدمات سیستم است.

برای رسیدن به این هدف، Jade یک برنامه نویس برای توسعه سیستم های عامل ارائه می دهد ویژگی های زیر:

پلت فرم عامل سازگار FIPA، بر اساس FIPA و شامل انواع اجباری عوامل سیستم برای مدیریت، ابتدا، توسط یک پلت فرم عامل (AMS)، دوم، کانال ارتباطی (ACC) و خدمات دایرکتوری (DF) (این نوع عوامل به طور خودکار فعال می شود پلت فرم آغاز شده است)؛

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

پشتیبانی از چندین دامنه - تعدادی از عوامل FIPA DF بر اساس فدراسیون، به این ترتیب یک عامل چندگانه را اجرا می کند.

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

محیط برنامه نویسی Object-Object. اکثر مفاهیم ویژگی های FIPA مشخصات توسط کلاس های جاوا تشکیل شده است که رابط کاربر را تشکیل می دهند.

کتابخانه پروتکل های تعامل. درخواست FIPA استاندارد تعاملی و پروتکل های تعاملی FIPA-Contract-NET استفاده می شود. به منظور ایجاد یک عامل که می تواند با توجه به چنین پروتکل ها، توسعه دهندگان نرم افزار، شما فقط نیاز به اجرای اقدامات خاص دامنه، در حالی که تمام پروتکل منطق مستقل از برنامه توسط سیستم JADE اجرا می شود.

اداره GUI عملیات ساده مدیریت پلتفرم را می توان از طریق یک رابط گرافیکی اجرا کرد که عوامل فعال و ظروف عامل را نمایش می دهد. با استفاده از GUI، مدیران پلتفرم می توانند عوامل ایجاد، نابود کردن، وقفه و رزومه، ایجاد سلسله مراتب دامنه و فدراسیون های چند عامل DF (تسهیل کننده ها) ایجاد کنند.

جید بر اساس فن آوری های جاوا RMI، جاوا Corba IDL، سریال جاوا و API بازتاب جاوا است. توسعه MAC در این محیط به لطف استفاده از مشخصات FIPA و تعدادی از ابزارها برای حمایت از اشکال زدایی و استقرار سیستم ساده شده است. این پلت فرم عامل را می توان بر روی کامپیوتر با سیستم عامل های مختلف نصب کرد، و می توان آن را از طریق رابط GUI از راه دور پیکربندی شده است. فرآیند پیکربندی این پلت فرم بسیار انعطاف پذیر است: حتی در طول اجرای برنامه ها با حرکت دادن عوامل از یک دستگاه به دیگری، می توان آن را تغییر داد. تنها نیاز به عملیات سیستم، نصب در زمان اجرا جاوا است.

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


شکل. 2.4 چهارشنبه "وجود" عوامل جید

نمایندگان جید باید اسامی منحصر به فرد داشته باشند، نام یکدیگر را بدانند و به لطف این، آنها می توانند به طور مستقیم، بدون در نظر گرفتن موقعیت واقعی خود، به طور مستقیم ارتباط برقرار کنند. در داخل یک ظرف تک (به عنوان مثال، A2 و A3 عوامل)، در ظروف مختلف در یک پلت فرم (به عنوان مثال، A1 و A2) و یا در سیستم عامل های مختلف (به عنوان مثال، A4 و A5). کانتینر اصلی از معمول متفاوت است، زیرا حاوی یک سیستم مدیریت عامل و روتر است که به طور خودکار شروع می شود زمانی که کانتینر اصلی آغاز می شود. سیستم مدیریت عامل AMS (سیستم مدیریت عامل) "قدرت" در پلت فرم (ایجاد / حذف عوامل در ظروف راه دور درخواست شده از طریق AMS) و ارائه خدمات نامگذاری عامل. DF دایرکتوری روتر (تسهیلگر دایرکتوری)، که سرویس "صفحات زرد" را فراهم می کند، به یافتن نماینده عوامل دیگر کمک می کند تا خدمات لازم را برای دستیابی به اهداف خود بدست آورید.

برای برقراری ارتباط، معماری محیط زیست یک فرآیند انعطاف پذیر و کارآمد پیام رسانی را فراهم می کند که در آن Jade یک صف را ایجاد می کند و جریان ACL-Message را کنترل می کند که برای هر عامل خصوصی هستند. نمایندگان قادر به تماس با صف با استفاده از ترکیبی از چندین حالت کار خود هستند: مسدود کردن، رأی دادن، شکستن عملیات و مقایسه با استاندارد (اگر به روش های جستجو مربوط می شود). جعبه ابزار چند عامل

که در نسخه های اخیر سیستم ها از جاوا RMI، رویداد اعلان و IIOP استفاده می کنند. با این حال، شما به راحتی می توانید پروتکل های دیگر را اضافه کنید. همچنین توانایی ادغام SMTP، HTTP و WAP را فراهم می کند. اکثر پروتکل های ارتباطی که قبلا توسط جامعه بین المللی توسعه دهندگان محیط های عامل شناسایی شده اند، در دسترس هستند و می توانند در نمونه های خاص پس از تعیین رفتار سیستم و حالت های اساسی آن، نشان داده شوند. همراه با پشتیبانی از زبان های محتوا تعریف شده توسط کاربر، هستی شناسی مدیریت عامل، و همچنین هستی شناسی، که می تواند اجرا شود و با عوامل ثبت شده و توسط سیستم استفاده شود. به منظور به طور قابل توجهی افزایش عملکرد جید، ممکن است با کلیپ های Jess و Java-Shell ادغام شود.

تجزیه و تحلیل مقایسه ای از قابلیت های رسانه ابزار مورد نظر برای توسعه عوامل نرم افزاری در جدول 4 ارائه شده است و در شکل 2.5 نتایج این تجزیه و تحلیل را نشان می دهد.

جدول 4

تجزیه و تحلیل مقایسه ای از امکانات رسانه ابزار برای توسعه عوامل نرم افزاری

فرصت های محیط های سازنده

ابزار ساخت آژانس ها

ابزار مدیریت پروژه

محیط گرافیک برای تعیین مشخصات عوامل

مکانیسم کنترل یکپارچگی

ابزار هستی شناسی ساخت و ساز

کتابخانه برای توسعه انبوه

مکانیسم استدلال عامل عامل در مورد توانایی ها و توانایی های دیگر عوامل دیگر

ارتباطات رسمی زبان

ابزار تعامل عامل

تعیین عوامل با توانایی های مشخص شده


شکل. 2.5

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

لازم است توجه به این واقعیت است که برای پلت فرم JADE یک افزونه BDI اضافی - محیط Jadex وجود دارد. این محیط یک معماری قابل قبول هیبریدی را فراهم می کند که در آن عامل به عنوان "جعبه سیاه" در نظر گرفته می شود و پیام ها را ارسال می کند. بر اساس نتایج پیام های پردازش، رویدادهای داخلی و خارجی، مکانیزم مشورتی تصمیم گیری در مورد انتقال به یک برنامه عملی جدید و یا ادامه یک پیری دارد. طرح فعلی می تواند پیام ها را به نمایندگان دیگر ارسال کند، پایگاه داده های باورها را تغییر دهد، اهداف جدید را شکل دهد و رویدادهای داخلی را ایجاد کند. این سیستم از کتابخانه برنامه هایی استفاده می کند که به عنوان کلاسهای جاوا پردازش می شوند.

یکی از مزایای اصلی توسعه عوامل هوشمند در پلت فرم Jadex این است که لازم نیست زبان های برنامه نویسی جدید را مطالعه کنید. در عوض، عوامل بر اساس برنامه نویسی شی گرا در یک محیط توسعه یکپارچه (IDES)، مانند Eclipse و Idech Intellij کدگذاری می شوند.

یکی دیگر از جنبه های مهم استقلال نرم افزار Binder است، زیرا Jadex به طور مستقل با ماژول های آن می تواند در سناریوهای کاملا دیگر در سطح بالایی از پلت فرم استفاده شود. برنامه های عامل گرا خواص صریح عناصر عمل مستقل خود را که در روند تصمیم گیری به اشیاء منفعل شرکت می کنند، اضافه می کنند. در این راستا، عوامل مواد تشکیل دهنده فعال را با قابلیت های تعامل فردی با اجزای سازنده ارائه می دهند.

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

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

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

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

توسعه برنامه های کاربردی در پروژه های مدرن IT

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

ویژگی های پروژه های مدرن IT

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

انتقال به تقسیم کار در پروژه های توسعه

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

برنامه های کاربردی را تغییر دهید

صحبت از پروژه های توسعه برنامه ها و مرتبط با توسعه برنامه های کاربردی قطعات پروژه های پیچیده فناوری اطلاعات، باید اشاره کرد که امروز ایجاد راه حل های شرکتی بر اساس نه تنها DBMS، بلکه سایر محصولات - برنامه های اداری، سیستم های GIS و CAD، می شود بیشتر مربوط به بودجه تجزیه و تحلیل کسب و کار، محصولات تخصصی سرور، سیستم های مدیریت سازمانی و سایر برنامه های کاربردی کسب و کار. الزامات حفاظت از راه حل های ایجاد شده نیز به طور قابل توجهی متفاوت از آنهایی است که سه سال پیش وجود داشت. در نهایت، یکی از روند های مهم، رشد علاقه به برنامه های کاربردی است دستگاه های موبایل و برنامه های کاربردی قادر به کار خودمختار و در صورت لزوم، با سیستم اطلاعات سازمانی همگام سازی می شوند.

از روندهای دیگر که اخیرا در زمینه توسعه تصمیمات شرکت ها بوده است، باید توجه داشته باشید که نیاز به رشد شرکت ها در ابزارهای تجزیه و تحلیل کسب و کار که بخشی از راه حل های موجود یا موجود در قالب ابزارهای فردی هستند، اشاره شد. با وجود این واقعیت که ایجاد برنامه های کاربردی با استفاده از تحلیلی کسب و کار دشوار است به دلیل این واقعیت است که امروز استاندارد سازی دسترسی به داده ها از ذخیره سازی چند بعدی و زبان درخواست ها به آنها مربوط می شود، در دست توسعه دهندگان در حال حاضر به اندازه کافی وجود دارد به معنای حل این وظایف برای محبوب ترین سیستم عامل های تحلیلی به عنوان تامین کنندگان سیستم عامل های تحلیلی (به عنوان مثال، اوراکل، مایکروسافت و Hyperion) و از شرکت های متخصص در ابزارهای تجزیه و تحلیل داده ها (Cognos، Proclarity و Objects کسب و کار). علاوه بر این، اطلاعات کسب و کار و ابزارهای گزارش، BIRT (هوش کسب و کار و ابزار گزارش، BIRT) برای پلت فرم Eclipse در دسترس هستند، که در حال حاضر نیمی از بازار برای توسعه برنامه های جاوا است.

دخالت مشتری در روند توسعه

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

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

معماری و پلتفرم محبوب ترین

خدمات معماری گرا

یکی از روند های فعلی توسعه زیرساخت های فناوری اطلاعات شرکت های مدرن و معماری های شرکت های بزرگ، انتقال به معماری خدمات گرا (معماری خدمات گرا، SOA) است. این معماری، ایجاد و پیاده سازی برنامه های توزیع شده و خدمات بر اساس استفاده از فن آوری های مختلف، مانند خدمات وب (به عنوان فن آوری های مشابه، به طور گسترده ای توسط پلت فرم Eclipse و Borland و Microsoft Development Developments پشتیبانی می شود) فرض می شود.

محبوب ترین سیستم عامل ها

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

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

افزایش محبوبیت سیستم عامل های تلفن همراه

امروزه برنامه های موبایل تقریبا برای یک و نیم دیگر از سیستم عامل ها توسعه یافته است. بر اساس گزارش شرکت تحقیقاتی Evans Data Corp در پایان سال گذشته انجام شده است. بررسی چند صد توسعه دهندگان برنامه های موبایلرهبران اصلی این منطقه عبارتند از چارچوب Compact Compact و Java 2 Mobile Edition (J2ME)، و همچنین سایر سیستم عامل های مایکروسافت برای دستگاه های تلفن همراه و لینوکس جاسازی شده (شکل 1).

شکل. 1. محبوبیت سیستم عامل های موبایل در میان توسعه دهندگان (منبع - انتخاب توسعه دهندگان سیستم عامل های بی سیم. رتبه بندی قطعی پلت فرم بی سیم توسط توسعه دهندگان در سراسر جهان - Evans Data Corp.، سپتامبر 2005)

با این وجود، با توجه به همان نظرسنجی، از لحاظ دیدار با توسعه دهندگان به کیفیت ابزار و سطح حمایت از جامعه توسعه، پلت فرم نوکیا سری 60 در حال حاضر اشغال شده است. با توجه به پیش بینی های همان Evans Data Corp.، سهم لینوکس جاسازی شده در بازار پلت فرم تلفن همراه انتظار می رود.

برای توسعه برنامه های کاربردی، برای سیستم عامل های ویندوز ابزارهای موبایل از مایکروسافت چندین سال وجود دارد. ابزارهای Borland در دسترس هستند برای سیستم عامل های .NET چارچوب Compact Compact، Symbian و J2ME. علاوه بر این، برخی از ابزارهایی برای توسعه برنامه های تلفن همراه از Sybase، و همچنین تعدادی از تولید کنندگان دیگر وجود دارد.

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

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

به تازگی، بسیاری از شرکت هایی که قبلا در ایجاد محیط های توسعه تخصصی (به ویژه IBM، Associates Computer، Borland، مایکروسافت، اوراکل و Sybase) تخصصی داشتند، توجه زیادی به ابزارهای این هدف دارند. نیاز به یکپارچه سازی تمام این ابزارهای "سنگین" منجر به ایجاد کل سیستم عامل ها برای توسعه نرم افزار مبتنی بر نقش و مدیریت چرخه زندگی برنامه کاربردی می شود - چنین سیستم عامل ها در حال حاضر توسط Borland، IBM، شرکت های مایکروسافت و نزدیک به دیگران ساخته شده است.

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

نسخه های رایگان از ابزارهای تجاری

اگر به یاد داشته باشید که چه اتفاقی با ابزارهایی برای توسعه در دو سال گذشته اتفاق افتاده است، می توان اشاره کرد که این روند به تازگی توسط تولید کنندگان پیشرو توسعه نسخه های رایگان خود (و با خوب است عملکرد) به منظور جذب توجه توسعه دهندگان به پتانسیل و فرصت های کامل محصولات و سیستم عامل های کامل که آنها در نظر گرفته شده است. به طور خاص، بورلند حدود سه سال تولید می کند نسخه های رایگان برخی از تحولات آنها. مایکروسافت اخیرا یک خانواده از محصولات اکسپرس منتشر شده است که شامل چندین ابزار برای توسعه فرم های ویندوز و برنامه های کاربردی ASP .NET است. اوراکل، به نوبه خود، همچنین دسترسی به توسعه دهنده رایگان به ابزار Oracle JDeveloper 10G ارائه داد.

ابزار منبع باز

یکی دیگر از ویژگی های دیگر از بازار مدرن برای ابزارهای توسعه وجود دارد، رشد فعال در محبوبیت سیستم عامل های منبع باز و ابزار، که در حال حاضر توسط بسیاری از بودجه توسط شرکت های تجاری سرمایه گذاری شده است، از جمله تولید کنندگان شناخته شده از سیستم عامل های شناخته شده به عنوان IBM ، novell و اوراکل. در میان نمونه های قابل توجه ترین باید توسعه فعال محیط Eclipse باشد - یک پلت فرم توسعه باز جهانی سازگار با بسیاری از زبان های پلت فرم، راه اندازی و فن آوری های فن آوری، و همچنین پروژه مونو بخش پلت فرم پلت فرم .NET برای سیستم عامل لینوکس (کامپایلرها و سایر ابزارها در حال حاضر به طور فعال تولید می شوند).

پروژه Eclipse در سال 1998 توسط IBM یافت شد، که هدف خود را برای ایجاد یک محیط توسعه یکپارچه جاوا از یک نسل جدید که توسط ابزارهای یکپارچه ساخته شده در آن ساخته شده است، نیروهایی از چندین ارائه دهندگان ابزار جاوا گسترش یافت. برای این منظور، شرکت IBM در پایان سال 2001 بخشی از منبع منبع باز از کد منبع از ابزارهای توسعه برنامه کاربردی جاوا را فراهم کرد WebSphere Studio Workbench و تشکیل کنسرسیوم Eclipse (شامل نمایندگان Borland، IBM، سیستم های نرم افزاری QNX، منطقی نرم افزار، Red Hat، Suse، Togethersoft و Webgain) برای مدیریت توسعه بیشتر این محیط توسعه، بعدا به یک بنیاد اجباری غیر تجاری مستقل تبدیل شده است که امروزه 115 عضو دارد.

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

همانطور که برای ابزار واقعی توسعه برنامه ها، پلت فرم Eclipse در حال حاضر توسط محیط توسعه برای PHP، Fortran، Macromedia Flex ایجاد شده است؛ برنامه ریزی شده است که تعدادی از ابزارهایی را برای توسعه برنامه های کاربردی برای سیستم عامل های جاسازی شده و تلفن همراه صادر کند. برای پلت فرم Eclipse، ابزار تجاری برای توسعه شرکت های IBM، Borland و SAP وجود دارد.

محیط های توسعه محبوب ترین

بر اساس یک نظرسنجی از 1200 توسعه دهندگان انجام شده در ماه ژوئن سال جاری توسط شرکت تحقیقاتی Evans Data Corp، به طور گسترده ای استفاده شده از محیط توسعه، تبدیل به مایکروسافت ویژوال استودیو .NET (شکل 2).

شکل. 2. توسعه فرکانس استفاده از رسانه ها (منبع - توسعه دهندگان انتخاب IDE ScoreCard - Evans Data Corp.، ژوئن 2006)

با توجه به همان نظرسنجی، محبوب ترین از لحاظ عملکرد محیط توسعه نرم افزار، تبدیل به برنامه IBM برنامه های کاربردی منطقی بود، به عنوان طرفین به عنوان یک ابزار برای مدل سازی و مونتاژ برنامه ها و با بهترین مجموعه ای از نمونه ها شناخته شد ( شکل 3)

نتایج این نظرسنجی منعکس کننده روند در حال حاضر ذکر شده در شیوع دو پلت فرم محبوب ترین (ویندوز / مایکروسافت دات نت و جاوا / J2EE - تقریبا تمام محیط های توسعه محبوب برای این سیستم عامل ها در نظر گرفته شده است) و افزایش محبوبیت بودجه و باز سیستم عامل های توسعه منبع (همانطور که توسط حضور گرفتگی در پنج محیط توسعه محبوب ترین نشان داده شده است).

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