Дневник КМБ-2014 » History » Version 6
Alexey Demakov, 11/17/2014 05:06 PM
1 | 1 | Alexey Demakov | h1. 2014 |
---|---|---|---|
2 | |||
3 | h2. 9 сентября 15:30-17:50 |
||
4 | |||
5 | h3. План |
||
6 | |||
7 | * Демаков |
||
8 | ** очень кратное содержание курса: |
||
9 | ** Возьмём небольшую задачу и попробуем проследить жизненный цикл программного продукта, создание и изменение артефактов и связи между ними. |
||
10 | *** требования |
||
11 | *** код |
||
12 | *** документация |
||
13 | *** тесты |
||
14 | ** Учебная задача несложная, всё можно удержать в голове и жульничать. Но попробуем одновременно с разработкой думать о больших проектах, как бороться с их сложностью. |
||
15 | ** Будет практическая часть. Студенты приносят ноутбуки. Windows/Linux - без разницы. Используемые инструменты |
||
16 | *** Java |
||
17 | *** Eclipse |
||
18 | *** JUnit |
||
19 | *** EclEmma |
||
20 | *** Git |
||
21 | |||
22 | * Более менее систематизированное представление о Java (top level, до уровня членов классов) |
||
23 | ** пакеты -> классы и интерфейсы -> члены. Это код. |
||
24 | ** Объекты. Их нет в коде, только в голове. Жизненный цикл объектов |
||
25 | *** конструктор |
||
26 | *** поля и методы |
||
27 | *** уничтожение и finalize |
||
28 | *** управление памятью |
||
29 | ** Примитивные типы. Они не объекты. |
||
30 | ** Схема обращения к классам и методам. Область видимости. |
||
31 | ** Методы виртуальные и статические. |
||
32 | ** Передача параметров: объекты по ссылке, примитивы по значению. |
||
33 | * И правила хорошего тона: комментарии (и javadoc), форматирование кода, схема именования |
||
34 | * Что из чего: .java -> .class -> jar + javadoc |
||
35 | |||
36 | h3. Факт |
||
37 | |||
38 | Всё по плану |
||
39 | |||
40 | Список присутствующих(координаты в почте у Демакова, Пакулина, Кулямина, Петренко, Хорошилова): |
||
41 | |||
42 | ВМиК, группа 328: |
||
43 | Полушкин Алексей Юрьевич |
||
44 | Волков Антон Романович |
||
45 | Хвальков Дмитрий Александрович |
||
46 | Колосков Андрей Анатольевич |
||
47 | Бережков Михаил Сергеевич |
||
48 | |||
49 | h2. 16 сентября 15:30-17:50 |
||
50 | |||
51 | * Повтор целей и задач семинара |
||
52 | * Постановка задачи для первого проекта |
||
53 | ** Калькулятор, на входе выражение, требования: |
||
54 | *** с несколькими операциями +, -, *, / |
||
55 | *** на входе только целые числа, диапазон как у встроенных в ЯП |
||
56 | *** несколько вариантов обработки |
||
57 | *** на выходе точность не теряется |
||
58 | *** лексемы могут быть разделены пробелами или табуляциями |
||
59 | ** Проектные решения: |
||
60 | *** Интерфейс командной строки |
||
61 | *** На выходе нормальная дробь M/N, M целое, N натуральное, взаимнопростые |
||
62 | *** или сообщение об ошибке в случае неправильного входа, переполнения или деления на ноль |
||
63 | |||
64 | Всё по плану |
||
65 | |||
66 | h3. 29 сентября 17:15-??? |
||
67 | 2 | Alexey Demakov | |
68 | h3. 6 октября 17:15-??? |
||
69 | mockito |
||
70 | |||
71 | h3. 13 октября 17:15-??? |
||
72 | mockito |
||
73 | |||
74 | h3. 20 октября 17:15-??? |
||
75 | h3. 27 октября 17:15-??? |
||
76 | |||
77 | промежуточный зачет |
||
78 | |||
79 | h3. 10 ноября 17:15-??? |
||
80 | вводная лекция по model-based testing и Summer (Кулямин) |
||
81 | |||
82 | h3. 17 ноября 17:15-??? |
||
83 | описание тестовых автоматов с использованием Summer |
||
84 | |||
85 | h4. пример Турникет |
||
86 | 3 | Alexey Demakov | |
87 | 2 | Alexey Demakov | Турникет состоит из барьера, фотоэлементов до него и после, а также имеет устройство считывания билетов. |
88 | Барьер открыт всегда, кроме ситуации, когда кто-то пытается пройти без билета. |
||
89 | 6 | Alexey Demakov | Турникет в обратную сторону не пропускает. |
90 | |||
91 | 2 | Alexey Demakov | Воздействия: |
92 | card() - считана карта, дающая право на проход |
||
93 | 4 | Alexey Demakov | beforeClosed() - закрыт фотоэлемент перед барьером |
94 | beforeOpened() - открыт ранее закрытый фотоэлемент перед барьером |
||
95 | afterClosed() - закрыт фотоэлемент после барьера |
||
96 | afterOpened() - открыт ранее закрытый фотоэлемент после барьера |
||
97 | 5 | Alexey Demakov | Информация: |
98 | boolean passLight() - green/red индикатор |
||
99 | boolean barrier() - true, если барьер закрыт |
||
100 | |||
101 | 2 | Alexey Demakov | Требуется определить состояния турникета и запрограммировать обход автомата на Summer. |