Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Hey Habr!

Lebitso la ka ke Maxim Ponomarenko 'me ke moqapi oa Sportmaster. Ke na le boiphihlelo ba lilemo tse 10 lefapheng la IT. O ile a qala mosebetsi oa hae oa tlhahlobo ea matsoho, eaba o fetohela ho nts'etsopele ea database. Lilemong tsa ho qetela tsa 4, ho bokella tsebo e fumanoeng tekong le nts'etsopele, ke 'nile ka etsa tlhahlobo ea boiketsetso boemong ba DBMS.

Ke bile sehlopheng sa Sportmaster nako e fetang selemo mme ke ntse ke etsa tlhahlobo ea boiketsetso ho e 'ngoe ea merero e meholo. Ka April, 'na le bashanyana ba Sportmaster Lab re ile ra bua sebokeng sa Krasnodar, tlaleho ea ka e ne e bitsoa "Litlhahlobo tsa Unit ho DBMS,"' me joale ke batla ho e arolelana le uena. Ho tla ba le litemana tse ngata, kahoo ke ile ka etsa qeto ea ho arola tlaleho ka likarolo tse peli. Ea pele, re tla bua ka li-autotest le liteko ka kakaretso, 'me ea bobeli, ke tla lula ka ho qaqileng haholoanyane mabapi le sistimi ea rona ea tlhahlobo ea yuniti le liphetho tsa ts'ebeliso ea eona.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Ntlha ea pele, khopolo e nyenyane e tenang. Teko e iketsang ke eng? Ena ke tlhahlobo e etsoang ho sebelisoa software, 'me ho IT ea morao-rao e sebelisoa haholo ho nts'etsopele ea software. Sena se bakoa ke taba ea hore lik'hamphani li ntse li hōla, mekhoa ea bona ea tlhahisoleseding e ntse e hōla 'me, ka lebaka leo, palo ea ts'ebetso e lokelang ho lekoa e ntse e eketseha. Ho etsa tlhahlobo ea matsoho ho ntse ho theko e boima le ho feta.

Ke ne ke sebeletsa k'hamphani e kholo eo litokollo tsa eona li hlahang likhoeli tse ling le tse ling tse peli. Ka nako e ts'oanang, khoeli eohle e ile ea sebelisoa ho etsa hore bahlahlobi ba 'maloa ba hlahlobe ka letsoho ho sebetsa. Ka lebaka la ts'ebetsong ea boiketsetso ke sehlopha se senyenyane sa bahlahisi, re khonne ho fokotsa nako ea teko ho libeke tse 2 ka selemo le halofo. Ha rea ​​eketsa lebelo la tlhahlobo feela, empa hape re ntlafalitse boleng ba eona. Liteko tse ikemetseng li qalisoa khafetsa 'me li lula li etsa tlhahlobo eohle e kenyellelitsoeng ho tsona, ke hore, ha re kenyelle ntlha ea motho.

IT ea morao-rao e khetholloa ke taba ea hore moqapi a ka 'na a hlokoa eseng feela ho ngola khoutu ea sehlahisoa, empa hape le ho ngola liteko tsa lihlopha tse hlahlobang khoutu ena.

Empa ho thoe'ng haeba tsamaiso ea hau e thehiloe haholo-holo ho logic ea seva? Ha ho na tharollo ea bokahohle kapa mekhoa e metle ka ho fetisisa 'marakeng. E le molao, lik'hamphani li rarolla bothata bona ka ho iketsetsa mokhoa oa bona oa ho itlhahloba. Ena ke mokhoa oa rona oa ho itlhahloba o ikemetseng o entsoeng morerong oa rona mme ke tla bua ka eona tlalehong ea ka.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Botšepehi bo lekang

Taba ea pele, ha re bue ka morero moo re sebelisitseng sistimi ea tlhahlobo e ikemetseng. Morero oa rona ke tsamaiso ea botšepehi ea Sportmaster (ka tsela, re se re ngotse ka eona poso ena).

Haeba k'hamphani ea hau e le kholo ka ho lekana, sistimi ea hau ea bots'epehi e tla ba le thepa e meraro e tloaelehileng:

  • Sistimi ea hau e tla tlala haholo
  • Sistimi ea hau e tla ba le lits'ebetso tse rarahaneng tsa komporo
  • Sistimi ea hau e tla ntlafatsoa ka mafolofolo.

A re tsamaee ka tatellano ... Ka kakaretso, haeba re nahana ka lihlahisoa tsohle tsa Sportmaster, joale re na le mabenkele a fetang 1000 Russia, Ukraine, Chaena, Kazakhstan le Belarus. Ho rekoa ho ka bang 300 mabenkeleng ana letsatsi le leng le le leng. Ke hore, licheke tse 000-3 tsa bobeli li kena tsamaisong ea rona. Ka tlhaho, tsamaiso ea rona ea botšepehi e imetsoe haholo. 'Me kaha e sebelisoa ka mafolofolo, re tlameha ho fana ka litekanyetso tse phahameng ka ho fetisisa tsa boleng ba eona, hobane phoso leha e le efe ho software e bolela tahlehelo e kholo ea chelete, botumo le tse ling.

Ka nako e ts'oanang, Sportmaster e tsamaisa lipapatso tse fetang lekholo tse fapaneng. Ho na le mefuta e fapaneng ea lipapatso: ho na le lipapatso tsa lihlahisoa, ho na le tse inehetseng ho letsatsi la beke, ho na le tse tlamelletsoeng lebenkeleng le itseng, ho na le lipapatso tsa palo ea risiti, ho na le palo ea thepa. Ka kakaretso, eseng hampe. Bareki ba na le libonase le likhoutu tsa papatso tse sebelisoang ha ba reka. Sena sohle se lebisa tabeng ea hore ho bala taelo leha e le efe ke mosebetsi o sa reng letho.

Algorithm e sebelisang ts'ebetso ea odara e hlile e mpe ebile e rarahane. 'Me liphetoho leha e le life ho algorithm ena li kotsi haholo. Ho ne ho bonahala eka liphetoho tse bonahalang e se tsa bohlokoa ka ho fetisisa li ka lebisa liphellong tse sa lebelloang. Empa ke lits'ebetso tse rarahaneng joalo tsa komporo, haholo tse sebelisang ts'ebetso ea bohlokoa, ke bona ba khethiloeng ka ho fetesisa. Ho hlahloba linyeoe tse ngata tse tšoanang ka letsoho ho ja nako haholo. 'Me kaha sebaka sa ho kena ts'ebetsong ha se fetohe, ha u se u hlalositse hanngoe, u ka potlakela ho etsa liteko tse itekanetseng' me u be le tšepo ea hore ts'ebetso e tla sebetsa.

Kaha sistimi ea rona e sebelisoa ka mafolofolo, khoebo e tla batla ntho e ncha ho uena, phela le linako 'me e sekamele ho bareki. Tsamaisong ea rona ea botšepehi, litokollo li tsoa ka mor'a likhoeli tse ling le tse ling tse peli. Sena se bolela hore likhoeli tse ling le tse ling tse peli re hloka ho khutlisa tsamaiso eohle. Ka nako e ts'oanang, ka tlhaho, joalo ka IT leha e le efe ea morao-rao, nts'etsopele ha e tsoe hang-hang ho tloha ho moqapi ho ea ho tlhahiso. E tsoa ho potoloho ea mohlahlami, ebe e feta ka tatellano bencheng ea liteko, ho lokolloa, ho amoheloa, ebe e qetella ka tlhahiso. Bonyane, litekong le ho lokolla lipotoloho, re hloka ho etsa tlhophiso e felletseng ea sistimi eohle.

Thepa e hlalositsoeng e tloaelehile bakeng sa tsamaiso leha e le efe ea botšepehi. Ha re bue ka likarolo tsa morero oa rona.

Ho latela thekenoloji, 90% ea mohopolo oa sistimi ea rona ea bots'epehi e thehiloe ho seva mme e kengoa ts'ebetsong ho Oracle. Ho na le moreki ea pepesitsoeng Delphi, ea etsang mosebetsi oa motsamaisi ea ikemetseng oa sebaka sa mosebetsi. Ho na le lits'ebeletso tsa marang-rang tse pepesitsoeng bakeng sa lits'ebetso tsa kantle (mohlala, sebaka sa Marang-rang). Ka hona, hoa utloahala hore haeba re sebelisa sistimi ea tlhahlobo e ikemetseng, re tla e etsa ho Oracle.

Tsamaiso ea botšepehi ho Sportmaster e bile teng ka lilemo tse fetang 7 'me e bōpiloe ke baetsi ba masoha ... Palo e tloaelehileng ea bahlahisi ba morero oa rona nakong ea lilemo tsena tse 7 e ne e le batho ba 3-4. Empa selemong se fetileng, sehlopha sa rona se eketsehile haholo, 'me hona joale ho na le batho ba 10 ba sebetsang morerong ona. Ke hore, batho ba tla morerong ba sa tloaelaneng le mesebetsi e tloaelehileng, lits'ebetso le meaho. 'Me ho na le kotsi e eketsehileng ea hore re tla fosoa ke liphoso.

Morero ona o khetholloa ka ho ba sieo ha bahlahlobi ba inehetseng e le lihlopha tsa basebetsi. Ha e le hantle, ho na le tlhahlobo, empa tlhahlobo e etsoa ke bahlahlobisisi, ho phaella mesebetsing ea bona e meng e ka sehloohong: ho buisana le bareki ba khoebo, basebelisi, ho ntlafatsa litlhoko tsa tsamaiso, joalo-joalo. joalo-joalo ... Ho sa tsotellehe taba ea hore tlhahlobo e etsoa boleng bo phahameng haholo (sena se loketse ka ho khetheha ho bolela, kaha ba bang ba bahlahlobisisi ba ka 'na ba hapa leihlo la tlaleho ena), katleho ea ho khetheha le ho tsepamisa mohopolo nthong e le' ngoe ha e e-s'o hlakoloe. .

Ha re nahana ka tsohle tse kaholimo, ho ntlafatsa boleng ba sehlahisoa se fanoeng le ho fokotsa nako ea nts'etsopele, mohopolo oa ho itlhahloba ka morero o bonahala o utloahala haholo. 'Me ka mekhahlelo e fapaneng ea boteng ba tsamaiso ea botšepehi, bahlahisi ka bomong ba entse boiteko ba ho koahela khoutu ea bona ka liteko tsa likarolo. Ka kakaretso e ne e le ts'ebetso e sa lumellaneng, 'me e mong le e mong a sebelisa meaho le mekhoa ea hae. Liphetho tsa ho qetela li ne li tloaelehile ho liteko tsa li-unit: liteko li ile tsa ntlafatsoa, ​​li sebelisoa ka nako e itseng, li bolokiloe polokelong ea faele e fetoletsoeng, empa ka nako e 'ngoe li ile tsa khaotsa ho sebetsa' me tsa lebaloa. Pele ho tsohle, sena se ne se bakoa ke taba ea hore liteko li ne li tlameletsoe haholo ho moetsi ea itseng, eseng morerong.

utPLSQL ea thusa

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Na u tseba letho ka Stephen Feuerstein?

Enoa ke mohlankana ea bohlale ea sebelisitseng nako e telele ea mosebetsi oa hae ho sebetsa le Oracle le PL/SQL, 'me o ngotse libuka tse ngata haholo tabeng ena. E 'ngoe ea libuka tsa hae tse tummeng e bitsoa: "Oracle PL/SQL. Bakeng sa litsebi." E ne e le Stephen ea hlahisitseng tharollo ea utPLSQL, kapa, joalo ka ha e emela, moralo oa Teko ea Unit bakeng sa Oracle PL/SQL. Tharollo ea utPLSQL e entsoe ka 2016, empa e ntse e tsoela pele ho sebetsoa ka mafolofolo le ho lokolloa liphetolelo tse ncha. Nakong ea tlaleho, mofuta oa morao-rao o qalile ka la 24 Hlakubele 2019.
Ke eng. Ena ke projeke e fapaneng ea mohloli o bulehileng. E boima ba li-megabyte tse 'maloa, ho kenyelletsa le mehlala le litokomane. Ka 'mele, ke schema e arohaneng polokelong ea ORACLE e nang le liphutheloana le litafole bakeng sa ho hlophisa tlhahlobo ea yuniti. Ho kenya ho nka metsotsoana e seng mekae. Karolo e ikhethang ea utPLSQL ke boiketlo ba eona ba ts'ebeliso.
Lefatšeng ka bophara, utPLSQL ke mokhoa oa ho etsa liteko tsa yuniti, moo tlhahlobo ea yuniti e utloisisoang e le mekhoa e tloaelehileng ea Oracle batch, mokhatlo o latelang melao e itseng. Ntle le ho qala, utPLSQL e boloka lethathamo la liteko tsohle tsa hau, hape e na le sistimi ea ka hare ea tlaleho.

Ha re shebeng mohlala oa hore na khoutu ea tlhahlobo ea yuniti e shebahala joang, e kentsoeng ts'ebetsong ka mokhoa ona.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Kahoo, skrine e bonts'a khoutu ea sephutheloana se tloaelehileng se nang le liteko tsa yuniti. Litlhokahalo tse tlamang ke life? Pakete e tlameha ho hlophisoa ka "utp_". Mekhoa eohle e nang le liteko e tlameha ho ba le sehlomapele se tšoanang hantle. Sephutheloana se tlameha ho ba le mekhoa e 'meli e tloaelehileng: "utp_setup" le "utp_teardown". Mokhoa oa pele o bitsoa ka ho qala tlhahlobo ea yuniti ka 'ngoe, ea bobeli - kamora ho qala.

"Utp_setup", e le molao, e lokisetsa tsamaiso ea rona ho etsa tlhahlobo ea yuniti, mohlala, ho theha data ea teko. "utp_teardown" - ho fapana le hoo, ntho e 'ngoe le e' ngoe e khutlela ho litlhophiso tsa pele ebe e tsosolosa liphetho tsa ho qala.

Mohlala ke ona oa tlhahlobo e bonolo ka ho fetesisa ea yuniti e lekola ho tloaeleha ha nomoro ea mohala ea bareki e kentsoeng ka mokhoa o tloaelehileng oa sistimi ea rona ea botšepehi. Ha ho na maemo a tlamang mabapi le mokhoa oa ho ngola lits'ebetso ka liteko tsa yuniti. E le molao, pitso e etsoa ho mokhoa oa tsamaiso e tlas'a teko, 'me sephetho se khutliselitsoeng ke mokhoa ona se bapisoa le sa referense. Ke habohlokoa hore papiso ea sephetho sa litšupiso le se fumanoeng se hlahe ka mekhoa e tloaelehileng ea utPLSQL.

Teko ea yuniti e ka ba le licheke tse ngata. Joalokaha ho ka bonoa mohlaleng, re etsa li-call tse 'nè tse latellanang ho mokhoa o lekiloeng oa ho tloaeleha nomoro ea mohala le ho hlahloba sephetho ka mor'a mohala o mong le o mong. Ha u etsa tlhahlobo ea yuniti, u tlameha ho ela hloko hore ho na le licheke tse sa ameng sistimi ka tsela efe kapa efe, 'me ka mor'a tse ling u hloka ho khutlela boemong ba pele ba sistimi.
Mohlala, tekong e hlahisitsoeng ea yuniti re fomata feela nomoro ea mohala e kentsoeng, e sa ameng sistimi ea botšepehi ka tsela efe kapa efe.

'Me haeba re ngola liteko tsa yuniti re sebelisa mokhoa oa ho theha mofani e mocha, joale ka mor'a teko e' ngoe le e 'ngoe ho tla thehoa moreki e mocha tsamaisong, e leng se ka amang tlhahiso e latelang ea teko.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Ena ke tsela eo liteko tsa liyuniti li etsoang ka eona. Ho na le likhetho tse peli tse ka khonehang tsa ho qala: ho etsa liteko tsohle tsa yuniti ho tsoa sephutheloaneng se itseng kapa ho etsa tlhahlobo e itseng ea yuniti ka har'a sephutheloana se itseng.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

Sena ke kamoo mohlala oa tsamaiso ea ka hare ea tlaleho e shebahalang kateng. Ho ipapisitsoe le liphetho tsa tlhahlobo ea yuniti, utPLSQL e etsa tlaleho e nyane. Ho eona re bona sephetho sa cheke e 'ngoe le e' ngoe e ikhethileng le sephetho sa kakaretso sa tlhahlobo ea yuniti.

6 melao ea autotests

Pele re qala ho theha sistimi e ncha ea tlhahlobo ea boiketsetso ea sistimi ea bots'epehi, mmoho le botsamaisi, re khethile melaoana eo liteko tsa rona tsa nako e tlang li lokelang ho e latela.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea pele

  1. Litlhahlobo tsa likoloi li tlameha ho sebetsa 'me li be le thuso. Re na le bahlahisi ba babatsehang, bao ka sebele ba hlokang ho boleloa, hobane ba bang ba bona ba tla bona tlaleho ena, 'me ba ngola khoutu e babatsehang. Empa esita le khoutu ea bona e babatsehang ha ea phethahala 'me e na le, e na le, 'me e tla tsoela pele e na le liphoso. Li-Autotes lia hlokahala ho fumana liphoso tsena. Haeba ho se joalo, mohlomong re ngola li-autotest tse mpe, kapa re fihlile sebakeng se shoeleng seo, ha e le hantle, se sa ntlafatsoang. Maemong ana ka bobeli, re etsa ntho e fosahetseng, ’me tsela eo re etsang lintho ka eona ha e utloahale.
  2. Autotest e lokela ho sebelisoa. Ha ho utloahale ho qeta nako le matla a mangata ho ngola sehlahisoa sa software, se behe sebakeng sa polokelo ebe u se lebala. Liteko li lokela ho etsoa, ​​​​'me li tsamaee khafetsa kamoo ho ka khonehang.
  3. Autotest e lokela ho sebetsa ka mokhoa o tsitsitseng. Ho sa tsotelehe nako ea letsatsi, sethala sa ho qala le litlhophiso tse ling tsa sistimi, liteko tsa liteko li lokela ho lebisa sephethong se tšoanang. E le molao, sena se netefatsoa ke taba ea hore li-autotest li sebetsa ka data e khethehileng ea tlhahlobo e nang le litlhophiso tse tsitsitseng tsa sistimi.
  4. Autotest e lokela ho sebetsa ka lebelo le amohelehang bakeng sa projeke ea hau. Nako ena e khethoa ka bomong bakeng sa tsamaiso ka 'ngoe. Batho ba bang ba khona ho sebetsa letsatsi lohle, ha ba bang ba fumana ho le bohlokoa ho e etsa ka metsotsoana. Ke tla u bolella hamorao hore na re fihletse litekanyetso life tsa lebelo morerong oa rona.
  5. Ntlafatso ea Autotest e lokela ho fetoha habonolo. Ha ho bohlale ho hana ho leka ts'ebetso efe kapa efe hobane feela re sa e etsa pele kapa ka mabaka a mang. utPLSQL ha e behe lithibelo ho nts'etsopele, 'me Oracle, ha e le hantle, e u lumella ho kenya ts'ebetsong lintho tse fapaneng. Mathata a mangata a na le tharollo, ke taba feela ea nako le boiteko.
  6. Tsamaiso. Re na le libaka tse 'maloa moo re hlokang ho etsa liteko. Setulong se seng le se seng, ho lahlela data ho ka ntlafatsoa neng kapa neng. Hoa hlokahala ho etsa projeke ka liteko tsa othomathiki ka tsela eo o ka e kenyang ka botlalo kapa ka mokhoa o sa utloeng bohloko.

'Me posong ea bobeli ka matsatsi a seng makae ke tla u bolella seo re se entseng le hore na re fumane liphello life.

Source: www.habr.com

Eketsa ka tlhaloso