Главная » Просмотр файлов » В.В. Кулямин - Технологии программирования. Компонентный подход

В.В. Кулямин - Технологии программирования. Компонентный подход (1134162), страница 8

Файл №1134162 В.В. Кулямин - Технологии программирования. Компонентный подход (В.В. Кулямин - Технологии программирования. Компонентный подход) 8 страницаВ.В. Кулямин - Технологии программирования. Компонентный подход (1134162) страница 82019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Первый класс реализует хранение множества элементов, на которыхопределен порядок, в виде сбалансированного дерева. Второй класс реализует то же самоедля ассоциативного массива или словаря (map), если определен порядок его ключей. Всеалгоритмы работы со сбалансированным деревом в обоих случаях одинаковы, поэтомуимеет смысл реализовать их только один раз. Если посмотреть на код этих классов вбиблиотеке JDK от компании Sun, можно увидеть, что ее разработчики так и поступили —класс TreeSet реализован как соответствующий ассоциативный массив TreeMap, в которомключи представляют собой множество хранимых значений, а значение в любой паре (ключ,значение) равно null.19Литература к Лекции 1[1] Документация по технологиям Java http://java.sun.com/docs/index.html[2] Т.

Кормен, Ч. Лейзерсон, Р. Ривест. Алгоритмы: построение и анализ. М.: МЦНМО, 1999.[3] И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002.[4] Э. Хант, Д. Томас. Программист-прагматик. М.: Лори, 2004.[5] Е. А. Жоголев. Лекции по технологии программирования: Учебное пособие. М.:Издательский отдел факультета ВМиК МГУ, 2001.[6] Г.

Буч. Объектно-ориентированный анализ и проектирование с примерами приложений наC++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000.[7] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented SoftwareArchitecture. Wiley, 2002.20Лекция 2. Жизненный цикл и процессы разработки ПОАннотацияВводятся понятия жизненного цикла ПО и технологических процессов его разработки.Рассматриваются различные способы организации жизненного цикла ПО, каскадные иитеративные модели жизненного цикла, а также набор стандартов, регулирующих процессыразработки ПО в целом.Ключевые словаЖизненный цикл ПО, виды деятельности, роли заинтересованных лиц, процессы жизненногоцикла, процесс разработки ПО, стандарты жизненного цикла ПО, модель зрелости возможностей,модели жизненного цикла ПО, каскадная модель жизненного цикла, итеративная модельжизненного цикла, спиральная модель жизненного цикла.Текст лекцииПонятие жизненного цикла ПОВ первой лекции говорилось о том, что сложную программную систему построить «простыми»методами невозможно.

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

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

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

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

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

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

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

Таким образом, процессы могутразбиваться на подпроцессы, решающие частные подзадачи той задачи, с которой работает общийпроцесс.22Стандарты жизненного циклаЧтобы получить представление о возможной структуре жизненного цикла ПО, обратимсясначала к соответствующим стандартам, описывающим технологические процессы.Международными организациями, такими, как:• IEEE — читается «ай-трипл-и», Institute of Electrical and Electronic Engineers, Институтинженеров по электротехнике и электронике;• ISO — International Standards Organization, Международная организация по стандартизации;• EIA — Electronic Industry Association, Ассоциация электронной промышленности;• IEC — International Electrotechnical Commission, Международная комиссия поэлектротехнике;а также некоторыми национальными и региональными институтами и организациями (в основном,американскими и европейскими, поскольку именно они оказывают наибольшее влияние наразвитие технологий разработки ПО во всем мире):• ANSI — American National Standards Institute, Американский национальный институтстандартов;• SEI — Software Engineering Institute, Институт программной инженерии;• ECMA — European Computer Manufactures Association, Европейская ассоциацияпроизводителей компьютерного оборудования;разработан набор стандартов, регламентирующих различные аспекты жизненного цикла ивовлеченных в него процессов.

Список и общее содержание этих стандартов представлены ниже.Группа стандартов ISO•ISO/IEC 12207 Standard for Information Technology — Software Life Cycle Processes [1](процессы жизненного цикла ПО, есть его российский аналог ГОСТ Р-1999 [2]).Определяет общую структуру жизненного цикла ПО в виде 3-х ступенчатой модели,состоящей из процессов, видов деятельности и задач. Стандарт описывает вводимыеэлементы в терминах их целей и результатов, тем самым задавая неявно возможныевзаимосвязи между ними, но не определяя четко структуру этих связей, возможнуюорганизацию элементов в рамках проекта и метрики, по которым можно было быотслеживать ход работ и их результативность.Самыми крупными элементами являются процессы жизненного цикла ПО (lifecycleprocesses).

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

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

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

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