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

Автор: Пользователь скрыл имя, 11 Марта 2012 в 21:00, курсовая работа

Краткое описание

Целью данного курсового проекта является разработка приложения для работы с много файловой базой данных – ведение базы данных об абитуриентах, подавших документы для поступления в ВУЗ. Программа должна определять средний балл аттестата по итогам ввода данных; регистрировать данные об абитуриентах, поступающих в ВУЗ; сортировать данные по факультету и специальности, а также итоговой оценке абитуриента; производить отбор данных по: факультету, специальности итоговой оценке, среднему баллу аттестата; строить гистограмму распределения итоговых оценок абитуриентов. Данное приложение призвано ускорить процесс расчета и заполнения базы данных.

Оглавление

Введение
1. Разработка архитектуры приложения «Абитуриент»
1.1 Назначение разработки и основание для ее выполнения
1.2 Постановка задачи
1.3 Требования к программе
1.3.1 Требования к графическому интерфейсу пользователя
1.3.2 Требования к архитектуре приложения
1.3.3 Требования к функциональности приложения
1.3.4 Требования к программной документации
1.4 Требование к тестированию
1.5 Архитектура приложения (первоначальная)
1.6 Этапы разработки
1.7 Выводы
2 . Программная документация для проекта «Абитуриент»
2.1 Тестирование программы
2.2. Руководство программиста
2.2.1 Структура программы
2.2.2. Настройка и проверка программы
2.3. Руководство пользователя
2.3.1 Общие сведения о программе
2.3.2.Условие выполнения программы
2.3.3 Выполнение программы
2.4.Сообщения оператору
2.5 Выводы
Выводы
Перечень ссылок
Приложение А

Файлы: 1 файл

Пояснительна записка(Бец)на сдачу.doc

— 1.41 Мб (Скачать)

В результате проделанной работы была получена программная документация которая состоит из:

1.        Описание результатов тестирования;

2.        Руководство системного программиста;

3.        Руководство пользователя;

Конечным результатом разработки и тестирования программы является приложение, отвечающее поставленными перед ним требованиями, удовлетворяющее требованиям заказчика и требованиям к современным приложениям.

Тестирование показало, что программы обрабатывает все исключительные ситуации и работает безошибочно при любых ситуациях.

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



20

 

Выводы

В современном мире значение информационных систем достаточно велико. Поэтому они занимают далеко не последнее место среди научных разработок нашего времени. На каждом предприятии, на каждой фирме есть или вводятся автоматизированные системы управления, для которых необходимо программное обеспечение. Почти на каждом столе сотрудника какой-либо организации стоит компьютер, необходимый для его работы. Это все обуславливается тем, что использование компьютера ускоряет, облегчает и качественно улучшает выполнение любой работы, поэтому наилучший способ для упрощения работы – это использование информационных систем.  При этом данные и необходимая информация будут храниться в наиболее удобном виде, а их редактирование не будет составлять особого труда. А так как информационные системы обслуживают различные сферы деятельности, то для них необходима разработка различных приложений. Поэтому программирование является одной из наиболее актуальных предметных областей. [4,c.129]

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

В состав первого раздела пояснительной записки вошли все основные требования к программе, такие как:

1. Назначение разработки и основание для ее выполнения;

2. постановка задачи;

3. требования к программе;

4. требования к программной документации;

5. архитектура приложения;

6.   этапы разработки.

Программа, разработанная в курсовом проекте предназначена для приемной комиссии ВУЗа. С ёё помощью можно генерировать гистограммы и  создавать базу данных об абитуриенте. 

Программа отвечает всем требованиям первого раздела.

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

1.        Руководство системного программиста, которое включает в себя:

      Структуру программы;

      Настройку и проверку программы.

2.        Руководство пользователя, которое включает в себя:

        Назначение программы;

        Выполнение программы;

Тестирование показало, что программы обрабатывает все исключительные ситуации и работает безошибочно при любых ситуациях.

Программа рекомендуется для использования приемной комиссией любого типа ВУЗов для регистрации данных при поступлении абитуриентов и получения итоговой информации по оценкам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 



20

 

Перечень ссылок

1)     Единая система программной документации ГОСТ 19.504, 506,301,402.

2)     Нейгел К., Ивьен Б., Глинн Дж, Скинер, Морган, Уотсон, Карли.C#2008 и платформа .NET 3.5 для профессионалов  1700 с.

3)     Шилдинг Г. Полный справочник по С#, Москва 2004-754с.

4)     Microsoft Corporation Разработка Windows-приложений на Microsoft Visual Basic .NET и Microsoft, Москва, 2003 – 512 с.

5)     http://msdn.microsoft.com –сайт программной документации Microsoft.

 



20

 

Приложение А

Текст программы

Класс ABITURIENT.cs:

using System;

using System.Collections.Generic;

using System.Text;

 

namespace KURSOVOJ

{

    /// <summary>

    ///

    /// </summary>

    [Serializable]

    public class ABITURIENT

    {

        /// <summary>

        ///

        /// </summary>

        [Serializable]

        public struct School

        {

            public string Fio; // Фамилия

            public string School_name; // Название школы

            public int Date_kon; // Дата ококнчания

            public int Att_math; // Оценка по математике

            public int Att_mova; // Оценка по Укр.Яз.

        }

        public double koefMath = 0.0;// Коэфициент по математике

        public double koefMova = 0.0;// Коэфициент по Укр.Яз.

        string Fio = ""; // Фамилия

        string Fakultet = ""; // Факультет

        string Specialnost = ""; // Специальность

        double SR_Atestat = 0.0; // Средний бал аттестата

        int Ocenka_test_Math = 0; // Оценка по математике

        int Ocenka_test_Mova = 0; // Оценка по Укр.Яз.

        double Itog = 0.0; // Итог

        School school; // Данные по школе

 

        /// <summary>

        /// Фамилия

        /// </summary>

        public string FIO

        {

            get { return this.Fio; }

            set { this.Fio = value; }

        }

        /// <summary>

        /// Факультет

        /// </summary>

        public string FAKULTET

        {

            get { return this.Fakultet; }

            set { this.Fakultet = value; }

        }

        /// <summary>

        /// Специальность

        /// </summary>

        public string SPECIALNOST

        {

            get { return this.Specialnost; }

            set { this.Specialnost = value; }

        }

        /// <summary>

        /// Средний бал аттестата

        /// </summary>

        public double SR_ATESTAT

        {

            get { return this.SR_Atestat; }

            set { this.SR_Atestat = value; }

        }

        /// <summary>

        /// Осенка по математике

        /// </summary>

        public int OCENKA_TEST_MATH

        {

            get { return this.Ocenka_test_Math; }

            set { this.Ocenka_test_Math = value; }

        }

        /// <summary>

        /// Оценка по Укр.Яз

        /// </summary>

        public int OCENKA_TEST_MOVA

        {

            get { return this.Ocenka_test_Mova; }

            set { this.Ocenka_test_Mova = value; }

        }

        /// <summary>

        /// Данные по школе

        /// </summary>

        public School SCHOOL

        {

            get { return this.school; }

            set { this.school = value; }

        }

        /// <summary>

        /// Итоговая оценка

        /// </summary>

        public double ITOG

        {

            get { return this.Itog; }

            set { this.Itog = value; }

        }

               

    }

}

 

Класс ABITURIENTU.cs:

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.Serialization.Formatters.Binary;

using System.IO;

 

namespace KURSOVOJ

{

    /// <summary>

    ///

    /// </summary>

    public class ABITURIENTU

    {

        /// <summary>

        /// Флаг редактирования

        /// </summary>

        public bool IsSaved;

        /// <summary>

        /// Список абитуриентов

        /// </summary>

        public List<ABITURIENT> Data_List;

        /// <summary>

        /// Конструктор

        /// </summary>

        public ABITURIENTU()

        {

            Data_List = new List<ABITURIENT>();

            this.IsSaved = false;

        }

        /// <summary>

        /// Добавить абитуриента

        /// </summary>

        /// <param name="item">Данные по абитуриенту</param>

        /// <returns></returns>

        public bool AddItem(ABITURIENT item)

        {

            try

            {

                this.Data_List.Add(item);

                return true;

            }

            catch (Exception)

            {

                return false;

            }

        }

        /// <summary>

        /// Удаление абитуриента

        /// </summary>

        /// <param name="position">Позиция с которой удаляем</param>

        /// <returns></returns>

        public bool DeleteItem(int position)

        {

            try

            {

                this.Data_List.RemoveAt(position);

                return true;

            }

            catch (Exception)

            {

                return false;

            }

        }

        /// <summary>

        /// Редактирование аббитуриента

        /// </summary>

        /// <param name="position">Позиция для редактирования</param>

        /// <param name="newAbiturient">Новые данные</param>

        /// <returns></returns>

        public bool EditItem(int position, ABITURIENT new_Abiturient)

        {

            try

            {

                Data_List[position] = new_Abiturient;

                return true;

            }

            catch (Exception)

            {

                return false;

            }

        }

        /// <summary>

        /// Сохранение базы

        /// </summary>

        /// <param name="fileName">Имя файла</param>

        /// <returns></returns>

        public bool SaveDataBase(string fileName)

        {

            try

            {

                FileStream saveStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);

                BinaryFormatter serFormater = new BinaryFormatter();

                serFormater.Serialize(saveStream, Data_List);

                saveStream.Close();

                return true;

            }

            catch (Exception)

            {

                return false;

            }

        }

        /// <summary>

        /// Открыть базу данных

        /// </summary>

        /// <param name="fileName">Имя файла</param>

        /// <returns></returns>

        public bool OpenDataBase(string fileName)

        {

            try

            {

                BinaryFormatter dserFormater = new BinaryFormatter();

                FileStream openStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);

 

                this.Data_List.Clear();

                this.Data_List = (List<ABITURIENT>)dserFormater.Deserialize(openStream);

 

                return true;

 

            }

            catch (Exception)

            {

                return false;

            }

        }

    }

}

Класс AboutDlg.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace KURSOVOJ

{

    public partial class AboutDlg : Form

    {

        public AboutDlg()

        {

            InitializeComponent();

        }

    }

}

Класс AddEditDialog.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace KURSOVOJ

{

    public partial class AddEditDialog : Form

    {

        public ABITURIENT.School _School;

 

        public double kMath;

        public double kMova;

        bool IsEDIT;

        public AddEditDialog()

        {

            InitializeComponent();           

        }

        //

        //

        //

        public AddEditDialog(double kMath, double kMova, bool IsEdit)

        {

            InitializeComponent();

            this.kMath = kMath;

            this.kMova = kMova;

            IsEDIT = IsEdit;

        }

        //

        //

        //

        private void btSchoolData_Click(object sender, EventArgs e)

        {

            AddEditSchoolDialog aesd = new AddEditSchoolDialog();

            if (IsEDIT)

            {

                aesd._FioBox.Text = _School.Fio;

                aesd._NumSchoolBox.Text = _School.School_name;

                aesd._YearBox.Text = _School.Date_kon.ToString();

                aesd._MarkMathBox.Text = _School.Att_math.ToString();

                aesd._MarkMovaBox.Text = _School.Att_mova.ToString();

            }

            if (aesd.ShowDialog() == DialogResult.OK)

            {

                this._School.Fio = aesd._FioBox.Text;

                this._School.School_name = aesd._NumSchoolBox.Text;

                this._School.Date_kon = int.Parse(aesd._YearBox.Text);

                this._School.Att_math = int.Parse(aesd._MarkMathBox.Text);

                this._School.Att_mova = int.Parse(aesd._MarkMovaBox.Text);

 

                this._tbMiddleMark.Text = Convert.ToString((this._School.Att_math + this._School.Att_mova) / 2);

            }

           

        }

        //

        //

        //

        private void _tbMarkMath_Validated(object sender, EventArgs e)

        {

            try

            {

                this._tbItog.Text = Convert.ToString(int.Parse(this._tbMarkMath.Text) * kMath

                        + int.Parse(this._tbMarkMova.Text) * kMova);

            }

            catch (Exception ex)

            {

                AddEditErrorProvider.SetIconAlignment(_tbMarkMath, ErrorIconAlignment.MiddleRight);

                AddEditErrorProvider.SetIconPadding(_tbMarkMath, 2);

                AddEditErrorProvider.BlinkRate = 500;

                AddEditErrorProvider.BlinkStyle = ErrorBlinkStyle.AlwaysBlink;

                AddEditErrorProvider.SetError(_tbMarkMath, "Недопустимое значение!");

            }

        }

        //

        //

        //

        private void _tbMarkMova_Validated(object sender, EventArgs e)

        {

            try

            {

                this._tbItog.Text = Convert.ToString(int.Parse(this._tbMarkMath.Text) * kMath

                        + int.Parse(this._tbMarkMova.Text) * kMova);

            }

            catch (Exception ex)

            {

                AddEditErrorProvider.SetIconAlignment(_tbMarkMath, ErrorIconAlignment.MiddleRight);

                AddEditErrorProvider.SetIconPadding(_tbMarkMath, 2);

                AddEditErrorProvider.BlinkRate = 500;

                AddEditErrorProvider.BlinkStyle = ErrorBlinkStyle.AlwaysBlink;

                AddEditErrorProvider.SetError(_tbMarkMath, "Недопустимое значение!");

            }

        }

        //

        //

        //

        private void _tbFio_Validated(object sender, EventArgs e)

        {

            if (_tbFio.Text == "")

            {

                AddEditErrorProvider.SetIconAlignment(_tbFio, ErrorIconAlignment.MiddleRight);

                AddEditErrorProvider.SetIconPadding(_tbFio, 2);

                AddEditErrorProvider.BlinkRate = 500;

                AddEditErrorProvider.BlinkStyle = ErrorBlinkStyle.AlwaysBlink;

                AddEditErrorProvider.SetError(_tbFio, "Не должно быть пустым");

            }

            else

            {

                AddEditErrorProvider.Clear();

            }

        }

 

        private void _cbFuck_Validated(object sender, EventArgs e)

        {

            if (_cbFuck.Text == "")

            {

                AddEditErrorProvider.SetIconAlignment(_cbFuck, ErrorIconAlignment.MiddleRight);

                AddEditErrorProvider.SetIconPadding(_cbFuck, 2);

                AddEditErrorProvider.BlinkRate = 500;

Информация о работе Разработка приложения для работы с много файловой базой данных