ПИ. Ответы зачёт Программная инженерия. Основные понятия дисциплины Введение в программную инженерию ответ на каждый из вопросов должен состоять из 13 предложений
Скачать 37.17 Kb.
|
Основные понятия дисциплины «Введение в программную инженерию» ОТВЕТ НА КАЖДЫЙ ИЗ ВОПРОСОВ ДОЛЖЕН СОСТОЯТЬ ИЗ 1-3 ПРЕДЛОЖЕНИЙ. Программный продукт Программный продукт - это программа, которую любой потенциальный пользователь может запускать на различных платформах, тестировать, исправлять и развивать. Программная система. Основная причина сложности современных ПС Программная система (программный комплекс) - это набор взаимодействующих программ, согласованных по функциям и форматам и составляющих полное средство для решения больших задач. Чтобы стать частью ПС синтаксис и семантика ввода и вывода программы должна удовлетворять точно определенным интерфейсам. Программа должна быть протестирована на только отдельно, но и вместе с другими компонентами ПС во всех сочетаниях. Причем с большой долей вероятности при совместном тестировании выявляются ошибки взаимодействия уже отлаженных компонентов. Компонент ПС стоит, по крайней мере, втрое дороже, чем автономная программа с теми же функциями. Следовательно, разработка компонента ПС, рассматриваемой как продукт, будет стоить, по крайней мере, в девять раз дороже, чем разработка аналогичной по функциям программы. Программное обеспечение Программное обеспечение (ПО) - совокупность программ, файлов конфигурации, необходимых для установки данных программ и документации, которая описывает организацию данного ПО и порядок работы пользователя с ПО (Государственный стандарт 19781-90 и международный стандарт ISO/IEC 2382/1-93) Программный проект. Критерии успешности программного проекта. Программный проект - это временное предприятие, предназначенное для создания уникальных ПП. У любого проекта есть определенное начало и завершение проекта. Завершение наступает, когда достигнуты цели проекта или признано, что цели проекта не могут быть достигнуты или исчезла необходимость в проекте. Время жизни конечного программного продукта может существенно превышать время жизни программного проекта. В состав программного проекта входят как люди (заинтересованные стороны), так и необходимые материальные ресурсы. Программная инженерия Программная инженерия - система инженерных принципов для создания экономичного ПО, которое надежно и эффективно работает в реальных компьютерах. Case-система CASE-системы (Computer Aided Software Engineering) - утилиты объединённые в системы автоматизированного конструирования ПО, в целях совместного применения. Набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов. Жизненный цикл ПО. Перечислите этапы жизненного цикла ПО Жизненный цикл ПО это период времени с момента принятия решения о необходимости создания ПО до момента его полного изъятия из эксплуатации. Этапы жизненного цикла Подготовка (сбор требований) Планирование (оценка, расписание) Моделирование (анализ, проектирование) Конструирование (кодирование, интеграция, тестирование) Развертывание (поставка, внедрение и сопровождение) Дайте краткую характеристику этапу «Подготовка» Подготовка (сбор требований, анализ бизнес-процессов, разработка концепции, постановка задачи). На этапе подготовки осуществляется активное взаимодействие между фирмой-разработчиком ПО и фирмой-заказчиком, заключается контракт, собираются и формулируются требования, определяющие характеристики и функции разрабатываемого ПО. Дайте краткую характеристику этапу «Планирование» Планирование. На этапе планирования определяется объем работ, риск работ, необходимые трудозатраты, рабочие задачи план-график работ Дайте краткую характеристику этапу «Анализ требований» В определенной степени анализ требований можно рассматривать как формулировку выводов, следующих из результатов этапа сбора требования. На этом этапе формулируются функции, интерфейс и рабочие характеристики разрабатываемого ПО. В число таких характеристик могут входить скорость выполнения, объем потребляемой памяти, гибкость применения и др. Дайте краткую характеристику этапу «Проектирование» Основная задача проектирования состоит в разработки архитектуры ПО. Архитектура ПО Архитектура ПО определяет структуру ПС (задает ее разбиение на компоненты, связи между ними, их интерфейсы), а также основные принципы проектирования и развития системы. Модульное дерево ПС В качестве модульной структуры программы принято использовать древовидную структуру, называемую модульное дерево ПС. В вершинах такого дерева размещаются программные модули, а стрелки указывают их подчиненность. В тексте модуля, из которого исходит стрелка, должна быть ссылка на тот модуль, на который она показывает. Другими словами, каждый модуль может обращаться только к подчиненным ему модулям. Дайте краткую характеристику этапу «Кодирование» Кодирование заключается в переводе конструкций с языка проектирования на язык программирования. Дайте краткую характеристику этапу «Интеграция» Интеграция программной системы – это процесс объединения отдельных (протестированных) модулей с целью получения системы, требуемой проектом. Дайте краткую характеристику этапу «Тестирование» Тестирование, отладка и оптимизация. На этом этапе производится всесторонняя проверка программ, цель которой убедиться, что ПО является качественным. Перечислите основные общие правила тестирования. Основные принципы: Следует избегать тестирования программы автором; Должны быть известны предполагаемые результаты, до начала тестирования; Необходимо досконально изучать все результаты, полученные в ходе тестирования; Необходимо проверять действия программы на неверных данных и на неожиданные побочные эффекты; Определите три основных способа отладки. По знанию системы: «Чёрный Ящик» (Black Box); «Белый Ящик» (White Box). По степени изолированности компонентов: Модульное (Unit); Интеграционное (Integration); Системное (System/End-to-End). По объекту тестирования: Функциональное (Functional); Нефункциональное (Non-Functional). Валидация ПО Валидация (Validation) – проверка продукта, сервиса или системы, на соответствие заявленным требованиям со стороны заказчика Верификация ПО Верификация (Verification) – оценка продукта, сервиса или системы, на соответствие принятым внутренним правилам и требованиям. Дайте краткую характеристику этапу «Внедрение» Внедрение - это процесс запуска программы в промышленную эксплуатацию. Характерен для программ, разрабатываемых на заказ. Разработчик устанавливает продукт на компьютеры заказчика (инсталлирует его) и проверяет весь его рабочий цикл. Если программа работает устойчиво, начинается этап обучения пользователей. Дайте краткую характеристику этапу «Сопровождение» Сопровождение - это процесс поддержки внедренной программы, который включает: оказание консультаций, внесение необходимых изменений в программу, устранение обнаруженных ошибок. Стандарт Стандарт - документ, в котором устанавливаются характеристики продукции, правила осуществления и характеристики процессов производства, эксплуатации, хранения, перевозки, реализации и утилизации, выполнения работ или оказания услуг. Стандарт также может содержать требования к терминологии, символике, упаковке, маркировке или этикеткам и правилам их нанесения». Метрика Метрика - это совокупность измеряемой величины, её интерпретации и метода измерений. Техническое задание Техническое задание представляет собой документ, в котором сформулированы основные цели разработки, требования к программному продукту, определены сроки и этапы разработки и регламентирован процесс приемно-сдаточных испытаний. Стороны, заинтересованные в качестве ПП В качестве программной продукта заинтересованы три стороны: заказчик, пользователь и разработчик. Качество Качество - совокупность свойств и характеристик изделий или услуг, обеспечивающих удовлетворение потребностей. Характеристики пользовательского качества ПП Эффективность (Effectiveness) Производительность (Productivity) Безопасность (Safety) Соответствие потребностям (Satisfaction) Система управления качеством Система действий, обеспечивающих разработку качественного продукта на всех этапах, начиная от замысла до эксплуатации готового продукта, называется системой управления качеством. 6 групп характеристик качества ПП стандарта ISO/IEC 9126-1 Функциональность (Functionality) Надежность (Reliability) Удобство использования (Usability) Эффективность (Efficiency) Сопровождаемость (Maintainability) Мобильность (Portability) Интероперабельность ПП Способность к взаимодействию (Интероперабельность, Interoperability) - способность к взаимодействию с другими системами. (Например, совместимость форматов данных, совместимость справочников БД , совместимость протоколов передачи данных, технология Drag&drop, использование формата XML, позволяющего создавать удобные протоколы взаимодействия) Юзабилити ПП Юзабилити ПП - это простое и удобное использование ПП. Защищенность ПП Защищенность (Security) - защита информации и данных для исключения неавторизированного доступа людей или систем к чтению и модификации данных. (например, защита от неавторизированного доступа к системе/данным, ролевая система защиты, шифрование данных, административные меры ), Защита может быть активной (защита от перебора логина/пароля, ролевой доступ и т.д.) и пассивной (сообщения о выполнении операций с банковской картой, отображение времени последнего посещения сайта и т.п.) Восстанавливаемость ПП Восстанавливаемость (Recoverability) - возможность восстановить данные после ошибки и время и усилия необходимые для этого. Для заказчика важно, чтобы при возникновении в системе сбоя, он был устранен в приемлемое для него время, а дынные сохранились бы приемлемом состоянии. Отказоустойчивость ПП Устойчивость к ошибке (Fault tolerance) - обеспечение качественной работы даже при наличии ошибок. В любой системе есть ошибки, либо ошибки могут возникать во внешних системах. Эффективность ПП Эффективность ПП (Efficiency) – это отношение уровня услуг, предоставляемых программным продуктом пользователю при заданных условиях, к объему используемых ресурсов. Адаптируемость ПП Адаптируемость (Adaptabi1ity) - возможность адаптации продукта к новым условиям работы только средствами, предусмотренными в продукте. Транзакция Транзакция – группа операций, рассматриваемая пользователем как единое целое, иными словами, это группа операторов, выполняемая либо целиком либо не выполняемая совсем. Дайте характеристику однократного подхода к разработке ПО Однократный подход. Данная стратегия представляет процесс разработки как линейную последовательность этапов жизненного цикла ПО. Дайте характеристику инкрементной стратегии разработки ПО Прежде всего полностью выполняется сбор требований. Оставшаяся часть разработки выполняется в виде последовательности версий, причем каждая следующая версия реализует дополнительные по отношению к предыдущей возможности ПО. Дайте характеристику эволюционной стратегии разработки ПО Разработка выполняется в виде последовательности версий, как и при инкрементной стратегии. В начале процесса определены не все требования к ПО, они уточняются в результате разработки версий. Прототип Прототипом обычно называют действующие ПО, реализующее отдельные функции и внешние интерфейсы разрабатываемого ПО. Процесс разработки прототипа называют прототипированием. Тяжеловесные и облегченные процессы. Тяжеловесные – полностью прогнозируемые документированные процессы, при которых порядок спланированных работ не должен меняться. Облегченные – гибкие, адаптивные процессы, которые представляются собой компромисс между слишком строгой дисциплиной разработчиков и полным ее отсутствием. ХР-процесс Экстремальное программирование. ХР- процесс ориентирован на группы малого и среднего размера, строящие программное обеспечение в условиях неопределенных или быстро изменяющихся требований. ХР- группу образуют до 10 сотрудников, которые размещаются в одном помещении. UML UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования программного обеспечения. Диаграмма вариантов использования Диаграмма вариантов использования в UML — диаграмма, отражающая отношения между актёрами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне. Диаграмма активностей Диаграмма деятельности (диаграмма активностей) — UML-диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий англ. action, соединённых между собой потоками, которые идут от выходов одного узла к входам другого. Диаграммы последовательностей и кооперативные диаграммы Диаграмма последовательности — диаграмма, на которой показано взаимодействие объектов (обмен между ними сигналами и сообщениями), упорядоченное по времени, с отражением продолжительности обработки и последовательности их проявления. Кооперативные диаграммы отражают ту же самую информацию, что и диаграммы Последовательности. Однако делают они это по-другому и с другими целями. Диаграммы классов. Диаграмма классов — диаграмма, демонстрирующая классы системы, их атрибуты, методы и взаимосвязи между ними. Основные этапы развития программной инженерии Стихийное программирование (<1960г) Структурное программирование (60-70гг) Объектный подход (80-90гг) Компонентный подход и CASE-технологии (середина 90х-настоящее время) |