КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вопрос 3. Архитектура программной системы
Выделяют как минимум три архитектурных слоя, каждый из которых, как правило, реализуется в виде отдельных библиотек (сборок на примере.NET Framework): - слой представления; - слой модели; - слой интерфейса данных.
Рисунок 1 – Архитектурные слои программной системы верхнего уровня АСУТП
Слой представления выступает в роли интерфейса пользователя. Слой предоставляет услуги по отображению данных, обработке событий пользовательского графического интерфейса (GUI), поддержки функций командной строки и инициализации пакетного выполнения вычислений по созданным алгоритмам модели. Слой модели (или слой организации бизнес-логики) – это логика работы системы. Здесь реализуются основные алгоритмы системы, предназначенные для достижения поставленной цели. К таким алгоритмам относятся вычисления на основе вводимых и хранимых данных, проверка всех элементов данных и обработка команд, поступающих от слоя представления, передача информации слою источника данных и т.д. Слой интерфейс данных обеспечивает доступ к СУБД и работу с ней (чтение, создание, обновление и удаление данных), обмен сообщениями, управление транзакциями, взаимодействие со сторонними системами, которые выполняют задания в интересах ПС. Слой может быть реализован двумя способами. Первый способ, когда основная часть логики интерфейса данных сосредоточена в СУБД, в виде хранимых процедур, таким образом, хранимые процедуры инкапсулируют физическую структуру базы данных (“тонкий” клиент – “толстый” сервер). Второй способ, когда вся логика интерфейса данных программируется в сборке. Многослоевая архитектура, прежде всего, обеспечивает гибкость и структуризацию программной системы. Слой более высокого уровня пользуется службами, предоставляемыми нижележащим слоем. Промежуточный слой (слой модели) скрывает нижний слой от верхнего слоя. Каждый слой предоставляет определенный интерфейс взаимодействия другим слоям и инкапсулирует свою структуру, т.е. воспринимается как единое самодостаточное целое.
Вопрос 4. TDD (Test Driven Development) Тест – это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода. Когда программист проверяет работоспособность разработанного им кода, он выполняет тестирование вручную. В данном контексте тест состоит из двух этапов: стимулирование кода и проверки результатов его работы. Автоматический тест выполняется иначе: вместо программиста стимулированием кода и проверкой результатов занимается компьютер, который отображает на экране результат выполнения теста: код работоспособен или код неработоспособен. Методика разработки через тестирование(Test-Driven Development, TDD) позволяет получить ответы на вопросы об организации автоматических тестов и выработке определенных навыков тестирования. «Чистый код, который работает» - в этой короткой, но содержательной фразе, кроется весь смысл методики разработки приложений через тестирование. Чистый код, который работает, - это цель, к которой стоит стремиться, и этому есть причины:
Однако как мы можем получить чистый код, который работает? Очень многие силы мешают нам добиться этого, а иногда нам не удается получить даже код, который работает. Чтобы избавиться от множества проблем, мы будем разрабатывать код, исходя из автоматических тестов. Такой стиль программирования называется разработкой через тестирование. В рамках этой методики мы:
Два столь простых правила на самом деле генерируют сложное индивидуальное и групповое поведение со множеством технических последствий:
Два упомянутых правила TDD определяют порядок этапов программирования:
Пример типичного блочного типа: Типичный подход к тестированию поведения объекта заключается в его настройке на информацию из соответствующего контекста, вызове его методов и записи ряда утверждений для проверки возвращаемого значения или метода, изменившего состояние среды предполагаемым образом.
В приведенном ниже примере проверяется метод SaveUser () бизнес-компонента UserBC, иллюстрируя данный подход: [Test Rollback] // Автоматический откат // (использование служб без компонентов)
Public void TestUserBCCanSaveUser() { // Настройка информации из контекста (входные условия)
UserInfo user = Userinfo( “Claudio”, “Perrone”, “MyUniqueLogin”, “MyPassword”);
// Это еще не тестирование, а уточнение исходного состояния Assert.IsTrue(user.IsNew); Assert.AreEqual (New_Object_Id, user.id); Assert.IsFalse( IsUserInsertedInDatabase( “Claudio”, “Perrone”, “MyUniqueLogin”, “MyPassword”);
// Входные условия заданны - далее следует выполнение проверяемого метода
UserBC bcUser = new UserBC() bcUser.SaveUser(user); // Проверка выходных условий Assert.IsFalse(user.IsNew); Assert.IsTrue (user.id!= New_Object_Id,); Assert.IsTrue( IsUserInsertedInDatabase( “Claudio”, “Perrone”, “MyUniqueLogin”, “MyPassword”);
Бизнес-компонент UserBC применяет бизнес-объект и сохраняет его в базе данных, поэтому в данном тексте проверяется его поведение, для чего создается бизнес-объект, который передается виде параметра методу SaveUser(), а затем проверяется сохраняемость это бизнес-объекта на информационном складе.
Дата добавления: 2017-01-13; Просмотров: 285; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |