телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Характеристики на разработката на софтуерен агент. Разработване на софтуерен пакет за автоматизиране на процеса на получаване и предаване на съобщения между кол център и клиенти

Тази статия е посветена на технологиите за разработка на приложения и тенденциите в тяхното развитие в контекста на прехода на повечето местни и чуждестранни компании от спонтанна автоматизация на отделни области на тяхната дейност към унифицирани интегрирани решения.

Разработка на приложения в съвременни ИТ проекти

Настоящият период на развитие на средствата за автоматизация и информатизация на местните предприятия може да се характеризира като време на масов преход от спонтанна автоматизация на отделни области от дейността на компаниите към унифицирани интегрирани решения, обхващащи всички аспекти на тяхното съществуване. Това не може да не се отрази на състава и обхвата на най-често изпълняваните ИТ проекти и методите на тяхното изпълнение.

Характеристики на съвременните ИТ проекти

Ако преди пет до седем години проекти, свързани с разработката по поръчка на уникални приложения (и малко по-рядко - решения, базирани на готови компоненти, предназначени за конкретна тематична област) и изпълнявани от ерудирани, общи програмисти със сродни специалности (напр. , които умеят да администрират локални мрежии СУБД), тогава днес, на първо място, се поръчват проекти за внедряване на готови бизнес приложения и ERP системи, в рамките на които често се изпълняват проекти за разработване на решения, базирани на същите готови бизнес приложения. Причината за това е, от една страна, осъзнаването от страна на мениджърите на повечето фирми на факта, че колкото и фирмата им да претендира за уникална маркетингова стратегия, по същество както производството, така и определени аспекти от дейността са съвсем стандартни, а от друга страна - признаване от страна на производителите на бизнес приложения на неуникалността на бизнес процесите на повечето компании и създаването от тяхна страна на широк набор от стандартни решения, като същевременно предоставят услуги за тяхното внедряване, поддръжка и актуализиране на техните собствени или от партньори.

Преход към разделение на труда в проектите за разработка на софтуер

Тази ситуация не може да не се отрази на състава на персонала на ИТ компаниите, включително напоследъкпреобладават системните интегратори (понякога имащи собствен отдел за разработка, но специализирани главно в сложни проекти, които включват не само разработка на приложения), а има малко компании, специализирани изключително в разработка на приложения. В последния процесът на специализация е в разгара си, разделяйки екипа за разработка на бизнес анализатори, системни анализатори, програмисти, технически писатели и ръководители на проекти. В същото време често системният анализатор не знае как да програмира, бизнес анализаторът не управлява проекти, а ръководителят на проекти се занимава само с организационна работа и не се интересува от архитектурата на приложението, още по-малко от предметната област. Това отразява факта на прехода от дребномащабно производство на изключителен софтуер към масово промишлено производство на стандартни решения, изисквани от съвременните потребители.

Промяна на изискванията за кандидатстване

Говорейки за проекти за разработка на приложения и части от сложни ИТ проекти, свързани с разработка на приложения, трябва да се отбележи, че днес най-актуално е създаването на корпоративни решения, базирани не само на СУБД, но и на други продукти - офис приложения, ГИС и CAD системи , инструменти за бизнес анализ, специализирани сървърни продукти, системи за управление на предприятието и други бизнес приложения. Изискванията за сигурност на създаваните решения също са значително различни от тези, които съществуваха преди три години. И накрая, една важна тенденция е нарастващият интерес към приложенията за мобилни устройстваи приложения, които могат да работят автономно и, ако е необходимо, да се синхронизират с информационна системапредприятия.

Сред другите тенденции, които се появиха наскоро в развитието на корпоративни решения, заслужава да се отбележи нарастващата нужда на компаниите от инструменти за бизнес анализ, които са част от съществуващи решения или съществуват като отделни инструменти. Въпреки факта, че създаването на приложения, използващи бизнес анализи, е трудно поради факта, че днес въпросите за стандартизиране на достъпа до данни от многомерни хранилища и езика за заявки към тях остават актуални, разработчиците вече имат достатъчно инструменти в ръцете си за решаване на подобни проблеми за най-популярните аналитични платформи, като например от доставчици на самите аналитични платформи (например Oracle, Microsoft и Hyperion) и от компании, специализирани в инструменти за анализ на данни (Cognos, ProClarity и Business Objects). В допълнение, Business Intelligence and Report Tools (BIRT) са достъпни за платформата Eclipse, която сега представлява половината от пазара за инструменти за разработка на Java приложения.

Включване на клиента в процеса на разработка

Оценката на приноса на разработчиците на приложения за успеха на бизнеса на компанията клиент, както и оценката на качеството на самия процес на разработка и резултата от него, винаги е бил спорен въпрос и повод за недоразумения и конфликти. Напоследък обаче се появиха методи за оценка на зрелостта на процесите на разработка и препоръки, базирани на модела за интегриране на модела за зрялост на способностите (CMMI), както и редица методологии за разработка на приложения, които предоставят на клиента на приложението възможност да контролира напредъка на процеса на развитие. Моделът CMMI ви позволява да оценявате и подобрявате процесите на разработка на приложения и да се възползвате от успешни примери за настройка на такива процеси, а наличието на оценка на такъв или нивото на зрялост според този модел в компанията разработчик е до известна степен гаранция за качеството на крайния резултат от процеса на разработване на продукта в тази компания.

Семейство от методологии за разработка на приложения под общото наименование Agile методологии (включително по-специално методологията екстремно програмиране, за който писахме преди няколко месеца) предоставя „рецепти“ за ежедневно управление на екип по проекта, включително, наред с други, принципа на тестово ориентирано развитие (TDD), който се е доказал като средство за създаване на висококачествен код. Характеристика на това семейство методологии е включването на клиента в процеса на разработка, така че той да може да го контролира на всички етапи.

Най-популярните архитектури и платформи

Сервизно-ориентирана архитектура

Една от съвременните тенденции в развитието на ИТ инфраструктурата на съвременните предприятия и архитектури корпоративни приложения- преход към сервизно-ориентирана архитектура (SOA). Тази архитектура включва създаването и внедряването на разпределени приложения и услуги, базирани на използването на различни технологии, като уеб услуги (такива технологии се поддържат широко от платформата Eclipse и инструментите за разработка на Borland и Microsoft).

Най-популярните платформи

Една от най-забележимите тенденции в последно време е унифицирането на платформите, за които се създават повечето приложения, и идентифицирането на два лидера сред тях - Windows/Microsoft .NET и Java/J2EE. Това до голяма степен се дължи на способността на тези платформи да предоставят възможност за създаване на приложения, степента на защита на данните, при които, както и възможността за създаване на потребителски интерфейси и предоставяне на достъп до услуги и данни, отговарят на съвременните изисквания. Тази тенденция обаче отдавна не е нова за никого.

Също така отбелязваме, че поради бързото нарастване на интереса сред корпоративните клиенти към разработките за мобилни устройства, инструментите за разработка на тази категория приложения и самите мобилни платформи стават все по-популярни сред разработчиците.

Нарастващата популярност на мобилните платформи

Днес мобилните приложения се разработват за около една и половина дузина платформи. Според проучване от края на миналата година на изследователската фирма Evans Data Corp. проучване на няколкостотин разработчици мобилни приложения, основните лидери в тази област са .NET Compact Framework и Java 2 Mobile Edition (J2ME), както и др. Платформи на Microsoftза мобилни устройства и вграден Linux (фиг. 1).

Ориз. 1. Популярност мобилни платформисред разработчиците (източник - Developers’ Choice Wireless Platforms. Definitive Rankings of Wireless Platform by Developers Worldwide - Evans Data Corp., септември 2005 г.)

Въпреки това, според същото проучване, по отношение на удовлетвореността на разработчиците от качеството на инструментите и нивото на поддръжка от общността на разработчиците, платформата Nokia Series 60 вече е на първо място.Според прогнозите на същата Evans Data Corp., делът на вградения Linux на пазара на мобилни платформи се очаква да расте.

По отношение на инструментите за разработка на приложения, Windows платформиМобилните инструменти от Microsoft съществуват от няколко години. Инструментите на Borland са налични за платформите .NET Compact Framework, Symbian и J2ME. Освен това има някои инструменти за разработка на мобилни приложения от Sybase, както и от редица други производители.

Инструменти за програмисти днес

Тясната специализация на разработчиците доведе до активното развитие през последните пет години на така наречените инструменти за поддръжка на жизнения цикъл на приложенията, предназначени за големи екипи от разработчици. Такива инструменти включват инструменти за управление на изискванията, бизнес процеси, моделиране на приложения и данни, тестване и оптимизиране на приложения, управление на работата в екип, контрол на версиите и управление на промените. Много водещи доставчици на софтуер произвеждат такива инструменти: IBM, Computer Associates, Borland, Microsoft, Oracle и няколко други.

Напоследък много компании, които преди са се специализирали в създаването на среди за разработка (по-специално IBM, Computer Associates, Borland, Microsoft, Oracle и Sybase), започнаха да обръщат голямо внимание на инструменти за тази цел. Необходимостта от взаимна интеграция на всички тези "тежки" инструменти доведе до създаването на цели платформи за ролева разработка и управление на софтуер жизнен цикълприложения - такива платформи сега се произвеждат от Borland, IBM, Microsoft и редица други.

По правило използването на такива инструменти изисква разглеждане на процеса на разработка на софтуер като производствен процес и съответно създаване и прилагане на методи за управление на този процес, подобни на методите за управление на процесите на производство на материали. Внедряването на такива техники често се осъществява чрез внедряване на отделни (и не евтини!) ИТ проекти за внедряване в компании, които разработват интегрирани платформи за разработка на приложения, за да автоматизират и оптимизират процесите, съпътстващи разработката, включително задаване на задачи, управление на изисквания , и постигане на съответствие със стандартите за качество.

Безплатни версии на търговски инструменти

Ако си спомняте какво се случи с инструментите за разработка през последните две години, ще забележите, че напоследък има много активна тенденция водещи производители на инструменти за разработка да пускат безплатни техни версии (и то с добри функционалност), за да привлече вниманието на разработчиците към потенциала и възможностите на пълнофункционалните продукти и платформите, за които са предназначени. По-специално, компанията Borland произвежда безплатни версиинякои от неговите инструменти за разработка. Microsoft наскоро пусна семейството си продукти Express, което включва няколко инструмента за разработване на Windows Forms и ASP .NET приложения. Oracle Corporation от своя страна също предостави на разработчиците безплатен достъп до инструмента Oracle JDeveloper 10g.

Инструменти с отворен код

Съществува и друга тенденция, която е характерна за съвременния пазар на инструменти за разработка - активният растеж на популярността на платформи и инструменти с отворен код, в чието развитие сега се инвестират много пари от търговски компании, включително такива добре познати платформи производители като IBM, Novell и Oracle. Сред най-ярките примери, заслужава да се отбележи активното развитие на средата Eclipse - универсална отворена платформа за разработка, съвместима с много езици, платформи за внедряване и технологии, както и проекта Mono, внедряващ част от платформата .NET за операционна система . Linux системи(компилатори и други инструменти вече се произвеждат активно за последните).

Проектът Eclipse стартира през 1998 г. от IBM с цел създаване на интегрирана среда за разработка на Java от следващо поколение, разширяема с вградени инструменти, в множество доставчици на инструменти на Java. За тази цел IBM в края на 2001 г. предостави на общността с отворен код част от изходния код на своя инструмент за разработка на Java приложения WebSphere Studio Workbench и формира консорциума Eclipse (включващ представители на Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft и Webgain), за да управлява по-нататъшното развитие на тази среда за разработка, която по-късно се превърна в независима организация с нестопанска цел, Eclipse Foundation, която сега има 115 членове.

Днес, пет години след създаването си, платформата Eclipse стана толкова популярна, че започна да измества широко използваните комерсиални инструменти (като някои инструменти за разработка на Java) от пазара. Днес пазарният дял на Eclipse при инструментите за разработка на Java приложения е приблизително 50%. През изминалата година обаче имаше ясна тенденция Eclipse да се трансформира от среда за разработка на Java в платформа за интегриране на инструменти за целия жизнен цикъл на разработка на приложения - наскоро консорциумът Eclipse стартира проекти като създаването на среда за графично моделиране, инструменти за ориентирана към услуги архитектура и бяха пуснати актуализирани версии на инструменти за тестване, бизнес анализ и инструменти за създаване на уеб приложения.

Що се отнася до действителните инструменти за разработка на приложения, средите за разработка за PHP, Fortran, Macromedia Flex вече са създадени на базата на платформата Eclipse; Планираме да пуснем редица инструменти за разработване на приложения за вградени и мобилни платформи. Има и комерсиални инструменти за разработка за платформата Eclipse от IBM, Borland и SAP.

Най-популярните среди за разработка

Според проучване сред 1200 разработчици, проведено през юни тази година от изследователската компания Evans Data Corp., Microsoft Visual Studio .NET е най-широко използваната среда за разработка (Фигура 2).

Ориз. 2. Честота на използване на среди за разработка (източник - Developers’ Choice IDE Scorecard - Evans Data Corp., юни 2006 г.)

Според същото проучване най-популярната среда за разработка на приложения по отношение на функционалността е IBM Rational Application Developer, призната от участниците в анкетата като най-добрият инструмент за моделиране и изграждане на приложения и имаща най-добрия набор от примери (Фигура 3).

Резултатите от това проучване отразяват вече споменатите тенденции на доминирането на двете най-популярни платформи (Windows/Microsoft .NET и Java/J2EE - почти всички популярни среди за разработка са предназначени за тези платформи) и нарастващата популярност на инструментите за разработка с отворен код и платформи (както се вижда от присъствието на Eclipse в топ пет на най-популярните среди за разработка).

И така, съвременните тенденции в развитието на технологиите за разработка на приложения включват намаляване на дела на разработката на приложения в ИТ проектите, постепенен преход от дребномащабно производство на изключителен софтуер към масово индустриално производство на стандартни решения, все по-активно използване на инструменти за поддържа жизнения цикъл на разработка на приложения (включително проекти за внедряване на интегрирани платформи за разработка на приложения). Напоследък се забелязва и повишен интерес към създаването на приложения за мобилни платформи. Характерна тенденция последните годиние и появата на висококачествени инструменти с отворен код. Възможно е тези тенденции да продължат поне още няколко години.

За оптимално разработване на софтуерна среда е необходимо да се комбинират различни езици за програмиране, тъй като всеки от тях е насочен към постигане на конкретни цели и задачи. Например, няколко PHP команди могат да създадат цяла уеб страница, но на практика скриптът почти винаги се използва заедно с HTML и обикновено изходният текст на скрипта съдържа голям брой редове. Все пак трябва да се отбележи, че PHP кодът може да се намира навсякъде в HTML документ, но не е задължително да използва HTML. Просто трябва да се уверите, че PHP кодът създава правилния HTML код, който след това ще бъде правилно показан от уеб браузъра.

HTML е език за маркиране на хипертекст, който се използва за създаване на документи в Интернет. С негова помощ се създава необходимата структура и решетка на страницата, чийто външен вид е допълнително подобрен чрез CSS и JavaScript. В момента най-новата версия е HTML5, която беше предшествана от HTML4.01. Повечето уеб ресурси са изградени на базата на този конкретен език.

За разлика от HTML 4, който има 3 валидатора, HTML 5 има един валидатор:. HTML 5 поддържа MathML и SVG.

Нови тагове: раздел, статия, настрана, hgroup, заглавие, долен колонтитул, навигация, диалог, фигура, видео, аудио, източник, вграждане за вмъкване на съдържание с плъгина (само), маркиране, прогрес, измервател, време, рубин, rt, rp, платно, команда, подробности, списък с данни, keygen, изход.

Нови типове въвеждане: телефон, търсене, url, имейл, дата и час, дата, месец, седмица, час, дата и час-локално, число, диапазон, цвят.

Нови атрибути за тагове: ping медийни атрибути за a и област и др.

Изчезването на някои тагове, поради факта, че те могат да бъдат заменени с CSS: basefont, big, center, font, s, strike, tt, u.

Рамките изчезват поради отрицателно въздействие върху цялата страница

Изчезването на някои тагове, заменени в актуализираната спецификация с по-подходящи: акроним (използван е abbr), аплет (използван е обект), isindex, dir.

Някои атрибути на тагове не се поддържат поради липса на необходимост: rev и charset за връзка и a, форма и координати за a и т.н.

Някои атрибути на етикети не се поддържат поради факта, че когато използвайки CSSпостига се най-добър ефект: подравняване за всички тагове, alink, връзка, текст, vlink за тялото и т.н.

Нови API: рисуване на 2D картини в реално време; контрол върху възпроизвеждането на медийни файлове; съхраняване на данни в браузъра; редактиране; Влачите и пускате; работа с мрежата; MIME; нови елементи в DOM.

CSS е формален език за описание на външния вид на документ, написан с помощта на език за маркиране. CSS е акроним за Cascading Style Sheets. CSS е език за стилизиране, който определя показването на HTML документи. Например CSS работи с шрифтове, цвят, полета, линии, височина, ширина, фонови изображения, позициониране на елементи и много други неща. HTML може да се използва за проектиране на уеб сайтове, но CSS е по-мощен и по-прецизен и усъвършенстван. В момента CSS се поддържа от всички браузъри.

HTML се използва за структуриране на съдържанието на страница. CSS се използва за форматиране на това структурирано съдържание. С развитието на мрежата дизайнерите започнаха да търсят начини за форматиране на онлайн документи. За да отговорят на повишените изисквания на потребителите, производителите на браузъри (тогава Netscape и Microsoft) изобретиха нови HTML тагове, като напр. , които се различаваха от оригиналните HTML тагове по това, че определяха външния вид, а не структурата. Това също доведе до оригинални маркери за структуриране като

, все повече се използват за дизайн на страници вместо за структуриране на текст. Много нови етикети за дизайн като , се поддържаха само от един браузър. „Необходим ви е браузър X, за да видите тази страница“ се превърна в често срещан отказ от отговорност на уеб сайтовете.

CSS е създаден, за да коригира тази ситуация, като предоставя на уеб дизайнерите възможности за прецизен дизайн, които се поддържат от всички браузъри. В същото време представянето и съдържанието на документа бяха разделени, което значително опрости работата.

Появата на CSS беше революция в света на уеб дизайна. Специфични предимства на CSS:

Контролирайте показването на множество документи с помощта на един стилов лист;

По-прецизен контрол върху външен видстраници;

Различни изгледи за различни медии (екран, печат и др.);

Сложна и изтънчена дизайнерска техника.

Има начини за кандидатстване CSS правилакъм HTML документа.

Метод 1: Inline/In-line (стилов атрибут). Можете да приложите CSS към HTML, като използвате атрибута HTML style. Цветът на фона може да бъде настроен на червен по следния начин:

Пример

Това е червена страница

Метод 2: Вътрешен (етикет за стил). Вторият начин за вмъкване на CSS кодове е HTML таг