Слайд 2
![1. Постановка задачи - Осознание условий задачи; - Формулирование конечных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-1.jpg)
1. Постановка задачи
- Осознание условий задачи;
- Формулирование конечных целей задачи;
- Определение
формы выдачи результатов
Слайд 3
![2. Анализ задачи - Изучение существующих аналогов; - Анализ технических](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-2.jpg)
2. Анализ задачи
- Изучение существующих аналогов;
- Анализ технических и программных средств;
-
Разработка математической модели;
Слайд 4
![3. Разработка алгоритма - Выбор метода проектирования; - Выбор формы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-3.jpg)
3. Разработка алгоритма
- Выбор метода проектирования;
- Выбор формы записи;
- Выбор тестов
и методов тестирования;
- Проектирование алгоритма.
Слайд 5
![4. Программирование Выбор средства разработки; Выбор СУБД; Запись алгоритма на выбранном языке (кодирование);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-4.jpg)
4. Программирование
Выбор средства разработки;
Выбор СУБД;
Запись алгоритма на выбранном языке (кодирование);
Слайд 6
![5. Тестирование и отладка Синтаксическая и семантическая отладка Тестовые расчеты и их анализ Исправление возникших ошибок](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-5.jpg)
5. Тестирование и отладка
Синтаксическая и семантическая отладка
Тестовые расчеты и их анализ
Исправление
возникших ошибок
Слайд 7
![6. Анализ результатов Необходимые корректировки модели и постановки Повторение п.п. 2-5](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-6.jpg)
6. Анализ результатов
Необходимые корректировки модели и постановки
Повторение п.п. 2-5
Слайд 8
![7. Сопровождение Необходимые доработки программы; Документирование (описание алгоритмов, программы, тестов; создание руководств пользователя)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-7.jpg)
7. Сопровождение
Необходимые доработки программы;
Документирование (описание алгоритмов, программы, тестов; создание руководств пользователя)
Слайд 9
![Задача Необходимо обеспечить для всех сотрудников фирмы возможность заказа блюд](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-8.jpg)
Задача
Необходимо обеспечить для всех сотрудников фирмы возможность заказа блюд в
столовой на несколько дней вперед.
Считаем, что каждый сотрудник фирмы имеет ПК.
Слайд 10
![Выбор архитектуры 1) Настольное приложение, непосредственно общающееся с БД; 2)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-9.jpg)
Выбор архитектуры
1) Настольное приложение, непосредственно общающееся с БД;
2) Сбор данных по
электронной почте;
3) Web-приложение;
Слайд 11
![Достоинства и недостатки Настольное приложение + Возможность контроля на стороне](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-10.jpg)
Достоинства и недостатки
Настольное приложение
+ Возможность контроля на стороне пользователя;
- Необходима инсталляция
на каждом рабочем месте;
Слайд 12
![Достоинства и недостатки Сбор данных по электронной почте + Нет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-11.jpg)
Достоинства и недостатки
Сбор данных по электронной почте
+ Нет необходимости в инсталляции
на рабочих местах;
- Отсутствие возможности контроля данных на рабочем месте
Слайд 13
![Достоинства и недостатки WEB-приложение + Не нужна инсталляция; + Возможен контроль на стороне пользователя](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-12.jpg)
Достоинства и недостатки
WEB-приложение
+ Не нужна инсталляция;
+ Возможен контроль на стороне пользователя
Слайд 14
![Проектируем… WEB-приложение будет включать две WEB-страницы: Страница конечного пользователя Страница сотрудника столовой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-13.jpg)
Проектируем…
WEB-приложение будет включать две WEB-страницы:
Страница конечного пользователя
Страница сотрудника столовой
Слайд 15
![Страница конечного пользователя Обеспечивает: Выбор даты; Выбор набора блюд; Подтверждение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-14.jpg)
Страница конечного пользователя
Обеспечивает:
Выбор даты;
Выбор набора блюд;
Подтверждение заказа;
Корректировка заказа;
Печать квитанции заказа на
локальном принтере.
Слайд 16
![Как WEB-сервер будет различать пользователей? Вход с аутентификацией (логин + пароль)? Вход без аутентификации (по IP-адресу)?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-15.jpg)
Как WEB-сервер будет различать пользователей?
Вход с аутентификацией (логин + пароль)?
Вход без
аутентификации (по IP-адресу)?
Слайд 17
![Страница сотрудника столовой Обеспечивает: Занесение и корректировку списка блюд на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-16.jpg)
Страница сотрудника столовой
Обеспечивает:
Занесение и корректировку списка блюд на заданную дату;
Открытие и
закрытие доступа конечным пользователям;
Вывод необходимых статистических данных (отчеты).
Слайд 18
![Программируем… Выбираем язык разработки и СУБД (возможные решения: PHP+MySQL или](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-17.jpg)
Программируем…
Выбираем язык разработки и СУБД (возможные решения: PHP+MySQL или ASP+Access);
Проектируем хранилища
данных (таблица заказов и таблица блюд).
Слайд 19
![Таблица блюд](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-18.jpg)
Слайд 20
![Таблица заказов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-19.jpg)
Слайд 21
![Правильная таблица](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-20.jpg)
Слайд 22
![Функциональность страницы конечного пользователя Проверить, открыт ли доступ пользователям; Выполнить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-21.jpg)
Функциональность страницы конечного пользователя
Проверить, открыт ли доступ пользователям;
Выполнить аутентификацию пользователя;
Составить список
активных дат и показать пользователю;
При выборе пользователем даты, показать, что уже заказано пользователем на выбранную дату, а также блюда которые можно заказать в данный момент (в таблице блюд у этих блюд счетчик ненулевой);
Обеспечить корректировку заказа (при удалении блюда его счетчик увеличивается, при добавлении – уменьшается)
Обеспечить функции “подтвердить заказ” и “напечатать заказ”
Слайд 23
![Функциональность страницы сотрудника столовой Обязательная парольная аутентификация Закрытие доступа пользователям](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-22.jpg)
Функциональность страницы сотрудника столовой
Обязательная парольная аутентификация
Закрытие доступа пользователям (на период заполнения
таблицы блюд);
Задание даты;
Заполнение таблицы блюд в режиме естественного редактирования;
Открытие доступа пользователям;
Формирование отчетов.
Слайд 24
![Реализуем и запускаем приложение: Кодирование; Проверка работоспособности; Проверка интерфейса; Устранение текущих ошибок.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-23.jpg)
Реализуем и запускаем приложение:
Кодирование;
Проверка работоспособности;
Проверка интерфейса;
Устранение текущих ошибок.
Слайд 25
![Готовим документацию: Написание руководств пользователя и описание программной логики в соответствии с корпоративными стандартами.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-24.jpg)
Готовим документацию:
Написание руководств пользователя и описание программной логики в соответствии с
корпоративными стандартами.
Слайд 26
![Передаем в эксплуатацию: Реакция на запросы пользователей по улучшению функциональности; Устранение возникающих проблем.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-25.jpg)
Передаем в эксплуатацию:
Реакция на запросы пользователей по улучшению функциональности;
Устранение возникающих проблем.
Слайд 27
![II Критерии качества программ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-26.jpg)
II
Критерии качества программ
Слайд 28
![Качество программ с разных точек зрения: С точки зрения бизнеса,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-27.jpg)
Качество программ с разных точек зрения:
С точки зрения бизнеса, качество –
это способность ПО повышать коммерческую эффективность;
С точки зрения пользователя, качество – это удобство работы, устойчивость к ошибкам пользователя и сбоям аппаратуры.
С точки зрения разработчика, это – корректность, надежность, быстродействие, пригодность к сопровождению и развитию.
Слайд 29
![Пригодность к сопровождению и развитию более детально: Наглядность программы –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-28.jpg)
Пригодность к сопровождению и развитию более детально:
Наглядность программы – возможность быстрого
выстраивания программистом соответствия между программным кодом и алгоритмом.
Наглядность программы начинается с её читабельности.
- Комментирование программного кода – важнейший показатель квалификации программиста.
Слайд 30
![Задача: Дана целая переменная i. Если её значение есть 1,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-29.jpg)
Задача:
Дана целая переменная i. Если её значение есть 1, присвоить i
значение 2. Если значение i есть 2, присвоить i значение 1.
Слайд 31
![Первое решение: … if ( i = 1) i =2;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-30.jpg)
Первое решение:
…
if ( i = 1) i =2;
if (i
= 2) i =1;
…
Чему будет равно значение i?
Слайд 32
![Второе решение: … if ( i == 1) i =2;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-31.jpg)
Второе решение:
…
if ( i == 1) i =2;
if (i
== 2) i =1;
…
Чему будет равно значение i?
Слайд 33
![Почти правильное решение: … if ( i == 1) i](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-32.jpg)
Почти правильное решение:
…
if ( i == 1) i =2; else
i =1;
…
Почему решение почти правильно?
Слайд 34
![Короткое решение: … i = 3 - i; … Будет ли оно хорошим?..](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/440405/slide-33.jpg)
Короткое решение:
…
i = 3 - i;
…
Будет ли оно хорошим?..