0900 RUBIUS PM 009 8 «Ф» М Щ «Ф 06»
0900 З Ф 8 / ) ) Ф ) ) Rubius PM ) 00606 н н н н н н н н н н н ) н н н н ) Rubius PM н ) н н нн н н н н н н н н н н н н н н н н н н н н н н н нн н н н н н н ) Team Foundation Server Active Directory
н н н н ) Ф *pptx ) М М ) Ф 005 05 8 05
) 0900 Ф 05/06 / ) Ф )/ ) ) 75 5 0 Ф
8 0900 / «Ф» н н н И) н н н н н н нн н н И н н н н н н н н н н н н н SWOT н н И н н н н н н Г н н н н н н н н н н н н н н ) н н н н н н н н н н н н SWOT н н нн нн н н н н н н н н н н ) И 8 5
« 8 / «0900» ) Rubius PM 6
) М 8 7
80 6 Team Foundation Server Active Directory Rubius PM Ц Rubius PM / 0000 Team Foundation Server 8
TFS Team Foundation Server AD Active Directory SQL Structured Query Language SSMS SQL Server Management Studio HTML HyperText Markup Language CSS Cascade Style Sheets MVC ModelViewController UI User Interface REST Representation State Transfer 9
Ц М 7 8 6 8 8 9 0 5 Team Foundation Server 6 Active Directory TFS 6 Microsoft 6 REST API VS Team Services TFS 8 9 5 ) 0 0
6 5 6 5 6 6 7 5 9 5 М 9 5 9 5 0 6Ф 6 6 6 6 SWOT 6 6 8 6 8 6 6 7 9 5
6 ) 56 7 60 7 60 7 6 7 66 7 68 7 69 7 69 7 70 7 7 7 7 З 7 7 7 7 7 CONCLUSION 76 З 78 80 8 8 8 86
Ц Rubius PM TFS AD ) ) Rubius PM Server TFS) Team Foundation Active Directory AD)
[] IT
Redmine ExcelД К Д К Д Д Excel Excel 5
RedMine TFS AD / TFS + + + + + + + + + + + + + + + + + М RedMine ) 6
TFS AD 5 6 7
ASPNET MVC Microsoft Visual Studio 05 05 ) ASPNET MVC Visual Studio NET Framework 5 ASPNET MVC 6 ) ) Microsoft MS SQL Server 0 8
SQL Server SQL Server Management Studio SSMS) C# ASPNET MVC ) C# NET Framework HTML HyperText Markup Language) Razor HTML [] HTML Razor MVC 5 Razor cshtml HTML [] 9
CSS Cascade Style Sheets) [] CSS HTML CSS JavaScript JavaScript AJAX Asynchronous JavaScript and XML JavaScript XML) [5] Ф ASPNET MVC MVC ModelViewController) 0
М М ASPNET MVC jquery Telerik UI for ASPNET MVC Bootstrap jquery JavaScript HTML AJAX [6] Telerik UI 0 / ) jquery [7] HTML5 Graceful Degradation) DragandDrop BooЭЬЭЫКp CSS CSS BooЭЬЭЫКp
TаТЭЭОЫ OpenSource [8] 5 Team Foundation Server TОКЦ FoЮЧНКЭТoЧ SОЫЯОЫ TFS) MТМЫoЬoПЭ VТЬЮКХ SЭЮНТo TОКЦ SвЬЭОЦ VSTS) Д9] TFS 6 Active Directory Active Directory Microsoft LDAP [0] D LDAP
Щ ) TFS Users) TimeRecords Vacations
CoefRecords Checklists Debts UserOperatingSystem UserFramework ) UserSoftware 7 Rubius PM UML TFS Server TFS API) AD Server AD API) MS SQL Server EF API) Yandex SMTP Server Yandex API) Rubius PM
TFS Service TFS TFS API TFSSvc API) AD Service AD API Active Directory Mail API ADSvc API) MainModelContainer EF API MMC API) Mail Service Yandex API Mail API) TimeRecordService TFSSvc API ADSvc API MMC API) UML ё «UML») Д] Rubius PM IIS ODBC Active Directory Team Foundation Server LDAP HTTPS 5
HTTPS TFS TFS TFS TFS TFS Microsoft TFS REST API Visual Studio Team Services Rubius PM TFS Microsoft Rubius PM Microsoft TFS TFS TFS 6
TFS UML М TFS TfsDataCache Execute GetSystemUserProjectsDataQuery TFS 7
VS Team Services REST API TFS REST TFS REST [] HTTP REST TFS TОКЦ FoЮЧНКЭТoЧ SОЫЯОЫ 05 Д] аoыф ТЭОЦЬ) TFS REST API 8
REST API API TfsApiRequestService TFS TFS REST 9
/ Rubius PM Д IDEF0 5 ) ) 5 0
Rubius PM Rubius PM Rubius PM 5 IDEF0 6 6
Rubius PM Д Rubius PM Д Rubius PM К 6 IDEF0
dashboard) TFS 7
7 Rubius PM Telerik Chart 8 8 Rubius PM Telerik Grid
) 9 9 5
0 0 Rubius PM Telerik Grid Google Charts JavaScript 5 6
Rubius PM 6 Active Directory 7
Rubius PM 8
5 5 М Д] NUnit NUnit Micrisoft NET [5] Resharper TFS TFS REST API AD 5 [6] 9
SpecsForMvc ) [7] Telerik Grid 5 Windows Server 0 IIS 8 Rubius PM 0
6 Ц ) 6 6 Ц Ц ) HTML5 CSS )
) 6 Redmine ) ) Microsoft Team Foundation Server ) Redmine Team Foundation Server
Ф 5 6 7 8 9 0 05 5 5 5 075 075 5 0 08 0 0 08 0 0 0 0 0 005 0 05 0 05 5 0 5 0 05 0 0 6 05 5 5 075 075 0 06 7 005 5 005 0 0 05 0 5 05 0 0 0 5 5 55 5 ) 8 Ц
6 SWOT SWOT SWOT М SWOT C Active Directory Team Foundation Server 5 6 Foundation Server Directory Team Active 7
8 9 0 Team Foundation Server 6 8 SMS 6 5
0 SWOT SWOT 7 + + + + 5 + + 6 + 7 8 + 5 + + + 6 0 9 + + + 5 6 + 7 8 9 0 + 6
7 + + 6 М 8 8 М Ф ASPNET MVC Laravel Yii Ф Bootstrap Kendo UI Bootstrap jquery UI Yiistrap 7
6 6 9 9 5 6 Team Foundation Server Active Directory 7 8
8 9 0 6 t t t i i tmin i tmax i 5 ) t ожi i axi T Т i i Tpi = t ожi Чi 9
Tpi t ожi Чi T i Т i k Т ) Т Т Т k k T Т Т Т T Т Т ) T i 06 9 7 66 k = 8 50
8 7 80 6 ) ) 6 m З kт ) Ц i N i i m N i i ) 5
Цi i / / kт / / ) kт) 55% М М Ц З ) 7055 75055 786 7055 75055 786 7055 75055 786 6 З З K З З K З З М F 5
З М F 0 ) 86 99 0 0% З ) k 0 ) З Ф / 5686 097 7076 7507 / +Ф )*Ф k ) K = + Ф k 55 57 6 0679 677 6876 6 699 685 999 7976 0999 6 З Ф З k З 5
k 05) ё 0679 677 6876 966085 655 958 986 99865 975 5900879 79 67987 05 6 699 685 6 Ф Ф ) Ф) ФФ М ) З k k З З ) 9) ) 0 58 ФЗ Ф 0 %) Ф Ф 009 9%) ФФ М 005 5%) 5 5
5 0679 677 6876 6 699 685 Ф Ф 96608 5 986 655 958 99865 975 0 Ф 009 005 ФФ М 570 659 77 65 З k 5) k 50% З = 095 / 5) * 05 = 095 З = 9566 / 5) * 05 = 956 З = 8578 / 5) * 05 = 857 66 6 55
6 М ) 550000 5600000 600000 75 86 065 999 7976 0999 5900879 79 67987 570 659 77 095 956 857 08 7 955 6 6 ) I I Т Фi Фmax i Ф i Ф max i 56
I = 07668/ 7= 088 I = 7/ 7= I = 87/ 7= 097 n I Т ai bi i I i i ai bi i i n 7 7 Ф ) 0 0 З 09 0 5 6 7 0 06 00 5 5 57
7 I = 0*+0*+0*+09*+0*+06*+00* = I = 0*+0*+0*+09*+0*+06*+00* = 6 I = 0*+0*5+0*+09*+0*5+06*+00* = I I I н Э I I 8 8 / 088 097 60 80 50 5 80 557 09 086 58
М 59
7 ) Rubius PM 7 60
Ф 50% М ) З М 6
Ф М 7 7 М ) ) 5896 [8] 9) 9 % / 0 5 5 75 0 8 5 75 0 9 0 6
0 % 5 0 0 / 060 060 7 /00 М 50 [9] 7 6
М 05 0 IV 500 = 00 Д0] 5% 00 7 М М М М М ) ) ) 6
) ) / ) ) I 5 II ) ) 00 ) / М /00 ) ) 5 ) 5 Ф 00 00 ) 5 / 5 / 50 5 0 5 / 50 500 / 50 5 E) Ф B) 65
7 7 0 U< 50 0 00 Д] ) 0% 66
) 05 560 67
7 7 ) ) ) 68
) /00 ) 7 7 69
7 З ) 70
7 0 7 7 5 0 6 I 8 II 6 6 М 60 М /00 М З 7
680 800 70 600 700 60 00 00 90 0 0 70 6 ) 0 0 5 7 078 [] 7
М М З 600 800 0 0 600700 600 80 00 500700 500 00500 500 00 0 00 0 700 7
Rubius PM ) ASPNET MVC Telerik jquery TFS AD ) З 7
TFS AD 75
CONCLUSION During the research in final qualifying work the main goal of the work was achieved information system Rubius PM has been developed and put into operation The system automates the processes of charging premium rates working with test lists checklist) ОЦpХoвООЬ vacations and their reporting which is its main competitive advantage compared to other systems The basis for the creation of web application were the ASPNET MVC platform components developed by Telerik and jquery framework During the development all the tasks have been carried out in full ЦoНЮХО ПoЫ ОЦpХoвООЬ ЫОpoЫЭТЧР oч ЭСО аoыф НoЧО астмс КХХoаЬ Эo simplify the process of entering the data by automatically adding new rows in the table and save the data has been developed modules for integration with TFS and AD have been developed ЦoНЮХО ПoЫ ОЦpХoвООЬ ЯКМКЭТoЧЬ СКЬ ЛООЧ НОЯОХopОН modules which simplify the bookkeeping premium rates collection and work with debts of employees) has been developed module with additional functionality for the system administrator has been developed Developed information system currently has been successfully implemented and functioning as well as an integral part of the company For all the time does not happen any system malfunction You can also note the increase in the effectiveness of the intracorporate business processes through the integration with the TFS which provides the possibility of reporting without entering the system at the expense of service hooks that allow to enter data into the system using the data from the commit with the AD that allows you to control the relevance of user data stored in the directory service 76
with the accounting system of the company due to the possibility of exporting the various types of data that allows a large reduce of the amount of manual work done 77
[ СЭЭp//аааЭКНЯТЬОЫЫЮ/ТЧНОбpСp/ HTML И ] И И URL [ ] URL https//ruwikipediaorg/wiki/html Razor [ ] URL http//metanitcom/sharp/mvc/php CSS [ ] URL https//ruwikipediaorg/wiki/css 5 AJAX / [ ] URL https//habrahabrru/post/6 6 jquery jquery [ СЭЭp//УqЮОЫвpКРОpКРОЫЮ/ТЧНОбpСp5/ ] URL И ИУQЮОЫв 7 Kendo UI HTML Framework [ ] URL http//wwwtelerikcom/kendoui 8 Bootstrap The world's most popular mobilefirst and responsive front end framework [ 9 Team Foundation ] URL http//getbootstrapcom Overview [ ] URL ] URL https//msdnmicrosoftcom/enus/library/ms90vs80)aspx 0 Active Directory Services [ https//technetmicrosoftcom/enus/library/dd5786v=ws0)aspx ё URL СЭЭpЬ//ЫЮаТФТpОНТКoЫР/аТФТ/ М [ И ё М Java Web 0 5 560 Team Foundation Server 05 RTM Release Notes [ ] URL ] https//wwwvisualstudiocom/enus/news/tfs05 vsaspx#svchook 78
OpenQualityru [ ] URL http//blogopenqualityru/unittestswhy 5 NUnit Home [ 6 ] URL http//wwwnunitorg [ URL СЭЭpЬ//ЫЮаТФТpОНТКoЫР/аТФТ/ И ] 7 Welcome SpecsFor The Best BDD Framework for NET Developers! [ ] URL http//specsforcom/specsformvc/defaultcshtml 8 5896 «9» /00 0 500 009009 078 79
80
UML
<<Device>> Client <<Execution Environment>> Windows 8 HTTPS Browser <<Device>> ServerA <<Execution Environment>> Windows Server 0 <<Execution Environment>> IIS <<Device>> ServerB ODBC <<Execution Environment>> Windows Server 0 Rubius PM MS SQL Server HTTPS LDAP <<Device>> ServerC <<Execution Environment>> Windows Server 0 Active Directory <<Device>> ServerD <<Execution Environment>> Windows Server 0 Team Foundation Server
ImpersonatedCollection public class ImpersonatedCollection { /// <summary> /// Returns an impersonated collection to perform work for on a TFS /// server Impersonator is hardcoded with a password in this class /// </summary> /// <param name="collectiontouse"> /// Collection to impersonate on /// </param> /// <param name="usertoimpersonate"> /// User to impersonate Should be of the form "DOMAIN\Username" /// </param> /// <returns> /// TfsTeamProjectCollection /// </returns> public static TfsTeamProjectCollection CreateImpersonatedCollection Uri collectiontouse string usertoimpersonate) { // Get the credentials of the impersonator // Hard code the credentials here username password domain var cred = new NetworkCredential"TFSImpUser" "PASSWORD" "DOMAIN") ICredentialsProvider TFSProxyCredentials = new NetworkCredentialsProvidercred) var currcollection = new TfsTeamProjectCollectioncollectionToUse TFSProxyCredentials) if usertoimpersonateendswith"tfsimpuser")) //no need to impersonate TFSImpUser return currcollection // Get the TFS Identity Management Service var identitymanagementservice = currcollectiongetservice<iidentitymanagementservice >) // Look up the user that we want to impersonate TeamFoundationIdentity identity = identitymanagementservicereadidentity IdentitySearchFactorAccountName usertoimpersonate MembershipQueryNone ReadIdentityOptionsNone ) //identity can be null if identity == null) { LoggerLogInfo"Identity is null user {0}" usertoimpersonate) return null } var impersonatedcollection = new TfsTeamProjectCollection collectiontouse cred TFSProxyCredentials identitydescriptor ) impersonatedcollectionensureauthenticated) return impersonatedcollection }}
tmin Foundation Server Directory Team Active / Э tmax 00 00 00 00 00 00 0 0 80 0 0 80 00 00 00 00 00 00 0 580 80 0 90 0 00 00 00 00 00 00 0 80 80 0 80 80 00 00 00 00 00 00 0 50 80 0 60 00 00 00 00 00 00 0 0 50 0 00 00 00 00 00 00 0 60 600 500 800 600 000 000 000 700 0 00 00 00 00 00 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5 090 5 0 50 5 6 7 0 60 600 5 9 8 60 700 0 60 8 8 60 600 0 60 600 5 9 8 0 0 0 0 0 0 00 0 50 80 0 50 80 00 0 680 60 0 680 60 5 7 9 7 8
00 00 00 00 00 00 0 80 0 70 0 0 000 00 00 00 500 600 0 80 0 0 80 0 5 8 9 586 89 80 55 8 758 78 0 0
T 7 5 6 Server 7 Team Foundation Active Directory 8 8 8 8 9 0 7 i
8 9