Структурно методика за разработване на софтуер

Наименование на работа: Строителен методика за разработване на софтуер

Специализация: информатика, кибернетика и програмиране

Описание: Въведение в началото на 70-те години на ХХ век, когато развитието на езиците за програмиране е достигнал достатъчно високо ниво, както и създадени софтуерни системи са достигнали доста впечатляващи размери (стотици хиляди - милиони инструкции), стана ясно, че.

Размер на файла: 436.5 KB

Работа Изтеглили: 117 души.

До началото на 70-те години на XX век, когато развитието на езиците за програмиране е достигнал достатъчно високо ниво, както и създадени софтуерни системи са достигнали доста впечатляващи размери (стотици хиляди # 150; милиони инструкции), стана ясно, че софтуерни проекти са станали твърде сложни за успешното проектиране, кодиране и отстраняване на грешки в разумен срок. Програмистите, които решават сложни проблеми се сблъскват с проблема за нарастване на броя и размера на програми до такава степен, че по-нататъшното развитие на процеса става почти неуправляем, и нито един от разработчиците не може да се каже със сигурност, че е създаден на софтуера винаги прави това, което е необходимо, и че той Тя не изпълнява всичко, което не се изисква. По този начин, има проблем радикална промяна в подхода към създаването на големи софтуерни системи.

Важен етап в развитието на този подход са станали международни програмни конференции, проведени в 1968-69. На втория от тях Edsger Дейкстра за първи път използвах термина "структурно програмиране" и предложи фундаментално нов начин за създаване на програми. Той разглежда програмата като съвкупност от йерархични водочерпене слоеве, които позволяват:

  1. ясно структурирана програма, която се е подобрило разбирането си за програмистите;
  2. носят доказателство за неговата правилност и по този начин да се увеличи надеждността на работа на програмата;
  3. намаляване на времето за програмиране.

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

структурно програмиране # 151; методология за разработка на софтуер, който се основава на представяне на програмата в йерархична структура на блокове. Тя предложи през 70-те години на XX век. E.Deykstroy, разработена и допълнена N.Virtom (фиг. 1).

Структурно методика за разработване на софтуер

Структурно методика за разработване на софтуер

Niklaus Wirth (1934) # 151; Швейцарската учен, експерт в областта на компютърните науки, е един от най-известните теоретици в развитието на езиците за програмиране, компютърни науки професор, носител на наградата на Тюринг през 1984 г. водещ разработчик на езици за програмиране на Паскал, Modula-2, Оберон.

Фиг. 1. пионерите на структурно програмиране # 150; E.Deykstra и N.Virt.

Методологията на структуриран програмиране се очертава като следствие от увеличаването на сложността на задачите на компютрите и съответния софтуер сложността: в 70-те години на XX век. обема и сложността на програмите са достигнали ниво, че "интуитивно" (неструктурирана) програма за развитие, която е в норма в по-ранната време, вече не отговаря на потребностите на практиката. Програмата става твърде сложно, така че те могат да бъдат правилно придружава, така че отне известно систематизиране на развитието и структурата на програмите.

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

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

Типични методи за структурно програмиране са:

  • надолу издатък (стърчаща надолу);
  • Модулна (процедурни), програмиране;
  • структурен кодиране.

В съответствие с методологията за програмиране на структурния:

1. Всяка програма е структура, изградена от три вида основни проекти:

  • последователното изпълнение # 151; единично изпълнение на операциите в реда, в който са записани в програмата;
  • разклонение # 151; единично изпълнение на една от две или повече стъпки, в зависимост от изпълнението на предварително определена състояние;
  • цикъл # 151; множествена изпълнение на същите операции, стига да отговарят на предварително зададено условие (Условие за продължаване на цикъла).

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

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

3. Разработване на програма се извършва стъпка по стъпка, от "отгоре надолу".

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

Методологията на структурен дизайн софтуер е признат за "най-мощният формализирането на 70-те години." След това думата "структура" Стана модерно в индустрията, и то започва да се използва навсякъде, където е необходимо и когато това не е необходимо. Яви на "структурен дизайн" работа "структурно тестване", "структурен дизайн" и т.н.

Предимствата на структурно програмиране, включват следното:

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

2. В структурирани програми логически свързаните отчети са визуално по-близо, но слабо свързани # 151; освен това, че премахва нуждата от блок-схеми и други графични форми на алгоритми за изображение (в действителност, самата програма е със собствен блок схема).

3. значително опростява тестови програми и отстраняване на грешки, структуриран процес.

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

1.1. Целите и принципите на структурно програмиране

Целите на структурно програмиране са:

Осигуряване на програмиране дисциплина в процеса на създаване на софтуерни системи *.

Подобряване на четливостта на програмата. Четливост се засилва, ако следните правила:

избегне използването на езиковите конструкции с неочевидни семантика;

се стреми да локализира контролни действия структури и използване на структури от данни на;

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

Увеличете надеждността програми. Това може да бъде постигнато, ако програмата е лесно да се поддаде на чрез тестване и няма да създаде проблеми за организацията на процеса на отстраняване на грешки. Това се гарантира от добре структурирана програма с нея разбива на модули и прилагането на правилата за писане четене програми.

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

Основните принципи на структуриран програмен са обобщени в таблица. 1.

Таблица 1. Принципи за структурно програмиране

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

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

  1. структурно програмиране # 151; методология за разработка на софтуер, който се основава на представяне на програмата в йерархична структура на блокове. Тя предложи през 70-те години на XX век. E.Deykstroy, разработена и допълнена N.Virtom. Типични методи за структурно програмиране са надолу издатък (стърчаща надолу); Модулна (процедурни), програмиране; структурен кодиране.
  2. Целите на структуриран програмиране са: да осигури програмиране дисциплина, ефективност и надеждност програми, намаляване на времето и разходите за разработка на софтуер. Основните принципи на структуриран програмиране: абстракция, формалност, "разделяй и владей", йерархична поръчка.
  3. метод отгоре-надолу дизайн включва последователно разлагане функция обща обработка на данни да прости функционални елементи ( "отгоре-надолу"). Средства за постигане на целите на предишното ниво се превръщат в мишени на земята.
  4. структуриран кодиране # 151; Този метод на писане на програми, които имат специфична структура. Тя се основава на малък набор от структурни изявления, точността на които е лесно да се анализира и да се инсталира. Докато някои оператори са съставени от други инвестира в тях.
  5. В основата на структурно програмиране е теорема за структуриране формулирана от италианските математици и K.Bomom Dzh.Yakopini през 1966 г. се установява на теоремата, че без значение колко е трудно задача, алгоритъмът схема за неговото решаване (и, съответно, на програмата) винаги може да бъде представен като състав три вида вложени блокове: повторение (начало-край # 150; горния край), клонът (ако-то-друго # 150; ако-тогава друг), мотопеди със предпоставка (докато # 150; все още).

Тестовите въпроси

  1. Какви са методите на структуриран програмиране?
  2. Какви са целите структурирани програмиране?
  3. Какви са целите структурирани програмиране?
  4. На какви принципи се осъществява структурно програмиране?
  5. Каква е идеята на отгоре-надолу дизайн на алгоритъма?
  6. Какво е модул и какви качества трябва да има модулите?
  7. Какво е значението на структурното кодиране? Какви са основните структури образуват функционално пълна система? Как работят те?
  8. Какви допълнителни елементарни структури се използват в структурно кодиране? Как работят те?
  1. Лекции за учене, представена в електронен вид материал.
  2. Отговор тестови въпроси.
  3. Разработване на програма алгоритъм, който определя първи 10 Фибоначи последователност, която се генерира както следва:

F 1 = F 2 = 1, F п = F п # 150; 1 + F п # 150; 2. където п> 2.

Присъстващият алгоритъм във формата на кръг и пишат Псевдокод.

* E.Deykstra даде следното определение: "Структуриран програмиране # 150; дисциплина, която налага себе си програмист. "