Здесь можно найти учебные материалы, которые помогут вам в написании курсовых работ, дипломов, контрольных работ и рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.
Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение оригинальности любого файла в формате MS Word. После такого повышения оригинальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, РУКОНТЕКСТ, etxt.ru. Программа «StudentHelp» работает по уникальной технологии так, что на внешний вид, файл с повышенной оригинальностью не отличается от исходного.
Работа № 106967
Наименование:
Курсовик Разработка приложения для цветочного магазина на Java
Информация:
Тип работы: Курсовик.
Предмет: Программирование.
Добавлен: 15.05.2017.
Год: 2015.
Страниц: 32.
Уникальность по antiplagiat.ru: < 30%
Описание (план):
САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ ПЕТРА ВЕЛИКОГО Инженерно-Экономичес ий Институт Кафедра Информационные системы в экономике и менеджменте
КУРСОВОЙ ПРОЕКТ Дисциплина: Объектно-ориентирова ный анализ и программирование Тема: Цветочный магазин
Выполнила: студентка гр. 13704/3
Санкт-Петербург 2015 Оглавление ВВЕДЕНИЕ 3 1. ПАКЕТЫ И ИНТЕРФЕЙСЫ 4 1.1. Пакеты 4 1.2. Интерфейс 5 2. СОЗДАНИЕ ПРОГРАММ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ 7 2.1. Создание простого окна 7 3. ПОСТАНОВКА ЗАДАЧИ 14 4. РЕШЕНИЯ ЗАДАЧИ 15 4.1. Описание 15 4.2. Объектно-ориент рованная декомпозиция 16 ЗАКЛЮЧЕНИЕ 16 СПИСОК ЛИТЕРАТУРЫ 19 ПРИЛОЖЕНИЕ 1 20 ПРИЛОЖЕНИЕ 2 29
ВВЕДЕНИЕ
На современном этапе развития компьютерных технологий практически невозможно представить какого–либо высококвалифицирован ого специалиста, который бы не владел информационными технологиями . Они окружают нас в практически всех сферах жизни, значительно упрощая многие сферы нашей жизни. Заданием для данной курсовой работы была выбрана разработка программы для обработки заказов в цветочном магазине-общая сумма заказов, количество по позициям, популярность.
1. ПАКЕТЫ И ИНТЕРФЕЙСЫ 1. 1. Пакеты
Пакет (package) - это некий контейнер, который используется для того, чтобы изолировать имена классов. Современные тенденции таковы, что приходиться создавать достаточно объёмные проекты, имея дело с большим количеством классов. В тоже время пакет, кроме классов, может содержать интерфейсы, а также подпакеты. При указании подпакета используется точечный синтаксис. То есть имени подпакета предшествует имя пакета, а в качестве разделителя указывается точка. Например, вы можете создать класс List, заключить его в пакет и не думать после этого о возможных конфликтах, которые могли бы возникнуть если бы кто-нибудь еще создал класс с именем List. Все идентификаторы, которые мы до сих пор использовали в наших примерах, располагались в одном и том же пространстве имен (name space). Это означает, что нам во избежание конфликтных ситуаций приходилось заботиться о том, чтобы у каждого класса было свое уникальное имя. Пакеты — это механизм, который служит как для работы с пространством имен, так и для ограничения видимости. У каждого файла .java есть 4 одинаковых внутренних части, из которых мы до сих пор в наших примерах ис-пользовали только одну. Ниже приведена общая форма исходного файла Java. • одиночный оператор package (необязателен) • любое количество операторов import (необязательны) • одиночное объявление открытого (public) класса • любое количество закрытых (private) классов пакета (необязательны)
Примеры: • java.awt.image (Файлы подпакета image размещены в каталоге java/awt/image). • mypack.subpack.Myc ass (класс Myclass находиться в подпакете subpack, который в свою очередь находиться в пакете mypack. Поэтому, для обращения к классу Myclass используется конструкция mypack.subpack.Mycla s). Иногда приходиться ссылаться на классы внешних пакетов в упрощённой форме, прибегают к импорту пакетов. Для этого используется ключевое слово import, а после, полное имя класса с учётом иерархии. Но иногда бывает, что название слишком длинное и для экономии времени используется специальный символ «*», который означает, что мы импортируем весь пакет.
Например: v import.mypack.subp ck.*(это означает, что мы импортируем весь пакет subpack). v При импортировании нужно помнить о некоторых ограничениях: v импортировать можно только открытые классы. v пакет java.lang (базовая библиотека) можно не импортировать, так как он и так доступен. v имя файла должно совпадать с именем открытого класса, если такой класс существует в файле. v если в пакете несколько открытых классов, они должны размещаться в разных файлах. Но использовать без нужды форму записи оператора import с использованием звездочки не рекомендуется, так как. это может значительно увеличить время трансляции кода (на скорость работы и размер программы это не влияет). 1.2. Интерфейс
Интерфейсы во многом напоминают классы. Интерфейс — это явно указанная спецификация набора методов, которые должны быть представлены в классе, который реализует эту спецификацию. Реализация же этих методов в интерфейсе отсутствует. По-добно абстрактным классам интерфейсы обладают замечательным дополнительным свойством — их можно многократно наследовать. Конкретный класс может быть наследником лишь одного суперкласса, но зато в нем может быть реализовано неограниченное число интерфейсов. Для того чтобы интерфейс работал, необходимо его реализовать. Реализуется интерфейс в классе. Для этого используется ключевое слово implements. Class ‹имя› implements ‹имя интерфейса› {// тело класса } Интерфейсы Java созданы для поддержки динамического выбора (resolution) методов во время выполнения программы. Интерфейсы похожи на классы, но в отличие от последних у интерфейсов нет переменных представителей, а в объявлениях методов отсутствует реализация. Класс может иметь любое количество интерфейсов. Все, что нужно сделать — это реализовать в классе полный набор методов всех интерфейсов. Сигнатуры таких методов класса должны точно совпадать с сигнатурами методов реализуемого в этом классе интерфейса. Интерфейсы обладают своей собственной иерархией, не пересекающейся с классовой иерархией наследования. Это дает возможность реализовать один и тот же интерфейс в различных классах, никак не связанных по линии иерархии классового наследования. Именно в этом и проявляется главная сила интерфейсов. Интерфейсы являются аналогом механизма множественного наследования в C++, но использовать их намного легче. Чтобы язык программирования понимал, что пользователь хочет произвести наследование одного интерфейса другим, используется ключевое слово extends. Синтаксис расширения интерфейсов схож с синтаксисом расширения классов. Interface ‹имя1› extends ‹имя2› { // тело интерфейса } ? 2. СОЗДАНИЕ ПРОГРАММ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ
В Java для создания графического интерфейса в основном используют библиотеки: • AWT (Abstract Window Toolkit) – исторически первая и базовая библиотека. • Swing – появилась несколько позже, но во многом базируется на библиотеке AWT. Хоть обе библиотеки базируются на AWT. В них по-разному решается проблема универсальности программного кода. В AWT эта проблема обеспечивается за счёт использования разных инструментальных средств с целью реализации программного кода для разных операционных систем. Это удобно, так как программы работают одинаково на разных операционных системах и имеют единый интерфейс. Но существует и недостаток. Этот подход применим и при написании небольших программ. Бывают случаи, что при тестировании программного кода нередко оказывается, что один и тот же код генерирует разные ошибки для разных операционных систем. Именно из-за этого недостатка и была создана вторая библиотека Swing. В основу этой библиотеки положена разработка компании Netscape, которая в 1996 году выпустила библиотеку IFC (Internet Foundation Classes). Впоследствии, на основе этой библиотеки компании Sun Microsystems и Netscape создали библиотеку Swing, в которой реализован тот же принцип, что и в IFC. Стоит отметить, что библиотека Swing не заменяет AWT, а дополняет её. 2. 1. Создание простого окна
При создании простого окна используется ключевое слово Frame. Но необходимо указать, какой библиотекой пользоваться. Для этого нужно воспользоваться импортом пакетов: • При использовании библиотеки AWT импортируем пакет java.awt.* и java.awt.event.*; • При использовании библиотеки Swing импортируем пакет javax.swing. При создании окна могут понадобиться методы: • setBounds (x,y,w,h) – параметрами этого метода являются координаты верхней левой вершины окна(x,y), ширина окна – w(width), высота окна – h(high). • setResizable (boolean) – указывает, можно ли изменить размеры окна. Входные данные этого метода имею тип boolean (true – можно, false – нельзя). • setTitle (string) – устанавливает название окна. Входные данные этого метода имеют тип string. • setVisible (boolean) – делает окно видимым. На вход подаются данные типа boolean. • setDefaultCloseOpe ation (operation) – указывает, какую операцию необходимо выполнить после закрытия окна. Помимо методов, необходимо добавить основные элементы управления: • Label – фиксированный текст на окне; • TextField – поле для ввода небольшого текста; • TextArea – поле для ввода текста большего размера; • Button – кнопка; • CheckBox – элемент выбора (флажочек); В объектно-ориентирова ном языке программирования java, для распределения информации в окне используются менеджеры (LayoutManager): • FlowLayout – используется для последовательно отображения элементов. Если элемент не помещается в строку, то он переноситься на следующую. • GridLayout – отображение элементов в виде таблицы с одинаковыми размерами ячеек. • BorderLayout – используется для отображения не более пяти элементов. Эти элементы располагаются по краям окна (North, South, West, East, Center). • GridBagLayout – позволяет произвольно выбирать место и размер элемента, отображаемого на экране. Этот менеджер является самым сложным, но в тоже время самым эффективным. Пользователю не достаточно вывести информацию на экран или создать просто окно. Необходимо ещё работать в этом окне, производить какие-либо действия, накапливать полученную информацию. Всё это возможно при реализации обработки событий. Взаимодействие пользователя с графическим интерфейсом реализуется через обработку событий. Под таким событием подразумевается любое действие, производимое с графическим компонентом. Объект, в котором возникло событие, называется источником события. В Java используется схема обработки событий, реализованная в библиотеке AWT. А это означает, что не зависимо от того, лёгкие или тяжёлые компоненты используются, схема обработки событий одна и та же.
ЗАКЛЮЧЕНИЕ
С помощью Java в данном проекте удалось реализовать решение поставленных задач. Мы получили программу, создающую список заказов цветов и выводящая все заказы в отведенное окно, а также сохраняющая все заказы в текстовом виде в файл типа *.txt. В ходе многочисленных тестирований мы убедились, что программа работает и выполняет все поставленные задачи исправно. Тем не менее, уместны некоторые доработки программы для оптимизации работы цветочного магазина. Хранение данных о композициях и о ценах на них в отдельном текстовом документе обеспечило бы более удобное управление изменениями композиций и цен на них соответственно, была бы возможность избежать внесения изменений непосредственно в текст программы (очень часто маленькая ошибка может повлечь за собой некорректную работу программы). Так же стоит рассмотреть доставку по районам (выбор из списка), что оптимизирует и упрощает работу компании. На данном этапе, программа является удобной в использовании и содержит в себе все самые необходимые функции и параметры, полностью готова к эксплуатации.
СПИСОК ЛИТЕРАТУРЫ
1. Самоучитель Java 7: Пер. с нем./Д. Льюис, П. Мюллер. – СПб.: БХВ - Петербург, 2013. – 464 с.: ил. - (Самоучитель) 2. Герберт Шилдт. Java. Полное руководство. Java SE 7 = Java 7: The Complete Reference. — 8-е изд. — М.: Вильямс, 2012. — 1104 с. — ISBN 978-5-8459-1759-1 3. Java. Объектно-ориентирова ное программирование: Учебное пособие – Спб.: Питер, 2013 – 400с. ISBN 978-5-49807-948-6 4. Чанцев В.П. Объектно-ориентирова ное программирование на Java: практикум / В.П. Чанцев. – СПб.: Изд-во Политехн. ун-та, 2011.-76с. 5. Джошуа Блох. Java. Эффективное программирование = Effective Java. — М.: Лори, 2002. — 224 с. — ISBN 5-85582-169-2
ПРИЛОЖЕНИЕ 1
Текст работающей программы:
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; class FlowerShop1 extends Frame{ private static TextField tf1, tf2, tf3, tf4, tf5, tf6; private TextArea tf8, tf9; public static Choice ch; public static CheckboxGroup grp,grp1; public static String s1, s2, s3; public static String z; private static int k,p,schet,sum,dos; private static int scheta,schetb,schetc schetd,schete;