Проблемалық кадрлар тәсілі - Problem frames approach

Мәселелерді талдау немесе проблемалық жақтаулар - бұл бағдарламалық жасақтамаға деген көзқарас талаптарды талдау. Оны британдық бағдарламалық жасақтама кеңесшісі жасаған Майкл Джексон 1990 жылдары.

Тарих

Проблемалық кадрлар тәсілін алдымен Джексон өзінің кітабында сызған Бағдарламалық жасақтаманың талаптары мен сипаттамалары (1995) және әртүрлі журналдардағы бағдарламалық жасақтама инженериясына арналған бірқатар мақалаларында. Бұл оның толық сипаттамасын алды Мәселелер шеңбері: бағдарламалық жасақтаманы әзірлеу мәселелерін талдау және құрылымдау (2001).

Проблемалық кадрларға арналған сессия 2003 жылы Австрияның Клагенфурт / Велден қаласында өткен 9-шы Халықаралық инженерлік-техникалық жұмыс: Бағдарламалық жасақтама сапасының негізі (REFSQ) семинарының бөлігі болды.[1] Мәселелер шеңберіндегі қосымшалар мен жетістіктер туралы бірінші халықаралық семинар[2] Шотландияның Эдинбург қаласында өткен ICSE’04 шеңберінде өтті. Осы семинардың нәтижесі 2005 жылы проблемалық кадрлар туралы арнайы шығарылым болды Халықаралық ақпараттық және бағдарламалық технологиялар журналы.

Мәселелер шеңберіндегі қосымшалар мен жетістіктер туралы екінші халықаралық семинар[3] ICSE 2006 шеңберінде Қытайдың Шанхай қаласында өтті. Мәселелер шеңберіндегі қосымшалар мен жетістіктерге арналған үшінші халықаралық семинар (IWAAPF)[4] Германияның Лейпциг қаласында өткен ICSE 2008 шеңберінде өтті. 2010 жылы IWAAPF шеберханалары проблемалық-бағдарлаудың қосымшалары мен жетістіктері жөніндегі халықаралық семинармен ауыстырылды (IWAAPO). IWAAPO семинарлардың назарын проблемалық талдауға көп көңіл бөлетін бағдарламалық жасақтаманың баламалы және қосымша тәсілдерін қосуға кеңейтеді.[5] IWAAPO-2010 Оңтүстік Африканың Кейптаун қаласында өткен ICSE 2010 шеңберінде өтті.[6]

Бүгінгі таңда бірқатар университеттерде проблемалық кадрлар әдісі бойынша зерттеулер жүргізілуде, атап айтсақ Ашық университет оның бөлігі ретінде Ұлыбританияда Шешімдердің құрылымы мен проблемалары зерттеу тақырыбы[7][8]

Проблемалық кадрлар тәсіліндегі идеялар тұжырымдамаларына жалпыланған проблемаға бағытталған даму (POD) және проблемалық-инженерлік (POE), оның ішінде проблемалық-бағдарланған бағдарламалық жасақтама (POSE) - бұл белгілі бір кіші санат. Бірінші Мәселеге бағытталған даму бойынша халықаралық семинар 2009 жылдың маусымында өткізілді.

Шолу

Фундаменталды философия

Мәселелерді талдау немесе проблемалық жақтаулар дегеніміз - бұл талаптарды жинау және компьютерлік бағдарламалық жасақтамаға техникалық шарттарды құру кезінде қолданылатын ұғымдар жиынтығы. Оның негізгі философиясы бағдарламалық жасақтамаға қойылатын басқа әдістерден қатты ерекшеленеді:

  • Талаптарды талдауға жақсырақ тәсілі - қолданушының талаптарын иерархиялық емес - параллельді ыдырату процесі.[9]
  • Пайдаланушының талаптары нақты әлемдегі қарым-қатынас туралы қолданбалы домен - бағдарламалық жасақтама жүйесі немесе тіпті бағдарламалық жасақтаманың интерфейсі туралы емес.

Шешім компьютерде және оның бағдарламалық жасақтамасында орналасқанын, ал мәселе сырттағы әлемде екенін түсіну пайдалы ... Компьютерлер бұл мәселелерді шеше алады, өйткені олар сыртқы әлеммен байланысты.[10]

Мораль айқын: проблеманы зерттеу және талдау үшін сіз проблеманы тереңірек зерттеуге және талдауға назар аударуыңыз керек, және тергеу барысында сіз компьютерден біраз қашықтықта жүруге дайын болуыңыз керек. ... [Қоңырауды бағыттау мәселесінде ...] Сіз онда не бар екенін - адамдар мен кеңселер мен мерекелерді және кеңсені ауыстыру мен жауапкершілікті бөлуді сипаттауыңыз керек - бұл қандай әсер етеді [проблемалық әлемде]Сіз жүйеге қол жеткізгіңіз келеді - А нөміріне қоңырау шалу А, және [В демалыста болғанда, ал С уақытша Д үстелінде жұмыс істейді] B немесе C нөміріне қоңырау шалу С-ге жетуі керек.[11]

Бұлардың ешқайсысы компьютермен интерфейсте көрінбейді .... Олар әлемге тереңірек енеді.[12]

Тәсіл тұжырымдамалық құралдардың үш жиынтығын қолданады.

Нақты мәселелерді сипаттайтын құралдар

Нақты мәселелерді сипаттау үшін қолданылатын тұжырымдамаларға мыналар жатады: құбылыстар (әр түрлі, оның ішінде іс-шаралар), проблемалық контекст, проблемалық домен,шешім домені (ака машина), ортақ құбылыстар (оларда бар домендік интерфейстер), доменге қойылатын талаптар (проблемалық домендерде бар) және сипаттамалары (проблемалық доменде бар: машина интерфейсі).

Мәселелерді сипаттауға арналған графикалық құралдар контекстік диаграмма және проблемалық диаграмма.

Есептер кластарын сипаттауға арналған құралдар (проблемалық кадрлар)

Проблемалық кадрлар тәсіліне есептер кластарын сипаттауға арналған түсініктер кіреді. Мәселелердің танылған класы а деп аталады проблемалық жақтау (шамамен a-ға ұқсас дизайн үлгісі).

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

Проблемалық кадрларды бейнелеудің графикалық құралы - бұл жақтау схемасы. Жақтау диаграммасы проблемалық диаграммаға ұқсайды, тек бірнеше ұсақ айырмашылықтарды қоспағанда - домендердің белгілі емес, жалпы атаулары бар; және домендерді көрсететін тіктөртбұрыштар доменнің түрін (себепті немесе бағалы) көрсету үшін түсініктеме береді.

Есептердің танылған сыныптарының тізімі (проблемалық кадрлар)

Джексон анықтаған проблемалық кадрлардың бірінші тобына:

  1. талап етілетін мінез-құлық
  2. командалық мінез-құлық
  3. ақпаратты көрсету
  4. қарапайым дайындамалар
  5. трансформация

Кейіннен басқа зерттеушілер қосымша проблемалық шеңберлерді сипаттады немесе ұсынды.

Проблемаларды сипаттау

Мәселе

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

Проблемалық контексттің белгілі бір проблемаға байланысты қызығушылық тудыратын белгілі бір бөлігі - проблеманың контекстін құрайтын проблемалық контексттің белгілі бір бөлігі - деп аталады қолданбалы домен.

Бағдарламалық жасақтаманы әзірлеу жобасы аяқталғаннан кейін және бағдарламалық жасақтама проблемалық контекстке енгізілгеннен кейін, проблемалық контекст қолданбалы доменді де, машинаны да қамтиды. Сол кезде жағдай келесідей болады:

ProblemFramesProblemContext1.svg

Мәселе мәтінмәнінде машина мен қолданбалы домен бар. The машина интерфейсі бұл жерде машина мен қолданбалы домен кездеседі және өзара әрекеттеседі.

Дәл осындай жағдайды басқа түрдегі диаграммада көрсетуге болады, а контекстік диаграмма, Бұл жолмен:

ProblemFramesProblemContext2.png

Контексттік диаграмма

Проблемалық талдаушының бірінші міндеті - мәселені шынымен түсіну. Бұл мәселе қойылған контекстті түсінуді білдіреді. Және бұл дегеніміз сурет салуды білдіреді контекстік диаграмма.

Міне, Джексонның проблемалық контекстті зерттеу сипаттамасы, бұл жағдайда көпір салуға арналған контекст:

Сіз өзен арқылы көпір салуды жоспарлап отырған инженерсіз. Сонымен сіз сайтқа кіресіз. Өзеннің бір жағасында тұрып, сіз айналаңыздағы құрлыққа және өзен көлігіне қарайсыз. Сіз бұл жердің қаншалықты ашық екенін және желдің қаншалықты қатты соғып тұрғанын және өзеннің қаншалықты жылдам ағып жатқанын сезесіз. Сіз банкке қарап, тасты жерлерде геологиялық зерттеудің қандай ақаулары болатынын білесіз. Сіз өзіңіз салғалы жатқан көпірді елестетесіз. (Бағдарламалық жасақтаманың талаптары мен сипаттамалары: «Мәселе контексті»)

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

Контексттік диаграмма әр түрлі көрсетеді проблемалық домендер қолданбалы доменде, олардың қосылыстары, және Машина және оның проблемалық домендерге қосылуы (кейбіреулері). Міне, контексттік диаграмма қалай көрінеді.

ProblemFramesContextDiagram1.svg

Бұл диаграмма:

  • The машина салынуы керек. Қараңғы жиек Машинаны бейнелейтін қорапты анықтауға көмектеседі.
  • The проблемалық домендер проблемаға сәйкес келетін.
  • тұтас сызықтар бейнелейді домендік интерфейстер - домендер қабаттасатын және құбылыстарды ортақ пайдаланатын аймақтар.

Домен - бұл бізді қызықтыратын әлемнің бір бөлігі құбылыстар - жеке адамдар, оқиғалар, жағдай, қатынастар және мінез-құлық.

Домендік интерфейс - бұл домендер байланысатын және байланысатын аймақ. Домен интерфейстері деректер ағындары немесе хабарламалар емес. Интерфейс - бұл интерфейстегі құбылыстар болатындай домендердің ішінара қабаттасатын орны ортақ құбылыстар - олар қабаттасқан екі доменде де бар.

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

Келесі диаграммада Х - бұл А және В домендерінің арасындағы интерфейс, бар адамдар немесе Х-да болатын оқиғалар, А мен В-де бар немесе кездеседі.

ProblemFramesInterfaces.svg

Бөліскен адамдар, мемлекеттер мен оқиғалар оларды бөлісетін домендерге басқаша көрінуі мүмкін. Мысалы, компьютер мен пернетақта арасындағы интерфейсті қарастырайық. Пернетақта домені оқиғаны көргенде Пернетақта операторы бос орынды басады компьютер сол оқиғаны көреді Кіріс буферінде байт алтылығы («20») пайда болады.

Проблемалық диаграммалар

Проблемалық талдаушының проблеманы сипаттаудың негізгі құралы а проблемалық диаграмма. Мұнда жалпыға ортақ диаграмма берілген.

ProblemFramesProblemDiagram1.svg

Контексттік диаграммада көрсетілген түрлерден басқа, проблемалық диаграмма:

  • бейнелейтін нүктелік сопақ талап проблемалық домендерде белгілі бір әсер ету.
  • нүктелік сызықтар талап етілетін сілтемелер - проблемалық саладағы құбылыстарға деген талаптағы сілтемелер.

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

Мұнда нақты, қарапайым болса, проблемалық диаграмманың мысалы келтірілген.

ProblemFramesProblemDiagram2.png

Бұл мәселе ауруханадағы компьютерлік жүйенің бір бөлігі болуы мүмкін. Ауруханада науқастар олардың температурасы мен қан қысымын анықтайтын және өлшейтін датчиктерге қосылады. Қойылатын талап - мейірбикелер үйіндегі панельде пациенттердің жағдайы туралы ақпаратты көрсете алатын машинаны құрастыру.

Талаптың атауы - «Дисплей ~ Науқастың жағдайы». Тильда (~) талаптың панельдік дисплей мен пациенттің жағдайлары арасындағы байланыс немесе сәйкестік туралы екенін көрсетеді. Көрсеткі ұшы панельдік дисплей доменіне қосылған талап сілтемесі де талапты шектейтіндігін көрсетеді. Демек, бұл талапта панельдік дисплей орындалуы керек қандай-да бір шарт бар. Бір сөзбен айтқанда, талап сол Панельдік дисплейде пациенттердің жағдайына сәйкес келетін және нақты есеп беретін ақпарат көрсетілуі керек.

Есептер кластарын сипаттау

Проблемалық кадрлар

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

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

Вариантты жақтаулар

Жылы Проблемалық кадрлар Джексон өзі анықтаған бес негізгі проблемалық шеңбердің нұсқаларын талқылады. Нұсқа әдетте проблемалық контекстке домен қосады.

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

Проблемалық мәселелер

Джексон сонымен қатар проблемалық фреймдермен жұмыс істеу кезінде туындайтын алаңдаушылықтың кейбір түрлерін талқылайды.

Ерекше алаңдаушылық

  • асып кету
  • инициализация
  • сенімділік
  • сәйкестілік
  • толықтығы

Композицияға қатысты мәселелер

  • салыстырмалы сипаттамалар
  • дәйектілік
  • басымдық
  • кедергі
  • үндестіру

Проблемалық кадрлар танылды

Джексон анықтаған алғашқы проблемалық шеңберлерге мыналар кірді:

  1. талап етілетін мінез-құлық
  2. командалық мінез-құлық
  3. ақпаратты көрсету
  4. қарапайым дайындамалар
  5. трансформация

Кейіннен басқа зерттеушілер қосымша проблемалық шеңберлерді сипаттады немесе ұсынды.

Қажетті мінез-құлық проблемалары

Бұл проблемалық жүйенің интуитивті идеясы:

  • Физикалық әлемнің кейбір жағдайлары бар, олардың мінез-құлқы белгілі бір шарттарды қанағаттандыратын етіп басқарылуы керек. Мәселе сол басқаруды жүктейтін машинаны жасауда.
ProblemFramesRequiredBehaviorFrame.svg

Пәрменді мінез-құлық проблемалары

Бұл проблемалық жүйенің интуитивті идеясы:

  • Физикалық әлемнің кейбір бөліктері бар, олардың әрекеті оператордың командаларына сәйкес басқарылуы керек. Мәселе оператордың командаларын қабылдайтын және соған сәйкес басқаруды жүктейтін машина жасауда.
ProblemFramesCommandedBehaviorFrame.svg

Ақпаратты көрсетуге арналған проблемалық кадрлар

Бұл проблемалық жүйенің интуитивті идеясы:

  • Физикалық әлемнің кейбір бөліктері бар, олардың күйлері мен мінез-құлқы туралы үнемі ақпарат қажет. Мәселе осы ақпаратты әлемнен алатын және оны қажетті жерде қажетті формада ұсынатын машина жасауда.
ProblemFramesInformationDisplayFrame.svg

Қарапайым дайындамалар проблемалық жақтауы

Бұл проблемалық жүйенің интуитивті идеясы:

  • Пайдаланушыға компьютерде өңделетін белгілі бір кластағы мәтіндік немесе графикалық объектілерді немесе сол сияқты құрылымдарды жасауға және өңдеуге мүмкіндік беретін құрал қажет, оларды кейіннен көшіру, басып шығару, талдау немесе басқа тәсілдермен пайдалану. Мәселе осы құрал ретінде жұмыс істей алатын машинаны жасауда.
ProblemFramesSimpleWorkpiecesFrame.svg

Трансформация проблемалары

Бұл проблемалық жүйенің интуитивті идеясы:

  • Компьютерде оқылатын кейбір берілген файлдар бар, олардың деректері белгілі бір қажетті шығыс файлдарын беру үшін түрлендірілуі керек. Шығарылатын мәліметтер белгілі бір форматта болуы керек және ол белгілі бір ережелерге сәйкес кіріс деректерінен алынуы керек. Мәселе кірістерден қажетті нәтижелер шығаратын машина жасауда.
ProblemFramesTransformationFrame.svg

Мәселелерді талдау және бағдарламалық жасақтама жасау процесі

Қашан проблемалық талдау кіреді бағдарламалық жасақтама жасау процесі, бағдарламалық жасақтаманы жасаудың өмірлік циклі жағдайды зерттейтін және:

  • контексттік диаграмма жасайды
  • талаптардың тізімін жинайды және контекстік диаграммаға сопақша талаптарды қосады, үлкен «бәріне-бір» проблемалық диаграммасын жасайды. (Алайда, көп жағдайда барлығы бір-бірімен проблемалық диаграмманы құру практикалық емес немесе пайдасыз болуы мүмкін: диаграмманы өте пайдалы ету үшін қиылысу сілтемелері өте көп болады).
  • барлығына арналған есептер мен есептер сызбасын қарапайым есептер мен қарапайым есептер схемаларына бөледі. Бұл проблемалар проекциялар, барлығы-бір-диаграмманың ішкі жиындары емес.
  • әрбір есеп жеткілікті қарапайым болғанға дейін, оны есептер шығаратын жүйенің данасы ретінде көруге болатынға дейін есептер шығаруды жалғастырады. Әрбір ішкі проблеманың сипаттамасына құрылғыға арналған интерфейстің сипаттамасы кіреді.

Осы кезде проблемаларды талдау - проблеманың ыдырауы - аяқталды. Келесі қадам - ​​бұл процесті кері қайтару және қажет болған кезде қажетті бағдарламалық жасақтаманы құру ерітінді құрамы.

Шешімнің құрамы әлі толық зерттелмеген, және әлі де зерттеу тақырыбы болып табылады. Кескіндерді экстраполяциялау Бағдарламалық жасақтаманың талаптары мен сипаттамалары, біз бағдарламалық жасақтама жасау процесі әзірлеушілермен жалғасады деп болжай аламыз, олар:

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

Ұқсас тәсілдер

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

  • А ұғымы дизайн үлгісі Джексонның проблемалық кадр туралы түсінігіне ұқсас. Дизайн үлгісі талап мәселелерін тану және өңдеу үшін емес, дизайн мәселелерін (көбінесе C ++ немесе Java сияқты объектілік-бағдарланған бағдарламалау тілдеріндегі дизайн мәселелерін) тану және өңдеу үшін қолданылатындығымен ерекшеленеді. Сонымен қатар, бір айырмашылық - дизайн өрнектері жабылады шешімдер проблемалық кадрларда болған кезде мәселелер ұсынылған. Сонымен қатар, дизайн үлгілері өздері енгізуге тиісті бағдарламалық тілге жат емес семантикалық нәтижелерді ескеруге бейім. Сонымен, тағы бір айырмашылық - проблемалық фреймдер проблемалар саласы үшін өзіндік мета-белгі болып табылады, ал дизайн үлгілері бұл тілді қолданушылар қалдырған техникалық қарыздар каталогы.
  • Аспект-бағытталған бағдарламалау, AOP (сонымен бірге бағдарламалық қамтамасыздандыруды дамыту, AOPD) параллельді ыдырауға да мүдделі, ол AOP жақтаушылары деп атайды алаңдаушылық немесе аспектілері. AOP талаптарды талдау кезеңінен гөрі дизайн және код жасау кезеңіне әлдеқайда жақын мәселелерді шешеді.
  • AOP ITU-T Z.151 пайдаланушының талаптары туралы ескерту (URN) сияқты инженерлік белгілерге көшті. URN-де AOP барлық қасақана элементтерден асып түседі. AOP сонымен қатар эвристикалық ретінде проблемалық фреймдерді қолданатын талаптарды модельдеу кезінде қолданыла алады. Проблемалық кадрлық ойлауға негізделген және аспектілері бар URN модельдері архитектуралық тактиканы талап үлгісіне қосуға мүмкіндік береді.
  • Мартин Фаулердің кітабы Талдау үлгілері заңдылықтарды іздеу кезінде проблемалық талдауға өте ұқсас. Бұл шынымен де талаптарды талдаудың жаңа әдісін ұсынбайды. Параллельді ыдырау ұғымы - бұл проблеманы талдау үшін өте маңызды - Фаулердің талдау үлгілеріне кірмейді.
  • Джон Г.Холл, Люсия Рапанотти Джексонмен бірге проблемалық бағдарланған бағдарламалық жасақтама (POSE) шеңберін жасады[13] проблемалық негіздерді бөлісетін. 2005 жылдан бастап Холл мен Рапанотти POSE-ді проблемалық-бағдарланған инженерияға (POE) кеңейтті, ол инженерлік жобалаудың негізін, соның ішінде даму процесінің моделі мен сенімділікке негізделген дизайнды ұсынады;[14] көптеген мүдделі тұлғаларды қамтитын және бағдарламалық қамтамасыз ету және білім беру сияқты әртүрлі инженерлік пәндерді біріктіретін жобалар үшін ауқымды болуы мүмкін.[15]

Пайдаланылған әдебиеттер

  1. ^ Техникалық талаптар бойынша 9-шы халықаралық семинар: бағдарламалық жасақтама сапасының негізі (REFSQ) 2003 жылы Австрияның Клагенфурт / Велден қаласында өтті.
  2. ^ Мәселелер шеңберіндегі қосымшалар мен жетістіктер туралы бірінші халықаралық семинар
  3. ^ Мәселелер шеңберіндегі қосымшалар мен жетістіктер туралы екінші халықаралық семинар Мұрағатталды 2007-08-19 Wayback Machine
  4. ^ «Мәселелер шеңберіндегі қосымшалар мен жетістіктер жөніндегі үшінші халықаралық семинар». Архивтелген түпнұсқа 2010-12-24 ж. Алынған 2010-06-19.
  5. ^ Мәселелерді бағдарлаудың қолданбалары мен жетістіктері бойынша халықаралық семинар Мұрағатталды 2011-01-11 сағ Wayback Machine
  6. ^ «IWAAPO-2010». Архивтелген түпнұсқа 2010-01-28. Алынған 2010-06-19.
  7. ^ Шешімдердің құрылымы мен проблемалары зерттеу тақырыбы.
  8. ^ Мысалы: «Проблемалық кадрларды қолдана отырып бағдарламалық жасақтаманың талаптары мен архитектураларын байланыстыру» Холл, Дж. Г. Джексон, М .; Лэйни, РК; Нусейбе, Б .; Рапанотти, Л., IEEE Инженерлік Талаптар бойынша Біріккен Халықаралық Конференция материалдары (2002), 137–144 бб
  9. ^ Джексон, Майкл (1995). «Қайта пайдалануға арналған проблемалық ыдырау». 1, 2 бет.
  10. ^ Джексон, Майкл (2001). Проблемалық кадрлар. Аддисон-Уэсли. 3, 4 бет.
  11. ^ Джексон, Майкл (2001). Проблемалық кадрлар. Аддисон-Уэсли. б. 9.
  12. ^ Джексон, Майкл (2001). Проблемалық кадрлар. Аддисон-Уэсли. 9, 10 бет.
  13. ^ Дж. Г. Холл, Л. Рапанотти және М. Джексон. Проблемалық бағдарламалық жасақтама: маршрутизатор пакетін басқару мәселесін шешу. IEEE Транс. Software Eng., 2008. дои:10.1109 / TSE.2007.70769.
  14. ^ Дж. Г. Холл және Л. Рапанотти. Кепілдікке негізделген дизайн. Бағдарламалық жасақтама жетістіктері бойынша үшінші халықаралық конференция материалдары. 2008 ж.
  15. ^ Л.Рапанотти және Дж. Г. Холл. Сырттай философияның магистрін жобалау. Интернет және веб-қосымшалар мен қызметтерге арналған төртінші халықаралық конференция материалдары. IEEE Press, 24-28 мамыр, 2009 ж.

Сыртқы сілтемелер