Назовите цель разбиения исходных данных программ на классы эквивалентности. Приведите пример выделения классов эквивалентности для какойлибо задачи
Скачать 1.01 Mb.
|
Класс - это структура данных, которая может содержать в своем составе переменные, функции и процедуры. Объектом или экземпляром класса называется переменная объектного типа ( или переменная типа класс). Методы – операции обработки. Сообщением является совокупность данных определенного типа, передаваемых объектом-отправителем объекту-получателю, имя которого указывается в сообщении. 42.Достоинства и недостатки объектно-ориентированного программирования. Достоинства От любого метода программирования мы ждем, что он поможет нам в решении наших проблем. Но одной из самых значительных проблем в программировании является сложность. Чем больше и сложнее программа, тем важнее становится разбить ее на небольшие, четко очерченные части. Чтобы побороть сложность, мы должны абстрагироваться от мелких деталей. В этом смысле классы представляют собой весьма удобный инструмент.
Недостатки Объектно-ориентированное программирование требует знания четырех вещей. (1) Необходимо понимать базовые концепции, такие как классы, наследование и динамическое связывание. Для программистов, уже знакомых с понятием модуля и с абстрактными типами данных, это потребует минимальных усилий. Для тех же, кто никогда не использовал инкапсуляцию данных, это может означать изменения мировоззрения и может отнять на изучение значительное количество времени. (2) Многоразовое использование требует от программиста познакомиться с большими библиотеками классов. А это может оказаться сложнее, чем даже изучение нового языка программирования. Библиотека классов фактически представляет собой виртуальный язык, который может включать в себя сотни типов и тысячи операций. В языке Smalltalk, к примеру, до того, как перейти к практическому программированию, нужно изучить значительную часть его библиотеки классов. А это тоже требует времени. (3) Проектирование классов — задача куда более сложная, чем их использование. Проектирование класса, как и проектирование языка, требует большого опыта. Это итеративный процесс, где приходится учиться на своих же ошибках. (4) Очень трудно изучать классы, не имея возможности их «пощупать». Только с приобретением маломальского опыта можно уверенно себя почувствовать при работе с использованием ООП. 43.CASE-технологии как результат эволюционного развития инструментальных средств. CASE-системами или CASE-технологиями называют реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных программных систем и поддержку их полного жизненного цикла или его основных этапов. В настоящее время CASE-технологии прочно вошли в практику программной индустрии. При этом они используются не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач. Такие задачи включают структурный анализ предметной области, моделирование деловых предложений с целью решения задач оперативного и стратегического планирования и управления ресурсами - тех видов деятельности, на который в России в ближайшее время ожидается большой спрос. CASE-технологии являются естественным продолжением эволюции всей отрасли разработки ПО. Традиционно выделяют 6 периодов, качественно отличающихся применяемой техникой и методами разработки ПО. В качестве инструментальных средств в эти периоды использовались:
Таким образом, CASE-средства являются результатом естественного эволюционного развития отрасли инструментальных (или технологических) средств. CASE-технологии начали развиваться с целью преодоления ограничений методологии структурного программирования. Эта методология, несмотря на формализацию в составлении программ, характеризуется все же сложностью понимания, большой трудоемкостью и стоимостью использования, трудностью внесения изменений в проектные спецификации. Однако заложенные в ней принципы позволили развивать эту методологию и повысить ее эффективность за счет автоматизации наиболее рутинных этапов. Напомню, что автоматизация рутинных работ возможна только в случае их формализации. Формализация в структурном программировании оказалась наиболее приемлемой для автоматизации. CASE обладают следующими основными достоинствами: - улучшают качество создаваемого ПО за счет средств автоматического контроля, прежде всего, контроля проекта; - позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат; - ускоряют процесс проектирования и разработки; - позволяют разработчику больше времени уделять творческой работе по созданию ПО, освобождая его от рутинной работы; - поддерживают развитие и сопровождение разработки (заметим, что этот аспект не затрагивался ни одной из рассмотренных нами технологий проектирования); - поддерживают технологии повторного использования компонент разработки). 44. Сравнение этапов жизненного цикла в CASE-технологиях и при традиционной разработке ПО. При использовании CASE-технологий изменяются фазы жизненного цикла ПП как показано ниже: При традиционной технологии: При CASE-технологии: 1) Анализ: Прототипирование 2) Проектирование: Проектирование спецификаций 3) Контроль проекта 4) Кодирование: Кодогенерация 5) Тестирование: Системное тестирование 6) Сопровождение: Сопровождение Необходимо отметить, что наиболее просто автоматизируемыми фазами в CASE-технологии оказались контроль проекта и кодогенерация, хотя все другие фазы ЖЦ также поддерживаются CASE-средствами. Кроме изменения содержания фаз, существенно изменилось распределение трудозатрат по фазам Как Вы помните, модель ЖЦ ПО определяет порядок выполнения этапов, а также критерии перехода от этапа к этапу. Традиционная модель ЖЦ ПО строится по каскадному принципу (переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем (с циклами обратной связи между этапами, что предполагает корректировки в процессе проектирования, но растягивает все этапы на весь период разработки). 45. Спиральная модель жизненного цикла программных продуктов. CASE-технология базируется на спиральной модели ЖЦ ПП, суть которой в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования. 46. Дайте определение модели жизненного цикла ПП. Приведите каскадную и спиральную модели ЖЦ и дайте краткие пояснения. Модель ЖЦ ПП определяет перечень этапов преобразования программа -> программное средство -> программный продукт, порядок выполнения этапов, а также критерии перехода от этапа к этапу. Традиционная модель ЖЦ ПО строится по каскадному принципу, суть которого в том, что переход на следующий этап происходит после окончания предыдущего. Единственным недостатком такой простой модели ЖЦ является то, что на практике очень часто принятые на предыдущем этапе (или на предыдущих этапах) решения приходится пересматривать из-за неверной интерпретации требований заказчика. Другая модель ЖЦ ПП строится по поэтапному принципу с промежуточным контролем. Критерием перехода на следующий этап является готовность документов, о которых было упомянуто выше. Такая модель является более жизнеспособной по сравнению с каскадной моделью, но наличие циклов обратных связей растягивает все этапы ЖЦ ПП на весь период разработки, что, в свою очередь, затрудняет планирование работ по созданию и внедрению программных продуктов. CASE-технология базируется на спиральной модели ЖЦ ПП, суть которой в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта. Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования. Традиционная модель ЖЦ ПО строится по каскадному принципу (переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем (с циклами обратной связи между этапами, что предполагает корректировки в процессе проектирования, но растягивает все этапы на весь период разработки). Суть спиральной модели ЖЦ ПО в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта. Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. 47. Основные типы интерфейсов, их характеристики. Различают процедурно-ориентированный и объектно-ориентированный подход к разработке интерфейса. Процедурно-ориентированные используют традиционные модели взаимодействия с пользователем, основанные на понятии процедура и операция. В этой модели ПО предоставляет пользователю выполнение некоторых действий, для которых пользователь определяет данные и следствием выполнения которых является желаемый результат. Объектно-ориентированные интерфейсы – управляют объектами предметной области. В этой модели пользователь напрямую взаимодействует с каждым объектом и инициирует выполнение операции в процессе которых могут взаимодействовать несколько объектов, т.е. пользователь может создавать объекты, изменять их параметры и связи между ними, и инициировать взаимодействие между ними. Процедурно-ориентированные интерфейсы делят на 3 типа: примитивный, меню, со свободной навигацией.
48. Психофизические особенности человека, которые необходимо учитывать при проектировании интерфейсов. При проектировании пользовательских интерфейсов, необходимо учитывать психофизические особенности человека, связанные с восприятием, запоминанием и обработкой информации. В каждый момент времени фокус внимания может фиксироваться в одной точке, поэтому необходимо плавно отслеживать элементы при переходе с одного на другой. Обработка любого процесса восприятия требует некоторого времени и если сигнал выдаётся в течении времени меньшим времени обработки, то человеческий мозг его не воспринимает, поэтому для любого действия нужно выделять определённое время. Так же в процессе обработки информации мозг сравнивает поступающие данные с предыдущими, поэтому при смене кадра мозг на некоторое время блокируется. Поэтому если необходима быстрая реакция пользователя, то резкая смена картинки не рекомендуется. Краткосрочная память — это самая узкое место в системе обработки информации человека. Её ёмкость 7+2 не связанных объекта. Невостребованная информация хранится не более 30 секунд. Если необходимо ввести или запомнить число или группу символов, то количество не должно превышать 7 + 2. Особенности восприятия цвета Цвет в сознании человека ассоциируется в сознании фона. Цвет является сильным раздражителем, поэтому применять цвета в интерфейсе следует осторожно, поэтому следует помнить, что обилие оттенков привлекает внимание, но быстро утомляет. Интерфейс рекомендуют делать в единой цветовой гамме и учитывать индивидуальные особенности восприятия цветов человека, для этого по возможности предоставить пользователю возможность настройки цветов. Особенности восприятия звука Звук в интерфейсе используют для привлечения внимания, как фон, и как источник дополнительной информации. Обязательно предусмотреть отключение звука. Субъективное восприятие времени. Считают, что внутреннее время связано со скоростью и количеством воспринимаемой и обрабатываемой информации. Доказано что при ожидании более 1-2 секунд пользователь может отвлечься и потерять мысль, поэтому для сокращения времени ожидания пользователя необходимо занять, но не отвлекая его от работы, например, предоставить пользователю информацию для обдумывания (предоставить промежуточные результаты). Для уменьшения возникновения раздражения необходимо: информировать пользователя о том, что заказанные им операции потребуют некоторого выполнения. |