Ãëàâíàÿ Ó÷åáíèêè - Ðàçíûå Ëåêöèè (ðàçíûå) - ÷àñòü 34
|
ÔÅÄÅÐÀËÜÍÎÅ ÀÃÅÍÒÑÒÂÎ ÏÎ ÎÁÐÀÇÎÂÀÍÈÞ Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è âû÷èñëèòåëüíîé òåõíèêè ÓÒÂÅÐÆÄÀÞ Çàìåñòèòåëü äèðåêòîðà ïî ó÷åáíîé ðàáîòå __________Ç.Ç. Êóðìàøåâà «___» ___________ 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 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 «Òåõíè÷åñêèå õàðàêòåðèñòèêè ñàìîëåòîâ» Âûõîäíîé èíôîðìàöèåé äëÿ äàííîé çàäà÷è ÿâëÿåòñÿ àðõèâ ñ èíôîðìàöèåé î âûïîëíåííûõ ðåéñàõ è îò÷¸ò î âûïîëíåííûõ ðåéñàõ. Òàáëèöà 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.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 Î ïðîãðàììå Ïðè çàïóñêå ïðîãðàììû âûâîäèòñÿ ãëàâíîå îêíî ïðîãðàììû, â êîòîðîì ïîëüçîâàòåëü ìîæåò âûáèðàòü èíòåðåñóþùèå åãî ïóíêòû ìåíþ äëÿ ïðîñìîòðà òàáëèö, ââîäà è ðåäàêòèðîâàíèÿ äàííûõ. Ïðè íàæàòèè â ãëàâíîì ìåíþ íà ïóíêò «Àãåíòñòâî» ïîÿâëÿåòñÿ ôîðìà ñ äàííûìè î ðåéñàõ è èõ ðàñïèñàíèè. Òàêæå íà ôîðìå «Àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ» èìååòñÿ âîçìîæíîñòü ïåðåõîäà ê ïðîñìîòðó áîëüøåé èíôîðìàöèè, ïðè íàæàòèè íà ñîîòâåòñòâóþùèé ïóíêò ìåíþ, ÷åðåç ðàçãðàíè÷åíèå ïðàâ äîñòóïà: Êàññèð è Àäìèíèñòðàòîð íà êîòîðîé èìååòñÿ âîçìîæíîñòü ïðîñìîòðåòü âñå äàííûå (ïîìèìî äàííûõ î ðåéñàõ è èõ ðàñïèñàíèè) î ïàññàæèðàõ è ñàìîëåòàõ. Ïðè íàæàòèè íà êíîïêó «Îòîáðàçèòü ïàññàæèðîâ íà ðåéñ» ïðîèñõîäèò ñîîòâåòñòâóþùåå äåéñòâèå Òàêæå ïðè íàæàòèè íà ïóíêò ìåíþ «Ðàáîòà ñ ÁÄ» ìîæíî äîáàâèòü âî âñå áàçû äàííûõ íîâûå äàííûå: Ïðè íàæàòèè íà ïóíêò «Ðàáîòà ñ ÁÄ» ïîÿâëÿåòñÿ âîçìîæíîñòü ïðîèçâåñòè ðàçë÷íûå îïåðàöèè ñ áàçàìè äàííûõ: ñîðòèðîâêó, ôèëüòðàöèþ, ïîèñê. Êíîïêà «Ïîêàçàòü ñâåäåíèÿ» äàåò âîçìîæíîñòü ïðîñìîòðà íà êàêîé ðåéñ çàïèñàí ïàññàæèð. Ïðè íàæàòèè íà ïóíêò ìåíþ «Ââîä â ÁÄ» ìîæíî äîáàâèòü íîâûå äàííûå î ïàññàæèðàõ: Ïðè íàæàòèè â ãëàâíîì îêíå íà ïóíêò ìåíþ «Î ïðîãðàììå» ïîÿâèòñÿ ñïðàâî÷íàÿ èíôîðìàöèÿ î äàííîì ïðèëîæåíèè: 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
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||