Создание компьютерных программ

Автор работы: Пользователь скрыл имя, 05 Января 2013 в 08:43, контрольная работа

Краткое описание

Использование электронно-вычислительной техники требует наличия соответствующих алгоритмов и компьютерных программ. Несмотря на наличие в настоящее время богатого арсенала математических алгоритмов и прикладных программ, нередко возникает потребность в самостоятельной разработке новых программ. Сам процесс создания компьютерных программ в свою очередь может быть разбит на последовательные этапы: разработка технического задания (ТЗ), проектирования структуры программ, собственно программирование (кодирование алгоритма), тестирование и отладка программ.

Содержание

Введение…………………………………………………………………………...3
1. Разработка технического задания (ТЗ)………………………………………..4
2. Проектирования структуры программ……………………………………......5
3. Собственно программирование……………………………………..………...8
4. Тестирование и отладка программ…………………………………………...11
5. Защита компьютерных программ……………………………………………12
Заключение……………………………………………………………………….15
Список используемой литературы……………………………………………...16

Прикрепленные файлы: 1 файл

разработка и защита компьютерных программ.doc

— 578.97 Кб (Скачать документ)

Содержание

 

 

Введение…………………………………………………………………………...3

1. Разработка технического задания (ТЗ)………………………………………..4 2. Проектирования структуры программ……………………………………......5

3. Собственно программирование……………………………………..………...8

4. Тестирование и отладка программ…………………………………………...11

5. Защита компьютерных программ……………………………………………12

Заключение……………………………………………………………………….15

Список используемой литературы……………………………………………...16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Использование электронно-вычислительной техники требует наличия соответствующих алгоритмов и компьютерных программ.

Несмотря на наличие в настоящее время богатого арсенала математических алгоритмов и прикладных программ, нередко возникает потребность в самостоятельной разработке новых программ. Сам процесс создания компьютерных программ в свою очередь может быть разбит на последовательные этапы: разработка технического задания (ТЗ), проектирования структуры программ, собственно программирование (кодирование алгоритма), тестирование и отладка программ.

Само ТЗ при этом имеет следующую структуру:

  1. название задачи - имя программы (компьютерного кода), система программирования (язык), требования к аппаратному обеспечению;
  2. описание - содержательная и математическая постановка задачи, метод дискретизации или обработки входных данных;
  3. управление режимами - интерфейс «пользователь-компьютер»;
  4. входные данные - содержание параметров, пределы их изменения;
  5. выходные данные - содержание, объем, точность и форма представления;
  6. ошибки - возможный перечень, способы выявления и защиты;
  7. тестовые задания - примеры, предназначенные для тестирования и отладки программного комплекса.

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

 

 

1.Разработка технического задания (ТЗ)

 

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

В ТЗ указываются назначение продукта, область его применения, целевая аудитория, стадии разработки проектной и программной документации, её состав, сроки исполнения и т.д., а также особые требования, обусловленные спецификой программного продукта либо  условиями его эксплуатации. Как правило, ТЗ составляют на основе анализа результатов предварительных исследований, расчётов и моделирования.

Объем технического задания зависит от сложности разрабатываемого продукта и может колебаться от одной до сотни страниц. В Российской Федерации действует ГОСТ 34.602‐89 “Техническое задание на создание автоматизированной системы”, который рекомендует такую структуру ТЗ:

  • общие сведения;
  • назначение и цели создания (развития) системы;
  • характеристика объектов автоматизации;
  • требования к системе;
  • состав и содержание работ по созданию системы;
  • порядок контроля и приемки системы;
  • требования к составу и содержанию работ по подготовке объекта;
  • автоматизации к вводу системы в действие;
  • требования к документированию;
  • источники разработки.

Как правило, техническое задание составляется компанией ‐ будущим разработчиком ‐ после проведения интервью с заказчиком. В ходе интервью (одной или ряда встреч), представители разработчика выясняют те моменты, которые затем найдут отражение в документе. На интервью со стороны заказчика желательно присутствие всех заинтересованных в создании и всех, кто будет причастен к его исполнению.

Если в компании‐заказчике есть грамотные IT‐специалисты, то их следует привлечь к согласованию ТЗ. Если же ситуация иная, а речь идет о крупном проекте, бывает целесообразно привлечение независимого эксперта в качестве консультанта, который оценит качество и полноту составления технического задания и защитит интересы заказчика.

 

2. Проектирования структуры программ

 

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

Проектирование, независимо от его содержания, это составная часть планирования.

Объектом проектирования может быть материальный предмет, выполнение работы, оказание услуги.

Рис. 1 Стандартная форма организации программ.

Рис. 2 Стандартная форма организации экономических программ

 

Программисты часто получали директивное предписание представлять их программы в форме, показанной на рис. 1; при этом одна прикладная программа отличается от другой лишь модулями нижнего уровня (обозначенными на рис. 1 через X, Y, Z)> В других организациях пошли дальше и решили: “Все наши экономические прикладные программы включают редактирование (и сортировку) сообщений, или файлов изменений, за которым следует обновление главного файла и печать одного или нескольких отчетов; следовательно, наши программы должны оформляться так, чтобы все эти модули были различимы по формату”. Программистам в этих организациях предписывается оформлять всякую программу в соответствии с общей структурой, представленной на рис. 1.  Как и прежде, прикладные программы отличаются одна от другой только модулями более низкого уровня (X, Т, Z и т.д.).

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

Если смотреть шире, то можно сказать, что в этих организациях пытались поощрять у программистов стремление следовать общему принципу, который называли такими словами, как “магистральное проектирование”, “взрывное проектирование” и т.д.

Методология проектирования, которую мы предлагаем в этой главе, во многом сходна с этими специальными методологиями, разработанными в отдельных организациях в связи с их конкретными прикладными задачами. Основные принципы, на которые опирается нисходящее проектирование, применимы к любой прикладной задаче; в специальных случаях они могут принимать форму, отвечающую схемам рис. 1 или 2. Не так важно издать приказ типа “Все программы, создаваемые в данной организации, должны отвечать формату редактирование -- обновление -- сортировка -- печать”, как понять те принципы, которые лежат в основе такой канонической формы. Без этих руководящих принципов программист может проектировать модули нижнего уровня хаотично, в результате чего вся программа, подобно творению Франкенштейна, являет собой произвольное объединение разумной структуры верхнего уровня описания и неорганизованного, плохо спроектированного тела программы. Поскольку большая часть кодирования приходится на тело программы, важно, чтобы принципы, положенные в основу схем рис. 1 и 2, могли быть перенесены на более низкие структурные уровни программ.

Идеи нисходящего проектирования более детально рассматриваются в следующем разделе. Далее обсуждаются близкие к этим идеям принципы нисходящего кодирования и нисходящего тестирования. Следует иметь в виду, что все эти идеи излагаются как принципы или стратегии, однако такие, которые, как мы надеемся, способны служить инструментами проектирования программы* Важно осознать, что эти принципы не являются универсальным законом природы; не следует их считать и десятью заповедями некой новой религии. В действительности в конкретных ситуациях здравый смысл всегда подскажет те или иные варианты основных принципов нисходящего проектирования.

 

3. Собственно программирование

 

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

Программирование позволяет настроить компьютер или иное программируемое логическое устройство на те или иные действия. Обычно программа вводится в компьютер программистами, и первые программы создавались математиками и логиками, конструировавшими компьютеры. Когда еще не было средств вывода на экран, программа выдавала результат просто в печатном виде на принтере. Ввод в компьютер также производился несколько иначе. В любом случае, со временем стало понятно, что программировать компьютер каждый раз «с нуля» после каждой его перезагрузки -- неразумно. Поэтому начали появляться средства запоминания программ и данных. Но первые компьютеры были все-таки не цифровыми, а аналоговыми. Проще говоря, они были сначала механическими, потом электромеханическими и, уже потом, электронными. (Первые электронные компьютеры и прочие вычислители работали на электронных лампах.) Конечно это не совсем компьютер в современном понимании. Программированием также называют настройку электронных устройств и программно-аппаратных комплексов. Например: программирование цифровых АТС, программирование бытовых приборов конечным пользователем, запись информации в ПЗУ. Разработку логической схемы для ПЛИС тоже называют программированием. В общем понимании, программирование -- это процесс описания функционирования устройства, который может быть выражен либо в структуре самого устройства, либо в виде набора команд, выполняемых устройством. Программирование сочетает в себе элементы науки (логики, математики, информатики, кибернетики), инженерной дисциплины и искусства (авторской творческой деятельности).

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

В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ -- программного обеспечения ЭВМ. Более точен современный термин -- «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. В настоящее время для того, чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент -- транслятор. (Можно, конечно, обойтись и без транслятора. Но тогда программу придется кодировать непосредственно на языке машинных команд, а это весьма трудоемкое занятие.) Существуют два вида трансляторов -- компиляторы и интерпретаторы. (Составная часть компилятора, выполняющая собственно трансляцию программы на языке программирования (например на С++ или языке ассемблера), также называется транслятором.) В настоящее время активно используются так называемые интегрированные среды разработки программ, включающие в свой состав также редактор для ввода и редактирования текстов программ, отладчики для поиска и устранения ошибок в программах, трансляторы с различных языков программирования, компоновщики для сборки программы из нескольких модулей, и другие служебные подпрограммы. Текстовый редактор среды программирования может иметь специфичную функциональность, такую как индексация имен, отображение документации, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирования текста создаваемой программы, который называют исходным кодом («исходник» -- на профессиональном жаргоне). Язык программирования определяет синтаксис и изначальную семантику исходного кода, семантика языка программирования может расширяться текстом программы, дополнительными библиотеками и программно-аппаратным окружением, в котором выполняется программа. Компилятор преобразует текст программы в машинный код, непосредственно исполняемый электронными компонентами компьютера. Интерпретатор либо явно не преобразует текст программы в машинный код, либо неявно делает такое преобразование в процессе выполнения программы.

Программирование в широком смысле можно разбить на несколько стадий:

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

Информация о работе Создание компьютерных программ