Главная страница
Навигация по странице:

  • Нажатие кнопки «Добавить»

  • авторасписание на delphi. Дипломная работа авторасписание. Дипломная работа по теме Разработка программы менеджера для составления учебного расписания


    Скачать 1.59 Mb.
    НазваниеДипломная работа по теме Разработка программы менеджера для составления учебного расписания
    Анкоравторасписание на delphi
    Дата23.02.2023
    Размер1.59 Mb.
    Формат файлаdocx
    Имя файлаДипломная работа авторасписание.docx
    ТипДиплом
    #951460
    страница3 из 5
    1   2   3   4   5

    Нажатие кнопки «Открыть файл»


    Рисунок 4 – Диаграмма Последовательности сценария 1.1

    Сценарий 1.2 – «Внесение данных через форму»

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

    Кроме этого также описывается реакция системы на внос некорректных данных (Исключение 1).
    Таблица 4 – сценарий внесение данных через форму


    Действие актѐра

    Ответ системы

    1. Пользователь нажимает на кнопку «Добавить».

    1. Система открывает меню с определёнными полями для внесения информации и указаниями к этим полям.

    1. Пользователь вносит заполняет все поля предложенной формы.




    1. После заполнения всех полей, Пользователей нажимает кнопку «Ок».

    1. Система проверяет информацию на допустимость типов.




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


    Таблица 5 – Исключение 1 сценария внесения данных через форму


    Действие актѐра

    Ответ системы




    1. Система находит несоответствие вносимых данных, требуемому типу.




    1. Система сигнализирует, что введены неправильные данные, сохраняя содержимое поля.

    1. Пользователь заполняет все поля предложенной формы.





    Нажатие кнопки «Добавить»

    Рисунок 5 – Диаграмма Последовательности сценария 1.2
    Сценарий 2.1 – «Просмотр введѐнных данных»

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

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

    Сценарий 2.2 – «Просмотр расписания»

    Сценарий, рассматривающий запрос пользователя на показ расписания.
    Таблица 6 – сценарий просмотра расписания


    Действие актѐра

    Ответ системы

    1. Пользователь нажимает на кнопку «Печать».

    1. Система открывает меню, содержащее выпадающий список, уточняющий группу, по которой просматривается расписание.

    1. Пользователь выбирает группу, по которой просматривается расписания, после нажимает на кнопку «Вперёд».

    1. Система открывает меню, содержащее список форм таблицы

    1. Пользователь выбирает в выпадающем меню, форму таблицы расписания, и нажимает кнопку «Вперёд».

    1. Система открывает меню, содержащее параметры таблиц

    1. Пользователь выбирает параметры таблицы, нажимает на кнопку «Вперёд»

    1. Система открывает меню настройки цветовой палитры таблицы расписания.

    1. Пользователь настраивает палитру цвета таблицы и нажимает кнопку «Вперёд»

    1. Система открывают меню с выбором формата файла с расписанием

    1. Пользователь выбирает формат файла расписания и нажимает кнопку «Печать»

    1. Система открывает диалоговое окно «проводник», для выбора директории куда нужно сохранить файл с расписанием

    1. Пользователь выбирает директорию, и сохраняет файл





    Сценарий 3.1 – «Удаление данных»

    Сценарий «удаление данных» описывает поведение пользователя, целью которого является удаление сведений из программы. В сценарии так же продемонстрирована реакция системы.

    Таблица 7 – сценарий удаления данных


    Действие актѐра

    Ответ системы

    1. Пользователь выбирает объект и нажимает на кнопку «Удаление».

    1. Система открывает меню с подтверждением удаления, с вариантом ответов «ок\отмена».

    1. Пользователь нажимает на кнопку «ок»

    1. Система удаляет выбранный объект.

    Сценарий 4.1 – «Создание расписания»

    Данный сценарий представляет собой алгоритм действий пользователя, для составления расписания
    Таблица 8 – сценарий составления расписание


    Действие актёра

    Ответ системы

    1. Нажимает вкладку «Расписание» в меню

    1. Система открывает два таблицы, первая отвечает за составление расписание, во второй появляются часы предметов внесенные в списки ранее (раскрашены в разные цвета для удобства ориентирования)

    1. Выбирает предмет и перетягивает его а таблицу расписания

    1. Система переносит выбранный предмет в область ячейки таблицы расписания и перекрашивает ячейку в другой цвет, запоминает расположение в таблице, название и преподавателя этого предмета




        1. Разработка ER диаграммы


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

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

    Таблица групп (а1) – представляет из себя справочник групп с указанием их: названия, курса, кода, программы подготовки, id и даты возникновения;

    Таблица аудиторий (а2) – представляет из себя справочник аудиторий с указанием их: занятости, корпуса, id (номер внутри корпуса), типа аудитории;

    Таблица преподавателей (а3) – представляет собой справочник преподавателей, включающий их: Полное имя, желаемый свободный день, id, ведомые предметы (5), приоритет, желаемую смену работы, должность, занятость;

    Таблица предметов (а4) – представляет собой справочник предметов, включающий их: id, название, требуемый тип класса;

    Таблица учебного плана (а5) представляет собой справочник учебного плана, каждая запись которого включает: id, код обучения, курс, количество подгрупп, количество практических занятий, количество теоретических занятий, предмет, назначенный преподаватель, тип обучения;

    Таблица сохранения расписания (а6) – сдержит в себе последовательные записи всех пар по всем группам (пары записываются исключительно последовательно (с 1 по 60), поэтому дополнительная нумерация не требуется);

    Таблица настроек параметров составления расписания (а7) – справочник параметров составления расписания: Допустимость занятий в разных корпусах; Количество учебных недель; Допустимость окон у студентов; Допустимость окон у Преподавателей; Допустимость совместных пар.

    Рисунок 6 – ER – диаграмма таблиц базы данных

          1. ТЕОРИЯ DELPHI, РАЗРАБОТКА ПРОГРАММЫ ПО АВТОМАТИЧЕСКОМУ СОСТАВЛЕНИЯ РАСПИСАНИЯ




      1. История языка Delphi


    Delphi — императивный, структурированный, объектно-ориентированный, высокоуровневый язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения.

    Этот язык программирования является диалектом языка Object Pascal. Изначально язык Object Pascal относился к несколько другому языку, который был разработан в фирме Apple в 1986 году группой Ларри Теслера. Однако, начиная с Delphi 7, в официальных документах компании Borland название Delphi стало использоваться для обозначения языка, ранее известного как Object Pascal.

    Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемую интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

    Также отличительным свойством Object Pascal от C++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».

    Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.

    Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.

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

    • Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET.

    Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.

    Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.

    В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.


      1. Философия и отличия от популярных прикладных языков программирования


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

    Так, сложность объектного C++, по сравнению с C, выросла весьма существенно и затруднила его изучение в качестве первого языка программирования, чего нельзя сказать об Object Pascal относительно Pascal.

    Ниже перечислены некоторые отличия синтаксических конструкций Delphi от семейства C-подобных языков (C/C++/Java/C#):

    • В Delphi формальное начало любой программы чётко отличается от других участков кода и должно располагаться в определённом, единственном в рамках проекта, исходном файле с расширением dpr (тогда как другие файлы исходных текстов программы имеют расширение pas).

    program Project32;
    {$APPTYPE CONSOLE}
    {$R *.res}
    uses

    System.SysUtils;
    begin

    try

    { TODO -oUser -cConsole Main: Insert code here }

    except

    on E: Exception do

    Writeln(E.ClassName, ': ', E.Message);

    end;

    end.
    Рис.7 Начало проекта в delphi
    В С-подобных языках программирования в качестве входа обычно используется глобальная функция или статический метод с именем main и определённым списком параметров, при чём такая функция может быть расположена в любом из файлов исходного текста проекта.

    • В Delphi идентификаторы типов, переменных, а равно и ключевые слова читаются независимо от регистра: например, идентификатор SomeVar полностью эквивалентен somevar. Регистро-зависимые идентификаторы в начале компьютерной эпохи ускоряли процесс компиляции, и кроме того, позволяли использовать очень короткие имена, порой отличающиеся лишь регистром.

    И хотя к настоящему времени обе эти практики − использование нескольких идентификаторов, различающихся лишь регистром, равно как и чрезмерная их лаконичность, осуждены и не рекомендованы к применению, практически все унаследованные от С языки − C++, Java, C# − являются регистро-зависимыми, что, с одной стороны, требует достаточно большой внимательности к объявлению и использованию идентификаторов, а с другой — принуждает писать более строгий код, когда каждая переменная имеет чётко определённое имя (вариации регистра могут вызвать путаницу и ошибки).

    • В Delphi в исходных файлах .pas (которые, как правило, и содержат основное тело программы) на уровне языковых средств введено строгое разделение на интерфейсный раздел и раздел реализации. В интерфейсной части содержатся лишь объявления типов и методов, тогда как код реализации в интерфейсной части не допускается на уровне компиляции. Подобное разделение свойственно также языкам C/C++, где в рамках культуры и парадигмы программирования вводится разделение на заголовочные и собственно файлы реализации, но подобное разделение не обеспечивается на уровне языка или компилятора.

    В C# и Java такое разделение утрачено вовсе − реализация метода, как правило, следует сразу же после его объявления. Инкапсуляция обеспечивается лишь принадлежностью метода к той или иной области видимости. Для просмотра одной только интерфейсной части модуля исходного кода используются специальные средства.

    • В Delphi метод или функция чётко определяются зарезервированными для этого ключевыми словами procedure или function, тогда как в C-подобных языках различие обуславливается ключевым словом, определяющим тип возвращаемого значения:

    //Delphi

    procedure DoSomething (aParam: Integer); //не возвращает значения

    function Calculate (aParam1, aParam2: Integer): Integer; //возвращает целочисленный результат

    //C#

    void DoSomething(int aParam); // не возвращает значения

    {

    // code

    }

    int Calculate(int aParam1, aParam2); // возвращает целочисленный результат

    {

    // code

    }

    Рис. 8. Метод или функция в delphi

    Тем сложнее в C#/C++ выглядят такие конструкции, как объявление типа «указатель на метод»:

    //C++: объявление типа pCalc, указателя на функцию-член, принимающую два целочисленных параметра и возвращающую целочисленный результат
    1   2   3   4   5


    написать администратору сайта