Ծրագրակազմի ճարտարագիտություն

Վիքիպեդիայից՝ ազատ հանրագիտարանից

ծրագրային սիսթեմների կազմակերպման կարևորագույն որոշումների համագործակցություն։ Իրենից ներկայացնում է՝ ծրագրավորման կազմի հիմնային կառուցվածքների ստեղծման և նրանց կարգ ու կանոնի ապահովման, համակարգչային գիտությունների ճյուղ։

Ակնարկ[խմբագրել | խմբագրել կոդը]

Ծրագրավորման կազմերում առաջացած խնդիրների լուծումներով զբաղվող Հ.Գ.-ի ճյուղ, որը լայն տարածում է ստացել 1990-ական թվականներին։ Որպես այդպիսին՝ ծրագրակազմի ճարտարագիտությունը, չի գործածվում որպես մի լիարժեք տերմին։ Գոյություն ունեն տվյալ ուղղության շատ շրջանակներ, օրինակ ՝ Ծրագրային Ապահովման Ինժեներական Ինստիտուտի կայքը ներկայացնում է տվյալ ճյուղի ավելի քան 150 կողմնորոշում։ Տվյալ ճյուղի հիմքում ընկած գաղափարը ծրագրավորման գործողությունների հեշտացումն է։ Այն իր մեջ ներառում է․

  1. Գործողությունների կատարման տարածքի ուսումնասիրումը և այնտեղ գործելու համար անհրաժեշտ էլեմենտների ապահովումը
  2. Տարածքում գործող կառուցվածքների և էլեմենտների փոխկապակցումը միմյանց հետ և դրանց պահվածքը
  3. Ճարտարագիտական ոճի ապահովումը, որով առաջնորդվելու է ամբողջ կազմակերպությունը
  4. Մշակողների միջև շփման ապահովումը

Պատմությունը[խմբագրել | խմբագրել կոդը]

Երբ համակարգչային գիտությունները զարգացան, հայտնվեցին խնդիրներ կապված ծրագրավորման համակարգերի դիսցիպլինայի հետ։ Որպես արդյունք առաջացավ ծրագրակազմի ճարտարագիտության գաղափարը 1960-ական թվականներին։ Այդ գաղափարի մշակումը հայտնվեց գիտնականներ Էդսգեր Դեիհկսթրաի (1968 թ․) և Դեյվիդ Պարնասի (1970 թ․) հետազոտական աշխատանքներում։ Այս գիտնականները շեշտը դրեցին ճիշտ կառուցվածքների կազման՝ ծայրահեղ կարևորության, վրա։ Ծրագրային ճարտարագիտության գաղափարի հետագա տարածումը տեղի ունեցավ 1990 թվականի սկզբին։

Ծրագրային Ճարտարագիտության Բնութագրման Լեզուներ[խմբագրել | խմբագրել կոդը]

Այլ կերպ ՝ ADLS ։ Տարբեր ինստիտուտների կողմից ստեղծվել են տարբեր Ծ.Ճ.Բ.Լ.-ներ․

  1. AADL (ստանդարտ SAE)
  2. Wright (Քարնեգի Մելոն համալսարան)
  3. Acme (Քարնեգի Մելոն համալսարան)
  4. xADL (UCI)
  5. Darwin (Լոնդոնի Իմպերիալիստական Քոլեջ)

Սակայն, բացի մասնագիտացված լեզուներից օգտագործվում է նաև մոդելավորման միասնակն լեզու։

Չորս Հիմնական Գործողություննեը[խմբագրել | խմբագրել կոդը]

  1. Ճարտարագիտական Վերլուծություն՝ տվյալ գործողության տեղանքի ուսումնասիրության ընդացք, որի շնորհիվ կողմնորոշվում են համակարգի պահանջները։ Հետազոտության համար նախատեսված մուտքագրումներն ու պահանջները կարող են գալ ցանկացած քանակի աշխատակիցներից և պարունակի տարրեր ինչպիսիք են՝ 1) այն ինչը համակարգը կանի ֆունկցիոնալ պահանջների հետ, 2) որքան լավ համակարգը կբարելավվի ոչ-ֆունկցիոնալ պահանջարկները (հուսալիություն, գործունակություն, կատարման արդյունավետություն, անվտանգության և համատեղելիության ապահովում) ՝ աշխատանքային ժամանակի մեջ տեղավորվելով, 3) ոչ-ֆունկցիոնալ պահանջարկների զարգացման ժամանակը, 4) բիզնեսի պահանջները և համակարգի բնապահպանական ենթատեքստերը, որոնք ժամանակի ընթացքում կարող են փոխվել, օրինակ՝ իրավաբանական, սոցիալական, ֆինանսական, մրցակցային և տեխնոլոգիական խնդիրները։ Հետազոտության արդյունքներն այն պահաջարկներն են, որոնք ունեն չափելի ազդեցություն տվյալ համակարգի կառուցվածքի վրա։ Այդ արդյունքները կոչվում են ճարտարագիտորեն էական պահանջներ։
  2. Ճարտարագիտական Սինթեզ՝ դիզայնի կառուցման ընդացքը։ Հաշվի առնելով` վերլուծության արդյունքում որոշված, ճարտարագիտական նշանակալի պահանջները, նախագծի ներկա վիճակը և գնահատման ցանկացած գործողության արդյունքները, ստեղծվում և բարելավվում է դիզայնը։
  3. Ճարտրագիտակն Գնահատում՝ պրոցես, որի ժամանակ որոշվում է, թե հետազոտության ընդացքում ծագած պահանջարկները որքանով են բարելավված՝ տվյալ դիզայնի, կամ տվյալ դիզայնի ինչ-որ մի բաժնի, կողմից։ Գնահատումը տեղի է ունենում, երբ ճարտարգետը կայացնում է դիզայներական որոշում։ Գնահատումը կարող է տեղի ունենալ, երբ դիզայնի որոշ բաժին արդեն արված է։ Գնահատումը կարող է տեղի ունենալ, երբ վերջնակն դիզայնը պատրաստ է։ Նաև գնահատումը կարող է տեղի ունենալ համակարգի կառուցումից հետո։
  4. Ճարտարագիտական Զարգացում՝ պահանջների և միջավայրի փոփոխություններին համապատասխանելու համար գոյություն ունեցող ծրագրակազմի կառուցվածքը պահպանելու և հարմարեցնելու գործընթացը։ Քանի որ, ծրագրակազմի ճարտարագիտությունը ապահովում է ծրագրակազմի համակարգի հիմնարար կառուցվածքը, նրա զարգացումն ու օգտագործումը պարտադիր ազդեցություն կթողնեն հիմնարար կառուցվածքի վրա։ Որպես այդպիսին, ճարտարագիտական զարգացումը կապված է նոր գործառույթներ ավելացնելու, ինչպես նաև առկա ֆունկցիոնալությունն ու համակարգի վարքը պահպանելու հետ։

Գրականություն[խմբագրել | խմբագրել կոդը]

  • Ռոբերտ Սեսիլ Մարտին՝ «Clean Architecture: A Craftsman's Guide to Software Structure and Design»
  • Կառլ Ի․ Վիգերս և Ջոհն Բիթթի՝ «Development of software requirements»
  • Ռ․ Ն․ Թեյլոր, Ն․ Մեդվիդովիչ և Ի․ Մ․ Դաշոֆի՝ «Software Architecture: Foundations, Theory, and Practice»

Տեսեք նաև[խմբագրել | խմբագրել կոդը]

  1. Վիրտուալիզացիա
  2. Ցանցային ծրագրավորում
  3. Ծրագրակազմի փորձարկում
  4. Ծրագրակազմի անվտանգության էթիկա