Главная страница
Навигация по странице:

  • МОСКОВСКИЙ ФИНАНСОВО-ПРОМЫШЛЕННЫЙ УНИВЕРСИТЕТ «СИНЕРГИЯ» Информационные технологии курсовая работа

  • По дисциплине

  • Информационные технологии. курсовая1. Курсовая работа По дисциплине технологии программирования


    Скачать 37.29 Kb.
    НазваниеКурсовая работа По дисциплине технологии программирования
    АнкорИнформационные технологии
    Дата27.10.2021
    Размер37.29 Kb.
    Формат файлаdocx
    Имя файлакурсовая1.docx
    ТипКурсовая
    #257513

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

    МОСКОВСКИЙ ФИНАНСОВО-ПРОМЫШЛЕННЫЙ УНИВЕРСИТЕТ «СИНЕРГИЯ»
    Информационные технологии
    курсовая работа

    По дисциплине




    ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ






    На тему




    основы проектирование программ . Этапы

    создания программноного обеспечения .




    Работу выполнил студент

    группы




    Направление

    ИСиТ

    Профиль

    Информационные системы и технологии




    (Ф.И.О.)

    Научный руководитель



    (Ф.И.О.)


    ОСНОВЫ ПРОЕКТИРОВАНИЕ ПРОГРАММ . ЭТАПЫ

    СОЗДАНИЯ ПРОГРАММНОНОГО ОБЕСПЕЧЕНИЯ .

    1.Ведение

    2.Проектирование программ

    3

    ВВЕДЕНИЕ

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

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

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

    Цель работы – рассмотрение основ проектирования программ и этапы их создания.

    Задачи работы:

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

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

    В качестве теоретической базы исследования используются научные труды известных исследователей проектирования программ, а также этапов создания программного обеспечения. В частности, при работе над исследованием использовались работы таких авторов как Голицына О. Л., Зыков С. В., Рудаков А. В. Соколова В. В. и др. Данные авторы на протяжении многих лет осуществляют свою научную деятельность в вопросах создания программного обеспечения, в связи с чем использование результатов их научных изысканий более чем целесообразно в контексте данной работы.

    1. Проектирование программ



    1.1. Понятие программы

    Компьютерная программа – это последовательность инструкций, которая предназначена для исполнения вычислительной машиной.

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

    Программа может содержать инструкции, написанные на языках программирования высокого уровня, которые позволяют записать алгоритмы в удобной для понимания человеком форме, приближенной к естественным языкам (исходный код), или последовательность машинных команд (инструкций, «понятных» компьютеру, на котором данная программа должна выполняться) [4].

    Термин «компьютерная программа» в зависимости от своего контекста, может применяться также к исходным текстам (или кодам) программы. Их примеры могут быть просмотрены в специальных каталогах исходников. Вместе с правилами и процедурами, а также с документацией по функционированию программных систем обработки данных, компьютерные программы составляют понятие программного обеспечения.

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

    нахождение ее в памяти и исполнение процессором машины.

    Процесс создания компьютерной программы называется

    «программированием», а люди, занимающиеся этим видом

    деятельности, называются программистами. При разработке компьютерных программ в них довольно часто возникают ошибки. Считается, что в программе содержатся ошибки, если для каких–то данных программа дает неправильные результаты, сбои или отказы. Если программа выдает правильные результаты обработки для всех возможных входных данных, то можно считать, что она не содержит ошибок [9].

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

    Запись исходных текстов компьютерных программ при помощи специальных языков программирования (ЯП) облегчает человеку понимание и редактирование программ. Этому, также, помогают комментарии, допускаемые синтаксисом большинства языков программирования. Для выполнения программы на компьютере ее готовый исходный текст преобразуется (компилируется или интерпретируется) в машинный код, исполняемый процессором [9].

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

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

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

    Интерпретируемые программы часто называются сценариями или скриптами [4].

    В большинстве распространенных ЯП исходные тексты программ состоят из списков инструкций, описывающих заложенный в программе алгоритм. Такой подход называется императивным. Но применяются и иные методологии программирования. Так, например, в декларативном программировании описываются исходные и требуемые характеристики обрабатываемых данных, а выбор подходящего алгоритма решения описанной задачи поручается специализированной программе– интерпретатору. Применяются также логическое и функциональное программирование [4].

    1.2. Классификация программного обеспечения

    Программы, работающие на ПК, можно разделить на три категории:

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

    программы – драйверы; программы – оболочки; программы – утилиты; программы – упаковщики; антивирусные программы; программы для диагностики ПК; программы управления локальной сетью и т.д.

    Прикладные программы (прикладное обеспечение) – программа, решающая проблему конечного пользователя. Вспомогательные программы, не относящиеся к системному ПО, тоже считаются прикладными. В последнее время употребляют термин «приложение».

    Инструментальные системы (системы программирования) – программные продукты, предназначенные для разработки программного обеспечения. К ним относят системы программирования (MS Visual Studio, Borland C и др) [11].

    Драйвер – программа, обеспечивающая связь и управление между ОС и периферийным устройством и регулирующая поток данных, проходящих через это устройство. Его можно считать частью ОС. Разработка драйвера, если он не поставляется с устройством, возможна программистом.

    Оболочка – программа (комплекс программ), упрощающая работу пользователя с командами ОС, расширяют набор основных и сервисных функций, обеспечивают более удобный и наглядный способ общения с ПК, например, Norton Commander.

    FAR работающая в текстовом режиме программа управления файлами для Windows 95/98/Me/NT/2000/XP, которая обеспечивает обработку файлов с длинными именами. К FAR могут подключаться внешние управляемые модули (plugins), которые могут быть использованы для создания новых команд и поддержки дополнительных файловых систем.

    Широко используются оболочки для создания среды программирования (Borland – Паскаль, Си, Пролог). Имеется тенденция объединять системы и их оболочки, например, Windows [11].

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

    Например:

    утилита дефрагментации диска – предназначена для оптимизации

    работы диска и повышения скорости доступа к нему, собирает фрагменты файла в один блок; программа проверки диска проверяет правильность информации,

    содержащейся в FAT, NTFS и др. таблицах размещения файлов, осуществляет поиск сбойных блоков диска; программа уплотнения диска предназначена для создания и обслуживания уплотненных

    (сжатых) дисков; программы оптимизации диска изменяют местоположение файлов и

    каталогов для ускорения доступа к ним.

    Программы вспомогательного назначения, часто объединяют в комплексы. Например, Norton Utilites – позволяет форматировать диски, диагностировать состояние системы и ее частей, восстанавливать удаленные файлы и т.д.) [7].

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

    Архиваторы – программы, осуществляющие архивирование данных – упаковку файлов путем сжатия хранимой в них информации. Сжатие информации в файлах производится различными способами за счет устранения избыточности. Степень сжатия зависит от используемой программы, типа сжимаемых данных, метода сжатия и характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vо, выраженное в процентах. Наиболее популярные: ZIP, CAB, ARJ, PKPAK, LHA, ICE, разработанные за рубежом, а также AIN и RAR, разработанные в России. Обычно упаковка и распаковка выполняется одной и той же программой. В настоящее время широко используются архиваторы WinRar и WinZip [16].

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

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

    Операционная система – комплекс программ для управления и координации всех устройств компьютера, управления процессом выполнения прикладных программ и обеспечения диалога с пользователем. ОС обеспечивает управление компьютером как единым целым, его взаимодействие с окружающей средой (человеком, прикладными программами, другими системами). Примеры: MS DOS, MS Windows, Unix / Linux и др. [2]

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

    1.3 Основные функции ОС ведение файловой системы; распределение оперативной памяти; динамическая компоновка выполняемых программ; обработка прерываний; обеспечение многозадачной работы [2].

    Обзор прикладного программного обеспечения:

    Проблемно–ориентированные пакеты прикладных программ

    (разделяются по типам предметных областей, информационным системам, функциям и комплексам задач), узко направлены на решение определенных задач.

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

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

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

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

    Издательские системы.

    Программные средства мультимедиа.

    Системы искусственного интеллекта [13].

    В первой главе рассмотрены понятия и классификация программного обеспечения. Полученные в первой части исследования данные позволят наиболее эффективно осуществить дальнейшее рассмотрение вопроса и подробно изучить этапы создания программного обеспечения.

    1. Этапы создания программ



    2.1. Описание процесса создания программного обеспечения

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

    Фундаментальные процессы, присущие любому проекту создания ПО:

    Разработка спецификации требований на ПО (Определяют функциональные характеристики системы и обязательны для выполнения).

    Создание программного обеспечения (создание ПО согласно спецификации).

    Аттестация ПО (Созданное ПО должно пройти аттестацию для подтверждения соответствию требованиям заказчика).

    Модернизация ПО (совершенствование ПО согласно измененным требованиям потребителя) [7].

    Модель процесса создания ПО – последовательность этапов, необходимых для разработки создаваемого ПО.

    Модели процесса разработки ПО:

    Каскадная модель.

    Эволюционная модель.

    Формальное преобразование.

    Сборка программных продуктов из ранее созданных компонентов (модель сборки).

    Итерационная (спиральная) модель [16].

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

    Все методы основаны на использовании моделей системы в качестве спецификации ее структуры:

    Функционально–ориентированные (структурный анализ, JSD, 70–е годы) основаны на определении основных функциональных компонент системы.

    Объектно–ориентированные (Booch, Rumbaugh) используют подходы, основанные на использовании унифицированного языка моделирования UML.

    Computer–Aided Software Engineering – автоматизированная разработка ПО [11].

    Базовые процессы создания ПО можно представить в виде следующей последовательности:

    Разработка спецификации.

    Проектирование и реализация.

    Аттестация.

    Эволюция [15].

    Жизненный цикл ПО – совокупность процессов, протекающих от момента принятия решения о создании ПО до его полного вывода из эксплуатации.

    Каскадная модель (рисунок 1) [12]

    Кањњинки по запњоњњ

    кањкаднањ моделњ њозданињ по

    Рисунок 1 Каскадная модель разработки программного обеспечения

    Достоинства:

    документирование каждого этапа.

    Недостатки:

    «негибкое» разбиение процесса создания на отдельные этапы.

    Применение:

    требования сформулированы достаточно четко; повсеместно для разработки небольших систем, входящих в состав

    крупного проекта [12].

    Эволюционная модель (рисунок 2) [12]:

    Кањњинки по запњоњњ

    њволњњионнањ моделњ

    њозданињ по

    Рисунок 2 Эволюционная модель разработки программного обеспечения

    Прототип – действующий программный модуль, реализующий отдельные функции создаваемого ПО.

    Достоинства:

    спецификация разрабатывается постепенно, по мере требования

    заказчика.

    Недостатки:

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

    Применение:

    разработка небольших систем (<100 000 строк) или средних (<500 000 строк) с относительно коротким сроком жизни [1].

    Формальная разработка

    Достоинства:

    точное соответствие программы спецификации; отказ от тестирования отдельных модулей; тестирование всей системы только после ее сборки;

    Недостатки:

    требуют специальных знаний и опыта использования; не дают существенного выигрыша в стоимости разработки; большинство сложных систем с трудом поддаются формальному описанию [1].

    Модель пошаговой разработки (рисунок 3) [1]:

    Кањњинки по запњоњњ

    моделњ поњаговой

    њазњабоњки њозданињ по

    Рисунок 3 Модель пошаговой разработки программного обеспечения

    На каждом шаге отсутствует требование использования одного и того же подхода к процессу разработки.

    Достоинства:

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

    прототипы; уменьшается риск общесистемных ошибок; системные сервисы с высоким приоритетом разрабатываются

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

    Недостатки:

    компоненты, получаемые на каждом шаге, имеют небольшой

    размер; сложно определить на первых этапах общесистемные функции; невозможно сразу определить набор базовых свойств, которые

    зачастую разрабатываются совместно с другими частями системы [3].

    Спиральная модель (рисунок 4).

    Кањњинки по запњоњњ

    њпињалњнањ моделњ

    њозданињ по

    Рисунок 4 Спиральная модель разработки программного обеспечения

    Достоинства:

    нет фиксированных этапов; эта модель может включать в себя любые другие модели на каждом

    витке спирали:

    прототипирование может использоваться при нечетком

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

    некоторых этапов; модель формальных преобразований – если четко сформулированы

    требования.

    Недостатки:

    сложная автоматизация процессов разработки; огромная роль при разработке системы отводится управлению

    проектом [12].

    Базовые процессы создания ПО

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

    Результат процесса определения требований – документация, формализующая требования, предъявляемые к системе.

    Два уровня детализации:

    требования, предъявляемые конечными пользователями; системная спецификация для разработчиков [13].

    Реализация ПО – процесс перевода системной спецификации в работоспособную систему. Включает в себя процессы проектирования и программирования.

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

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

    Методы проектирования – множество формализованных нотаций и нормативных документов для проектирования ПО.

    Структурные методы поддерживают модели системы:

    модель потоков данных; модель «сущность–связь»; структурная модель; объектно–ориентированные иерархическая модель системы, модель

    отношений между объектами, модель взаимодействия объектов; диаграммы переходов или сценарии жизни сущностей [11].

    Программирование и отладка:

    Тестирование – процесс установления программных ошибок.

    Отладка – установление местоположения ошибок и их устранение.

    Аттестация и верификация – процесс установления соответствия

    ПО ее спецификации, а также ожиданиям и требованиям пользователей и заказчика.

    Сопровождение системы – это внесение изменений в систему, которая находится в эксплуатации [8].

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

    2.2. Этапы создания программного обеспечения

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

    Анализ требований

    Самым первым этапом разработки программного обеспечения по праву называется процедура проведения всестороннего анализа выдвинутых заказчиком требований к создаваемому ПО, чтобы определить ключевые цели и задачи конечного продукта. В рамках этой стадии происходит максимально эффективное взаимодействие нуждающегося в программном решении клиента и сотрудников компании–разработчика, в ходе обсуждения деталей проекта помогающих более четко сформулировать предъявляемые к ПО требования. Результатом проведенного анализа становится формирование основного регламента, на который будет опираться исполнитель в своей работе – технического задания на разработку программного обеспечения. ТЗ должно полностью описывать поставленные перед разработчиком задачи и охарактеризовать конечную цель проекта в понимании заказчика [5].

    Проектирование

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

    В рамках данного этапа стороны должны осуществить:

    оценку результатов проведенного первоначально анализа и

    выявленных ограничений; поиск критических участков проекта;

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

    готовых решений сторонних разработчиков; проектирование основных элементов продукта – модели базы данных, процессов и кода;

    выбор среды программирование и инструментов разработки,

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

    разрабатываемого ПО [11].

    Кодирование

    Следующим шагом становится непосредственная работа с кодом, опираясь на выбранный в процессе подготовки язык программирования. Описывать особенности и тонкости самого трудоемкого и сложного этапа вряд ли стоит, достаточно указать, что успех реализации любого проекта напрямую зависит от качества предварительного анализа и оценки конкурирующих решений, с которыми создаваемой программе предстоит «бороться» за право называться лучшей в своей нише. Если речь идет о написании кода для выполнения узкоспециализированных задач в рамках конкретного предприятия, то от грамотного подхода к этапу кодирования зависит эффективность работы компании, заказавшей разработку. Кодирование может происходить параллельно со следующим этапом разработки – тестированием программного обеспечения, что помогает вносить изменения непосредственно по ходу написания кода. Уровень и эффективность взаимодействия всех элементов, задействованных для выполнения сформулированных задач компанией–разработчиком, на текущем этапе является самым важным – от слаженности действий программистов, тестировщиков и проектировщиков зависит качество реализации проекта [12].

    Тестирование и отладка

    После достижения задуманного программистами в написанном коде следуют не менее важные этапы разработки программного обеспечения, зачастую объединяемые в одну фазу – тестирование продукта и последующая отладка, позволяющая ликвидировать огрехи программирования и добиться конечной цели – полнофункциональной работы разработанной программы. Процесс тестирования позволяет смоделировать ситуации, при которых программный продукт перестает функционировать. Отдел отладки затем локализует и исправляет обнаруженные ошибки кода, «вылизывая» его до практически идеального состояния. Эти два этапа занимают не меньше 30% затрачиваемого на весь проект времени, так как от их качественного исполнения зависит судьба созданного силами программистов программного обеспечения. Нередко функции тестировщика и отладчика исполняет один отдел, однако самым оптимальным будет распределить эти обязанности между разными исполнителями, что позволит увеличить эффективность поиска имеющихся в программном коде ошибок [8].

    Внедрение

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

    первоначальная загрузка данных; постепенное накопление информации; вывод созданного ПО на проектную мощность.

    Ключевой целью поэтапного внедрения разработанной программы становится постепенное выявление не обнаруженных ранее ошибок и недочетов кода. В рамках этого этапа разработки программного обеспечения и заказчик, и исполнитель могут столкнуться с рядом достаточно узкого спектра ошибок, связанных с частичной рассогласованностью данных при их загрузке в БД, а также срывов выполнения программных процедур в связи с применением многопользовательского доступа. Именно на этой стадии выкристаллизовывается окончательная картина взаимодействия пользователя с программой, а также определяется степень лояльности последнего к разработанному интерфейсу. Если выход системы на проектную мощность после ряда проведенных доработок и улучшений произошел без особых осложнений, значит предварительная работа над проектом и реализация предыдущих стадий разработки осуществлялась правильно [16].

    Создание даже небольшого и технически простого ПО зависит от четкого выполнения каждой фазы, то есть деятельности всех отделов, задействованных в процессе разработки. Четкий план выполнения необходимых мероприятий с указанием конечных целей становится неотъемлемой частью работы разработчиков, планирующих оставаться широко востребованными на рынке труда специалистами. Только правильно составленное техническое задание позволит добиться нужного результата и осуществить разработку по–настоящему качественного и конкурентного ПО для любой платформы – серверной, стационарной или мобильной.

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

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

    ЗАКЛЮЧЕНИЕ

    При выполнении работы были выполнены следующие задачи:

    охарактеризовано понятие программ;

    приведена классификация программного обеспечения; проанализирован процесс создания программного обеспечения; рассмотрены этапы создания программного обеспечения.

    Благодаря выполнению названных задач была достигнута поставленная цель – рассмотрены основы проектирования программ и этапы создания таких программ.

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

    В связи с этим также можно сказать, что разнообразие моделей создания программного обеспечения скорее полезно, так как может быть выбрана та или иная модель в зависимости от целей разработки, размеров компании и проекта, состава проектной команды и т.д.

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

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

    Гагарина, Л. Г. Введение в архитектуру программного обеспечения.

    Учебное пособие / Л. Г. Гагарина, А. Р. Федоров, П. А. Федоров. – М.:

    Инфра–М, Форум, 2016. – 320 c.

    Голицына, О. Л. Программное обеспечение / О. Л. Голицына, И. И.

    Попов, Т. Л. Партыка. – М.: Форум, 2015. – 448 c.

    Гончаров, В. А. Методы оптимизации. Учебное пособие / В. А.

    Гончаров. – М.: Юрайт, 2015. – 192 c.

    Добрынин, В. Ю. Технологии компонентного программирования / В. Ю. Добрынин. – Москва: Гостехиздат, 2014. – 216 c.

    Емельянова, Н. З. Проектирование информационных систем / Н. З.

    Емельянова, Т. Л. Партыка, И. И. Попов. – М.: Форум, 2018. – 432 c.

    Затонский, А. В. Программирование и основы алгоритмизации / А. В. Затонский, Н.В. Бильфельд. – М.: Дрофа, 2014. – 176 c.

    Зыков, С. В. Основы современного программирования / С. В. Зыков.

    • М.: Горячая линия – Телеком, 2016. – 448 c.

    Карпенко, А. П. Современные алгоритмы оптимизации. Учебное пособие / А. П. Карпенко. – М.: МГТУ им. Н. Э. Баумана, 2014. – 448 c.

    Колдаев, В. Д. Основы логического проектирования / В. Д. Колдаев.

    • Москва: РГГУ, 2017. – 448 c.

    Лукин, В. В. Технология разработки программного обеспечения.

    Учебное пособие / В. В. Лукин, В. Н. Лукин, Т. В. Лукин. – Москва:

    Гостехиздат, 2015. – 286 c.

    Милов, А. В. Основы программирования в задачах и примерах / А. В. Милов. – М.: Фолио, 2017. – 400 c.

    Панюкова, Т. А. Проектирование программных средств / Т. А.

    Панюкова. – Москва: Гостехиздат, 2017. – 364 c.

    Рудаков, А. В. Технология разработки программных продуктов.

    Учебник / А. В. Рудаков. – М.: Академия, 2015. – 208 c.

    Сафонов, В. О. Аспектно–ориентированное программирование / В. О. Сафонов. – Москва: Высшая школа, 2016. – 104 c.

    Семакин, И. Г. Основы алгоритмизации и программирования / И. Г.

    Семакин, А. П. Шестаков. – М.: Academia, 2017. – 304 c.

    Соколова, В. В. Вычислительная техника и информационные технологии. Разработка мобильных приложений. Учебное пособие / В. В. Соколова. – Москва: Высшая школа, 2016. – 176 c.


    написать администратору сайта