Автор работы: Пользователь скрыл имя, 10 Июня 2013 в 23:36, дипломная работа
Қазіргі техника мен технологияның дамып, маңызы артқан XXI-ғасыр заманында автоматтандырылған жұмыс орнын құру адамзат баласы өмірінің бір бөлшегіне айналып отыр. Ал мәліметтер қоры қазіргі таңда кез келген сферада қолданылып жүргені бәрімізге мәлім. Бұл туралы тұрақты анықтама жоқ, себебі бұл ұғымның қасиеттеріне байланысты аясы кең болып саналады.
Егер де логикалық бас тарту немесе бір транзакцияның шегінуі болып жатса журнал кері қарай жүреді. Транзакциямен тоқтатылған барлық жазбалар журналдан шығарылады. Ал журналға орнын толтыратын жазбалар тіркелетін болады. Бұл үрдіс шегіну (rollback) деп аталады. Ал физикалық бас тарту кезінде, журнал да мәліметтер қоры да бұзылмаған жағдайда айдау (rollforward) үрдісі жүргізіледі. Журнал тура бағытта жүргізіледі. Журналдан шығарылған барлық ақпарат сыртқы жадының блоктарына енгізіледі.
«Қосымша» пунктінің командасына мына кодты жазамыз:
procedure TForm1.N23Click(Sender: TObject);
begin
with TdfShowLog.Create(Application) do
begin
ShowModal;
Free;
end;
end;
Сурет 3.27 Қызметкерлердің қосымша ақпараттары
Бұл код орындалу үшін жаңа форма құрып оның атауын dfShowLog деп атаймыз, оған компоненттерді қоямыз.
1-формадағы процедуралар тізіміне
procedure DataSource1StateChange(Sender: TObject); атауын жазамыз да, оның кодын {$R *.dfm} директивасынан кейін мына түрде жазамыз:
procedure TForm1.DataSource1StateChange(
begin
if DataSource1.State = dsEdit then
IsAppend := False
else if DataSource1.State = dsInsert then
IsAppend := True
else
IsAppend := False;
end;
Мұндағы IsAppend айнымалысы ақиқат және жалған қабылдауы керек, сондықтан оны модульдің private бөліміне IsAppend : Boolean; деп сипаттау керек.
Журналға қолданушылардың қандай операция орындағанын анықтайтын
бағдарлама кодын жазу үшін 3.25 суретіне сәйкес 1-формадағы ADOQuery1 компонентін белгілеп, Object Inspector терезесінің Events бөлігіндегі AfterPost оқиғасына мына кодты жазамыз:
procedure TForm1.ADOQuery1AfterPost(
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
ADOQuery1.FieldByName('kod').
if IsAppend then
begin
qrLog.FieldByName('action').
qrLog.FieldByName('message').
end
else
begin
qrLog.FieldByName('action').
qrLog.FieldByName('message').
end;
qrLog.Post;
IsAppend := False;
end;
Сурет 3.28 Кадрлар бөлімі формасының нәтижесі
Мұндағы qrLog 1-формада қойылған ADOQuery3 компонентінің атауы.
1-форманың экранда көріну оқиғасына мына кодты жазамыз:
procedure TForm1.FormShow(Sender: TObject);
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
qrLog.FieldByName('action').
qrLog.FieldByName('message').
qrLog.Post;
end;
1-форманың жабылу оқиғасына мына кодты жазамыз:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qrLog.Edit;
qrLog.Append;
qrLog.FieldByName('user').
qrLog.FieldByName('evtdate').
qrLog.FieldByName('rowid').
qrLog.FieldByName('action').
qrLog.FieldByName('message').
qrLog.Post;
end;
Бұл кодтар арқылы қолданушылардың жүйеге кіргені, шыққаны туралы ақпарат деректер қорына жазылып отырады. Бағдарламаның нәтижесінде «Сервис» мәзірінің 3.26 суретіне сәйкес «Журнализация» командасын орындағанда жүйені қолданушылар және олардың орындаған әрекеттері, уақыты, мерзімі кесте түрінде көрініп тұрады.
4 Экономикалық бөлім
4.1 Жүйені құруға және енгізуге кеткен шығын есептеулері
Шығындар (1) формуламен есептеледі.
Аш = Аалг
+ Аенд + Атқк,
мұндағы,
Аалг - алгоритм құруға кеткен шығандар;
Аш - программа жазуға және түзетуге кеткен шығындар;
Аенд - кешенді ендіруге кеткен шығындар;
Стқк - техникалық құралдар кешенін қолдану шығындары.
Программаны құруға кеткен шығын 20 000 теңге болатын бір адам айналысты. Алгоритмді құруға кеткен уақыт мерзімі - 2 ай. Алгоритм құруға кеткен жалпы шығындар (2) формула бойынша есептелінеді:
Аалг = ҚЖ ·Уалг + Аәс
,
мұндағы,
ҚЖ – алгоритм құрушының жалақысы (тг./ай);
Уалг - алгоритм құруға кеткен уақыт мерзімі (ай);
Аәс - әлеуметтік сақтандыруға жіберілген шығын, ол алгоритм құруға кеткен шығынның 21% -ын құрайды;
Әлеуметтік сақтандыруға кететін шығын мөлшері (3) формуламен есептелінеді:
Яғни, енді сан мәндерін қоятын болсақ, онда әлеуметтік сақтандыру шығыны ретінде мына нәтижені аламыз:
Аәс = 80 000 · 2/100 = 16 000 (теңге)
Сонда, әлеуметтік сақтандыруға кеткен шығын нәтижесін (Аәс = 3150 тг. ) ескерсек, алгоритм құрумен байланысты жалпы шығын:
Аәс = 80 000 + 3150 = 83 150 (теңге) құрайды.
Программаны өңдеп жаңартып отырғанына (4) формуланы қолданамыз:
= + , (4)
мұндағы,
- программаны түзетуге кеткен машиналық уақыт құны;
- программистің программаны
= + ҚЖ + , (5)
мұндағы,
- программаны түзетуге кеткен уақыт мерзімі (ай);
ҚЖ – программист жалақысы (тг./ай);
- әлеуметтік сақтандыруға жіберілген шығын, ол программа жазуға және түзетуге кеткен шығынның 21%-ын құрайды.
Программалық кодты құруға кеткен уақыт – 2 ай ( = 2 ай), құрушының жалақысы – 55 000 теңге (ҚЖ = 80 000тг.). Әлеуметтік сақтандыру 16000 теңгені құрайды .
Программисттің программа жазуға және түзетуге төленген жалақы қоры ( ):
құрайды.
Программаны түзетуге кеткен машниналық уақыт құны мынаған тең:
= у · к · қ
,
мұндағы,
у – ДЭЕМ-де 1 күндік жұмыс істеу уақыты (сағ.);
к - ДЭЕМ-де жұмыс жасау мерзімі (ай);
қ – машиналық уақыт сағатының құны (тг./сағ.).
Программалық кодты жазуға және түзеуге 1 ай мерзім (к = 30 күн) қажет етілді, күніне 8 сағат (у = 8 сағат) жұмыс істелінді. Машиналық уақыт сағатының құны 100 теңгені (қ = 100 тг./сағ.) құрайды.
Программаны түзетуге кеткен машиналық уақыт құны:
құрайды.
Программаны жазуға және түзетуге кеткен шығындар:
құрайды.
Программаны ендіруге кеткен шығындар келесі (7) формулада анықталады:
=
+
,
мұндағы,
- ендіру уақытына кеткен
Программаны ендіруге кеткен - программисттің ендіруге кеткен жалақы қоры.
Программаны ендіруге кеткен машиналық уақыт құны мынаған мына формуламен анықталады:
= у · к · қ,
мұндағы,
у – ДЭЕМ-де 1 күндік жұмыс істеу уақыты (сағ.);
к - ДЭЕМ-де жұмыс жасау күндерінің саны (күн);
қ – машиналық уақыт сағатының құны (тг./сағ.).
Программаны ендіруге күніне 8 сағат (у = 8 сағат) жұмыс уақытымен 3 күн (к = 3 күн) қажет болды. Машиналық уақыт сағатының құны сағатына 120 теңгені (қ = 120 тг./сағ.) құрайды.
Сонда программаны ендіруге кеткен машиналық уақыт құны:
құрайды.
Программисттің жалақы қоры келесі түрде анықталады:
= ҚЖ · к/К +
құрайды.
мұндағы, ҚЖ – ендіруші программисттің жалақысы (тг.);
к – ДЭЕМ-де жұмыс жасау күндерінің саны (күн);
К – 1 ай ішінде жұмыс күндерінің саны;
- әлеуметтік сақтандыруға жіберілетін шығын (21%);
Егер программист жалақысы – 80 000 теңге (ҚЖ = 80 000 тг.), ДЭЕМ жұмыс істелінген күндер саны – 3 күн (к = 3 күн), ай ішіндегі жұмыс күндерінің саны – 22 күн (К = 22), ал әлеуметтік сақтандыруға жіберілетін шығын ( = 16000 тг.) екенін ескерсек, онда программисттің жалақы қоры:
= ҚЖ · к/D + = 80 000 · 3/22 + 16000 = 29 959 (теңге)
Сонымен, программаны ендірумен байланысты шығындар:
= + = 2880 + 29 9509= 32 839 (теңге)
құрайды.
Сонда программалық оқу-әдістемелік кешенін құруға және ендіруге кететін шығындар:
С = + + + = 18 150 + 176000 + 32839 + 0 = 226 989 (теңге)
құрайды.
Қорытынды
Мәліметтер қоры – белгілі бір ауқымға қатысты мәліметтерді амал-тәсілдермен ұқсата білудің жалпы принциптерін қарастыратын, компьютердің көмегімен туындайтын ақпараттық структура немесе модель. Қазіргі кезде жергілікті (ADO, dBase, FoxPro, Access, Paradox) және қашықтатылған (InterBase, Oracle, Sysbase, Infomix, Microsoft SQL Server) мәліметтер қорларын құруға және пайдалануға мүмкіндік беретін көптеген бағдарламалы жүйелер бар.
Delphi-дегі мәліметтер
қоры – бұл ең дамыған
Delphi жұмыс ортасы мәліметтер
қорын басқару жүйесінің (МҚБЖ)
тура мағынасында болмаса да,
МҚБЖ-нің көптеген дамыған
Delphi2010 бағдарламалау
ортасында автоматтандырылған
«Кадрлар бөлімі» бағдарламасын
Пайдаланылған әдебиеттер тізімі
2005.