
- •1.2.3. Выявление организационной структуры организации, определение функций ее подразделений и основных бизнес процессов.
- •1.2.3.1. Форма отчёта о подразделениях предприятия
- •1.2.3.2. Положение о бизнес процессах (бп).
- •1.2.4. Исследование функций структуры и деятельности базового подразделения
- •Для ведения рестра
- •Для доставки документов
- •Организация учета расчетов по социальному страхованию и обеспечению
- •1.2.4.1. Выявление бизнес - процессов базового подразделения
- •1.3. Формулировка требований к системе.
- •1.3.1. Состав бизнес процессов предприятия. Выявление типовых бизнес решений.
- •1.3.2. Содержание бизнес процессов. Диаграммы деятельности.
- •1.3.3. Конечная формулировка требований и концепции системы.
- •2. Анализ и проектирование.
- •2.1. Определение состава классов анализа.
- •2.2. Определение методов объектов.
- •Завершение контроля документа
- •Поиск документа
- •Редактировани состояния исполнения
- •Редактирование документа
- •Учёт контрольных карточек
- •2.3. Формирование диаграммы классов.
- •2.4. Предварительное определение состава хранимых данных.
- •2.5. Предварительное определение состава пользовательского интерфейса
- •3. Разработка системы централизованного хранения и обработки данных
- •3.1 Формирование требований в базе данных.
- •3.2. Формирование отношений базы данных.
- •3.2. Выявление связей отношений.
- •3.3. Даталогическое проектирование
- •3.4. Организация бизнес логики на стороне сервера
- •3.5. Реализация выявленных механизмов.
- •4.2. Определение физической архитектуры данных.
- •4.2.1. Определение состава компонент.
- •4.2.2. Разработка компонент.
- •4.2.2.1. Выбор технологии реализации пользовательской компоненты.
- •4.2.3. Уточнение состава экранных форм. Определение конкретных типов управляющих элементов для форм.
- •4.2.4. Определение технологии доступа к компонентам данных.
- •4.3. Разработка программы для импорта бд из Excel в MsSql
- •5. Аппаратная и административная интеграция ис.
- •5.1. Разработка схемы развертывания.
- •5.1.2. Формулировка требований к физическим устройствам и сетевому оборудованию, состав рабочих мест.
- •5.1.2. Выбор состава аппаратных средств.
- •5.1.3. Расчет потребности персонала.
- •5.2. Разработка среды интеграции.
- •5.2.1. Выбор сетевой архитектуры и технологии.
- •5.2.1.1. Выбор архитектуры.
- •5.2.1.2. Выбор технологии и аппаратных средств. Расчет сети.
- •5.2.2. Разработка среды связи с внешними объектами.
- •6. Общие вопросы администрирования.
- •6.1. Определение стратегии администрирования на уровне руководства и целей предприятия.
- •6.2. Определение объектов администрирования.
- •6.3. Политика администрирования.
- •6.3.1. Права пользователей.
- •6.3.2. Установка пароля.
- •7. Вопросы информационной безопасности.
- •8. Тестирование.
- •9. Функционально-стоимостной анализ отдела гпд
- •9.1 Расчет затрат на разработку системы
- •9.1.1. Затраты на приобретение материалов
- •9.1.2. Затраты на заработную плату разработчикам системы и отчисления на есн
- •9.1.3. Затраты на электроэнергию
- •9.1.4. Накладные расходы
- •9.1.5. Смета затрат на разработку системы
- •9.2 Расчет эксплуатационных затрат
- •9.2.1. Затраты на заработную плату
- •9.2.4 Затраты на электроэнергию
- •9.2.5 Накладные расходы
- •9.2.6 Затраты на материалы
- •9.2.7 Смета эксплуатационных затрат
- •9.3 Расчет экономической эффективности
- •Список литературы
3.4. Организация бизнес логики на стороне сервера
Все механизмы по изменению данных в базе решено организовать на стороне сервера. Все механизмы выполнены с помощью хранимых процедур.
Хранимые процедуры - программы, находящиеся в базе данных и выполняемые по требованию клиента. Хранимая процедура представляет собой набор совместно откомпилированных команд SQL.
Одним из преимуществ хранимых процедур является то, что они выполняются непосредственно на сервере.
Хранимые процедуры обладают и другими преимуществами, среди которых модульность программирования и тестирования, а также ограниченный доступ к таблицам, построенный на базе функций. Это помогает изолировать пользователей от базовых табличных структур, сокращает ошибки в операторах, обеспечивает согласованность программирования и автоматизирует выполнение сложных или неустойчивых транзакций.
3.5. Реализация выявленных механизмов.
На рисунке представлены механизмы используемые для каждой таблицы БД, более подробно они рассмотрены ниже.
Рис Реализация механизмов
Процедура вывода всех документов пользователя AllRead
CREATE PROCEDURE [AllRead]
@User int
AS
SELECT [ID], (CONVERT(char (11),[RegNumber]) +' ' + CONVERT(char (11),[CreateDate])+' ' + [Name]) as IncDat
FROM [Doc]
WHERE [Aresat] =@User
GO
Процедура внесения данных о прочтении документа check:
CREATE PROCEDURE [check]
@in int
AS
UPDATE [Doc]
SET [Cheked]=1
WHERE [ID] =@in
GO GO
Прцедура внесения данных контрольной карточки:
CREATE PROCEDURE [ControlDataInsert]
@In int,
@inDate datetime,
@inText text
AS
INSERT INTO [StatusText] ([StatText])
VALUES(@inText)
Declare @a Int
set @a =(SELECT [id] FROM [StatusText] where [StatText] like (@inText) )
INSERT INTO [ControlData]
( [DocID], [ChangingData], [Srok], [StatusID])
VALUES( @In, getdate(),@InDate , @a)
GO
Процедура изменения данных контрольной карточки:
CREATE PROCEDURE [ControlDateChange]
@In int,
@In2 int,
@intext text,
@inDate datetime
AS
UPDATE [ControlData]
SET [ChangingData]=getdate(), [Srok]=@inDate
WHERE [id]=@In
UPDATE [StatusText]
SET [StatText]=@inText
WHERE [ID]=@In2
GO
Процедура поиска контрольных карточек:
CREATE PROCEDURE [dbo].[ControlSerch]
@in int
AS
SELECT dbo.ControlData.ChangingData, dbo.StatusText.StatText, dbo.ControlData.id, dbo.ControlData.Srok, dbo.ControlData.StatusID
FROM dbo.StatusText INNER JOIN
dbo.ControlData ON dbo.StatusText.ID = dbo.ControlData.StatusID RIGHT OUTER JOIN
dbo.Doc ON dbo.ControlData.DocID = dbo.Doc.ID
WHERE (dbo.Doc.ID = @in)
GO
Прцедура добавления нового документа:
CREATE PROCEDURE [dbo].[DocIns]
@adresatIn int,
@autorIn int,
@Type nvarchar(15),
@NameIn varchar(50),
@RegNum int,
@res nvarchar(15),
@t text
AS
DECLARE @A int
declare @B int
Declare @C int
If not EXISTS (Select [id] from dbo.DocTypes where (DocType = @Type) )
INSERT INTO [DocTypes] ([DocType]) VALUES(@Type)
If not EXISTS (Select [ID] from [Resolutions] where Res = @res )
INSERT INTO [Resolutions]([Res]) VALUES(@res)
INSERT INTO [DoksText]([Text])
VALUES(@t)
Set @A=(Select [id] from dbo.DocTypes where (DocType = @Type))
Set @B=(Select [ID] from [Resolutions] where Res = @res )
SET @C=(Select [Id] from dbo.DoksText where [Text] like (@t) )
INSERT INTO [Doc]
([AutrID], [CreateDate], [DocTypeID], [Name], [RegNumber], [Res], [Aresat], [text], [Cheked], [Arhiv])
VALUES(
@autorIn,
GETDATE(),@A , @NameIn, @RegNum, @B, @adresatIn, @C , 0, 0)
GO
Запрос на вывод входящих не прочитанных документов:
CREATE PROCEDURE [DBO].[IncomingRead]
@UserID int,
@DocId int
AS
SELECT dbo.[User].Name, dbo.Doc.CreateDate, dbo.Doc.RegNumber, dbo.Resolutions.Res, dbo.StatusText.StatText, dbo.DoksText.Text,
dbo.DocTypes.DocType
FROM dbo.Doc LEFT OUTER JOIN
dbo.DoksText ON dbo.Doc.text = dbo.DoksText.Id LEFT OUTER JOIN
dbo.DocTypes ON dbo.Doc.DocTypeID = dbo.DocTypes.id LEFT OUTER JOIN
dbo.[User] ON dbo.Doc.AutrID = dbo.[User].id LEFT OUTER JOIN
dbo.StatusText ON dbo.Doc.ID = dbo.StatusText.ID LEFT OUTER JOIN
dbo.Resolutions ON dbo.Doc.Res = dbo.Resolutions.ID
WHERE (dbo.Doc.Aresat = @UserID) AND (dbo.Doc.[ID] = @DocId)
GO
Запрос на выведение входящих:
CREATE PROCEDURE [IncomingSerch]
@User int
AS
SELECT [ID], (CONVERT(char (11),[RegNumber]) +' ' + CONVERT(char (11),[CreateDate])+' ' + [Name]) as IncDat
FROM [Doc]
WHERE [Aresat] =@User and ([Cheked] = 0 or [Cheked] = null)
GO
Процедура чтения исходящих документов:
CREATE PROCEDURE [OutGoingRead]
@User int
AS
SELECT [ID], (CONVERT(char (11),[RegNumber]) +' ' + CONVERT(char (11),[CreateDate])+' ' + [Name]) as IncDat
FROM [Doc]
WHERE [AutrID] =@User
GO
Процедура проверки пароля:
CREATE PROCEDURE [dbo].[PassCheck]
@Login nvarchar(10),
@Pass nvarchar(10)
AS
if exists(select [Id] from [PassData] where Login=@Login and Pass=@Pass )
begin
select [Id] from [PassData] where Login=@Login and Pass=@Pass
End
GO
Процедура изменения резолюции:
CREATE PROCEDURE [DBO].[ResChange]
@In nvarchar(15),
@In2 int
AS
If exists (Select [ID] from [Resolutions] where Res = @In )
begin
UPDATE [Doc] SET [Res]=(Select [ID] from [Resolutions] where Res = @In )WHERE [ID]= @In2
End
Else
begin
INSERT INTO [Resolutions]([Res]) VALUES(@In)
UPDATE [Doc] SET [Res]=(Select [ID] from [BogDip].[dbo].[Resolutions] where Res = @In )WHERE [ID]= @In2
End
GO
запрос для получения идентификатора пользователя:
CREATE PROCEDURE [dbo].[sel]
@In int
AS
SELECT [id], [Name] FROM [User] where DepID=@In
GO
процедура изменения текста:
CREATE PROCEDURE [DBO].[TextChange]
@In text,
@In2 int
AS
UPDATE DoksText SET [Text]=@In WHERE [Id] = (select [text] FROM [Doc] where [ID]=@In2 )
GO
Процедура изменения типа:
CREATE PROCEDURE [DBO].[TypeChange]
@In nvarchar(15),
@In2 int
AS
If exists (Select [ID] from [BogDip].[dbo].[DocTypes] where DocType = @In )
begin
UPDATE [Doc] SET [DocTypeID]=(Select [ID] from [DocTypes] where DocType = @In ) WHERE [ID]= @In2
End
Else
begin
INSERT INTO [DocTypes] ([DocType]) VALUES(@In)
UPDATE [Doc] SET [DocTypeID]=(Select [ID] from [DocTypes] where Res = @In )WHERE [ID]= @In2
End
GO
4.
Физическое проектирование.
Клиентское приложение создано на основе Windows технологии. В качестве программного обеспечения был выбран Borland C++Builder 6.
4.1. Выбор технологии.
4.1.1. Выбор операционной системы.
В качестве операционной системы для разработки и развертывания информационной системы была выбрана Microsoft Windows, поскольку она является наиболее распространенной, обладает достаточно высоким уровнем надежности и безопасности, а так же является удобной в использовании.
4.1.2. Выбор технологии взаимодействия пользователя с системой, технологии пользовательского интерфейса.
Информационная система будет разработана на основе технологии «родных приложений». Это позволяет использовать в полной мере все возможности операционной системы, в том числе «родные» функции, поскольку операционные системы располагают мощными средствами поддержки дополнительных технологий, которые можно применять в приложениях.
4.1.3. Выбор технологии взаимодействия компонент с данными.
В качестве технологии взаимодействия компонент с данными выбрана технология ADO(ActiveX Data Objects) – технология обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB. Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов
Основные компоненты этой технологии используемые в моем проекте:
ADOConnection – создает соединение с базой данных;
ADOQuery – посылает запросы к базе данных.