tévék. Konzolok. Projektorok és tartozékok. Technológiák. Digitális TV

A szoftverügynök fejlesztés jellemzői. Szoftvercsomag fejlesztése a telefonközpont és az ügyfelek közötti üzenetek fogadásának és továbbításának automatizálására

Ezt a cikket az alkalmazásfejlesztési technológiáknak és fejlesztésük trendjeinek szenteljük, a legtöbb hazai és külföldi vállalat átállása során az egyes tevékenységi területek spontán automatizálásáról az egységes integrált megoldásokra.

Alkalmazásfejlesztés modern informatikai projektekben

A hazai vállalkozások automatizálási és informatizálási eszközeinek fejlesztésének jelenlegi időszaka úgy jellemezhető, mint a vállalatok egyes tevékenységi területeinek spontán automatizálásáról a létezésük minden aspektusát lefedő egységes, integrált megoldások felé történő tömeges átállás időszaka. Ez nem befolyásolhatta a leggyakrabban megvalósuló informatikai projektek összetételét és terjedelmét, valamint megvalósításuk módszereit.

A modern informatikai projektek jellemzői

Ha öt-hét évvel ezelőtt egyedi alkalmazások (és valamivel ritkábban egy adott tématerületre szánt, kész komponensekre épülő megoldások) egyedi fejlesztésével kapcsolatos projektek, amelyeket művelt, általánosan gondolkodó, kapcsolódó szakterületekkel rendelkező programozók végeztek (pl. , akik tudják, hogyan kell beadni helyi hálózatokés DBMS), akkor ma elsősorban kész üzleti alkalmazások és ERP-rendszerek megvalósítására irányuló projekteket rendelnek meg, amelyek keretében gyakran hajtanak végre projekteket ugyanazon kész üzleti alkalmazásokon alapuló megoldások fejlesztésére. Ennek oka egyrészt az, hogy a legtöbb cég vezetői tisztában vannak azzal a ténnyel, hogy bármennyire is egyedülállónak vallja magát a cég marketingstratégiájában, lényegében mind a termelése, mind a tevékenységének bizonyos aspektusai. meglehetősen szabványosak, másrészt - az üzleti alkalmazások gyártói elismerik a legtöbb vállalat üzleti folyamatainak nem egyediségét, és szabványos megoldások széles skáláját hozták létre, miközben szolgáltatásokat nyújtanak azok megvalósításához, karbantartásához és frissítéséhez. saját vagy partnerek által.

Átállás a munkamegosztásra a szoftverfejlesztési projektekben

Ez a helyzet nem befolyásolhatta az IT-cégek személyi összetételét, beleértve utóbbi időben túlsúlyban vannak a rendszerintegrátorok (néha saját fejlesztési részleggel is rendelkeznek, de főleg olyan komplex projektekre szakosodtak, amelyek nem csak alkalmazásfejlesztést foglalnak magukban), és kevés a kizárólag alkalmazásfejlesztésre szakosodott cég. Utóbbiban javában zajlik a specializáció folyamata, melynek során a fejlesztőcsapat üzleti elemzőkre, rendszerelemzőkre, programozókra, műszaki írókra és projektmenedzserekre oszlik. Ugyanakkor gyakran előfordul, hogy a rendszerelemző nem tud programozni, az üzleti elemző nem irányít projekteket, a projektmenedzser pedig csak szervezési munkával foglalkozik, és nem érdekli az alkalmazás architektúrája, még kevésbé a témakör. Ez azt a tényt tükrözi, hogy az exkluzív szoftverek kisüzemi gyártásáról a modern felhasználók által igényelt szabványos megoldások tömegipari gyártása felé haladunk.

Alkalmazási követelmények módosítása

Az alkalmazásfejlesztési projektekről és az alkalmazásfejlesztéssel kapcsolatos komplex informatikai projektek részeiről szólva megjegyzendő, hogy ma már nem csak a DBMS-re, hanem más termékekre - irodai alkalmazásokra, térinformatikai és CAD rendszerekre - alapuló vállalati megoldások létrehozása a legjelentősebb. , üzleti elemző eszközök, speciális szervertermékek, vállalatirányítási rendszerek és egyéb üzleti alkalmazások. A készülő megoldások biztonsági követelményei is érezhetően eltérnek a három évvel ezelőttitől. Végül az egyik fontos tendencia a pályázatok iránti növekvő érdeklődés mobil eszközökés olyan alkalmazások, amelyek képesek önállóan dolgozni és szükség esetén szinkronizálni információs rendszer vállalkozások.

A vállalati megoldások fejlesztésében a közelmúltban megjelenő egyéb trendek közül kiemelendő, hogy a vállalatoknak egyre nagyobb igényük van a meglévő megoldások részét képező, vagy külön eszközként létező üzletelemző eszközökre. Annak ellenére, hogy az üzleti analitikát használó alkalmazások létrehozása nehéz, mivel ma továbbra is aktuálisak a többdimenziós tárolási adatokhoz való hozzáférés és a lekérdezési nyelv szabványosításának kérdései, a fejlesztők már most is elegendő eszközzel rendelkeznek az ilyen problémák megoldására. népszerű elemzési platformok, például maguktól az analitikai platformok szállítóitól (például Oracle, Microsoft és Hyperion), valamint adatelemző eszközökre szakosodott cégektől (Cognos, ProClarity és Business Objects). Emellett az Eclipse platformhoz elérhetők a Business Intelligence and Report Tools (BIRT) is, amely ma már a Java alkalmazásfejlesztő eszközök piacának felét teszi ki.

Az ügyfél bevonása a fejlesztési folyamatba

Az alkalmazásfejlesztők hozzájárulásának felmérése a megrendelő cég üzletmenetének sikeréhez, valamint magának a fejlesztési folyamatnak és annak eredményének felmérése mindig is vitatott kérdés volt, és félreértésekre és konfliktusokra adott okot. A közelmúltban azonban megjelentek a fejlesztési folyamatok érettségének felmérésére szolgáló módszerek és a Capability Maturity Model Integration (CMMI) modellen alapuló ajánlások, valamint számos olyan alkalmazásfejlesztési módszertan, amely lehetőséget biztosít az alkalmazás ügyfelének a fejlesztés előrehaladásának ellenőrzésére. a fejlesztési folyamat. A CMMI-modell lehetővé teszi az alkalmazásfejlesztési folyamatok értékelését és javítását, valamint az ilyen folyamatok beállításának sikeres példáinak kihasználását, valamint az e modell szerinti érettségi szint értékelésének jelenléte a fejlesztő cégnél bizonyos mértékig. garancia a termékfejlesztési folyamat végeredményének minőségére ennél a cégnél.

Alkalmazásfejlesztési módszerek családja Agile methodologies általános néven (beleértve különösen a módszertant extrém programozás, amelyről néhány hónapja írtunk) „recepteket” ad egy projektcsapat napi irányításához, beleértve többek között a Test-Driven Development (TDD) elvét, amely bevált eszközként kiváló minőségű kód készítése. Ennek a módszertancsaládnak az a jellemzője, hogy a megrendelőt bevonják a fejlesztési folyamatba, hogy azt minden szakaszban ellenőrizni tudja.

A legnépszerűbb architektúrák és platformok

Szolgáltatás-orientált architektúra

A modern vállalatok és architektúrák informatikai infrastruktúrájának fejlesztésének egyik jelenlegi trendje vállalati alkalmazások- áttérés szolgáltatás-orientált architektúrára (SOA). Ez az architektúra magában foglalja az elosztott alkalmazások és szolgáltatások létrehozását és megvalósítását különböző technológiák, például webszolgáltatások felhasználásán (az ilyen technológiákat széles körben támogatja az Eclipse platform, valamint a Borland és a Microsoft fejlesztői eszközei).

A legnépszerűbb platformok

Az egyik legszembetűnőbb trend a közelmúltban a platformok egységesítése, amelyekre a legtöbb alkalmazást készítik, és ezek közül a két vezető azonosítása – a Windows/Microsoft .NET és a Java/J2EE. Ez nagyrészt annak köszönhető, hogy ezek a platformok képesek alkalmazások létrehozására, az adatvédelem mértéke, valamint a felhasználói felületek létrehozása, valamint a szolgáltatásokhoz és adatokhoz való hozzáférés biztosítása a modern követelményeknek. Ez a tendencia azonban már régóta nem újdonság senkinek.

Azt is megjegyezzük, hogy a vállalati ügyfelek mobileszközökre irányuló fejlesztések iránti érdeklődésének rohamos növekedése miatt a fejlesztők körében egyre népszerűbbek az ehhez az alkalmazáskategóriához tartozó fejlesztőeszközök és maguk a mobilplatformok.

A mobil platformok növekvő népszerűsége

Ma körülbelül másfél tucat platformra fejlesztenek mobilalkalmazásokat. Az Evans Data Corp. kutatócég tavaly év végi tanulmánya szerint. több száz fejlesztő felmérése mobil alkalmazások, ezen a területen a fő vezetők a .NET Compact Framework és a Java 2 Mobile Edition (J2ME), valamint mások Microsoft platformok mobileszközökhöz és Embedded Linuxhoz (1. ábra).

Rizs. 1. Népszerűség mobil platformok a fejlesztők között (forrás – Developers’ Choice Wireless Platforms. Definitive Rankings of Wireless Platform by Developers Worldwide – Evans Data Corp., 2005. szeptember)

Ugyanezen felmérés szerint azonban az eszközök minőségével és a fejlesztői közösség támogatási szintjével kapcsolatos fejlesztői elégedettség tekintetében a Nokia Series 60 platform az első helyen áll az Evans Data Corp. előrejelzései szerint A mobilplatformok piacán az Embedded Linux piaca várhatóan növekedni fog.

Ami az alkalmazásfejlesztő eszközöket illeti, Windows platformok A Microsoft mobileszközei már több éve léteznek. A Borland eszközei a .NET Compact Framework, Symbian és J2ME platformokhoz érhetők el. Ezen kívül van néhány mobilalkalmazás-fejlesztő eszköz a Sybase-től, valamint számos más gyártótól.

Fejlesztői eszközök ma

A fejlesztők szűk specializációja az elmúlt öt évben az úgynevezett alkalmazás-életciklus-támogató eszközök aktív fejlesztéséhez vezetett, amelyeket nagy fejlesztői csapatok számára terveztek. Ilyen eszközök a követelménykezelő eszközök, az üzleti folyamatok, az alkalmazás- és adatmodellezés, az alkalmazások tesztelése és optimalizálása, a csapatmunka-kezelés, a verziókezelés és a változáskezelés. Számos vezető szoftverszállító gyárt ilyen eszközöket: IBM, Computer Associates, Borland, Microsoft, Oracle és még sokan mások.

Az utóbbi időben számos, korábban fejlesztői környezetek létrehozására szakosodott vállalat (különösen az IBM, a Computer Associates, a Borland, a Microsoft, az Oracle és a Sybase) fokozott figyelmet fordított az erre szolgáló eszközökre. Mindezen "nehéz" eszközök kölcsönös integrációjának szükségessége a szerepalapú szoftverfejlesztés és -menedzsment teljes platformjainak létrehozásához vezetett. életciklus alkalmazások – ilyen platformokat ma már a Borland, az IBM, a Microsoft és számos más cég gyárt.

Az ilyen eszközök használata általában megköveteli, hogy a szoftverfejlesztési folyamatot termelési folyamatként kezeljük, és ennek megfelelően e folyamat irányítására szolgáló módszereket kell létrehozni és megvalósítani, hasonlóan az anyaggyártási folyamatok kezeléséhez. Az ilyen technikák megvalósítása gyakran különálló (és nem olcsó!) informatikai projektek megvalósításával valósul meg olyan vállalatoknál, amelyek integrált alkalmazásfejlesztési platformokat fejlesztenek a fejlesztéssel járó folyamatok automatizálása és optimalizálása érdekében, beleértve a feladatok meghatározását, a követelmények kezelését. és a minőségi előírásoknak való megfelelés.

Kereskedelmi eszközök ingyenes verziói

Ha emlékszel arra, hogy mi történt a fejlesztői eszközökkel az elmúlt két évben, észre fogod venni, hogy az utóbbi időben nagyon aktív tendencia volt a vezető fejlesztőeszközök gyártói számára, hogy kiadják ezek ingyenes verzióit (és jó funkcionalitás). Különösen a Borland cég termelt ingyenes verziók néhány fejlesztési eszköze. A Microsoft nemrégiben kiadta Express termékcsaládját, amely számos eszközt tartalmaz a Windows Forms és ASP .NET alkalmazások fejlesztéséhez. Az Oracle Corporation pedig ingyenes hozzáférést biztosított a fejlesztőknek az Oracle JDeveloper 10g eszközhöz.

Nyílt forráskódú eszközök

A modern fejlesztőeszközök piacára jellemző egy másik tendencia - a nyílt forráskódú platformok és eszközök népszerűségének aktív növekedése, amelyek fejlesztésébe ma már sok pénzt fektetnek be a kereskedelmi cégek, köztük az ilyen jól ismert platformok. gyártók, mint az IBM, a Novell és az Oracle. A legszembetűnőbb példák közül érdemes megemlíteni az Eclipse környezet aktív fejlesztését - egy univerzális nyílt fejlesztői platform, amely számos nyelvvel, telepítési platformmal és technológiával kompatibilis, valamint a Mono projekt, amely a .NET platform egy részét valósítja meg az operációs rendszer számára. . Linux rendszerek(utóbbihoz jelenleg fordítóprogramokat és egyéb eszközöket gyártanak aktívan).

Az Eclipse projektet 1998-ban indította el az IBM azzal a céllal, hogy egy következő generációs integrált Java fejlesztői környezetet hozzon létre, amely beépített eszközökkel bővíthető, több Java eszközgyártó számára. Ennek érdekében az IBM 2001 végén a nyílt forráskódú közösség rendelkezésére bocsátotta a WebSphere Studio Workbench Java alkalmazásfejlesztő eszköze forráskódjának egy részét, és létrehozta az Eclipse konzorciumot (a Borland, az IBM, a MERANT, a QNX Software Systems, a Rational képviselőivel). Szoftver, Red Hat, SuSE , TogetherSoft és Webgain) ennek a fejlesztői környezetnek a továbbfejlesztésének irányítására, amely később önálló non-profit szervezetté, az Eclipse Foundation-ként alakult, amely mára 115 tagot számlál.

Ma, öt évvel a kezdete után az Eclipse platform olyan népszerűvé vált, hogy elkezdte kiszorítani a széles körben használt kereskedelmi eszközöket (például néhány Java fejlesztőeszközt) a piacról. Manapság az Eclipse piaci részesedése a Java alkalmazásfejlesztő eszközök terén megközelítőleg 50%. Az elmúlt évben azonban egyértelmű tendencia volt, hogy az Eclipse Java fejlesztői környezetből eszközintegrációs platformmá alakult át az alkalmazásfejlesztés teljes életciklusára – a közelmúltban az Eclipse konzorcium olyan projekteket indított el, mint például grafikus modellező környezet, eszközök létrehozása. szolgáltatás-orientált architektúrához, és megjelentek a tesztelőeszközök, az üzleti elemzések és a webalkalmazások létrehozására szolgáló eszközök frissített verziói.

Ami a tulajdonképpeni alkalmazásfejlesztő eszközöket illeti, a PHP, Fortran, Macromedia Flex fejlesztői környezetei mostanra Eclipse platformra épülnek; Számos eszközt tervezünk kiadni a beágyazott és mobil platformokra szánt alkalmazások fejlesztéséhez. Az IBM, a Borland és az SAP kereskedelmi fejlesztési eszközei is vannak az Eclipse platformhoz.

A legnépszerűbb fejlesztői környezetek

Az Evans Data Corp. kutatócég 1200 fejlesztő részvételével végzett felmérése szerint ez év júniusában a Microsoft Visual Studio .NET volt a legszélesebb körben használt fejlesztői környezet (2. ábra).

Rizs. 2. A fejlesztői környezetek használatának gyakorisága (forrás – Developers’ Choice IDE Scorecard – Evans Data Corp., 2006. június)

Ugyanezen felmérés szerint a funkcionalitás tekintetében a legnépszerűbb alkalmazásfejlesztő környezet az IBM Rational Application Developer volt, amelyet a felmérésben résztvevők az alkalmazások modellezésének és építésének legjobb eszközének ismertek el, és amely a legjobb példakészlettel rendelkezik (3. ábra).

A felmérés eredményei tükrözik a már említett trendeket a két legnépszerűbb platform (Windows/Microsoft .NET és Java/J2EE - szinte minden népszerű fejlesztőkörnyezet erre a platformra tervezték) dominanciája, valamint a nyílt forráskódú fejlesztőeszközök növekvő népszerűsége. és platformok (amint azt az Eclipse jelenléte is bizonyítja az öt legnépszerűbb fejlesztőkörnyezet között).

Tehát az alkalmazásfejlesztési technológiák fejlesztésének modern trendjei közé tartozik az alkalmazásfejlesztés részarányának csökkenése az informatikai projektekben, a fokozatos átállás az exkluzív szoftverek kisüzemi gyártásáról a szabványos megoldások tömeges ipari gyártására, az eszközök egyre aktívabb használata, az alkalmazások fejlesztési életciklusának támogatása (beleértve az integrált alkalmazásfejlesztési platformok megvalósítására irányuló projekteket). Az utóbbi időben megnőtt az érdeklődés a mobilplatformokra szánt alkalmazások készítése iránt is. Jellemző tendencia utóbbi években a kiváló minőségű nyílt forráskódú eszközök megjelenése is. Lehetséges, hogy ezek a tendenciák még legalább néhány évig folytatódnak.

A szoftverkörnyezet optimális fejlesztéséhez szükséges a különböző programozási nyelvek kombinálása, mivel mindegyik konkrét célok és célkitűzések elérésére irányul. Például néhány PHP paranccsal egy teljes weblapot lehet létrehozni, de a gyakorlatban a szkriptet szinte mindig a HTML-lel együtt használják, és általában a szkript forrásszövege nagy számú sort tartalmaz. Azonban meg kell jegyezni, hogy a PHP kód bárhol elhelyezhető egy HTML dokumentumban, de nem kell HTML-t használnia. Csak meg kell győződnie arról, hogy a PHP kód a megfelelő HTML-kódot állítja elő, amelyet azután helyesen jelenít meg a webböngésző.

A HTML egy hiperszöveges jelölőnyelv, amelyet dokumentumok létrehozására használnak az interneten. Segítségével elkészül az oldal szükséges szerkezete, rácsozata, melynek megjelenését a CSS és a JavaScript tovább javítja. Jelenleg a legújabb verzió a HTML5, amelyet a HTML4.01 előzött meg. A legtöbb webes erőforrás erre a nyelvre épül.

A HTML 4-től eltérően, amelynek három érvényesítője van, a HTML 5-nek egy érvényesítője van:. A HTML 5 támogatja a MathML-t és az SVG-t.

Új címkék: szakasz, cikk, félre, hgroup, fejléc, lábléc, nav, párbeszédpanel, ábra, videó, hang, forrás, beágyazás tartalom beszúrásához a bővítménnyel (csak), mark, progress, meter, time, ruby, rt, rp , vászon, parancs, részletek, adatlista, kulcsgen, kimenet.

Új beviteli típusok: tel, keresés, url, e-mail, dátumidő, dátum, hónap, hét, idő, dátumidő-helyi, szám, tartomány, szín.

Új attribútumok a címkékhez: ping médiaattribútumok a és területhez stb.

Egyes címkék eltűnése, amiatt, hogy CSS-sel helyettesíthetők: basefont, big, center, font, s, strike, tt, u.

A keretek eltűnnek a teljes oldalra gyakorolt ​​negatív hatás miatt

Egyes címkék eltűnése, a frissített specifikációban relevánsabbakkal helyettesítve: mozaikszó (rövidítve), applet (objektum használatos), isindex, dir.

Egyes címkeattribútumok nem támogatottak a szükségesség hiánya miatt: rev és karakterkészlet a hivatkozáshoz és a, alak és koordináták az a-hoz stb.

A címkék egyes attribútumai nem támogatottak, mivel a mikor CSS használatával a legjobb hatás érhető el: igazítás minden címkéhez, alink, link, text, vlink a törzshöz stb.

Új API-k: 2D képek valós időben történő rajzolása; a médiafájlok lejátszásának vezérlése; adatok tárolása a böngészőben; szerkesztés; Fogd és vidd; munka a hálózattal; PANTOMIM; új elemek a DOM-ban.

A CSS egy formális nyelv a jelölőnyelv használatával írt dokumentumok megjelenésének leírására. A CSS a Cascading Style Sheets rövidítése. A CSS egy stílusnyelv, amely meghatározza a HTML dokumentumok megjelenítését. A CSS például betűtípusokkal, színekkel, margókkal, vonalakkal, magassággal, szélességgel, háttérképek, elemek elhelyezése és sok más dolog. A HTML használható webhelyek tervezésére, de a CSS erősebb, pontosabb és kifinomultabb. A CSS-t jelenleg minden böngésző támogatja.

A HTML-t az oldal tartalmának strukturálására használják. A strukturált tartalom formázásához a CSS-t használják. A web fejlődésével a tervezők elkezdték keresni az online dokumentumok formázásának módjait. A megnövekedett fogyasztói igények kielégítésére a böngészőgyártók (akkor a Netscape és a Microsoft) új HTML címkéket találtak ki, mint pl. , amelyek abban különböztek az eredeti HTML címkéktől, hogy inkább a megjelenést határozták meg, mint a szerkezetet. Ez az eredeti strukturáló címkékhez is vezetett, mint pl

, egyre gyakrabban használják oldaltervezésre a szöveg strukturálása helyett. Sok új dizájncímke, mint pl , csak egy böngésző támogatta. „Az oldal megtekintéséhez X böngésző szükséges” általános felelősségkizárás lett a webhelyeken.

A CSS azért jött létre, hogy javítsa ezt a helyzetet azáltal, hogy a webes tervezők számára olyan precíziós tervezési lehetőségeket biztosít, amelyeket minden böngésző támogat. Ezzel párhuzamosan a dokumentum bemutatása és tartalma elkülönült, ami nagyban leegyszerűsítette a munkát.

A CSS megjelenése forradalom volt a webdesign világában. A CSS speciális előnyei:

Több dokumentum megjelenítésének vezérlése egyetlen stíluslap használatával;

Pontosabb ellenőrzés megjelenés oldalak;

Különböző nézetek különböző médiákhoz (képernyő, nyomtatás stb.);

Összetett és kifinomult tervezési technika.

Vannak módok a jelentkezésre CSS szabályok a HTML dokumentumhoz.

1. módszer: Inline/In-line (stílusattribútum). Alkalmazhatja a CSS-t HTML-re a HTML stílus attribútum használatával. A háttér színe a következőképpen állítható pirosra:

Példa

Ez egy piros oldal

2. módszer: Belső (stíluscímke). A CSS-kódok beszúrásának második módja a HTML-címke