- •Ответы на вопросы по дисциплине «Технология программирования».
- •1.Жизненный цикл программного обеспечения. Каскадная модель. Спиральная модель.
- •3. Управление разработкой программного средства.
- •5. Понятие программного модуля и его основные характеристики.
- •7. Формирование пользовательского интерфейса в среде программирования Lazarus.
- •9. Виды документации программного средства.
- •11. Прототипирование и исследовательское программирование. Отличия.
- •13. Понятие программного средства. Понятие технологии программирования.
- •17. Функциональная спецификация программного средства.
- •15. Автономная отладка и тестирование программного средства.
- •19. Надежность программного средства.
- •21. Способы разработки определения требований к программному средству.
- •23. Табличный подход к спецификации функций. Метод таблиц решений. Алгебраический подход для определения функций.
- •25. Архитектура программного средства. Понятие модульности программного средства. Расширяемость.
- •29. Системы быстрой разработки приложений(rad). Особенности.
- •31. Диаграммы деятельности и коопераций, диаграммы состояний.
- •32. Эволюция технологий программирования.
- •33. Спецификация качества программного средства.
- •35. Внешнее описание программного средства. Руководство разработчика и руководство пользователя.
- •37. Case-технологии разработки программного средства.
- •40. Тестирование по методам «черного» и «белого» ящиков. Этапы тестирования.
- •41. Разработка технического задания. Требования к содержанию.
15. Автономная отладка и тестирование программного средства.
Отладка ПС это деятельность, направленная на обнаружение и исправление ошибок в ПС с использованием процессов выполнения его программ.
Тестирование ПС это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в ПС ошибки, поиска места ошибки в программах и документации ПС и редактирования программ и документации с целью устранения обнаруженной ошибки. Другими словами:
Отладка = Тестирование + Поиск ошибок + Редактирование.
При автономной отладке ПС каждый модуль на самом деле тестируется в некотором программном окружении, кроме случая, когда отлаживаемая программа состоит только из одного модуля. Это окружение состоит из других модулей, часть которых является модулями отлаживаемой программы, которые уже отлажены, а часть модулями, управляющими отладкой (отладочными модулями, см. ниже). Таким образом, при автономной отладке тестируется всегда некоторая программа (тестируемая программа), построенная специально для тестирования отлаживаемого модуля. Эта программа лишь частично совпадает с отлаживаемой программой, кроме случая, когда отлаживается последний модуль отлаживаемой программы. В процессе автономной отладки ПС производится наращивание тестируемой программы отлаженными модулями: при переходе к отладке следующего модуля в его программное окружение добавляется последний отлаженный модуль. Такой процесс наращивания программного окружения отлаженными модулями называется интеграцией программы.
17. Функциональная спецификация программного средства.
С учетом назначения функциональной спецификации ПС и тяжелых последствий неточностей и ошибок в этом документе, функциональная спецификация должна быть математически точной. Это не означает, что она должна быть формализована настолько, что по ней можно было бы автоматически генерировать программы, решающие поставленную задачу. А означает лишь, что она должна базироваться на понятиях, построенных как математические объекты, и утверждениях, однозначно понимаемых разработчиками ПС. Достаточно часто функциональная спецификация формулируется на естественном языке. Тем не менее, использование математических методов и формализованных языков при разработке функциональной спецификации весьма желательно, поэтому этим вопросам будет посвящена отдельная лекция.
Функциональная спецификация состоит из трех частей:
-описания внешней информационной среды, к которой должны применяться программы разрабатываемой ПС;
-определение функций ПС, определенных на множестве состояний этой информационной среды (такие функции будем называть внешними функциями ПС);
-описание нежелательных (исключительных) ситуаций, которые могут возникнуть при выполнении программ ПС, и реакций на эти ситуации, которые должны обеспечить соответствующие программы.
В первой части должны быть определены на концептуальном уровне все используемые каналы ввода и вывода и все информационные объекты, к которым будет применяться разрабатываемое ПС, а также существенные связи между этими информационными объектами. Примером описания информационной среды может быть концептуальная схема базы данных или описание сети датчиков и приборов, которой должна управлять разрабатываемая ПС.
Во второй части вводятся обозначения всех определяемых функций, специфицируются все входные данные и результаты выполнения каждой определяемой функции, включая указание их типов и заданий всех соотношений (или ограничений), которым должны удовлетворять эти данные и результаты. И, наконец, определяется семантика каждой из этих функций, что является наиболее трудной задачей функциональной спецификации ПС. Обычно эта семантика описывается неформально на естественном языке примерно так, как это делается при описании семантики многих языков программирования. Эта задача может быть в ряде случаев существенно облегчена при достаточно четком описании внешней информационной среды, если внешние функции задают какие-либо манипуляции с ее объектами.
В третьей части должны быть перечислены все существенные случаи, когда ПС не сможет нормально выполнить ту или иную свою функцию (с точки зрения внешнего наблюдателя). Примером такого случая может служить обнаружение ошибки во время взаимодействия с пользователем, или попытка применить какую-либо функцию к данным, не удовлетворяющим соотношениям, указанным в ее спецификации, или получение результата, нарушающего заданное ограничение. Для каждого такого случая должна быть определена (описана) реакция ПС.
