КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Основните етапи на развитие на софтуерни технологии

програмни технологии

Технологията е набор от методи за програмиране и инструменти, използвани в процеса на разработка на софтуер. Както и всяка друга технология, тя е набор от технически регламенти, включително:

- Индикация за последователността на технологичните операции;

- Обява на условията, при които една или друга сделка;

- Описание на самите операции, когато за всяка операция, определени изходните данни, резултатите, както и инструкции, правила, стандарти, критерии и методи за оценка и т.н.

В допълнение, технологията на програмиране дефинира начин за описване на модела, използван в определен етап от развитието на проектирана система.

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

Първият етап - "естествения" програмиране (от появата на първите компютри до средата на 60-те години на XX век). Първата програма имаше проста структура. Те се състои от реалната програма машина език, и обработвани от него данни (фиг. 1). Сложността на програмите в срок машинен код способността на програмист в същото време да се психически да следите на последователността на операциите, извършени и данни за местоположението при програмирането.

Фиг. 1. Структурата на първите програми

Появата на монтажници позволено вместо двоични или 16 кодове шестнадесетични да използват символични имена и експлоатация кодове мнемонични данни. В резултат на програми са станали по-"четене".

Създаване на високо равнище, езици за програмиране като FORTRAN и АЛГОЛ, значително опростено програмиране изчисление, намаляване на нивото на детайлност на операциите, които се увеличават сложността на програмите.

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

Фиг. 2. Архитектура на програмата с глобална област на данни

Най-слабото място на тази архитектура е, че тъй като броят на подпрограми увеличава вероятността от нарушаване на глобалните данните на всяко рутинно. Например, корените на уравнението за търсене подпрограма за даден интервал от метода на разполовяване интервал променя стойността на интервала. Ако не се осигури възстановяване на първоначалното интервал, когато излезете от подпрограмата, стойността на диапазона би било погрешно в глобален обхват. За да се намалят тези грешки, беше предложено да се постави местните съчетания на данни (фиг. 3).



Фиг. 3. Архитектура програма използва подпрограми с местната данни

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

В началото на 60-те "Програмиране на кризи" избухна. Фирми, които са предприети за развитието на сложен софтуер, като операционни системи, разкъсаха всички срокове на проекти, завършени. остарели проект, преди да е готова за изпълнение, разходите се увеличава, и като резултат, не са били изпълнени много проекти.

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

Анализ на причините за по-голямата част от грешките право да формулира нов подход за програмиране, който е наречен "структурни".

Вторият етап - структуриран подход за програмиране (60-70-те години на XX век.). Подходът се основава на структурното разлагане (разделянето освен) на сложни системи с оглед последваща продажба на отделни малки (40-50 оператори) съчетания. При този подход, проблемът е представен като йерархия на подзадачи простите структура. Design се осъществява "отгоре надолу" и предполага прилагането на общата идея за осигуряване на сложни съчетания интерфейс (отгоре-надолу проектиране). В същото време въвежда:

- Ограничения за проектиране на алгоритми;

- Формални модели, за да ги описват;

- Стъпка по стъпка метод за детайлно проектиране на алгоритми.

Подкрепа за структурирани програмни принципи е бил поставен в основата на така наречените процедурни езици за програмиране. Обикновено, те съдържат големи "структурни" оператори контрол на трансферите, поддържа вложени подпрограми, локализиране и ограничаване на полето на "видимост" на данните. Сред най-известните езици на тази група се нарича PL / 1, АЛГОЛ-68, Pascal, C

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

Модулни програмиране съчетания включва избор на групи, които използват същите глобални данни в отделно компилирани модули (библиотечни съчетания), например, графични ресурси модул съчетания модул изход към принтер и т.н. (Фиг. 4).

Фиг. 4. Архитектура на програмата, състояща се от модули

Връзките между модули, използващи тази технология се извършват чрез специален интерфейс, а достъпът до изпълнението на модула (телата на рутинни процедури и някои "вътрешни" променлива) е забранено. Тази технология се поддържа от сегашните версии на Pascal и C (C ++), Ада и Modula.

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

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

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

програма Object структура се използва за първи път в езика на симулация на сложни симулации системи (60-те години на XX в.), В Smalltalk симулация специализиран език (70-те години на XX в.), а след това в новата версия на универсални езиците за програмиране, като например Pascal, C ++, Modula, Java.

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

Бързото развитие на софтуерните технологии, обектно-ориентиран подход помага да се реши много проблеми. По този начин се създава среда, която подпомага визуално програмиране, например, Delphi, C ++ Builder, Visual C ++ и т.н. При използване на визуална среда на програмиста, че е възможно да се изработи някои от, например, бъдещето на интерфейсите на продукта с използването на визуални средства добавят и конфигуриране на специфични компоненти на библиотеката. Резултатът е визуален дизайн празен на бъдещата програма, която вече е направила съответните кодове.

Фиг. 5. Архитектура Application с обектно-ориентирано програмиране

Използвайки подхода обект има много предимства, но нейната конкретна реализация в обектно-ориентирани езици за програмиране като Pascal, C ++, има съществени недостатъци:

- Необходимостта от разработване на софтуер с използване на ресурсите и възможностите на програмен език на високо ниво и компилатор;

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

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

Четвъртият етап - компонентен подход и CASE-технология (средата на 90-те години на XX век до наши дни). The компонент подход включва изграждане на софтуер от отделните компоненти поотделно физически съществуващите парчета софтуер, които взаимодействат помежду си чрез стандартизирани двоични интерфейси. За разлика от обикновените предмети обекти, компоненти могат да бъдат сглобени в една динамично индуцирана библиотека или изпълними файлове да се разпространява в двоична форма (без код) и се използва във всеки език за програмиране, който поддържа подходящата технология.

The компонент подход е в основата на технология, разработена на базата на COM (Component Object Model - Компонент Модел Object), и технологията на разпределени CORBA приложения (общата цел Искане Брокер архитектура - обща архитектура с посреднически исканията за обработка на обект). Тези технологии използват подобни принципи и характеристики се различават единствено по тяхното изпълнение.

COM технологията на Microsoft, е развитието на технологията OLE (Обвързването на обекта и вграждане - Свързване на обекти и вграждане), който се използва в Windows. COM Technology определя цялостната парадигма на програми за сътрудничество на всички видове: библиотеки, приложения, операционна система. Т.е. Това позволява да се използва част от софтуера функции (обслужване) от друга страна, независимо от това дали тези части действат в рамките на един процес, в различни процеси на същия компютър или на различни компютри (фиг. 6). Модификация на ООП, предоставяйки прехвърляне на разговор между компютри, наречен DCOM (Distributed COM - Разпределени SOM).

Фиг. 6. взаимодействието на различни видове софтуерни компоненти

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

Целта винаги функционира като част от сървъра - един динамичен звено библиотека или изпълним файл, който да осигури функционирането на обекта. Има три вида на сървъри:

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

- Локален сървър - създава отделен процес (модул, Търсейки), който работи на същия компютър с клиента;

- Отдалечен сървър - да се създаде процес, който работи на друг компютър.

Например, Microsoft Word е локален сървър. Той включва набор от предмети, които могат да бъдат използвани от други приложения.

За да получите достъп до услугите, клиентът трябва да получи указател към съответния интерфейс. Преди първия позоваването на обекта на клиента изпраща заявка към библиотеката на ООП, която съхранява информация за всички регистрирани в системата на класовете COM обекти, и преминава името на класа, интерфейс ID, и вида на сървъра. Библиотека стартира желания сървър, създава необходимите обекти и връща указатели към обекти и интерфейси. Като указатели, клиентът може да се обадите на необходимата функция обекта.

клиент и сървър взаимодействие се осъществява от основните механизми на ООП или DCOM, така безразлични към местоположението на клиента обекта. При използване на локални и отдалечени сървъри в клиента адресно пространство се създава прокси-обект - заместник-COM обект, и в адресното пространство на сървъра на COM - щепсел, съответстващ на клиента. След получаване на задача от страна на клиента, заместник пакети неговите параметри и използва услугите на операционната система, изпраща поканата до коляно. Мъниче разархивира работата и я изпраща до обекта COM. Резултатът се връща на клиента в обратен ред.

Въз основа на COM и DCOM версия на своя разпределени технология компонент ние сме разработили технология за решаване на различни проблеми, свързани с разработката на софтуер.

OLE-автоматизация или просто Automation (автоматизация) - технология за създаване на програмируем приложение, което предоставя програмен достъп до вътрешния живот на тези приложения. Той въвежда понятието за dispinterface (dispinterface) - специален интерфейс, за да се улесни функциите на повикване обекти. Тази технология поддържа, например, Microsoft Excel, което позволява на други приложения на своите услуги.

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

Сред основните предимства на ActiveX технология, осигуряващи й широко разпространена, са:

- Бързо код писане - като всички дейности, свързани с организацията на взаимодействие между сървъра и клиента поема приложения софтуер COM мрежово програмиране става подобен на програмиране за един компютър;

- Откритост и мобилност;

- Възможността да се пишат приложения, използвайки познати инструменти за развитие;

- Голяма част от вече съществуващите безплатен софтуер ActiveX елементи (в допълнение, почти всяка OLE софтуерен компонент е съвместим с технологията ActiveX и може да се използва без промени в мрежови приложения);

- Стандартен - технологията ActiveX се основава на широко използван интернет (TCP / IP, HTML, Java) стандарти, от една страна, и стандартите, наложени по време на Microsoft и е необходимо да се поддържа съвместимост (COM, OLE).

MTS (Microsoft транзакция сървър - сървър за управление на операциите) технология, която осигурява сигурност и стабилна работа на разпределени приложения с големи обеми от данни, предадени.

MIDAS (Multitier Разпределени Application Server - сървър многослойни разпределени приложения) - технология, която организира достъп до данни на различни компютри, базирани на Network Load Balancing.

Всички тези технологии приложи подход компонент на базата на предвидената в COM. Така че, от гледна точка на ООП, ActiveX контрол на - вътрешен сървър, който поддържа OLE-технологии за автоматизация. Програмист е контрол ActiveX - една "черна кутия" със свойствата, методите и събитията, които могат да бъдат използвани като градивен елемент за създаване на приложения.

технология CORBA разработен от фирми MHI група (обект Group Management - въвеждане на група от техники обект за програмиране), че прилага подход, подобен на COM базирани обекти и CORBA интерфейси. Софтуер CORBA ядро ​​прилага за всички основни хардуерни и софтуерни платформи, и тъй като технологията може да се използва за създаване на софтуерни в хетерогенна (хетерогенна) компютърна среда. Организация на взаимодействие между клиент и сървър обекти в CORBA с помощта на специален агент, наречен VisiBroker, и друг специализиран софтуер.

Отличителна черта на сегашния етап на развитие на софтуерните технологии, в допълнение към промените в подхода е създаването и прилагането на автоматизирана разработка и поддръжка на софтуер, който се нарича CASE-технология технология (Computer-Aided Software / System Engineering - Софтуер за развитие / софтуерни системи с компютърна поддръжка) , Без развитие оборудване за автоматизация доста сложен софтуер в момента е възможно става трудно: човешката памет не е в състояние да улови всички детайли, които трябва да бъдат взети предвид при разработването на софтуер. В момента има CASE-технология, подкрепа както от структурните и обекта (включително компонент) подход за програмиране.

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

<== Предишна лекция | На следващата лекция ==>
| Основните етапи на развитие на софтуерни технологии

; Дата: 05.01.2014; ; Прегледи: 664; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:

  1. D.2 Идентификация на цената на основните действия
  2. Gigabit Ethernet, 10GE и по-нататъшно развитие на Ethernet технологията.
  3. I. Историята на развитие на концепция на гражданското общество. Структурата на гражданското общество.
  4. I. Основните задачи на сигурност и информация в информационни системи
  5. I. ОБЩИ УСЛОВИЯ НА информацията в компютърните системи
  6. I. Основна теория за произхода на държавата и правото.
  7. Qt - междуплатформен инструменти софтуер на C ++ език за програмиране, разработване на Qt рамки за развитие на дружеството (известен преди като Qt Software, Trolltech).
  8. А. колониалната система: основните етапи.
  9. Спешният и основните концепции на контролни функции
  10. Актуални въпроси на развитието на речта терапия на сегашния етап. Организация на речта грижи терапия в Русия.
  11. Alalia - липсата или недостатъчното развитие на речта поради органична лезия на речевите области на кората на главния мозък по време на пренатална или в началото на периода на развитие на детето
  12. Алгоритмични и основи на програмирането




ailback.ru - Edu Doc (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 11.45.9.22
Page генерирана за: 0.063 сек.