Программа "Общежитие"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

е ситуации.

Программа не предполагает каких - либо вычислений, обработки данных, а также по причине небольшого размера программы разработка программы автоматического тестирования не требует.

Для выявления дефектов в программе/подтверждения ее корректной работоспособности необходимо провести следующие тесты:

добавление новой записи в базу и проверка ее правильного добавления в таблице интерфейса пользователя;

изменение записи в базе и проверка ее правильного изменения в таблице интерфейса пользователя;

удаление записи в базе и проверка ее правильного удаления в таблице интерфейса пользователя;

изменение записи в базе и проверка ее правильного изменения в таблице интерфейса пользователя;

проверка правильности сохранения базы на диск в файл и ее загрузка при старте программы;

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

 

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("