Программа "Общежитие"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
е ситуации.
Программа не предполагает каких - либо вычислений, обработки данных, а также по причине небольшого размера программы разработка программы автоматического тестирования не требует.
Для выявления дефектов в программе/подтверждения ее корректной работоспособности необходимо провести следующие тесты:
добавление новой записи в базу и проверка ее правильного добавления в таблице интерфейса пользователя;
изменение записи в базе и проверка ее правильного изменения в таблице интерфейса пользователя;
удаление записи в базе и проверка ее правильного удаления в таблице интерфейса пользователя;
изменение записи в базе и проверка ее правильного изменения в таблице интерфейса пользователя;
проверка правильности сохранения базы на диск в файл и ее загрузка при старте программы;
проверка правильности функционирования программы при различных критических ситуациях: отсутствии файла базы данных, поврежденном файле базы данных.
4.4 Результаты тестирования
Ниже представлены результаты выполнения некоторых тестов программы.
. Проверка правильности функционирования программы при различных критических ситуациях: отсутствии файла базы данных, поврежденном файле базы данных:
файл базы данных повреждён
Рисунок 5 - Файл БД повреждён
. Проверка загрузки базы при старте программы, добавление новой записи в базу и проверка ее правильного добавления в таблице интерфейса пользователя
Рисунок 6 - Первоначальная загрузка базы при старте программы
Рисунок 7 - Новая запись добавлена
. Проверка удаления записи в базе и проверка ее правильного удаления в таблице интерфейса пользователя:
Рисунок 8 - Запись удалена
Запись удалена, тест пройден.
Проведенное тестирование показало, что программный продукт отвечает всем заявленным требованиям и корректно реализует необходимый функционал, корректно реагирует на действия пользователя.
ЗАКЛЮЧЕНИЕ
программный учет данные пользовательский
В рамках курсовой работы была разработана программа Общежитие. В процессе проектирования использовались методологии модульного и объектно-ориентированного программирования.
Для разработки данной программы, необходимо правильно спроектировать внутреннюю архитектуру программы и реализацию необходимых классов с использованием современных методик объектно-ориентированного подхода к проектированию. При разработке данного программного средства применялся язык программирования С# и библиотека .NET, как один из наиболее современных инструментов.
ПРИЛОЖЕНИЕА
System;.Collections.Generic;.Linq;.Text;.Windows;.Windows.Controls;.Windows.Data;.Windows.Documents;.Windows.Input;.Windows.Media;.Windows.Media.Imaging;.Windows.Navigation;.Windows.Shapes;System.IO;Dormitory
{
///
/// Interaction logic for MainWindow.xaml
/// partial class MainWindow : Window
{Rooms rooms = new Rooms();Students students = new Students();Settings settings = new Settings();()
{();
}void RefreshDataGrid(string filter)
{= dataGrid.ItemsSource as DGRItems;.Clear();(int i = 0; i <rooms.Count; i++)
{stud = "";(int j = 0; j < rooms[i].Students.Count; j++)
{+= students[rooms[i].Students[j]].Surname+" "+students[rooms[i].Students[j]].Name+" "+students[rooms[i].Students[j]].Patrname;(j < rooms[i].Students.Count-1) stud+= ", ";stud += " ";
";(filter=="")itemsource.Add(newDGRoom((i+1).ToString(),rooms[i].Max.ToString(),(rooms[i].Max-rooms[i].Students.Count).ToString(),stud,i));">}(stud == "") stud = "";(filter == "") itemsource.Add(new DGRoom((i + 1).ToString(), rooms[i].Max.ToString(), (rooms[i].Max - rooms[i].Students.Count).ToString(), stud, i));
-1)itemsource.Add(newDGRoom((i+1).ToString(),rooms[i].Max.ToString(),(rooms[i].Max-rooms[i].Students.Count).ToString(),stud,i));">{full = (i + 1).ToString() + " " + rooms[i].Max.ToString() + " " + (rooms[i].Max - rooms[i].Students.Count).ToString() + " " + stud;(full.ToUpper().IndexOf(filter.ToUpper()) > -1) itemsource.Add(new DGRoom((i + 1).ToString(), rooms[i].Max.ToString(), (rooms[i].Max - rooms[i].Students.Count).ToString(), stud, i));
}
}
}string ExtractFileDir(string FileName)
=0;i--)">{res = "";index = -1;(int i = FileName.Length - 1; i >= 0; i--)
{(FileName[i] == \\)
{= i;;
}
}(index == -1) return res;(int i = 0; i <= index; i++)
{+= FileName[i].ToString();
}res;
}void AddRoom_Click(object sender, RoutedEventArgs e)
{
//Добавитькомнаты= new AddRoomsWindow(this);.ShowDialog();(wAddRooms.DialogResult == true)
{(int i = 0; i <wAddRooms.Number; i++) rooms.Add(new Room(wAddRooms.Max));
}(textFind.Text);
}void textFind_TextChanged(object sender, TextChangedEventArgs e)
{(textFind.Text);
}void AddStudent_Click(object sender, RoutedEventArgs e)
{= new StudentWindow(this, rooms, -1);.ShowDialog();(wAddStud.DialogResult == true)
{.Add(new Student(wAddStud.student.Name, wAddStud.student.Surname, wAddStud.student.Patrname, wAddStud.student.Age, wAddStud.student.Phone, wAddStud.student.Course, wAddStud.student.Group, wAddStud.student.Room));[wAddStud.student.Room].Students.Add(students.Count - 1);
}(textFind.Text);
}void ViewRoom_Click(object sender, RoutedEventArgs e)
{(dataGrid.SelectedIndex< 0) return;= new RoomWindow(this, rooms, students, (dataGrid.SelectedItem as DGRoom).ID);.ShowDialog();(wViewRoom.DialogResult == true)
{.Clear();.Clear();(Student s in wViewRoom.students) students.Add(s);(Room r in wViewRoom.rooms) rooms.Add(r);(textFind.Text);
}
}void Window_Loaded(object sender, RoutedEventArgs e)
{;path = ExtractFileDir(Application.ResourceAssembly.Location) + "Data\\";(!Directory.Exists(path)) Directory.CreateDirectory(path);= false;(File.Exists(path + "Settings.xaml"))
{
{= new FileStream(path + "Settings.xaml", FileMode.Open, FileAccess.Read);= System.Windows.Markup.XamlReader.Load(fs) as Settings;.Top = settings.t;.Left = settings.l;.Height = settings.h;.Width = settings.w;.Columns[0].Width = settings.w0;.Columns[1].Width = settings.w1;.Columns[2].Width = settings.w2;.Columns[3].Width = settings.w3;
fs.Close();
}
{.Show("Не удалось загрузить настройки приложения." + Environment.NewLine + "Будут применены настройки по умолчанию", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
}
}(File.Exists(path + "Rooms.xaml"))
{
{= new RsTS();= new FileStream(path + "Rooms.xaml", FileMode.Open, FileAccess.Read);= System.Windows.Markup.XamlReader.Load(fs) as RsTS;.Close();(RTS r in rs)
{.Add(new Room(r.Max));temp = "";(int i = 0; i <r.Students.Length; i++)
{(r.Students[i] == ;)
{[rooms.Count - 1].Students.Add(Convert.ToInt32(temp));= "";
}temp += r.Students[i].ToString();
}
}
}
{.Show("