Учебная работа. Реферат: Автоматизация работы агентства по продаже авиабилетов
Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå
ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ
Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è
âû÷èñëèòåëüíîé òåõíèêè
ÓÒÂÅÐÆÄÀÞ
Çàìåñòèòåëü äèðåêòîðà
ïî ó÷åáíîé ðàáîòå
__________Ç.Ç. Êóðìàøåâà
«___» ___________ 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. Èíôîðìàöèîííàÿ òåõíîëîãèÿ. Ïàêåòû ïðîãðàììíûõ ñðåäñòâ. Òðåáîâàíèÿ ê êà÷åñòâó è èñïûòàíèÿì
]]>