Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • ЗАКЛЮЧЕНИЕ. Системное программное обеспечение

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

    по дисциплине

    Системное программное обеспечение

     

    на тему

    Органайзер-ежедневник

     

    Пояснительная записка

     

    Студент группы ВС2 – 08 …………………………………..Курков М. О.

    (Подпись, дата)

     

    Руководитель канд. техн. наук, доцент ………………….. Тонкий Л. В.

    (Подпись, дата)

     

     

    Рыбинск 2011


    Содержание

    Введение………………………………………………………………………...  
    1 Анализ технического задания………………………………………………..  
    2 Разработка блок-схемы алгоритма…………………………………………..  
    3 Разработка и описание программы………………………………………….  
    4 Руководство пользователя…………………………………………………...  
    4.1 Назначение программы…………………………………………………..  
    4.2 Минимальные системные требования ………….…………………..…..  
    4.3 Описание работы программы …………..……………………………….  
    5 Текст программы……………………………………………………………..  
    Заключение……………………………………………………………………...  
    Список использованных источников………………………………………….  

     


    ВВЕДЕНИЕ

     

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


    1 АНАЛИЗ ТРЕБОВАНИЙ ТЕХНИЧЕСКОГО ЗАДАНИЯ

     

    Реализация этой программы осуществляется в среде программирования Visual Studio 2010 на языке C#.

    При запуске программы перед пользователем появляется главное окно (форма) программы. Она включает календарь, в котором можно посмотреть расписание на любой день, набор кнопок, нажатие на которые приводит к появлению соответствующего дня недели (от понедельника до вторника). Главным является компонент ListBox, который собственно и отображает занятия, меню MainMenu, предназначенное для управления работой программы. Главное меню содержит набор функций для работы со списком:

    - Создание;

    - Загрузка списка;

    - Сохранение;

    - Завершение работы.

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


    2 РАЗРАБОТКА БЛОК-СХЕМ АЛГОРИТМОВ

    Основной алгоритм работы программы представлен следующей блок-схемой на рисунке

    Рисунок 2.1 – Блок-схема работы программы


    3 РАЗРАБОТКА И ОПИСАНИЕ ПРОГРАММЫ

     

    1) Получение системного времени и даты.

    Для этого используется тип данных DateTime и метод Now. Тип данных dateTimeFormats служит для удобного преобразования времени в строковый формат. Текущее время и дата отображаются над списком задач.

     

    2) Разработка секции хранения событий.

    Разработана соответствующая структура xml для хранения всех заметок и заданий. Также их можно удобно редактировать кликнув по кнопке «Добавить/Изменить».

     

    3) Разработка и реализация секундомера.

    Управление программой осуществляется из меню MainMenu. Возможны следующие операции:

    - Создание нового списка заметок;

    - Открытие окна настроек;

    - Открытия окна «О программе»

    - Завершение работы программы.

     


    4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

    4.1 НАЗНАЧЕНИЕ ПРОГРАММЫ

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

    - Интуитивно понятный, простой интерфейс, удобный ввод расписания

    - Напоминание о занятиях

    - Учитывать четные/нечетные учебные недели
    4.2 МИНИМАЛЬНЫЕ СИСТЕМНЫЕ ТРЕБОВАНИЯ

    – IBM совместимый компьютер с микропроцессором Intel Pentium;

    – 10 Мб свободного пространства на HDD;

    – не менее 64 Мб оперативной памяти;

    – видеоадаптер SVGA;

    – программный продукт должен корректно выполняться в

    операционных системах Windows XP/Vista/7;

    – среда разработки – Visual Studio 2010.NET

    – средства управления: клавиатура, манипулятор типа «мышь».

    Программа представляет собой единый *.exe файл с названием «My Goals.exe».


    4.3 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ

    При запуске программы появляется основное окно, рисунок 4.1.

    Рисунок 4.1 – Основное окно программы

    Слева находится календарь, справа от него кнопки выбора дня недели ПН…СБ. В верхней части программы отображается день недели, номер и четность/нечетность недели, дата и время. Справа находится ListBox, в котором отображаются текущие заметки и задания. В верхней части окна располагается меню и панель инструментов рисунок 4.2

    Рисунок 4.2 – Панель инструментов

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

    Форма управления расписанием(рисунок 4.3).

     

    При клике на кнопку «Добавить/Изменить» появляется форма 4.3, где можно удобно ввести свое расписание. В форме присутствует три поля:

    1. Наименование предмета

    2. Тип: лекция/практика

    3. На четной или нечетной неделе

     

     


    5 ИСХОДНЫЙ КОД ПРОГРАММЫ

     

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Xml;

    using System.IO;

    using System.Globalization;

     

    namespace WindowsFormsApplication1

    {

    public partial class Form1: Form

    {

    public static string[] MON1 = new string[6]; //массивы строк для хранения

    public static string[] MON2 = new string[6]; //занятий на каждый день

    public static string[] MON3 = new string[6];

    public static string[] MON4 = new string[6];

    public static string[] MON5 = new string[6];

     

    public static string[] THU1 = new string[6];

    public static string[] THU2 = new string[6];

    public static string[] THU3 = new string[6];

    public static string[] THU4 = new string[6];

    public static string[] THU5 = new string[6];

     

    public static string[] WEN1 = new string[6];

    public static string[] WEN2 = new string[6];

    public static string[] WEN3 = new string[6];

    public static string[] WEN4 = new string[6];

    public static string[] WEN5 = new string[6];

     

    public static string[] THUR1 = new string[6];

    public static string[] THUR2 = new string[6];

    public static string[] THUR3 = new string[6];

    public static string[] THUR4 = new string[6];

    public static string[] THUR5 = new string[6];

     

    public static string[] FRI1 = new string[6];

    public static string[] FRI2 = new string[6];

    public static string[] FRI3 = new string[6];

    public static string[] FRI4 = new string[6];

    public static string[] FRI5 = new string[6];

     

    public static string[] SAT1 = new string[6];

    public static string[] SAT2 = new string[6];

    public static string[] SAT3 = new string[6];

    public static string[] SAT4 = new string[6];

    public static string[] SAT5 = new string[6];

     

    public static string ss = String.Empty;

    static public string peremen = String.Empty;

    public static DateTime CurrTime; //текущее время

    public static int nWeekNumber;

    public static int day;

    public static int week;

    public Form1()

    {

    InitializeComponent();

    }

     

    static void Read()

    {

    //Чтение настроек

     

    if (! File.Exists(@" settings.xml"))

    {

    MessageBox.Show(" File 'Settings.xml' Not Found! ", " Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

    }

    else

    {

    XmlReader reader1 = XmlReader.Create(@" settings.xml");

    if (! reader1.Read())

    {

    MessageBox.Show(" Read Error", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    else

    {

    while (reader1.Read())

    {

    if (reader1.Name == " WEEK")

    {

    week = Convert.ToInt32(reader1.ReadInnerXml());

     

    }

    }

    }

    }

    if (! File.Exists(@" Week.xml"))

    {

    MessageBox.Show(" File Not Found! ", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    else

    {

    XmlReader reader = XmlReader.Create(@" Week.xml");

    if (! reader.Read())

    {

    MessageBox.Show(" Read Error", " Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    else

    {

    while (reader.Read())

    {

    if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 1")

    {

    peremen = reader.ReadInnerXml();

    MON1 = peremen.Split('? ');

     

    }

    if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 2")

    {

    peremen = reader.ReadInnerXml();

    MON2 = peremen.Split('? ');

     

    }

    if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 3")

    {

    peremen = reader.ReadInnerXml();

    MON3 = peremen.Split('? ');

     

    }

    if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 4")

    {

    peremen = reader.ReadInnerXml();

    MON4 = peremen.Split('? ');

     

    }

    if (reader.Name == " MONDAY" & & reader.GetAttribute(" id") == " 5")

    {

    peremen = reader.ReadInnerXml();

    MON5 = peremen.Split('? ');

    }

    //--------------------------------------------------------------------

     

    if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 1")

    {

    peremen = reader.ReadInnerXml();

    THU1 = peremen.Split('? ');

     

    }

    if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 2")

    {

    peremen = reader.ReadInnerXml();

    THU2 = peremen.Split('? ');

     

    }

    if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 3")

    {

    peremen = reader.ReadInnerXml();

    THU3 = peremen.Split('? ');

     

    }

    if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 4")

    {

    peremen = reader.ReadInnerXml();

    THU4 = peremen.Split('? ');

     

    }

    if (reader.Name == " THUESDAY" & & reader.GetAttribute(" id") == " 5")

    {

    peremen = reader.ReadInnerXml();

    THU5 = peremen.Split('? ');

    }

     

    if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 1")

    {

    peremen = reader.ReadInnerXml();

    WEN1 = peremen.Split('? ');

     

    }

    if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 2")

    {

    peremen = reader.ReadInnerXml();

    WEN2 = peremen.Split('? ');

     

    }

    if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 3")

    {

    peremen = reader.ReadInnerXml();

    WEN3 = peremen.Split('? ');

     

    }

    if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 4")

    {

    peremen = reader.ReadInnerXml();

    WEN4 = peremen.Split('? ');

     

    }

    if (reader.Name == " WENSDAY" & & reader.GetAttribute(" id") == " 5")

    {

    peremen = reader.ReadInnerXml();

    WEN5 = peremen.Split('? ');

    }

     

    }

    reader.Close();

    }

    }

     

    private void button1_Click(object sender, EventArgs e)

    {

    Form F = new Form2();

    F.Show();

    }

     

     

    public string dayofweek(int d, int m, int y)

    {

    int result = 0;

    int n = 0;

    string return_s = " ";

    if (m > 2)

    {

    m = m + 1;

    }

    else

    {

    m = m + 13;

    y = y - 1;

    }

    n = 36525 * y / 100 + 306 * m / 10 + d - 621050;

    result = n - n / 7 * 7 + 1;

     

    switch (result)

    {

    case 1:

    return_s = " Понедельник";

    break;

    case 2:

    return_s = " Вторник";

    break;

    case 3:

    return_s = " Среда";

    break;

    case 4:

    return_s = " Четверг";

    break;

    case 5:

    return_s = " Пятница";

    break;

    case 6:

    return_s = " Суббота";

    break;

    case 7:

    return_s = " Воскресение";

    break;

    }

    return return_s;

    }

    private int week_of_year()

    {

    DateTime dtNow = DateTime.Now;

    return 0;

    }

     

    private void label1_Click(object sender, EventArgs e)

    {

    MessageBox.Show(DateTime.Now.DayOfWeek.ToString());

    DateTime dtNow = DateTime.Now;

     

    int nWeekNumber = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(dtNow,

    System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);

    label1.Text = nWeekNumber.ToString();

     

    }

    private void Weeks()

    {

    Form F3 = new Form3();

     

    }

     

    private void Form1_Load(object sender, EventArgs e)

    { Read();

    DateTime dtNow = DateTime.Now;

    switch (dtNow.DayOfWeek)

    {

     

    case DayOfWeek.Monday:

    button2_Click(sender, e);

    MessageBox.Show(" MON");

    break;

    case DayOfWeek.Tuesday:

    button3_Click(sender, e);

    break;

    case DayOfWeek.Wednesday:

    button4_Click(sender, e);

    break;

    case DayOfWeek.Thursday:

    button5_Click(sender, e);

    break;

    case DayOfWeek.Friday:

    button6_Click(sender, e);

    break;

    case DayOfWeek.Saturday:

    button7_Click(sender, e);

    break;

     

    }

     

    }

     

    private void timer1_Tick(object sender, EventArgs e)

    {

    CurrTime = DateTime.Now;

    DateTimeFormatInfo dateTimeFormats;

    dateTimeFormats = new CultureInfo(" ru-RU").DateTimeFormat;

    string s;

    if (week % 2 == 0)

    s = " Четная";

    else s = " Нечетная";

     

    day = monthCalendar1.TodayDate.ToString()[0];

    nWeekNumber = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(CurrTime,

    System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday);

    label2.Text = CurrTime.ToString(" dddd")+" / " +week.ToString() + s + " неделя ";

    label3.Text = CurrTime.ToString();

    }

     

    private void button2_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i+1+". " +MON5[i]+" - " +MON1[i]);

     

    }

    }

     

     

    private void button3_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i + 1 + ". " + THU5[i] + " - " + THU1[i]);

     

    }

    }

     

    private void button4_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i + 1 + ". " + WEN5[i] + " - " + WEN1[i]);

     

    }

    }

     

    private void button5_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i + 1 + ". " + THUR5[i] + " - " + THUR1[i]);

     

    }

    }

     

    private void button6_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i + 1 + ". " + FRI5[i] + " - " + FRI1[i]);

     

    }

    }

     

    private void button7_Click(object sender, EventArgs e)

    {

    listBox1.Items.Clear();

    for (int i = 0; i < = 5; i++)

    {

    listBox1.Items.Add(i + 1 + ". " + SAT5[i] + " - " + SAT1[i]);

     

    }

    }

     

    private void toolStripButton2_Click(object sender, EventArgs e)

    {

    Form F3 = new Form3();

    F3.Show();

    }

     

    private void quitToolStripMenuItem_Click(object sender, EventArgs e)

    {

    Close();

    }

     

    private void settingsToolStripMenuItem_Click(object sender, EventArgs e)

    {

    Form F3 = new Form3();

    F3.Show();

    }

     

    private void добавитьИзменитьToolStripMenuItem_Click(object sender, EventArgs e)

    {

    Form F2 = new Form2();

    F2.Show();

    }

    }

    }

     


    ЗАКЛЮЧЕНИЕ

    В результате работы было создано удобное и практичное приложение «Органайзер-ежедневник». Были получены навыки работы с функциями в среде проектирования Visual Studio 2010 вместе с.NET 4.0. Были выполнены все функциональные требования и требования по надежности изложенные в техническом задании.


    <== предыдущая лекция | следующая лекция ==>
    Методичні вказівки. До самостійної роботи длявиконання практичної роботи | Определение титруемой кислотности в молоке




    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.