510 likes | 690 Views
Система управления расписаниями. Команда. Захаров Роман (08-308) Олешкевич Денис (08-306) Павликов Максим (08-308). Про разработку. Brainstorming (идея из UP ) и понимание предметной области Общение с В . Н . Лукиным Общение с Бюро Расписаний МАИ Схема БД Настройка фреймворка
E N D
Команда • Захаров Роман (08-308) • Олешкевич Денис (08-306) • Павликов Максим (08-308)
Про разработку • Brainstorming (идея из UP) и понимание предметной области • Общение с В.Н. Лукиным • Общение с Бюро Расписаний МАИ • Схема БД • Настройка фреймворка • Распределение задач и программирование
Brainstorming • Таблица в Google Docs • Название фичи • Важность • Полезность • Трудоемкость • Риск • Стабильность формулировки требования • Итоговый балл • Целевая версия Запутались и не использовали
Сущности • User • Building • Room • Faculty • Chair • Teacher • Discipline • Specialty • Curriculum • Subject • Group • UniqueEvent • Event
Диспиплины Предметы
Фреймворк CakePHP • Совместимость с PHP4 и PHP5 • Диспетчер URL с применением регулярных выражений • Компоненты для авторизации, ограничения доступа (ACL), управления сессиями, cookies, представления древовидной информации (в виде Nasted Sets) • Хелперы (компоненты) для генерации и заполнения форм, деления на страницы, управления кэшем, JavaScript (в том числе и AJAX) • Механизм интернационализации • Генерация SQL-запросов по связности объектов (ORM) • Scaffolding и генерация CRUD-страниц для сущностей • Unit-тесты
Разделение ответственности Денис • Архитектура системы • Схема базы данных • Распределение задач • Ценные указания • Groups, Unions, Curriculums, Subjects Максим • Disciplines • Faculties • Chairs • Teachers • Написание справки Роман: • Buildings • Rooms • Specialties • Написание справки
Что использовали при разработке • NetBeans • MySQL Query Browser • TortoiseSVN • VisualSVN Server в качестве сервера • Мегаплан • система управления задачами • Телефон и аська
Что хотелось бы попробовать • Полноценную Agile-разработку • Ежедневные митинги • Беклог (список задач) • Итеративность • База знаний • Багтрекер с Agile-штуками (напр. Redmine, Jira, Devprom)
Возможности • Вести учет аудиторий и корпусов • Управлять факультетами, кафедрами и преподавателями • Заниматься управлением учебными группами и потоками • Добавлять учебные планы и распределять дисциплины • Удобным образом распределять регулярные учебным занятия и уникальные события (экзамены, зачеты)
Описание интерфейса Заголовок Меню Основная область Подвал
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Добавление корпуса Необходимо указать • Номер корпуса (необязательно число) • Название корпуса
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Добавление факультета Необходимо указать • Номер факультета(необязательно число) • Название факультета • Ответственный – человек, который впоследствии будет иметь доступ для управления факультетом и всеми его кафедрами и преподавателями
Редактирование факультета • Изменение номера, названия и ответственного • Добавление кафедр в факультет, указание их параметров • Удаление факультета
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Добавление кафедры Необходимо указать • Факультет • Номер кафедры • Название кафедры • Ответственный – человек, который впоследствии будет иметь доступ для управления кафедрой и преподавателями
Добавление преподавателя • Фамилия • Имя • Отчество • Телефон (возможно несколько через запятую) • Кафедра • Степень • Должность • Звание • (Читаемые предметы)
Добавление дисциплины • Кафедра • Код • Название
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Добавление потока Необходимо указать • Название потока • Факультет • Курс • Учебный план (по умолчанию не задан)
Добавление группы • Номер группы (обязательно в виде xx-xxx) • Количество человек (необязательно точное) • Поток (может быть неуказан)
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы
Добавление и редактирование учебных планов
Добавление и редактирование учебных планов • Возможно уменьшение числа параметров • Некоторые из них зависят от других (число недель) • Другие же почти не меняются (даты)
Порядок ввода данных в систему • Корпуса и аудитории • Факультеты и кафедры • Преподаватели и дисциплины • Потоки и группы • Специальности • Учебные планы После ввода этих данных можно приступать к распределению занятий
Будущеее • Доделывание основного функционала (летом) • Внедрение в Бюро Расписаний (до сентября, к худшем случае – до Нового года) • Интернет-сервис для просмотра расписания • Функционал для кафедр, преподавателейи старост (изменения в расписании)