В первых двух модулях поJava мы работали над небольшими приложениями, которые решали одну основную задачу. Например,создание приложения для рисования мышью.Наши приложения состояли максимум из нескольких сотен строчек программного кода, а поставленную задачу можно было полностью держать в голове. Представьте,что создаваемый программный продукт будет состоять из нескольких десятков тысяч строчек программного кода и будет решать большое количество различных задач.
Перед тем, как приступать к реализации такого проекта,необходимо составить план-схему и только после этого можно начинать писать программный код. Основной залог успеха при создании проекта –это правильное его проектирование!Каким бы большим ни был проект – его можно разбить на составляющие. Другими словами, реализация сложного проекта сводится к программированию его более малых частей.Проект разбивается на основные блоки, эти блоки далее разбиваются на более малые блоки. Построение проекта равносильно строительству дома. Если имеется грамотный план и заложен хороший фундамент, то и строительство будет успешным. В противном случае, дом не удастся достроить или он развалится.
Три основных принципа реализации проекта:
· Проект разбивается на части до тех пор, пока одна часть не сможет быть реализована как единое целое.
· При реализации составляющей проекта все внимание концентрируется на этой части.
· Каждая готовая часть проекта должна быть максимально отлажена и проверена.
При командной разработке каждая часть проекта возлагается на определенного члена команды. А самой командой руководит архитектор проекта. В случае индивидуальной разработки –программист является архитектором, программистом и тестировщиком в одном лице.
Мы уже выполнили первоначальное разбиение проекта на две основные составляющие. Клиентская часть наJava будет меньше и проще. Она будет представлять собой приложение с одним окном JFrameи несколькими элементами формы. Такую часть нет необходимости разбивать далее на составляющие –мы уже писали подобные приложения. Серверная часть наPHP будет сложнее и ее придется разбивать на отдельные части. Но сейчас нам не важна сложность серверной части, мы забываем о ней до тех пор, пока не закончим с клиентской частью на Java.