Π€Π°Π±ΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ AppFab
Π€Π°Π±ΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΠΆ. ΠΡΠΈΠ½ΡΠΈΠ»ΡΠ΄Π°. ΠΠ»Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΡΠΈΠΊΠΈ Π°Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΠ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ UML Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ FDT ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ·ΡΠΊΠ°Ρ (IDL, XML, RDF ΠΈ Ρ. ΠΏ.). ΠΠ»Π°Π²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°: reuse, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ … Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π€Π°Π±ΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ AppFab (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π°Π±ΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ — ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ· Π³ΠΎΡΠΎΠ²ΡΡ ΠΠΠ ΠΈ ΠΠΎΠ Π½ΠΎΠ²ΡΡ ΠΠ (ΡΠΈΡΡΠ΅ΠΌ, ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² ΡΠΈΡΡΠ΅ΠΌ, ΠΠ‘, ΠΠ‘Π£, ΠΠ‘Π£Π’Π ΠΈ Π΄Ρ.).
Π€Π°Π±ΡΠΈΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ±ΠΎΡΠ° Π³ΠΎΡΠΎΠ²ΡΡ ΠΠΠ. Π―Π΄ΡΠΎ ΡΠ°Π±ΡΠΈΠΊΠΈ — ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ (UML, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ, ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ, ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π΄Ρ.) ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΠΠ. Π ΡΡΠ΅Π΄Ρ ΡΠ°Π±ΡΠΈΠΊΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π±ΠΎΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π²Π΅Π±ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΠΠ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΠ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
- β’ ΡΠ°Π±ΡΠΈΠΊΠ° «ΡΡΡΠ½ΠΎΠΉ» ΡΠ±ΠΎΡΠΊΠΈ ΡΠ°Π·Π½ΠΎΡΠ·ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π. ΠΠ΅Ρ;
- β’ ΡΠ°Π±ΡΠΈΠΊΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ UML ΠΠΆ. ΠΡΠΈΠ½ΡΠΈΠ»ΡΠ΄Π°;
- β’ ΡΠ°Π±ΡΠΈΠΊΠ° Π. ΠΠ΅Π½ΡΠ° ΠΏΠ° ΠΎΡΠ½ΠΎΠ²Π΅ Use Case;
- β’ ΠΊΠ°ΡΠΊΠ°Ρ ΡΠ°Π±ΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π. Π. ΠΠ²Π΄ΠΎΡΠΈΠ½Π°;
- β’ ΡΠ°Π±ΡΠΈΠΊΠ° «Continiuos Integration» Π. Π€Π°ΡΠ»Π΅ΡΠ°;
- β’ ΡΠ°Π±ΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΠ ΠΠ ΠΈ Π΄Ρ.
Π€Π°Π±ΡΠΈΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π. ΠΠ΅Ρ. ΠΠ°Π·ΠΈΡ ΡΡΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ — ΡΠ°Π·Π½ΠΎΡΠ·ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π―Π (VC++, VBasic, Matlab, Java, Visual Works Smalltalk ΠΈ Ρ. ΠΏ.) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ (MS.Net, HP, Apple, IBM ΠΈ Π΄Ρ.). Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΈΠΏΡ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½Ρ ΠΈ (ΠΈΠ»ΠΈ) ΠΈΡ ΡΠΎΡΠΌΠ°ΡΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ (ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, Π²ΡΠ·ΠΎΠ²Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΡ MIO-16E-2 ΠΈ Π΄Ρ.), ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡ ΡΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RMI, RPC, Java Native Interface. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π΅Ρ Π΅-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈΠ½ΡΠΈΠΏ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ°Π·Π½ΠΎΡΠ·ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π°ΠΏΡΠΎΠ±ΠΈΡΠΎΠ²Π°Π½ Π½Π° Domain, Application Models, Model Interconnection, Microsoft Communication Foundation ΠΈ Π΄Ρ.[1]
Π€Π°Π±ΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΠΆ. ΠΡΠΈΠ½ΡΠΈΠ»ΡΠ΄Π°. ΠΠ»Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΡΠΈΠΊΠΈ Π°Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΠ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ UML Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ FDT ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ·ΡΠΊΠ°Ρ (IDL, XML, RDF ΠΈ Ρ. ΠΏ.). ΠΠ»Π°Π²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°: reuse, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ΠΈ Ρ. ΠΏ.) ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°; Π°ΠΊΡΠΈΠ²Ρ (assets), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ; ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ UML Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΠ Π½Π° Π»ΠΈΠ½ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°; Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΏΡΠΎΡΠ΅ΡΡΡ Π»ΠΈΠ½ΠΈΠΉ; ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΠ ΠΈ Ρ. ΠΏ. ΠΠ½Π°Π»ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² UML ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ UML ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΡΠΊΠΈΠ·Π° ΠΠ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ[2].
Π€Π°Π±ΡΠΈΠΊΠ° ΠΠ Π. ΠΠ΅Π½Π΄Π°. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ — ΡΡ Π΅ΠΌΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ. Π‘Ρ Π΅ΠΌΠ° Software Factory — ΡΡΠΎ Π»ΠΈΠ½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ Π½Π° ΡΡΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠ΅. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ MDD ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π²ΠΎΠ΄, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Visual Studio ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. ΠΡΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ DSL ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΠ[3].
Π€Π°Π±ΡΠΈΠΊΠΈ Π. Π. ΠΠ²Π΄ΠΎΡΠΈΠ½Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΡΡΡ ΠΈ Π°ΠΊΡΠΈΠ²Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ — Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Ρ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π½Π° Π»ΠΈΠ½ΠΈΠΈ. Π Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π°ΠΊΡΠΈΠ²Ρ ΠΈ ΡΠ΅ΡΡΡΡΡ: ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ°Π·ΡΡ, ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Ρ. ΠΏ. ΠΠΊΡΠΈΠ²Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠ°Π±ΡΠΈΠΊΠΈ. ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ, ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ, ΡΡΠ°ΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΎΠ±ΡΠ°Π·ΡΡ. ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Π² ΡΠ·ΡΠΊΠ΅ DSL ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΡ Π΅ΠΌΠ° ΡΠ°Π±ΡΠΈΠΊΠΈ ΠΈ ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΡΡΠΎΠ²[4].
Π€Π°Π±ΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ «Continiuos Integration» (Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°) Π. Π€Π°ΡΠ»Π΅ΡΠ° (Π. Fowler, Π. Beck). ΠΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΎΠ±Π΅ΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΏΠΎΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠ±ΠΎΡΠΊΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΡΠ°Π±ΡΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ {agile) ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ {unit) ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΡΡΠ°Π½Π΄Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π² ΡΡΠ΅Π΄Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡ {production enviroment). ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ {continuous integration sewer) Π½Π° Java ΠΈ CruiseControl.NET. ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ: Build — ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΡ ΡΠ±ΠΎΡΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Ant, Maven Π² Java ΠΈ NAnt Π² .NET; UnitTest — ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ; Deploy — ΡΠ°Π·Π²Π΅ΡΡΠΊΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Build ΠΈ UnitTest[5].
Π€Π°Π±ΡΠΈΠΊΠ° ΠΠ ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° CMMI Level 4 ΠΈ ISO 9001, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ (http://www. epam-group.ru/#sthash.zPWS iln4. dpuf), Π°ΡΡΡΠΎΡΡΠΈΠ½Π³Π°, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. Π Π‘ΠΠ ΡΠΎΠ·Π΄Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 15 ΡΠΈΠ»ΠΈΠ°Π»ΠΎΠ².
- [1] Π‘ΠΌ.: ΠΠ΅ΠΉ Π. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π½ΠΎΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π., 2005. Π‘. 868.
- [2] Π‘ΠΌ.: ΠΡΠΈΠ½ΡΠΈΠ»ΡΠ΄ ΠΠΆ. Π€Π°Π±ΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΈΠ°Π»Π΅ΠΊΡΠΈΠΊΠ°. Π.; Π‘ΠΠ±.; ΠΠΈΠ΅Π², 2005.Π‘. 285.
- [3] Π‘ΠΌ.: Lenz G., Wienands Π‘. Practical Software Factories in .NET. From theory in practice —a primer reference and case study. Aprcss, 2007.
- [4] Π‘ΠΌ.: ΠΠ²Π΄ΠΎΡΠΈΠ½ Π‘. M., ΠΠ΅Π»ΠΊΠΈΠ½ Π‘. Π. Π€Π°Π±ΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ // ΠΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π.: ΠΠ·Π΄-Π²ΠΎ ΠΠΠΠ, 2007. Π‘. 23—39.
- [5] Π‘ΠΌ.: Duval Π ., Matyas S., Grover Π. Continuous Integration: Improving Software Qualityand Reducing Risk. Addison Wesley, 2009.