- •09.03.02 «Информационные системы и технологии»
- •2 Курса группы 12002108
- •Содержание
- •Введение
- •1 Разработка программы «животный мир»
- •Основные таксономические ранги животных
- •Общая постановка задачи
- •Разработка программного продукта
- •Иерархия классов и uml-диаграмма
- •Класс Animals
- •2.3. Класс doAnimals
- •2.4 Класс Main
- •2.5 Класс AnimalsXml
- •Тестирование разработанного программного обеспечения
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в
- •Прилоежение г
Заключение
В ходе выполнения курсовой работы были решены поставленные задачи: анализ предметной области, программная реализация изменяемого хранилища информации о животных и тестирование созданного приложения.
Разработан и рассмотрен алгоритм решения поставленной задачи, разобраны включённые в алгоритм функции на языке программирования.
Была разработана программная реализация на языке программирования Java с использованием среды IntelliJ IDEA для создания консольного меню.
Было приведено тестирование программного приложения с рассмотрением встроенного предотвращения ошибок в программе.
Таким образом, поставленные задачи решены, и цель работы достигнута.
Список использованных источников
Животный мир Росиии // Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Животный_мир_России, свободный.
Позвоночные // Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Позвоночные, свободный.
Исключения: checked, unchecked и свои собственные // Javarush [Электронный ресурс] – Режим доступа: https://javarush.com/groups/posts/1944-iskljuchenija-checked-unchecked-i-svoi-sobstvennihe, свободный.
Курс Java Collections – Лекция: Сложная сериализация в XML, JAXB (вложенные классы и т. д.) // Javarush [Электронный ресурс] – Режим доступа: https://javarush.com/quests/lectures/questcollections.level03.lecture09, свободный.
Отношения классов — от UML к коду // Хабр [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/150041 свободный.
Приложение а
Исходный код Main.java
package main.java; import javax.xml.bind.annotation.*; import javax.xml.bind.*; import java.io.*; @XmlRootElement public class Main { public static void main(String[] args) { System.out.println("Животный мир. Пользовательское меню"); doAnimals menu = new doAnimals(); menu.showMenu(); } static public void writeToXML() { AnimalsXML animalsXML = new AnimalsXML(); animalsXML.allAnimals.addAll(Bird.birds); animalsXML.allAnimals.addAll(Mammal.mammals); animalsXML.allAnimals.addAll(Reptile.reptiles); animalsXML.allAnimals.addAll(Amphibian.amphibians); animalsXML.allAnimals.addAll(Fish.fish); String filePath = "infoXMl.xml"; try { JAXBContext context = JAXBContext.newInstance(Main.class, Bird.class, Mammal.class, Reptile.class, Amphibian.class, Fish.class, AnimalsXML.class); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); marshaller.marshal(animalsXML, new File(filePath)); } catch (JAXBException e) { e.printStackTrace(); } System.out.println("Данные сохранены в XML-файл"); } static public void readFromXML() { AnimalsXML animalsXML; String filePath = "infoXMl.xml"; try { JAXBContext context = JAXBContext.newInstance(Main.class, Bird.class, Mammal.class, Reptile.class, Amphibian.class, Fish.class, AnimalsXML.class); Unmarshaller unmarshaller = context.createUnmarshaller(); animalsXML = (AnimalsXML) unmarshaller.unmarshal(new File(filePath)); } catch (JAXBException e) { throw new RuntimeException(e); } for (Object obj : animalsXML.allAnimals) { if (obj instanceof Bird) { Bird.birds.add((Bird) obj); } if (obj instanceof Mammal) { Mammal.mammals.add((Mammal) obj); } if (obj instanceof Reptile) { Reptile.reptiles.add((Reptile) obj); } if (obj instanceof Amphibian) { Amphibian.amphibians.add((Amphibian) obj); } if (obj instanceof Fish) { Fish.fish.add((Fish) obj); } } System.out.println("Получены данные из XML-файла"); System.out.println("Используейте функцию №4 для вывода"); } }
