Предмет: Программирование. Добавлен: 18.11.2019. Год: 2018. Страниц: 48. Оригинальность по antiplagiat.ru: < 30% |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное бюджетное образовательное учреждение высшего образования «ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ» Факультет Информационных систем и технологий Кафедра «Информационных систем и технологий (ИСТ)» КУРСОВАЯ РАБОТА по дисциплине информационных систем и технологий «Разработка приложения для организации работы строительной фирмы» Самара 2018 Содержание Введение 3 1 Постановка задачи 4 2 Организация структуры данных программы 5 3 Определение структуры программы 7 4 Разработка алгоритма 11 5 Разработка пользовательского интерфейса 13 6 Написание кода 15 7 Тестирование и отладка программы 21 8 Программная документация 22 Заключение 24 Перечень использованной литературы 25 Приложение 27 Введение Разработка информационных систем различного назначения сегодня – актуальная задача при автоматизации процессов предприятия и повышения эффективности его работы. Кроссплатформенная разработка на языке Java не только выполняет поставленные задачи, но и решает некоторые второстепенные вопросы: снижение затрат на кроссплатформенную разработку, уровень абстракции позволяет писать код быстро, понятно и эффективно, а разработка кода в соответствии с принятыми стандартами промышленной разработки позволяет легко поддерживать код и сопровождать любую систему или простое приложение. Все вышеперечисленное определяет актуальность темы курсовой работы. Для успешной разработки следует решить основные цели и задачи: проанализировать задание, область действия приложения, спроектировать систему, разработать структуру, интерфейс, протестировать работу приложения на некотором наборе данных. Объектом исследования в работе является процесс разработки ПО, его этапы. Субъект исследования: применение этих процессов и стандартов разработки при разработке систем на языке Java. Курсовая работа состоит из введения, восьми глав и заключения. Во введении обосновывается актуальность темы работы, цели и задачи. В главах итерационно описывается процесс решения задачи от анализа задания, постановки задачи, выработки требований до полной реализации и тестирования приложения. В заключении сделаны заключения и подведены итоги о проделанной работе. ? 1 Постановка задачи Приведем поставленную задачу: "Разработка приложения для организации работы строительной фирмы": В системе должны поддерживаться режимы учета классификации строительных работ, типы объектов, сроки работ, расчет необходимых материалов для каждого типа, генерация требований на закупку. Рассмотрим более подробно. ? Система должна учитывать вид строительных работ ? Также должен быть учет типа стройобъекта ? Система должна выполнять расчет материалов для объекта ? Система должна генерировать запрос на закупку стройматериалов ? Система должна отображать все имеющиеся на данный момент стройобъекты ? Также должно быть отображение материалов, работ и цен на материалы и работы по объекту ? Система должна корректно реагировать на запросы пользователя и предоставлять корректную информацию ? Система должна иметь возможность сохранения информации на диск в отдельный файл. ? 2 Организация структуры данных программы Повторим, что было получено задание в следующей формулировке: "Разработка приложения для организации работы строительной фирмы": В системе должны поддерживаться режимы учета классификации строительных работ, типы объектов, сроки работ, расчет необходимых материалов для каждого типа, генерация требований на закупку. Кратко выделим первичные основные объекты в задании для проектирования системы: ? Стройобъект ? Заказ ? Материал ? Представление вида работы В результате анализа задания выделим следующие свойства у объектов: Стройобъект: ? Тип объекта ? Список работ ? Итоговая цена за работы ? Площадь объекта ? Адрес ? Описание ? Требования ? Список материалов ? Итоговая цена за материалы Материал: ? Название ? Тип ? Цена за единицу ? Единица объема ? Итоговая цена по материалу ? Итоговый объем материала Заказ: ? Список объектов ? Итоговая цена заказа Представление вида работы: ? Тип работы ? Цена за единицу ? Итоговая цена Проанализируем свойства объектов для определения подходящих типов данных. Для тех свойств, значения которых подразумеваются числовыми, определим тип int или класс-обертку Integer в зависимости от «места» хранения свойства. Для свойств, которые содержат имена, названия, или какую-либо текстовую описательную характеристику, определим тип String. Определим классы для объектов: ? Стройобъект: BuildingObject ? Материал: Material ? Заказ: Order ? Представление вида работы: WorkItem Для хранения списка заказов, объектов, материалов, стройобъектов в системе целесообразно использовать структуру данных на основе массива – ArrayList – класс реализует интерфейс List и имеет эффективный доступ по индексу, а также является динамически расширяемой структурой. В результате описанных определений типов и структур данных перечисленные выше объекты в системе в терминах языка Java будут иметь следующий тип: class WorkItem String type; Integer price; Integer totalPrice; class Order ArrayList‹BuildingObject› objects; int totalCost; class Material String title; String type; Integer price; Integer totalPrice; Integer volume; Integer totalVolume; class BuildingObject String type; ArrayList‹WorkItem› workList; Integer totalWorkCost; Integer square; String address; String description; String requipments; ArrayList‹Material› materials; Integer totalMaterialCost; В результате анализа задачи были выбраны необходимые типы данных, выделены объекты для реализации в системе, определена их структура, графическое представление которой будет отображено в разделе 3. ... ? Заключение После получения задания на разработку системы был проведен тщательный анализ его содержимого. Были выделены основные объекты в системе, их свойства, спрогнозированы и реализованы дополнительные объекты, за счет которых разработка системы была упрощена. Были применены подходящие типы и структуры данных, спроектированы, реализованы и протестированы алгоритмы, которые реализуют требуемый функционал программы в соответствии с заданием. Тестирование проведено на основе тестового корректного набора входных данных. Интерфейс приложения является текстовым, вся информация и ее считывание происходит в консоли. Программа удовлетворяет поставленным требованием и реализует возложенные на нее задачи. ? Перечень использованной литературы 1. Эккель, Б. Философия Java. Библиотека программиста /Б. Эккель – 4-е изд. – СПб.: Питер, 2009. – 640 с. [Текст] 2. Шилдт, Г. Java. Полное руководство /Г. Шилдт – 8-е изд.: пер. с англ. – М.: ООО «И.Д. Вильямс», 2012. – 1104 с. [Текст] 3. Спецификация языка Java [Электронный ресурс]/2014.– Режим доступа: docs/books/jls, свободный. 4. Спецификация виртуальной машины Java [Электронный ресурс]/2014.– Режим доступа: docs/books/jvms/, свободный. 5. Спецификация java.lang.Thread [Электронный ресурс]/2014.– Режим доступа: javase/6/docs/api/jav /lang/Thread.html, свободный. 6. Многопоточность в среде Java [Электронный ресурс]/2014.– Режим доступа: ru-ru/articles/multi- hreading-in-a-java-e vironment, свободный. 7. Уоллс, К. Spring в действии /Уоллс К. – пер. с англ. – М..: ДМК Пресс, 2013 - 752с.: [Текст] 8. Хемраджани, Анил. Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse./ Хемраджани, Анил.: пер. с англ. = М.: ООО «И. Д. Вильямс», 2008. – 352 с. [Текст] 9. Спецификация java.util.Concurrency [Электронный ресурс]/2014.– Режим доступа: javase/6/docs/api/jav /util/ Concurrency.html, свободный. 10. Гонсалвес, Э. Изучаем Java EE /Гонсалвес Э. – пер. с англ. – Спб..: Питер, 2014 – 640 с.: [Текст] 11 Шахгельдян, К.И. Объектно-ориентирова ное программирование.. [Текст]/ Шахгельдян К.И.: Влад., ВГУЭС, 2000 – 320с. 12 Балд, Т. Объектно-ориентирова ное программирование в действии. [Текст]/. Т.Бадд: Питер. 1997 – 430 с. 13 Буч, Г. Объектно-ориентирова ный анализ и проектирование. Addison-Wesley / Г. Буч. 1998. 14 Заварыкин, В.М. Основы информатики и вычислительной техники. [Текст] / Заварыкин В.М Житомирский В.Г., Лапчик М.П. — М.: Пр15 освещение, 2010 – 310 с. 16 Тассел, Д. Стиль, разработка, эффективность, отладка и испытание программ.[Текст] / Д. Ван Тассел — М.: Мир, 2011 – 530с. 17 Бондарев, В.М., Основы программирования. [Текст] / Бондарев В.М., Рублинецкий В.И., Качко Е.Г. —Харьков: Фолио, Ростов н/Д: Феникс, 2007 – 710 с.. 18 Элиенс, А. Принципы объектно-ориентирова ной разработки программ [Текст] / А. Элиенс. - 2-е издание. —М.: Издательский дом «Вильямс», 2002, 550 с. 19 Волкова, И. А. Системы программирования [Текст] / И. А. Волкова, И. Г. Головин, Л. Е. Карпов. — М.: Издательский отдел факультета ВМиК МГУ, 2009, 260 с. 20 Канер, Дж.. Тестирование программного обеспечения. [Текст] / Канер, Дж, Фолк, Е. К. Нгуен — М.: «DiaSoft», 2001, 370 с. ? Приложение Исходный код программы package KR.construction_firm import java.io.Serializable import java.util.ArrayList; /** * . */ public class Order implements Serializable { private static final long serialVersionUID = 1211L; ArrayList‹BuildingObject› objects; int totalCost; public Order() { objects = new ArrayList‹BuildingObject›(); } public Order(ArrayList‹BuildingObject› objects, int totalCost, ArrayList‹Material› materials) { this.objects = objects; this.totalCost = totalCost; } public ArrayList‹BuildingObject› getObjects() { return objects; } public void setObjects(ArrayList‹BuildingObject› objects) { this.objects = objects; } public int getTotalCost() { for (BuildingObject item: objects) { totalCost+=item.getTo alMaterialCost()+ite .getTotalW rkCost(); } return totalCost; } public void addBuildingObject(Bui dingObject object) { objects.add(object); } @Override public String toString() { final StringBuilder sb = new StringBuilder("\nOrd r{"); sb.append("\nobjects=" .append(objects); sb.append(", \ntotalCost=").append totalCost); sb.append(}+"n"); return sb.toString(); } } package KR.construction_firm ... |
Перейти к полному тексту работы |