Этапы и процедуры разработки программы
Подготовительный этап
Оперативный этап
Результативный этап
Характеристика проблемной ситуации
Моделирование объекта
Логический план исследования
Анализ разработанности темы
Уточнение проблемной ситуации, ее логический анализ в опорных понятиях, формулирование проблем
Схема понятий операциональной интерпретации, единиц и категорий анализа. Методы сбора и анализа информации
Логический анализ – выделение проблемы, цели, объекта, предмета
Уточнение объекта, темы, цели, основных задач, предмета
Формы выборки и задания к ней
Знакомство с объектом. Методическая подготовка к сбору информации, сбор и анализ информации
Выдвижение гипотез и следствий из них
Методические задания
Уточнение задач – теоретических, методических, практических
Проект организационного плана
Проект программы, его экспертиза
Детализация этапов разработки программы исследования
Этап 1. Сбор предварительной информации для разработки программы исследования. Процедуры данного этапа:
Знакомство с объектом исследования.
Уточнение его структуры, особенностей функционирования, характера деятельности, взаимодействия с другими объектами.
Изучение численного (социально-демографического) состава объекта исследования.
Сбор адресных сведений о руководителях структурных подразделений.
Установление организационных контактов с лицами, заинтересованными в результатах исследования.
Выявление реальных проблем, трудностей, противоречий в функционировании объекта методами экспертных опросов.
Этап 2. Разработка программы исследования.
Формулирование и обоснование программы исследования.
Описание объекта и предмета исследования, определение выборки исследования.
Уточнение цели и задач исследования.
Интерпретация основных понятий.
Определение методов сбора, обработки и анализа социологической информации.
Составление плана работ.
Этап 3. Сбор социологической информации.
Проведение пилотажных исследований, обсуждение и утверждение, тиражирование социологического инструментария.
Составление, редактирование, размножение инструкций по сбору информации.
Установление организационных связей с руководителями структурных подразделений объекта исследования.
Сбор первичной социологической информации по определенной в программе методике.
Непосредственная и опосредованная верификация (проверка достоверности) информации.
Контроль организаторов за качеством и сроками выполнения работ.
Этап 4. Обработка социологической информации.
Систематизация собранных данных.
Первичная проверка собранных материалов на точность и полноту заполнения.
Коррекция записей в социологическом инструментарии.
Самоконтроль с использованием параллельных методик.
Классификация ответов на открытые вопросы анкет.
Ручная обработка материалов.
Статистическая обработка информации с использованием ЭВМ.
Сжатие информации с применением графиков, диаграмм, аналитических таблиц.
Этап 5. Анализ социологической информации и разработка рекомендаций.
Описание (интерпретация) собранных данных, формулирование выводов.
Сопоставление полученных результатов с гипотезами.
Оценка выводов с позиций их научной и практической значимости.
Разработка практических рекомендаций.
Обсуждение отчета.
Разработка плана внедрения результатов исследования.
Проведение научно-исследовательской конференции по итогам работы.
У каждого этапа своя специфика, так как на разных этапах осуществляется разная работа. Но все эти этапы взаимообусловлены и взаимосвязаны. Нельзя приступать к новому этапу, если не выполнен предыдущий. Весь материал, полученный на ранее проведенном этапе, является основой для проведения последующего этапа.
Программу исследования называют статистическим документом, ознакомившись с которым можно понять концепцию всего исследования, понять, какие вопросы особенно заинтересовали организаторов и побудили их предпринять попытку осуществить научный анализ.
Типичные ошибки и трудности в разработке программы исследования:
Сформулированы проблемы, не отражающие реальную ситуацию, состояние объекта, сущность проблемной ситуации. Поставлены уже решенные ранее проблемы.
Цель исследования не связана с выделенной проблемой, сформулирована абстрактно, не отражает специфики объекта. Не определены задачи исследования.
Поставленные задачи оторваны от реальных возможностей, средств исследования.
В ходе разработки программы не проведен анализ модели объекта в системе факторов.
На основе имеющихся данных трудно установить границы объекта, его состав, структуру.
Не обозначен предмет исследования. Дана слишком узкая или широкая его интерпретация.
В ходе работы над программой выяснилось, что теоретически слабо разработано предметное содержание проблемы.
В ходе исследования игнорируется значение его теоретической модели. Акцент полностью перенесен на анализ эмпирических показателей.
Смешиваются теоретический и эмпирический уровни анализа процессов.
Теоретическая интерпретация проводится фрагментарно. Не установлена логическая связь опорных понятий исследования.
В исследовании отсутствуют гипотезы.
При выдерживании гипотез ограничены исходные данные.
Не проведена теоретическая интерпретация гипотез.
Основная гипотеза значительно уже (шире) поставленной проблемы (основных задач) исследования.
Не проведена эмпирическая и операциональная интерпретация гипотез.
В ходе эмпирической интерпретации гипотез введен слишком широкий либо узкий круг эмпирических индикаторов.
Гипотеза выражает положения, не поддающиеся прямой эмпирической интерпретации.
Не соотнесены между собой категории и единицы анализа, не построена схема понятий операциональной интерпретации.
Не установлены задания к составлению методики, к процедурам, проектированию инструментария исследования.
В исследовании понятия используются в различных смыслах, не уточнено их содержание, отсутствует концептуальное единство исследования.
Нет логического плана исследования.
Не проведена экспертиза программы.
Разработка программы — весьма ответственное дело. Не стоит начинать исследование до тех пор, пока программа не будет достаточно хорошо разработана.
Спецификация (определение требований к программе)
На данном этапе происходит подробное описание исходных данных, осуществляется формулировка требований к получаемому результату, рассматриваются всевозможные поведения программы при возникновении особых случаев (к примеру, если ввели неверные данные), происходит разработка диалоговых окон, которые обеспечат взаимодействие пользователя и самой программы.
Разработка алгоритма
На этом этапе программист определяет последовательность необходимых действий, которые впоследствии нужно выполнить для получения желаемого результата.
Если возникает ситуация, когда поставленную задачу можно решить несколькими способами, то само собой, возможны множество разных вариантов алгоритма решения. Тогда разработчик программы по некоторому немаловажному критерию (к примеру, скорость решения алгоритма) делает выбор более подходящего решения.
Результат данного этапа разработки программы — подробное словесное описание алгоритма программы, либо блок-схема алгоритма. Подробно узнать о том, как разработать алгоритм любой программы, можно, изучив эту статью.
Кодирование
После проведения спецификации и составления алгоритма решения, используемый алгоритм в итоге будет записан на необходимом языке программирования (Pascal, Delphi, C++ и др. Результатом этапа кодирования является готовая программа.
Этапы разработки программы. Отладка
На данном этапе программист занимается отладкой программы, то есть поиском и устранением ошибок. Последние делятся на две группы: алгоритмические и синтаксические (ошибки в тексте исходной программы). Из этих двух групп ошибок наиболее легко устранить синтаксические ошибки, тогда как алгоритмические ошибки определить достаточно трудно.
Этап отладки считается законченным лишь тогда, когда исходная программа работает корректно и правильно при одном или двух наборах первичных данных. Что такое компиляция любой программы и какие основные задачи она выполняет, можно будет узнать, ознакомившись с данной статьей.
Тестирование
Тестирование программы очень важно, поскольку в большинстве случаев программисты создают программы не для личного применения, а чтоб их программой пользовались другие. На этапе тестирования разработчик проверяет поведение программы при большой числе наборов входных данных, как верных, так и специально подобранных неверных.
Создание справочной системы
Если программист разрабатывает программу, чтоб ею впоследствии пользовались другие, то программисту необходимо разработать справочную систему и установить для пользователя легкий быстрый доступ к этой справочной системе при работе с программой. Современные программы обладают справочной информацией, имеющей форму CHM- или HLP-файлов.
Кроме справочной информации справочная система содержит необходимые инструкции по инсталляции программы. Обычно их представляют в виде файла Readme разных форматов: *. doc, *. txt, *. htm. Более подробно рассматриваемый этап разработки программы будет описан позже.
Создание установочного диска (CD-ROM)
Инсталяционный диск (CD-ROM) разработчики создают для того, чтобы пользователи могли самостоятельно, без помощи программиста, проинсталировать данную программу на свой ПК.
Как правило, кроме самой программы установочный CD-ROM располагает файлами справочной информации и инструкциями по установке программы. Нужно заметить, что большинство современных программ, включая программы, разработанные в среде Delphi, во многих случаях, даже путем простого копирования файлов не могут быть проинсталированы на компьютер пользователя, поскольку для правильной работы этих программ необходимо присутствие специальных библиотек, а также компонентов, которые могут отсутствовать на ПК конкретного пользователя.
C этой целью установку программы на ПК пользователя должна осуществлять специальная программа, записанная на CD-ROM. Обычно, инсталяционная программа производит создание отдельной папки для устанавливаемой программы, далее копирует в эту папку файлы, и если необходимо, настраивает операционную систему, внося дополнения и изменения в реестр.
Этот этап разработки программы на примере утилиты InstallShield Express (она входит в состав Delphi) подробнее будет рассмотрен позже. Итак, мы вкратце рассмотрели этапы разработки программы. В следующих статьях поподробнее остановимся на каждом из них.
Программист — это не профессия. Программист — это образ жизни. Девелоперизм в крови или путь молодого бойца. Преимущества и недостатки фриланса
Алгоритм программы
Как стать программистом?
Стадии и этапы разработки
Документ Стадии и этапы разработки выполняется в соответствии с требованиями ГОСТ 19. 102-77 ЕСПД. «Стадии разработки», который устанавливает стадии разработки программ, программной документации, а также этапы и содержание работ:
Стадии разработки
Этапы работ
Содержание работ
Техническое задание
Обоснование необходимости разработки программы
Постановка задачи. Сбор исходных материалов. Выбор и обоснование критериев эффективности и качества разрабатываемой программы. Обоснование необходимости проведения научно-исследовательских работ. Научно-исследователь-ские работы
Определение структуры входных и выходных данных. Предварительный выбор методов решения задач. Обоснование целесообразности применения ранее разработанных программ. Определение требований к техническим средствам. Обоснование принципиальной возможности решения поставленной задачи. Разработка и утверждение технического задания
Определение требований к программе. Разработка технико-экономического обоснования разработки программы. Определение стадий, этапов и сроков разработки программы и документации на нее. Выбор языков программирования. Определение необходимости проведения научно-исследовательских работ на последующих стадиях. Согласование и утверждение технического задания. Эскизный проект
Разработка эскизного проекта
Предварительная разработка структуры входных и выходных данных. Уточнение методов решения задачи. Разработка общего описания алгоритма решения задачи. Разработка технико-экономического обоснования. Утверждение эскизного проекта
Разработка пояснительной записки. Согласование и утверждение эскизного проекта
Технический проект
Разработка технического проекта
Уточнение структуры входных и выходных данных. Разработка алгоритма решения задачи. Определение формы представления входных и выходных данных. Определение семантики и синтаксиса языка. Разработка структуры программы. Окончательное определение конфигурации технических средств. Утверждение технического проекта
Разработка плана мероприятий по разработке и внедрению программ. Разработка пояснительной записки. Согласование и утверждение технического проекта. Рабочий проект
Разработка программы
Программирование и отладка программы
Разработка программной документации
Разработка программных документов в соответствии с требованиями ГОСТ 19. 101-77. Испытания программы
Разработка, согласование и утверждение программы и методики испытаний. Проведение предварительных государственных, межведомственных, приемо-сдаточных и других видов испытаний. Корректировка программы и программной документации по результатам испытаний. Внедрение
Подготовка и передача программы
Подготовка и передача программы и программной документации для сопровождения и (или) изготовления. Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление. Передача программы в фонд алгоритмов и программ.
Допускается исключать вторую стадию разработки (эскизный проект), а в технически обоснованных случаях — вторую и третью стадии (эскизный и технический проекты). Необходимость проведения этих стадий указывается в техническом задании.
Допускается объединять, исключать этапы работ и (или) их содержание, а также вводить другие этапы работ по согласованию с заказчиком.
Документ Описание программыориентирован на документальное описание результирующего продукта разработки.
Описание программы может быть дополнено разделами и пунктами, взятыми и из стандартов для других описательных документов и руководств: ГОСТ 19. 404-79 ЕСПД. «Пояснительная записка», ГОСТ 19. 503-79 ЕСПД. «Руководство системного программиста», ГОСТ 19. 504-79 ЕСПД. «Руководство программиста», ГОСТ 19. 505-79 ЕСПД. «Руководство оператора» и т.
В частности, из Пояснительной записки можно взять схему алгоритма, общее описание алгоритма и (или) функционирования программы, а также обоснование принятых технических и технико-экономических решений.
Описание программы обязательно должно включать информационную часть – аннотацию и содержание.
Основная часть документа должна состоять из вводной части и следующих разделов:
· функциональное назначение;
· описание логики.
· условия применения;
· состав и функции.
В зависимости от особенностей программы допускается введение дополнительных разделов.
Во Вводной части документа приводится информация общего характера о программе: полное наименование, обозначение, ее возможные применения и т.
В разделе Назначение указывают назначение программы и приводят общее описание функционирования программы, ее основные характеристики, сведения об ограничениях, накладываемых на область применения программы, а также указывают типы электронных вычислительных машин и устройств, которые используются при работе.
В разделе «Описание логики» указывают:
-описание структуры программы и ее основных частей;
Например: В состав программы входят следующие компоненты:
· пользовательский интерфейс,
· модуль определения путей в графе,
· модуль расчета передаточной функции,
· модуль построения амплитудно- и фазочастотных характеристик,
· модуль построения реакции на полиномиальное воздействие,
· текстовый редактор).
-описание функций составных частей и связей между ними;
-сведения о языке программирования;
-описание входных и выходных данных для каждой из составных частей;
Например: ВХОДНЫЕ ДАННЫЕ. Входными данными для программы является текстовый файл, описывающий расширенную матрицу инциденций графа исследуемой системы.
ВЫХОДНЫЕ ДАННЫЕ. Выходными данными являются:
· выводимая на экран графическая и текстовая информация (результаты анализа системы);
· файлы в одном из графических форматов — копии изображения построенных характеристик (АЧХ, ФЧХ и т
· текстовые файлы — отчеты о проведенных исследованиях;
· диагностика состояния системы и сообщения о всех возникших ошибках.
-описание логики составных частей (при необходимости следует составлять описание схем программ). При описании логики программы необходима, естественно, привязка к тексту программы.
В разделе Состав и функции указывают описание состава и функции программ, применяемых методов решения задач.
В разделе Условия применения указываются условия, необходимые для выполнения программы (требования к необходимым для данной программы техническим средствам и другим программам, общие характеристики входной и выходной информации, а также требования и условия организационного, технического и технологического характера и т.
В приложение к описанию могут быть включены справочные материалы (иллюстрации, таблицы, графики, примеры и т. Можно указать имя загрузочного модуля, а также описание всей процедуры.
Порядок вызова и загрузки системы.
Например: Загрузка программы осуществляется набором в командной строке DOS имени загрузочного модуля – SBM80N. EXE с возможным указанием имени файла данных.
Требования к оформлению текста программы достаточно просты. Основное, чем необходимо руководствоваться при создании этого документа – это то, что текст программы должен быть удобочитаемым.
Обязательным является составление информационной части – аннотации и содержания.
Основная часть документа должна состоять из текстов одного или нескольких разделов, которым даны наименования.
Текст каждого программного файла начинается с «шапки», в которой указывается:
· наименование программы,
· дата создания программы,
· номер версии,
· дата последней модификации.
Программа исследования. Формулировка проблемы
Планирование процесса исследования
Процесс проведения исследования разбивается на несколько этапов.
В настоящем разделе рассмотрим подробнее все эти этапы.
Процесс исследования делится на следующие этапы:
– подготовка и организация исследования:
— определение цели исследования;
— разработка замысла исследования;
— организация процесса исследования;
— подготовка аналитических процедур.
— эмпирическое обследование и эксперимент.
– обработка эмпирических данных:
— статистическая обработка;
— теоретическая обработка;
— практическое применение полученных результатов.
Планирование и организация процесса исследований.
Итак, основная цель предварительного этапа – спланировать и организовать работу по проведению исследования. В научных исследованиях планирование также необходимо, как и в любой другой деятельности. Результатом этой работы является программа исследования.
Программа исследования – организационный и научный документ, в котором содержатся методологические, методические и процедурные основы исследования.
Программа состоит из двух разделов.
формулировка проблемы, определение объекта и предмета исследования; 1. интерпретация основных понятий;
предварительный системный анализ объекта исследования;
формулировка рабочих гипотез.
принципиальный (стратегический) план исследования;
набросок основных процедур сбора и анализа первичных данных.
До написания программы необходимо провести предварительный анализ объекта, которой включает в себя следующие элементы:
— определение структуры объекта, его функций, целей, основного содержания и условий деятельности, характера внешних связей;
— выявление перспектив, трудностей, проблем развития объекта (постановка проблемы);
— установление форм организационных связей с объектом в ходе исследования.
Такая работа проводится, в основном, методами системного анализа, о которых речь пойдет далее. После этого разрабатывается собственно программа, которая содержит следующие основные разделы:
— постановка проблемы, уточнение цели, основных задач, предмета и объекта исследования;
— теоретическая и эмпирическая интерпретация понятий.
— формирование гипотезы.
Формулировка причин возникновения проблемных ситуаций и способов их устранения на уровне гипотез;
— построение общего стратегического плана.
Определение состава методов, процедур, видов работ, необходимых для решения исследовательской задачи;
— составление рабочего плана и графика выполнения работ.
Рассмотрим подробнее разделы программы, останавливаясь попутно на таких важных понятиях как проблема, гипотеза и т.
Программа исследования. Формулировка проблемы
Исходным пунктом всякого исследования является проблемная ситуация. Если говорить конкретно об исследованиях систем управления, то здесь проблема – специфическое состояние системы управления, объекта, характеризующегося противоречием между потребностями его развития и тем состоянием, в котором он находится.
На этом этапе очень важно четко найти и обозначить проблему, которую необходимо решить в процессе исследования. Выражаясь иным языком, исследователь должен поставить диагноз. Мы уже говорили о проблемах организации, которые вызывают необходимость проведения исследований. Напомним, что задачи организации состоят в том, что либо ситуация ухудшается и её надо исправить, либо необходимо улучшить существующую ситуацию (которая, в принципе, не ухудшается) и, наконец, задача состоит в создании совершенно новой ситуации, найдя для этого новые возможности. Таким образом, имеется три основные категории проблем: коррективные, прогрессивные и созидательные. Однако при любой постановке задачи во всех трех случаях общим является то, что всегда имеется расхождение между тем, что есть на самом деле и тем, что должно быть (т. к чему надо стремится). расхождение между желаемым и действительным. Суть этого расхождения и определяет проблему.
Кроме того, в уже упоминавшемся пособии по управленческому консультированию отмечается, что проблема может быть определена с помощью пяти основных характеристик.
Сущность или содержание. В чём именно суть настоящей проблемы, к какой категории её отнести (экономической, социологической, технической и пр. Для этого необходимо подробное её описание. Например, растущие издержки производства, низкая эффективность использования оборудования, большое время простоя, плохой психологический климат, большая текучесть кадров и т. Причем, важно определить количественные оценки. растущие издержки производства по сравнению с чем, с какими издержками?).
Организационное и физическое местонахождение. В каких именно организационных подразделениях возникла проблема (участки, отделы, филиалы)? Где именно физически она была выявлена (т. конкретно какой цех, отдел, участок)? Насколько широко она распространена в организации?
Распространение проблемы. Какие работники организации (специалисты, менеджеры, рабочие) затронуты данной проблемой, и кто из них более всего заинтересован в её решении? Является ли проблема открытой (т. известной всем), либо закрытой (ограниченному кругу лиц)?
Абсолютная и относительная величины. Насколько важна проблема в абсолютных величинах (например, каков объем увеличения издержек производства, каковы в часах потери рабочего времени и пр. )? Насколько важна та же проблема в относительном выражении? Насколько она важна для организации в целом и как она влияет на подразделение, в котором обнаружена, и на людей, на которые она распространяется? Что получит организация от её решения?
Временная перспектива. С какого времени существует данная проблема? Наблюдалась ли она один раз, несколько раз или возникает периодически? Какова тенденция (усиливается, уменьшается, стабилизируется)?
Здесь же надо четко сформулировать цели и задачи исследования. В данном контексте цель исследования – определение общей направленности исследования, разработка проекта действий. Она определяет ориентацию исследования – теоретическую или практическую. Задачи представляют собой совокупность конкретных целевых установок, направленных на анализ и решение проблемы. Наконец, поясним, что понимается под теоретической и эмпирической интерпретацией понятий. Речь идет о необходимости строгой формулировки всех терминов и определений, которыми мы будем руководствоваться при решении проблемы.
Интерпретация понятий осуществляется через ряд последовательных этапов. На первом этапе производится перевод проблемной ситуации в формулировку в строгих научных рамках и терминах. На следующем этапе каждое понятие этой формулировки раскладывается на такие операционные составляющие, которые затем могут быть исследованы количественным методом. Конечной целью всей этой работы является выработка таких понятий, которые доступны учету и регистрации.
Программа исследования. Разработка гипотез
На основе имеющихся знаний исследователь пытается построить предварительное объяснение проблемы, т. формулирует гипотезы.
Гипотеза это научно обоснованное предположение о причинах появления обнаруженной проблемы.
Говоря о научно обоснованном предположении, мы имеем в виду, что не всякое предположение может стать гипотезой. Для этого необходимо, чтобы высказанное предположение не противоречило данным науки. Такое ограничение позволяет отбрасывать надуманные, фантастические предположения. Кроме того, естественно, что предположение, претендующее на роль гипотезы, должно согласовываться со всеми данными и фактами, которых оно касается. Второе требование к гипотезе выполнить труднее, т. для его выполнения необходимо, чтобы гипотеза объясняла всю совокупность фактов, а не некоторую её часть. Однако, требование полноты объяснения является необходимым при формулировке гипотезы.
Кроме вышеназванных ограничений, при формулировке гипотез следует руководствоваться несколькими очевидными правилами.
1) При выдвижении нескольких гипотез об одной и той же проблеме предпочтительнее та из них, которая единообразно объясняет большее число фактов.
2) Для объяснения связанной серии фактов нужно выдвигать как можно меньше гипотез и их связь должна быть как можно более тесной.
Наконец, из самого определения гипотезы следует, что: любая гипотеза носит вероятностный характер; нельзя руководствоваться противоречащими друг другу гипотезами; гипотеза должна быть доступна проверке в результате исследования. В зависимости от вида исследования гипотезы можно классифицировать по целому ряду признаков.
По содержанию предположений относительно изучаемого объекта гипотезы можно разделить на:
описательные гипотезы – предположения о существенных свойствах объектов (классификационные), о характере связей между отдаленными элементами изучаемого объекта (структурные), о степени точности связей взаимодействия (функциональные);
объяснительные гипотезы, содержащие только предположения о фактическом состоянии предмета и описание причин такого состояния, но и предположения, раскрывающие тенденции и закономерности развития данного объекта;
прогнозные гипотезы, содержащие, кроме вышеупомянутых предположений, еще и предположения, раскрывающие тенденции и закономерности дальнейшего развития предмета исследования.
Как видим, такие гипотезы располагаются также и по степени возрастания сложности. Наиболее простые – описательные гипотезы, их сформулировать проще, затем идут объяснительные, а самые сложные – прогнозные. Если вспомнить, что гипотеза это по сути начало разработки научного принципа, а то и теории, то такое расположение гипотез по степени сложности вполне естественно.
По степени разработанности гипотезы подразделяются на:
первичные гипотезы, формирующиеся до сбора данных;
вторичные гипотезы, использующиеся, если первичные отвергаются. По степени общности предположений существуют гипотезы- основания и гипотезы-следствия. Формирование гипотез необходимо для придания осмысленности всему исследованию, определению логических опор для сбора и анализа эмпирических данных.
Исходя из такой классификации, естественно рассмотреть стадии развития гипотез.
I стадия – возникновение гипотезы на основе имеющихся фактов, полученных на этапе предварительного знакомства с объектом исследования.
II стадия – формирование выводных гипотез. На этой стадии формируются основные предположения о причине возникшей проблемы, носящие названия основных гипотез, а затем путем анализа основных предположений, как их следствия, разрабатываются выводные гипотезы.
Основные и выводные гипотезы формируются в процессе разработки программы исследований на подготовительном этапе исследований.
III стадия – сопоставление выводных гипотез с данными, полученными на основном этапе исследований. Если сопоставление покажет, что все следствия, теоретически выведенные посредством анализа основного допущения, существуют в действительности, это будет доказывать, что гипотеза вероятна.
Программа исследования. Разработка стратегического плана Формулированием рабочих гипотез заканчивается первый раздел программы исследования. Во втором, методико-процедурном разделе программы основным является стратегический план исследования.
Такой план возможен в трех вариантах:
— разведывательный (формулярный, поисковый);
— аналитический (описательный);
— экспериментальный.
Разведывательный вариант плана выдвигается в случае, если об объекте и предмете исследований нет ясных, четких представлений, т. когда нет возможности выдвинуть ясные, четкие гипотезы. Такой вариант предполагает проведение исследований в три этапа.
1) Изучение документов. Состоит из составления библиографии и изучения литературы и других источников по проблеме.
2) Проведение опросов. Проводится с экспертами, с целью получения дополнительных знаний об исследуемом предмете.
3) Наблюдение. К этому моменту уже имеется определенная информация об объекте.
Аналитический (описательный) план используется тогда, когда имеющиеся знания об объекте позволяют сформулировать описательную гипотезу. При этом необходимо более тщательное исследование: выборочное или монографическое обследование, анкетирование, группировка, корреляционный анализ полученных данных. Разработка описательного плана заканчивается классификацией данных, характеризующих объект исследований.
Экспериментальный план используется, когда можно, на основе имеющихся знаний сформулировать объяснительную гипотезу.
Отсюда цель плана – установить причинно-следственные связи в объекте.
Метод – проведение эксперимента.
Рабочий план исследования
Наряду с программой исследования разрабатывается его рабочий план. Составные части рабочего плана:
Пилотажное исследование – предназначено для проверки качества методик и процедур основного исследования и предшествует ему. Пилотажное исследование подвергает проверке все основные элементы социологического исследования. Чаще всего проводится для проверки инструментария – анкет, опросных листов, бланков интервьюеров.
Полевое обследование (или просто «исследование») – изучение объекта в основных («полевых») условиях. Это основной источник сбора информации.
Подготовка данных для обработки и их обработка – все процедуры для подготовки к вводу данных в компьютер и их обработка по соответствующим программам.
Анализ и интерпретация данных.
Составление отчета – документа, в котором в систематическом и наглядном виде отображаются результаты проведенного исследования.
Сетевой график исследования. в котором отражается схема: работа – исполнитель – время. что, кто и когда делает.
Этапы жизненного цикла ПО
У любого программного обеспечения есть жизненный цикл — этапы, через которые оно проходит с начала создания до конца разработки и внедрения. Чаще всего это подготовка, проектирование, создание и поддержка. Этапы могут называться по-разному и дробиться на более мелкие стадии.
Рассмотрим эти этапы на примере жизненного цикла интернет-магазина.
Подготовка. Иван решил запустить книжный интернет-магазин и начал анализировать, какие подобные сайты уже представлены в сети. Собрал информацию об их трафике, функциональности.
Проектирование. Иван выбрал компанию-подрядчика и обсудил с её специалистами архитектуру и дизайн будущего интернет-магазина.
Создание. Иван заключил с разработчиками договор. Они начали писать код, отрисовывать дизайн, составлять документацию.
Поддержка. Иван подписал акт сдачи-приёмки, и подрядчик разместил интернет-магазин на «боевых» серверах. Пользователи начали его посещать и сообщать о замеченных ошибках в поддержку, а программисты — оперативно всё исправлять.
Модель разработки программного обеспечения описывает, какие стадии жизненного цикла оно проходит и что происходит на каждой из них.
А методология включает в себя набор методов по управлению разработкой: это правила, техники и принципы, которые делают её более эффективной.
Необходимые действия после разработки сайта
Готовый сайт, каким бы хорошим он ни был, не привлечет клиентов одним лишь фактом своего существования. Ему требуется раскрутка. Люди должны узнать, что у компании имеется веб-сайт, который поможет закрыть их боли, удовлетворить имеющиеся потребности.
В раскрутке большое значение имеет регулярная публикация SEO-контента, анализ деятельности конкурентов, проведение маркетинговых исследований, работа с сервисами, рекламщиками, использование социальных сетей для синхронизации с информацией сайта и т.
Оценка качества разработки сайта
После того как сайт создали, разместили на хостинге и открыли для посещения, нужно провести анализ качества его работы. Причем делать это следует регулярно. Раз он существует с определенной целью, нужно оценить, насколько хорошо выполняются поставленные задачи и достигается ли эта цель. Как это сделать? В целом, можно сказать, что ресурс работает в плановом режиме, если соблюдены три условия:
- задачи выполнены в соответствии с требованиями;
- запланированные цели достигнуты;
- заказчик доволен работой исполнителя.
Оценивать все этапы разработки сайта и готовый продукт можно как субъективно, так и объективно. Субъективная оценка зависит от личных взглядов заказчика, его вкусовых предпочтений, его изначальных ожиданий относительно качества работы, способов взаимодействия с исполнителем, цены.
Когда сайт только запущен, оценить его объективно практически нереально, потому что он еще не выполняет все возложенные на него задачи. На первых порах можно сделать вывод об удобстве его организации и визуальной составляющей.
Нужно отметить, что нередко дорогие современные и невероятно стильные сайты в итоге имеют такие же показатели экономической эффективности, что и гораздо более дешевые ресурсы. Поэтому не стоит оценивать их исключительно по внешнему виду, ведь в сайте главное – это все-таки начинка и посыл.
Объективная оценка ресурса не связана с особенностями вкуса заказчика или посетителей. Перечислим основные показатели, которые лежат в основе высокой оценки сайта:
- четкое следование техническому заданию;
- удобная, интуитивно-понятная пользователям навигация;
- удобная и понятная менеджерам и администраторам система управления;
- удовлетворение потребностей целевой аудитории;
- высокие показатели посещения и конверсии, которые можно отследить с помощью специальных инструментов;
- рост продаж и потока покупателей;
- гарантия на работу.
То есть сайт должен выполнять главные задачи заказчика, даже если внешне он кажется неидеальным. Тогда его можно назвать хорошим и рабочим.
Заблуждения, связанные с разработкой сайта
Существует ряд заблуждений, которые касаются разработки сайтов. Рассмотрим самые распространенные.
- ТЗ делается заранее, до того, как начнутся работы. Готовое техническое задание, которое не меняется в ходе выполнения работ – это идеальный вариант. К сожалению, так происходит не всегда, и это нормально. Все мы люди, и мнение заказчика может поменяться. Однако важно, чтобы изменения касались именно текущего этапа работ, а не одного из уже пройденных, когда специалисту приходится возвращаться и переделывать уже согласованную часть будущего сайта.
- ТЗ делает клиент. Не всегда это так. Заказчик может составить свои пожелания относительно визуала и общих моментов, а техническую сторону вопроса прописывает проект-менеджер исполнителя. Это платная услуга.
- Заказ ТЗ в определенной студии обязывает компанию делать сайт там же. Совсем нет. Это разные услуги, и заказчик вправе оплатить только техническое задание, а сайт купить в другом месте. Однако нередко логично делать заказ под ключ.
- Создавая сайт, разработчик сразу адаптирует его для нормальной работы на мобильных гаджетах. Не всегда это происходит именно так. Иногда адаптивы для мобильных платформ верстаются или даже проектируются только после завершения верстки сайта для ПК, параллельно с этапом программирования.
- Без полного функционала сайт не будет работать. Совсем не обязательно. Веб-ресурс может исправно и полноценно работать даже с минимальным набором функций. Поэтому вполне допустимо дорабатывать его уже в процессе эксплуатации. Нужно заранее понимать, что вам нужно от сайта, какой функционал необходим здесь и сейчас, а что будет добавляться по мере необходимости. Все это обговаривается еще на старте проекта.
Самостоятельная разработка сайтов
Если вы задумались о том, чтобы самостоятельно пройти все этапы разработки сайта, курс от GeekBrain станет вашим надежным проводником. Вы узнаете все – от особенностей создания макета до оптимизации баз данных и алгоритмов. Пройдя обучение, вы получите практический опыт и сможете развивать высоконагруженные проекты.
Что умеет веб-разработчик? Он создаёт сайты-поисковики, социальные сети, банковские приложения. Умеет сделать «красиво» и отвечает за логику работы сайта (сервера, файлы и базы данных). Без веб-разработчиков компании просто не смогут работать онлайн.
Кому подойдет курс:
- Новичкам. Даже тот, кто никогда не был связан со сферой IT, сможет получить специальность, которая высоко оплачивается и востребована на рынке труда.
- Начинающим веб-разработчикам. Вы расширите базу своих знаний, познакомитесь с продвинутыми инструментами, методологиями и стандартами работы, а значит, повысите свою конкурентоспособность на рынке веб-специалистов.
- Практикующим IT-специалистам. Мы подскажем, как перейти в востребованное направление и зарабатывать больше.
Основная информация о курсе:
- длительность 16 месяцев;
- 2 занятия в неделю;
- 5 работ в портфолио;
- гарантия трудоустройства;
- диплом после обучения.
Сегодня многие предлагают услуги по созданию сайтов, однако по-настоящему хороших специалистов по-прежнему не хватает. Сайт можно сделать быстро, дешево и даже без подробного ТЗ, но будет ли он отвечать всем вашим требованиям?
Интернет-ресурс – это рабочая лошадка многих современных компаний, и пренебрегать качеством его исполнения нельзя ни в коем случае, ведь это обязательно отразится на его эффективности, а значит, и на доходах компании. Советуем вам грамотно выбирать специалиста и внимательно относиться к разработке сайта на всех ее этапах.
Понятие разработки программного обеспечения
В первую очередь, необходимо дать определение понятию разработки программного обеспечения.
Программное обеспечение (ПО) — это исполняемый код, который осуществляет те или иные вычислительные операции. ПО является совокупностью элементов, в которую входит исполняемый программный код, связанные библиотеки и документация. Если оно создается в целях выполнения конкретных задач, то речь уже идёт о программном продукте (ПП).
Понятие разработки программного обеспечения
Ещё одним важным понятием, которое необходимо рассмотреть в рамках этой темы, является инжиниринг. Данная область представляет собой разработку продуктов с применением конкретной научной методологии.
Программная инженерия — это отдельная область деятельности, внутри которой разрабатываются программные продукты. При этом используются максимально конкретизированные научные методы и принципы. Конечной целью является создание высококачественного и полезного программного продукта.
По определению IEEE разработка программного обеспечения представляет собой применение систематического, дисциплинированного, количественного подхода к разработке, а также дальнейшее использование и обслуживание полученного результата.
Этапы разработки программного обеспечения
Основная задача, которую необходимо выполнить на данном этапе, заключается в формировании концепции будущей системы на основе требований заказчика. Ориентируясь на эту концепцию, разработчики дают оценку тому, насколько проект востребован и реализуем. Если решение о привлечении исполнителя принимается на основании проведенного конкурса, то речь идет об этапе подготовки потенциального сотрудника к этому конкурсу (включая формирование всех документов).
Вполне очевидно, что нет никакого смысла затрачивать время и деньги на проект, который является потенциально невостребованным и нереализуемым. В этом случае завершение проекта является наиболее рациональным решением.
Бывают ситуации, при которых необходима определенная итеративная работа с заказчиком по корректировке концепции проекта вплоть до момента, когда будет достигнуто достаточное соотношение требований заказчика и затрат исполнителя, либо когда будет принято решение о завершении разработки.
Если в основе проекта лежит реализуемая концепция, то наступает этап разработки требований. Данная стадия предполагает определение явных и неявных потребностей заказчика. Зачастую заказчики не имеют четкого представления о своих нуждах. В некоторых ситуациях их нужды не соотносятся с реальными возможностями разработчиков. Иногда потребности заказчиков имеют внутренние противоречия.
Именно для устранения таких проблем и нужен этап разработки требований. Необходимо максимально конкретизировать потребности заказчика и выявить его скрытые нужды. Кроме того, на данной стадии устраняются противоречия между требованиями, создаётся целостное техническое решение и производится анализ его реализуемости.
Конкретизация требований нередко влечёт за собой корректировку концепции проекта. Однако в некоторых ситуациях не получается найти эффективное техническое решение, и тогда проект либо закрывают, либо замораживают до появления выгодных условий.
Если же решение удалась найти, то исполнитель переходит на этап разработки архитектуры будущей системы. Главная задача данной стадии — определение верхнеуровневой логической и физической архитектуры, которая способна всецело закрыть потребности заказчика. В процессе разработки архитектуры выполняется рецензирование и уточнение концепции, требований и предварительного технического решения. Это позволяет снизить самые выраженные риски.
По окончании проектирования архитектуры следует еще раз проверить проект с целью выяснить, сможет ли исполнитель реализовать концепцию. На этапе разработки архитектуры рекомендуется убрать лишние и громоздкие функции. Такая оптимизация нередко помогает вписаться в оптимальные параметры проекта.
Однако иногда необходимо гораздо более серьезное урезание функциональной составляющей будущей системы. Но даже если сложится ситуация, при которой работы над проектом будут приостановлены, это все равно лучше, чем продолжение разработки.
Этапы разработки программного обеспечения
Если же результат оказался положительным, и была сформирована благоприятная архитектура системы, наступает этап реализации и поставки. При этом реализация может выполняться как в один, так и в несколько этапов. Если речь идёт о небольшом проекте, то можно ограничиться лишь одним шагом. Но когда проект является крупномасштабным, подсистемы внутри разрабатываемой системы становятся более зависимыми.
В таких случаях реализация подразделяется на определенное количество стадий. Причем делается это таким образом, чтобы по завершении каждой стадии разработчики получали готовый к поставке результат. Самые важные функции следует разрабатывать на начальных этапах, а менее важные — на последующих стадиях. Благодаря такому подходу самые опасные для системы ошибки будут устранены еще в самом начале, что повысит стабильность основы системы.
Следующий этап — опытная эксплуатация
Главная задача данной стадии — проверка качества работы системы в реальных условиях. Проверка чаще всего состоит из измерения количественных метрик, с помощью которых определяется качество продукта. Сначала испытываются функциональные показатели качества, а после этого — нефункциональные. Если в ходе проверки выявляются какие-либо расхождения, то исполнитель вносит коррективы в системный код.
Интенсив «Путь в IT» поможет:
- За 3 часа разбираться в IT лучше, чем 90% новичков.
- Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
- Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.
При регистрации вы получите в подарок:
Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам
«Критические ошибки, которые могут разрушить карьеру»
Собрали 7 типичных ошибок, четвертую должен знать каждый!
Тест «Есть ли у вас синдром самозванца?»
Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика
Гайд по профессиям в IT
5 профессий с данными о навыках и средней заработной плате
Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и
смотрите интенсив:
Только до 18 августа
Осталось 17 мест
Когда систему удается правильно настроить, ее вводят в эксплуатацию. Обычно исполнитель некоторое время сопровождает разработанный им продукт (как минимум во время гарантийного срока). При обнаружении тех или иных ошибок система корректируется. Пользователям и обслуживающему персоналу заказчика должна своевременно оказываться поддержка в виде консультаций.
Рано или поздно система потеряет свою актуальность для заказчика. С этого момента можно говорит об этапе ее вывода из эксплуатации. Однако для программного обеспечения, которое разрабатывается под заказ, этот этап может и не наступить. Дело в том, что заказчик, опираясь на свои эксклюзивные права, может не допустить исполнителя к дальнейшему сопровождению и настройке системы ещё до потери ее актуальности.
Конечный этап любого проекта — завершение
На этой стадии производится анализ результатов и внесение корректировок в процесс разработки программного обеспечения с опорой на полученный опыт. Кроме того, осуществляется пополнение базы знаний разработчиков новыми решениями, которые доказали свою эффективность, а также различными предостережениями и новыми компонентами. В дальнейшем все это должно применяться при разработке других проектов.
Вспомогательные процессы при разработке ПО
В рамках разработки программного обеспечения можно выделить несколько вспомогательных процессов.
- Документирование. Исполнитель формирует документацию и руководства пользователя к создаваемому программному продукту, как во время разработки, так и после. Такие документы позволяют программистам разбираться в структуре и коде даже по прошествии длительного времени после их создания. При этом документация помогает пользователям взаимодействовать с системой.
- Управление конфигурацией. Речь идет о работах по управлению наборами создаваемых компонентов программного обеспечения, а также по управлению версиями программного продукта.
- Обеспечение качества. Данный процесс необходим для обеспечения соответствия ПП предварительным требованиям к разработке и нормам организации исполнителя и заказчика.
- Верификация. Позволяет обнаружить ошибки, которые были допущены при разработке ПО. Кроме того, благодаря верификации можно выявить несоответствия между разрабатываемым ПО и сформированной архитектурой.
- Аттестация. Она необходима для подтверждения соответствия получаемых величин принятым стандартам. Иными словами, выходные данные должны иметь погрешность, которая удовлетворяет всем требованиям и нормам.
- Совместная оценка. Данный процесс направлен на контроль и проверку состояния персонала и создаваемого ПП. Осуществляется заказчиком и исполнителем в течение всего проекта.
- Аудит. Необходим для независимой оценки текущей ситуации, характеристики проекта, документации и различных отчетов. Данный процесс позволяет сравнить реальное положение дел с договором и документами, в которых прописаны требования. Аудит может проводиться как одной, так и двумя сторонами.
- Разрешение проблем. Устраняются ошибки, которые были обнаружены на этапах контроля и оценки.
Факторы, влияющие на разработку ПО
Перечислим факторы, которые непосредственно влияют на результат разработки ПО:
- Классы решаемых задач. Определяют смысловое содержание создаваемых программ.
- Применяемые методологии. Они задают особенности организационного и технического выполнения базовых этапов создания ПО.
- Методы и парадигмы программирования. От них зависят стили кодирования и архитектуры виртуальных машин;
- Аппаратные и системные программные средства. Они являются виртуальными и физическими ресурсами, благодаря которым становится возможным применение ПО.
Соотношение данных факторов формирует разнообразие вариантов организации разработки. Выделим базовые составляющие этого процесса.
Основная цель разработки программного обеспечения — создание программы, которая сможет выполнять определенную задачу и удовлетворять имеющимся стандартам. Решаемую задачу описывают набором формальных и неформальных (эмпирических) моделей. Они определяют осуществляемые в программе процессы и применяемые при этом данные.
Модель задачи представляет собой комплекс специализированных моделей, которые описывают те или иные нюансы решаемой задачи, отражаемые в создаваемой программе.
Специализированная модель необходима для описания конкретных параметров исследуемого явления. Она позволяет сосредоточиться на частных характеристиках.
Создаваемая программа должна выполнять функции, которые нужны для решения задачи в определенном исполнителе (вычислительной системе). Для отражения его особенностей используется модель исполнителя.
Факторы, влияющие на разработку ПО
Модель исполнителя представляет собой набор специализированных моделей, которые описывают организацию и поведение вычислительной системы, производящей выполнение программы.
Разрабатываемая программа выступает в качестве отображения модели решаемой задачи на модель исполнителя. Уровень сложности программирования зависит от числа таких специализированных моделей, описывающих задачу, а также их размера и семантического отличия от специализированных моделей исполнителя.
Кроме того, трудоемкость процесса разработки определяется параметрами модели исполнителя, которая описывает требования к уровню абстракции создаваемой программы и ее схожестью с архитектурой реального вычислителя.