Реферат: Автоматизация работы агентства по продаже авиабилетов
Название: Автоматизация работы агентства по продаже авиабилетов Раздел: Рефераты по информатике Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Àâòîìàòèçàöèÿ ðàáîòû àãåíòñòâà ïî ïðîäàæå àâèàáèëåòîâÔÅÄÅÐÀËÜÍÎÅ ÀÃÅÍÒÑÒÂÎ ÏÎ ÎÁÐÀÇÎÂÀÍÈÞ Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå ñðåäíåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ Óôèìñêèé êîëëåäæ ñòàòèñòèêè èíôîðìàòèêè è âû÷èñëèòåëüíîé òåõíèêè
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 è îòëàæåíà íà äàííûõ êîíòðîëüíîãî ïðèìåðà. ÑÎÄÅÐÆÀÍÈÅ
 íàñòîÿùåå âðåìÿ ðàçâèòèå íàóêè è òåõíèêè íåðàçðûâíî ñâÿçàíî ñ âû÷èñëèòåëüíîé òåõíèêîé (ÂÒ). Ñ ïîìîùüþ ÂÒ íîâîãî ïîêîëåíèÿ ïîâûñèëèñü ñêîðîñòü è îáúåì îáðàáàòûâàåìîé èíôîðìàöèè, à òàêæå êà÷åñòâî ýòîé îáðàáîòêè. Ñåé÷àñ íåâîçìîæíî ïðåäñòàâèòü ìíîãèå îáëàñòè ÷åëîâå÷åñêîé äåÿòåëüíîñòè áåç âû÷èñëèòåëüíîé òåõíèêè.  1949ã. áûë ïîñòðîåí ïåðâûé êîìïüþòåð íà ýëåêòðîííûõ ëàìïàõ, â êîòîðîì áûëè âîïëîùåíû ïðèíöèïû ðàáîò ôîí Íåéìàíà. Çà âñå ýòî âðåìÿ ñìåíèëîñü ÷åòûðå ïîêîëåíèÿ ÝÂÌ. ßñíî, ÷òî êàæäîå íîâîå ïîêîëåíèå ÿâëÿåòñÿ ìîäåðíèçèðîâàííîé ôîðìîé ñòàðûõ ïîêîëåíèé. Ýòà ìîäåðíèçàöèÿ çàêëþ÷àåòñÿ â óëó÷øåíèè òåõíèêî-ýêîíîìè÷åñêèõ ïîêàçàòåëåé: áûñòðîäåéñòâèÿ, íàäåæíîñòè, ñòîèìîñòè. Ïîñëåäíåå ïîêîëåíèå ÂÒ – ýòî ìèêðîïðîöåññîðíûå âû÷èñëèòåëüíûå ìàøèíû, êîòîðûå ïîïóëÿðíû âî ìíîãèõ ñòðàíàõ âîò óæå íà ïðîòÿæåíèè ìíîãèõ ëåò.  íàñòîÿùåå âðåìÿ èíäóñòðèÿ ïðîèçâîäñòâà êîìïüþòåðîâ è ïðîãðàììíîãî îáåñïå÷åíèÿ äëÿ íèõ ÿâëÿåòñÿ îäíîé èç íàèáîëåå âàæíûõ ñôåð ýêîíîìèêè ðàçâèòûõ ñòðàí. Åæåãîäíî â ìèðå ïðîäàþòñÿ äåñÿòêè ìèëëèîíîâ êîìïüþòåðîâ. Ìîæíî âûäåëèòü íåñêîëüêî îñíîâíûõ íàïðàâëåíèé èñïîëüçîâàíèÿ ÂÒ: Èñïîëüçîâàíèå ÝÂÌ äëÿ ðåøåíèÿ ãðîìîçäêèõ ìàòåìàòè÷åñêèõ çàäà÷, òðåáóþùèõ âûñîêóþ òî÷íîñòü; Ñîðòèðîâàíèå è óïîðÿäî÷èâàíèå èíôîðìàöèè; Õðàíåíèå îãðîìíîé ñïðàâî÷íîé èíôîðìàöèè â âèäå áèáëèîòåê, òåêñòîâ, àóäèî- è âèäåî - èíôîðìàöèè. Âû÷èñëèòåëüíàÿ òåõíèêà ïîçâîëÿåò ìåõàíèçèðîâàòü ðåøåíèå çàäà÷ ðàçëè÷íîãî õàðàêòåðà, êîòîðûå ðàíåå ðåøàëèñü âðó÷íóþ.  íàñòîÿùåå âðåìÿ òðóäíî íàçâàòü âñå òå îáëàñòè ÷åëîâå÷åñêîé äåÿòåëüíîñòè, óñïåõ êîòîðûõ íå áûë ñâÿçàí ñ èñïîëüçîâàíèåì ÝÂÌ. Òàêîå øèðîêîå ðàñïðîñòðàíåíèå ÝÂÌ îáúÿñíÿåòñÿ ñïîñîáíîñòüþ ìàøèíû âûïîëíÿòü äëèííûå ïîñëåäîâàòåëüíîñòè îïåðàöèé áåç âìåøàòåëüñòâà ÷åëîâåêà è ñ áîëüøîé ñêîðîñòüþ âûäàâàòü òî÷íûå ðåçóëüòàòû, õðàíèòü áîëüøîé îáúåì èíôîðìàöèè.  íàøè äíè ðàçâèòèå òàêîé ñôåðû îáùåñòâà, êàê àâèàöèîííûé òðàíñïîðò, î÷åíü âàæíî. Ìíîæåñòâó ëþäåé èçî äíÿ â äåíü, â ëþáîå âðåìÿ ãîäà íåîáõîäèìî èñïîëüçîâàíèå âîçäóøíîãî òðàíñïîðòà – äëÿ ïóòåøåñòâèé, áèçíåñà è ò.ä. Íàäåæíîå ðàñïðåäåëåíèå áèëåòîâ èãðàåò â ýòîì îäíó èç ãëàâíûõ ðîëåé. Àâòîìàòèçàöèÿ ïðîäàæè áèëåòîâ ñóùåñòâåííî îáëåã÷èò äåÿòåëüíîñòü ïðåäïðèÿòèé, çàíèìàþùèõñÿ ýòèì. Íåîáõîäèìîñòü àâòîìàòèçàöèè äàííîé çàäà÷è ïîÿâèëàñü â ñâÿçè ñ òåì, ÷òî èíôîðìàöèÿ î ðåéñàõ, êîòîðûå èìåþòñÿ â àãåíòñòâå (íîìåð ðåéñà, êîëè÷åñòâî ñâîáîäíûõ ìåñò, ïóíêòû îòïðàâëåíèÿ è íàçíà÷åíèÿ, äàòà, âðåìÿ âûëåòà è äðóãèå ñâåäåíèÿ) ìîãóò áûòü çàòðåáîâàíû, à ïîèñê èõ íà áóìàæíûõ íîñèòåëÿõ çàòðóäíèòåëåí.
Ðàññìîòðèì àãåíòñòâî ïî ïðîäàæå àâèàáèëåòîâ íà ðàçëè÷íûå ðåéñû. Àãåíòñòâî âåä¸ò ó÷¸ò ïðîäàííûõ áèëåòîâ è ó÷¸ò ïàññàæèðîâ, êóïèâøèõ áèëåòû. Íåîáõîäèìî îáåñïå÷èòü ââîä, õðàíåíèå è ðåäàêòèðîâàíèå äàííûõ.  îïðåäåëåííûõ ñëó÷àÿõ íåîáõîäèìî âûïîëíÿòü óäàëåíèå äàííûõ.  ñâÿçè ñ ýòèì ñóùåñòâóåò íåîáõîäèìîñòü â õðàíåíèè èíôîðìàöèè è îáðàáîòêå äàííûõ, ñãðóïïèðîâàííûõ ñëåäóþùèì îáðàçîì: - èíôîðìàöèÿ î ðàñïèñàíèè ðåéñîâ (íîìåð ðåéñà, òèï ñàìîë¸òà, ïóíêò îòïðàâëåíèÿ, ïóíêò íàçíà÷åíèÿ, äàòà âûëåòà, âðåìÿ âûëåòà, âðåìÿ ïîë¸òà, öåíà áèëåòà); - èíôîðìàöèÿ î ñâîáîäíûõ ìåñòàõ íà ðåéñ (íîìåð ðåéñà, äàòà âûëåòà, îáùåå êîëè÷åñòâî ìåñò, êîëè÷åñòâî ñâîáîäíûõ ìåñò); - èíôîðìàöèÿ î ïàññàæèðàõ, çàêàçàâøèõ áèëåò (ôàìèëèÿ, èìÿ, îò÷åñòâî, ïðåäúÿâëåííûé äîêóìåíò, åãî ñåðèÿ è íîìåð, íîìåð ðåéñà, äàòà âûëåòà); Îñîáåííîñòüþ äàííîé çàäà÷è ÿâëÿåòñÿ ðàçãðàíè÷åíèå ïðàâ äîñòóïà îïðåäåë¸ííûõ ãðóïï ïîëüçîâàòåëåé, ò.å. èíôîðìàöèÿ â áàçå äàííûõ ìîæåò èñïîëüçîâàòüñÿ êàê ïàññàæèðàìè, òàê è ñëóæàùèìè àãåíòñòâà: êàññèðàìè è äèñïåò÷åðàìè. Òàêèì îáðàçîì, äëÿ çàùèòû áàçû äàííûõ îò íåñàíêöèîíèðîâàííîãî èñïîëüçîâàíèÿ âûäåëÿþòñÿ òðè ãðóïïû ïîëüçîâàòåëåé: ïàññàæèð, êàññèð è àäìèíèñòðàòîð. Êðîìå òîãî, äëÿ êàæäîé èç ãðóïï ïîëüçîâàòåëåé ñëåäóåò ïðåäóñìîòðåòü íàáîð ìåõàíèçìîâ ïî óïðàâëåíèþ äàííûìè, îáåñïå÷èâàþùèõ ë¸ãêîñòü ïðèìåíåíèÿ è ôóíêöèîíàëüíîñòü ýòîãî ïðîãðàììíîãî ïðîäóêòà (íàïðèìåð, ôèëüòðàöèÿ, ñîðòèðîâêà è ïîèñê çàïèñåé). Îáùåé öåëüþ çàäà÷è ÿâëÿåòñÿ áûñòðîå è óäîáíîå ïîëó÷åíèå èíôîðìàöèè î ðåéñàõ, õðàíåíèå, îáíîâëåíèå è ðåäàêòèðîâàíèå ýòèõ äàííûõ, îòïðàâëåíèå â àðõèâ âûïîëíåííûõ ðåéñîâ, à òàêæå ââîä äàííûõ î ðåéñàõ ñ òàêèì æå íîìåðîì íà î÷åðåäíóþ äàòó. Âõîäíûìè äàííûìè äëÿ áàçû ïàññàæèðîâ ÿâëÿþòñÿ: ÔÈÎ; Ñåðèÿ, íîìåð ïàñïîðòà; Êëàññ; Ìåñòî; Íîìåð ðåéñà Âõîäíûìè äàííûìè äëÿ áàçû ñàìîë¸òîâ ÿâëÿþòñÿ: Êîä ñàìîë¸òà; Òèï ñàìîë¸òà; Îáùåå êîëè÷åñòâî ìåñò; Âõîäíûìè äàííûìè äëÿ áàçû ðàñïèñàíèÿ ðåéñîâ ÿâëÿþòñÿ: Êîä ðåéñà; Íîìåð ðåéñà; Êîä ñàìîë¸òà; Äàòà îòïðàâëåíèÿ; Äåíü îòïðàâëåíèÿ; Âðåìÿ îòïðàâëåíèÿ; Äàòà ïðèáûòèÿ; Äåíü ïðèáûòèÿ; Âðåìÿ ïðèáûòèÿ; Âõîäíûìè äàííûìè äëÿ áàçû ðåéñîâ ÿâëÿþòñÿ: Íîìåð ðåéñà; Ïóíêò îòïðàâëåíèÿ; Ïóíêò íàçíà÷åíèÿ; Âðåìÿ ïîë¸òà; Öåíà áèëåòà Îñíîâíîé ýêîíîìè÷åñêèé ýôôåêò äîñòèãàåòñÿ çà ñ÷¸ò ñîêðàùåíèÿ âðåìåíè îôîðìëåíèÿ âõîäíîé è âûõîäíîé èíôîðìàöèè. Ñîêðàùåíèå âðåìåíè ïðîèñõîäèò çà ñ÷åò êîìïàêòíîãî îòîáðàæåíèÿ äàííûõ. 1.2. Èíôîðìàöèîííàÿ ìîäåëü. 1.3. Îïèñàíèå âõîäíîé èíôîðìàöèè Âõîäíûì äîêóìåíòîìè, ïðåäîñòàâëÿåìûìè ïàññàæèðîì äëÿ áàçû äàííûõ ÿâëÿåòñÿ ïàñïîðò, çàãðàíïàñïîðò (ïðåäîñòàâëÿåòñÿ ïî ìåðå íåîáõîäèìîñòè). Òàáëèöà 1 Îïèñàíèå âõîäíûõ äîêóìåíòîâ
Âõîäíûå äàííûå, ïðåäîñòàâëÿåìûå àäìèíèñòðàòîðó: ðàñïèñàíèå ðåéñîâ è òåõíè÷åñêèå õàðàêòåðèñòèêè ñàìîëåòîâ. Òàáëèöà 2 Îïèñàíèå âõîäíûõ äîêóìåíòîâ
Íà îñíîâàíèè ýòèõ äàííûõ ñîçäàþòñÿ ñëåäóþùèå ôàéëû: Passagiry.db, Raspisanie_reysov.db, Reysy.db, Samolety.db, Sam_pas_promeg.db, Sam_rasp_promeg.db.
Ðèñ.1 «Ïàñïîðò» Ðèñ.2 «Ðàñïèñàíèå ðåéñîâ» Ðèñ.3 «Òåõíè÷åñêèå õàðàêòåðèñòèêè ñàìîëåòîâ» 1.4. Îïèñàíèå âûõîäíîé èíôîðìàöèè Âûõîäíîé èíôîðìàöèåé äëÿ äàííîé çàäà÷è ÿâëÿåòñÿ àðõèâ ñ èíôîðìàöèåé î âûïîëíåííûõ ðåéñàõ è îò÷¸ò î âûïîëíåííûõ ðåéñàõ. Òàáëèöà 3 Îïèñàíèå âûõîäíîé èíôîðìàöèè
Ôîðìû âûõîäíûõ äîêóìåíòîâ:
Ðèñ.4 «Âûïîëíåííûå ðåéñû» Îïèñàíèå ñòðóêòóðû ÁÄ Òàáëèöà 4
Àãåíòñòâî Äîñòóï ê äàííûì Àäìèíèñòðàòîð Êàññèð Î ïðîãðàììå Âûõîä
Êîíòðîëüíûé ïðèìåð ÿâëÿåòñÿ ðó÷íûì ïîäñ÷¸òîì çàäà÷è. Îí ïðåäñòàâëÿåò ñîáîé âàðèàíò çàäà÷è ñ èçâåñòíûìè ðåçóëüòàòàìè è èñïîëüçóåòñÿ äëÿ ïðîâåðêè ïðàâèëüíîñòè ðåøåíèÿ íà ÏÝÂÌ. Ïî ñîñòàâëåííîé ïðîãðàììå îáðàáàòûâàþòñÿ èñõîäíûå äàííûå êîíòðîëüíîãî ïðèìåðà. Ïîëó÷åííûå ðåçóëüòàòû ñðàâíèâàþòñÿ ñ èçâåñòíûìè ðåçóëüòàòàìè êîíòðîëüíîãî ïðèìåðà. Ïðè íåñîâïàäåíèè ðåçóëüòàòîâ ïðîèçâîäèòñÿ ïîèñê, èñïðàâëåíèå îøèáîê, è ñíîâà ïðîèçâîäèòñÿ âûïîëíåíèå ïðîãðàììû. È òàê äî òåõ ïîð, ïîêà íå áóäåò ïîëó÷åí ïðàâèëüíûé ðåçóëüòàò. Íà îñíîâàíèè äîêóìåíòà, óäîñòîâåðÿþùåãî ëè÷íîñòü, ïàññàæèð çàíîñèòñÿ â òàáëèöó áàçû äàííûõ «Ïàññàæèðû»: - Passigiry.db
Íà îñíîâàíèè ðàñïèñàíèÿ ðåéñîâ çàíîñÿòñÿ äàííûå â òàáëèöó áàçû äàííûõ «Ðàñïèñàíèå ðåéñîâ»: - Raspisanie_reysov.db
Íà îñíîâàíèè õàðàêòåðèñòèê ñàìîëåòîâ çàíîñÿòñÿ íîâûå äàííûå î ñàìîëåòå â òàáëèöó áàçû äàííûõ «Ñàìîëåòû»: - Samolety.db
Âûõîäíûå äîêóìåíòû öåëèêîì è ïîëíîñòüþ çàâèñÿò îò âõîäíûõ äàííûõ:
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 Ìîäóëü ñîäåðæèò ãëàâíîå ìåíþ (ãëàâíàÿ ôîðìà)
Unit1 Ìîäóëü ñîäåðæèò äàííûå î ðåéñàõ
Unit3 Ìîäóëü ââîäà ïàðîëÿ Àäìèíèñòðàòîðà äëÿ äîñòóïà ê äàííûì
Unit10 Ìîäóëü ââîäà ïàðîëÿ Êàññèðà äëÿ äîñòóïà ê äàííûì
Unit7 Ìîäóëü äëÿ âûçîâà ñïðàâêè «Î ïðîãðàììå…». Unit6 Ìîäóëü îòîáðàæåíèÿ äàííûõ äëÿ Àäìèíèñòðàòîðà.
Unit5 Ìîäóëü îòîáðàæåíèÿ äàííûõ äëÿ Êàññèðà.
Unit8 Ìîäóëü îïåðàöèé íàä áàçàìè äàííûõ.
Unit11 Ìîäóëü äëÿ ââîäà è ñîõðàíåíèÿ äàííûõ î ïàññàæèðàõ
Unit12 Ìîäóëü äëÿ ââîäà è ñîõðàíåíèÿ äàííûõ î ñàìîëåòàõ, ðåéñàõ è ðàñïèñàíèè ðåéñîâ
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. Èíôîðìàöèîííàÿ òåõíîëîãèÿ. Ïàêåòû ïðîãðàììíûõ ñðåäñòâ. Òðåáîâàíèÿ ê êà÷åñòâó è èñïûòàíèÿì |