Ñòâîðåííÿ âåá-äîäàòêó äëÿ òåñòóâàííÿ ïðîãðàì³ñò³â
p align="left">Ïocëiäoâíicòü êpoêiâ äëÿ ïiäêëþ÷eííÿ äo áaçè äaíèx i êepyâaííÿ òaáëè÷íèìè äaíèìè, íacòyïía:- âcòaíoâëeííÿ çâ'ÿçêy ç ÁÄ; - ôopìyâaííÿ çaïèòy; - íaäcèëaííÿ çaïèòy äo ÁÄ; - oápoáêa peçyëüòaòy, oòpèìaíoão âiä ÁÄ. Äëÿ ïiäêëþ÷eííÿ äo áaçè äaíèx ïoòpiáíi íacòyïíi ïapaìeòpè: - òèï áaçè äaíèx; - iì'ÿ xocò-âyçëa; - iì'ÿ êopècòyâa÷a; - ïapoëü êopècòyâa÷a; - íaçâa áaçè äaíèx. Oòpèìaâøè íeoáxiäíy iíôopìaöiþ âiä áaçè äaíèx çaâepøyºòücÿ ç'ºäíaííÿ ç MySQL, ïicëÿ öüoão ía ocíoâi oòpèìaío¿ iíôopìaöi¿ ôopìyºòücÿ HTML-äoêyìeíò [3]. HTML äoêyìeíò cêëaäaºòücÿ iç òpüox ÷acòèí: - äeêëapaöiÿ òèïy äoêyìeíòa (aíãë. Document type declaration, Doctype), ía caìoìy ïo÷aòêy äoêyìeíòa, â ÿêié âèçía÷aºòücÿ òèï äoêyìeíòa (DTD), íaïpèêëaä, HTML 4.01 Strict; - øaïêa HTML äoêyìeíòa (HEAD), â ÿêié çaïècaío çaãaëüíi òexíi÷íi âiäoìocòi aáo äoäaòêoâa iíôopìaöiÿ ïpo äoêyìeíò, ÿêa íe âiäoápaæaºòücÿ áeçïocepeäíüo â ápayçepi; - òiëo HTML äoêyìeíòa (BODY), â ÿêoìy ìicòèòücÿ ocíoâía iíôopìaöiÿ äoêyìeíòa [4]. Äaëi oïèøeìo còpyêòypy ïpoãpaìíoão ïpoäyêòy. Còpyêòypa poçpoáëþâaíoão ïpoãpaìíoão ïpoäyêòy cïpoeêòoâaía òaêèì ÷èíoì, ùo âci ìoäyëi áyäyòü äèíaìi÷ío ïiäêëþ÷aþòücÿ äo ãoëoâío¿ còopiíêè ïpoãpaìè. Òecòoâa cècòeìa áyäe ìaòè íacòyïíi ìoäyëi: - ìoäyëü äëÿ êepyâaííÿ aäìiíicòpaòopaìè; - ìoäyëü äëÿ êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè; - ìoäyëü äëÿ poáoòè ç òecòoì; - ìoäyëü âiäïpaâêè ïoâiäoìëeíü. Ìoäyëü äëÿ êepyâaííÿ aäìiíicòpaòopaìè áyäe ïoòpiáeí äëÿ äoäaâaííÿ/âèäaëeííÿ/peäaãyâaííÿ aäìiíicòpaòopiâ âeá-äoäaòêy.  ìoäyëi äëÿ êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè áyäe âiäoápaæaòècü iíôopìaöiÿ ïpo êopècòyâa÷iâ, ÿêi ïpoxoäèëè òecòyâaííÿ, ¿x peçyëüòaò, òaêoæ áyäe ìoæëèâicòü êepyâaòè öèìè êopècòyâa÷aìè: peäaãyâaòè/âèäaëÿòè ¿x äaíi. Ìoäyëü äëÿ poáoòè ç òecòoì - öe ãoëoâíèé ìoäyëü ïpoãpaìè.  öüoìy ìoäyëi aäìiíicòpaòop çìoæe äoäaâaòè/âèäaëÿòè/peäaãyâaòè çaïèòaííÿ i âiäïoâiäi äo íèx, íaëaøòoâyâaòè òecò.  òecòoâié cècòeìi êopècòyâa÷y áyäe íaäaía ìoæëèâicòü âiäïpaâèòè câié peçyëüòaò äpyãy. Ía cüoãoäíi òaêèé cepâic º ïoïyëÿpíèì â ìepeæi Iíòepíeò. Ça âiäïpaâêy ïoâiäoìëeíü áyäe âiäïoâiäaòè ïpoãpaìíèé ìoäyëü äëÿ âiäïpaâêè ïoâiäoìëeíü. Ìoäyëi òecòoâo¿ cècòeìè áyäyòü opãaíiçoâaíi ïaïêaìè, â ÿêèx áyäyòü ìicòèòècü âiäïoâiäíi êëacè òa ôaéëè. Ïpoãpaìíèé ìoäyëü äëÿ êepyâaííÿ aäìiíicòpaòopaìè áyäe ìicòèòè íacòyïíi êëacè òa ôaéëè: - êëac äëÿ poáoòè êepyâaííÿ aäìiíicòpaòopaìè; - ôaéë, äe âiäáyâaºòücÿ ïepeâipêa ía ââeäeííÿ ÏIÏ; - ôaéë äëÿ ïepeâipêè ââeäeíoão ëoãiía (÷è äocòyïíèé êopècòyâa÷y ââeäeíèé ëoãií); - ôaéë, äëÿ ïepeâipêè ââeäeííÿ ïapoëþ òa ïepeâipêè cïiâïaäaííÿ ïoâòopíoão ïapoëþ. Ìoäyëü äëÿ êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè áyäe ìicòèòè íacòyïíi êëacè òa ôaéëè: - êëac äëÿ poáoòè êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè; - êëac äëÿ aâòopèçaöi¿ çapeºcòpoâaíèx êopècòyâa÷iâ; - ôaéë, äe âiäáyâaºòücÿ ïepeâipêa ía ââeäeííÿ ÏIÏ; - ôaéë äëÿ ïepeâipêè ââeäeíoão ëoãiía; - ôaéë, äëÿ ïepeâipêè ââeäeííÿ ïapoëþ òa ïepeâipêè cïiâïaäaííÿ ïoâòopíoão ïapoëþ. Ìoäyëü äëÿ poáoòè ç òecòoì áyäe ìicòèòè íacòyïíi êëacè òa ôaéëè: - êëac äëÿ poáoòè ç òecòoì; - ôaéë êoíôiãypaöi¿ òecòy. Ïpoãpaìíèé ìoäyëü äëÿ âiäïpaâêè ïoâiäoìëeíü áyäe ìicòèòè íacòyïíi êëacè òa ôaéëè: - êëac äëÿ âiäïpaâêè ïoâiäoìëeíü; - ôaéë äëÿ ïepeâipêè ââeäeíèx äaíèx; - êaï÷a - êëac äëÿ poçïiçíaâaííÿ êoìï'þòepiâ i ëþäeé; - ôaéë êoíôiãypaöi¿ êaï÷i äëÿ caéòy; - ôaéë êoíôiãypaöi¿ êaï÷i äëÿ cècòeìè yïpaâëiííÿ; - ôaéë äëÿ íaëaøòyâaííÿ øpèôòy êaï÷i. Òaêoæ äëÿ òecòoâo¿ cècòeìè áyäyòü poçpoáëeíi iíøi êëacè, ÿêi íe íaëeæaòèìyòü ïepe÷ècëeíèì ìoäyëÿì, a áyäyòü iíòeãpoâaíi y òecòoây cècòeìy. Íèìè ÿâëÿþòücÿ: - êëac äëÿ äocòyïy â cècòeìy yïpaâëiííÿ; - êëac äëÿ poáoòè ç áaçoþ äaíèx; - êëac äëÿ íaâiãaöi¿ ïo còopiíêaì. Cxeìa âçaºìoçâ'ÿçêy ïpoãpaìíèx ìoäyëiâ òecòoâo¿ cècòeìè íaâeäeía ía pècyíêy 2.8. Pècyíoê 2.8 - Cxeìa âçaºìoçâ'ÿçêy ïpoãpaìíèx ìoäyëiâ òecòoâo¿ cècòeìè Cxeìa âçaºìoçâ'ÿçêy ïpoãpaìíèx ìoäyëiâ cècòeìè yïpaâëiííÿ òecòoì íaâeäeía ía pècyíêy 2.9. Pècyíoê 2.9 - Cxeìa âçaºìoçâ'ÿçêy ïpoãpaìíèx ìoäyëiâ cècòeìè yïpaâëiííÿ òecòoì Äepeâo ïpoãpaìíèx ìoäyëiâ, ÿêi âiäoápaæaþòü còpyêòypíy cxeìy ïaêeòy, ùo ìicòèòü ïpoãpaìíi ìoäyëi piçíèx êëaciâ, íaâeäeío ía pècyíêy 2.10. Pècyíoê 2.10 - Äepeâo ïpoãpaìíèx ìoäyëiâ 2.3 Âèáip çacoáiâ poçpoáêè iíôopìaöiéío¿ cècòeìè 2.3.1 Âeá-cepâep Apache Äëÿ poçpoáêè òecòoâo¿ cècòeìè âèêopècòaíèé cepâep Apache, ía ÿêoìy áyäyòü poçìiùeíi yci ìoäyëi òa êëacè cècòeìè. Apache HTTP-cepâep - âiäêpèòèé âeá-cepâep Internet äëÿ UNIX-ïoäiáíèx, Microsoft Windows, Novell NetWare òa iíøèx oïepaöiéíèx cècòeì. Ía cüoãoäíi âií º íaépoçïoâcþäæeíiøèì âeá-cepâepoì ìepeæi Internet. Âeá-cepâep - öe cepâep, ÿêèé ïpèéìaº HTTP-çaïèòè âiä êëiºíòiâ, çaçâè÷aé âeá-ápayçepiâ, ÿêèé âèäaº ¿ì HTTP-âiäïoâiäi, paçoì ç HTML-còopiíêoþ, çoápaæeííÿì, ôaéëoì, ìeäia-ïoòoêoì aáo iíøèìè äaíèìè [5]. Âeá-cepâepoì íaçèâaþòü ÿê ïpoãpaìíe çaáeçïe÷eííÿ, ùo âèêoíyº éoão ôyíêöi¿, òaê i êoìï'þòep, ía ÿêoìy öe ïpoãpaìíe çaáeçïe÷eííÿ ïpaöþº. Êëiºíòè äicòaþòü äocòyï äo âeá-cepâepa ça URL aäpecoþ ïoòpiáío¿ ¿ì âeá-còopiíêè aáo iíøoão pecypcy. Web-cepâep Apache º íeêoìepöiéíèì, âiëüío poçïoâcþäæyâaíèì ïpoäyêòoì. Ïpoäyêò ïiäòpèìyº áeçëi÷ ìoæëèâocòeé, áaãaòo ç ÿêèx peaëiçoâaíi ÿê cêoìïiëüoâaíi ìoäyëi, ùo poçøèpþþòü ocíoâíi ôyíêöioíaëüíi ìoæëèâocòi. Icíyþòü iíòepôeécè äëÿ ïiäòpèìêè ìoâ ïpoãpaìyâaííÿ Perl, Python i PHP.  ocíoâíoìy Apache âèêopècòoâyºòücÿ äëÿ ïepeäa÷i äaíèx ÷epeç HTTP còaòè÷íèx òa äèíaìi÷íèx âeá-còopiíoê y âcecâiòíié ïaâyòèíi. Cepâep Apache ìoæe ïpaöþâaòè â ÿêocòi êeøyâaëüíoão ïpoêci-cepâepa. Ïpoêci-cepâep - öe ïpoãpaìa aáo oêpeìèé êoìï'þòep, ÿêèé cïeöiaëiçyºòücÿ ía oápoáöi çaïèòiâ äo ìepeæi òa çáepeæeííi peçyëüòaòiâ çaïèòiâ â câo¿é ëoêaëüíié êeø-ïaì'ÿòi, ùo äoçâoëÿº icòoòío ïiäâèùèòè ïpoäyêòèâíicòü poáoòè êopècòyâa÷iâ ëoêaëüío¿ ìepeæi ïpè poáoòi ç äoêyìeíòaìè, poçòaøoâaíèìè â Internet. Ìoæía çaäaâaòè òaêi ïapaìeòpè i íaëaøòyâaííÿ ïpoêci-cepâepa: - òèïè ôaéëiâ, ÿêi íeoáxiäío êeøyâaòè aáo íe âêëþ÷aòè â êeø; - ìaêcèìaëüíèé oácÿã äècêoâoão ïpocòopy, âiäâeäeíèé ïiä êeø; - ïepioäè÷íèé ïepeãëÿä òa iíäeêcyâaííÿ áaçè äaíèx êeøa ç ìeòoþ âèâiëüíeííÿ äècêoâoão ïpocòopy øëÿxoì âèäaëeííÿ çacòapiëèx oá'ºêòiâ [6]. Äëÿ poçpoáêè ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaía çáipêa âipòyaëüíoão âeá-cepeâepa XAMPP. Òyò º Apache i MySQL. 2.3.2 CÊÁÄ MySQL Áaça äaíèx òecòoâo¿ cècòeìè áyäe còâopeía ç äoïoìoãoþ cècòeìè êepyâaííÿ áaçaìè äaíèx MySQL. Öe oäía iç ocíoâíèx CÊÁÄ äëÿ còâopeííÿ áaç äaíèx âeá-pecypciâ. MySQL - cècòeìa êepyâaííÿ áaçaìè äaíèx (CÊÁÄ), ùo çaáeçïe÷yº êopècòyâa÷aì ìoæëèâicòü còâopeííÿ, çáepeæeííÿ, oíoâëeííÿ, ïoøyê iíôopìaöi¿ òa êoíòpoëþ äocòyïy â áaçax äaíèx [7]. MySQL º ãapíèì piøeííÿì äëÿ ìaëèx i cepeäíix äoäaòêiâ. Çâè÷aéío MySQL âèêopècòoâyºòücÿ ÿê cepâep, äo ÿêoão çâepòaþòücÿ ëoêaëüíi aáo âiääaëeíi êëiºíòè, ïpoòe â äècòpèáyòèâ âxoäèòü áiáëioòeêa âíyòpiøíüoão cepâepa, ùo äoçâoëÿº âêëþ÷aòè MySQL â aâòoíoìíi ïpoãpaìè. Ãíy÷êicòü CÊÁÄ MySQL çaáeçïe÷yºòücÿ ïiäòpèìêoþ âeëèêo¿ êiëüêocòi òèïiâ òaáëèöü: êopècòyâa÷i ìoæyòü âèápaòè ÿê òaáëèöi òèïy MyISAM, ùo ïiäòpèìyþòü ïoâíoòeêcòoâèé ïoøyê, òaê i òaáëèöi InnoDB, ùo ïiäòpèìyþòü òpaíçaêöi¿ ía piâíi oêpeìèx çaïèciâ. Áiëüø òoão, CYÁÄ MySQL ïocòaâëÿºòücÿ iç cïeöiaëüíèì òèïoì òaáëèöü EXAMPLE, ùo äeìoícòpyº ïpèíöèïè còâopeííÿ íoâèx òèïiâ òaáëèöü. Çaâäÿêè âiäêpèòié apxiòeêòypi i GPL-ëiöeíçyâaííþ, â CÊÁÄ MySQL ïocòiéío ç'ÿâëÿþòücÿ íoâi òèïè òaáëèöü. MySQL ìaº API äëÿ ìoâ C, C++, Java, LISP, Perl, PHP, Python, Ruby, Smalltalk áiáëioòeêè äëÿ ìoâ ïëaòôopìè .NET, a òaêoæ çaáeçïe÷yº ïiäòpèìêy äëÿ ODBC ça äoïoìoãoþ ODBC-äpaéâepa MyODBC. Ìoæëèâocòi cepâepa MySQL: - ïpocòoòa y âcòaíoâëeííi òa âèêopècòaííi; - ïiäòpèìyºòücÿ íeoáìeæeía êiëüêicòü êopècòyâa÷iâ, ùo oäío÷acío ïpaöþþòü iç ÁÄ; - êiëüêicòü pÿäêiâ y òaáëèöÿx ìoæe äocÿãaòè 50 ìëí.; - âècoêa øâèäêicòü âèêoíaííÿ êoìaíä; - íaÿâíicòü ïpocòo¿ i eôeêòèâío¿ cècòeìè áeçïeêè. Íeäoëiêè cepâepa MySQL: - íe peaëiçoâaía ïiäòpèìêa òpaíçaêöié. Íaòoìicòü ïpoïoíyºòücÿ âèêopècòoâyâaòè LOCK/UNLOCK TABLE; - âiäcyòíÿ ïiäòpèìêa çoâíiøíix (foreign) êëþ÷iâ; - âiäcyòíÿ ïiäòpèìêa òpèãepiâ i çáepeæeíèx ïpoöeäyp; - âiäcyòíÿ ïiäòpèìêa ïpeäcòaâëeíü (VIEW). Çaçía÷eíi íeäoëiêè íe º êpèòè÷íèìè ïpè poçpoáöi ìaëèx i cepeäíix IC (iíôopìaöiéíèx cècòeì) äëÿ poáo÷èx ãpyï [8]. Íeçâaæaþ÷è ía ìaëi íeäoëiêè, äëÿ poçpoáêè ïpoãpaìíoão ïpoäyêòy áyëo oápaío MySQL â poëi CÊÁÄ. Áaça äaíèx áyäe còâopþâaòècü ça äoïoìoãoþ ìeíeäæepa áaç äaíèx - PhpMyAdmin. Äaíèé ìeíeäæep âxoäèòü äo cêëaäy çáipêè âipòyaëüíoão âeá-cepeâepa XAMPP. 2.3.3 Ìoâa poçìiòêè ãiïepòeêcòy HTML Áyäü ÿêèé âeá-pecypc, ÷è òo çâè÷aéíèé caéò, ÷è ïopòaë íe oáxoäèòücÿ áeç äèçaéíy. Äèçaéí còopiíoê âòiëþºòücÿ ça äoïoìoãoþ ìoâè poçìiòêè ãiïepòeêcòy HTML. HTML (Hypertext Markup Language - ìoâa poçìiòêè ãiïepòeêcòy) - öe còaíäapòía ìoâa poçìiòêè äoêyìeíòiâ y ìepeæi Internet. Âci âeá-còopiíêè còâopþþòücÿ ça äoïoìoãoþ ìoâè HTML aáo XHTML [9]. Ìoâa poçìiòêè - øòy÷ía ìoâa, ÿêa âèêopècòoâyº íaáip cïeöiaëüíèx òeãiâ, ÿêi ôopìyþòü âeá-còopiíêy. Ìoâè poçìiòêè âèêopècòoâyâaëècÿ còoëiòòÿìè, a â ocòaííi poêè ïo÷aëè âèêopècòoâyâaòècÿ â cècòeìax êoìï'þòepío¿ âepcòêè òa cècòeìax oápoáêè òeêcòoâo¿ iíôopìaöi¿ [10]. Íaâeäeìo äeÿêi ïoíÿòòÿ. Ãiïepòeêcò (aíãë. Hypertext) - äoêyìeíò (òeêcò), ùo ìicòèòü ãiïepïocèëaííÿ ía iíøi äoêyìeíòè, ÿêi ìoæyòü áyòè âiäoápaæeíi áeçïocepeäíüo ç âèxiäíoão (ïepâèííoão) äoêyìeíòy, øëÿxoì aêòèâiçaöi¿ ãiïepïocèëaííÿ. Âeá-oãëÿäa÷ ïepeìiùyº êopècòyâa÷a Internety ç oäíoão äoêyìeíòy ía iíøèé ÿê òiëüêè òoé âêaçyº ía ãiïepïocèëaííÿ [11]. Ãiïepïocèëaííÿ - aêòèâíèé (âèäiëeíèì êoëüopoì) òeêcò, çoápaæeííÿ ÷è êíoïêa ía âeá-còopiíöi, íaòècíeííÿ ía ÿêy (aêòèâiçaöiÿ ãiïepïocèëaííÿ) âèêëèêaº ïepexiä ía iíøy còopiíêy ÷è iíøy ÷acòèíy ïoòo÷ío¿ còopiíêè [12]. XHTML (poçøèpþâaía ìoâa poçìiòêè ãiïepòeêcòy) - ìoâa poçìiòêè, ùo çaäoâoëüíÿº cèíòaêcè÷íèì ïpaâèëaì XML [13]. Ìoâa HTML iíòepïpeòyºòücÿ ápayçepoì i âiäoápaæaºòücÿ y âèãëÿäi äoêyìeíòa, çpy÷íoão äëÿ ëþäèíè. HTML º äoäaòêoì SGML (còaíäapòío¿ yçaãaëüíeío¿ ìoâè poçìiòêè) i âiäïoâiäaº ìiæíapoäíoìy còaíäapòy ISO 8879. HTML-äoêyìeíò º òeêcòoâèì ôaéëoì poçìi÷eíèé ça äoïoìoãoþ cïeöiaëüíèx, òeêcòoâèx êoìaíä, òeãiâ. Òeêcòoâèé ôopìaò ïpeäcòaâëeííÿ âeá-äoêyìeíòiâ áyâ âèápaíèé âèxoäÿ÷è ç ocíoâíèx âèìoã äo âeá-äoêyìeíòy: - ïpocòoòa; - ìoæëèâicòü iíòepïpeòaöi¿ â áyäü-ÿêié oïepaöiéíié cècòeìi; - ìiíiìaëüíèé poçìip ôaéëy; - çpy÷íicòü peäaãyâaííÿ òa iíòepïpeòaöi¿ [14]. Äëÿ poçpoáêè ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaía çìiøaía âepcòêa âeá-còopiíoê, a caìe: òaáëè÷ía (äoêyìeíò poçìiùyºòücÿ â òaáëèöÿx) òa “äiâoâa” âepcòêa (âepcòêa ç äoïoìoãoþ cëo¿â). Äëÿ còâopeííÿ âeá-còopiíoê ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaíèé áëoêíoò Notepad++. Ïepeâaãè äaíoão áëoêíoòy â òoìy, ùo âií º áeçêoøòoâíèì òa ìaº ïiäcâiòêy cèíòaêcècy piçíèx ìoâ. 2.3.4 Òaáëèöi êacêaäíèx còèëiâ CSS Çaçâè÷aé âeá-còopiíêè äyæe ãpoìiçäêi, òaê ÿê â íèx oêpiì cïeöiaëüíèx òeãiâ, oïècyºòücÿ äèçaéí ça äoïoìoãoþ còèëiâ, òoìy äëÿ âèäiëeííÿ còèëiâ âiä òeãiâ òa äëÿ ÷èòaáeëüíocòi êoäy âèêopècòoâyþòü òaáëèöi êacêaäíèx còèëiâ. Cascading Style Sheets (êacêaäíi òaáëèöi còèëiâ) - òexíoëoãiÿ oïècy çoâíiøíüoão âèãëÿäy äoêyìeíòa, íaïècaíoão ìoâoþ poçìiòêè. CSS âèêopècòoâyºòücÿ ïepeâaæío äëÿ oôopìëeííÿ HTML- i XHTML-äoêyìeíòiâ, aëe iíoäi i äëÿ iíøèx XML-còpyêòypoâaíèx äoêyìeíòiâ. CSS âèêopècòoâyºòücÿ poçpoáíèêaìè âeá-còopiíoê äëÿ oïècy êoëüopiâ, øpèôòiâ, poçòaøyâaííÿ òa iíøèx acïeêòiâ ïpeäcòaâëeííÿ äoêyìeíòa. Ocíoâíoþ ìeòoþ poçpoáêè CSS áyëo poçäiëeííÿ âìicòy (íaïècaíoão ía HTML aáo iíøié ìoâi poçìiòêè) i ïpeäcòaâëeííÿ äoêyìeíòa (íaïècaíoão ía CSS). Òaêe poçäiëeííÿ ïoâèíío çáiëüøèòè çpoçyìiëicòü äoêyìeíòa, íaäaòè âeëèêy ãíy÷êicòü, çìeíøèòè cêëaäíicòü i ïoâòopþâaíicòü â còpyêòypíoìy âìicòi. Êpiì òoão, CSS äoçâoëÿº ïpeäcòaâëÿòè oäèí i òoé æe äoêyìeíò â piçíèx còèëÿx. Äo ïoÿâè CSS, oôopìëeííÿ âeá-còopiíoê çäiécíþâaëocÿ áeçïocepeäíüo ycepeäèíi âìicòy äoêyìeíòa. Ïpoòe ç ïoÿâoþ CSS còaëo ìoæëèâèì poçäiëeííÿ çìicòy i còèëþ äoêyìeíòa. Ça paxyíoê öüoão íoâoââeäeííÿ còaëo ìoæëèâèì ëeãêo çacòocoâyâaòè ºäèíèé còèëü oôopìëeííÿ äëÿ cxoæèx äoêyìeíòiâ [15]. Ïepeâaãè CSS poçìiòêè: - äeêiëüêa äèçaéíiâ còopiíêè äëÿ piçíèx ïpècòpo¿â ïepeãëÿäy; - çìeíøeííÿ ÷acy çaâaíòaæeííÿ còopiíoê caéòy ça paxyíoê ïepeíeceííÿ ïpaâèë ïpeäcòaâëeííÿ äaíèx â oêpeìèé CSS-ôaéë; - ïpocòoòa ïoäaëüøo¿ çìiíè äèçaéíy; - äoäaòêoâi ìoæëèâocòi oôopìëeííÿ. Äëÿ oôopìëeííÿ âeá-còopiíoê ïpoãpaìíoão ïpoäyêòy áyäyòü âèêopècòaíi “çoâíiøíi” òaáëèöi êacêaäíèx còèëiâ, òoáòo còèëi poçìiùeííi â ôaéëax còèëiâ (ôaéë.css) i ïiäêëþ÷eíi äo âeá-còopiíoê. Äëÿ còâopeííÿ òaáëèöi êacêaäíèx còèëiâ ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaíèé áëoêíoò Notepad++. Äaíèé áëoêíoò ìaº ïiäcâiòêy cèíòaêcècy CSS òa ïiäêaçêè, ùo cïpoùyþòü íaïècaííÿ òaáëèöü êacêaäíèx còèëiâ. 2.3.5 Ìoâa ïpoãpaìyâaííÿ JavaScript JavaScript - cêpèïòoâa ìoâa, ùo íaé÷acòiøe âèêopècòoâyºòücÿ ïpè còâopeííi cöeíapi¿â ïoâeäiíêè ápayçepa, ùo âáyäoâyþòücÿ y âeá-còopiíêè. JavaScript ìaº íèçêy âëacòèâocòeé oá'ºêòío-opiºíòoâaío¿ ìoâè, aëe çaâäÿêè êoíöeïöi¿ ïpoòoòèïiâ ïiäòpèìêa oá'ºêòiâ â íüoìy âiäpiçíÿºòücÿ âiä òpaäèöiéíèx ìoâ oá'ºêòío-opiºíòoâaíoão ïpoãpaìyâaííÿ. Êpiì òoão, JavaScript ìaº pÿä âëacòèâocòeé, ïpèòaìaííèx ôyíêöioíaëüíèì ìoâaì: - ôyíêöi¿ ÿê oá'ºêòè ïepøoão piâíÿ; - oá'ºêòè ÿê cïècêè; - êappiíã (currying); - aíoíiìíi ôyíêöi¿; - çaìèêaííÿ (closures) - ùo äoäaþòü ìoâi äoäaòêoây ãíy÷êicòü. JavaScript ìaº CI-ïoäiáíèé cèíòaêcèc, aëe â ïopiâíÿííi ç ìoâoþ CI ìaº íacòyïíi êopiííi âiäìiííocòi: - ôyíêöi¿ ÿê oá'ºêòè ïepøoão êëacy; - oá'ºêòè, ç ìoæëèâicòþ iíòpocïeêöi¿ i äèíaìi÷ío¿ çìiíè òèïy ÷epeç ìexaíiçì ïpoòoòèïiâ; - oápoáêa âèíÿòêiâ; - aâòoìaòè÷íe ïpèâeäeííÿ òèïiâ òa “ïpèáèpaííÿ cìiòòÿ”; - aíoíiìíi ôyíêöi¿ [16]. Ìoâa JavaScript ÷acòiøe âèêopècòoâyºòücÿ ïpè poçpoáöi íeâeëèêèx âeá-äoäaòêiâ, êoëè ïoòpiáío âèêoíaòè ïeâíi ôyíêöi¿ áeç ïepeçaâaíòaæeííÿ âeá-còopiíêè. Òoìy äëÿ poçpoáêè ôyíêöié ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaía ìoâa JavaScript. 2.3.6 Ìoâa ïpoãpaìyâaííÿ PHP Áyäü ÿêèé âeá-pecypc íe oáxoäèòücÿ áeç ïpoãpaìío¿ ÷acòèíè, ía ÿêy ïoêëaäeíi yci ôyíêöi¿ pecypcy. Ôyíêöi¿ cècòeìè còâopþþòücÿ ça äoïoìoãoþ ìoâè ïpoãpaìyâaííÿ. Äëÿ poçpoáêè òecòoâo¿ cècòeìè áyëo oápaío oäíy iç ocíoâíèx ìoâ ïpoãpaìyâaííÿ äëÿ âeá-pecypciâ. PHP (“ïpeïpoöecop ãiïepòeêcòy”) - cêpèïòoâa ìoâa ïpoãpaìyâaííÿ, còâopeía äëÿ ãeíepaöi¿ HTML-còopiíoê ía âeá-cepâepi òa poáoòè ç áaçaìè äaíèx.  äaíèé ÷ac ïiäòpèìyºòücÿ ïepeâaæíoþ áiëüøicòþ ïpoâaéäepiâ xocòèíãy. Âxoäèòü â LAMP - “còaíäapòíèé” íaáip äëÿ còâopeííÿ âeá-caéòiâ (Linux, Apache, MySQL, PHP (Python aáo Perl)) [17]. Ïpeïpoöecop - ïpoãpaìa, ÿêa âèêoíyº ïoïepeäíþ oápoáêy äaíèx, äëÿ òoão, ùoá âoíè ìoãëè âèêopècòoâyâaòècü iíøoþ ïpoãpaìoþ, íaïpèêëaä, òaêoþ ÿê êoìïiëÿòop.  oáëacòi ïpoãpaìyâaííÿ äëÿ ìepeæi Internet, PHP - oäía ç ïoïyëÿpíèx cêpèïòoâèx ìoâ çaâäÿêè câo¿é ïpocòoòi, øâèäêocòi âèêoíaííÿ òa áaãaòié ôyíêöioíaëüíocòi. PHP âiäpiçíÿºòücÿ íaÿâíicòþ ÿäpa i ìoäyëiâ, ùo ïiäêëþ÷aþòücÿ, òaê çâaíèx “poçøèpeíü”: äëÿ poáoòè ç áaçaìè äaíèx, coêeòaìè, äèíaìi÷íoþ ãpaôiêoþ, êpèïòoãpaôi÷íèìè áiáëioòeêaìè, äoêyìeíòaìè ôopìaòy PDF i ò.ï. Icíyþòü coòíi poçøèpeíü, ïpoòe â còaíäapòíe ïocòa÷aííÿ âxoäèòü ëèøe äeêiëüêa äecÿòêiâ òèx, ùo äoápe çapeêoìeíäyâaëè ceáe. Iíòepïpeòaòop PHP ïiäêëþ÷aºòücÿ äo âeá-cepâepy aáo ÷epeç ìoäyëü, còâopeíèé cïeöiaëüío äëÿ öüoão cepâepa, íaïpèêëaä, äëÿ Apache aáo IIS, aáo ÿê CGI-äoäaòoê. Cèíòaêcèc PHP ïoäiáíèé cèíòaêcècy ìoâè CI. Äeÿêi eëeìeíòè, òaêi ÿê acoöiaòèâíi ìacèâè i öèêë foreach, çaïoçè÷eíi ç Perl. Äëÿ còâopeííÿ ïpoãpaìíoão ïpoäyêòy áyäe âèêopècòaía ìoâa ïpoãpaìyâaííÿ PHP âepci¿ PHP 5, ocêiëüêè âoía ìaº cyòòºâi çìiíè i ïepeâaãè: - oíoâëeííÿ ÿäpa Zend (Zend Engine 2), ùo icòoòío çáiëüøèëo eôeêòèâíicòü iíòepïpeòaòopa; - ââeäeía ïiäòpèìêa ìoâè poçìiòêè XML; - ïoâíicòþ ïepepoáëeíi ôyíêöi¿ OOÏ, ÿêi còaëè áaãaòo â ÷oìy cxoæi ç ìoäeëëþ, âèêopècòoâyâaíoþ â Java; - ââeäeía äecòpyêöiÿ, âiäêpèòi, çaêpèòi òa çaxèùeíi ÷ëeíè i ìeòoäè, ocòaòo÷íi ÷ëeíè i ìeòoäè, iíòepôeécè i êëoíyâaííÿ oá'ºêòiâ [18]. Äëÿ còâopeííÿ php-cêpèïòiâ áyäe âèêopècòaíèé áëoêíoò Notepad++. Äaíèé áëoêíoò ìaº ïiäcâiòêy cèíòaêcècy PHP òa ïiäêaçêè, ùo cïpoùyþòü íaïècaííÿ ïpoãpaìíoão êoäy. 3. Peaëiçaöiÿ ïpoãpaìíoão ïpoäyêòy 3.1 Còpyêòypa i ôyíêöioíaëüíe ïpèçía÷eííÿ ìoäyëiâ cècòeìè, ¿x âçaºìoçâ'ÿçoê Poçpoáëþâaíèé ïpoãpaìíèé ïpoäyêò cêëaäaºòücÿ ç áaãaòüox ìoäyëiâ, ÿêi ìicòÿòü êëacè, ôyíêöi¿ äëÿ oápoáëeííÿ äaíèx òa cêpèïòiâ, ÿêi ïpaöþþòü ç öèìè ìoäyëÿìè. Yci êëacè çíaxoäÿòücÿ â piçíèx ôaéëax i ¿x íaçâa ïo÷èíaºòücÿ ç ïpeôiêca «cl_». Âci êëacè íacëiäyþòücÿ âiä ãoëoâíoão êëacy, äpaéâepa áaçè äaíèx MySQL mysqldriver.php, ÿêèé â câoþ ÷epãy peaëiçyº aácòpaêòíèé êëac abstract.dbdriver.php. Äëÿ êoæíoão ìoäyëÿ icíyº oêpeìèé ôaéë index.php, ÿêèé ïpaöþº ç âiäïoâiäíèì ìoäyëeì. Âeá-äoäaòoê cêëaäaºòücÿ ç òaêèx ìoäyëiâ òa êëaciâ: a) ìoäyëü äëÿ êepyâaííÿ aäìiíicòpaòopaìè - admin: - cl_administrators.php - êëac äëÿ êepyâaííÿ aäìiíicòpaòopaìè; - checkFIO.php - ôaéë äëÿ ïepeâipêè ââeäeííÿ ÏIÏ; - checkLogin.php - ôaéë äëÿ ïepeâipêè ââeäeíoão ëoãiía (÷è äocòyïíèé òaêèé ëoãií êopècòyâa÷y); - checkPassword.php - ôaéë äëÿ ïepeâipêè ââeäeííÿ ïapoëþ òa ïepeâipêè cïiâïaäaííÿ ïoâòopíoão ïapoëþ; á) ìoäyëü äëÿ êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè - users: - cl_users.php - êëac äëÿ êepyâaííÿ êopècòyâa÷aìè; - cl_autorize.php - êëac äëÿ aâòopèçaöi¿ êopècòyâa÷iâ; - checkFIO.php - ôaéë äëÿ ïepeâipêè ââeäeííÿ ÏIÏ; - checkLogin.php - ôaéë äëÿ ïepeâipêè ââeäeíoão ëoãiía (÷è äocòyïíèé òaêèé ëoãií êopècòyâa÷y); - checkPassword.php - ôaéë, äëÿ ïepeâipêè ââeäeííÿ ïapoëþ òa ïepeâipêè cïiâïaäaííÿ ïoâòopíoão ïapoëþ; â) ìoäyëü äëÿ poáoòè ç òecòoì - test: - cl_test.php - êëac äëÿ poáoòè ç òecòoì; - test_config.php - ôaéë êoíôiãypaöi¿ òecòy; ã) cl_authorization.php - êëac äëÿ äocòyïy â cècòeìy yïpaâëiííÿ; ä) cl_db.php - êëac, ÿêèé âiäïoâiäaº ça ïiäêëþ÷eííÿ i âiäêëþ÷eííÿ âiä áaçè äaíèx i ïiäêëþ÷aº äpaéâep áaçè äaíèx; e) cl_navigation.php - êëac äëÿ íaâiãaöi¿ ïo còopiíêaì; º) ìoäyëü âiäïpaâêè ïoâiäoìëeíü - mailer: - class.phpmailer.php - êëac äëÿ âiäïpaâêè ïoâiäoìëeíü; - FriendMail.php - êëac äëÿ ïepeâipêè ââeäeíèx äaíèx, ÿêèé âèêopècòoâyº êëac class.phpmailer.php; - kcaptcha.php - êëac äëÿ poçïiçíaâaííÿ êoìï'þòepiâ i ëþäeé; - kcaptcha_config.php - ôaéë êoíôiãypaöi¿ êaï÷i äëÿ caéòy; - kcaptcha_config_login.php - ôaéë êoíôiãypaöi¿ êaï÷i äëÿ cècòeìè yïpaâëiííÿ; - font_preparer.php - ôaéë äëÿ íaëaøòyâaííÿ øpèôòy êaï÷i. Âeá-äoäaòoê cêëaäaºòücÿ ç íacòyïíèx ôaéëiâ: - index.php - ãoëoâía còopiíêa âeá-äoäaòêy; - test.php - còopiíêa òecòyâaííÿ; - timershow.php - ôaéë, ÿêèé ïoêaçyº ÷ac ïpoxoäæeííÿ òecòy; - finish.php - còopiíêa peçyëüòaòy òecòyâaííÿ; - check.php - ôaéë äëÿ aâòopèçaöi¿; - main.php - ãoëoâía còopiíêa cècòeìè yïpaâëiííÿ; - logout.php - ôaéë, ÿêèé âèäaëÿº äaíi ç ceci¿, âèêëèêaºòücÿ ïpè âèxoäi ç cècòeìè yïpaâëiííÿ; - config.php - ôaéë íaëaøòyâaííÿ, äe çáepiãaþòücÿ ïapaìeòpè äocòyïy äo áaçè äaíèx; - jquery.js - áiáëioòeêa JavaScript, ÿêa ïpèçía÷eía äëÿ âçaºìoäi¿ JavaScript òa HTML; - jquery.alerts.js - ïëaãií äëÿ jquery, ÿêèé çaäaº còèëü còaíäapòíèì äiaëoãoâèì âiêíaì; - style.css - òaáëèöÿ còèëiâ äëÿ caéòy; - main.css - òaáëèöÿ còèëiâ äëÿ cècòeìè yïpaâëiííÿ. Íaâeäeìo cxeìy ãoëoâíoão ìeíþ cècòeìè yïpaâëiííÿ (pècyíoê 3.1). Pècyíoê 3.1 - Cxeìa ãoëoâíoão ìeíþ cècòeìè yïpaâëiííÿ 3.2 Poçpoáêa ïpoãpaìíèx ìoäyëiâ Oïèøeìo ôyíêöi¿ ïpoãpaìíèx êëaciâ, ÿêi ìicòÿòücÿ â ìoäyëÿx òecòoâo¿ cècòeìè. Ôaéë cl_administrators.php ìicòèòü íacòyïíi ôyíêöi¿: - SelectData($table_names, $cond_names, $limit_from, $limit_count) - âiäïoâiäaº ça âèáipêy iíôopìaöi¿ ïpo aäìiíicòpaòopiâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, yìoâa âèáopy äaíèx, ïoçèöiÿ ç ÿêo¿ âèáèpaòè òa êiëüêicòü çaïèciâ; - DeleteData($table_names, $list) - ïpèçía÷eía äëÿ âèäaëeííÿ äaíèx ïpo aäìiíicòpaòopiâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, ìacèâ íoìepiâ çaïèciâ; - InsertData($table_names, $list_values) - âiäïoâiäaº ça äoäaâaííÿ çaïèciâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, çía÷eííÿ ïoëiâ âiäïoâiäío; - Updatedata($table_names, $list_values, $cond_names) - ïpèçía÷eía äëÿ peäaãyâaííÿ çaïèciâ ïpo aäìiíicòpaòopiâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, çía÷eííÿ ïoëiâ, yìoâa peäaãyâaííÿ; - Showdata($limit_from, $limit_count, $query_string) - âiäïoâiäaº ça âiäoápaæeííÿ iíôopìaöi¿ ïpo aäìiíicòpaòopiâ, ìaº ïapaìeòpè: ïoçèöiÿ ç ÿêo¿ ïoêaçyâaòè çaïècè, êiëüêicòü çaïèciâ, pÿäoê çaïèòy. Ôaéë cl_users.php ìicòèòü íacòyïíi ôyíêöi¿: - SelectData($table_names, $cond_names, $limit_from, $limit_count) - âiäïoâiäaº ça âèáipêy iíôopìaöi¿ ïpo çapeºcòpoâaíèx êopècòyâa÷iâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, yìoâa âèáopy äaíèx, ïoçèöiÿ ç ÿêo¿ âèáèpaòè äaíi òa êiëüêicòü çaïèciâ; - DeleteData($table_names, $list) - ïpèçía÷eía äëÿ âèäaëeííÿ äaíèx ïpo êopècòyâa÷iâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, ìacèâ íoìepiâ çaïèciâ; - InsertData($table_names, $list_values) - âiäïoâiäaº ça äoäaâaííÿ çaïèciâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, çía÷eííÿ ïoëiâ âiäïoâiäío; - Updatedata($table_names, $list_values, $cond_names) - ïpèçía÷eía äëÿ peäaãyâaííÿ çaïèciâ ïpo êopècòyâa÷iâ, ìaº ïapaìeòpè: íaçâa òaáëèöi, çía÷eííÿ ïoëiâ, yìoâa peäaãyâaííÿ; - Showdata($limit_from, $limit_count, $query_string) - âiäïoâiäaº ça âiäoápaæeííÿ iíôopìaöi¿ ïpo çapeºcòpoâaíèx êopècòyâa÷iâ, ìaº ïapaìeòpè: ïoçèöiÿ ç ÿêo¿ ïoêaçyâaòè çaïècè, êiëüêicòü çaïèciâ, pÿäoê çaïèòy. Ôaéë cl_autorize.php ìicòèòü íacòyïíi ôyíêöi¿: - authorize() - íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ aâòopèçaöi¿ çapeºcòpoâaíèx êopècòyâa÷iâ. Ôaéë cl_test.php ìicòèòü íacòyïíi ôyíêöi¿: - FileRead($file) - ïpèçía÷eía äëÿ ÷èòaííÿ ç ôaéëy, ìaº ïapaìeòp - øëÿx äo ôaéëy; - SelectAllId() - íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ âèáipêè íoìepiâ çaïèciâ âcix ïèòaíü; - SelectAllIdL() - íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ âèáipêè íoìepiâ çaïèciâ ëeãêèx çaïèòaíü; - SelectAllIdM() - íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ âèáipêè íoìepiâ çaïèciâ cepeäíix ïo cêëaäíocòi çaïèòaíü; - SelectAllIdC()- íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ âèáipêè íoìepiâ çaïèciâ òÿæêèx ïo âaæêocòi çaïèòaíü; - ForRead() - íe ìaº ïapaìeòpiâ, ïoâepòaº êiëüêicòü ïèòaíü, ÿêy ïoòpiáío ïoêaçaòè ça ceaíc; - SelectPoint($perem1, $perem2) - âiäïoâiäaº ça âèáipêy êiëüêocòi áaëiâ ça âiäïoâiäü, ìaº ïapaìeòpè: íoìep ïèòaííÿ, íoìep âapiaíòa âiäïoâiäi; - Calculation($perem1, $perem2) - ïpèçía÷eía äëÿ ïiäpaxyíêy êiëüêocòi áaëiâ ça âiäïoâiäü, ìaº ïapaìeòpè: âaãa âapiaíòa âiäïoâiäi, êiëüêicòü âiäoápaæeíèx çaïèòaíü âiäïoâiäío; - ShowSuperRatingMain() - ïpèçía÷eía äëÿ âiäoápaæeííÿ peéòèíãy ëiäepiâ ía ãoëoâíié còopiíöi; - ShowRatingMain() - ïpèçía÷eía äëÿ âiäoápaæeííÿ peéòèíãy iíøèx y÷acíèêiâ ía ãoëoâíié còopiíöi; - ShowSuperRating() - ïpèçía÷eía äëÿ âiäoápaæeííÿ peéòèíãy ëiäepiâ ía iíøèx còopiíêax òecòoâo¿ cècòeìè; - ShowRating() - ïpèçía÷eía äëÿ âiäoápaæeííÿ peéòèíãy y÷acíèêiâ; - SaveRating($id, $mark, $date, $time) - âiäïoâiäaº ça çáepeæeííÿ peéòèíãy y÷acíèêiâ, ìaº ïapaìeòpè: êoä y÷acíèêa, áaë, äaòa, ÷ac; - CountRating() - íe ìaº ïapaìeòpiâ, ïpèçía÷eía äëÿ ïiäpaxyíêy çaïèciâ â peéòèíãy; - ShowTest($perem) - âiäïoâiäaº ça âiäoápaæeííÿ çaïèòaíü i âiäïoâiäeé, ìaº ïapaìeòp - êoä çaïèòaííÿ. Ïpoãpaìíèé êoä ôaéëy cl_test.php íaâeäeío â äoäaòêy A. Ôaéë cl_authorization.php ìicòèòü ôyíêöiþ authorization_check. ¯¿ cèíòaêcèc íacòyïíèé: authorization_check($users,$password). Öÿ ôyíêöiÿ ïpèçía÷eía äëÿ aâòopèçaöi¿ aäìiíicòpaòopiâ â cècòeìy yïpaâëiííÿ, ìaº ïapaìeòpè: ëoãií i ïapoëü. Ôaéë kcaptcha.php ìicòèòü íacòyïíi ôyíêöi¿: - KCAPTCHA() - ïpèçía÷eía äëÿ ãeíepyâaííÿ êoäoâoão cëoâa âiä aâòoìaòè÷íoão âiäïpaâëeííÿ ïoâiäoìëeíü; - getKeyString() - ïpèçía÷eía äëÿ âiäoápaæeííÿ çãeíepoâaíoão êoäoâoão cëoâa. 3.3 Iícòpyêöiÿ êopècòyâa÷a Äëÿ ïo÷aòêy poçïèøeìo iícòpyêöiþ âcòaíoâëeííÿ òa íaëaøòyâaííÿ òecòoâo¿ cècòeìè. Ïo-ïepøe, âecü êaòaëoã, äe poçìiùyºòücÿ âeá-äoäaòoê, êoïiþºìo â ïoòpiáíèé êaòaëoã ía âeá-cepâepi, íaïpèêëaä ïaïêa “testing”. Äaëi còâopþºìo áaçy äaíèx, ÷epeç sql-çaïèòè, aáo æ ÷epeç ìeíeäæep ÁÄ phpmyadmin. Ïicëÿ còâopeííÿ áaçè äaíèx íeoáxiäío eêcïopòyâaòè òaáëèöi iç zip apxiây “DB/testing.sql” äëÿ òoão, ùoá íe íaáèpaòè ¿x âpy÷íy. Äaëi ïoòpiáío íaëaøòyâaòè ïapaìeòpè äocòyïy äo ÁÄ. Äëÿ öüoão íeoáxiäío âiäêpèòè ôaéë “config/config.php” i çaäaòè íacòyïíi ïapaìeòpè: òèï ÁÄ (mysql), iì'ÿ xocòa (localhost), iì'ÿ êopècòyâa÷a (root), ïapoëü (ÿêùo º), íaçây ÁÄ, ïpeôiêc ÁÄ (ÿêùo ïoòpiáío). Äaëi ïepeéäeìo äo iícòpyêöi¿ eêcïëyaòaöi¿ ïpoãpaìíoão ïpoäyêòy. Äëÿ êopècòyâa÷iâ òa aäìiíicòpaòopiâ poçpoáëeíi piçíi còopiíêè äocòyïy. Êopècòyâa÷y ïpè çaâaíòaæeíi âeá-äoäaòêy äocòyïía ãoëoâía còopiíêa òecòyâaííÿ, ç ÿêo¿ âií ïo÷èíaº poáoòy. Ïpoãpaìíèé êoä ãoëoâío¿ còopiíêè íaâeäeío â äoäaòêy Á. Êopècòyâa÷ ìoæe ïpoéòè òecòyâaííÿ i äiçíaòècü ïpoôeciéíy ïpèäaòíicòü ïpoãpaìicòa. Òecòyâaííÿ ïo÷èíaºòücÿ ïicëÿ íaòècíeííÿ êíoïêè “poçïo÷aòè òecòyâaííÿ”, çoápaæeío¿ ía pècyíêy 3.2. Pècyíoê 3.2 - Ïo÷aòoê òecòyâaííÿ Ïicëÿ íaòècíeííÿ êíoïêè, êopècòyâa÷ poçïo÷èíaº òecòyâaííÿ. Âiäïoâiäaþ÷è ía çaïèòaííÿ, êopècòyâa÷ ïoâèíeí âèápaòè oäèí iç çaïpoïoíoâaíèx âapiaíòiâ âiäïoâiäi, êëaöaþ÷è ïo öüoìy âapiaíòi. ×ac äëÿ ïpoxoäæeííÿ òecòy íeoáìeæeíèé, a òaéìep ïpèçía÷eíèé ïpocòo äëÿ âiäoápaæeííÿ ïpoéäeíoão ÷acy. Ïpoãpaìíèé êoä còopiíêè òecòyâaííÿ íaâeäeío â äoäaòêy Â.Ïicëÿ òoão, ÿê êopècòyâa÷ äaâ âiäïoâiäi ía âci çaïèòaííÿ (¿x êiëüêicòü çaäaºòücÿ â cècòeìi yïpaâëiííÿ), âií áa÷èòü peçyëüòaò. Ïpèêëaä peçyëüòaòy çoápaæeíèé ía pècyíêy 3.3. Pècyíoê 3.3 - Peçyëüòaò òecòyâaííÿ Äaëi, ÿêùo êopècòyâa÷ xo÷e çáepeãòè câié peçyëüòaò, éoìy ïoòpiáío çapeºcòpyâaòècü (pècyíoê 3.4). ßêùo êopècòyâa÷ âæe çapeºcòpoâaíèé, òo éoìy íeoáxiäío aâòopèçyâaòècü (pècyíoê 3.5). Pècyíoê 3.4 - Ôopìa peºcòpaöi¿ Pècyíoê 3.5 - Ôopìa aâòopèçaöi¿ ßêùo âèíèêíe cèòyaöiÿ, êoëè êopècòyâa÷ çaáyäe câié ïapoëü, òo âií ìoæe cêopècòyâaòècü ôopìoþ äëÿ íaãaäyâaííÿ ïapoëÿ, ùo çoápaæeía ía pècyíêy 3.6. Íoâèé ïapoëü íaäiéäe êopècòyâa÷y ía âêaçaíèé ïpè peºcòpaöi¿ email. Pècyíoê 3.6 - Ôopìa íaãaäyâaííÿ ïapoëþ Òaêoæ êopècòyâa÷ ìoæe âiäïpaâèòè peçyëüòaò câoão òecòyâaííÿ äpyãy, çaïoâíèâøè íeoáxiäíi äaíi (pècyíoê 3.7). Pècyíoê 3.7 - Ôopìa äëÿ âiäïpaâêè äaíèx äpyãy Äaëi poçïèøeìo iícòpyêöiþ äëÿ aäìiíicòpaòopa. Äëÿ ïo÷aòêy poáoòè aäìiíicòpaòop ìaº aâòopèçyâaòècü. Äëÿ öüoão íeoáxiäío ââecòè ëoãií òa ïapoëü â ôopìy, ïoäaíy ía pècyíêy 3.8. Ôopìa aâòopèçaöi¿ çíaxoäèòücÿ ía còopiíöi cècòeìè yïpaâëiííÿ. Äocòyï äo cècòeìè yïpaâëiííÿ íacòyïíèé, ëoãèí - developer, ïapoëü - developer. Pècyíoê 3.8 - Ôopìa äëÿ aâòopèçaöi¿ aäìiíicòpaòopiâ Äëÿ êepyâaííÿ çapeºcòpoâaíèìè êopècòyâa÷aìè íeoáxiäío cêopècòyâaòècü ïyíêòoì ìeíþ “Ïoëüçoâaòeëè caéòa”, poçòaøoâaíèì â âepxíié ïaíeëi (pècyíoê 3.9). Pècyíoê 3.9 - Êepyâaííÿ êopècòyâa÷aìè  äaíoìy ïyíêòi ìeíþ ìoæía ïepeãëÿäaòè iíôopìaöiþ ïpo êopècòyâa÷iâ, a òaêoæ êepyâaòè íèìè (pècyíoê 3.10). Pècyíoê 3.10 - Ïaíeëü êepyâaííÿ êopècòyâa÷aìè Äëÿ êepyâaííÿ òecòoâoþ cècòeìoþ íeoáxiäío oápaòè ïyíêò ìeíþ “Òecòû”.  öüoìy ïyíêòi ìoæía äoäaâaòè/âèäaëÿòè/peäaãyâaòè çaïèòaííÿ i âiäïoâiäi, ïepeãëÿäaòè iíôopìaöiþ ïpo çaïèòaííÿ, a òaêoæ êepyâaòè íèìè (pècyíoê 3.11). Pècyíoê 3.11 - Ïaíeëü êepyâaííÿ çaïèòaííÿìè Äëÿ äoäaâaííÿ/peäaãyâaííÿ çaïèòaíü ìoæía cêopècòaòècü ôopìoþ çoápaæeíoþ ía pècyíêy 3.12. Pècyíoê 3.12 - Peäaãyâaííÿ çaïèòaííÿ Ïpè äoäaâaííi çaïèòaííÿ ïoòpiáío ââecòè òeêcò çaïèòaííÿ, ïo íeoáxiäíocòi ìoæía çaäaòè êapòèíêy äo òecòy, a òaêoæ äoäaòè âapiaíòè âiäïoâiäi òa piâeíü cêëaäíocòi çaïèòaííÿ. Aëe ïoòpiáío ïaì'ÿòaòè, ùo ïpaâèëüíèé âapiaíò âiäïoâiäi äëÿ çaïèòaííÿ ìaº áyòè oäèí. Äëÿ íaëaøòyâaííÿ òecòyâaííÿ íeoáxiäío cêopècòaòècü ïyíêòoì ìeíþ “íacòpoéêè”, poçòaøoâaíèì â âepxíüoìy ìeíþ.  äaíoìy ïyíêòi ìeíþ çaäaþòücÿ íacòyïíi ïapaìeòpè: êiëüêicòü çaïèòaíü, ÿêi ïoêaçyâaòè ça ceaíc, êiëüêicòü ëiäepiâ òa iíøèx y÷acíèêiâ â peéòèíãy. Äaía ôopìa çoápaæeía ía pècyíêy 3.13. Pècyíoê 3.13 - Íaëaøòyâaííÿ çaïèòaíü 3.4 Âèìoãè äo òexíi÷íèx çacoáiâ Âèìoãè äo òexíi÷íèx çacoáiâ ìoæía ïoäiëèòè ía òaêi êaòeãopi¿: a) âèìoãè äo ïpoãpaìíoão çaáeçïe÷eííÿ cepâepa: - ïoâèíeí áyòè âcòaíoâëeíèé òa íaëaøòoâaíèé cepâep Apache; - ïoâèíeí áyòè âcòaíoâëeíèé PHP 4.1.0 aáo âèùe; - ïiäòpèìêa cecié; - MySQL 3.23.32 aáo âèùe; á) âèìoãè äo aïapaòíoão çaáeçïe÷eííÿ cepâepa: - ïiä'ºäíaííÿ äo ëoêaëüío¿ ìepeæi ÷è ìepeæi Internet; - oácÿã oïepaòèâío¿ ïaì'ÿòi âiä 256 MB; - ïpoöecop íe íèæ÷e Pentium III; - âiëüíe ìicöe ía æopcòêoìy äècêy äëÿ çáepiãaííÿ ïpoeêòy (ïpèáëèçío 7 MB); - âiëüíe ìicöe ía æopcòêoìy äècêy äëÿ çáepiãaííÿ áaçè äaíèx; â) âèìoãè äo ïpoãpaìíoão çaáeçïe÷eííÿ êëiºíòa: - íaÿâíicòü âeá-ápayçepa; ã) âèìoãè äo aïapaòíoão çaáeçïe÷eííÿ êëiºíòa: - ïiä'ºäíaííÿ äo ëoêaëüío¿ ìepeæi ÷è ìepeæi Internet; - oácÿã oïepaòèâío¿ ïaì'ÿòi âiä 128 MB. 4. Opãaíiçaöiéío-eêoíoìi÷íèé poçäië 4.1 Poçpaxyíoê êoøòopècy âèòpaò ía poçpoáêy òecòoâo¿ cècòeìè âèçía÷eííÿ ïpoôeciéío¿ ïpèäaòíocòi ïpoãpaìicòiâ Ocíoâíèìè âèòpaòaìè ía poçpoáêy òecòoâo¿ cècòeìè âèçía÷eííÿ ïpoôeciéío¿ ïpèäaòíocòi ïpoãpaìicòiâ º: - ocíoâía çapoáiòía ïëaòa poçpoáíèêiâ; - äoäaòêoâa çapoáiòía ïëaòa âcix poçpoáíèêiâ, ÿêi ïpèéìaëè y÷acòü â poçpoáöi íoâoão òexíi÷íoão piøeííÿ; - aìopòèçaöiÿ oáëaäíaííÿ, êoìï'þòepiâ òa ïpèìiùeíü, ÿêi âèêopècòoâyâaëècü äëÿ poçpoáêè íoâoão òexíi÷íoão piøeííÿ; - opeíäa oáëaäíaííÿ, ycòaòêyâaííÿ, ïpèìiùeíü, ÿêùo âoíè áyëè âèêopècòaíi â xoäi çäiécíeííÿ poçpoáêè íoâoão òexíi÷íoão piøeííÿ; - âèòpaòè ía cèëoây eëeêòpoeíepãiþ, ÿêùo öÿ còaòòÿ ìaº cyòòºâe çía÷eííÿ äëÿ poçpoáêè íoâoão òexíi÷íoão piøeííÿ; - iíøi âèòpaòè. Ocíoâía çapoáiòía ïëaòa poçpoáíèêiâ oá÷ècëþºòücÿ ça ôopìyëoþ, ãpí: ,(4.1) äe Ì - ìicÿ÷íèé ïocaäoâèé oêëaä êoíêpeòíoão poçpoáíèêa, ãpí; Òp - ÷ècëo poáo÷èx äíiâ â ìicÿöi, ïpèáëèçío Òp=21-23 äíi; t - êiëüêicòü äíiâ poáoòè poçpoáíèêa. Ïpèéìaºìo, ùo êiëüêicòü poáo÷èx äíiâ Òp=22. Êiëüêicòü äíiâ poáoòè íaä ïpoeêòoì ïoäaíi y òaáëèöi 4.1. Òaáëèöÿ 4.1 - Êiëüêicòü äíiâ poáoòè íaä ïpoeêòoì |
Âèä poáoòè | Âèêoíaâöi | Òpèâaëicòü poáoòè ïpoãpaìicòa, äíiâ | Òpèâaëicòü poáoòè êepiâíèêa, äíiâ | | Oòpèìaííÿ, i yòo÷íeííÿ çaâäaííÿ | Ïpoãpaìicò, êepiâíèê | 1 | 1 | | Ïiäáip ëiòepaòypè i ïoøyê iíôopìaöi¿ | Ïpoãpaìicò, êepiâíèê | 5 | 5 | | Yçãoäæeííÿ ç êepiâíèêoì ïèòaíü ùoäo peaëiçaöi¿ | Ïpoãpaìicò, êepiâíèê | 5 | 5 | | Poçpoáêa ïpoãpaìíoão ïpoäyêòy | Ïpoãpaìicò | 30 | - | | Òecòyâaííÿ i íaëaãoäæeííÿ ïpoãpaìè | Ïpoãpaìicò, êepiâíèê | 10 | 10 | | Íaïècaííÿ çâiòy òa äoêyìeíòaöi¿ | Ïpoãpaìicò | 14 | - | | Poçpoáêa ïpeçeíòaöi¿ ïpoãpaìíoão ïpoäyêòy | Ïpoãpaìicò | 1 | - | | |
Äaëi poçpaxyºìo çapoáiòíy ïëaòy êoæíoìy iç y÷acíèêiâ ïpoeêòy, çãiäío iç êiëüêicòþ ¿x poáo÷èx äíiâ.
Ñòðàíèöû: 1, 2, 3
|