Главная » Просмотр файлов » Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007)

Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007) (1095890), страница 2

Файл №1095890 Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007) (Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007)) 2 страницаКалайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007) (1095890) страница 22018-12-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

...............25571 ВВЕДЕНИЕ. ПРОБЛЕМЫ СОВРЕМЕННОГОПРОГРАММИРОВАНИЯПервый этап развития программирования в первую очередь был связан с накоплением опыта в приобретении технических (стандартных) навыков написания программ. Однако помере развития средств вычислительной техники и накопленияэтих навыков существенно изменилось положение.

Возниклиестественные вопросы — продолжаем ли мы делать ошибки?;является ли сам процесс написания программ правильным?; невозникла ли необходимость в создании новых методов разработки программного обеспечения?Ответом на эти вопросы и занимается научная дисциплина — методы (технология) разработки программного обеспечения. Круг вопросов, который рассматривает данная дисциплина,связан с классическими составляющими программирования: написанием спецификаций; проектированием; тестированием и функционированием программ.Практическую значимость данной дисциплины можнопроиллюстрировать путем сопоставления состояний дел по разработке технических систем и больших программных систем. В 1958 году в США приступили к строительству Веррацано-Нарроуского моста. По расчетам инженеров затраты на строительство определялись в размере 325 млн $,а работы планировалось завершить в 1965 году.

Этосамый большой подвесной мост в мире. Работы понему завершились в ноябре 1964 года в соответствии спроектной сметой. Приблизительно в это же самое время производиласьразработка операционной системы OS фирмы IBM. Попланам разработчиков длительность разработки составляла 5000 человеко-лет. Но несмотря на все возможные принятые фирмой меры, завершилась на 4года позже планируемого срока.Возникает вопрос, почему в технических системах возможен достаточно точный прогноз, тогда как при разработке программных систем он оказывается несостоятельным?8Частично на этот вопрос можно ответить следующим образом — инженеру проще предусмотреть возрастающую сложность строительства, вызванную увеличением размеров моста,чем разработчику программного обеспечения определить сложность программы большого размера.В настоящем курсе мы будем рассматривать методы итехнические приемы, введение которых позволит уменьшитьстоимость и повысить надежность программ.В общем случае методы разработки программного обеспечения не есть программирование, хотя программирование составляет важную ее часть.

Данный предмет также не сводится кпроблеме изучения компиляторов и операционных систем, хотяони также играют существенную роль в рассматриваемой технологии. Точно так же проблемы электронной техники, структуры ЭВМ не являются предметом исследований, хотя и их знание в данном предмете необходимо.Методы разработки программного обеспечения — этосинтезированная дисциплина, в которой для составления алгоритмов используются математические методы, для оценки затрат и выбора компромиссных решений — методы инженерныхрасчетов, для определения требований к системе, учета ситуаций, связанных с потерями, организации работы исполнителейи прогнозирования — методы управления. Все это и будет предметом наших исследований.92 ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГООБЕСПЕЧЕНИЯЕстественно, что отдельный человек не в состоянии полностью осмыслить и построить программное обеспечениебольшой системы.

Для управления ходом разработки большихпрограммных систем выделяются шесть этапов, составляющихцикл разработки (цикл жизни) программного обеспечения:1) анализ требований, предъявляемых к системе;2) определение спецификаций;3) проектирование;4) кодирование;5) тестирование:а) автономное;б) комплексное;6) эксплуатация и сопровождение.Анализ требований (10%)Комплексноетестирование (20%)Определениеспецификаций (10%)Проектирование(15%)Автономноетестирование (25%)Кодирование (20%)Рис. 2.1 — Распределение затрат по этапам разработкиНа диаграмме (рис. 2.1) показано приблизительное распределение затрат на реализацию отдельных этапов разработки.Рассмотрим определение каждого из этих этапов.102.1 Анализ требований, предъявляемыхк системеНа первом этапе, часто неоправданно опускаемом, определяются требования, которые позволяют получить приемлемоерешение проблемы.

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

В том случае, когда разработка программного обеспечения является самоцелью, обычно используютсяметоды составления исходных описаний. Одним из самых эффективных методов исходных описаний является метод структурного анализа, сущность которого сводится к декомпозицииисходного объекта на его составные части (рис. 2.2).AРис. 2.2 — Схема декомпозиции системы11Таким образом, создается иерархия связанных подсистем(обязательно непересекающихся).В общем случае, анализ требований, предъявляемых к системе, должен быть сосредоточен на интерфейсе между человеком (пользователем) и инструментом (ЭВМ).

При этом для программных систем можно выделить лишь базовые требования: время обработки (работы) программы; стоимость обработки; вероятность ошибки; реакция на непредсказуемые действия оператора (защита от дурака и др.).При декомпозиции требований следует делать различиямежду жесткими требованиями и требованиями, выполнениекоторых не является строго обязательным.Особое внимание следует уделять пространственно-временным ограничениям и средствам системы, которые в будущем могут претерпеть изменения.К важнейшим требованиям относятся ресурсные требования и затраты на реализацию системы.Фактически, анализ требований завершается составлением развернутого технического задания на систему, которое втерминологии классического САПР называется аван-проектом.2.2 Определение спецификацийНа этапе определения спецификаций осуществляетсяточное описание функций, реализуемых ЭВМ, а также задаютсяструктура входных и выходных данных, методы и средства ихразмещения.

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

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

Составление подробных алгоритмов наэтом этапе преждевременно и может вызвать нежелательныеосложнения.2.3 ПроектированиеНа стадии проектирования разрабатываются алгоритмы,задаваемые спецификациями, и формируется общая структуравычислительной системы. При этом система разбивается (принеобходимости) на составные части таким образом, чтобы ответственность за реализацию каждой составной части можнобыло бы возложить на одного разработчика (или группу исполнителей). При этом для каждого определенного таким образоммодуля системы должны быть сформированы предъявляемые кнему требования: реализуемые функции; размеры; время выполнения и др.В целом соотношения «требования — спецификация —проектирование» можно проиллюстрировать следующей схемой(рис.

2.3).13Реальный мирАбстракция (формализация)Требования (1)Спецификация (2)Реализация (4)Проектирование (3)Рис. 2.3 — Схема проектирования программных системПрежде всего Заказчик анализирует и формулирует требования реальности, которые находят отображение в требованиях, предъявляемых к программной системе. Однако ЭВМ неспособна решить задачу непосредственно, реальные данныенеобходимо каким-то образом закодировать и ввести в ЭВМ.Подобная модель решаемой задачи представляет собой абстрактное выражение реального мира и отражается в спецификациях.Если спецификации программы определены, возникаетнеобходимость в описании процесса обработки информации,что относится к этапу проектирования.

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6372
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее