Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 19

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 19 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 192019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

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

Наиболее разработанным подходом к проектированию ПО обладают так называемые структурные методы, которые предлагают множество формализованных нотаций и нормативных руководств для проектирования программных продуктов. В качестве примера этих методов можно назвать структурное проектирование (79, 7», 24»], структурный анализ систем (125. 1О», 12»), разработку систем Джексона ()вс)гзоп, (181, 9») ), а также разно. образные методы.

основанные на объектно-ориентированном подходе (295, 54, 302, 55, 303, 304, 7», 32», 34»], Применение структурных методов обычно приводит к созданию графических молелей системы и большому объему проектной локументации. САВЕсредства (см. раздел 3,7) предназначены для поддержки именно таких методов.

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

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

Эта модель часто используется при проектировании структур баз данных. 3. Структурнгл модель, предназначенная для документирования системных компо. нентов и их взаимосвязей. 70 х(асть 1. Инженерия программного обеспечения: обзор Гь Объектно.ориснтироваппыс методы, с помовгью которых получают иерархическую модель системы, модели статических и динамических отношений между объектами и >юдоль взаимодействия оГп скгов во время работы системы. Пскоторыс структурпыс методы дополняются другимн систслшыми моделями, такими как лиаграммы переходов (из одного состояния в другое) или сценарии жизни сущностей, которые показывают послсдоватсльность преобразований для каждой сущности.

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

С другой стороны, проведенные исследования труда проектировщиков показали, что чаще всего они просто слепо следуют этил> методам [20). Ла и саин методы они выбирают в зависимости от частных обстолтсльств, а нс в соответствии с их достоинствами или недостатками. 3.4.2. Программирование и отладка Процесс программированил (написания программного кода, кодирования) обычно следует непосредственно за процессом проектирования. Но для некоторых классов программ.

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

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

Лругис применяют противоположный подход, оставляя простые длл пих компоненты на потом. ОГ>ычпо программисты анш тестируют на>шсаиный имп програмл>ный код для обнар>жспия возможных о>пиГ>ок и программных дефектов. Этот процесс называется ожллдкой программы, В припципс тсстирова>шс и отладка являются разными процессами. При тестировании устанавливается наличие программных ошибок. В ходе отладки устанавливается мсстоположспис ошибок, затем опи устраняются. На рцс.

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

зывающие значении программных переменных и выполняющие трассировку исполняе- мых операторов. Опрвлеление Повторное способа устрв- тестирование ошибки нения ошибки программы уене. 3.10. Провегс помадки 3.5. Аттестация программных систем Лттестацил ПО, или более обобщенно — верификацил и аттестация, прелпазначспа показать гоответствне системы ее спецификации, а также ожиланилм и трсбовапилм заказчика и пользователей.

К процессу аттестации также можно отнести элсмсгггы контролл, такие как инспекция и оцепиванне (гм. главу 19), которые выполняютсн на каждом этапе создания ПΠ— от формировании общих требований ло кодировании программ. Но всетаки основные действия по аттестации выполплтатся после завершения реализации на этапе тестирования законченной системы (глава 20). За исключением небольших программ. программные системы невозможно протестировать как единый цельный программный элеьтеит. Большие системы строятся па осколе полсистсм, которые, в свою очередь, строятся из модулей, модули жс компонуются нз праграмлытроцепур и программ-функций. Длл таких систем процесс тсстирапаппн выполняется постепенна, по мере реализации системы.

Проверка на соответствие системным требованиям Тестирование Тестирование компонентов программных сборок Рис. Л. 1!. Прорегс ггмстгтгератотеил На рис. 3. ! 1 показан плтиэтаппый процесс тестировании, глс сначала тсстир>ютсл от. дельные программные компоненты и полспстемы, затем сабраппап система и наконец система с ланнымн.

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

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

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

Тип файла
DJVU-файл
Размер
8,79 Mb
Тип материала
Высшее учебное заведение

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

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