- •Индивидуальная работа
- •По теме:
- •Задание
- •Алгоритм выполнения работы Изучение теоретической основы
- •1. Диаграмма классов (Class Diagram)
- •2. Диаграмма вариантов использования (Use Case Diagram)
- •3. Диаграмма последовательностей (Sequence Diagram)
- •Подготовка примера модели системы
- •Выбор инструмента для построения uml диаграмм
- •Построение диаграмм
- •Диаграмма классов
- •Диаграмма вариантов использования
- •Диаграмма последовательности
- •Диаграмма вариантов использования Вывод
Подготовка примера модели системы
Для проектирования UML диаграммы следует провести рефакторинг кода, представленный в листинге 1.
Листинг 1. Исходный код программы
-
import javax.swing.JOption Pane; // Импорт классов
class UsingIfDemof // Класс с главным методом программы:
{
public static void main(String [] args) // Главный метод программы:
{
String input,txt,title; // Текстовые переменные:ber
int number; // Целочисленная переменная:
ImageIncon img; // Объектная переменная для записи ссылки на объект программы
iput=JOptionPane.showlnputDialog(null, "Введите целое число", "Проверка числа", JOptionPane.QUESTION_MESSAGE); // Отображение окна с полем ввода: надпись над полем ввода, заголовок окна, тип пиктограммы
};
}
if(input==null) // Проверка выполнен ли ввод: если ввод не выполнен
{
JOptionPane.showMessageDialog(null, "Вы не ввели число", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна: Сообщение, Заголовок окна, Тип окна
System.exit(0); // Завершение выполнения программы
number=Integer.parseInt(input); // Преобразование текста в число:
}
// Проверка числа на четность:
if(number%=0) // Проверка числа на четность:
{
img=new ImageIcon("d:/books/pictures/even.png"); // Если число четное: создание объекта пиктограммы:
txt="Число" +number+ "- четное"; // Текст сообщения:
title="Четное число"; // Заголовок окна:
}
else // Если число нечетное
{
img=new ImageIcon("d:/books/pictures/add.png"); // Создание объекта пиктограммы:
txt="Число"+number+" - нечетное"; // Текст сообщения:
title="Нечетное число"; // Заголовок окна:
}
JOptionPane.showMessageDialog(null,txt,title,JOptionPane.PLAIN_MESSAGE img); // Отображение диалогового окна: Текст сообщения, Заголовок окна, Тип сообщения, Пиктограмма}
Итоговый код программы отражен в Листинге 2.
Листинг 2. Итоговый код программы
-
import javax.swing.ImageIcon;
import javax.swing.JOptionPane; // Импорт классов
class UsingIfDemo // Класс с главным методом программы
{
public static void main(String[] args) // Главный метод программы
{
String input, txt, title; // Текстовые переменные
int number; // Целочисленная переменная
ImageIcon img; // Объектная переменная для записи ссылки на объект пиктограммы
input = JOptionPane.showInputDialog(null, "Введите целое число", "Проверка числа", JOptionPane.QUESTION_MESSAGE); // Отображение окна с полем ввода
if (input.trim().isEmpty()) // Проверка на пустую строку
{
JOptionPane.showMessageDialog(null, "Вы не ввели число", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна
System.exit(0); // Завершение выполнения программы
}
try
{
number = Integer.parseInt(input); // Преобразование текста в число
// Проверка числа на четность
if (number % 2 == 0) // Проверка числа на четность
{
img = new ImageIcon("C:/Users/Acer/Documents/even.png"); // Если число четное: создание объекта пиктограммы
txt = "Число " + number + " - четное"; // Текст сообщения
title = "Четное число"; // Заголовок окна
}
else // Если число нечетное
{
img = new ImageIcon("\"C:/Users/Acer/Documents/odd.png"); // Создание объекта пиктограммы
txt = "Число " + number + " - нечетное"; // Текст сообщения
title = "Нечетное число"; // Заголовок окна
}
JOptionPane.showMessageDialog(null, txt, title, JOptionPane.PLAIN_MESSAGE, img); // Отображение диалогового окна
}
catch (NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "Некорректный формат числа", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна
System.exit(0); // Завершение выполнения программы
}
}
}
В рамках рефакторинга кода были внесены следующие изменения
Исправлены имена импортированных классов и методов (JOptionPane, ImageIcon).
Исправлены имена переменных (iput на input, ImageIncon на ImageIcon).
Исправлена логика проверки четности числа (if (number % 2 == 0)).
Исправлено использование метода showMessageDialog для отображения изображения пиктограммы.