Logo bg.artbmxmagazine.com

Софтуерна архитектура като научна дисциплина

Съдържание:

Anonim

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

Въведение

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

AS като добре дефинирана дисциплина е много по-нова от обикновено предполагаемата. Първите стъпки са наблюдавани в размислите на Edsger Dijkstra от 1968 г. за установяване на правилното структуриране на софтуерните системи преди стартирането им в програмирането. По-късно на конференцията на НАТО през 1969 г. PISharp направи изненадващ набор от прозрения, коментирайки идеите на Dijkstra, правейки разликата между инженерната и софтуерната архитектура. До 90-те терминът се разглежда по различни начини, особено тясно свързан с дизайна, говори се за ниво на абстракция, обаче, елементи на преценка, които позволяват да се твърди необходимостта от дисциплина и определена професия.

Резултати и размисъл

След библиографски анализ на източниците, „Изучаване на софтуерната архитектура чрез дизайнерски пространства и правила“, от Томас Г. Лейн, е призната за първата книга, издадена от SEI по темата SA през 1990 г. В тази лента той установява определение на AS, въз основа на концепцията, представена от Мери Шоу през предходната година, в книгата си „Системите с по-големи мащаби изискват абстракции от по-високо ниво“, представена на петия международен семинар по спецификация и дизайн на софтуера и публикувани от IEEE Computer Society. Лейн определя AS като:

… „ Софтуерната архитектура е изследването на мащабната структура и производителността на софтуерните системи. Важните аспекти на архитектурата на системата включват разделянето на функциите между модулите на системата, средствата за комуникация между модулите и представянето на споделена информация. “

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

След този принос се наблюдава подчертана тенденция към търсене на модел за структуриране на софтуер и се проектира набор от модели на домейни въз основа на генерични дизайни, като DSSA (Software-Specific Software Architectures), изготвен от Mettala и Греъм, през 1992г.

Едва през лансирането на книгата „Въведение в софтуерната архитектура“, от Мери Шоу и Дейвид Гарлан, през 1994 г., където те твърдят, че поради увеличаването на размера и сложността на софтуерните продукти, основният проблем вече не се крие, в алгоритми и структури от данни, но е насочена към организирането на компонентите, които изграждат системата, като по този начин се въвежда необходимостта от създаването на СА като научна дисциплина, обект на изучаване на която е само определяне на набор от парадигми, които установяват организация на високо ниво на системата, взаимовръзката между различните компоненти, които я изграждат, и принципите, които ръководят нейния дизайн и еволюция.

В този документ за първи път е въведен терминът „архитектурни стилове“ и е дефиниран широк спектър от тях, сред които са: тръби и филтри, хранилище, многопластова архитектура, базирана на събития архитектура и др.

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

През същата тази 1994 г., която може да се счита за „златната година на софтуерната архитектура“, се провежда друго съответно архитектурно събитие. Мери Шоу и Дейвид Гарлан, стартират концепцията за езици за архитектурно описание (ADLs) в книгата си „Характеристики на езици от по-високо ниво за софтуерна архитектура“. Изследването посочва алтернативите, които са били налични досега за определянето на SA на система. Първо, чрез модулиране на съществуващите инструменти за програмиране и свързващите модули между тях, и второ, за описване на техните проекти, използвайки неформални диаграми и идиоматични фрази. От тези размисли те определят набор от специфични закономерности и свойства, които са в основата на ADL.

От тази констатация дисциплината все повече се популяризира, подчертавайки поредица от събития като книгата „Привличане на атракции в софтуерната архитектура“ от Пол Клементс през 1996 г., където той определя пет основни теми, около които групира дисциплината; проектиране или подбор на архитектура, архитектурно представяне, оценка и анализ и т.н.

Друго релевантно събитие беше лансирането на дисертацията на Рой Филдинг през 2000 г., в която той представя модела REST, който окончателно установява темата за интернет технологиите и моделите, ориентирани към ресурсите и ориентирани към ресурсите в центъра на тревогите. на дисциплината. През същата година е публикувана окончателната версия на препоръката на IEEE Std 1471, която се стреми да хомогенизира и подреди номенклатурата на архитектурното описание и стиловете хомологати като основен модел на концептуално представяне.

Публикациите на SEI, свързани с АС, от 1990 г. до днес, са отразени в таблица по-долу, отразяваща създаването на общност, която провежда научни изследвания и разработки в дисциплината.

Заключения.

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

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

библиография

  1. Лейн, Томас Г. Изучаване на софтуерната архитектура чрез дизайнерски пространства и правила. Университет Карнеги Мелън: Питсбърг, Пенсилвания 15213, ноември 1990 г. http://www.sei.cmu.edu/pub/documents/90.reports/pdf/tr18.90.pdf. CMU / SEI-90-TR-18.D. Гарлан, М. Шоу. Въведение в софтуерната архитектура. Януари 1994 г. http://www.sei.cmu.edu/publications/documents/94.reports/94.tr.021.html. CMU / SEI-94-TR-021.Mary Shaw, David Garlan. Характеристики на езиците от по-високо ниво за софтуерна архитектура. Пенсилвания.: Институт за софтуерно инженерство, 1994. CMU / SEI-94-TR-023.Shaw, Mary. Системите с по-големи мащаби изискват абстракции от по-високо ниво. sl: IEEE Computer Society, май 1989. с. 143-146. Том Том 14 Номер 3., Сборник от Пети международен семинар по спецификация на софтуера. Забележки за софтуерно инженерство ACM SIGSOFT. Филдинг, Рой Томас.Архитектурни стилове и дизайн на софтуерни архитектури, базирани на мрежи. Калифорнийския университет. Irvine: sn, 2000. Докторска дисертация. Клементи, Пол. Очаквайте атракции в софтуерната архитектура. Пенсилвания, САЩ: Институт за софтуерно инженерство, Университет Карнеги Мелън, януари 1996 г. CMU / SEI-96-TR-008. Erik Mettala, Marc H. Graham. Програмите за софтуерна архитектура, специфични за домейна. sl: Специален доклад, юни 1992 г. CMU / SEI-92-SR-009.Специален доклад, юни 1992 г. CMU / SEI-92-SR-009.Специален доклад, юни 1992 г. CMU / SEI-92-SR-009.
Софтуерна архитектура като научна дисциплина