- •Вопросы к экзамену по дисциплине «Технология разработки программного обеспечения»
- •Назовите и дайте определение основным понятиям технологии проектирования и создания программных средств.
- •Определите понятие структуры жизненного цикла по. Назовите группы процессов жцпо и перечислите их состав.
- •Опишите основные процессы жцпо. Какие действия и задачи включают в себя процессы разработки и эксплуатации по.
- •Опишите вспомогательные процессы. Какие действия и задачи включают в себя процесс управления конфигурацией.
- •Опишите процесс обеспечения качества проекта, определите понятие качество по.
- •Назовите показатели качества по и перечислите критерии оценки качества программы.
- •Опишите процессы верификации, проверки и тестирования.
- •Опишите организационные процессы. Какие действия и задачи включают в себя процесс управления проектом.
- •Определите понятие модели жцпо. Назовите основные модели жцпо, кратко их охарактеризуйте и объясните отличия.
- •Опишите каскадный способ разработки по: характеристики, схему, достоинства и недостатки.
- •Опишите основные характеристики спирального способа разработки по, приведите его схему, укажите достоинства и недостатки.
- •Определите понятия метода, методология и технология проектирования по.
- •Перечислите общие требования к технологии проектирования, разработки и сопровождения информационных систем.
- •Назовите стандарты применения технологии проектирования, разработки и сопровождения информационных систем и укажите, что устанавливает каждый стандарт.
- •Опишите методологию быстрой разработки приложений rad, укажите её основные элементы и перечислите основные принципы.
- •В чём заключается сущность структурного подхода к разработке информационных систем? Назовите и объясните общие принципы методологии структурного подхода к разработке информационных систем.
- •Назовите и кратко охарактеризуйте диаграммы структурного системного анализа.
- •Опишите методологию функционального моделирования sadt. Приведите примеры диаграмм.
- •Опишите методологию моделирования потоков данных dfd. Приведите примеры диаграмм.
- •Укажите цель и опишите процесс моделирования данных. Объясните правила построения диаграммы «сущность-связь» (erd). Приведите примеры диаграмм.
- •В чём заключается case-метод Баркера, Определите понятия сущности, атрибута, связи. Опишите основные шаги моделирования.
- •Определите основные понятия и содержание процесса тестирования программного обеспечения. Назовите основные принципы тестирования программного обеспечения.
- •В чём заключается сущность объектно-ориентированного подхода к разработке программных систем? Определите фундаментальные понятия объектно-ориентированного программирования.
- •Определите понятие объектной модели. Назовите и охарактеризуйте элементы объектной модели.
- •Для чего предназначен унифицированный язык моделирования uml? Опишите концептуальную модель uml, общие сведения, виды диаграмм.
- •Назовите цели диаграммы вариантов использования, определите основные понятия.
- •Перечислите и кратко охарактеризуйте элементы диаграммы вариантов использования. Приведите примеры
- •Назовите и охарактеризуйте отношения на диаграмме вариантов использования. Приведите примеры.
- •Что представляет из себя и для каких целей создается диаграмма классов. Определите основные понятия.
- •Приведите графическое изображение класса в uml. Определите понятие атрибутов и операций классов. Приведите примеры.
- •Назовите и охарактеризуйте виды отношений между классами в языке uml. Приведите примеры.
- •Что представляет из себя и для каких целей создается диаграмма состояний на языке uml.
- •Опишите элементы «состояние» и «переход» на диаграмме состояний, частные случаи состояния. Приведите примеры.
- •Начальное состояние
- •Опишите элементы «событие» и «сторожевое условие» на диаграмме состояний. Приведите примеры.
- •Что представляет из себя и для каких целей создается диаграмма деятельности на языке uml? Приведите примеры.
- •Определите понятия состояние действия и переход на диаграмме деятельности. Приведите примеры.
- •Опишите разделение и слияние потоков управления на диаграмме деятельности. Приведите графическое изображение в uml.
- •Что представляет из себя и для каких целей создается диаграмма последовательности на языке uml. Приведите примеры.
- •Опишите элементы диаграммы последовательности «линия жизни» и «фокус управления». Приведите примеры.
- •Что представляет из себя и для каких целей создается диаграмма кооперации на языке uml? Приведите структуру полного имени объекта на диаграмме кооперации.
- •Имя объекта / Имя роли классификатора : Имя классификатора
- •Опишите структуру полного имени объекта на диаграмме кооперации. Приведите примеры.
- •Имя объекта / Имя роли классификатора : Имя классификатора
- •Назовите отличия мультиобъекта от составного объекта на диаграмме кооперации. Приведите графическое изображение в uml.
- •Что представляет из себя и для каких целей создается диаграмма компонентов на языке uml.
- •Что является «компонентом» диаграммы компонентов? Назовите виды компонентов и соответствующие им способы изображения на диаграмме компонентов. Приведите примеры. Компонент
- •Имя компонента : имя типа
- •Определите понятие саse-технологии и опишите ключевые характеристики саse-технологий.
- •Определите понятие case-средств, проанализируйте критерии классификации и опишите классификацию case-средств.
- •Опишите процесс генерации программного кода проекта по существующей модели, созданной с помощью case-средства Rational Rose.
- •Опишите процесс реинжиниринга (обратного проектирования) по с помощью case – средства Rational Rose.
Опишите каскадный способ разработки по: характеристики, схему, достоинства и недостатки.
В изначально существовавших однородных программах каждое приложение представляло собой единое целое. Для разработки такого типа приложений применялся каскадный способ. Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем (рис.1). Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Положительные стороны применения каскадного подхода заключаются в следующем:
на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
сроки завершения всех работ и соответствующие затраты.
К аскадный подход хорошо зарекомендовал себя при построении программ, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем чтобы предоставить разработчикам свободу реализовать их как можно лучше с технической точки зрения. В эту категорию попадают сложные расчетные системы, системы реального времени и другие подобные задачи. Однако, в процессе использования этого подхода обнаружился ряд его недостатков, вызванных прежде всего тем, что реальный процесс создания ПО никогда полностью не укладывался в такую жесткую схему.
Опишите основные характеристики спирального способа разработки по, приведите его схему, укажите достоинства и недостатки.
Д ля преодоления перечисленных проблем была предложена спиральная модель ЖЦ (рис.3), делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО. На нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации.
Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем этапе. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача - как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований.
Основная проблема спирального цикла – определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.