Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Теоретические основы разработки ПО




Отбор

Мутации

Создание начальной популяции

Перед первым шагом нужно случайным образом создать начальную популяцию; даже если она окажется совершенно неконкурентоспособной, вероятно, что генетический алгоритм всё равно достаточно быстро переведёт её в жизнеспособную популяцию. Таким образом, на первом шаге можно особенно не стараться сделать слишком уж приспособленных особей, достаточно, чтобы они соответствовали формату особей популяции, и на них можно было подсчитать функцию приспособленности (Fitness). Итогом первого шага является популяция H, состоящая из N особей.

Размножение (скрещивание)

Размножение в генетических алгоритмах обычно половое – чтобы произвести потомка, нужны несколько родителей, обычно два.

Размножение в разных алгоритмах определяется по-разному – оно, конечно, зависит от представления данных. Главное требование к размножению – чтобы потомок или потомки имели возможность унаследовать черты обоих родителей, «смешав» их каким-либо способом.

Почему особи для размножения обычно выбираются из всей популяции H, а не из выживших на первом шаге элементов H0 (хотя последний вариант тоже имеет право на существование)? Дело в том, что главный бич многих генетических алгоритмов – недостаток разнообразия (diversity) в особях. Достаточно быстро выделяется один-единственный генотип, который представляет собой локальный максимум, а затем все элементы популяции проигрывают ему отбор, и вся популяция «забивается» копиями этой особи. Есть разные способы борьбы с таким нежелательным эффектом; один из них – выбор для размножения не самых приспособленных, но вообще всех особей.

К мутациям относится все тоже самое, что и к размножению: есть некоторая доля мутантов m, являющаяся параметром генетического алгоритма, и на шаге мутаций нужно выбрать mN особей, а затем изменить их в соответствии с заранее определёнными операциями мутации.

На этапе отбора нужно из всей популяции выбрать определённую её долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор. Вероятность выживания особи h должна зависеть от значения функции приспособленности Fitness(h). Сама доля выживших s обычно является параметром генетического алгоритма, и её просто задают заранее. По итогам отбора из N особей популяции H должны остаться sN особей, которые войдут в итоговую популяцию H'. Остальные особи погибают.

2. Задача коммивояжёра

 

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

Непременным условием и единственным смыслом задачи коммивояжёра является поиск самого выгодного пути. Для этого необходимо найти и описать все возможные пути при любом из вариантов способов поиска решения. Если мы не просчитали все пути в выбранном варианте решения, то мы не можем утверждать, что найденное решение самое выгодное.

Рис.2 Пример решения задачи коммивояжёра

3. Применение генетических алгоритмов в задаче коммивояжёра

Рассмотрим применение генетических алгоритмов в задачах коммивояжёра на примере: имеется пять городов, стоимость переезда между которыми представлена следующей матрицей:

           
           
           
           
           
           

 

 

Для решения задачи применим следующий генетический алгоритм: ре­шение представим в виде перестановки чисел от 1 до 5, отображающей последовательность посещения городов. А значение целевой функции бу­дет равно стоимости всей поездки, вычисленной в соответствии с выше­приведенной матрицей. Сразу заметим, что одним из оптимальных реше­ний задачи является последовательность 514235 стоимостью 25.

Заметим, что чем меньше значение целевой функции, тем лучше. То есть целью в данном случае является поиск минимума целевой функции.

В качестве оператора скрещивания выберем процеду­ру, похожую на двухточечный оператор скрещивания. Поясним его работу на примере. Пусть есть две родительские перестановки (12345) и (34521). Случайно и равновероятно выбираются две точки разрыва. Для примера возьмем ситуацию, когда первая точка разрыва находится между первым и вторым элементами перестановки, а вторая точка – между четвертым и пя­тым: (1 | 2 3 4 | 5), (3 | 4 52 | 1). На первом этапе перестановки обмениваются фрагментами, заключенными между точками разрыва: (* | 452 | *), (* | 234 | *). На втором этапе вместо звездочек вставляются соответствую­щие числа из исходной родительской перестановки, начиная со второго числа выделенного фрагмента и пропуская уже имеющиеся в новой перестановке числа. В данном случае в первой перестановке (1 | 234 | 5) таким начальным числом является 3, за ним идет 4, которое есть в новой перестановке, и мы его пропускаем, также пропускаем число 5, переходим на начало перестановки и выбираем число 1. В итоге вместо (* | 4 5 2 | *) получаем (34521), аналогич­но из (3| 452|1) и (*|234|*) получаем (52341).

Оператор мутации будет представлять собой случайную перестановку двух чисел в хромосоме, также выбранных случайно по равномерному за­кону. Вероятность мутации 0,01. Размер популяции выберем равным 4.

 

Исходная популяция представлена в таблице 1.

Таблица 1

№ строки Код Значение целевой функции Вероятность участия в процессе размножения
      32/122
      32/122
      29/122
      29/122

Пусть для скрещивания были выбраны следующие пары: (1, 3) и (2, 4). В результате были получены потомки, представленные в таблице 2.

Таблица 2

№ строки Родители Потомки Значение целевой функции для потомков
  1|23|45 5|43|12  
  5|43|12 1|23|54 мутация 13254  
  2|143|5 4|312|5  
  4|312|5 2|143|5  

Пусть для потомка (12354) сработал оператор мутации, и обменялись местами числа 2 и 3. В данном случае строка (12354) изменилась и приняла значение (13254). Популяция первого поколения после отсечения худших особей в результате работы оператора редукции приняла вид, представ­ленный в таблице 3.

Таблица 3

№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1)     28/122
2(2)     28/122
3(н)     29/122
4(н)     28/122

Пусть для получения второго поколения были выбраны следующие пары строк: (1,4) и (2, 3). И в результате были получены потомки, показан­ные в таблице 4.

Таблица 4

№ строки Родители Потомки Значение целевой функции для потомков
  |123|45 |214|35  
  |214|35 |123|45  
  |21|435 |13|452  
  |13|254 |21|354  

Популяция второго поколения после отсечения худших особей приня­ла вид, показанный в таблице 5.

Таблица 5

№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1)     28/111
2(2)     28/111
3(3)     29/111
4(н)     28/111

Таким образом, после двух итераций значение целевой функции для лучшего решения изменилось с 29 на 28, среднее значение изменилось с 30,5 до 28,75, а общее качество с 122 до 111. То есть также налицо незначи­тельное, но улучшение популяции [21].

 

4. Заключение

Генетический алгоритм представляет собой именно комбинированный метод. Механизмы скрещивания и мутации в каком-то смысле реализуют переборную часть метода, а отбор лучших решений – градиентный спуск. Итак, если на некотором множестве задана сложная функция от нескольких переменных, то генетический алгоритм – это программа, которая за разумное время находит точку, где значение функции достаточно близко к максимально возможному. Выбирая приемлемое время расчета, мы получим одно из лучших решений, которые вообще возможно получить за это время

1.1.Анализ языков программирования

Java:

­ Плюсы: очень удобно, не слишком сложно, относительно безопасно, относительно быстрая разработка.

­ Минусы: не самая высокая надежность, не самое высокое быстродействие, не эффективное использование ресурсов, невозможность работать в масштабе реального времени и обращаться непосредственно к оборудованию.

C++:

­ Плюсы: практически безграничные возможности, отсутствие промежуточных звеньев в работе программы, высочайшее быстродействие (уступает только чистому Си и Ассемблеру), прямой доступ к памяти и оборудованию.

­ Минусы: очень сложный, нет возможности напрямую строить сайты, трудоемкий процесс разработки.

PHP:

­ Плюсы: простой язык, очень гибкий.

­ Минусы: в основном, предназначен только для работы в Интернете, другие его применения мало распространены.

Assembler:

­ Плюсы: самый быстрый, оперирует непосредственно командами процессора.

­ Минусы: высочайший порог вхождения, оперирует сущностями конкретного процессора (под каждый процессор свой набор команд Ассемблера), крайне сложно написать что-то более или сложное и полностью законченное.

Pascal:

Плюсы:

­ Распространен в ШКОЛАХ. Школьный язык программирования (В ГИА и ЕГЭ используется именно этот язык программирования);

­ Он родственник Си. После Паскаля легко перейти на Си;

­ Минималистичен. Легко изучаем;

­ Прекрасный язык для обучения;

­ Надежность разрабатываемых программ(Разрабатывая программу на Паскале, вы можете быть уверены в том, что ваш компьютер не сломается от ваших неконтролируемых действий).

Минусы:

­ Создан в 60-ых годах. Устарел.;

­ Распространен только в странах бывшего СССР;

­ Очень мало реального ПО.

1.2.Анализ среды программирования

Delphi:

Плюсы:

­ сейчас по своим возможностям приближается к языку C++;

­ является строго типизированным языком и имеет более простой и ясный синтаксис в отличие от языка C, что уменьшает число ошибок и повышает скорость разработки;

­ полная поддержка ООП (за исключением множественного наследования);

­ среда поддерживает множество технологий и механизмов для работы с БД.

Минусы:

­ требует относительно высокой профессиональной подготовки;

­ поддерживается только Inprise.

PureBasic:

Плюсы:

­ Простым в использовании и изучении для начинающих.

­ Языком программирования общего назначения.

­ Способным на расширение собственных функций.

­ Интерактивным.

­ Быстродействующим при выполнении простых задач.

­ Понятно сигнализирующем об ошибках.

­ Не требующем от пользователя изучения аппаратного обеспечения.

Недостатки:

­ Невозможность создания полноценно структурированных приложений

­ Низкая производительность из-за интерпретации исходного кода

­ Неудобство интерфейса

­ Зависимость от дополнительных библиотек

Visual Basic:

Плюсы:

­ Высокая скорость создания приложений с графическим интерфейсом для MS Windows.

­ Простой синтаксис, позволяющий очень быстро освоить язык.

­ Возможность компиляции как в машинный код, так и в P-код (по выбору программиста). В режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется.

­ Защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает VisualBasic приложения более стабильными, но также является объектом критики.

­ Возможность использования большинства WinAPI функций для расширения функциональных возможностей приложения. Данный вопрос наиболее полно исследован Дэном Эпплманом, написавшим книгу «VisualBasicProgrammer’sGuidetothe Win32 API».

Минусы:

­ Поддержка операционных систем только семейства Windows и Mac OS X (Исключение — VB1 for DOS).

­ Отсутствие механизма наследования реализации объектов[2]. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию.

­ Требует установленную msvbvmXX.dll для работы программы.

­ Низкая скорость работы, обусловленная тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtimelibrary), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.

Особенности программирования в Delphi

Delphi является языком программирования и средой разработки программного обеспечения. Он разработан Borland (ранее известный как Inprise). Язык программирования Делфи, ранее известный как ObjectPascal (Pascal с объектно-ориентированными расширениями), первоначально ориентированный только на MicrosoftWindows, но в настоящее время позволяет строить собственные приложения для Linux и Microsoft. NET Framework, и других (см. ниже). Программирование для начинающих.
Наиболее популярное использование - разработка настольных приложений и баз данных предприятия, а как инструмент язык программирования Делфи может использоваться и для большинства типов развивающихся проектов. Это был один из первых языков, который стал известным как инструмент RAD (быстрая разработка приложений), когда вышел в 1995 году. Delphi 2, вышедший год спустя, поддерживал 32-разрядную среду Windows, и а только несколько лет спустя вышли C, C + + Builder. В 2001 году стала доступна версия под ОС Linux известная как Kylix (классическая греческая урна). Каждый год выходило по одной новой версии, в 2002 году продукт стал известен как Delphi 7 Studio, язык стал официально называться язык программирования Delphi, а не ObjectPascal, а также была добавлена поддержка Linux (через Kylix) и. NET (через Предварительный компилятор). Полная поддержка. NET запланирована на предстоящий Delphi 8.

Основные компоненты Delphi и Kylix: язык Delphi (ранее официально известный как языка ObjectPascal), ВК / CLX (VisualComponentLibrary), сильные связи с базами данных, в сочетании с мощной IDE (IntegratedDevelopmentEnvironment) и дополнительными инструментами поддержки.

Замечательные особенности языка Delphi включают:

· Прозрачная обработка объектов через ссылки или указатели

· Свойства как часть языка, вкупе с функциями Get и Set, которые являются прозрачной инкапсуляцией доступа к членам полям

· Свойства индекса и свойствами по умолчанию, которые обеспечивают доступ к коллекции удобным и прозрачным способом

· Делегаты или по-другому методы указателей безопасного типа, которые используются для приведения в действие события вызванных компонентами

· Делегирование реализации интерфейса в поле или свойство класса

· Простота внедрения обработчики Windows сообщение, отметь метод класса с числом / имя окна сообщений для обработки

· Большинство функций, перечисленных выше, были введены в Delphi первой и адаптированы на других языках позже.

Главный архитектором Delphi, и его предшественника TurboPascal, был Андерс Хейлсбергом, пока он не перешел в Microsoft в 1996 году посвятил свое дело основам программирования.
Продукт Delphi распространяется в различных комплектах, каждый из которых предлагает большую функциональность по сравнению с другими:

· Персональный

· Профессиональный

· Предприятие

· Архитектор

Веские причины для использования Delphi:

· Очень информативные и полезные сообществу новости

· Может компилировать в один исполняемый, упрощая распределение и сокращение вопросов с разными DLL

· VCL и сторонние компоненты, как правило, доступны с полным исходным кодом

· Мощный и быстрый оптимизирующий компилятор

· Из одного исходного кода получаются отличные машинные коды для разных ОС

· Поддержка новейших технологий и стандартов

 

2. Технология разработки «Справочника стран мира и городов»

2.1. Описательная часть «Справочника стран мира и городов»

На первой форме расположены edit, label, button

 

procedure TForm1.Button2Click(Sender: TObject);

begin

if (edit1.text='12345') and (edit2.text='12345') then form2.showmodal

else showmessage ('неправильный логин/пароль введите заново!');

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Close;

end;

end.

 

На второй форме расположены label, bitbtn, image, mainmenu

На третьей форме расположены label, edit, button, DataSource, Table, ComboBox, DBGrid, DBNavigator

procedure TForm3.Button1Click(Sender: TObject);

begin

If (ComboBox1.text='Название страны')

then table1.Locate('Название страны', edit1.text, [loPartialKey, loCaseInsensitive])

else table1.Locate('Столица', edit1.text, [loPartialKey, loCaseInsensitive]);

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

If edit1.text='Австралия'

then form4.showmodal

else If edit1.text='Австрия'

then form5.showmodal

else If edit1.text='Азербайджан'

then form6.showmodal

else If edit1.text='Албания'

then form7.showmodal

else If edit1.text='Алжир'

…………………..

……………………

end;

На формах с 4 по 32 расположены формы о странах

 

 

2.2. Техническое задание на «Справочник стран мира и городов»

1. Общие сведения

Настоящее ТЗ распространяется на разработку справочника стран мира и городов предназначенный для школьников и студентов по изучению географии.

1.1.Наименование системы:

Справочник стран мира и городов.

1.1.1. Полное наименование системы:

Создание справочника стран мира и городов в среде BorlandDelphi.

1.1.2. Краткое наименование системы:

Справочник стран мира и городов.

1.2. Основания для проведения работ

Курсовая работа выполнена на основании учебного плана кафедры ЭОиС по заданию курсовой работы по ПМ.06. дисциплины МДК.06.01. Технология разработки программного обеспечения

1.3. Наименование организаций – Заказчика и Разработчика

1.3.1. Заказчик

Заказчик: Преподаватель каф. ЭОиС по ТРПО Бускарова М.Ф.

1.3.2. Разработчик

Разработчик: Студентка гр. ИБ-12 Христофорова А.С.

 

1.4. Плановые сроки начала и окончания работы

1) Изучение предметной области, проектирование системы, анализ требования и спецификаций (октябрь-ноябрь)

2) ТЗ (декабрь)

3) Эскизный проект (январь-февраль)

4) Разработка программы (март)

5) Тестирование и отладка (апрель)

6) Защита и оформление отчета (апрель)

2. Наименование и область применения

3. Документ на основании которых введется разработка

4. Назначение разработки

Программа назначена для любых пользователей, которые интересуются странами мира и городов.

5. Требования к системе

5.1. Требования к функциональным характеристикам

Программа должна обеспечить возможность выполнения следующих действий:

· Ввод данных, информация о странах мира и городов

· Хранение информации о странах мира и городов

· Поиск по городам и странам

· Вывод результата поиска

· Вывод подробной информации о странах и городах

Исходные данные:

· Информация, фотографии, карты, схемы

Организация входных и выходных данных:

· Входные данные поступают с клавиатуры

· Выходные данные отображаются на экране и при необходимости выводятся на печать

Основной режим исполнения:

· По мере необходимости

5.2. Требования к надежности

· Предусмотреть контроль вводимой информации

· Предусмотреть блокировку некорректных действий пользователя

· Разрабатываемое ПО должно включать справочную информацию о работе программы

6. Экономические показатели

7. Стадии и этапы разработки

8. Порядок контроля и приемки

Календарный план:

· Изучение предметной области, проектирование системы, анализ требования и спецификаций (октябрь-ноябрь)

· ТЗ (декабрь)

· Эскизный проект (январь-февраль)

· Разработка программы (март)

· Тестирование и отладка (апрель)

· Защита и оформление отчета (апрель)

·

2.3. Эскизный проект: терминологический словарь, диаграммы

 

Терминологический словарь

 

Алгоpитм - Заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.

База данных - Один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации.

Ввод - Считывание информации с внешнего устройства в память компьютера.

Вывод - Результаты работы программы, выдаваемые компьютером пользователю, другому компьютеру или во внешнюю память.

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

Инструментальные программные средства - Программы, используемые в ходе разработки, корректировки или развития других программ: редакторы, отладчики, вспомогательные системные программы, графические пакеты и др. По назначению близки системам программирования.

Оперативная память (ОЗУ) - Быстрое запоминающее устройство не очень большого объёма, непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами.

Оператор - Фраза алгоритмического языка, определяющая некоторый законченный этап обработки данных. В состав опеpатоpов входят ключевые слова, данные, выpажения и др.

Операционная система - Комплекс взаимосвязанных программ, предназначенных для автоматизации планирования и организации процесса обработки программ, ввода-вывода и управления данными, распределения ресурсов, подготовки и отладки программ, других вспомогательных операций обслуживания. Важнейшая часть программного обеспечения.

Программное обеспечение (SoftWare) - Совокупность программ, выполняемых компьютером, а также вся область деятельности по проектированию и разработке программ.

языке программирования. Предоставляет пользователю мощные и удобные средства разработки программ: транслятор, редактор текстов программ, библиотеки стандартных программ, отладчик и др.

Система управления базами данных (СУБД) - Система программного обеспечения, позволяющая обрабатывать обращения к базе данных, поступающие от прикладных программ конечных пользователей.

Системные программы - Программы общего пользования, выполняемые вместе с прикладными и служащие для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом.

Сопровождение программ - Работы, связанные с обслуживанием программ в процессе их эксплуатации.

Схема алгоритма (блок-схема) - Графическое представление алгоритма в виде последовательности блоков, соединённых стрелками.

Тест - Некоторая совокупность данных для программы, а также точное описание всех результатов, которые должна выработать программа на этих данных, в том виде, как эти результаты должны быть выданы программой.

Тестирование - Этап решения задачи на компьютере, в процессе которого проверяется работоспособность программы, не содержащей явных ошибок.

Тип данных - Понятие языка программирования, определяющее структуру констант, переменных и других элементов данных, разрешенные их значения и операции, которые можно над ними выполнять.

паковщики (архиваторы) - Программы, позволяющие записывать информацию на дисках более плотно, а также объединять копии нескольких файлов в один архивный файл.

Эскизный проект

· Диаграмма последовательности

 

 

· Диаграмма деятельности


· Диаграмма варианта использования

 

 

Заключение

В процессе разработки курсового проекта по дисциплине "Технология разработки программного обеспечения" самостоятельно были изучены новые возможности и функции Delphi, например: установление пароля защиты, создание кнопочных форм, автозапуск формы.

Разработка программного модуля " Справочник стран мира и городов" способствовала систематизации и закреплению навыков полученных на дисциплинах "Технология разработки программного обеспечения.

Таким образом поставленные цели и задачи курсовой работы выполнены

Данная информационная система может быть полезна для туристов, туристических фирм. Программа имеет удобный и интуитивно понятный интерфейс, выполняет такие функции как выполнение запросов, добавление/удаление записей.

Особенности системы

1. ввод информации в БД, редактирование данных, может легко производить различные исправления, дополнения, формировать необходимые документы;

2. программа позволяет производить большое количество операций в автоматизированном режиме, автоматизировать отдельные часто повторяющиеся операции;

3. может производить многоаспектный поиск, результаты которого просмотреть на экране монитора, записать на дискету, сформировав любую выходную форму, используя при оформлении любой шрифт, рисунки, диаграммы и т.д.

4. быстро находить необходимую информацию;

5. удалять и восстанавливать отдельные данные;

 

Список использованной литературы

 

1. Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. – СПб.: Питер, 2012. – 608с.:ил.

2. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разработки программного обеспечения— Под ред. Л.Г. Гагариной. Учебное пособие. — М.: Форум, ИНФРА-М, 2009. — 400 с.: ил. — (Высшее образование). — ISBN 978-5-8199-0342-1 (Форум), ISBN 978-5-16-003193-4 (ИНФРА-М).

3. Смирнов А.А. Технологии программирования [Электронный ресурс]: учебное пособие/ Смирнов А.А., Хрипков Д.В.— Электрон.текстовые данные.— М.: Евразийский открытый институт, 2011.— 191 c.— Режим доступа: http://www.iprbookshop.ru/10900.— ЭБС «IPRbooks»

4. Синицын С.В., Хлытчев О.И. Основы разработки программного обеспечения на примере языка C Издательство: Интернет-Университет Информационных Технологий, 2013 г. 221 стр. ЭБС "КнигаФонд"http://www.knigafund.ru/books/172913

5. Гудлиф П., Ремесло программиста. Практика написания хорошего кода Символ-Плюс, Санкт-Петербург, 2009.

6. Белладжио Д., Миллиган Т. Разработка программного обеспечения: управление изменениямиДМК Пресс, Москва, 2009

7. Иванова Г.С. Технология программирования. М.: Изд-во МГТУ им. Баумана

8. Журавлева Т.Ю. Системное и прикладное программное обеспечение: Учебное пособие Издательство: Издательство Московского государственного открытого университета, 2010 г. 144 стр. ЭБС "КнигаФонд"

9. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. – Взамен ГОСТ 19.002-80, ГОСТ 19.003-80; введ. 01.01.1992. – М.: Межгосударственный совет по стандартизации, метрологии и сертификации, 1991. – 23 с. - (Единая система программной документации).

10. ГОСТ 19.201-78. Техническое задание. Требования к содержанию и оформлению. – Введ. 01.01.1980. – М.: Межгосударственный совет по стандартизации, метрологии и сертификации, 1991. – 2 с. - (Единая система программной документации).

11. ГОСТ 19.404-79. Пояснительная записка. Требования к содержанию и оформлению. – Введ. 01.01.1981. – М.: Межгосударственный совет по стандартизации, метрологии и сертификации, 1991. – 2 с. - (Единая система программной документации).

 

Интернет ресурсы

1. http://ergl.ru/archive/cs/tp/01/htm#P4 Лекции ВМиК. Технология программирования.

2. http://www.intuit.ru/department/se/testing/

3. http://fet.aics.ru/doc/straus_cpp/C++.pdf




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 1145; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.203 сек.