Project

General

Profile

Actions

2014

9 сентября 15:30-17:50

План

  • Демаков
    • очень кратное содержание курса:
    • Возьмём небольшую задачу и попробуем проследить жизненный цикл программного продукта, создание и изменение артефактов и связи между ними.
      • требования
      • код
      • документация
      • тесты
    • Учебная задача несложная, всё можно удержать в голове и жульничать. Но попробуем одновременно с разработкой думать о больших проектах, как бороться с их сложностью.
    • Будет практическая часть. Студенты приносят ноутбуки. Windows/Linux - без разницы. Используемые инструменты
      • Java
      • Eclipse
      • JUnit
      • EclEmma
      • Git
  • Более менее систематизированное представление о Java (top level, до уровня членов классов)
    • пакеты -> классы и интерфейсы -> члены. Это код.
    • Объекты. Их нет в коде, только в голове. Жизненный цикл объектов
      • конструктор
      • поля и методы
      • уничтожение и finalize
      • управление памятью
    • Примитивные типы. Они не объекты.
    • Схема обращения к классам и методам. Область видимости.
    • Методы виртуальные и статические.
    • Передача параметров: объекты по ссылке, примитивы по значению.
  • И правила хорошего тона: комментарии (и javadoc), форматирование кода, схема именования
  • Что из чего: .java -> .class -> jar + javadoc

Факт

Всё по плану

Список присутствующих(координаты в почте у Демакова, Пакулина, Кулямина, Петренко, Хорошилова):

ВМиК, группа 328:
Полушкин Алексей Юрьевич
Волков Антон Романович
Хвальков Дмитрий Александрович
Колосков Андрей Анатольевич
Бережков Михаил Сергеевич

16 сентября 15:30-17:50

  • Повтор целей и задач семинара
  • Постановка задачи для первого проекта
    • Калькулятор, на входе выражение, требования:
      • с несколькими операциями +, -, *, /
      • на входе только целые числа, диапазон как у встроенных в ЯП
      • несколько вариантов обработки
      • на выходе точность не теряется
      • лексемы могут быть разделены пробелами или табуляциями
    • Проектные решения:
      • Интерфейс командной строки
      • На выходе нормальная дробь M/N, M целое, N натуральное, взаимнопростые
      • или сообщение об ошибке в случае неправильного входа, переполнения или деления на ноль

Всё по плану

29 сентября 17:15-???

6 октября 17:15-???
mockito

13 октября 17:15-???
mockito

20 октября 17:15-???
h3. 27 октября 17:15-???

промежуточный зачет

10 ноября 17:15-???
вводная лекция по model-based testing и Summer (Кулямин)

17 ноября 17:15-???
описание тестовых автоматов с использованием Summer

пример Турникет

Турникет состоит из барьера, фотоэлементов до него и после, а также имеет устройство считывания билетов.
Барьер открыт всегда, кроме ситуации, когда кто-то пытается пройти без билета.
Турникет в обратную сторону не пропускает.

Воздействия:
card() - считана карта, дающая право на проход
beforeClosed() - закрыт фотоэлемент перед барьером
beforeOpened() - открыт ранее закрытый фотоэлемент перед барьером
afterClosed() - закрыт фотоэлемент после барьера
afterOpened() - открыт ранее закрытый фотоэлемент после барьера
Информация:
boolean passLight() - green/red индикатор
boolean barrier() - true, если барьер закрыт

Требуется определить состояния турникета и запрограммировать обход автомата на Summer.

Updated by Alexey Demakov almost 10 years ago · 6 revisions