Автоматизация работы агентства по продаже авиабилетов

Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâ

ÔÅÄÅÐÀËÜÍÎÅ ÀÃÅÍÒÑÒÂÎ ÏÎ ÎÁÐÀÇÎÂÀÍÈÞ

Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå

ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ

Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è

âû÷èñëèòåëüíîé òåõíèêè



ÓÒÂÅÐÆÄÀÞ

Çàìåñòèòåëü äèðåêòîðà

ïî ó÷åáíîé ðàáîòå

__________Ç.Ç. Êóðìàøåâà

«___» ___________ 2007ã.


Àâòîìàòèçàöèÿ ÐÀÁÎÒÛ ÀÃÅÍÒÑÒÂÀ ÏÎ ÏÐÎÄÀÆÅ ÀÂÈÀÁÈËÅÒÎÂ Ïîÿñíèòåëüíàÿ çàïèñêà ê êóðñîâîìó ïðîåêòó



Ðóêîâîäèòåëü ïðîåêòà

__________ Î.Í. Ïåòðîâà 

«___» ____________2007ã.



Ñòóäåíò ãð. 3Ï-4

___________Ä.È. Êîíêèí

«___» ____________2007ã.



2007

ÔÅÄÅÐÀËÜÍÎÅ ÀÃÅÍÒÑÒÂÎ ÏÎ ÎÁÐÀÇÎÂÀÍÈÞ

Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå

ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ

Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è

âû÷èñëèòåëüíîé òåõíèêè



ÓÒÂÅÐÆÄÀÞ

Çàìåñòèòåëü äèðåêòîðà

ïî ó÷åáíîé ðàáîòå

_________Ç.Ç. Êóðìàøåâà

«___» ___________ 2007ã.



ÇÀÄÀÍÈÅ

Íà êóðñîâîé ïðîåêò ñòóäåíòó äíåâíîãî îòäåëåíèÿ, ãðóïïû 3Ï-4, ñïåöèàëüíîñòè 230105 «Ïðîãðàììíîå îáåñïå÷åíèå ÂÒ è ÀÑ» Êîíêèíó Äìèòðèþ Èãîðåâè÷ó

(Ôàìèëèÿ, èìÿ, îò÷åñòâî)

Òåìà: «Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâ»

Ïðè âûïîëíåíèè êóðñîâîãî ïðîåêòà äîëæíà áûòü ïðåäñòàâëåíà ïîÿñíèòåëüíàÿ çàïèñêà, ñîñòîÿùàÿ èç ñëåäóþùèõ ðàçäåëîâ è ïîäðàçäåëîâ:



Ââåäåíèå

Ïîñòàíîâêà çàäà÷è

1.1 Îïèñàíèå ïðåäìåòíîé îáëàñòè

1.2 Èíôîðìàöèîííàÿ ìîäåëü

1.3 Âõîäíàÿ èíôîðìàöèÿ

1.4 Âûõîäíàÿ èíôîðìàöèÿ

1.5 Îïèñàíèå ñòðóêòóðû ÁÄ

1.6 Ôóíêöèîíàëüíàÿ ñõåìà çàäà÷è

1.7 Êîíòðîëüíûé ïðèìåð 

2. Ýêñïåðèìåíòàëüíûé ðàçäåë

2.1 Òåõíè÷åñêîå çàäàíèå

2.1.1 Îñíîâàíèå äëÿ ðàçðàáîòêè

2.1.2 Íàçíà÷åíèå ðàçðàáîòêè

2.1.3 Òðåáîâàíèÿ ê ïðîãðàììå

2.1.4 Òðåáîâàíèÿ ê íàä¸æíîñòè

2.1.5 Òðåáîâàíèÿ ê ñîñòàâó è ïàðàìåòðàì òåõíè÷åñêèõ ñðåäñòâ

2.2 Îïèñàíèå ïðîãðàììû

2.2.1 Îïèñàíèå ìîäóëåé

2.2.2 Ìîäóëüíàÿ ñõåìà çàäà÷è

2.2.3 Îïèñàíèå àëãîðèòìà

2.3 Ðóêîâîäñòâî ïîëüçîâàòåëÿ

3. Ïðîãðàììà è ïðîòîêîë òåñòèðîâàíèÿ

Çàêëþ÷åíèå

Ïðèëîæåíèÿ

Ñïèñîê ëèòåðàòóðû



II. Ãðàôè÷åñêàÿ ÷àñòü äîëæíà ñîäåðæàòü ëèñò ôîðìàòà À1 Èíôîðìàöèîííàÿ ìîäåëü.

III. Ýëåêòðîííûé íîñèòåëü äîëæåí ñîäåðæàòü èñõîäíûå òåêñòû ïðîãðàìì

è âûïîëíÿåìûå ôàéëû.

IV. Ñïèñîê ðåêîìåíäóåìîé ëèòåðàòóðû:

Ãîôìàí Â.Ý., Õîìîíåíêî À.Ä. Ðàáîòà ñ áàçàìè äàííûõ â Delphi. – ÑÏá.: ÁÕÂ – Ïåòåðáóðã, 2002ã.

Áàçû äàííûõ: ìîäåëè, ðàçðàáîòêà, ðåàëèçàöèÿ/ Ò.Ñ. Êàðïîâà. – ÑÏá.: Ïèòåð, 2001ã.



Çàäàíèå ê âûïîëíåíèþ ïîëó÷èë «13 ôåâðàëÿ 2007ã.

Ñòóäåíò Êîíêèí Äìèòðèé Èãîðåâè÷ 

Ñðîê îêîí÷àíèÿ «30» ìàÿ 2007ã.

Ðóêîâîäèòåëü êóðñîâîãî ïðîåêòà _______________ Î.Í. Ïåòðîâà

Çàäàíèå ðàññìîòðåíî íà çàñåäàíèè öèêëîâîé êîìèññèè èíôîðìàòèêè è ïðîãðàììèðîâàíèÿ ¹6 «03» ôåâðàëÿ 2007ã.

Ïðåäñåäàòåëü êîìèññèè _____________ Ð.Ô. Êàðèìîâà

ÔÅÄÅÐÀËÜÍÎÅ ÀÃÅÍÒÑÒÂÎ ÏÎ ÎÁÐÀÇÎÂÀÍÈÞ

Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå

ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ

Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è

âû÷èñëèòåëüíîé òåõíèêè



ÇÀÊËÞ×ÅÍÈÅ

íà êóðñîâîé ïðîåêò ïî òåìå: «Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâ»

Ñòóäåíò – Êîíêèí Ä.È. ãðóïïà 3Ï-4, ñïåöèàëüíîñòü 230105, äíåâíîå îòäåëåíèå

Òåêñò çàêëþ÷åíèÿ: ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Ðóêîâîäèòåëü êóðñîâîãî ïðîåêòà ___________ Î.Í. Ïåòðîâà

«___» ________________ 2007ã.

Äîëæíîñòü è ìåñòî ðàáîòû: çàâåäóþùàÿ îòäåëåíèåì ÏÎ Óôèìñêîãî êîëëåäæà ñòàòèñòèêè èíôîðìàòèêè è âû÷èñëèòåëüíîé òåõíèêè







ÀÍÍÎÒÀÖÈß



Ïîÿñíèòåëüíàÿ çàïèñêà ê êóðñîâîìó ïðîåêòó ñîäåðæèò ïîñòàíîâêó è ïðîãðàììó ðåøåíèÿ çàäà÷è «Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâ».

Çàäà÷à íàïèñàíà â ñðåäå Delphi 7 íà ÿçûêå Object Pascal, àâòîìàòèçèðîâàíà ïðîãðàììîé Agentstvo.exe è îòëàæåíà íà äàííûõ êîíòðîëüíîãî ïðèìåðà.



ÑÎÄÅÐÆÀÍÈÅ



Ëèñò 

Ââåäåíèå 

4 

1 Ïîñòàíîâêà çàäà÷è 

6 

1.1Îïèñàíèå ïðåäìåòíîé îáëàñòè 

6 

1.2Èíôîðìàöèîííàÿ ìîäåëü 

8 

1.3Îïèñàíèå âõîäíîé èíôîðìàöèè 

9 

1.4Îïèñàíèå âûõîäíîé èíôîðìàöèè 

11 

1.5Îïèñàíèå ñòðóêòóðû ÁÄ 

13 

1.6Ôóíêöèîíàëüíàÿ ñõåìà çàäà÷è 

14 

1.7Êîíòðîëüíûé ïðèìåð 

15 

2 Ýêñïåðèìåíòàëüíûé ðàçäåë 

17 

2.1Òåõíè÷åñêîå çàäàíèå 

17 

2.1.1 Îñíîâàíèå äëÿ ðàçðàáîòêè 

17 

2.1.2 Íàçíà÷åíèå ðàçðàáîòêè 

17 

2.1.3 Òðåáîâàíèÿ ê ïðîãðàììå 

17 

2.1.4 Òðåáîâàíèÿ ê íàä¸æíîñòè 

17 

2.1.5 Òðåáîâàíèÿ ê ñîñòàâó è ïàðàìåòðàì òåõíè÷åñêèõ ñðåäñòâ 

17 

2.2Îïèñàíèå ïðîãðàììû 

18 

2.2.1 Ìîäóëüíàÿ ñõåìà çàäà÷è 

18 

2.2.2 Îïèñàíèå ìîäóëåé 

19 

2.2.3 Îïèñàíèå àëãîðèòìà 

22 

2.3 Ðóêîâîäñòâî ïîëüçîâàòåëÿ 

23 

3 Ïðîãðàììà è ïðîòîêîë òåñòèðîâàíèÿ 

28 

Çàêëþ÷åíèå 

29 

Ïðèëîæåíèÿ

20 

Ñïèñîê ëèòåðàòóðû

52 


ÂÂÅÄÅÍÈÅ 

Â íàñòîÿùåå âðåìÿ ðàçâèòèå íàóêè è òåõíèêè íåðàçðûâíî ñâÿçàíî ñ âû÷èñëèòåëüíîé òåõíèêîé (ÂÒ). Ñ ïîìîùüþ ÂÒ íîâîãî ïîêîëåíèÿ ïîâûñèëèñü ñêîðîñòü è îáúåì îáðàáàòûâàåìîé èíôîðìàöèè, à òàêæå êà÷åñòâî ýòîé îáðàáîòêè. Ñåé÷àñ íåâîçìîæíî ïðåäñòàâèòü ìíîãèå îáëàñòè ÷åëîâå÷åñêîé äåÿòåëüíîñòè áåç âû÷èñëèòåëüíîé òåõíèêè.

Â 1949ã. áûë ïîñòðîåí ïåðâûé êîìïüþòåð íà ýëåêòðîííûõ ëàìïàõ, â êîòîðîì áûëè âîïëîùåíû ïðèíöèïû ðàáîò ôîí Íåéìàíà. Çà âñå ýòî âðåìÿ ñìåíèëîñü ÷åòûðå ïîêîëåíèÿ ÝÂÌ. ßñíî, ÷òî êàæäîå íîâîå ïîêîëåíèå ÿâëÿåòñÿ ìîäåðíèçèðîâàííîé ôîðìîé ñòàðûõ ïîêîëåíèé. Ýòà ìîäåðíèçàöèÿ çàêëþ÷àåòñÿ â óëó÷øåíèè òåõíèêî-ýêîíîìè÷åñêèõ ïîêàçàòåëåé: áûñòðîäåéñòâèÿ, íàäåæíîñòè, ñòîèìîñòè.

Ïîñëåäíåå ïîêîëåíèå ÂÒ – ýòî ìèêðîïðîöåññîðíûå âû÷èñëèòåëüíûå ìàøèíû, êîòîðûå ïîïóëÿðíû âî ìíîãèõ ñòðàíàõ âîò óæå íà ïðîòÿæåíèè ìíîãèõ ëåò.

Â íàñòîÿùåå âðåìÿ èíäóñòðèÿ ïðîèçâîäñòâà êîìïüþòåðîâ è ïðîãðàììíîãî îáåñïå÷åíèÿ äëÿ íèõ ÿâëÿåòñÿ îäíîé èç íàèáîëåå âàæíûõ ñôåð ýêîíîìèêè ðàçâèòûõ ñòðàí. Åæåãîäíî â ìèðå ïðîäàþòñÿ äåñÿòêè ìèëëèîíîâ êîìïüþòåðîâ. 

Ìîæíî âûäåëèòü íåñêîëüêî îñíîâíûõ íàïðàâëåíèé èñïîëüçîâàíèÿ ÂÒ:

Èñïîëüçîâàíèå ÝÂÌ äëÿ ðåøåíèÿ ãðîìîçäêèõ ìàòåìàòè÷åñêèõ çàäà÷, òðåáóþùèõ âûñîêóþ òî÷íîñòü;

Ñîðòèðîâàíèå è óïîðÿäî÷èâàíèå èíôîðìàöèè;

Õðàíåíèå îãðîìíîé ñïðàâî÷íîé èíôîðìàöèè â âèäå áèáëèîòåê, òåêñòîâ, àóäèî- è âèäåî - èíôîðìàöèè.

Âû÷èñëèòåëüíàÿ òåõíèêà ïîçâîëÿåò ìåõàíèçèðîâàòü ðåøåíèå çàäà÷ ðàçëè÷íîãî õàðàêòåðà, êîòîðûå ðàíåå ðåøàëèñü âðó÷íóþ. Â íàñòîÿùåå âðåìÿ òðóäíî íàçâàòü âñå òå îáëàñòè ÷åëîâå÷åñêîé äåÿòåëüíîñòè, óñïåõ êîòîðûõ íå áûë ñâÿçàí ñ èñïîëüçîâàíèåì ÝÂÌ. Òàêîå øèðîêîå ðàñïðîñòðàíåíèå ÝÂÌ îáúÿñíÿåòñÿ ñïîñîáíîñòüþ ìàøèíû âûïîëíÿòü äëèííûå ïîñëåäîâàòåëüíîñòè îïåðàöèé áåç âìåøàòåëüñòâà ÷åëîâåêà è ñ áîëüøîé ñêîðîñòüþ âûäàâàòü òî÷íûå ðåçóëüòàòû, õðàíèòü áîëüøîé îáúåì èíôîðìàöèè.

Â íàøè äíè ðàçâèòèå òàêîé ñôåðû îáùåñòâà, êàê àâèàöèîííûé òðàíñïîðò, î÷åíü âàæíî. Ìíîæåñòâó ëþäåé èçî äíÿ â äåíü, â ëþáîå âðåìÿ ãîäà íåîáõîäèìî èñïîëüçîâàíèå âîçäóøíîãî òðàíñïîðòà – äëÿ ïóòåøåñòâèé, áèçíåñà è ò.ä. Íàäåæíîå ðàñïðåäåëåíèå áèëåòîâ èãðàåò â ýòîì îäíó èç ãëàâíûõ ðîëåé. Àâòîìàòèçàöèÿ ïðîäàæè áèëåòîâ ñóùåñòâåííî îáëåã÷èò äåÿòåëüíîñòü ïðåäïðèÿòèé, çàíèìàþùèõñÿ ýòèì. Íåîáõîäèìîñòü àâòîìàòèçàöèè äàííîé çàäà÷è ïîÿâèëàñü â ñâÿçè ñ òåì, ÷òî èíôîðìàöèÿ î ðåéñàõ, êîòîðûå èìåþòñÿ â àãåíòñòâå (íîìåð ðåéñà, êîëè÷åñòâî ñâîáîäíûõ ìåñò, ïóíêòû îòïðàâëåíèÿ è íàçíà÷åíèÿ, äàòà, âðåìÿ âûëåòà è äðóãèå ñâåäåíèÿ) ìîãóò áûòü çàòðåáîâàíû, à ïîèñê èõ íà áóìàæíûõ íîñèòåëÿõ çàòðóäíèòåëåí.


ÏÎÑÒÀÍÎÂÊÀ ÇÀÄÀ×È 1.1. Îïèñàíèå ïðåäìåòíîé îáëàñòè 

Ðàññìîòðèì àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ íà ðàçëè÷íûå ðåéñû. Àãåíòñòâî âåä¸ò ó÷¸ò ïðîäàííûõ áèëåòîâ è ó÷¸ò ïàññàæèðîâ, êóïèâøèõ áèëåòû.

Íåîáõîäèìî îáåñïå÷èòü ââîä, õðàíåíèå è ðåäàêòèðîâàíèå äàííûõ. Â îïðåäåëåííûõ ñëó÷àÿõ íåîáõîäèìî âûïîëíÿòü óäàëåíèå äàííûõ.

Â ñâÿçè ñ ýòèì ñóùåñòâóåò íåîáõîäèìîñòü â õðàíåíèè èíôîðìàöèè è îáðàáîòêå äàííûõ, ñãðóïïèðîâàííûõ ñëåäóþùèì îáðàçîì:

- èíôîðìàöèÿ î ðàñïèñàíèè ðåéñîâ (íîìåð ðåéñà, òèï ñàìîë¸òà, ïóíêò îòïðàâëåíèÿ, ïóíêò íàçíà÷åíèÿ, äàòà âûëåòà, âðåìÿ âûëåòà, âðåìÿ ïîë¸òà, öåíà áèëåòà);

- èíôîðìàöèÿ î ñâîáîäíûõ ìåñòàõ íà ðåéñ (íîìåð ðåéñà, äàòà âûëåòà, îáùåå êîëè÷åñòâî ìåñò, êîëè÷åñòâî ñâîáîäíûõ ìåñò);

- èíôîðìàöèÿ î ïàññàæèðàõ, çàêàçàâøèõ áèëåò (ôàìèëèÿ, èìÿ, îò÷åñòâî, ïðåäúÿâëåííûé äîêóìåíò, åãî ñåðèÿ è íîìåð, íîìåð ðåéñà, äàòà âûëåòà);

Îñîáåííîñòüþ äàííîé çàäà÷è ÿâëÿåòñÿ ðàçãðàíè÷åíèå ïðàâ äîñòóïà îïðåäåë¸ííûõ ãðóïï ïîëüçîâàòåëåé, ò.å. èíôîðìàöèÿ â áàçå äàííûõ ìîæåò èñïîëüçîâàòüñÿ êàê ïàññàæèðàìè, òàê è ñëóæàùèìè àãåíòñòâà: êàññèðàìè è äèñïåò÷åðàìè. Òàêèì îáðàçîì, äëÿ çàùèòû áàçû äàííûõ îò íåñàíêöèîíèðîâàííîãî èñïîëüçîâàíèÿ âûäåëÿþòñÿ òðè ãðóïïû ïîëüçîâàòåëåé: ïàññàæèð, êàññèð è àäìèíèñòðàòîð. Êðîìå òîãî, äëÿ êàæäîé èç ãðóïï ïîëüçîâàòåëåé ñëåäóåò ïðåäóñìîòðåòü íàáîð ìåõàíèçìîâ ïî óïðàâëåíèþ äàííûìè, îáåñïå÷èâàþùèõ ë¸ãêîñòü ïðèìåíåíèÿ è ôóíêöèîíàëüíîñòü ýòîãî ïðîãðàììíîãî ïðîäóêòà (íàïðèìåð, ôèëüòðàöèÿ, ñîðòèðîâêà è ïîèñê çàïèñåé).

Îáùåé öåëüþ çàäà÷è ÿâëÿåòñÿ áûñòðîå è óäîáíîå ïîëó÷åíèå èíôîðìàöèè î ðåéñàõ, õðàíåíèå, îáíîâëåíèå è ðåäàêòèðîâàíèå ýòèõ äàííûõ, îòïðàâëåíèå â àðõèâ âûïîëíåííûõ ðåéñîâ, à òàêæå ââîä äàííûõ î ðåéñàõ ñ òàêèì æå íîìåðîì íà î÷åðåäíóþ äàòó.

Âõîäíûìè äàííûìè äëÿ áàçû ïàññàæèðîâ ÿâëÿþòñÿ:

ÔÈÎ; Ñåðèÿ, íîìåð ïàñïîðòà; Êëàññ; Ìåñòî; Íîìåð ðåéñà



Âõîäíûìè äàííûìè äëÿ áàçû ñàìîë¸òîâ ÿâëÿþòñÿ:

Êîä ñàìîë¸òà; Òèï ñàìîë¸òà; Îáùåå êîëè÷åñòâî ìåñò;

Âõîäíûìè äàííûìè äëÿ áàçû ðàñïèñàíèÿ ðåéñîâ ÿâëÿþòñÿ:

Êîä ðåéñà; Íîìåð ðåéñà; Êîä ñàìîë¸òà; Äàòà îòïðàâëåíèÿ; Äåíü îòïðàâëåíèÿ; Âðåìÿ îòïðàâëåíèÿ; Äàòà ïðèáûòèÿ; Äåíü ïðèáûòèÿ; Âðåìÿ ïðèáûòèÿ;



Âõîäíûìè äàííûìè äëÿ áàçû ðåéñîâ ÿâëÿþòñÿ:

Íîìåð ðåéñà; Ïóíêò îòïðàâëåíèÿ; Ïóíêò íàçíà÷åíèÿ; Âðåìÿ ïîë¸òà; Öåíà áèëåòà



Îñíîâíîé ýêîíîìè÷åñêèé ýôôåêò äîñòèãàåòñÿ çà ñ÷¸ò ñîêðàùåíèÿ âðåìåíè îôîðìëåíèÿ âõîäíîé è âûõîäíîé èíôîðìàöèè. Ñîêðàùåíèå âðåìåíè ïðîèñõîäèò çà ñ÷åò êîìïàêòíîãî îòîáðàæåíèÿ äàííûõ.



1.2. Èíôîðìàöèîííàÿ ìîäåëü.



1.3. Îïèñàíèå âõîäíîé èíôîðìàöèè

Âõîäíûì äîêóìåíòîìè, ïðåäîñòàâëÿåìûìè ïàññàæèðîì äëÿ áàçû äàííûõ ÿâëÿåòñÿ ïàñïîðò, çàãðàíïàñïîðò (ïðåäîñòàâëÿåòñÿ ïî ìåðå íåîáõîäèìîñòè).



Òàáëèöà 1

Îïèñàíèå âõîäíûõ äîêóìåíòîâ

Íàèìåíîâàíèå äîêóìåíòà

Äàòà ïîñòóïëåíèÿ

Îò êîãî ïîñòóïàåò

1

2

3

Ïàñïîðò



Ïðè ïîêóïêå áèëåòà

Îò ïàññàæèðà

Çàãðàíïàñïîðò



Ïðè ïîêóïêå áèëåòà

Îò ïàññàæèðà





Âõîäíûå äàííûå, ïðåäîñòàâëÿåìûå àäìèíèñòðàòîðó: ðàñïèñàíèå ðåéñîâ è òåõíè÷åñêèå õàðàêòåðèñòèêè ñàìîëåòîâ.



Òàáëèöà 2

Îïèñàíèå âõîäíûõ äîêóìåíòîâ



Íàèìåíîâàíèå äîêóìåíòà

Äàòà ïîñòóïëåíèÿ

Îò êîãî ïîñòóïàåò

1

2

3

Ðàñïèñàíèå ðåéñîâ

Êîíåö ìåñÿöà

Èç îòäåëà ñîñòàâëåíèÿ ïëàíà ïàññàæèðñêèõ

ïåðåâîçîê

Òåõ. õàðàêòåðèñòèêè ñàìîë¸òîâ

Ïðè ïîñòóïëåíèè íîâîãî ñàìîë¸òà

Èç îòäåëà òåõíè÷åñêîãî îáåñïå÷åíèÿ



Íà îñíîâàíèè ýòèõ äàííûõ ñîçäàþòñÿ ñëåäóþùèå ôàéëû: Passagiry.db, Raspisanie_reysov.db, Reysy.db, Samolety.db, Sam_pas_promeg.db, Sam_rasp_promeg.db.


Ôîðìû âõîäíûõ äîêóìåíòîâ: 





Ðèñ.1 «Ïàñïîðò»





Ðèñ.2 «Ðàñïèñàíèå ðåéñîâ»



Ðèñ.3 «Òåõíè÷åñêèå õàðàêòåðèñòèêè ñàìîëåòîâ»



1.4. Îïèñàíèå âûõîäíîé èíôîðìàöèè

Âûõîäíîé èíôîðìàöèåé äëÿ äàííîé çàäà÷è ÿâëÿåòñÿ àðõèâ ñ èíôîðìàöèåé î âûïîëíåííûõ ðåéñàõ è îò÷¸ò î âûïîëíåííûõ ðåéñàõ.

Òàáëèöà 3

Îïèñàíèå âûõîäíîé èíôîðìàöèè

Íàèìåíîâàíèå äîêóìåíòà



Äàòà ïîñòóïëåíèÿ

Êóäà ïåðåäà¸òñÿ

Îò÷åò î âûïîëíåííûõ ðåéñàõ

Ïî íåîáõîäèìîñòè

Àäìèíèñòðàòîðó, ïàññàæèðó

Îò÷¸ò î ïàññàæèðàõ

Ïî íåîáõîäèìîñòè

Àäìèíèñòðàòîðó, ïàññàæèðó



Ôîðìû âûõîäíûõ äîêóìåíòîâ:



Âûïîëíåííûå ðåéñû

¹ ðåéñà

Ïóíêò îïðàâëåíèÿ

Ïóíêò íàçíà÷åíèÿ

Öåíà áèëåòà

Âðåìÿ ïîëåòà

1









2









…









N











Ðèñ.4 «Âûïîëíåííûå ðåéñû»



Îïèñàíèå ñòðóêòóðû ÁÄ

Òàáëèöà 4

Íàèìåíîâàíèå ôàéëà

Íàçâàíèå ôàéëà

Íàèìåíîâàíèå ðåêâèçèòîâ

Øèôð ðåêâèçèòîâ

Ôîðìà ïðåäñòàâëåíèÿ

Áàçà ïàññàæèðîâ

Passagiry.db

Êîä ïàññàæèðà

Kod_passagira

Autoincrement





ÔÈÎ

FIO

Alpha





Ñåðèÿ, íîìåð äîê-òà

Seriya, nomer

Alpha





Ìåñòî

Mesto

Alpha





Êëàññ

Klass

Short





Íîìåð ðåéñà

Nomer_reysa

Number

Áàçà ñàìîëåòîâ

Samolety.db

Êîä ñàìîë¸òà

Kod_samoleta*

Number





Òèï ñàìîë¸òà

Tip_samoleta

Alpha





Îáùåå êîë-âî ìåñò

Kol_vo_mest

Number

Áàçà ðàñïèñàíèÿ ðåéñîâ

Raspisanie_reysov.db

Êîä ðåéñà

Kod_reysa

Autoincrement





Íîìåð ðåéñà

Nomer_reysa**

Number





Êîä ñàìîë¸òà

Kod_samoleta

Number





Äàòà îòïðàâëåíèÿ

Data_otpravleniya

Date





Äåíü îòïðàâëåíèÿ

Den_otpravleniya

Alpha





Âðåìÿ îòïðàâëåíèÿ

Vremya_otpravleniya

Time





Äàòà ïðèáûòèÿ

Data_pribytiya

Date





Äåíü ïðèáûòèÿ

Den_pribytiya

Alpha





Âðåìÿ ïðèáûòèÿ

Vremya_pribytiya

Time

Áàçà ðåéñîâ

Reysy.db

Íîìåð ðåéñà

Nomer_reysa

Autoincrement





Ïóíêò îòïðàâëåíèÿ

Punkt_otpravl

Alpha





Ïóíêò íàçíà÷åíèÿ

Punkt_naznach

Alpha





Öåíà áèëåòà

Cena_bileta

Money





Âðåìÿ ïîë¸òà

Vremya_poleta

Time













































Áàçà ïàññàæèðîâ è ñàìîë¸òîâ

Sam_pas_promeg.db

Êîä ñàìîë¸òà

Kod_samoleta

Number





Êîä ïàññàæèðà

Kod_passagira

Number

Áàçà ðàñïèñàíèÿ è ñàìîë¸òîâ

Sam_rasp_promeg.db

Êîä ñàìîë¸òà

Kod_samoleta

Number





Êîä ðåéñà

Kod_reysa

Number




Ôóíêöèîíàëüíàÿ ñõåìà çàäà÷è 



Àãåíòñòâî







Äîñòóï ê äàííûì

Àäìèíèñòðàòîð

Êàññèð









Î ïðîãðàììå









Âûõîä




Êîíòðîëüíûé ïðèìåð 

Êîíòðîëüíûé ïðèìåð ÿâëÿåòñÿ ðó÷íûì ïîäñ÷¸òîì çàäà÷è. Îí ïðåäñòàâëÿåò ñîáîé âàðèàíò çàäà÷è ñ èçâåñòíûìè ðåçóëüòàòàìè è èñïîëüçóåòñÿ äëÿ ïðîâåðêè ïðàâèëüíîñòè ðåøåíèÿ íà ÏÝÂÌ.

Ïî ñîñòàâëåííîé ïðîãðàììå îáðàáàòûâàþòñÿ èñõîäíûå äàííûå êîíòðîëüíîãî ïðèìåðà. Ïîëó÷åííûå ðåçóëüòàòû ñðàâíèâàþòñÿ ñ èçâåñòíûìè ðåçóëüòàòàìè êîíòðîëüíîãî ïðèìåðà. Ïðè íåñîâïàäåíèè ðåçóëüòàòîâ ïðîèçâîäèòñÿ ïîèñê, èñïðàâëåíèå îøèáîê, è ñíîâà ïðîèçâîäèòñÿ âûïîëíåíèå ïðîãðàììû. È òàê äî òåõ ïîð, ïîêà íå áóäåò ïîëó÷åí ïðàâèëüíûé ðåçóëüòàò.

Íà îñíîâàíèè äîêóìåíòà, óäîñòîâåðÿþùåãî ëè÷íîñòü, ïàññàæèð çàíîñèòñÿ â òàáëèöó áàçû äàííûõ «Ïàññàæèðû»:

- Passigiry.db

¹

ÔÈÎ

Äîêóìåíò

Ñåðèÿ, íîìåð

Ìåñòî

Êëàññ

Êîä ðåéñà

1

Èâàíîâ Èâàí Èâàíîâè÷

ïàñïîðò

1234567489

45

À

1

2

Ïåòðîâ Ï¸òð Ïåòðîâè÷

ïàñïîðò

987654321

65

À

1

3

Íèêèôîðîâ Íèêàíîð Íèêàíîðîâè÷

ïàñïîðò

789456321

78

Á

1



Íà îñíîâàíèè ðàñïèñàíèÿ ðåéñîâ çàíîñÿòñÿ äàííûå â òàáëèöó áàçû äàííûõ «Ðàñïèñàíèå ðåéñîâ»:

- Raspisanie_reysov.db

¹

Êîä ðåéñà

Íîìåð ðåéñà

Êîä ñàìîëåòà

Äàòà îòïðàâëåíèÿ

Äåíü îòïðàâëåíèÿ

Âðåìÿ îòïðàâëåíèÿ

Äàòà ïðèáûòèÿ

Äåíü ïðèáûòèÿ

Âðåìÿ ïðèáûòèÿ

1

1

1

4

20.12.2005

Âòîðíèê

12:00

20.12.2005

Âòîðíèê

14:00

2

2

1

1

20.12.2005

Âòîðíèê

14:00

20.12.2005

Âòîðíèê

16:00

3

3

2

4

25.12.2005

Âîñêðåñåíüå

15:00

25.12.2005

Âîñêðåñåíüå

17:00

Íà îñíîâàíèè õàðàêòåðèñòèê ñàìîëåòîâ çàíîñÿòñÿ íîâûå äàííûå î ñàìîëåòå â òàáëèöó áàçû äàííûõ «Ñàìîëåòû»:

- Samolety.db

¹

Êîä ñàìîëåòà

Òèï ñàìîëåòà

Êîë-âî ìåñò

1

2

ÒÓ-334

102

2

3

ÒÓ-104

100

3

4

Òó-154

180



Âûõîäíûå äîêóìåíòû öåëèêîì è ïîëíîñòüþ çàâèñÿò îò âõîäíûõ äàííûõ: 



Âûïîëíåííûå ðåéñû

¹ ðåéñà

Ïóíêò îïðàâëåíèÿ

Ïóíêò íàçíà÷åíèÿ

Öåíà áèëåòà

Âðåìÿ ïîëåòà

1

 Ìîñêâà

Óôà

2500 ðóá

2:00:00

2

Óôà 

Ìîñêâà

2365 ðóá

2:00:00

…









N

 Óôà

Ó÷àëû

1500 ðóá

0:30:00



2. ÝÊÑÏÅÐÈÌÅÍÒÀËÜÍÛÉ ÐÀÇÄÅË

2.1 Òåõíè÷åñêîå çàäàíèå

2.1.1. Îñíîâàíèå äëÿ ðàçðàáîòêè 

Çàäàíèå ïðåïîäàâàòåëÿ äëÿ ïðîâåäåíèÿ ïðàêòè÷åñêèõ çàíÿòèé è âûïîëíåíèÿ êóðñîâîé ðàáîòû.

2.1.2. Íàçíà÷åíèå ðàçðàáîòêè

Ïðîãðàììà ïðåäíàçíà÷åíà äëÿ àâòîìàòèçàöèè ðàáîòû àãåíòñòâà.

2.1.3. Òðåáîâàíèÿ ê ïðîãðàììå.

Ïðîãðàììà äîëæíà ðàáîòàòü â ìíîãîîêîííîì ãðàôè÷åñêîì ðåæèìå è ïîääåðæèâàòü ðàáîòó, êàê êëàâèàòóðû, òàê è ìàíèïóëÿòîðà òèïà "ìûøü".

Èíôîðìàöèÿ äîëæíà ïîñòîÿííî õðàíèòüñÿ íà æåñòêîì äèñêå ÝÂÌ.

Äîëæåí áûòü îáåñïå÷åí ïðîñìîòð áàçû äàííûõ ñ âîçìîæíîñòüþ óäàëåíèÿ èç íåå óêàçàííîé èíôîðìàöèè.

Ïðîãðàììà äîëæíà óìåòü ñ÷èòûâàòü èíôîðìàöèþ èç ôàéëà çàäàííîé ñòðóêòóðû.

×òî êàñàåòñÿ çàùèòû áàçû äàííûõ îò íåñàíêöèîíèðîâàííîãî äîñòóïà, òî âêëþ÷àþòñÿ íåñêîëüêî óðîâíåé äîñòóïà.

2.1.4. Òðåáîâàíèÿ ê íàäåæíîñòè

Ïðîãðàììà äîëæíà îáðàáàòûâàòü îøèáî÷íûå äåéñòâèÿ ïîëüçîâàòåëÿ è ñîîáùàòü åìó îá ýòîì.

Ïðîãðàììà äîëæíà îáåñïå÷èâàòü êîíòðîëü âõîäíîé è âûõîäíîé èíôîðìàöèè â ôîðìå ôàéëîâ.

2.1.5. Òðåáîâàíèÿ ê ñîñòàâó è ïàðàìåòðàì òåõíè÷åñêèõ ñðåäñòâ

Ïðîãðàììíîå îáåñïå÷åíèå ðàçðàáàòûâàåòñÿ äëÿ ïåðñîíàëüíîé âû÷èñëèòåëüíîé òåõíèêè òèïà íå íèæå IBM PC-386 ñî ñëåäóþùèìè õàðàêòåðèñòèêàìè:

- îáúåì ÎÇÓ íå íèæå 16 Mb;

- ãðàôè÷åñêèé àäàïòåð SVGA;

- ìàíèïóëÿòîð òèïà "ìûøü".



2.2 Îïèñàíèå ïðîãðàììû



2.2.1. Ìîäóëüíàÿ ñõåìà çàäà÷è 



Unit13









Unit3

Unit1



Unit8




Unit7

Unit10







Unit6



Unit5



Unit12




Unit11









2.2.2. Îïèñàíèå ìîäóëåé



Ïðîãðàììà «Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîà» ñîñòîèò èç 13 ìîäóëåé, ñîäåðæàùèõ 10 ôîðì è îäèí ìîäóëü äàííûõ (DataModule).



Unit13

Ìîäóëü ñîäåðæèò ãëàâíîå ìåíþ (ãëàâíàÿ ôîðìà)

MainMenu1

Ãëàâíîå ìåíþ. Ïîçâîëÿåò ïåðåéòè ê äðóãèì ôîðìàì



Unit1

Ìîäóëü ñîäåðæèò äàííûå î ðåéñàõ

DBGrid1

Îòîáðàæàåò äîñòóïíûå ðåéñû

DBNavigator1

Íàâèãàöèÿ ïî òàáëèöå

DBGrid2

Îòîáðàæàåò ðàñïèñàíèå äîñòóïíûõ ðåéñîâ

DBNavigator2

Íàâèãàöèÿ ïî òàáëèöå

Button1

Âûïîëíÿåò ðåæèì îòîáðàæåíèÿ ðàñïèñàíèÿ òîëüêî âûáðàííîãî ðåéñà

Button2

Âîññòàíàâëèâàåò ïîëíîå îòîáðàæåíèå ðàñïèñàíèÿ

MainMenu1





Unit3

Ìîäóëü ââîäà ïàðîëÿ Àäìèíèñòðàòîðà äëÿ äîñòóïà ê äàííûì

LabeledEdit1

Ïîëå ââîäà ïàðîëÿ

Button1

Ïîäòâåðæäåíèå ïàðîëÿ

Button2

Âåðíóòüñÿ íàçàä



Unit10

Ìîäóëü ââîäà ïàðîëÿ Êàññèðà äëÿ äîñòóïà ê äàííûì

LabeledEdit1

Ïîëå ââîäà ïàðîëÿ

Button1

Ïîäòâåðæäåíèå ïàðîëÿ

Button2

Âåðíóòüñÿ íàçàä





Unit7

Ìîäóëü äëÿ âûçîâà ñïðàâêè «Î ïðîãðàììå…».



Unit6

Ìîäóëü îòîáðàæåíèÿ äàííûõ äëÿ Àäìèíèñòðàòîðà.

DBGrid1

Îòîáðàæàåò äîñòóïíûå ðåéñû

DBNavigator1

Íàâèãàöèÿ ïî òàáëèöå

DBGrid2

Îòîáðàæàåò ðàñïèñàíèå äîñòóïíûõ ðåéñîâ

DBNavigator2

Íàâèãàöèÿ ïî òàáëèöå

DBGrid3

Îòîáðàæàåò äàííûå î ñàìîëåòàõ

DBNavigator3

Íàâèãàöèÿ ïî òàáëèöå

DBGrid4

Îòîáðàæàåò äàííûå î ïàññàæèðàõ

DBNavigator4

Íàâèãàöèÿ ïî òàáëèöå

Button1

Âûïîëíÿåò ðåæèì îòîáðàæåíèÿ ðàñïèñàíèÿ òîëüêî âûáðàííîãî ðåéñà

Button2

Âîññòàíàâëèâàåò ïîëíîå îòîáðàæåíèå ðàñïèñàíèÿ

Button3

Âûïîëíÿåò ðåæèì îòîáðàæåíèÿ ïàññàæèðîâ òîëüêî âûáðàííîãî ðåéñà

Button4

Âîññòàíàâëèâàåò ïîëíîå îòîáðàæåíèå âñåõ ïàññàæèðîâ

MainMenu1

Ìåíþ íà ôîðìå. Ïîçâîëÿåò ïåðåõîäèò ê äðóãèì ôîðìàì è îòîáðàæàåò îñíîâíûå ôóíêöèè



Unit5

Ìîäóëü îòîáðàæåíèÿ äàííûõ äëÿ Êàññèðà.

DBGrid1

Îòîáðàæàåò äîñòóïíûå ðåéñû

DBNavigator1

Íàâèãàöèÿ ïî òàáëèöå

DBGrid2

Îòîáðàæàåò ðàñïèñàíèå äîñòóïíûõ ðåéñîâ

DBNavigator2

Íàâèãàöèÿ ïî òàáëèöå

DBGrid4

Îòîáðàæàåò äàííûå î ïàññàæèðàõ

DBNavigator4

Íàâèãàöèÿ ïî òàáëèöå

Button1

Âûïîëíÿåò ðåæèì îòîáðàæåíèÿ ðàñïèñàíèÿ òîëüêî âûáðàííîãî ðåéñà

Button2

Âîññòàíàâëèâàåò ïîëíîå îòîáðàæåíèå ðàñïèñàíèÿ

Button3

Âûïîëíÿåò ðåæèì îòîáðàæåíèÿ ïàññàæèðîâ òîëüêî âûáðàííîãî ðåéñà

Button4

Âîññòàíàâëèâàåò ïîëíîå îòîáðàæåíèå âñåõ ïàññàæèðîâ

MainMenu1

Ìåíþ íà ôîðìå. Ïîçâîëÿåò ïåðåõîäèò ê äðóãèì ôîðìàì è îòîáðàæàåò îñíîâíûå ôóíêöèè

RadioGroup1

Ôèëüòðàöèÿ äàííûõ ïî ðàçëè÷íûì êðèòåðèÿì äàííûõ

RadioGroup2

Ñîðòèðîâêà äàííûõ ïî ðàçëè÷íûì êðèòåðèÿì äàííûõ



Unit8

Ìîäóëü îïåðàöèé íàä áàçàìè äàííûõ.

RadioGroup1

Ôèëüòðàöèÿ äàííûõ ïî ðàçëè÷íûì êðèòåðèÿì äàííûõ

RadioGroup2

Ñîðòèðîâêà äàííûõ ïî ðàçëè÷íûì êðèòåðèÿì äàííûõ

RadioGroup3

Ïîèñê äàííûõ ïî ðàçëè÷íûì êðèòåðèÿì äàííûõ



Unit11

Ìîäóëü äëÿ ââîäà è ñîõðàíåíèÿ äàííûõ î ïàññàæèðàõ

Button1

Ñîõðàíèòü ââåäåííûå äàííûå

Button2

Âåðíóòüñÿ íàçàä



Unit12

Ìîäóëü äëÿ ââîäà è ñîõðàíåíèÿ äàííûõ î ñàìîëåòàõ, ðåéñàõ è ðàñïèñàíèè ðåéñîâ 

PageControl1

Ïîçâîëÿåò ïåðåõîäèòü íà ëèñò äëÿ ââîäà íóæíûõ äàííûõ

Button1

Ñîõðàíèòü ââåäåííûå äàííûå î ñàìîëåòàõ

Button2

Ñîõðàíèòü ââåäåííûå äàííûå î ðåéñàõ

Button3

Ñîõðàíèòü ââåäåííûå äàííûå î ðàñïèñàíèè ðåéñîâ



2.2.3. Îïèñàíèå àëãîðèòìà









A







B



C



Àãåíòñòâî



D



Îïåðàöèè ñ áä



E



Äîñòóï ê 

äàííûì



F

Àäìèíèñòðàòîð 



Êàññèð



G



Ââîä â áä Ðàáîòà ñ áä Ââîä â áä

H












Î ïðîãðàììå


























2.3. Ðóêîâîäñòâî ïîëüçîâàòåëÿ

Ïðè çàïóñêå ïðîãðàììû âûâîäèòñÿ ãëàâíîå îêíî ïðîãðàììû, â êîòîðîì ïîëüçîâàòåëü ìîæåò âûáèðàòü èíòåðåñóþùèå åãî ïóíêòû ìåíþ äëÿ ïðîñìîòðà òàáëèö, ââîäà è ðåäàêòèðîâàíèÿ äàííûõ.





Ïðè íàæàòèè â ãëàâíîì ìåíþ íà ïóíêò «Àãåíòñòâî» ïîÿâëÿåòñÿ ôîðìà ñ äàííûìè î ðåéñàõ è èõ ðàñïèñàíèè. 



Ïðè íàæàòèè íà êíîïêó «Îòîáðàçèòü ðàñïèñàíèå âûáðàííîãî ðåéñà» ïðîèñõîäèò ñîîòâåòñòâóþùåå äåéñòâèå. Ïðè íàæàòèè íà ïóíêò ìåíþ «Îïåðàöèè ñ ÁÄ» ïîÿâëÿåòñÿ ñëåäóþùàÿ ôîðìà, íà êîòîðîé èìååòñÿ âîçìîæíîñòü îòñîðòèðîâàòü, îòôèëüòðîâàòü äàííûå è íàéòè íóæíóþ çàïèñü:



Òàêæå íà ôîðìå «Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ» èìååòñÿ âîçìîæíîñòü ïåðåõîäà ê ïðîñìîòðó áîëüøåé èíôîðìàöèè, ïðè íàæàòèè íà ñîîòâåòñòâóþùèé ïóíêò ìåíþ, ÷åðåç ðàçãðàíè÷åíèå ïðàâ äîñòóïà: Êàññèð è Àäìèíèñòðàòîð 









Ïðè âõîäå êàê Àäìèíèñòðàòîð ïîÿâëÿåòñÿ ôîðìà:



íà êîòîðîé èìååòñÿ âîçìîæíîñòü ïðîñìîòðåòü âñå äàííûå (ïîìèìî äàííûõ î ðåéñàõ è èõ ðàñïèñàíèè) î ïàññàæèðàõ è ñàìîëåòàõ. Ïðè íàæàòèè íà êíîïêó «Îòîáðàçèòü ïàññàæèðîâ íà ðåéñ» ïðîèñõîäèò ñîîòâåòñòâóþùåå äåéñòâèå Òàêæå ïðè íàæàòèè íà ïóíêò ìåíþ «Ðàáîòà ñ ÁÄ» ìîæíî äîáàâèòü âî âñå áàçû äàííûõ íîâûå äàííûå:



Ïðè âõîäå êàê Êàññèð ïîÿâëÿåòñÿ ôîðìà:



Ïðè íàæàòèè íà ïóíêò «Ðàáîòà ñ ÁÄ» ïîÿâëÿåòñÿ âîçìîæíîñòü ïðîèçâåñòè ðàçë÷íûå îïåðàöèè ñ áàçàìè äàííûõ: ñîðòèðîâêó, ôèëüòðàöèþ, ïîèñê. Êíîïêà «Ïîêàçàòü ñâåäåíèÿ» äàåò âîçìîæíîñòü ïðîñìîòðà íà êàêîé ðåéñ çàïèñàí ïàññàæèð.

Ïðè íàæàòèè íà ïóíêò ìåíþ «Ââîä â ÁÄ» ìîæíî äîáàâèòü íîâûå äàííûå î ïàññàæèðàõ:





Ïðè íàæàòèè â ãëàâíîì îêíå íà ïóíêò ìåíþ «Î ïðîãðàììå» ïîÿâèòñÿ ñïðàâî÷íàÿ èíôîðìàöèÿ î äàííîì ïðèëîæåíèè:





Ïðè íàæàòèè â ìåíþ íà ïóíêò «Âûõîä» îñóùåñòâëÿåòñÿ âûõîä èç ïðîãðàììû.



3. ÏÐÎÃÐÀÌÌÀ È ÏÐÎÒÎÊÎË ÒÅÑÒÈÐÎÂÀÍÈß



1. Â òàáëèöå «Ïàññàæèðû» ìîæåò âîçíèêíóòü ïðîáëåìà ñ ââîäîì íîìåðà ïàñïîðòà èç-çà íåâíèìàòåëüíîñòè.

2. Â òàáëèöå «Ðàñèïèñàíèå ðåéñîâ» èç-çà íåâíèìàòåëüíîñòè ìîãóò áûòü íåïðàâèëüíî çàïèñàíû äàííûå.

3. Ïðîãðàììà íå èìååò êîíòåêñòíîé ñïðàâêè.

4. Âûõîä èç ïðîãðàììû, êîìàíäîé «Âûõîä». Âûâîä ñîîáùåíèÿ î ïîäòâåðæäåíèè âûõîäà èç ïðèëîæåíèÿ.

5. Ââîä íåïðàâèëüíîãî ïàðîëÿ äîñòóïà. Âûâîä ñîîáùåíèÿ ïîëüçîâàòåëþ î òîì, ÷òî ïàðîëü íåâåðíûé.

6. Êà÷åñòâî ïðîãðàììíîãî ñðåäñòâà íåçíà÷èòåëüíî ñíèæåíî îôîðìëåíèåì íåêîòîðûõ òàáëèö (íå ïîìåùàþòñÿ íà ýêðàíå), èñïîëüçóþòñÿ òåðìèíû, êîòîðûå ìîãóò áûòü íåäîñòóïíû ïðîñòîìó ïîëüçîâàòåëþ.

7. Çàùèòà îò íåñàíêöèîíèðîâàííîãî äîñòóïà ê äàííûì ÁÄ, ò.å. ðàçãðàíè÷åíèå ïðàâ äîñòóïà ðàçëè÷íûõ ãðóïï ïîëüçîâàòåëåé

8. Ïðè ââîäå íåêîððåêòíîé äàòû âûäà¸òñÿ ñîîáùåíèå ïðîãðàììû ñ ïðîñüáîé èñïðàâèòü èñõîäíûå äàííûå



ÇÀÊËÞ×ÅÍÈÅ

Â ïðîöåññå âûïîëíåíèÿ êóðñîâîãî ïðîåêòà áûëè ðàçðàáîòàíû ñòðóêòóðà è àëãîðèòì ðàáîòû ïðèëîæåíèÿ «Agentstvo.exe»

Ïðè ýòîì áûëè ó÷òåíû îñîáåííîñòè ðåàëèçàöèè äðóãèõ êîìïîíåíòîâ èíôîðìàöèîííîé ñèñòåìû.

Ðåçóëüòàòîì ðàáîòû ñòàëî ñîçäàíèå ïðîãðàììíîãî îáåñïå÷åíèÿ, îáñëóæèâàþùåãî àäìèíèñòðàòîðà àãåíòñòâà.

Ïðîãðàììíîå îáåñïå÷åíèå íàïèñàíî íà ÿçûêå Object Pascal ñ èñïîëüçîâàíèåì ñðåäû ðàçðàáîòêè Delphi 7.0. 

Áûëè ïðèîáðåòåíû íàâûêè â îáëàñòè ïîñòðîåíèÿ áàç äàííûõ, à òàêæå èõ ïðîãðàììíîé çàùèòû. Êðîìå òîãî, â ñòîðîíå íå îñòàëîñü ñòèëèñòè÷åñêîå è ýñòåòè÷åñêîå îôîðìëåíèå ïðîãðàììíîãî ïðîäóêòà, ïðèâëåêàþùåå âíèìàíèå ïîòåíöèàëüíîãî ïîêóïàòåëÿ. Èçó÷åíû ïðèåìû óñêîðåíèÿ âû÷èñëåíèé è èñ÷èñëåíèé, äàííûõ ïðîãðàììîé, â ÷àñòíîñòè óñêîðåí âûâîä èíôîðìàöèè îò÷åòîâ ïðè ïîìîùè RaveDesigner, FreeReport. 

Áûë ïðîâåäåí êîìïëåêñ òåñòèðîâàíèÿ â ñîñòàâå ïðîãðàììû «Agentstvo.exe», â ðåçóëüòàòå êîòîðîãî áûëè óñòðàíåíû íåêîòîðûå íåäîñòàòêè, à ïðîãðàììà ïîëó÷èëà ñâîå äàëüíåéøåå ðàçâèòèå è íåñêîëüêî ðàñøèðèëà ñâîè ôóíêöèè. 

Ïîñëå ýòîãî áûëè íàïèñàíû ðóêîâîäñòâà ïîëüçîâàòåëÿ è ðóêîâîäñòâà ïî óñòàíîâêå è íàñòðîéêå ïðèëîæåíèÿ. 

Ïðèëîæåíèå áûëî âûïîëíåíî íà äàííûõ êîíòðîëüíîãî ïðèìåðà. Ïîëó÷åííûå ðåçóëüòàòû ïîëíîñòüþ ñîâïàëè ñ ïîëó÷åííûìè äàííûìè êîíòðîëüíîãî ïðèìåðà.



ÏÐÈËÎÆÅÍÈß



Íàèìåíîâàíèå ïðîãðàììíîãî ïðîäóêòà – «Àâòîìàòèçàöèÿ àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâ» («Agentstvo.exe»)

Ïîñòàâùèê – Êîíêèí Ä. È.

Äàòà ðàçðàáîòêè – 30.05.07ã.

Äàòà âûïóñêà – 30.05.07 ã.

Äàííàÿ ïðîãðàììà çàíèìàåò íà äèñêå 2,3 Ìá

Àäðåñ ïîñòàâùèêà – ã. Óôà, Ëåâ÷åíêî, 8 - 100

Îñíîâíîé çàäà÷åé ïðîãðàììíîãî ïðîäóêòà ÿâëÿåòñÿ – îáëåã÷åíèå ðàáîòû êàññèðà â àãåíòñòâå.

Àâòîðîì ïðîãðàììû ÿâëÿåòñÿ Êîíêèí Äìèòðèé Èãîðåâè÷, êîòîðûé îáó÷àåòñÿ â ÃÎÓ ÓÊÑÈÂÒ ïî ñïåöèàëüíîñòè "Ïðîãðàììíîå îáåñïå÷åíèå ÂÒ è ÀÑ", â ãðóïïå 3Ï-4



unit Unit13;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls, StdCtrls, Menus, DB, DBTables;



type

TForm13 = class(TForm)

TableReis: TTable;

Tablerasp: TTable;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;



procedure N1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);



procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form13: TForm13;



implementation



uses Unit1, Unit10, Unit3, Unit7;



{$R *.dfm}



procedure TForm13.N1Click(Sender: TObject);

begin

form1.show;

end;



procedure TForm13.N4Click(Sender: TObject);

begin

form10.show

end;



procedure TForm13.N3Click(Sender: TObject);

begin

form3.show;

end;



procedure TForm13.N5Click(Sender: TObject);

begin

Form7.show;

end;



procedure TForm13.N6Click(Sender: TObject);

begin

if MessageDlg('Âû äåéñòâèòåëüíî õîòèòå âûéòè?',mtWarning,mbOKCancel,1)=1

then Close;

end;



end.



unit Unit1;



interface



uses Unit2, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, Db, DBTables, ExtCtrls, DBCtrls, StdCtrls,

Menus, jpeg;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N8: TMenuItem;

DBNavigator3: TDBNavigator;

DBGrid2: TDBGrid;

N6: TMenuItem;

Button1: TButton;

Button2: TButton;

Table1: TTable;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

procedure N8Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Image1Click(Sender: TObject);

procedure Label3Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);



private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



uses Unit13, Unit10, Unit3, Unit7, Unit9, Unit8;



{uses Unit1, Unit3, Unit4, Unit7, DBTables, Unit8, Unit9, Unit5, Unit6, Unit10,

Unit13;

}

{$R *.dfm}



procedure TForm1.N8Click(Sender: TObject);

begin

form13.close;

end;



procedure TForm1.N3Click(Sender: TObject);

begin

form10.show;

end;



procedure TForm1.N4Click(Sender: TObject);

begin

form3.Show;

end;



procedure TForm1.Image1Click(Sender: TObject);

begin

Form7.Show;

end;



procedure TForm1.Label3Click(Sender: TObject);

begin

Form7.Show;

end;



procedure TForm1.N9Click(Sender: TObject);

begin

Form9.show;

end;



procedure TForm1.N10Click(Sender: TObject);

Var Krit:string;

begin

Krit:=InputBox('Ôèëüòðàöèÿ','Ôèëüòðîâàòü ïî ïóíêòó îòïðàâëåíèÿ:','') ;

With DataModule2.TableReis do

begin

Filter:='punkt_naznach='''+Krit+'*''';

filtered:=true;

end;

end;



procedure TForm1.N6Click(Sender: TObject);

begin

Form8.show;

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

DataModule2.TableRasp.MasterFields:='';

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

with DataModule2 do

begin

TableRasp.MasterSource:=DSReis;

TableRasp.IndexName:='ind_nomer';

TableRasp.MasterFields:='Nomer_reisa';

end;



end;



end.



unit Unit2;



interface



uses

SysUtils, Classes, DB, DBTables;



type

TDataModule2 = class(TDataModule)

TableReis: TTable;

TableRasp: TTable;

TableSamol: TTable;

TablePassagiry: TTable;

DSReis: TDataSource;

DSRasp: TDataSource;

DSsamol: TDataSource;

DSPassagiry: TDataSource;

TableSamPasPromeg: TTable;

TableSamRaspPromeg: TTable;

DSSamPasProm: TDataSource;

DSSamRaspPromeg: TDataSource;

TableSamolKod_samoleta: TAutoIncField;

TableSamolTip_samoleta: TStringField;

TableSamolKol_vo_mest: TSmallintField;

TableSamPasPromegKod_samoleta: TSmallintField;

TableSamPasPromegKod_passagira: TFloatField;

TableRaspKod_reisa: TSmallintField;

TableRaspNomer_reisa: TFloatField;

TableRaspKod_samoleta: TSmallintField;

TableRaspData_otpravleniya: TDateField;

TableRaspDen_otpravleniya: TStringField;

TableRaspVremya_otpravleniya: TTimeField;

TableRaspData_pribytiya: TDateField;

TableRaspDen_pribytiya: TStringField;

TableRaspVremya_pributiya: TTimeField;

TableReisNomer_reisa: TAutoIncField;

TableReisPunkt_otpravl: TStringField;

TableReisPunkt_naznach: TStringField;

TableReisCena_bileta: TCurrencyField;

TableReisVremya_poleta: TTimeField;

TableDocument: TTable;

DSDocum: TDataSource;

TablePassagiryKod_passagira: TAutoIncField;

TablePassagiryFIO: TStringField;

TablePassagiryDocument: TStringField;

TablePassagirySeriyanomer: TStringField;

TablePassagiryMesto: TSmallintField;

TablePassagiryKlass: TStringField;

TablePassagiryKod_reisa: TFloatField;

procedure TableRaspCalcFields(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;



var

DataModule2: TDataModule2;



implementation



{$R *.dfm}



procedure TDataModule2.TableRaspCalcFields(DataSet: TDataSet);

Var Kol:integer;

begin

DataModule2.TableRasp.FieldByName('').AsString:='';

end;



end.



unit Unit3;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, Mask, ExtCtrls;



type

TForm3 = class(TForm)

Button1: TButton;

Button2: TButton;

LabeledEdit1: TLabeledEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form3: TForm3;



implementation



uses Unit5, Unit6, Unit1;



{$R *.dfm}



procedure TForm3.Button1Click(Sender: TObject);

begin

if LabeledEdit1.Text='1' then Form6.show

else begin ShowMessage('Ïàðîëü íåâåðíûé');

LabeledEdit1.Text:='';

Form3.Hide;

form1.show;

end;

Form3.Hide;

end;



procedure TForm3.Button2Click(Sender: TObject);

begin

Form3.Hide;

end;



end.



unit Unit5;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, Menus, StdCtrls;



type

TForm5 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

MainMenu1: TMainMenu;

N3: TMenuItem;

RadioGroup1: TRadioGroup;

RadioGroup2: TRadioGroup;

Edit1: TEdit;

Label5: TLabel;

N2: TMenuItem;

N7: TMenuItem;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

N1: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Label4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

procedure RadioGroup2Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);



private

{ Private declarations }

public

{ Public declarations }

end;



var

Form5: TForm5;



implementation



uses Unit10, Unit1, DBTables, DateUtils, Unit11;



{$R *.dfm}



procedure TForm5.N3Click(Sender: TObject);

begin

Form1.Close;

end;



procedure TForm5.N4Click(Sender: TObject);

begin

RadioGroup2.Visible:=True;

end;



procedure TForm5.Label4Click(Sender: TObject);

begin

Form5.Hide;

Form1.Show;

end;



procedure TForm5.N5Click(Sender: TObject);

begin

RadioGroup1.Visible:=True;

end;



procedure TForm5.RadioGroup1Click(Sender: TObject);

Var Fam,Klass:string;

begin

case RadioGroup1.ItemIndex of

0:with DataModule2.TablePassagiry do

begin

Fam:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ôèëüòðîâàòü ïî ÔÈÎ:','') ;

begin

Filter:='fio='''+Fam+'*''';

filtered:=true;

end;

end;

1: with DataModule2.TablePassagiry do

begin

KLass:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ôèëüòðîâàòü ïî êëàññó:','') ;

begin

Filter:='klass='''+KLass+'*''';

filtered:=true;

end;

end;

2:DataModule2.TablePassagiry.Filtered:=False;

end;

end;



procedure TForm5.RadioGroup2Click(Sender: TObject);

begin

With DataModule2.TablePassagiry do

Case RadioGroup2.ItemIndex of

0:IndexName:='';

1:IndexName:='ind_fio';

2:IndexName:='ind_kodReisa';

end;

end;



procedure TForm5.N2Click(Sender: TObject);

begin

Edit1.Visible:=true;

Label5.Visible:=true;

With DataModule2.TablePassagiry do

begin

IndexName:='Ind_nomer';

FindNearest([Edit1.Text]);

end;

end;



procedure TForm5.N6Click(Sender: TObject);

Var fio:string;

begin

Fio:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ïîèñê ïî ôàìèëèè:','');

DataModule2.TablePassagiry.Locate('fio',fio,[{loPartiaiKey}]);

end;



procedure TForm5.N7Click(Sender: TObject);

begin

DataModule2.TablePassagiry.Append;

form11.show;

end;



procedure TForm5.CheckBox2Click(Sender: TObject);

begin

with DataModule2 do

begin

TablePassagiry.MasterSource:=DSRasp;

TableRasp.IndexName:='ind_kod';

TableRasp.MasterFields:='kod_reisa';

end

end;



procedure TForm5.Button3Click(Sender: TObject);

begin

with DataModule2 do begin

TablePassagiry.MasterSource:=DSRasp;

TablePassagiry.IndexName:='ind_kodReisa';

TablePassagiry.MasterFields:='kod_reisa';

end;

end;



procedure TForm5.Button4Click(Sender: TObject);

begin

DataModule2.TablePassagiry.MasterFields:='';

end;



procedure TForm5.Button1Click(Sender: TObject);

begin

with DataModule2 do

begin

TableRasp.MasterSource:=DSReis;

TableRasp.IndexName:='ind_nomer';

TableRasp.MasterFields:='Nomer_reisa';

end;

end;



procedure TForm5.Button2Click(Sender: TObject);

begin

DataModule2.TableRasp.MasterFields:='';

end;



procedure TForm5.N9Click(Sender: TObject);

begin

Form13.RvProject1.Execute;

end; 



procedure TForm5.N10Click(Sender: TObject);

begin

Form13.RvProject2.Execute;

end;



end.



unit Unit6;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, Menus, StdCtrls;



type

TForm6 = class(TForm)

MainMenu1: TMainMenu;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DBNavigator1: TDBNavigator;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

CheckBox1: TCheckBox;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

N1: TMenuItem;

N2: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N6: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N8Click(Sender: TObject);



private

{ Private declarations }

public

{ Public declarations }

end;



var

Form6: TForm6;



implementation



uses Unit1, Unit12, Unit13, DBTables;



{$R *.dfm}



procedure TForm6.Button1Click(Sender: TObject);

begin

with DataModule2 do

begin

TableRasp.MasterSource:=DSReis;

TableRasp.IndexName:='ind_nomer';

TableRasp.MasterFields:='Nomer_reisa';

end;

end;



procedure TForm6.Button2Click(Sender: TObject);

begin

DataModule2.TableRasp.MasterFields:='';

end;



procedure TForm6.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then

with DataModule2 do

begin

TableSamol.MasterSource:=DSRasp;

TableSamol.IndexFieldNames:='kod_samoleta';

TableSamol.MasterFields:='kod_samoleta';

end

else DataModule2.TableSamol.MasterFields:='';



end;



procedure TForm6.Button3Click(Sender: TObject);

begin

with DataModule2 do begin

TablePassagiry.MasterSource:=DSRasp;

TablePassagiry.IndexName:='ind_kodReisa';

TablePassagiry.MasterFields:='kod_reisa';

end;

end;



procedure TForm6.Button4Click(Sender: TObject);

begin

DataModule2.TablePassagiry.MasterFields:='';

end;

procedure TForm6.N11Click(Sender: TObject);

begin

DataModule2.TableSamol.Append;

form12.show;

form12.PageControl1.TabIndex:=0;

end;



procedure TForm6.N12Click(Sender: TObject);

begin

DataModule2.TableReis.Append;

form12.show;

form12.PageControl1.TabIndex:=1;

end;



procedure TForm6.N13Click(Sender: TObject);

begin

DataModule2.TableRasp.Append;

form12.show;

form12.PageControl1.TabIndex:=2;

end;



procedure TForm6.N6Click(Sender: TObject);

begin

form13.hide;

close;

end;



procedure TForm6.N2Click(Sender: TObject);

begin

Form13.RvProject1.Execute;

end;



procedure TForm6.N8Click(Sender: TObject);

begin

Form13.RvProject2.Execute;

end;



end.



unit Unit7;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls, StdCtrls;



type

TForm7 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form7: TForm7;



implementation



{$R *.dfm}



end.



unit Unit8;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, ComCtrls;



type

TForm8 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

RadioGroup1: TRadioGroup;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

RadioGroup2: TRadioGroup;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

RadioGroup3: TRadioGroup;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

Label2: TLabel;

Button3: TButton;

procedure RadioGroup1Click(Sender: TObject);

procedure RadioGroup2Click(Sender: TObject);

procedure RadioGroup3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form8: TForm8;



implementation



uses DBTables, DB, ComObj;



{$R *.dfm}



procedure TForm8.RadioGroup1Click(Sender: TObject);

Var Krit1,Krit:string;



begin

case RadioGroup1.ItemIndex of

0:begin

with DataModule2.TableReis do

begin

Krit:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ôèëüòðîâàòü ïî ïóíêòó îòïðàâëåíèÿ:','') ;

begin

Filter:='punkt_otpravl='''+Krit+'*''';

Filtered:=True;

end;

end;

end;

1:begin

with DataModule2.TableReis do

begin

Krit:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ôèëüòðîâàòü ïî ïóíêòó íàçíà÷åíèÿ:','') ;

Filter:='punkt_naznach='''+Krit+'*''';

Filtered:=true;

end;



end;

2:begin

with DataModule2.TableRasp do

begin

IndexFieldNames:='data_otpravleniya';

SetRangeStart;

FieldByName('data_otpravleniya').AsDateTime:=DateTimePicker1.Date;

SetRangeEnd;

FieldByName('data_otpravleniya').AsDateTime:=DateTimePicker2.Date;

ApplyRange;

end;

end;

3:begin

DataModule2.TableReis.Filtered:=False;

DataModule2.TableRasp.Filtered:=False;



DataModule2.TableRasp.CancelRange;

end;

end;

end;



procedure TForm8.RadioGroup2Click(Sender: TObject);

begin

with DataModule2.TableReis do

case RadioGroup2.ItemIndex of

0:IndexName:='ind_otpravl';

1:IndexName:='ind_naznach';

end;

end;



procedure TForm8.RadioGroup3Click(Sender: TObject);

var punkt:String;

begin

case RadioGroup3.ItemIndex of

0:begin

punkt:=InputBox('Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ','Ïîèñê ïî ïóíêòó íàçíà÷åíèÿ:','');

DataModule2.TableReis.locate('Punkt_naznach',punkt,[loPartialKey]);

end;

1:begin

Button3.Visible:=true;

DataModule2.TableRasp.locate('Data_otpravleniya',DateTimePicker1.Date,[loPartialKey]);

end;



end;



end;



procedure TForm8.Button1Click(Sender: TObject);

begin

with DataModule2 do

begin

TableRasp.MasterSource:=DSReis;

TableRasp.IndexName:='ind_nomer';

TableRasp.MasterFields:='Nomer_reisa';

end;



end;



procedure TForm8.Button2Click(Sender: TObject);

begin

DataModule2.TableRasp.MasterFields:='';

end;



procedure TForm8.Button3Click(Sender: TObject);

begin

form8.Hide;

end;

end.

unit Unit10;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, ExtCtrls;



type

TForm10 = class(TForm)

Button1: TButton;

Button2: TButton;

LabeledEdit1: TLabeledEdit;

procedure Button1Click(Sender: TObject);



procedure Button2Click(Sender: TObject);

{ Private declarations }

public

{ Public declarations }

end;



var

Form10: TForm10;



implementation



uses Unit5, Unit1;



{$R *.dfm}



procedure TForm10.Button1Click(Sender: TObject);

begin

if labelededit1.Text='1' then Form5.show

else begin ShowMessage('Ïàðîëü íåâåðíûé');

labelededit1.Text:='';

Form10.hide;

form1.show;

end;

Form10.hide;

end;



procedure TForm10.Button2Click(Sender: TObject);

begin

Form10.Hide;

end;



end.



unit Unit11;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, StdCtrls, Mask, unit2, Grids, DBGrids, Menus;



type

TForm11 = class(TForm)

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBLookupComboBox2: TDBLookupComboBox;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form11: TForm11;



implementation



{$R *.dfm}



procedure TForm11.Button1Click(Sender: TObject);

begin

//ñîõðàíèòü

DataModule2.TablePassagiry.Post

end;



procedure TForm11.FormActivate(Sender: TObject);

begin

DataModule2.TablePassagiry.Insert

end;



procedure TForm11.Button2Click(Sender: TObject);

begin

form11.Hide;

end;



end.



unit Unit12;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, unit2, StdCtrls, DBCtrls, Mask, ExtCtrls;



type

TForm12 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit;

Button2: TButton;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

DBEdit9: TDBEdit;

DBEdit10: TDBEdit;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit17: TDBEdit;

Button3: TButton;

DBLookupComboBox1: TDBLookupComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form12: TForm12;



implementation



{$R *.dfm}



procedure TForm12.Button1Click(Sender: TObject);

begin

//ñîõðàíèòü

DataModule2.TableSamol.Post

end;



procedure TForm12.Button2Click(Sender: TObject);

begin

//ñîõðàíèòü

DataModule2.TableReis.Post

end;



procedure TForm12.Button3Click(Sender: TObject);

begin

//ñîõðàíèòü

DataModule2.TableRasp.Post

end;



procedure TForm12.FormActivate(Sender: TObject);

begin

DataModule2.TableReis.MasterFields:='';

DataModule2.TablePassagiry.MasterFields:='';

DataModule2.TableRasp.MasterFields:='';

end;



procedure TForm12.FormCreate(Sender: TObject);

begin

with PageControl1.Pages[0] do

DBEdit1.Text:='';

DBEdit2.Text:='';

DBEdit3.Text:='';



with PageControl1.Pages[1] do

DBEdit4.Text:='';

DBEdit5.Text:='';

DBEdit6.Text:='';

DBEdit7.Text:='';

DBEdit8.Text:='';



with PageControl1.Pages[1] do

DBEdit9.Text:='';

DBEdit10.Text:='';

DBEdit11.Text:='';

DBEdit12.Text:='';

DBEdit13.Text:='';

DBEdit14.Text:='';

DBEdit15.Text:='';

DBEdit16.Text:='';

DBEdit17.Text:='';

end;



end.



ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ

Ñ.À. Îðëîâ. Òåõíîëîãèè ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ. Ñàíêò-Ïåòåðáóðã. «Ïèòåð»,2002

Ýðèê Äæ. Áðàóäå. Òåõíîëîãèÿ ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ. Ñàíêò-Ïåòåðáóðã. «Ïèòåð», 2004

ÃÎÑÒ Ð ÈÑÎ/ÌÝÊ 9294-93. Èíôîðìàöèîííàÿ òåõíîëîãèÿ. Ðóêîâîäñòâî ïî óïðàâëåíèþ äîêóìåíòèðîâàíèåì ïðîãðàììíîãî îáåñïå÷åíèÿ.

ÃÎÑÒ Ð ÈÑÎ/ÌÝÊ 9126-93. Èíôîðìàöèîííàÿ òåõíîëîãèÿ. Îöåíêà ïðîãðàììíîé ïðîäóêöèè. Õàðàêòåðèñòèêà êà÷åñòâà è ðóêîâîäñòâî ïî èõ ïðèìåíåíèþ.

ÃÎÑÒ Ð ÈÑÎ/ÌÝÊ 12119:2000. Èíôîðìàöèîííàÿ òåõíîëîãèÿ. Ïàêåòû ïðîãðàììíûõ ñðåäñòâ. Òðåáîâàíèÿ ê êà÷åñòâó è èñïûòàíèÿì