Книга 1 - Начальные сведения
Книга 2 - Более профессиональный подход |
Студенческий отдел кадров
Когда вы слышите что-то, вы забываете это. Старинная китайская поговорка
Несколько лет занимаясь преподаванием, пытаясь научить студентов программированию и при
первой возможности посвятить их в Java-технологии, я все время хотел создать пример, который
используя одну задачу смог бы рассказать про основные возможности этой широко распространенной
платформы. С одной стороны, мне очень не хотелось вникать подробно в каждую деталь, а с
другой - очень хотелось охватить как можно больше, показать насколько широкий спектр задач
охватывает данная платформа. Часто встает необходимость увидеть не тонкости реализации, а
просто возможности системы в целом. Да и сколько раз приходилось читать вопросы типа:
"А что можно сделать с помощью Java ?" или "Могу ли я на Java сделать то-то и то-то ?". Рекомендуем: - такое слово обозначает, что материал, указанный в данном разделе рекомендуется к прочтению и самостоятельной проработке.
Автор полагает, что читатель уже знаком с языком Java и понимание основных конструкций
для него не проблема. Также автор надеется, что читатель знаком с понятием объектно-ориентированного
программирования (ООП) и дизайна, знает, что такое классы, методы, объекты, наследование,
полиморфизм и инкапсуляция.
Рекомендуем: Если Вы совсем ничего не понимаете в программировании на Java, то придется искать ресурс для совсем начинающих.
Например можно посмотреть здесь: Важно: - в данных статьях я использую Java версии 1.5. Можно использовать версию и выше, но ниже - у вас многое не получится. Та же работа с коллекциями требует нового синтаксиса, который появился только в версии 1.5. Так что будьте внимательны. Функциональные требования к системе.
Важно отметить, что любой проект начинается с того, что мы узнаем у потенциального пользователя
системы, что ему нужен некий продукт для выполнения определенной работы. Возможно, мы сможем
получить от него даже некоторые описания тех функций, которые он хотел бы там видеть.
Вероятность того, что заказчик системы сможет нам описать визуальные формы, порядок перехода
по этим формам крайне низка. Но общие (функциональные) требования скорее всего уже есть.
Определим функциональные требования к нашей системе (в произвольной форме).
Рекомендуем: Для таких описаний существует специальный язык - UML (Unified Modelling Language - Универсальный язык моделирования). В нем существует специальные структуры описания функциональных требований (или Бизнес-процессов) - Use case. Также этот язык имеет механизмы описания классов, их взаимодействия и прочая. Достаточно неплохое описание находилось здесь: Леоненков. Самоучитель UML
Для проектирования классов для какой-либо части проекта (если он очень большой) или для всего
проекта целиком (как в нашем случае) часто (и достаточно успешно) применяется очень простой
способ составления предварительного списка классов с их функциональностью. Описываем с помощью
просто составленных предложений функциональность системы и существительные становятся классами,
а глаголы - методы для этих классов.
Итак, в нашем случае это может выглядеть следующим образом: Если внимательно посмотреть, то достаточно ясно видно три класса. Первый - это программа (управляющая система), которая по идее все управляет - добавляет, удаляет, делает отчеты и пр. Также явно наличествует студент и группа. Давайте на основании этой информации попробуем составить список классов.
УправляющаяСистема:
Комментарий к параметрам класса:
ВНИМАНИЕ: Файлы с исходными кодами будут приводится в конце каждой части.
Будьте внимательны.
Теперь мы можем перейти к следующей части нашего описания
Часть 1 - Коллекции |