КУРСОВАЯ РАБОТА
Цель и задачи курсовой работы
Анализ предметной области
Анализ предметной области
Анализ предметной области
Описание классов и методов
Описание классов и методов
Структурная схема приложения
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Структурная схема интерфейса
Разработка программного кода приложения
Разработка программного кода приложения
Разработка программного кода приложения
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Разработка интерфейса
Тестирование приложения
Тест-кейс №1 «Добавление книги (позитивный)»
Тест-кейс №2 «Добавление книги (негативный)»
Тест-кейс №6 «Просмотр каталога доступных книг»
Тест-кейс №9 «Удаление книги (позитивный)»
Тест-кейс №20 «Работа кнопки «Назад»
Тест-кейс №27 «Оформление печатного издания (учебника) на посетителя»
Тест-кейс №28 «Оформление возврата печатного издания (учебника)»
Тест-кейс №32 «Проверка корректности введенных данных в раздел «Поиск книги»
Тест-кейс №34 «Поиск печатного издания»
Исправление выявленных дефектов
Исправление выявленных дефектов
Результаты проведения тестирования
Заключение
Спасибо за внимание!
5.51M

Разработка программного приложения «читальный зал»

1. КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ:
«ТЕХНОЛОГИИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ»
РАЗРАБОТКА ПРОГРАММНОГО ПРИЛОЖЕНИЯ
«ЧИТАЛЬНЫЙ ЗАЛ»
Выполнили:
студенты группы КА-20-03
Руководитель: к.ф.-м.н., доцент
Ан С. Д.
Зоркина А. А.
Лесик В. Е.
Малашкин А. В.

2. Цель и задачи курсовой работы

Цель курсовой работы: разработка программного приложения
«Читальный зал»
Для достижения цели необходимо выполнить следующие задачи:
• проанализировать предметную область, построить модель;
• описать классы, методы, алгоритмы взаимодействия;
• разработать структурную схему интерфейса;
• разработать классы;
• разработать интерфейс приложения;
• разработать тест-кейсы;
• провести тестирование.
2

3. Анализ предметной области

В читальном зале хранится огромное количество печатных изданий,
его посещают довольно много людей, так как чтение является одним из
самых популярных способов проведения досуга.
Для повышения качества обслуживания посетителей и упрощения
работы персонала необходимо разработать программное приложение
«Читальный зал», которое позволит персоналу читального зала намного
быстрее находить, выдавать и принимать печатные издания,
осуществлять контроль за выданными печатными изданиями, получать
информацию о задолженностях.
Разработка предполагаемого приложения обеспечит контроль за
эксклюзивными и антикварными печатными изданиями, чтобы ни одно
из них не было утеряно.
3

4. Анализ предметной области

Приложение должно иметь следующие функции:
• функция добавления нового печатного издания в каталог;
• функцию изменения данных в случае, если изначально
информация была введена неверно;
• функцию добавления и удаления печатных изданий для
обновления каталога;
• функцию поиска печатных изданий по различным критериям.
4

5. Анализ предметной области

• Объект: печатное издание.
• Действия: просмотр каталога доступных и «просроченных»
печатных изданий, поиск, удаление и добавление печатных
изданий, а также изменение информации.
• Объект: посетитель.
• Действия: добавление и вывод информации.
5

6. Описание классов и методов

Класс: Книги
Атрибуты класса:
• название;
• фамилия автора;
• имя автора;
• отчество автора;
• жанр/дисциплина/тематика
Методы класса:
• вывод информации о печатном
издании;
• изменение информации о печатном
издании;
• удаление печатного издания;
• издательство;
• отображение даты выдачи и сдачи
печатного издания;
• год издания;
• возвращение в главное меню.
• количество страниц;
• описание книги.
• изображение обложки.
6

7. Описание классов и методов

Класс: Посетитель
Атрибуты класса:
Методы класса:
• фамилия взявшего посетителя;
• вывод информации об объекте;
• имя взявшего посетителя;
• возможность взять печатное
издание;
• отчество взявшего посетителя;
• дата, когда посетитель взял
печатное издание;
• возврат печатного издания.
• срок хранения книги у взявшего
посетителя;
• дата, когда взявший книгу
посетитель должен вернуть
печатное издание.
7

8. Структурная схема приложения

8

9. Структурная схема интерфейса

9

10. Структурная схема интерфейса

10

11. Структурная схема интерфейса

11

12. Структурная схема интерфейса

12

13. Структурная схема интерфейса

13

14. Структурная схема интерфейса

14

15. Структурная схема интерфейса

15

16. Структурная схема интерфейса

16

17. Разработка программного кода приложения

public class Book
{
public string title; // название печатного издания
public FIO author = new FIO(); // автор
public string genre; // жанр
public string publisher; // издательство
public string year; // год издания
public string pageCount; // количество страниц
public string imagePath; // путь к изображению обложки
public string description; // описание
public int status; // статус в наличие / не в наличие
public visitor visitor = new visitor();

public string info()
{
return title + "\n" + author.info() + genre + "\n" +
publisher + "\n" + year + "\n" + pageCount + "\n" + imagePath + "\n" + description + "\n"
+ status + "\n" + visitor.info();
}
}
17

18. Разработка программного кода приложения

public class visitor
{
public FIO name = new FIO();
public string dateFrom; // когда посетитель взял печатное издание
public int storageTime; // срок хранения
public string dateTo; // когда посетитель должен вернуть печатное издание
...
public string info()
{
return name.info() + dateFrom + "\n" + storageTime.ToString() + "\n" +
dateTo + "\n";
}
}
18

19. Разработка программного кода приложения

private int search(string fileName) // поиск в файле
{
StreamReader sr = File.OpenText(fileName); // открываем нужный файл
bool found = false; // найдено ли печатное издание
while (!sr.EndOfStream) // пока файл не закончился
{
Book book = new Book(); // переменная для считывания
// считываем все параметры
bookRead(book, sr);
// проверка на совпадения
if (book.title == textBox1.Text || book.genre == textBox1.Text
|| book.publisher == textBox1.Text || book.year == textBox1.Text || book.pageCount == textBox1.Text
|| (textBox1.Text.Contains(book.author.authorFirstName) && textBox1.Text.Contains(book.author.authorSecondName)
&& textBox1.Text.Contains(book.author.authorThirdName)))
{
found = true; // флаг, что найдено
string typeBook = "";
if (fileName == "books.txt")
{
typeBook = "Книги";
}
else if (fileName == "newspapers.txt")
{
typeBook = "Журналы и газеты";
}
else if (fileName == "textbooks.txt")
{
typeBook = "Учебники";
}
// открываем форму с найденной книгой
BookView bookView = new BookView(this, book, typeBook);
bookView.Show();
this.Hide();
break;
}
}
19

20. Разработка интерфейса

Переход из главного меню в раздел книги/журналы и газеты/учебники описан в методе openBookMenu.
private void openBookMenu(object sender, EventArgs e) // три кнопки, книги/журналы/учебники
{
// у всех кнопок одна функция, которая передаёт в новую форму название
// в зависимости от него форма будет меняться
Page page = new Page(((Button)sender).Text, this);
page.Show();
this.Hide();
}
20

21. Разработка интерфейса

public Page(string name, Menu menu)
{
this.name = name;
this.menu = menu;
InitializeComponent();
label1.Text = name;
if(name == "Книги")
{
button1.Text += "книг";
button2.Text += "книгу";
button3.Text += "книгу";
button4.Text += "книге";
button5.Text += "книг";
button6.Text += "книги";
} else if (name == "Журналы и газеты")
{
button1.Text += "печатных изданий";
button2.Text += "печатное издание";
button3.Text += "печатное издание";
button4.Text += "печатном издании";
button5.Text += "печатных изданий";
button6.Text += "печатного издания";
} else if (name == "Учебники")
{
button1.Text += "учебников";
button2.Text += "учебник";
button3.Text += "учебник";
button4.Text += "учебнике";
button5.Text += "учебников";
button6.Text += "учебника";
}
}
21

22. Разработка интерфейса

public Edit(Page page, bool newBook, string typeBook)
{
this.page = page; // ссылка на предыдущую форму
this.newBook = newBook; // флаг - создать новую / изменить старую
this.typeBook = typeBook; // название категории
InitializeComponent();
if (newBook) // если создать новую
{
button1.Text = "Добавить"; // название кнопки
button3.Visible = false; // делаем невидимой кнопку поиска
} else
{
button1.Text = "Изменить информацию о печатном издании"; // название кнопки
button3.Visible = true; // делаем видимой кнопку поиска
}
22

23. Разработка интерфейса

23

24. Разработка интерфейса

// каждая функция для поиска работают одинаково
private void button1_Click(object sender, EventArgs e)
{
if(textBox1.Text == "")
{
MessageBox.Show("Введите данные");
return;
}
StreamReader sr = File.OpenText(fileName); // открываем файл
bool found = false; // флаг, что найдена
while (!sr.EndOfStream)
{
Book book = new Book(); // переменная для считывания
bookRead(book, sr); // считываем печатное издание
// проверяем, что именно оно нам нужно
if (textBox1.Text.Contains(book.author.authorFirstName)
&& textBox1.Text.Contains(book.author.authorSecondName)
&& textBox1.Text.Contains(book.author.authorThirdName))
{
found = true; // флаг, что нашли
openBookInfo(book); // открываем информацию о печатном издании
break;
}
}
24

25. Разработка интерфейса

public Catalog(Page page, string typeBook)
{
...
if(typeBook == "Книги")
{
sr = File.OpenText("books.txt");
} else if (typeBook == "Журналы и газеты")
{
sr = File.OpenText("newspapers.txt");
}
else if (typeBook == "Учебники")
{
sr = File.OpenText("textbooks.txt");
}
}
25

26. Разработка интерфейса

public DeleteBook(Page page, string typeBook)
{
this.page = page;
InitializeComponent();
// в зависимости от категории выбираем файл с которым
работать
if (typeBook == "Книги")
{
fileName = "books.txt";
}
else if (typeBook == "Журналы и газеты")
{
fileName = "newspapers.txt";
}
else if (typeBook == "Учебники")
{
fileName = "textbooks.txt";
}
...
// открываем нужный файл
StreamReader sr = File.OpenText(fileName);
26

27. Разработка интерфейса

27

28. Разработка интерфейса

bool found = false; // флаг, нашли ли печатное издание
// считываем до конца файла
while (!sr.EndOfStream)
{
Book book = new Book();
bookRead(book, sr);
// проверка что нужное печатное издание
if (book.title == textBox1.Text)
{
found = true; // флаг, что нашли
} else
{
books.Add(book); // сохраняем другие печатные издания
} }
sr.Close();
// если нашли печатное издание, то сохраняем в файл все, кроме него
if (found)
{
File.Delete(fileName);
foreach(Book b in books)
{
File.AppendAllText(fileName, b.info());
}
MessageBox.Show(«Печатное издание удалено");
} else
{
MessageBox.Show(«Печатное издание не найдено");
}
}
28

29. Разработка интерфейса

29

30. Разработка интерфейса

public partial class BookView : Form
{
...
label11.Text = b.title;
label12.Text = b.author.authorFirstName;
label13.Text = b.author.authorSecondName;
label14.Text = b.author.authorThirdName;
label15.Text = b.genre;
label16.Text = b.publisher;
label17.Text = b.year;
label18.Text = b.pageCount;
pictureBox1.Image = Image.FromFile(b.imagePath);
label24.Text = b.description;
...
if(textBox1.Text == "" || textBox2.Text == "" ||
textBox3.Text == "" ||
textBox4.Text == "")
{
MessageBox.Show("Введите данные");
return;
}
b.visitor.name.authorFirstName = textBox1.Text;
b.visitor.name.authorSecondName = textBox2.Text;
b.visitor.name.authorThirdName = textBox3.Text;
b.visitor.storageTime = int.Parse(textBox4.Text);
...
}
private void bookRead(Book book, StreamReader sr)
{
book.title = sr.ReadLine(); // имя
book.author.authorFirstName = sr.ReadLine();
book.author.authorSecondName = sr.ReadLine();
book.author.authorThirdName = sr.ReadLine();
book.genre = sr.ReadLine();
book.publisher = sr.ReadLine();
book.year = sr.ReadLine();
book.pageCount = sr.ReadLine();
book.imagePath = sr.ReadLine();
book.description = sr.ReadLine();
book.status = int.Parse(sr.ReadLine());
book.visitor.name.authorFirstName = sr.ReadLine();
book.visitor.name.authorSecondName = sr.ReadLine();
book.visitor.name.authorThirdName = sr.ReadLine();
book.visitor.dateFrom = sr.ReadLine();
book.visitor.storageTime = int.Parse(sr.ReadLine());
book.visitor.dateTo = sr.ReadLine();
}
DateTime today = DateTime.Now;
b.visitor.dateFrom = today.ToString();
b.visitor.dateTo =
today.AddDays(b.visitor.storageTime).ToString();
StreamReader sr = File.OpenText(fileName);
30

31. Разработка интерфейса

31

32. Разработка интерфейса

public BookTaken(Form page, Book book, string fileName)
{
...
label12.Text = book.visitor.name.authorFirstName;
label13.Text = book.visitor.name.authorSecondName;
label14.Text = book.visitor.name.authorThirdName;
label15.Text = book.visitor.dateFrom;
label1.Text = book.visitor.storageTime.ToString();
label7.Text = book.visitor.dateTo;
}
private void button1_Click(object sender, EventArgs e)
{
StreamReader sr = File.OpenText(fileName);
books.Clear();
while (!sr.EndOfStream)
{
Book book = new Book(); // переменная для считывания
bookRead(book, sr);
if (book.title != b.title)
{
books.Add(book);
}
}
sr.Close();
b.status = 1;
File.Delete(fileName);
foreach (Book b2 in books)
{
File.AppendAllText(fileName, b2.info());
}
// !! status всегда 1
File.AppendAllText(fileName, b.info());
MessageBox.Show("Печатное издание возвращено");
...
}
32

33. Тестирование приложения

33

34. Тест-кейс №1 «Добавление книги (позитивный)»

Заголовок тест-кейса №1
Добавлении книги в каталог
Предусловие
Запуск программы
1
2
3
4
5
6
7
8
9
10
11
12
13
ШАГ
Нажать кнопку «Книги»
Нажать кнопку «Добавить книгу»
В поле «Название печатного издания» ввести текст
«Мастер и Маргарита»
В поле «Фамилия автора» ввести текст «Булгаков»
В поле «Имя автора» ввести текст «Михаил»
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
Переход в раздел «Книги» совершен успешно
Переход в раздел добавления книги совершен успешно
В поле появится надпись «Мастер и Маргарита»
В поле «Отчество автора» ввести текст
«Афанасьевич»
В поле «Жанр» ввести текст «роман»
В поле «Издательство» ввести текст «Подарочное
издание»
В поле «Год издания» ввести число «2020»
В поле «Количество страниц» ввести число «620»
В поле «Обложка» указать путь к изображению
обложки
В поле «Описание» ввести текст «Мировая
классика»
Нажать кнопку «Добавить»
В поле «Отчество автора» появится надпись «Афанасьевич»
Результат тестирования:
В поле «Фамилия автора» появится надпись «Булгаков»
В поле «Имя автора» появится надпись «Михаил»
В поле «Жанр» появится надпись «роман»
В поле «Издательство» появится надпись «Подарочное издание»
В поле «Год издания» появится число «2020»
В поле «Количество страниц» появится число «620»
В поле «Обложка» появится путь к изображению обложки
В поле «Описание» появится надпись «Мировая классика»
Книга успешно добавлена в каталог. Совершится переход в раздел
«Книги»
Пройден успешно
34

35. Тест-кейс №2 «Добавление книги (негативный)»

Заголовок тест-кейса №2
Добавлении книги в каталог
Предусловие
Запуск программы
ШАГ
1 Нажать кнопку «Книги»
2 Нажать кнопку «Добавить книгу»
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
Переход в раздел «Книги» совершен успешно
Переход в раздел добавления книги совершен успешно
3 В поле «Название печатного издания» ввести текст «Мастер В поле появится надпись «Мастер и Маргарита»
и Маргарита»
4 В поле «Фамилия автора» ввести текст «Булгаков1111111»
В поле «Фамилия автора» появится надпись «Булгаков», цифры введены не будут
5 В поле «Имя автора» ввести текст «Михаил22222»
6 В поле «Отчество автора» ввести текст
«Афанасьевич33333»
В поле «Имя автора» появится надпись «Михаил», цифры введены не
будут
В поле «Отчество автора» появится надпись «Афанасьевич», цифры введены
не будут
7 В поле «Жанр» ввести текст «роман»
В поле «Жанр» появится надпись «роман»
8 В поле «Издательство» ввести текст «Подарочное издание» В поле «Издательство» появится надпись «Подарочное издание»
9 В поле «Год издания» ввести число «2020аааааа»
В поле «Год издания» появится число «2020», буквы введены не будут
10 В поле «Количество страниц» ввести число «620»
В поле «Количество страниц» появится число «620»
11 В поле «Обложка» указать путь к изображению обложки
В поле «Обложка» появится путь к изображению обложки
12 В поле «Описание» ввести текст «Мировая классика»
В поле «Описание» появится надпись «Мировая классика»
13 Нажать кнопку «Добавить»
Книга успешно добавлена в каталог. Совершится переход в раздел «Книги»
Результат тестирования:
Пройден успешно
35

36. Тест-кейс №6 «Просмотр каталога доступных книг»

Заголовок тест-кейса №6
Просмотр каталога доступных книг
Предусловие
Запуск программы
ШАГ
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
1
Нажать кнопку «Книги»
Переход в раздел «Учебники» совершен успешно
2
Нажать кнопку «Просмотр каталога
доступных книг»
Переход в раздел «Каталог печатных изданий», где
будет выведен список всех добавленных ранее книг
Результат тестирования:
Пройден успешно
36

37. Тест-кейс №9 «Удаление книги (позитивный)»

Заголовок тест-кейса №9
Удаление книги из каталога
Предусловие
1.
2.
Запуск программы
Добавить книгу «1984»
ШАГ
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
1
Нажать кнопку «Книги»
Переход в раздел «Книги» совершен успешно
2
Нажать кнопку «Удалить печатное
издание»
Переход в раздел «Удаление печатного издания»
совершен успешно
3
В поле «Название печатного издания»
ввести название «1984»
Удаление печатного издания прошло успешно,
выводится окно с надписью «Книга удалена»
Результат тестирования:
Пройден успешно
37

38. Тест-кейс №20 «Работа кнопки «Назад»

Заголовок тест-кейса №20
Работа кнопки «Назад»
Предусловие
Запуск программы
ШАГ
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
1
Нажать кнопку «Книги»
Переход в раздел «Книги» совершен успешно
2
Нажать кнопку «Просмотр каталога
доступных книг»
Переход в раздел «Каталог печатных изданий», где
будет выведен список всех добавленных ранее книг
3
Нажать кнопку «Назад»
Переход обратно в раздел «Книги»
4
Нажать кнопку «Назад»
Переход в главное меню
Результат тестирования:
Пройден успешно
38

39. Тест-кейс №27 «Оформление печатного издания (учебника) на посетителя»

Заголовок тест-кейса №27
Оформление печатного издания (учебника) на посетителя
Предусловие
Добавление учебника
1
2
ШАГ
Нажать кнопку «Учебники»
Нажать кнопку «Поиск учебника»
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
Переход в раздел «Учебники» совершен успешно
Переход в раздел «Поиск учебника», где будут отображены несколько полей для ввода
информации о печатном издании
В поле «Поиск по дисциплине» введен текст «астрономия»
4
В поле «Поиск по дисциплине» ввести текст
«астрономия»
Нажать кнопку «Найти»
5
В поле «Фамилия посетителя» ввести текст «Петров»
Будет представлена информации об учебнике с названием «Тайны Вселенной»,
он найден по названию дисциплины «астрономия». В этом же разделе также
будут отображены поля для ввода информации о посетителе, чтобы оформить
на него печатное издание
В поле «Фамилия посетителя» появится текст «Петров»
6
В поле «Имя посетителя» ввести текст «Петр»
В поле «Имя посетителя» появится текст «Петр»
7
В поле «Отчество посетителя» ввести текст «Петрович» В поле «Отчество посетителя» появится текст «Петрович»
8
В поле «Срок оформления» ввести цифру 7, это значит,
что посетитель должен вернуть печатное издание в
читальный зал в течение 7 дней
В поле «Срок оформления» введена цифра «7»
9
Нажать кнопку «Взять печатное издание»
Печатное издание успешно оформлено на посетителя, выведено окно с надписью
«Посетитель взял печатное издание»
Пройден успешно
3
Результат тестирования:
39

40. Тест-кейс №28 «Оформление возврата печатного издания (учебника)»

Заголовок тест-кейса №28
Оформление возврата печатного издания (учебника)
Предусловие
1.
Запуск программы
2.
Добавить учебник «Тайны Вселенной»
3.
Оформить журнал на посетителя
ШАГ
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
1
Нажать кнопку «Учебники»
Переход в раздел «Учебники» совершен успешно
2
Нажать кнопку «Поиск учебника»
Переход в раздел «Поиск учебника» совершен
успешно
3 В поле «Поиск по названию» ввести В поле «Поиск по названию» появится текст
«Тайны Вселенной»
текст «Тайны Вселенной»
4
Нажать кнопку «Найти»
Переход в раздел «Печатное издание в наличии у
посетителя»
5
Нажать кнопку «Вернуть
Оформление возврата печатного издания
печатное издание»
прошло успешно, выведено окно с
надписью «Печатное издание возвращено
Результат тестирования:
Пройден успешно
40

41. Тест-кейс №32 «Проверка корректности введенных данных в раздел «Поиск книги»

Заголовок тест-кейса №32
Проверка корректности введенных данных в меню «Поиск книги»
Предусловие
Запуск программы
ШАГ
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
1
Переход в раздел «Книги»
Переход в раздел «Книги» совершен успешно
2
Переход в меню «Поиск
Переход в меню «Поиск книги» совершен успешно
книги»
3
4
5
Ввести данные в поле «Поиск
по названию»: «Метро123»
Ввести данные в поле
«Поиск по издательству»:
«Издательство123»
Ввести данные в поле
«Поиск по жанру»:
«Жанр123»
Результат тестирования:
Данные будут введены успешно. В поле
будет введен текст «Метро»
Данные будут введены успешно. В поле будет
введен текст «Издательство», цифры 123 не
смогут быть напечатаны
Данные будут введены успешно. В поле будет
введен текст «Жанр», цифры 123 не смогут
быть напечатаны
Провален
41

42. Тест-кейс №34 «Поиск печатного издания»

Заголовок тест-кейса №34
Поиск печатного издания
Предусловие
Добавление книги
ШАГ
1
Запуск программы
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
Приложение запустится
2
3
Переход в раздел «Книги»
Переход в меню «Поиск
книги»
Переход в раздел «Книги» совершен успешно
Переход в меню «Поиск книги» совершен успешно
4
Ввести данные в поле «Поиск
по издательству»: «Бука»
Нажать кнопку «Поиск»
Данные будут введены успешно. В поле
будет введен текст «Бука»
Вывод информации о печатном издании, с
названием издательства «Бука», отсутствие
любых всплывающих окон
Провален
5
Результат тестирования:
42

43. Исправление выявленных дефектов

Замена функции checkNumber на checkLetterWithSpace
private void checkLetterWithSpace(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 8)
{
return;
}
if (!(Char.IsLetter(e.KeyChar) || Char.IsWhiteSpace(e.KeyChar)))
{
e.Handled = true;
}
}
43

44. Исправление выявленных дефектов

Исправление синтаксической ошибки – в функции поиска по издательству отсутствовало else перед частью кода,
отвечающей за всплывающее окно. Добавив else, ошибка была устранена.
if (found)
{
this.Close();
}
else
{
MessageBox.Show("Не найдено");
}
}
44

45. Результаты проведения тестирования

По результатам проведения тестирования программное приложение 4 тесткейса из 34 были провалены.
В ходе тестирования программного приложения применялись разные виды
тестирования, как негативное тестирование (например, ввод цифр в те поля
ввода, где цифры не должны вводиться), так и позитивное (ввод корректных
данных в поля ввода).
Были выявлены следующие дефекты:
• неправильное написание элементов формы в каталоге, для дальнейшей
ссылки на них;
• отсутствие проверок написаний в меню поиска;
• несоответствие компьютерных путей к изображению обложки печатного
издания с реальным ее расположением на ПК пользователя;
• синтаксические ошибки, например, отсутствие else для корректности вывода
всплывающего окна.
45

46. Заключение

В ходе выполнения работы было разработано программное приложение
«Читальный зал».
В результате курсовой работы были выполнены следующие задачи:
проанализирована предметная область, построена модель;
описаны классы, методы, алгоритмы взаимодействия;
разработана структурная схема интерфейса;
разработаны классы;
разработан интерфейс приложения;
разработаны тест-кейсы;
проведено тестирование, исправлены выявленные дефекты/
Таким образом, поставленные задачи выполнены, цель достигнута.
46

47. Спасибо за внимание!

47
English     Русский Rules