Помощь в написании студенческих работ
Антистрессовый сервис

Разработка средств автоматизации администрирования сети

Дипломная Купить готовую Узнать стоимостьмоей работы

Vrem_smeny:=(floor (-vrem_prover*intpower (alfavit, dlina_par)/ln (0.001))) div 60; Declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict'; Declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict'; Declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict'; Declare parent_insrstrct_err EXCEPTION FOR SQLSTATE VALUE… Читать ещё >

Разработка средств автоматизации администрирования сети (реферат, курсовая, диплом, контрольная)

Содержание

  • 1. Исследовательский раздел
    • 1. 1. Описание деятельности компании
    • 1. 2. Описание процесса учета компьютеров и программного обеспечения
    • 1. 3. Программно-техническое обеспечение компании
    • 1. 4. Анализ ТЗ
    • 1. 5. Цель и назначение разработки
  • 2. Специальный раздел
    • 2. 1. Структурное проектирование
    • 2. 2. Логическое проектирование
    • 2. 4. Описание систем классификации и кодирования
    • 2. 5. Выбор языка программирования
    • 2. 6. Выбор СУБД
  • 3. Технологический раздел
    • 3. 1. Тестирование и отладка ПО
    • 3. 2. Отладка
    • 3. 3. Тестирование
      • 3. 3. 1. Методы тестирования программного обеспечения
      • 3. 3. 2. Разработка плана тестирования
      • 3. 3. 3. Тестирование и результаты тестирования
    • 3. 4. Описание программной реализации системы
      • 3. 4. 1. Описание сценария работы программы
      • 3. 4. 2. Инструкция пользователя ПО
  • 4. Безопасность жизнедеятельности
  • 5. Организационно-экономический раздел
    • 5. 1. Календарное планирование работ проекта
    • 5. 2. Экономический эффект от внедрения
  • Заключение
  • Список источников информации

Filtered:=false;

tpok.Filter:=zap;

tpok.Filtered:=true;}

end;

procedure TForm1. suiButton19Click (Sender: TObject);

begin

tsob.Delete;

end;

procedure TForm1. FormCreate (Sender: TObject);

var nom: integer;

ost:extended;

begin

suiPageControl1.ActivePageIndex:=0;

tuz.First;

for nom:=0 to (tuz.RecordCount-1) do

begin

ost:=Date-strtodate (tuz.FieldValues['data_smen']);

suimemo5.Lines.Add ('Пользователь '+tuz.FieldValues['log']+' сменить пароль через '+ floattostr (ost));

tuz.next;

{ raznost:=StrTodate (vrem)-strtodate (tab);

if DataModule2. q_usertab.FieldValues['smena']>(raznost) then

Memo1.Lines.Add ('Пользователь '+DataModule2.q_usertab.FieldValues['name']+' смените пароль через '+floattostr (DataModule2.q_usertab.FieldValues['smena']-raznost)+' дней')

else

Memo1.Lines.Add ('Пользователь '+DataModule2.q_usertab.FieldValues['name']+' пароль просрочен на '+floattostr (DataModule2.q_usertab.FieldValues['smena']-raznost)+' дней');

DataModule2.q_usertab.Next;}

end;

end;

procedure TForm1. suiCheckBox4Click (Sender: TObject);

begin

if suiEdit2. Enabled=false then suiEdit2. Enabled:=true else suiEdit2. Enabled:=false;

end;

procedure TForm1. suiButton1Click (Sender: TObject);

begin

try

tr_st.edit;

tr_st.FieldByName ('nomer_rs').AsInteger:=strtoint (suiEdit3.text);

tr_st.FieldByName ('ip_adr').AsString:=suiEdit1.text;

tr_st.FieldByName ('ident').AsString:=suiEdit6.text;

tr_st.FieldByName ('spec').AsString:=suiMemo1.text;

tr_st.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton10Click (Sender: TObject);

begin

try

tmer.edit;

tmer.FieldByName ('kod_mer').AsInteger:=strtoint (suiEdit23.text);

tmer.FieldByName ('data').AsString:=suiEdit14.text;

tmer.FieldByName ('vrem').AsString:=suiEdit15.text;

tmer.FieldByName ('mer').AsString:=suiEdit16.text;

tmer.FieldByName ('isp').AsString:=suiEdit20.text;

tmer.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton11Click (Sender: TObject);

begin

tmer.Delete;

end;

procedure TForm1. suiButton2Click (Sender: TObject);

var data_sm:extended;

begin

try

tuz.Edit;

tuz.FieldByName ('nomer_uz').AsInteger:=strtoint (suiEdit2.text);

tuz.FieldByName ('domen').AsString:=suiEdit5.text;

tuz.FieldByName ('log').AsString:=suiEdit8.text;

tuz.FieldByName ('parol').AsString:=suiEdit9.text;

tuz.FieldByName ('polzovatel').AsString:=suiEdit7.text;

tuz.FieldByName ('srok_deist').AsInteger:=strtoint (suiEdit4.text);

tuz.FieldByName ('data_ust').AsString:=suiEdit21.text;

data_sm:=strtodate (suiEdit21.text)+strtoint (suiEdit4.text);

tuz.FieldByName ('data_smen').AsString:=DateToStr (data_sm);

tuz.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton5Click (Sender: TObject);

var data_sm:extended;

begin

try

tuz.Append;

tuz.FieldByName ('nomer_uz').AsInteger:=strtoint (suiEdit2.text);

tuz.FieldByName ('domen').AsString:=suiEdit5.text;

tuz.FieldByName ('log').AsString:=suiEdit8.text;

tuz.FieldByName ('parol').AsString:=suiEdit9.text;

tuz.FieldByName ('polzovatel').AsString:=suiEdit7.text;

tuz.FieldByName ('srok_deist').AsInteger:=strtoint (suiEdit4.text);

tuz.FieldByName ('data_ust').AsString:=suiEdit21.text;

data_sm:=strtodate (suiEdit21.text)+strtoint (suiEdit4.text);

tuz.FieldByName ('data_smen').AsString:=DateToStr (data_sm);

tuz.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton4Click (Sender: TObject);

begin

tuz.Delete;

end;

procedure TForm1. suiButton9Click (Sender: TObject);

begin

try

tsob.Append;

tsob.FieldByName ('kod_sob').AsInteger:=strtoint (suiEdit10.text);

tsob.FieldByName ('data').AsString:=suiEdit12.text;

tsob.FieldByName ('vrem').AsString:=suiEdit11.text;

tsob.FieldByName ('sob').AsString:=suiEdit13.text;

tsob.FieldByName ('opis').AsString:=suiMemo2.text;

tsob.FieldByName ('mery').AsString:=suiMemo3.text;

tsob.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton3Click (Sender: TObject);

begin

tr_st.Delete;

end;

procedure TForm1. suiButton13Click (Sender: TObject);

var ang_b, ang_m, rus_m, rus_b, cifra: boolean;

nom_bukv, alfavit, dlina_par:integer;

vrem_prover, vrem_smeny:real;

parol:string;

begin

suimemo4.Lines.Clear;

parol:=suiEdit17.Text;

dlina_par:=length (parol);

alfavit:=0;

vrem_prover:=0.02;

for nom_bukv:=0 to dlina_par do

begin

if parol[nom_bukv] in ['а'.'я'] then rus_m:=true;

if parol[nom_bukv] in ['a'.'z'] then ang_m:=true;

if parol[nom_bukv] in ['А'.'Я'] then rus_b:=true;

if parol[nom_bukv] in ['A'.'Z'] then ang_b:=true;

if parol[nom_bukv] in ['0'.'9'] then cifra:=true;

end;{for}

if cifra=true then alfavit:=alfavit+10;

if rus_m=true then alfavit:=alfavit+33;

if rus_b=true then alfavit:=alfavit+33;

if ang_b=true then alfavit:=alfavit+26;

if ang_m=true then alfavit:=alfavit+26;

//——————————————————;

suimemo4.Lines.Add ('Пароль: '+parol);

suimemo4.Lines.Add ('Длина Пароля: '+inttostr (dlina_par));

suimemo4.Lines.Add ('Алфавит Пароля: '+inttostr (alfavit));

suimemo4.Lines.Add ('Время проверки Пароля: '+floattostr (vrem_prover));

suimemo4.Lines.Add ('Время смены Пароля: ');

vrem_smeny:=(floor (-vrem_prover*intpower (alfavit, dlina_par)/ln (0.1))) div 60;

suimemo4.Lines.Add ('1 уровень конфиденциальности: '+floattostr (vrem_smeny)+' дней');

vrem_smeny:=(floor (-vrem_prover*intpower (alfavit, dlina_par)/ln (0.01))) div 60;

suimemo4.Lines.Add ('2 уровень конфиденциальности: '+floattostr (vrem_smeny)+' дней');

vrem_smeny:=(floor (-vrem_prover*intpower (alfavit, dlina_par)/ln (0.001))) div 60;

suimemo4.Lines.Add ('3 уровень конфиденциальности: '+floattostr (vrem_smeny)+' дней');

end;

procedure TForm1. suiButton14Click (Sender: TObject);

var alf_ang_m, alf_ang_b, alf_rus_m, alf_rus_b, alf_cifr, alfavit, parol: string;

nom_bukv:integer;

begin

randomize;

alf_cifr:='123 456 789';

alf_ang_m:='qwertyuiopasdfghjklzxcvbnm';

alf_ang_b:='QWERTYUIOPASDFGHJKLZXCVBNM';

alf_rus_m:='йцукенгшщзхъфывапролджэячсмитьбю';

alf_rus_b:='ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ';

if suiCheckBox1. Checked then alfavit:=alfavit+alf_ang_b;

if suiCheckBox2. Checked then alfavit:=alfavit+alf_ang_m;

if suiCheckBox3. Checked then alfavit:=alfavit+alf_rus_b;

if suiCheckBox4. Checked then alfavit:=alfavit+alf_rus_m;

if suiCheckBox5. Checked then alfavit:=alfavit+alf_cifr;

for nom_bukv:=1 to strtoint (suiEdit18.Text) do parol:=parol+alfavit[random (length (alfavit))];

suiEdit19.Text:=parol;

end;

procedure TForm1. suiDBGrid1CellClick (Column: TColumn);

begin

suiEdit3.text:=tr_st.FieldValues['nomer_rs'];

suiEdit1.text:=tr_st.FieldValues['ip_adr'];

suiEdit6.text:=tr_st.FieldValues['ident'];

suiMemo1.text:=tr_st.FieldValues['spec'];

end;

procedure TForm1. suiDBGrid3CellClick (Column: TColumn);

begin

//suiEdit2.text:=tuz.FieldValues['nomer_uz];

suiEdit5.text:=tuz.FieldValues['domen'];

suiEdit8.text:=tuz.FieldValues['log'];

suiEdit9.text:=tuz.FieldValues['parol'];

suiEdit7.text:=tuz.FieldValues['polzovatel'];

suiEdit4.text:=tuz.FieldValues['srok_deist'];

suiEdit21.text:=tuz.FieldValues['data_ust'];

end;

procedure TForm1. suiDBGrid4CellClick (Column: TColumn);

begin

suiEdit10.text:=tsob.FieldValues['kod_sob'];

suiEdit12.text:=tsob.FieldValues['data'];

suiEdit11.text:=tsob.FieldValues['vrem'];

suiEdit13.text:=tsob.FieldValues['sob'];

suiMemo2.text:=tsob.FieldValues['opis'];

suiMemo3.text:=tsob.FieldValues['mery'];

end;

procedure TForm1. suiDBGrid5CellClick (Column: TColumn);

begin

suiEdit23.text:=tmer.FieldValues['kod_mer'];

suiEdit14.text:=tmer.FieldValues['data'];

suiEdit15.text:=tmer.FieldValues['vrem'];

suiEdit16.text:=tmer.FieldValues['mer'];

suiEdit20.text:=tmer.FieldValues['isp'];

end;

procedure TForm1. suiButton17Click (Sender: TObject);

begin

try

t_po.Append;

t_po.FieldByName ('nazv').AsString:=suiEdit22.text;

t_po.FieldByName ('treb').AsString:=suiEdit25.text;

t_po.FieldByName ('type_po').AsString:=suiComboBox1.text;

t_po.FieldByName ('opis').AsString:=suiMemo9.text;

t_po.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiButton16Click (Sender: TObject);

begin

t_po.Delete;

end;

procedure TForm1. suiButton18Click (Sender: TObject);

begin

try

t_po_st.Append;

t_po_st.FieldByName ('nazv').AsString:=t_po.FieldValues['nazv'];

t_po_st.FieldByName ('id_st').AsInteger:=tr_st.FieldValues['nomer_rs'];

t_po_st.Post;

Except

MessageDlg ('Ошибка ввода данных!', mtInformation,[mbYes], 0);

end;

end;

procedure TForm1. suiDBGrid7CellClick (Column: TColumn);

begin

t_po_st.Filtered:=false;

t_po_st.Filter:='id_st='+inttostr (tr_st.FieldValues['nomer_rs']);

t_po_st.Filtered:=true;

end;

end.

Приложение 2 — SQL-код БД

CREATE TABLE merop (

isp VARCHAR (30),

mer VARCHAR (40),

vrem VARCHAR (5),

data VARCHAR (10),

kod_mer INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKmerop ON merop

(

kod_mer ASC

);

ALTER TABLE merop

ADD PRIMARY KEY (kod_mer);

CREATE TABLE r_st (

spec VARCHAR (60),

ip_adr VARCHAR (15),

ident VARCHAR (15),

nomer_rs INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKr_st ON r_st

(

nomer_rs ASC

);

ALTER TABLE r_st

ADD PRIMARY KEY (nomer_rs);

CREATE TABLE sob (

mery VARCHAR (80),

opis VARCHAR (80),

sob VARCHAR (40),

vrem VARCHAR (5),

data VARCHAR (10),

kod_sob INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKsob ON sob

(

kod_sob ASC

);

ALTER TABLE sob

ADD PRIMARY KEY (kod_sob);

CREATE TABLE uz (

domen VARCHAR (15),

parol VARCHAR (10),

log VARCHAR (15),

polzovatel VARCHAR (60),

nomer_uz INTEGER NOT NULL,

srok_deist INTEGER

);

CREATE UNIQUE INDEX XPKuz ON uz

(

nomer_uz ASC

);

ALTER TABLE uz

ADD PRIMARY KEY (nomer_uz);

CREATE TABLE Программное_обеспечение (

opis VARCHAR (80),

type_po VARCHAR (25),

treb VARCHAR (35),

nazv VARCHAR (35) NOT NULL

);

CREATE UNIQUE INDEX XPKПрограммное_обеспечение ON Программное_обеспечение

(

nazv ASC

);

ALTER TABLE Программное_обеспечение

ADD PRIMARY KEY (nazv);

CREATE TABLE Состав_ПО (

nomer_rs INTEGER NOT NULL,

nazv VARCHAR (35)

);

CREATE UNIQUE INDEX XPKСостав_ПО ON Состав_ПО

(

nomer_rs ASC

);

ALTER TABLE Состав_ПО

ADD PRIMARY KEY (nomer_rs);

ALTER TABLE Состав_ПО

ADD FOREIGN KEY (nazv)

REFERENCES Программное_обеспечение (

nazv)

ON DELETE SET NULL

ON UPDATE SET NULL;

ALTER TABLE Состав_ПО

ADD FOREIGN KEY (nomer_rs)

REFERENCES r_st (nomer_rs)

ON DELETE RESTRICT

ON UPDATE RESTRICT;

create trigger tD_r_st after DELETE on r_st

referencing old as OldRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— DELETE trigger on r_st

begin

declare numrows INTEGER;

declare parent_delrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Delete Restrict';

declare child_delrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Delete Restrict';

— ERwin Builtin Wed Sep 05 23:53:21 2012

— r_st R/1 Состав_ПО ON PARENT DELETE RESTRICT

select count (*) into numrows

from Состав_ПО

where

— Состав_ПО.nomer_rs = OldRecord. nomer_rs

Состав_ПО.nomer_rs = OldRecord. nomer_rs;

if (numrows > 0)

then

signal parent_delrstrct_err

end if;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

create trigger tU_r_st after UPDATE on r_st

referencing old as OldRecord new as NewRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— UPDATE trigger on r_st

begin

declare numrows INTEGER;

declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict';

declare child_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Update Restrict';

— ERwin Builtin Wed Sep 05 23:53:21 2012

— r_st R/1 Состав_ПО ON PARENT UPDATE RESTRICT

if

OldRecord.nomer_rs <> NewRecord. nomer_rs

then

select count (*) into numrows

from Состав_ПО

where

— Состав_ПО.nomer_rs = OldRecord. nomer_rs

Состав_ПО.nomer_rs = OldRecord. nomer_rs;

if (numrows > 0)

then

signal parent_updrstrct_err

end if

end if;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

create trigger tD_Программное_обеспечение after DELETE on Программное_обеспечение

referencing old as OldRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— DELETE trigger on Программное_обеспечение

begin

declare numrows INTEGER;

declare parent_delrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Delete Restrict';

declare child_delrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Delete Restrict';

— ERwin Builtin Wed Sep 05 23:53:21 2012

— Программное_обеспечение R/2 Состав_ПО ON PARENT DELETE SET NULL

update Состав_ПО

set

— Состав_ПО.nazv = NULL

Состав_ПО.nazv = NULL

where

— Состав_ПО.nazv = OldRecord. nazv

Состав_ПО.nazv = OldRecord. nazv;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

create trigger tU_Программное_обеспечение after UPDATE on Программное_обеспечение

referencing old as OldRecord new as NewRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— UPDATE trigger on Программное_обеспечение

begin

declare numrows INTEGER;

declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict';

declare child_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Update Restrict';

— Программное_обеспечение R/2 Состав_ПО ON PARENT UPDATE SET NULL

if

OldRecord.nazv <> NewRecord. nazv

then

update Состав_ПО

set

— Состав_ПО.nazv = NULL

Состав_ПО.nazv = NULL

where

— Состав_ПО.nazv = OldRecord. nazv

Состав_ПО.nazv = OldRecord. nazv;

end if;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

create trigger tI_Состав_ПО after INSERT on Состав_ПО

referencing new as NewRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— INSERT trigger on Состав_ПО

begin

declare numrows INTEGER;

declare parent_insrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Insert Restrict';

declare child_insrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Insert Restrict';

— ERwin Builtin Wed Sep 05 23:53:21 2012

— Программное_обеспечение R/2 Состав_ПО ON CHILD INSERT SET NULL

update Состав_ПО

set

— Состав_ПО.nazv = NULL

Состав_ПО.nazv = NULL

where

not exists (

select * from Программное_обеспечение

where

— NewRecord. nazv = Программное_обеспечение.nazv

NewRecord.nazv = Программное_обеспечение.nazv

) and

Состав_ПО.nazv = NewRecord. nazv;

— ERwin Builtin Wed Sep 05 23:53:21 2012

— r_st R/1 Состав_ПО ON CHILD INSERT RESTRICT

select count (*) into numrows

from r_st

where

— NewRecord. nomer_rs = r_st.nomer_rs

NewRecord.nomer_rs = r_st.nomer_rs;

if (

-;

numrows = 0

)

then

signal child_insrstrct_err

end if;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

create trigger tU_Состав_ПО after UPDATE on Состав_ПО

referencing old as OldRecord new as NewRecord

for each row

— ERwin Builtin Wed Sep 05 23:53:21 2012

— UPDATE trigger on Состав_ПО

begin

declare numrows INTEGER;

declare parent_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Parent Update Restrict';

declare child_updrstrct_err EXCEPTION FOR SQLSTATE VALUE 'Child Update Restrict';

— ERwin Builtin Wed Sep 05 23:53:21 2012

— Программное_обеспечение R/2 Состав_ПО ON CHILD UPDATE SET NULL

update Состав_ПО

set

— Состав_ПО.nazv = NULL

Состав_ПО.nazv = NULL

where

not exists (

select * from Программное_обеспечение

where

— NewRecord. nazv = Программное_обеспечение.nazv

NewRecord.nazv = Программное_обеспечение.nazv

) and

Состав_ПО.nazv = NewRecord. nazv;

— ERwin Builtin Wed Sep 05 23:53:21 2012

— r_st R/1 Состав_ПО ON CHILD UPDATE RESTRICT

if

OldRecord.nomer_rs <> NewRecord. nomer_rs

then

select count (*) into numrows

from r_st

where

— NewRecord. nomer_rs = r_st.nomer_rs

NewRecord.nomer_rs = r_st.nomer_rs;

if (

-;

numrows = 0

)

then

signal child_updrstrct_err

end if

end if;

— ERwin Builtin Wed Sep 05 23:53:21 2012

end

Показать весь текст

Список литературы

  1. Управление программными проектами: достижение оптимального качества при минимуме затрат.: Пер. с англ. — М.: Издательский дом «Вильямс», 2004.
  2. Интернет — маркетинг: Учебник. Успенский И. В. — СПб.: Изд-во СПГУЭиФ, 2003.
  3. Экономическая информатика: Введение в экономический анализ информационных систем: Учебник. — М.: ИНФРА-М, 2005.
  4. Д.Ф., Фартрел Т., Шафер Л. И. Управление программными проектами: достижение оптимального качества при минимуме затрат.: Пер. с англ. — М.: Вильямс, 2004.
  5. Д. А., МакГоуэн К. Методология структурного анализа и проектирования SADT.
  6. Проектирование экономических информационных систем: учеб. / под ред. Ю. Ф. Тельнова. М., 2005
  7. Автоматизированные информационные технологии в экономике: Учебник/Под ред. проф. Г. А. Титоренко. — М.: Компьютер, ЮИНИТИ, 2006
  8. С. В. Моделирование бизнес-процессов с AllFusion Process Modeler (BPwin 4.1). М., 2003
  9. С.В. Создание информационных систем с AllFusion Modeling Suite. — М.: ДИАЛОГ-МИФИ, 2005
  10. Маклаков С.В. BPwin и Erwin. CASE-средства разработки информационных систем. — М.: ДИАЛОГ-МИФИ, 2000
  11. Фаулер М. UML в кратком изложении: применение стандартного языка объектного моделирования: пер. с англ. / М. Фаулер, К. Скотт. М., 2001
  12. Фаулер М. UML — основы. Руководство по стандартному языку объектного моделирования.: Пер. с англ. — СПб.: Символ, 2006
  13. Г. Н. Консалтинг при автоматизации предприятий (подходы, методы, средства) // М.: СИНТЕГ, 1997
  14. Ю.А., Шлимович Е. Л., Ирюпин Ю. В. Комплексная автоматизация управления предприятием: Информационные технологии — теория и практика. — М.: Финансы и статистика, 2001
  15. А.Д. и др. Базы данных: Учебник для вузов / Под ред. проф. А. Д. Хомоненко. — СПб.: КОРОНА принт, 2004 — 736 с.
  16. Г. Н. и др. Проектирование экономических информационных систем: Учебник / Под ред. Ю. Ф. Тельнова. — М.: Финансы и статистика, 2002 — 512 с.
  17. И.Н. и др. Основные СУБД. — М.: Наука, 1999 — 320 с.
  18. ГОСТ 34.602−89 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы»;
  19. ГОСТ 34.601−90 «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания».
  20. А. К., «Microsoft Office Project 2007. Управление проектами: практическое пособие. «- СПб.: КОРОНА-Век, 2008 — 480с, ил.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ