Бағдарламалық жасақтама жасау - Software development

Бағдарламалық жасақтама жасау
Негізгі қызмет
Парадигмалар мен модельдер
Әдістемелер және шеңберлер
Қолдау пәндері
Тәжірибелер
Құралдар
Стандарттар және білім органдары
Глоссарийлер
Контурлар

Бағдарламалық жасақтама жасау тұжырымдау, нақтылау, жобалау, бағдарламалау, құжаттау, тестілеу, және қателерді түзету құруға және сақтауға қатысады қосымшалар, шеңберлер немесе басқа бағдарламалық жасақтама. Бағдарламалық жасақтама - бұл жазу процесі және сақтау The бастапқы код, бірақ кең мағынада ол бағдарламалық жасақтаманың тұжырымдамасы мен бағдарламалық жасақтаманың түпкілікті көрінісіне дейін, кейде жоспарлы және құрылымдалған процесс.[1] Сондықтан бағдарламалық жасақтамаға зерттеулер, жаңа әзірлемелер, прототиптер жасау, модификациялау, қайта пайдалану, қайта жобалау, техникалық қызмет көрсету немесе бағдарламалық өнімдерге әкелетін кез келген басқа әрекеттер кіруі мүмкін.[2]

Бағдарламалық жасақтаманы әр түрлі мақсатта жасауға болады, ең кең таралған үшеуі - нақты клиенттің / бизнестің нақты қажеттіліктерін қанағаттандыру (жағдай арнайы бағдарламалық жасақтама ), әлеуеттің кейбір жиынтығының қажеттілігін қанағаттандыру пайдаланушылар (жағдай коммерциялық және ашық бастапқы бағдарламалық жасақтама ) немесе жеке пайдалану үшін (мысалы, ғалым қарапайым жұмысты автоматтандыру үшін бағдарламалық жасақтама жаза алады). Бағдарламалық қамтамасыздандыруды әзірлеу, яғни енгізілген бағдарламалық жасақтама тұтыну өнімдерін бақылау үшін қолданылатын сияқты, даму процесінің болуын талап етеді интеграцияланған бақыланатын физикалық өнімді дамыта отырып. Жүйелік бағдарламалық жасақтама қосымшалар мен бағдарламалау процесінің негізінде жатыр және көбінесе бөлек жасалады.

Жақсырақ қажеттілік сапа бақылауы бағдарламалық жасақтаманы әзірлеу процесінің пәні пайда болды бағдарламалық жасақтама, мысалға келтірілген жүйелі тәсілді қолдануға бағытталған инженерлік бағдарламалық жасақтама жасау процесінің парадигмасы.

Көптеген тәсілдер бар бағдарламалық қамтамасыз етуді басқару, бағдарламалық жасақтаманың өмірлік циклінің модельдері, әдістемесі, процесі немесе моделі ретінде белгілі. The сарқырама моделі дәстүрлі нұсқасы болып табылады, оның соңғы жаңалығымен қарама-қайшы жылдам бағдарламалық қамтамасыздандыру.

Әдістемелер

A бағдарламалық жасақтама жасау процесі (бағдарламалық жасақтаманы әзірлеу әдістемесі, моделі немесе өмірлік циклі деп те аталады) - бұл үйреншікті құрылым құрылым, жоспар, және даму процесін бақылау ақпараттық жүйелер. Осындай құрылымдардың әртүрлілігі әр жылдарда дамыды, олардың әрқайсысы өзінің күшті және әлсіз жақтарына ие болды. Бағдарламалық жасақтаманы дамытуда бірнеше түрлі тәсілдер бар: кейбіреулері бағдарламалық жасақтаманы құрылымдауға, инженерлік негізделген тәсілге жүгінеді, ал басқалары бағдарламалық жасақтама дамыған сайын өсіп-өнетін тәсілге жүгіне алады. Жүйені әзірлеудің бір әдістемесі барлық жобаларда қолдануға міндетті бола бермейді. Әрбір қол жетімді әдістеме әртүрлі техникалық, ұйымдастырушылық, жобалық және командалық ойларға негізделген нақты жобалар түрлеріне сәйкес келеді.[3]

Көптеген әдістемелерде бағдарламалық жасақтаманы әзірлеудің келесі кезеңдерінің үйлесімі бар:

  • Мәселені талдау
  • Нарықты зерттеу
  • Ұсынылып отырған бағдарламалық жасақтамаға қойылатын талаптарды жинау
  • Бағдарламалық жасақтама жоспарын немесе дизайнын жасау
  • Бағдарламалық жасақтаманы енгізу (кодтау)
  • Бағдарламалық жасақтаманы тексеру
  • Орналастыру
  • Техникалық қызмет көрсету және қателерді түзету

Бұл кезеңдер көбінесе бағдарламалық жасақтаманың өмірлік циклі немесе SDLC деп аталады. Бағдарламалық жасақтаманы құрудағы әр түрлі тәсілдер бұл сатыларды әр түрлі тәртіпте жүзеге асыруы мүмкін немесе әртүрлі кезеңдерге азды-көпті уақыт бөлуі мүмкін. Бағдарламалық жасақтаманы әзірлеудің әр кезеңінде жасалған құжаттаманың егжей-тегжейінің деңгейі де әр түрлі болуы мүмкін. Бұл кезеңдер өз кезегінде де жүзеге асырылуы мүмкін («сарқырамаға» негізделген тәсіл) немесе олар әртүрлі циклдарда немесе қайталануларда қайталануы мүмкін (анағұрлым «экстремалды» тәсіл). Әдетте экстремалды тәсіл жоспарлау мен құжаттауға аз уақытты, кодтау мен әзірлеуге көп уақытты қамтиды автоматтандырылған тесттер. Толығырақ «экстремалды» тәсілдер сонымен бірге барлық даму циклінде үздіксіз тестілеуге, сонымен қатар жұмыс істейтін (немесе қатесіз) өнімге ие болуға ықпал етеді. Неғұрлым құрылымды немесе «сарқырама »Негізделген тәсілдер көптеген тәуекелдерді бағалауға және бағдарламалық жасақтаманың егжей-тегжейлі жоспарын жасауға тырысады іске асыру (кодтау) басталады және бағдарламалық жасақтаманың өмірлік циклын жоспарлаудың кейінгі кезеңдерінде дизайндағы елеулі өзгерістерден және қайта кодтаудан аулақ болады.

Әр түрлі әдістемелердің айтарлықтай артықшылықтары мен кемшіліктері бар, және бағдарламалық қамтамасыз етуді қолдану арқылы мәселені шешудің ең жақсы тәсілі көбінесе проблеманың түріне байланысты болады. Егер проблема жақсы түсініліп, жұмысты алдын-ала тиімді жоспарлауға болатын болса, соғұрлым «сарқырамаға» негізделген тәсіл тиімді жұмыс істей алады. Егер, екінші жағынан, мәселе ерекше болса (кем дегенде, әзірлеушілер тобына) және бағдарламалық жасақтаманың құрылымын оңай елестету мүмкін болмаса, онда «экстремалды» өсу тәсілі жақсы жұмыс істеуі мүмкін.

Бағдарламалық жасақтаманы әзірлеу қызметі

Қажеттілікті анықтау

Бағдарламалық жасақтама идеяларының қайнар көздері өте көп. Бұл идеялар туындауы мүмкін нарықты зерттеу оның ішінде демография әлеуетті жаңа клиенттердің, қолданыстағы клиенттердің, өнімді қабылдамаған сату перспективаларының, басқа бағдарламалық жасақтама жасаушы ішкі қызметкерлердің немесе шығармашылық үшінші тараптың. Бағдарламалық өнімдерге арналған идеяларды әдетте алдымен бағалайды маркетинг экономикалық тиімділікке арналған персонал, қолданыстағы арналардың таралуына, өнімнің қолданыстағы желілеріне ықтимал әсерлерге қажеттілікке Ерекшеліктер және компанияның маркетингтік мақсаттарына сәйкес келеді. Маркетингті бағалау кезеңінде шығындар мен уақыт бойынша болжамдар бағаланады. Маркетинг және даму персоналы қалыптастырған неғұрлым егжей-тегжейлі ақпарат негізінде жобаны әрі қарай жалғастыру керек деген шешім бірінші кезеңнің басында қабылданады.[4]

Кітапта «Бағдарламалық жасақтаманың керемет пікірталастары», Алан М.Дэвис тарауда көрсетілген «Талаптар», ішкі тарау «Бағдарламалық жасақтаманың жетіспейтін бөлігі»

Инженерлік мамандықтардың студенттері инженерлік мамандықты игереді және қаржы немесе маркетингке сирек ұшырайды. Маркетинг студенттері маркетингті үйренеді және олар қаржы немесе инженериямен сирек кездеседі. Көпшілігіміз тек бір саланың маманы боламыз. Мәселелерді күрделендіру үшін біздің біршама жұмыс күшінде пәнаралық адамдармен кездеседі, сондықтан еліктейтін рөлдер аз. Бағдарламалық өнімді жоспарлау дамудың жетістігі үшін өте маңызды және бірнеше пәндерді білуді талап етеді.[5]

Бағдарламалық жасақтаманы әзірлеу клиенттің талап етуінен шығуды немесе одан асып кетуді қамтуы мүмкін болғандықтан, бағдарламалық жасақтаманы әзірлеу жобасы онша техникалық мәселелерден адасуы мүмкін. кадр бөлімі, тәуекелдерді басқару, зияткерлік меншік, бюджеттеу, дағдарысты басқару Бұл процестер сонымен қатар рөлін тудыруы мүмкін кәсіпкерлікті дамыту бағдарламалық жасақтамамен қабаттасу.

Жоспарлау процесі

Жоспарлау - бұл жобаға жататын нәрселерді ашқымыз келетін әр іс-әрекеттің мақсаты. Бағдарламалық жасақтаманы құрудағы маңызды міндет талаптар немесе талаптарды талдау.[6] Клиенттер әдетте түпкілікті нәтиже ретінде не қалайтыны туралы дерексіз түсінікке ие болады, бірақ нені білмейді бағдарламалық жасақтама жасау керек. Бағдарламалық жасақтаманың білікті және тәжірибелі инженерлері осы сәтте толық емес, бір мағыналы емес, тіпті қарама-қайшы талаптарды таниды. Тікелей эфирлік кодты жиі көрсету талаптардың дұрыс болмау қаупін азайтуға көмектеседі.

«Талаптардың толық және дәйекті болуын қамтамасыз ету үшін талап кезеңінде көп күш жұмсалса да, сирек кездеседі; жаңа немесе өзгеретін талаптардың әсерін барынша азайтуға келгенде бағдарламалық жасақтаманы жобалау кезеңін ең ықпалды етіп қалдыру. Талаптардың өзгергіштігі қиын, өйткені олар болашақтағы немесе дамып келе жатқан даму күштеріне әсер етеді ».[7]

Клиенттен жалпы талаптар алынғаннан кейін, даму аясының талдауы анықталып, нақты айтылуы керек. Мұны көбінесе ауқым құжаты деп атайды.

Жобалау

Талаптар белгіленгеннен кейін бағдарламалық жасақтаманың дизайны a бағдарламалық жасақтама құжаты. Бұл алдын ала немесе жоғары деңгейлі дизайн жалпы суреті бар негізгі модульдердің (мысалы, а блок-схема ) бөлшектердің қалай үйлесетіндігі туралы. Тіл, амалдық жүйе және аппараттық компоненттер дәл қазір белгілі болуы керек. Содан кейін егжей-тегжейлі немесе төмен деңгейлі дизайн жасалады, мүмкін прототиптеу тұжырымдама дәлелі ретінде немесе талаптарды күшейту үшін.

Іске асыру, тестілеу және құжаттау

Іске асыру - бұл процестің бөлігі бағдарламалық жасақтама инженерлері шын мәнінде бағдарлама жобаның коды.

Бағдарламалық жасақтаманы тестілеу бағдарламалық жасақтама жасау процесінің ажырамас және маңызды кезеңі болып табылады. Процестің бұл бөлігі бұған кепілдік береді ақаулар мүмкіндігінше тезірек танылады. Кейбір процестерде, әдетте белгілі тестке негізделген даму, тестілер іске асырудың алдында әзірленуі мүмкін және іске асырудың дұрыстығына нұсқау бола алады.

Құжаттау болашақта қызмет көрсету және жақсарту мақсатында бағдарламалық жасақтаманың ішкі дизайны бүкіл даму барысында жасалады. Бұл сондай-ақ жазуды қамтуы мүмкін API сыртқы болсын, ішкі болсын. Әзірлеуші ​​топ таңдаған бағдарламалық жасақтама жасау процесі ішкі құжаттаманың қаншалықты қажет екенін анықтайды (егер бар болса). Жоспарлы модельдер (мысалы, Сарқырама ) қарағанда көп құжаттама жасайды Шапшаң модельдер.

Орналастыру және техникалық қызмет көрсету

Орналастыру код сәйкесінше тексерілгеннен, бекітілгеннен кейін тікелей басталады босату, және сатылған немесе өндірістік ортаға таратылған. Бұл орнатуды, теңшеуді (мысалы, тұтынушының мәндеріне параметрлерді орнату), тестілеуді және мүмкін бағалаудың ұзартылған кезеңін қамтуы мүмкін.[дәйексөз қажет ]

Бағдарламалық қамтамасыз етуді оқыту және қолдау маңызды, өйткені бағдарламалық жасақтама дұрыс қолданылған жағдайда ғана тиімді болады.[дәйексөз қажет ]

Сақтау және жаңадан табылғанды ​​жеңе алатын бағдарламалық жасақтаманы жетілдіру ақаулар немесе талаптар айтарлықтай уақыт пен күш жұмсай алады, өйткені өткізіп алған талаптар бағдарламалық жасақтаманы қайта құруға мәжбүр етуі мүмкін.[дәйексөз қажет ]. Көп жағдайда есеп берілген мәселелерді түзету және бағдарламалық жасақтаманың жұмысын қамтамасыз ету үшін жүйелі түрде техникалық қызмет көрсету қажет.

Субтақырыптар

Үлгіні қарау

The TEAF Көріністер мен перспективалар матрицасы.

A көру моделі қамтамасыз ететін құрылым болып табылады көзқарастар үстінде жүйе және оның қоршаған орта пайдаланылуы керек бағдарламалық жасақтама жасау процесі. Бұл көріністің негізгі семантикасының графикалық көрінісі.

Көзқарастар мен көзқарастардың мақсаты - адамзат инженерлеріне түсінуге мүмкіндік беру күрделі жүйелер және домендер айналасында проблема элементтерін ұйымдастыру тәжірибе. Ішінде инженерлік физикалық қарқынды жүйелердің көзқарасы көбінесе инженерлік ұйымның мүмкіндіктері мен міндеттеріне сәйкес келеді.[8]

Жүйелік сипаттамалардың көпшілігінің кеңдігі соншалық, ешкім жеке тұлғаның барлық ерекшеліктерін толық түсіне алмайды. Сонымен қатар, біздің барлығымыздың белгілі бір жүйеге деген қызығушылықтарымыз әр түрлі және оларды зерттеудің әртүрлі себептері бар жүйе Келіңіздер сипаттамалары. A бизнес атқарушы жүйе макияжына жүйені жүзеге асырушыдан гөрі әртүрлі сұрақтар қояды. Сондықтан көзқарас шеңберінің тұжырымдамасы берілген күрделі жүйенің спецификациясы бойынша жеке көзқарастарды қамтамасыз ету болып табылады. Бұл көзқарастар аудиторияны жүйенің кейбір аспектілеріне қызығушылықпен қанағаттандырады. Әр көзқараспен байланысты бұл көзқарас аудитория үшін сөздік пен презентацияны оңтайландыратын көзқарас.

Іскери процестер және деректерді модельдеу

Графикалық бейнелеу ақпараттың қазіргі күйі пайдаланушыларға да, жүйеге де ақпарат ұсынудың өте тиімді құралы болып табылады әзірлеушілер.

бизнес-процестер мен деректер модельдерінің өзара әрекеттесуінің мысалы.[9]
  • A бизнес-модель модельденетін бизнес-процеске байланысты функцияларды және осы функцияларды орындайтын ұйымдарды бейнелейді. Әрекеттер мен ақпараттық ағындарды бейнелеу арқылы процестің табиғатын елестету, анықтау, түсіну және растау үшін негіз жасалады.
  • A деректер моделі сақталатын ақпараттың егжей-тегжейін қамтамасыз етеді және соңғы өнім компьютер генерациясы болған кезде бірінші кезекте қолданылады бағдарламалық жасақтама коды компьютерлік бағдарламалық қамтамасыздандыруға арналған қосымшаға немесе функционалды сипаттаманы дайындауға арналған сатып алу немесе сатып алу туралы шешім. Бизнес-процестер мен деректер модельдерінің өзара әрекеттесуі үшін оң жақтағы суретті қараңыз.[9]

Әдетте, модель сұхбат жүргізгеннен кейін жасалады бизнесті талдау. Сұхбат процедураны сипаттайтын қажетті ақпаратты алуға арналған бірнеше сұрақтар қоятын фасилитатордан тұрады. Сұхбат берушіні ақпарат беретін қатысушылар екенін атап көрсету үшін фасилитатор деп атайды. Жүргізуші қызығушылық үдерісі туралы белгілі бір білімге ие болуы керек, бірақ бұл процесс сарапшысына сұрақтар қойылатын құрылымдық әдістеме сияқты маңызды емес. Әдістеме өте маңызды, өйткені әдетте фасилитаторлар тобы ғимарат бойынша ақпарат жинайды және барлық сұхбат алушылардан алынған ақпарат нәтижелері аяқталғаннан кейін сәйкес келуі керек.[9]

Модельдер процестің ағымдық күйін анықтайтын етіп әзірленген, бұл жағдайда соңғы өнім «бар-жоғы» суретке түсірілетін модель деп аталады немесе процестің құрамында болу керек идеялар жиынтығы, нәтижесінде «не істеуге болады» -бол »моделі. Процестер мен деректер модельдерін құру қолданыстағы процестер мен ақпараттық жүйелердің дұрыс екендігін және тек кішігірім түрлендірулер мен жақсартуларды қажет ететіндігін немесе түзету әрекеті ретінде қайта құруды қажет ететіндігін анықтау үшін қолданыла алады. Іскерлік модельдерді құру - бұл сіздің ақпараттық процесіңізді қарау немесе автоматтандыру тәсілі ғана емес. Талдауды сіздің кәсіпорыныңыздың немесе ұйымның өз қызметін жүргізу тәсілін түбегейлі өзгерту үшін пайдалануға болады.[9]

Компьютерлік бағдарламалық қамтамасыздандыру

Компьютерлік бағдарламалық қамтамасыздандыру (CASE), өрісте бағдарламалық жасақтама, бұл бағдарламалық жасақтама құралдары мен әдістерінің жиынтығын ғылыми тұрғыдан қолдану бағдарламалық жасақтама нәтижесінде сапалы, ақаусыз және қызмет көрсетуге болатын бағдарламалық өнімдер шығарылады.[10] Ол сондай-ақ дамыту әдістеріне қатысты ақпараттық жүйелер бағдарламалық жасақтама процесінде қолдануға болатын автоматтандырылған құралдармен бірге.[11] «Компьютерлік бағдарламалық жасақтама» (CASE) термині сілтеме жасай алады бағдарламалық жасақтама автоматтандырылған әзірлеу үшін қолданылады бағдарламалық қамтамасыздандыру, яғни компьютер коды. CASE функцияларына талдау, жобалау және бағдарламалау кіреді. CASE құралдары құрылымдаудың компьютерлік кодын жобалау, құжаттау және шығару әдістерін автоматтандырады бағдарламалау тілі.[12]

Компьютерлік бағдарламалық қамтамасыз ету жүйесін жобалаудың (CASE) екі негізгі идеясы:[13]

  • Бағдарламалық қамтамасыздандыруды дамытудағы компьютерлік көмек және бағдарламалық қамтамасыз ету процестер, және
  • Бағдарламалық жасақтаманы әзірлеуге және қызмет көрсетуге инженерлік тәсіл.

CASE типтік құралдары бар конфигурацияны басқару, деректерді модельдеу, модель түрлендіру, қайта өңдеу, бастапқы кодты құру.

Интеграцияланған даму ортасы

Анжута, GNOME ортасы үшін C және C ++ IDE

Ан интеграцияланған даму ортасы (IDE) ретінде белгілі интеграцияланған дизайн ортасы немесе түзету ортасы Бұл бағдарламалық жасақтама жан-жақты мүмкіндіктер ұсынады компьютерлік бағдарламашылар бағдарламалық жасақтама жасауға арналған. IDE әдетте мыналардан тұрады:

IDE бағдарламалық жасақтаманың өнімділігін максимумға ұқсас компоненттермен қамтамасыз ету арқылы жасалған пайдаланушы интерфейстері. Әдетте IDE белгілі бір нәрсеге арналады бағдарламалау тілі, сәйкес келетін функциялар жиынтығын қамтамасыз ету үшін бағдарламалау парадигмалары тілдің.

Модельдеу тілі

A модельдеу тілі кез келген жасанды тіл білдіру үшін қолданылуы мүмкін ақпарат немесе білім немесе жүйелер ішінде құрылым бұл ережелер жиынтығымен анықталады. Ережелер құрылымдағы компоненттердің мағынасын түсіндіру үшін қолданылады. Модельдеу тілі графикалық немесе мәтіндік болуы мүмкін.[14] Графикалық модельдеу тілдері а диаграмма әдістері белгілерді байланыстыратын және шектеулерді көрсету үшін қатынастар мен басқа да әр түрлі графикалық аннотацияны білдіретін ұғымдар мен сызықтарды бейнелейтін белгілермен. Мәтіндік модельдеу тілдері, әдетте, компьютермен түсіндірілетін өрнектер жасау үшін параметрлермен бірге стандартталған кілт сөздерді қолданады.

Бағдарламалық жасақтама саласындағы графикалық модельдеу тілдерінің мысалдары:

Барлық модельдеу тілдері орындала бермейді, ал оларды қолдану бағдарламашылардың қажетсіздігін білдірмейді. Керісінше, орындалатын модельдеу тілдері білікті бағдарламашылардың өнімділігін арттыруға арналған, осылайша олар күрделі мәселелерді шеше алады. параллель есептеу және бөлінген жүйелер.

Бағдарламалау парадигмасы

A бағдарламалау парадигмасы -ның негізгі стилі болып табылады компьютерлік бағдарламалау, бұл әдетте жобаны басқару әдіснамасында айтылмаған (мысалы, сарқырама немесе ептілік). Парадигмалар бағдарламаның элементтерін (мысалы, объектілер, функциялар, айнымалылар, шектеулер) бейнелеу үшін қолданылатын ұғымдар мен абстракциялармен және есептеуді құрайтын қадамдармен (тағайындаулар, бағалау, жалғастыру, мәліметтер ағыны) ерекшеленеді. Кейде парадигма ұсынған тұжырымдамалар жүйенің жоғары деңгейдегі архитектурасын жобалауда бірлесіп қолданылады; басқа жағдайларда, бағдарламалау парадигмасы ауқымы белгілі бір бағдарламаның немесе модульдің ішкі құрылымымен шектеледі.

A бағдарламалау тілі қолдай алады бірнеше парадигмалар. Мысалы, жазылған бағдарламалар C ++ немесе Паскаль нысаны таза болуы мүмкін процессуалдық, немесе таза объектіге бағытталған, немесе екі парадигманың элементтерін қамтиды. Бағдарламалық жасақтама дизайнерлері мен бағдарламашылары сол парадигма элементтерін қалай қолдануды шешеді. Жылы объектіге бағытталған бағдарламалау, бағдарламашылар бағдарламаны өзара әрекеттесетін объектілер жиынтығы ретінде қарастыра алады, ал функционалды бағдарламалау бағдарламаны азаматтығы жоқ функцияларды бағалаудың бірізділігі ретінде қарастыруға болады. Компьютерлерді немесе көптеген процессорлары бар жүйелерді бағдарламалау кезінде, процесске бағытталған бағдарламалау бағдарламашыларға қосымшалар туралы логикалық түрде ортақтасатын бір уақытта жүретін процестер жиынтығы ретінде қарастыруға мүмкіндік береді мәліметтер құрылымы.

Әр түрлі топтар сияқты бағдарламалық жасақтама әртүрлі адвокат әдістемелер, әр түрлі бағдарламалау тілдері әртүрлі адвокат бағдарламалау парадигмалары. Кейбір тілдер бір парадигманы қолдауға арналған (Smalltalk нысанға бағытталған бағдарламалауды қолдайды, Хаскелл функционалды бағдарламалауды қолдайды), ал басқа бағдарламалау тілдері бірнеше парадигмаларды қолдайды (мысалы Паскаль нысаны, C ++, C #, Visual Basic, Жалпы Лисп, Схема, Python, Рубин, және Oz ).

Көптеген бағдарламалау парадигмалары олардың қандай әдістерімен танымал тыйым салу олардың мүмкіндіктері туралы. Мысалы, таза функционалды бағдарламалау қолдануға тыйым салады жанама әсерлер; құрылымдық бағдарламалау пайдалануға тыйым салынады бару мәлімдемелер. Ішінара осы себепті, жаңа парадигмаларды көбінесе бұрынғы стильдерге үйренгендер доктриналық немесе тым қатал деп санайды.[дәйексөз қажет ] Белгілі бір әдістерден аулақ болу бағдарламаның дұрыстығы туралы теоремаларды дәлелдеуді немесе оның әрекетін түсінуді жеңілдетуі мүмкін.

Жоғары деңгейлі парадигмалардың мысалдары:

Бағдарламалық жасақтаманы қайта пайдалану

Анықтамасы бағдарламалық жасақтаманы қайта пайдалану бұл алдын ала анықталған бағдарламалық жасақтама компоненттерінен бағдарламалық жасақтаманы құру процесі. Бағдарламалық жасақтаманы қайта қолдану тәсілі қолданыстағы бағдарламалық жасанды артефактілерді көбейтуге немесе максималды пайдалануды көздейді бағдарламалық жасақтама жасаудың өмірлік циклі.
Бағдарламалық жасақтаманы қайта пайдаланудың кең таралған әдістері:

Сондай-ақ қараңыз

Рөлдер және өнеркәсіп

Арнайы қосымшалар

Әдебиеттер тізімі

  1. ^ «Қолданбаларды әзірлеу (AppDev) анықталған және түсіндірілген». Bestpricecomputers.co.uk. 2007-08-13. Алынған 2012-08-05.
  2. ^ DRM Associates (2002). «Өнімнің жаңа дамуының түсіндірме сөздігі». Алынған 2006-10-29.
  3. ^ Электрондық бизнеске арналған жүйені дамыту әдістемесі: теңшеу негіздері Линда В. Найт (ДеПол университеті, АҚШ), Тереза ​​А. Штейнбах (ДеПол университеті, АҚШ) және Винс Келлен (Көк бөрі, АҚШ)
  4. ^ Джозеф М.Моррис (2001). Бағдарламалық жасақтама есебі. 1.10
  5. ^ Алан М.Дэвис. Бағдарламалық жасақтаманың үлкен дебаттары (8 қазан, 2004 ж.), Бет: 125-128 Wiley-IEEE Computer Society Press
  6. ^ Ральф, П. және Уэнд, Ю. Дизайн тұжырымдамасын ресми түрде анықтауға ұсыныс. Литинен, К., Лукопулос, П., Мелопулос, Дж., және Робинсон, В., (редакция.), Дизайнға қойылатын талаптар: Инженерлік: Он жылдық перспектива: Springer-Verlag, 2009, 103-136 б.
  7. ^ Отеро, Карлос. «Бағдарламалық жасақтаманы жобалауға арналған қиындықтар». Ақпараттық технологияның жұмысын жақсарту. Taylor & Francis LLC. Алынған 19 қазан 2017.
  8. ^ Эдвард Дж. Баркмейер (2003). Жүйелер интеграциясын автоматтандыруға арналған түсініктер NIST 2003.
  9. ^ а б c г. Пол Р. Смит және Ричард Сарфати (1993). Компьютерлік бағдарламалық жасақтама (CASE) құралдарының көмегімен конфигурацияны басқарудың стратегиялық жоспарын құру. 1993 ұлттық DOE / мердігерлері мен объектілеріне арналған CAD / CAE Пайдаланушылар тобына арналған құжат.
  10. ^ Кун, DL (1989). «Компьютерлік бағдарламалық жасақтама құралын таңдау және тиімді пайдалану». Жыл сайынғы Westinghouse компьютерлік симпозиумы; 6-7 қараша 1989 ж .; Питтсбург, Пенсильвания (АҚШ); DOE жобасы.
  11. ^ П. Лукопулос және В. Каракостас (1995). Инженерлік жүйеге қойылатын талаптар. McGraw-Hill.
  12. ^ ІС Мұрағатталды 2012-02-18 Wayback Machine Анықтама: Телеком сөздігі 2000 ж Мұрағатталды 2005-11-22 Wayback Machine. Тексерілді, 26 қазан 2008 ж.
  13. ^ К.Робинсон (1992). Бағдарламалық жасақтаманы CASE-ке енгізу. Нью-Йорк: Джон Вили және ұлдары Инк.
  14. ^ Сяо Хэ (2007). «Графикалық модельдеу тілдерін белгілеуге арналған метамодель «. Жылы: Компьютерлік бағдарламалық жасақтама және қосымшалар конференциясы, 2007. COMPSAC 2007 - т. 1. 31-ші Халықаралық, 1 том, басылым, 2007 ж. 24–27 шілде, 219-224 бб.
  15. ^ Меркс, Джордж Г .; Норман, Роналд Дж. (2006). Java-мен бірыңғай бағдарламалық жасақтама. Prentice-Hall, Inc. б.201. ISBN  0130473766.

Әрі қарай оқу

  • Kit, Edward (1992). Нақты әлемдегі бағдарламалық жасақтаманы тестілеу. Аддисон-Уэсли кәсіби. ISBN  0201877562.
  • Маккарти, Джим (1995). Бағдарламалық жасақтаманың даму динамикасы. Microsoft Press. ISBN  1556158238.
  • Conde, Dan (2002). Бағдарламалық жасақтама өнімдерін басқару: Бағдарламалық жасақтаманы идеядан өнімге, маркетингке сатуға дейін басқаруды басқару. Aspatore Books. ISBN  1587622025.
  • Дэвис, А.М. (2005). Талаптарды басқару жеткілікті: бағдарламалық жасақтама маркетингке сәйкес келетін жерде. Dorset House Publishing Company, Incorporated. ISBN  0932633641.
  • Хастед, Эдвард (2005). Сатылатын бағдарламалық жасақтама: бағдарламалық жасақтама жобасын әзірлеу және сату бойынша практикалық нұсқаулық. Wiley Publishing. ISBN  0764597833.
  • Хоман, Люк (2003). Бағдарламалық жасақтама архитектурасынан тыс: жеңімпаз шешімдерді құру және қолдау. Аддисон-Уэсли кәсіби. ISBN  0201775948.
  • Джон В.Хорх (2005). «Нысандармен жұмыс істеудің екі бағыты». In: IEEE бағдарламалық жасақтамасы. т. 12, жоқ. 2, 117–118 бб, наурыз, 1995 ж.
  • Риттхаус, Джон (2003). Бағдарламалық жасақтаманы басқару: бағдарламалық жасақтаманы әзірлеуді басқару әдістемесі. Digital Press. ISBN  155558313X.
  • Вигерс, Карл Э. (2005). Бағдарламалық жасақтаманың талаптары туралы көбірек: тікенді мәселелер және практикалық кеңестер. Microsoft Press. ISBN  0735622671.
  • Висоцки, Роберт К. (2006). Бағдарламалық жасақтаманы тиімді басқару. Вили. ISBN  0764596365.