Главная » Все файлы » Просмотр файлов из архивов » Документы » Разработка ЭИС управления проектами для ЗАО «ДИАКОН»

Разработка ЭИС управления проектами для ЗАО «ДИАКОН», страница 9

2018-01-12СтудИзба

Описание файла

Документ из архива "Разработка ЭИС управления проектами для ЗАО «ДИАКОН» ", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диплом" в общих файлах.

Онлайн просмотр документа "Разработка ЭИС управления проектами для ЗАО «ДИАКОН»"

Текст 9 страницы из документа "Разработка ЭИС управления проектами для ЗАО «ДИАКОН»"

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

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

programProjectl;

uses Forms, Unitl in 'Unit1.pas' {Forml};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForml, Forml);

Application.Run;

end.

Использование модуля Forms обязательно для всех программ, создаваемых в среде Delphi, так как в этом модуле содержится описание класса TApplication, который лежит в основе всех Delphi-приложений. В приведенном примере первая строка содержит имя проекта. Это же имя используется в качестве имени приложения, если не задано другое. Оператор uses сообщает компилятору, что программа использует модуль с исходным кодом формы Unit1.pas, который описывает главную форму, включенную в данное приложение. Название формы (ее идентификатор) приводится в фигурных скобках. Следует иметь ввиду, что имя формы должно быть отлично от имени модуля, описывающего эту форму. Директива in указывает на то, что модуль является обязательной частью проекта, а не просто файлом, используемом в проекте. Директива $R подключает к проекту все необходимые ресурсы (файлы с расширением .res). Само изображение формы хранится в виде Windows-ресурса и имеет расширение .dfm.

Далее начинается главный блок программы, в котором создается форма и содержится команда запуска основного цикла приложения. Вызов метода Application.Initialize приводит к инициализации самого приложения, представленного экземпляром класса TApplication. Метод Application.Create-Form загружает и инициализирует форму, a Application.Run начинает выполнение приложения и загружает главную форму. При добавлении к проекту новой формы или нового модуля. Delphi автоматически добавляет соответствующий оператор uses в файл проекта. Аналогично добавляются методы Application.CreateForm, для загрузки и инициализации дополнительных форм, используемых в данном приложении.

Во избежание потери целостности приложения, как правило, не вносятся изменения в файлы проектов, так как среда Delphi автоматически управляет этими файлами.

Если несколько проектов объединены в группу, то для управления взаимосвязанными проектами используется файл группы проектов. Файлы групп проектов имеют расширение .bpg.

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

3.2.2 Сценарий диалога ЭИС

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

Развитие диалога во времени можно рассматривать как последовательность переходов системы из одного состояния в другое. Ни одно из этих состояний не должно быть тупиковым, т.е. пользователь должен иметь возможность перейти из любого текущего состояния диалога в требуемое (за один или несколько шагов). Для этого в ходе разработки интерфейса необходимо определить все возможные состояния диалога и пути перехода из одного состояния в другое ― разработать сценарий диалога.

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

Степень неопределенности действий пользователя зависит от выбранной структуры диалога. Наибольшей детерминированностью обладает диалог на основе меню, наименьшей – диалог типа «вопрос-ответ», управляемый пользователем.

Способ описания сценария диалога зависит от степени его сложности. Методы описания сценариев делятся на две группы: неформальные и формальные методы.

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

Сценарий диалога пользователя представлен на Рисунке 3.2.

ЭИС управления проектами



Идентификация пользователя



Справочники

Отчеты

Печатные формы

Проекты



План-график проекта

Персонал

Затратына проект

Проектная команда

Отчет о

сроках



Отчет о затратах


Приказ о создании проектной команды и установление тарифа оплаты

Роли

Отклонения по проекту

План-график проекта



Проектная документация

Назначения на проект

Отчёт об отклонениях



Отчет о текущем состоянии



Отчет о проектах компании


Рисунок 3.2 — Сценарий диалога пользователя

3.2.3 Описание функций ЭИС

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

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

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

К основным функциям разрабатываемой системы можно отнести:

  • планирование проекта;

  • контроль проекта;

  • расчет плановых и фактических затрат на проект;

  • расчет материальных и трудовых затрат;

  • ведение справочной информации;

  • генерация отчетов;

  • формирование печатных форм.

К служебным функциям относятся:

  • связь с базой данных;

  • идентификация пользователя;

  • разграничение полномочий.

На Рисунке 3.3 представлено дерево функций системы.

Функции системы управления проектами





Основные функции

Служебные функции



Связь с базой данных


Расчет материальных и трудовых затрат

затрат

Расчет плановых и фактических

затрат на проект

Контроль выполнения

проекта

Планирование проекта



Идентификация пользователя




Формирование печатных форм

Генерация

отчетов

Ведение справочной информации

Разграничение полномочий



Рисунок 3.3 — Дерево функций системы

Ниже представлен программный код некоторых функций системы.

Листинг 3.1 — Создание новой роли

procedure TfrmAddNewRole.FormActivate(Sender: TObject);

begin

NewRoleID:=dtmConnection.qurJobs.RecordCount + 1;

dtmConnection.dtsJobs.DataSet.Insert;

end;

procedure TfrmAddNewRole.cmbOkRoleClick(Sender: TObject);

begin

dtmConnection.dtsJobs.DataSet.FieldByName('ID').Value:=NewRoleID;

dtmConnection.dtsJobs.DataSet.Post;

dtmConnection.qurJobs.Refresh;

frmAddNewRole.Close;

end;

Листинг 3.2 — Добавление нового персонала

procedure TfrmPersonel.FormActivate(Sender: TObject);

varNewPersonelID:integer;

begin

if frmMain.AddNewPersonel=True then

begin

dtmConnection.dtsPersonal.DataSet.Insert;

NewPersonelID:=dtmConnection.qurPersonal.RecordCount + 1;

dtmConnection.dtsPersonal.DataSet.FieldByName('ID').Value:=NewPersonelID;

end;

end;

procedure TfrmPersonel.cmbOkPersonelClick(Sender: TObject);

begin

if frmMain.AddNewPersonel=True then

begin

dtmConnection.dtsPersonal.DataSet.Post;

frmPersonel.Close;

end;

end;

Листинг 3.3 — Назначение на проект

procedure TfrmProjectTeam.cmbOkProjectTeamClick(Sender: TObject);

varNewEntry:integer;

begin

dtmConnection.qurProjectTeam.Post;

cmbJob.DataSource:=frmProjectDetails.dtsProjectTeam;

cmbPersonel.DataSource:=frmProjectDetails.dtsProjectTeam;

frmProjectDetails.qurProjectTeam.Active:=False;

frmProjectDetails.qurProjectTeam.Active:=True;

dtmConnection.qurProjectTeam.Active:=False;

dtmConnection.qurProjectTeam.Active:=True;

frmProjectTeam.Close;

end;

procedure TfrmProjectTeam.FormActivate(Sender: TObject);

varNewEntry:integer;

begin

NewEntry:=dtmConnection.qurProjectTeam.RecordCount;

NewEntry:=NewEntry+12;

cmbJob.DataSource:=dtmConnection.dtsProjectTeam;

cmbPersonel.DataSource:=dtmConnection.dtsProjectTeam;

Продолжение Листинга 3.3

if frmProjectDetails.AddNewProjectTeam=True then

with dtmConnection do

begin

dtsProjectTeam.Dataset.Insert;

dtsProjectTeam.DataSet.FieldByName('ID').Value:=NewEntry;

dtsProjectTeam.DataSet.FieldByName('ProjectID').Value:=frmProjectDetails.ProjectID;

end;

Листинг 3.4 — Добавление стадии или проекта

procedure TfrmProjectDetails.cmbAddNewEntryClick(Sender: TObject);

begin

ckbIsFixated.DataSource:=dtmConnection.dtsProject;

txtPlanBeginDate.DataSource:=dtmConnection.dtsProject;

txtPlanEndDate.DataSource:=dtmConnection.dtsProject;

txtPlanManHour.DataSource:=dtmConnection.dtsProject;

txtFactBeginDate.DataSource:=dtmConnection.dtsProject;

txtFactEndDate.DataSource:=dtmConnection.dtsProject;

txtFactManHour.DataSource:=dtmConnection.dtsProject;

txtNameProject.DataSource:=dtmConnection.dtsProject;

cmbStatusProject.DataSource:=dtmConnection.dtsProject;

cmbTypeProject.DataSource:=dtmConnection.dtsProject;

dtmConnection.dtsProject.DataSet.Insert;

end;

procedure TfrmProjectDetails.cmbCancelEntryClick(Sender: TObject);

begin

dtmConnection.dtsProject.DataSet.Cancel;

ckbIsFixated.DataSource:=dtsProjectDetails;

txtPlanBeginDate.DataSource:=dtsProjectDetails;

txtPlanEndDate.DataSource:=dtsProjectDetails;

txtPlanManHour.DataSource:=dtsProjectDetails;

txtFactBeginDate.DataSource:=dtsProjectDetails;

txtFactEndDate.DataSource:=dtsProjectDetails;

txtFactManHour.DataSource:=dtsProjectDetails;

txtNameProject.DataSource:=dtsProjectDetails;

cmbStatusProject.DataSource:=dtsProjectDetails;

cmbTypeProject.DataSource:=dtsProjectDetails;

Label10.Visible:=False;

cmbTypeEntry.Visible:=False;

end;

procedure TfrmProjectDetails.cmbApplyEntryClick(Sender: TObject);

varNewEntryID,ParentProject, ParentStage:integer;

begin

if cmbTypeEntry.Text='' then

begin

ShowMessage('Не выбран тип новой записи');

cmbTypeEntry.SetFocus;

Exit;

end;

dtmConnection.dtsProject.DataSet.FieldByName('ID').Value:=NewEntry;

dtmConnection.dtsProject.DataSet.FieldByName('ParentProjectID').Value:=ProjectID;

if cmbTypeEntry.Text='Новаястадия' then

Продолжение Листинга 3.4

begin

dtmConnection.dtsProject.DataSet.FieldByName('ParentStageID').Value:=NewEntry;

dtmConnection.dtsProject.DataSet.FieldByName('ParentWorkID').Value:=0;

end;

if cmbTypeEntry.Text='Новаяработа' then

begin

dtmConnection.dtsProject.DataSet.FieldByName('ParentStageID').Value:=dtsProjectDetails.DataSet.FieldValues['ID'];

dtmConnection.dtsProject.DataSet.FieldByName('ParentWorkID').Value:=NewEntry;

end;

dtmConnection.dtsProject.DataSet.Post;

ckbIsFixated.DataSource:=dtsProjectDetails;

txtPlanBeginDate.DataSource:=dtsProjectDetails;

txtPlanEndDate.DataSource:=dtsProjectDetails;

txtPlanManHour.DataSource:=dtsProjectDetails;

txtFactBeginDate.DataSource:=dtsProjectDetails;

txtFactEndDate.DataSource:=dtsProjectDetails;

txtFactManHour.DataSource:=dtsProjectDetails;

txtNameProject.DataSource:=dtsProjectDetails;

cmbStatusProject.DataSource:=dtsProjectDetails;

cmbTypeProject.DataSource:=dtsProjectDetails;

qurProjectDetails.Active:=False;

qurProjectDetails.Active:=True;

cmbTypeEntry.Visible:=True;

Label10.Visible:=True;

dbgProjectDetails.Group(4);

dbgProjectDetails.SubGroup(5);

end;

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5288
Авторов
на СтудИзбе
417
Средний доход
с одного платного файла
Обучение Подробнее