• Главная
  • Скачать
  • Курсовик Разработка приложения для организации работы строительной фирмы на языке Java.


    Предмет: Программирование. Добавлен: 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 ...
    Перейти к полному тексту работы