View
226
Download
4
Category
Preview:
Citation preview
Rīgas Tehniskā universitāte
Datorzinātnes un Informācijas tehnoloģijas fakultāte
Praktiskais darbs kursā
Datu bāzes projektēšanas tehnoloģijas
DATU BĀZES PROJEKTĒŠANA AR MICROSOFT VISUAL STUDIO 2010
Izstrādāja: Juris Augškalns
Apl. Nr.: 051RDB287
Uldis Jēgers
Apl. Nr.: 061RDB077
DITF I DMI 2
Pārbaudīja: Prof. Jānis Eiduks
Rīga, 2010
Saturs
Ievads........................................................................................................................4
1. Teorija............................................................................................................. 5
Kas ir CASE rīki?.....................................................................................................5
Microsoft Visual Studio..........................................................................................6
Īss apraksts................................................................................................6
Līdzīgi rīki...................................................................................................7
Microsoft...................................................................................................9
Funkcijas..................................................................................................10
Citi rīki......................................................................................................18
Pieejamās versijas...................................................................................20
Versiju vēsture.........................................................................................21
Minimālie sistēmas parametri, lai strādātu ar Visual Studio 2010..........27
Cena.........................................................................................................28
Instalācija................................................................................................28
2. Konceptuālā modeļa veidošana MS Visual Studio 2010................................36
Konceptuālie modeļi un to notācijas...................................................................36
UML.........................................................................................................37
UML atbalsts Visual Studio 2010.............................................................38
4. Konceptuālā modeļa transformācija fiziskās datu bāzes struktūrās..............49
Klašu ģenerēšana no klašu diagrammas..............................................................49
Klašu ģenerēšana no UML klašu diagrammas......................................................56
Objektu – relāciju sasaiste (ORM)...........................................................................62
Secinājumi...............................................................................................................66
Izmantotā literatūra................................................................................................68
2
3
Ievads
Šī pētnieciskā darba uzdevums ir iepazīties ar CASE rīkiem, to lietošanas
iespējām un lietderību. Vispārīgā nozīmē CASE tehnoloģija ir programmsistēmu
projektēšanas metodoloģija, kā arī instrumentālu līdzekļu salikums, kas ļauj
uzskatāmā formā modelēt priekšmetisko vidi, analizēt izveidoto modeli visos
izstrādes un IS nodrošinājuma etapos, kā arī izstrādāt lietojumprogrammatūras,
atbilstoši lietotāju sniegtās informācijas prasībām.
Darbā tiks apskatīta Microsoft korporācijas izstrādātā programma Visual Studio
2010. Šī programma ir samērā jauna, tā laista klajā 2010 gada 12. aprīlī.
Microsoft Visual Studio 2010 ir universāls, plaša spektra dažādu lietotņu
izstrādes rīks. Visual Studio var izmantot, lai izveidotu dažādas programmas, dažādās
valodās, kā piemēram C++, C#, J# un citās. Izmantojot Visual Studio ir iespējams
izveidot arī Windows Forms lietojumprogrammas, interneta portālus, tīmekļa
lietojumprogrammas.
Šajā darbā tiks izpētītas, kādas iespējas Visual Studio 2010 piedāvātās iespējas,
konkrētāk, tiks apskatīta dažādu diagrammu veidošana un iespējas ģenerēt kodu no
šīm diagrammām.
Darbs ir sadalīts divās daļās, pirmajā daļa sniegta vairāk teorija, aprakstīts kas ir
Visual Studio, kādas iespējas tas piedāvā, uzskaitītas iepriekšējās programmas
versijas. Sīkāk tiek parādīts kā tiek uzstādīta programma un kā ir jāuzsāk darbs.
Savukārt otrajā daļa ir apskatītas vairāk praktiskas lietas, tiek veidotas dažādas
diagrammas un attēlots veidošanas process.
Darbā tiks izmantota Microsoft Visual Studio 2010 Ultimate versija.
4
1. Teorija
Kas ir CASE rīki?
CASE (Computer Aided Software Engineering) termins mūsdienās ir plaši
pielietojams. Agrāk tas tika pielietots attiecībā uz programmnodrošinājuma izstrādes
automatizāciju, savukārt mūsdienās CASE rīks apzīmē informācijas sistēmu (IS)
izstrādes procesu kopumā:
IS izstrāde un nodrošinājums;
Analīze;
prasību formulēšana;
lietišķa programmnodrošinājuma un datu bāžu projektēšana;
koda ģenerēšana;
testēšana;
dokumentēšana;
kvalitātes nodrošināšana;
konfigurācijas;
projekta vadība;
kā arī citi procesi.
Līdz ar to CASE tehnoloģijas veido veselu, atsevišķu IS izstrādes vidi.
Vispārīgā nozīmē CASE tehnoloģija ir programmsistēmu projektēšanas metodoloģija,
kā arī instrumentālu līdzekļu salikums, kas ļauj uzskatāmā formā modelēt
priekšmetisko vidi, analizēt izveidoto modeli visos izstrādes un IS nodrošinājuma
etapos, kā arī izstrādāt lietojumprogrammatūras, atbilstoši lietotāju sniegtās
informācijas prasībām.
Lielāka daļa no eksistējošiem CASE rīkiem, ir bāzēti uz strukturālām vai
objektorientētām analīzes un projektēšanas metodoloģijām, kas izmanto
specifikācijas diagrammu vai teksta veidā, lai aprakstītu ārējās prasības, saites starp
sistēmas modeļiem, sistēmas uzvedības dinamiku un programmlīdzekļu arhitektūru.
CASE produkta galvenās sastāvdaļas ir sekojošas:
5
Metodoloģija (Method Diagrams), kas nosaka vienotu grafisko valodu
un noteikumus strādājot ar to;
Grafiskie redaktori (Graphic Editors), kas palīdz zīmēt diagrammas
(parādījās kopā ar PC un GUI izplatīšanos (tā saucamā „upper case” tehnoloģija));
Ģenerators: pēc modeļa grafiskā priekšstata var noģenerēt izejas kodu
dažādām platformām (tā saucamā „low case” CASE tehnoloģiju daļa);
Repozitorijs: savdabīga datu bāze programmētāju darba rezultātu
glabāšanai.
Dažādi statistiskie mūsdienu pētījumi liecina par CASE rīku izmantošanas
efektivitāti programmlīdzekļu izstrādes procesā. Tomēr eksistē neveiksmju procents,
kurš ir diezgan liels.
Ņemot vērā CASE rīku dabas daudzveidību, būtu kļūdaini veikt apgalvojumus
par reāliem ieguvumiem no to izmantošanu. Var pārskaitīt dažus faktorus, kas
apgrūtina CASE rīka izmantošanas iespējamā efekta noteikšanu:
Plaša CASE rīku kvalitātes un iespēju daudzveidība;
Relatīvi neliela CASE rīku izmantošanas pieredze ;
Detalizētu metriku trūkums;
Plašs priekšmetisko apgabalu diapazons;
Dažāda CASE rīku integrācijas pakāpe dažādos projektos.
Microsoft Visual Studio
Īss apraksts
Microsoft Visual Studio ir integrētā izstrādes vide (IDE) no Microsoft . Tā var tikt
izmantota, lai izstrādātu konsoļu un grafiskos lietotāju interfeisus, kā arī Windows
Forms lietojumprogrammas, interneta portālus, tīmekļa lietojumprogrammas.
Iespējams arī izstrādāt interneta vietnes gan jau ar piedāvātu kodu vai arī kopā ar
paša veidotu kodu uz visām platformām, ko atbalsta Microsoft Windows, Windows
Mobile, Windows CE, . NET Framework un Microsoft Silverlight.
Visual Studio piedāvā kodu redaktoru, kurš atbalsta IntelliSense. Integrētais
atkļūdotājs darbojas gan kā pamata līmeņa(source-level) atkļūdotājs, gan kā mašīnas
6
līmeņa(machine-level) atkļūdotājs. Programmā ir iebūvēti arī citi instrumenti, kā
piemēram formu veidotājs ar kura palīdzību var izstrādāt GUI lietotnes, Web
dizaineris, klašu dizaineris un datubāzu shēmu dizaineris. Programmu ir iespējams
pilnveidot ar dažādiem papildinājumiem (plug-ins) ar kuru palīdzību var uzlabot
programmas darbību vēlamajā sfērā, iespējams pievienot pamata koda rediģēšanas
papildinājumus (tādus kā Subversion vai Visual SourceSafe), iespējams pievienot arī
jaunas rīkjoslas kas paredzētas darbam ar specifiskām programmēšanas valodām vai
arī citām darbībām ar programmu (piemēram darbam serveru klientiem Team
Explorer).
Visual Studio atbalsta dažādas programmēšanas valodas kā, piemēram, C/C++
(arī Visual C++), VB.NET (izmantojot Visual Basic.NET ), C# (arī Visual C# ), un F# (no
Visual Studio 2010). Šo valodu atbalsts ļauj programmas koda redaktoriem un
atkļūdotājiem sekmīgi strādāt ar šīm valodām. Iespējams strādāt arī ar citām
valodām kā, piemēram, M , Python un Ruby uzstādot papildinājumus. Programma arī
atbalsta XML/XSLT , HTML/XHTML , JavaScript un CSS. Ir iespējams izvēlēties īpašās
Visual Studio versijas kuras ir specializētas darbam ar konkrētu valodu: Microsoft
Visual Basic, Visual J#, Visual C# un Visual C++.
Microsoft piedāvā "Express" izdevumos Visual Studio 2010 sastāvdaļas Visual
Basic, Visual C#, Visual C++ un Visual Web Developer bez maksas. Visual Studio 2010,
2008 un 2005 Professional versijas, kā arī Visual Studio 2005 valodu īpašās versijas
(Visual Basic, C++, C#, J#) ir pieejams bez maksas studentiem, lejupielādei, izmantojot
Microsoft DreamSpark.
Visual Studio 2010 pašlaik ir pieejams pārdošanā un tā 90 dienu izmēģinājuma
versiju ir iespējams lejupielādēt bez maksas.
Līdzīgi rīki
Power Designer 12 - PowerDesigner ir Microsoft sadarbības uzņēmuma
Sybase ražots modelēšanas instruments. PowerDesigner darbojas ar Microsoft
Windows kā standarta pieteikums, un strādā Eclipse kā papildinājums.
PowerDesigner atbalsta uz modeļiem bāzētu arhitektūru.
7
ERwin - CASE rīks CA ERwin, ko izstrādājusi kompānija Computer Associates
jeb vienkārši CA, apvieno Windows bāzēto grafisko lietotāja interfeisu ar ER
diagrammas rīkiem un vairākām novatoriskām iespējām. Šīs iespējas ļauj viegli
izveidot un uzturēt relāciju datubāzi un loģiskos un fiziskos modeļus, kas apraksta to.
„CA ERwin” ir risinājums, kas palīdz izveidot vizuālu DB modeli kādas organizācijas
vajadzībām.
Toad Data Modeler - daudzfunkcionāls datu bāžu un lietojumprogrammu
izstrādes rīks, kas vienā integrētā vidē apvieno gan objektorientētās, gan
konceptuālās fizisko datu modelēšanas iespējas. Intuitīvi saprotams lietotāja
interfeiss un populāro datu bāzes vadības sistēmu (DBVS) atbalsts padara Toad Data
Modeler par unikālu risinājumu tam, lai paātrinātu sarežģītu informācijas sistēmas
datu bāzi, kā arī lietojumprogrammu izstrādi un analīzi. Ir iespējama ātra ER-
diagrammu izveide dažādām datubāzes sistēmām(MS SQL, Oracle, Sybase), kā arī
datu plūsmas diagrammu izveide. Izstrādātājs Quest Software.
DB Visual ARCHITECT (DB-VA) - ir viegli izmantojams vizuāls datu bāzu un
UML klašu diagrammu veidošanas rīks. DB-VA ir radīts uz Visual Paradigm pamata.
DB-VA strādā ar Oracle 8i, 9.i, 10g un 11g datubāzēm. DB-VA var parādīt atšķirību
starp divām datu bāzēm vizuāli, izmantoto funkciju sauc vizuālo diff. DB-VA rada
Java,. NET, pārziemot un NHibernate mappingus.
IBM InfoSphere Data Architect - InfoSphere rīks ir sarežģītā izstrādes vide
datu modelēšanai, datu masīvu (data assets) sasaistei un integrēšanai, kā arī datu
bāžu lietojumu izstrādei. Produkts ir uzbūvēts Eclipse vidē, kas ir atvērtā koda
platforma lietojumu izstrādes rīku radīšanai.
Oracle SQL Developer Data Modeler - Oracle SQL Developer ir IDE rīks
darbam ar SQL Oracle datu bāzēm. Oracle Corporation piedāvā šo produktu bez
maksas, tas izmanto Java Development Kit.
Microsoft
Microsoft korporācija ir daudznacionāla datoru tehnoloģiju izstrādātāja, kas
attīsta, ražo, kā arī atbalsta plašu programmatūras klāstu. Galvenā mītne atrodas
Redmondā, Vašingtonā, ASV. Ienesīgākie produkti ir Microsoft Windows
8
operētājsistēmas un Microsoft Office programmatūras pakotne. 2009 gada trešajā
ceturksnī, Microsoft tika novērtēti kā trešā lielākā kompānija pasaulē uzreiz pēc
PetroChina un ExxonMobil. Tas ir arī viena no lielākajām tehnoloģiju korporācijām
pasaulē.
Uzņēmums tika dibināts 1975 gada 4 aprīlī, tas tika radīts lai attīstītu un pārdotu
BASIC 8800 Altair mikrodatorus. Dibinātāji ir Pauls Allens un Bills Gates. Microsoft
sāka dominēt mājas datoru operētājsistēmu tirgū ar MS-DOS 1980 gadu vidū, kam
sekoja Windows operētājsistēmu līnija. Microsoft aktīvi darbojas arī citos tirgos,
piemēram, MSNBC kabeļtelevīzija un MSN interneta portāls. Microsoft izstrādā arī
datoru peles un klaviatūras, kā arī mājas izklaides produktus kā spēļu konsoles Xbox,
Xbox 360, Zune un MSN TV.
Visā savā vēsturē uzņēmums ir bijis kritiķu mērķis, tā monopola
uzņēmējdarbības prakses dēļ un pret konkurenci vērstās stratēģijas dēļ.
Attēls 1. Microsoft logo
Funkcijas
Koda redaktors (Code editor)
Visual Studio, tāpat kā jebkura cita IDE programma, ietver koda redaktoru,
kas atbalsta sintakses izcelšanu un koda pabeigšanu izmantojot IntelliSense tai skaitā
9
ne tikai mainīgos, funkcijas un metodes, bet arī valodas konstrukcijas, piemēram,
ciklus un vaicājumus . IntelliSense atbalsta iekļautās valodas, kā arī XML un CSS un
JavaScript ,kuras izmanto veidojot tīmekļa vietnes un tīmekļa lietojumprogrammas.
AutoComplete ieteikumi tiek parādīti uznirstošajos logos, kas tiek attēlots noteiktu
laiku un tas ir caurspīdīgs, lai tas netraucētu redzēt pašu rakstīto kodu.
Visual Studio koda redaktors atbalsta arī grāmatzīmju ievietošanu kodā lai
nodrošinātu ātrāku navigāciju un vajadzīgās vietas atrašanu. Tāpat arī ir iespējams
samazināt koda daļas tās paslēpjot.
Visual Studio raksturīga iezīme ir fona kompilēšana (background compilation),
šī funkcija nodrošina to ka laikā kad kods tiek rakstīts Visual Studio automātiski
lietotājam nemanot nokompilē un ziņo par sintakses un kompilācijas kļūdām.
Brīdinājumi tiek pasvītroti ar zaļu līniju. Fona kompilators neģenerē izpildāmu kodu
(executable), jo tam nepieciešams savādāks kompilators.
Attēls 2. Visual Studio Code Editor
Atkļūdotājs (Debuger)
10
Visual Studio atkļūdotājs darbojas gan kā pamata(source-level debugger)
līmeņa atkļūdotājs, gan arī kā mašīnu(machine-level debugger) līmeņa atkļūdotājs.
Atkļūdotāju var izmantot jebkurā valodā kuru atbalsta Visual Studio. To ir iespējams
pieslēgt jau strādājošam procesam tādā veidā novērojot un atkļūdojot šo procesu. Ja
šī procesa pirmkods ir pieejams tad atkļūdotājs to attēlo tiešā laikā, parādot kura
koda daļā konkrētajā brīdī tiek izpildīta. Visual Studio atkļūdotājs var izveidot arī
atmiņas izgāztuves(memory dumps), kā arī vēlāk tās ielādēt lai atkļūdotu. Atkļūdotājs
var tikt uzstādīts tā, lai tas automātiski uzsāktu darbību brīdī, kad kāda programma,
kas darbojas ārpus Visual Studio vides, negaidīti pārtrauc savu darbību kādas kļūdas
dēļ.
Atkļūdotājs ļauj noteikt pārtraukuma punktus (breakpoints), kas ļauj izpilde uz
laiku tikt apturētai noteiktā stāvoklī un vērotājus (watches), kas pārrauga mainīgo
lielumu vērtības to izpildes gaitā. Pārtraukuma punkti var būt veidoti ar
nosacījumiem, kuru izpildes gadījumā tiek iedarbināti pārtraukumi.
Attēls 3. Visual Studio Debugger
Designer
11
Visual Studio ietver vairākus vizuālos dizainerus, kurus iespējams izmantot
dažādu lietotņu izstrādē. Šie instrumenti ir šādi:
Windows Forms Designer
Windows Formu dizaineri izmanto, lai veidotu grafiskās lietotāju saskarnes
(GUI) lietotnes. Tas ietver UI paleti, kurā ir dažādas vadības pogas un citādas
kontroles ierīces, kuras iespējams iezīmēt un ievilkt (drag and drop) vajadzīgajā
formas vietā. Dizaineris ģenerē vai nu C#, vai arī VB.NET kodu.
Attēls 4. Windows Forms Designer
12
WPF Designer
WPF dizainers, ar segvārdu Sidra, tika ieviests ar Visual Studio 2008. Tāpat kā
Windows Forms dizaineris tas atbalsta „iezīmē un ievelc” (drag and drop)
tehnoloģiju.
Attēls 5. WPF Designer
Web designer/development
Visual Studio arī ietver web-lapu redaktoru, kas ļauj tīmekļa lapu veidot, tās
autoram iezīmējot un ievelkot vajadzīgo saturu attiecīgajā vietā. Tas tiek izmantots,
izstrādājot ASP.NET lietotnes, kā arī atbalsta HTML, CSS un JavaScript. Tiek izmantots
code-behind modelis lai sasaistītos ar ASP.NET kodu. Kopš Visual Studio 2008
izmantotais Web dizaineris ir savienots ar Microsoft Expression Web programmu.
13
Attēls 6. Visual Studio Web Designer in code editor view
14
Class designer
Klašu dizaineris tiek izmantots, lai pārvaldītu un rediģētu klases (ieskaitot to
elementus un viņu piekļuvi), izmantojot UML modelēšanu. Klašu dizaineris var
ģenerēt C# un VB.NET kodu klases un metodes. Tas var arī ģenerēt klašu diagrammu
no ar rokām veidotām klasēm.
Attēls 2. Visual Studio Class Designer
15
Data designer
Datu dizaineri var izmantot, lai grafiski rediģētu datubāzes shēmas , tai skaitā
rakstītas, tabulas primārās un ārējās atslēgas un ierobežojumus. To var arī izmantot,
lai rediģētu vaicājumus grafiskā veidā.
Attēls 3. Visual Studio Data Designer
T-SQL editor
Visual Studio 2010 versijā, atšķirībā no iepriekšējām, ir pieejams SQL
redaktors, ar ko ir iespējams konstruēt un rediģēt – viennozīmīgi ērtāk strādāt ar SQL
skriptiem, jo agrākajās versijās šādas iespējas nebija, tādēļ strādāt ar SQL kodu nācās
ar citiem rīkiem.
16
Attēls 4. Visual Studio 2010 SQL redaktors
Citi rīki
Open Tabs Browser
Atvērto ciļņu pārlūku izmanto, lai pārvaldītu visas atvērtās cilnes un pārslēgtos
starp tām. To izmantot var izmantojot CTRL+TAB .
Properties Editor
Rekvizīti redaktors tiek izmantots, lai rediģētu GUI īpašības iekš Visual Studio.
Tajā tiek parādītas visas pieejamās īpašības (gan tikai lasāmās, gan arī tās, kuras var
iestatīt) attiecībā uz visiem objektiem, ieskaitot klases , veidlapas, Web lapas utt.
17
Attēls 5. Open Tab Browser un Properties Editor
Solution Explorer - tiek izmantots kā koda, failu un citu resursu kopums, kas
tiek izmantots, lai izveidotu lietotni. Faili ir sakārtoti hierarhiskā secībā, kas tos
atspoguļo organizētā sistēmā parādot nepieciešamākos, neatspoguļojot organizāciju
failu sistēmas līmenī. Solution Explorer izmanto, lai pārvaldītu un pārlūkotu
risinājuma failus.
Team Explorer - izmanto, lai integrētu iespējas ko piedāvā Team Foundation
Serveris - pirmkoda kontroles (source control) sistēma. Papildus programmas koda
kontrolei tas sniedz arī iespēju apskatīt un pārvaldīt individuālā darba rezultātus.
Data Explorer - izmanto, lai pārvaldītu datu bāzes, kas darbojas Microsoft
SQL Serverī. Tas ļauj izveidot un labot datubāzes tabulas. To var arī izmantot, lai
radītu vaicājumus un saglabātas procedūras , arī tās var tikt veidotas vai nu
izmantojot T-SQL , vai arī izmantojot SQL CLR. Ir pieejams arī atkļūdotājs un
IntelliSense atbalsts.
Server Explorer - šis rīks tiek izmantots, lai pārvaldītu datu bāzu
savienojumus ar pieejamiem datoriem. To izmanto arī, lai pārlūkotu darbojošos
Windows servisu procesus un sekotu līdz veiktspējai.
18
Pieejamās versijas
Microsoft Visual Studio ir pieejams sekojošās komplektācijās:
Visual Studio Express – šai versijai ir vairāku nelielu, patstāvīgu IDE sistēmu
kopums, kuras tiek piedāvātas kā nepilni izdevumi lietošanai bez maksas. Šajā versijā
tiek iekļauts tikai nelielas daudzums no rīkiem kuri tiek iekļauti pilnajā programmas
versijā, piemērām, šajā versijā netiek iekļautas tādas iespējas, kā, piemēram,
attālinātu datubāzu atbalsts izmantojot Data Designer, Class Designer kā arī netiek
piedāvāta iespēja programmu pilnveidot ar papildinājumiem. Express versijai nav
pieejams arī x64 bitu kompilators. Microsoft izstrādājot Express versiju paredzējis to
galvenokārt studentu vajadzībām. Šī versija neizmanto pilno MSDN bibliotēku, bet
gan MSDN Express bibliotēku.
Pieejamas šādu valodu Express versijas:
1. Visual Basic Express,
2. Visual C++ Express,
3. Visual C# Express,
4. Visual Web Developer Express.
Visual Studio Standard - nodrošina pieeju visiem pieejamajiem produktiem
un atbalsta pilno MSDN bibliotēku. Tā atbalsta arī XML un XSLT rediģēšanu, tomēr tā
neietver tādus instrumentus kā, piemēram Server Explorer vai arī integrāciju ar
Microsoft SQL Server. Šī versija var tikt pilnveidota tai pievienojot paplašinājumus.
Visual Studio 2010 vairs netiek izstrādāta Standart versija, tā aizstāta ar Professional
versiju.
Visual Studio Professional - ietver tos pašus instrumentus, kurus Visual
Studio Standard un tiem ir pieejamas papildus funkcijas, piemērām Microsoft SQL
Serveru integrācija un attālinātais atkļūdotājs (Remote debugger), kad atkļūdotājs
darbojas uz cita attālināta servera.
Visual Studio Team System - šī versija piedāvā virkni programmatūras
izstrādes, sadarbības un atskaišu rīkus, kā arī papildus funkcijas, kuras piedāvā Visual
Studio Professional. Tiek piedāvātas dažādas lomu specifikācijas:
19
1. Team Explorer (pamata TFS klients),
2. Architecture Edition,
3. Database Edition,
4. Development Edition,
5. Test Edition.
Tabula 1. Versijām pieejamās iespējas
Versiju vēsture
Visual Studio 97 - Microsoft kā pirmo klajā laida Visual Studio 1997, tajā
apvienojot kopā dažādus instrumentus pirmo reizi. Visual Studio 97 bija pieejams
divās versijās, Profesional un Enterprise. Tajā bija iekļauts Visual Basic 5.0 un Visual
C++ 5.0, galvenokārt paredzētas Windows programmēšanai, Visual J++ 1.1 paredzēts
Java un Windows programmēšanai un Visual FoxPro 5.0 paredzēts datubāzu
veidošanai, it īpaši xBase programmēšanai. Visual Studio 97 bija Microsoft pirmais
mēģinājums izveidot programmatūras izstrādes vidi kura atbalsta vairākas
programmēšanas valodas. Visual C++, Visual J++, InterDev un MSDN bibloteka visi
lietoja vienu un to pašu vidi - Developer Studio. Visual Basic un Visual FoxPro lietoja
atsevišķās vidēs.
20
Attēls 6. Microsoft Visual Studio 97
Visual Studio 6.0 (1998) - Nākamā versija bija Visual Studio 6.0, kas tika
izdota 1998.gada jūnijā, un tā bija radīta, lai darbotos Windows 9x platformā. Šī
versija bija pamatā Microsoft sistēmu izstrādei turpmākos četrus gadus. Pēdējā
Visual Studio 6.0 versijā tika iekļauta uz COM bāzēta Visual Basic versija. Visual
Studio 6.0 bija pieejams divās versijās: Profesional un Enterprise. Enterprise versijai
bija pieejamas papildus funkcijas, kuras nebija Profesional versijā, tai skaitā:
1. Application Performance Explorer,
2. Automation Manager,
3. Microsoft Visual Modeler,
4. RemAuto Connection Manager,
5. Visual Studio Analyzer.
Attēls 7. Visual Studio 6.0
21
Microsoft Visual Studio .NET (2002) - Microsoft 2002 gadā laida klajā Visual
Studio. NET, kas zināms ar segvārdu Rainier. Lielākā pārmaiņa bija iepazīstināšana ar
koda radīšanu izmantojot .NET Framework. Programmas kas radītas izmantojot .NET
Framework netiek kompilētas līdz mašīnu valodas līmenim(kā to dara piemērām C+
+), bet gan uz Microsoft Intermediate Language(MSIL). Kad MSIL lietotne tiek
izpildīta, tā izpildes laikā tiek kompilēta par mašīnas līmeņa valodu, tādā veidā
nodrošinot koda izpildi dažādās platformās. Šādas MSIL programmas ir iespējams
lietot Linux un Mac OS X vidēs. Visual Studio .NET 200 bija pieejams četrās versijās:
Academic, Profesional, Enterprise Developer un Enterprise Architect. Microsoft
iepazīstināja plašāku sabiedrību ar C#, jaunu programmēšanas valodu kas mērķēja
uz .NET. Kā arī iepazīstināja ar J++ turpinājumu J#. Visual J# lieto Java sintaksi, bet
atšķirībā no J++, J# programmas var strādāt tikai ar .NET Framework.
Attēls 8. Visual Studio . NET
Visual Studio .NET 2003 – 2003. gada aprīlī Microsoft laida klajā uzlabotu
Visual Studio versiju un nosauca to par Visual Studio .NET 2003, pirms tam zināmu arī
ar segvārdu Everett. Tajā tika piedāvāta .NET Framework uzlabota versija 1.1 un šī
bija pirmā versija, ar kuru bija iespējams veidot programmas, kas paredzētas
mobilajiem telefoniem izmantojot ASP.NET vai arī .NET Compact Framework. Bija
uzlabota arī C++ kompilatora darbība un dažādās jomās veiktas tā specializācijas. Tika
pievienots Visual C++ rīkjosla, kas atviegloja darbu ar C++ valodu. Visual Studio .NET
2003 iznāca četrās versijās: Academic, Profesional, Enterprise Developer un
Enterprise Architect.
Visual Studio 2005 - ar segvārdu Whidbey tika laists klajā 2005. gada
oktobrī. Microsoft izņēma no nosaukuma .NET, bet tas tik un tā lielākoties bija
paredzēts darbam ar .NET Framework, kas tika atjaunināts līdz 2.0 versijai. Šī ir
pēdējā versija ar kuru ir iespējams strādāt uz Microsoft 200 platformas. Microsoft
2005. gada 14. decembrī laida klajā pirmo servisa pakotni (SP 1), kurā tika ietverti
22
dažādi uzlabojumi, savukārt 2007. gada 3. jūnijā Microsoft laida klajā atjauninājumu,
ar kura palīdzību bija iespējams Visual Studio 2005 lietot Windows Vista
operētājsistēmu. 2005. gada versija bija paredzēta darbam ar .NET Framework 2.0,
ASP.NET 2.0. Tika pievienotas dažādas papildus iespējas, kā arī uzlabots darbs ar
InteliSense. Tajā ir iekļauts lokālais serveris uz, kura iespējams izvietot ASP.NET
lietotnes izstrādes un testēšanas laikā. Kā arī tas atbalsta visas SQL Server 2005
datubāzes. Datubāzu dizaineris tika pilnveidots lai spētu strādāt ar ADO.NET 2.0. Vēl
viena jauna iezīme 2005 gada versijā bija Deployment Designer, kas ļauj lietotnes
pārbaudīt un pilnveidot pirms lietošanas. Tika pievienots 64-bitu atbalsts. Kaut arī
pats izstrādes process ir veicams tikai 32 bitu vidē, VIsual C++ 2005 kompilators
atbalsta x86-64(AMD64 un Intel 64) procesorus, kā arī IA-64(Itanium).
Attēls 9. Microsoft Visual Studio 2005
Visual Studio 2008 un Visual Studio Team System 2008 ar segvārdu Orcas
tika laistas klajā 2007. gada 19. novembrī. Viens no galvenajiem jaunumiem bija .NET
Framework 3.5 ieviešana. 2008 gada 11 augustā Microsoft laida klajā pirmo servisa
pakotni. Visual Studio 2008 galvenokārt ir paredzēts darbam ar Windows Vista un
Office 2007 sistēmām un tīmekļa lietojumprogrammām. Lai atvieglotu vizuālā dizaina
izveidi tika pievienots jauns vizuālais dizaineris un HTML/CSS veidotājs. J# netika
iekļauts. Pamatā VIsual Studio 2008 strādā ar .NET Framework 3.5, bet ir iespējams
iestatīt lai tas strādātu arī ar vecākām .NET Framework versijām. Pievienots arī uz
23
XAML tehnoloģijām bāzēts darbplūsmas dizaineris. LINQ to SQL dizaineris, XSLT
atkļūdotājs, IntelliSense atbalsts JavaScriptam, JavaScript atkļūdotājs.
Attēls 10. Microsoft Visual Designer 2008
Visual Studio 2010 – 2010. gada 12. aprīlī Microsoft laida klajā Visual Studio
2010, kā arī .NET Framework 4. Visual Studio 2010 ir jauns lietotāja interfeiss, kas
izstrādāts lai atvieglotu darbu un būtu vienkāršāks. Jaunākā versija spēj labāk
darboties ar vairākiem uzdevumiem vienlaicīgi, kā arī piedāvā labāku atbalstu
izmantojot vairākus monitorus. Pievienots arī atbalsts vairākām jaunām
programmēšanas valodām F# un M, kā arī Quadrant vizuālo modeļu dizainerim.
Visual Studio 2010 izstrādāts galvenokārt tādēļ, lai strādātu ar Windows 7 lietotnēm,
tas atbalsta IBM DB2 un Oracle datubāzes kopā ar Microsoft SQL Server. Tajā ir
iebūvēts atbalsts Microsoft Silverlight lietotņu izstrādei, tai skaitā interaktīvs
dizaineris. Visual Studio 2010 piedāvā vairākus rīkus, kas paredzēti darba
atvieglošanai, kad paralēli tiek programmētas vairākas lietas. Pieejams arī atkļūdotājs
kas paredzēts tieši paralēlām lietotnēm. Izstrādājot Visual Studio 2010 Microsoft ir
sadarbojies ar Intel lai uzlabotu programmas veiktspēju un Intel ir izstrādājis
paralēlisma atbalstu Paralel Studio kas pieejams kā papildinājums Visual Studio.
Jaunajā versijā, tiklīdz ir ierakstīts kāds simbols, koda redaktors automātiski izgaismo
visas iespējamās iespējas un ļauj izvēlēties nepieciešamo. Tiek piedāvāta arī ātrās
meklēšanas iespēja, lai nekavējoties pārmeklētu visu programmas kodu. Visual
Studio Ultimate 2010 ir tiešais pēctecis Visual Studio 2008 Team System versijai. Šī
24
versija ir veidota, lai pārvaldītu visu lietotnes dzīves ciklu. Tajā ir iekļauti jauni
modelēšanas rīki, tādi kā Architecture Explorer, kas grafiski parāda projektus, klases
un attiecības starp tām. Tiek atbalstītas arī UML aktivitāšu diagrammas, komponenšu
diagrammas, loģisko klašu diagrammas, secību diagrammas un lietošanas gadījumu
diagrammas. Ir uzlabotas arī testēšanas iespējas.
Visual Studio Ultimate 2010 ietver arī 'vēsturisku' atkļūdotāju labotam kodam,
kas tiek saukts par IntelliTrace. Atšķirība no parastā atkļūdotāja, kas ieraksta tikai
pašreiz aktīvo slāni, InteliTrace ieraksta visus notikumus kā piemēram funkciju
izsaukumus, metožu parametrus, notikumus, izņēmumus utt. Tas ļauj kļūdas
gadījumā atklāt vainu. IntelliTrace strādā lēnāk nekā parastais atkļūdotājs un lieto
vairāk atmiņas.
Attēls 11. Visual Studio 2010 Ultimate
25
Minimālie sistēmas parametri, lai strādātu ar Visual Studio 2010
Programmatūras prasības
Visual Studio 2010 Var tikt uzstādīts uz sekojošām sistēmām:
Windows XP (x86) Service Pack 3 -
Windows XP (x64) Service Pack 2
Windows Vista (x86 & x64) Service Pack 2
Windows 7 (x86 & x64)
Windows Server 2003 (x86 & x64) Service Pack 2
Windows Server 2003 R2 (x86 & x64)
Windows Server 2008 (x86 & x64) Service Pack 2
Windows Server 2008 R2 (x64)
Atbalstītās arhitektūras:
32-Bit (x86)
64-Bit (x64)
Aparatūras prasības
Dators ar a 1.6GHz vai jaudīgāku procesoru
1024MB RAM
3GB brīva vieta cietajā diskā
5400 RPM cietā diska ātrums
DirectX 9- atbalstoša videokarte, kas atbalsta 1280 x 1024 vai augstāku
ekrāna izšķirtspēju
DVD-ROM diskdzinis
26
Cena
Tabula 2. Cena un versiju salīdzinājums
Instalācija
Atverot Visual Studio 2010 instalācijas disku, automātiski tiek startēta
'autorun.exe' programma, kuru atverot parādās šāds logs, piedāvājot izvēlēties
vēlamo opciju. Šeit ir jāizvēlas iespēja 'Install Microsoft Visual Studio 2010'.
Attēls 12. Visual Studio 2010 uzstādīšana
27
Tiklīdz esam izvēlējušies iespēju 'Install' parādās šāds logs. Šeit ir iespējams
izķeksēt opciju kura ziņos Microsoft par instalācijas gaitu.
Attēls 13. Instalācijas sākums
28
Tālāk tiek piedāvāts iepazīties ar programmas licenci, kad licence ir izlasīta ir jāatķeksē speciālā lodziņa un jāapstiprina, ka piekrītam licences noteikumiem, savādāk nav iespējams turpināt uzstādīšanu. Tiek paziņotas arī tas, kādas programmas daļas tiks uzstādītas, dotajā gadījumā tiek ziņots, ka uz datora jau ir uzstādītas vairākas programmas, kuras ir nepieciešamas un tiks uzstādīta tikai daļa, kas nav uzstādītas. Parādās brīdinājuma signāls, kas vēsta to ka vēlams pirms uzstādīšanas aizvērt visas pārējās lietotnes. Spiežam 'Next'.
Attēls 14. Licences apstiprināšana
Nākamajā solī piedāvā izvēlēties kā veikt instalāciju: Full vai Custom. Ja
izvēlamies variantu Full tad tiks automātiski uzstādītas visas sistēmas daļas, bet ja
izvēlamies Custom, tad uzstādīšanas laikā tiks piedāvāts izvēlēties, kuras daļas
vēlamies uzstādīt, bet kuras nē. Mēs izvēlēsimies Full iespēju.
Jānorāda arī vēlamā instalācijas direktorija. Pēc pamat iestatījumiem šī
direktorija ir 'c:\Program Files (x86)\Microsoft Visual Studio 10.0\', un mēs to arī
nemainīsim. Tiek parādīti arī pieejamie cietie diski un brīvā vieta tajos, kas atvieglo
darbu gadījumā ja vēlamies nomainīt instalācijas direktoriju.
Kad viss nepieciešamais izdarīts spiežam 'Install'.
29
Attēls 15.Norādām uzstādīšanas direktoriju
Kad nospiests 'Install' sākās automātiskā uzstādīšana. Atsevišķi tiek parādīts,
kura konkrētā programmas daļa tiek dotajā brīdī uzstādīta, kura jau ir uzstādīta un
kura būs nākošā.
30
Attēls 16. Uzstādīšana
Brīdī kad uzstādīšana beigusies parādās logs, kurā teikts ka viss noritējis
sekmīgi, kā arī tiek doti daži padomi kā uzsākt darbu ar programmu. Spiežam 'Finish':
Attēls 17. Uzstādīšanas beigas
31
Nākošais solis ir pašas programmas atvēršana. Windows 7 operētājsistēmā
programmu mēs varam atrast ejot šādu ceļu Start -> All Programms -> Microsoft
Visual Studio 2010.
Attēls 18. Ceļš, kā atrast uzstādīto programmu
Atverot programmu pirmo reizi lietotājam piedāvā izvēlēties, kādā veidā
specificēt interfeisu. Ir pieejami šādi varianti:
General Development Settings
Project Management Settings
Visual Basic Development Settings
Visual C# Development Settings
Visual C# Development Settings
Visual C++ Development Settings
Visual F# Development Settings
Web Development
Web Development(code only)
Izvēloties kādu no variantiem programma tiek konfigurēta speciāli lai strādātu
ar kādu konkrētu programmēšanas valodu vai arī ar visu kopā. Mēs izvēlēsimies
32
iespēju General Development Settings. Gadījumā ja vēlamies pēc programmas
uzstādīšanas nomainīt izvēlēto specifikāciju, to ir iespējams izdarīt jebkurā laikā
atverot Tools -> Import and Export Settings.
Attēls 19. Specifikācijas izvēle
Atverot programmu parādās šāda sākumlapa, kurā iespējams izvēlēties veidot
jaunu projektu, atvērt jau esošu vai arī pievienoties serverim kurā atrodas komandas
kopējais projekts. Kā arī ir norādītas vairākas saites, kuras apmeklējot var atrast
dažādu noderīgu informāciju, kas atvieglo darbu strādājot ar Visual Studio 2010.
33
Attēls 20. Sākumlapa
34
2. Konceptuālā modeļa veidošana MS Visual Studio 2010
Konceptuālie modeļi un to notācijas
Pirms aprakstīt konceptuālo modeļu tipus, definēsim, kas īsti ir konceptuālais,
loģiskais un fiziskais modelis šajā darba apskatītās tēmas kontekstā:
1. Konceptuālā modelēšana – process, kurā tiek formalizēta modelēšanai nepieciešamā informācija, kā rezultātā tiek iegūts augsta līmeņa modelis datiem, kuri apraksta datu bāzi. Šāds modelis ir domāts, piemēram, augsta līmeņa vadītājiem vai gala lietotājiem;
2. Loģiskā modelēšana – process, kurā tiek veidots datu bāzes modelis saskaņā ar modelēšanas konvencijām, bet neatkarīgi no konkrētās DBVS īpatnībām un fiziskām struktūrām;
3. Fiziskā modelēšana ir fizisku struktūru izveides process (tabulas, skati, indeksi, ierobežojumi), kā arī meta datu apkopošana.
Parasti par datu bāzes konceptuālo modeli uzskata ER (EER) diagrammu
veidošanu, pretstatot to UML objektorientētai modelēšanai. Šajā darbā, tā kā tiek
apskatīta programmēšanas vide Microsoft Visual Studio 2010, kura, savukārt,
nodrošina pilnu atbalstu UML modelēšanai ar dažādiem diagrammu tipiem, kā
konceptuālā modelēšana tiks apskatīta objektorientēta modelēšana, izmantojot UML
notācijas. Rīks Visual Studio nepiedāvā iespēju veidot ER diagrammas to klasiskajā
izpratnē, taču to ir iespējams veikt ar citiem Microsoft rīkiem, kā, piemēram, Visio.
Objektiem ir trīs būtiskas īpašības: stāvoklis (state), uzvedība (behaviour) un
identitāte (identity). Stāvoklis ir atribūti to tipi un vērtības, uzvedība ir tās objekta
īpašības, kas nosaka, kādas darbības objekts var veikt, un kādas var veikt no ārpuses
35
Objektorientēta modelēšana
klase
objekts
asociācija
atribūtu mantošana
uzvedības mantošana
EER modelēšana
realitātes tips
realitātes instance
relācija
atribūtu mantošana
nav
ar doto objektu, un identitāte nozīmē, ka katrs objekts ir unikāli identificējams, pat ja
visas tā atribūtu vērtības ir vienādas ar citu objektu. Citas objektorientētas pieejas
īpašības sīkāk netiks apskatītas, jo tās ir zināmas un to aprakstīšana neietilpst šī darba
mērķos.
UML
UML (Unified Modelling Language) ir aprakstoša standarta valoda
objektorientētai analīzei un modelēšanai. UML notācija definē vairāku veidu
diagrammas sistēmu modelēšanai:
Klašu diagrammas - apraksta un modelē objektu tipus (klases) un attiecības starp tiem – tuvākais UML analogs ER diagrammai;
Sadarbības diagrammas (interaction/collaboration diagrams)- apraksta objektu mijiedarbību;
Pakotņu diagrammas (package diagrams) – modelē klašu grupēšanu augstākos abstrakcijas līmeņos, piemēram, pakotnēs vai moduļos;
Stāvokļu diagrammas (state diagrams) – modelē objektu iespējamos stāvokļus un stāvokļu maiņas konkrētu notikumu iestāšanās gadījumos;
Aktivitāšu diagrammas – modelē uzdevumus, kādi ir jāveic; Secību diagrammas – modelē darbību secību objektiem mijiedarbojoties.
Izmanto objektu klašu metožu noteikšanai; Komponenšu diagrammas – modelē atsevišķu komponenšu mijiedarbību.
Komponente var būt gan atsevišķa klase, gan arī kāds cits elements, atkarībā no konteksta;
Izvietojuma diagrammas (deployment diagrams) – apraksta fiziskās attiecības starp programmatūru un fiziskajām komponentēm (serveriem, tīkla infrastruktūru, utt.).
Kā jau minēts augstāk, UML klašu diagrammas vistuvāk modelē koncepcijas un
to attiecības analoģiski ER vai EER diagrammām, taču tām ir arī būtiskas atšķirības –
tās sniedz vairāk iespēju attiecību definēšanai, kā arī tās nodrošina iespēju modelēt
koncepciju (klašu objektu) uzvedību, modelējot klašu objektu darbību specifikāciju.
Sīkāk UML notācija šajā darbā netiks aprakstīta, jo tas nav darba uzdevums un ir
apgūts jau iepriekš.
36
37
UML atbalsts Visual Studio 2010
Visusal Studio 2010 versijā piedāvā iespēju veidot programmatūras modeļus
UML notācijā. Visual Studio 2010 šim nolūkam ir specifisks projekta tips –
modelēšanas projekts (Modelling Project):
Attēls 21. Modelēšanas projekta izvēle Visual Studio 2010
Kad ir izveidots modelēšanas projekts, tam pievienot diagrammas var tāpat kā
jebkuru citu elementu Visual Basic projektam ar Add -> New item:
38
Attēls 22. Diagrammas pievienošana modelēšanas projektam
Kā redzams attēlā Attēls 22 augstāk, Visual Studio 2010 piedāvā iespēju veidot
sekojošus UML diagrammu veidus:
klašu diagramma secību diagramma lietošanas gadījumu diagramma aktivitāšu diagramma komponenšu diagramma
un papildus minētajiem UML diagrammu veidiem, Visual Studio 2010
modelēšanas projektā iespējams veidot arī šādus – UML valodas nespecificētus
grafiskos modeļus:
slāņu diagramma orientēts grafs.
Klašu diagrammā, lai pievienotu elementus, tie ir jāizvēlas pēc noklusējuma
labajā pusē izvietotajā rīkjoslā un jāievelk darba virsmā. Kā redzams attēlā zemāk,
iespējams diagrammai pievienot gan klases un to relācijas, kā arī specifiskākus
elementus – interfeisus (abstraktas klases), enumeratorus, utt.:
39
Attēls 23. Klases pievienošana un tās elementu definēšana
Kad ir pievienoti elementi diagrammai, tad līdzīgi, kā, piemēram, tādos CASE
rīkos kā Sparx Enterprise Architect, ir pieejams rīks Object Explorer, kur var ērti
pārlūkot visus sadefinētos objektus (skat. Attēls 24).
Attēls 24. Rīks Object Explorer
40
Tā, piemēram, vienkārša UML klašu diagramma Visual Studio 2010 izskatās
šādi:
Attēls 25. UML klašu diagramma Visual Studio 2010
Lai izveidotu UML secību diagrammu iepriekš definētajā modelēšanas projektā,
jāizvēlas Add new item -> Sequence Diagram:
Attēls 26. Secību diagrammas pievienošana
41
Secību diagrammas tiek izmantotas objektu mijiedarbību modelēšanai un
aprakstīšanai, ar to palīdzību iespējams projektēšanas fāzē definēt nepieciešamās
metodes un operācijas objektiem. UML secību diagrammas veidošana Visual Studio
2010 iepriekš veidotās klašu diagrammas objektiem Book un Library izskatās šādi:
Attēls 27. Secību diagrammas veidošana
Ļoti ērti ir, ka UML modelēšanas projektā, ja eksistē vismaz viena secību
diagramma, tad objektu dzīves līniju pievienošana tām ir iespējama no klašu
diagrammas, uzklikšķinot ar labo peles pogu uz klases un izvēloties Create Lifeline:
42
Attēls 28. Objekta pievienošana secību diagrammai no klašu diagrammas
Nākamais apskatāmais UML diagrammas veids ir lietošanas gadījumu
diagramma. To izveidot tāpat kā visas pārējās, proti, izvēloties darbību Add -> New
Item:
Attēls 29. Lietošanas gadījumu diagrammas izveide
Tālākās darbības arī ir jau zināmas – kreisajā pusē esošajā rīkjoslā Toolbar ir
pieejami visi elementi, kādus var saturēt attiecīgā diagramma – šajā gadījumā
lietošanas gadījumu diagramma. Elementus var ievilkt arī no iepriekš minētās Object
Explorer izvēlnes. Zemāk dots piemērs ļoti vienkāršai lietošanas gadījumu
diagrammai, kas uzskatāmi parāda šo diagrammu veidošanu Visual Studio 2010:
43
Attēls 30. Lietošanas gadījumu diagramma Visual Studio 2010
Šī darbā gaitā jāsecina, ka rīks Visual Studio 2010 šo diagrammu veidošanas
ziņā ir visai ērts un itin nemaz neatpaliek no citiem rīkiem, ko izmanto šādiem
mērķiem.
Rīkojoties tāpat kā iepriekš, tiek izveidots nākamais apskatāmo diagrammu
veids – aktivitāšu diagramma. Aktivitāšu diagrammas tiek veidotas:
kopējam sistēmā noritošam procesam katram atsevišķam lietošanas gadījumam – lai uzskatāmāk parādītu
iespējamos alternatīvos notikumus atsevišķai klasei atsevišķai klases metodei, ar mērķi parādīt tās detalizētu izpildes algoritmu.
Zemāk parādīta vienkārša UML aktivitāšu diagramma:
44
Attēls 31. Aktivitāšu diagramma Visual Studio 2010
Nākamais UML diagrammas veids, kas tiek apskatīts, ir komponenšu
diagramma. Tā modelē atsevišķu komponenšu mijiedarbību, tādējādi palīdzot labāk
izprast sistēmas darbību. Zemāk dots piemērs komponenšu diagrammai vienkārša
tīmekļa servisa darbības modelim:
Attēls 32. UML komponenšu diagramma Visual Studio 2010
45
Kā redzams, komponenšu diagramma nesatur specifiskas realizācijas detaļas,
bet gan abstraktus komponenšu objektus, tādējādi palīdzot saprast, šajā gadījumā,
piemēram, tīmekļa servisa darbības koncepciju.
Nākamais diagrammas veids – slāņu diagramma dota zemāk:
Attēls 33. Slāņu diagramma Visual Studio 2010
Slāņu diagramma nepieder pie UML diagrammām, kas (kā redzams zemāk
Attēls 34, tas redzams jau izvēloties diagrammas veidu) nozīmē to, ka tā neatbilst
UML notācijai, tomēr ir pieejama Visual Studio 2010 modelēšanas projektā. Ar tās
palīdzību iespējams definēt modelējamās informācijas sistēmas vai lietojuma
atsevišķus slāņus un to mijiedarbību. Augstāk dotajā attēlā attēlota pavisam vispārīga
lietojuma shēma, kas sastāv no 3 slāņiem – datu, prezentācijas (biznesa loģikas) un
attēlošanas jeb lietotāja saskarnes slāņa. Slāņu diagrammai ir pieejama darbība
Validate Architecture Attēls 34– validēt arhitektūru. Kompleksu diagrammu
gadījumos tā ir noderīga, lai pārbaudītu diagrammas semantisko pareizību.
46
Attēls 34. Orientēta grafa izveide Visual Studio 2010 modelēšanas projektā
Kā pēdējā iespējamā diagramma Visual Studio modelēšanas projektos ir
orientēta grafa diagramma. To gan iespējams ģenerēt arī gandrīz jebkurā cita veida
projektā, jo tās galvenais mērķis ir vizualizēt komponentes un to mijiedarbību, un, kā
arī redzams attēlā, tad tā nav viena no UML notācijas diagrammām. Zemāk dots
attēls orientētam grafam, kas veidots ar Visual Studio 2010:
Attēls 35. Orientēta grafa piemērs
Šādus orientētus grafus ir ērti un noderīgi izmantot gadījumos, kad ir projekts,
kas sastāv no daudz un dažādām komponentēm, lai vizualizētu tās un to attiecības.
Tāpēc Visual Studio pamata rīkjoslā ir izvēlne:
47
Attēls 36. Orientētā grafa ģenerēšana pēc parametriem
Ar kuras palīdzību šādu grafu var ģenerēt pēc klases, assembly (kompilēta
mašīnkoda) faila, vai citādi:
Attēls 37. Nestandarta orientētā grafa ģenerēšanas vednis
48
4. Konceptuālā modeļa transformācija fiziskās datu bāzes
struktūrās
Klašu ģenerēšana no klašu diagrammas
Lai projektam pievienotu klašu diagrammu ir jādodas uz izvēlni Project -> Add
New Item, Instaled Templates sadaļā jāatver C# apakš sadaļa, General un jāizvēlas
Class Diagram:
Attēls 38. Klašu diagrammas izveide
Tālāk parādās tukšs logs kurā ir jāveido diagramma. Diagramma tiek veidota
izmantojot piedāvātos rīkus, kas atrodas kreisajā ekrāna pusē zem nosaukuma
Toolbox. Ir pieejami šādi objekti Pointer, Class, Enum, Interface, Abstract Class,
Struct, Delegate, Inheritance, Association un Comment.
49
Attēls 39. Klašu diagrammas veidošanas logs
Diagrammas veidošana ir ļoti vienkārša, nospiediet uz vēlamā objekta un
ievelciet to tukšajā laukumā, atlaidiet to vietā kurā vēlaties to novietot. Lai izveidotu
klasi ievelciet objektu Class tukšajā laukumā un atlaidiet to, parādīsies jauns logs,
kurā būs jānorāda jaunās klases nosaukums, tās piekļuves veids un atrašanās vieta,
kā arī var norādīt jau pastāvoša faila atrašanās vietu.
Attēls 40. Jaunas klases veidošana
50
Lai pievienotu jaunus laukus un funkcijas ir ar labo peles pogu jānoklikšķina uz
klases. Parādīsies izvēlņu logs un tajā ir jāizvēlas attiecīgi Field, ja vēlamies izveidot
jaunu lauku vai arī Method, ja vēlamies izveidot funkciju.
Attēls 41. Lauku un metožu veidošana
51
Izveidotā klase izskatās lūk šādi:
Attēls 42. Izveidotā klase
Izveidotās klases kods izskatās šādi.
Attēls 43. Izveidotās klases kods
52
Izveidoto klasi var labot un veidot trīs dažādos veidos. Iespējams to pārvaldīt ar peli
klikšķinot tieši uz attēla un izvēloties pievienot jaunu atribūtu, nomainīt tā nosaukumu vai
izdzēst to. Otrā iespēja ir izmantot apakšā esošo logu kurā ir norādītas klases detaļas. šajā
logā var nomainīt atribūtu tipu, nosaukumu un citas vērtības.
Attēls 44. Klašu veidošana izmantojot Class Details logu
Trešais un iespējams vissarežģītākais veids ir ar dubultklikšķi uzklikšķinot uz
klases un atverot tās kodu, labot pašu kodu ar roku. Kods tiek atvērts jaunā cilnē un
jūs jebkurā brīdī varat pārslēgties atpakaļ uz cilni kurā atrodas klašu diagramma un
turpināt iesākto darbu. Šis veids ir vispiemērotākais pieredzējušiem lietotājiem.
Rakstot kodu ar roku tiek piedāvāta iebūvētā koda redaktora palīdzība, kas sniedz
padomus jau rakstīšanas laikā. Visual Studio ir izstrādāta ļoti laba funkcija: kodā ar
roku veiktās izmaiņas automātiski tiek attēlotas klašu diagrammā, kā arī diagrammā
veiktās izmaiņas uzreiz attēlojas kodā.
Attēls 45. Klašu definēšana ar roku
53
Gadījumā ja veidojot klases ir pieļauta kāda gramatiska kļūda vai kāda cita
veida kļūdas, tiek parādīta brīdinājuma zīme pievēršot kļūdai uzmanību.
Izveidotā klašu diagramma izskatās šādi.
Attēls 46. Izveidotā klašu diagramma
Veidojot klašu diagrammas tiek piedāvātas papildus izvēlnes, kuras citkārt
netiek parādītas. Tiek piedāvāts mainīt tuvinājumu, grupēt atribūtus (klases, funkcijas
utt), mainīt atribūtu attēlošanas veidu(rādīt tikai nosaukumu vai arī rādīt nosaukumu
un arī citu informāciju), Layout Diagramm opcija automātiski sakārtos diagrammu
pārskatāmā veidā, Adjust Shapes Width opcija pārveidos klašu platumu tā lai būtu
redzama visa informācija. Tiek piedāvāta arī iespēja eksportēt izveidoto diagrammu.
Jānorāda faila formāts un vieta kurā vēlamies to saglabāt.
Attēls 47. Papildus izvēlnes veidojot klašu diagrammas
54
Attēlā zemāk ir redzama eksportētā klašu diagramma, kas atvērta ar Windows
Photo Viewer programmu. Šī diagramma izskatās savādāk jo tā tikaa pārveidota
izmantojotLayout Diagram un Adjust Shapes Width funkcijas.
Attēls 48. Eksportētā klašu diagramma.
55
Klašu ģenerēšana no UML klašu diagrammas
Lai arī lietotājam ērtā veidā Visual Studio nepiedāvā ģenerēt kodu no UML
diagrammām, to tomēr ir iespējams veikt, izmantojot teksta veidnes (Text
Templates), kas arī šī darba turpinājumā tiks apskatīts. Pirmkārt, jāpievieno
modelēšanas projektam cits projekts, jo pats modelēšanas projekts, kā jau minēts
iepriekš, nevar saturēt nekādus cita veida failus, kā uzskaitītās diagrammas. Kad ir
izveidots jaunais projekts – šajā gadījumā Windows Forms application (lai gan pašas
formas netiks izmantotas), tālāk jāizvēlas Add -> New Item -> Text template:
Attēls 49. Teksta veidnes veidošana
Teksta veidne pēc būtības ir koda fails, kuru saglabājot, ja tas nesatur kļūdas,
kods tiek izpildīts un rezultāts – uzģenerētais teksts – tiek saglabāts turpat, projekta
mapē. Šajā gadījumā teksta veidne saturēs kodu, kas apstrādās visas iepriekš
definētās UML klašu diagrammas klases un katrai klasei uzģenerēs klase definīcijas
kodu. Veidnes kods izskatās šādi:
56
Attēls 50. Teksta veidnes saturs
Saglabājot teksta veidni, kļūdas paziņojumu nav, tātad ir veiksmīgi uzģenerēts
teksta fails – šajā gadījumā ar nosaukumu TextTemplate1.cs:
57
Attēls 51. Uzģenerētās klases
Līdzīgā veidā iespējams izveidot teksta veidni, kas ģenerēs datu bāzes tabulas.
Izveidojam veidni TextTemplate2.tt:
58
Attēls 52. Veidne datu bāzes struktūru ģenerēšanai
Un saglabājot, iegūstam rezultātu:
59
Attēls 53. Uzģenerētais SQL tabulu veidošanai
Protams, mūsu uzģenerētais SQL, tāpat, kā iepriekš redzētās C# klases, šajā
gadījumā ne tuvu nav ideāls un gatavs lietošanai – datu bāzes struktūru – tabulu –
veidošanai, taču ar šo piemēru bija vēlme parādīt, ka paveras ļoti plašas iespējas
koda ģenerēšanai no izveidotajiem UML modeļiem. Kā galveno priekšrocību šajā ziņā
jāmin iespēju, ka Visual Studio 2010 ir iespējams veidot pielāgotus UML profilus – tas
nozīmē, pielāgot UML savām nepieciešamībām. Tā, piemēram, iespējams nodefinēt
UML klašu diagrammas klases atribūtiem īpašību Primary Key, asociācijām,
piemēram, Foreign Key, un tad, ar attiecīgi piešķirtām vērtībām un pareizi sastādītu
klašu diagrammu, iespējams ģenerēt korektu un daudzveidīgu SQL skriptu datu bāzes
struktūru veidošanai. Protams, šādā gadījumā nepieciešamas padziļinātas zināšanas
60
un iemaņas darbā ar Visual Studio, līdz ar to tas nav pārāk ērts piegājiens un citi rīki
šajā ziņā ir ērtāki un vienkāršāki.
61
Objektu – relāciju sasaiste (ORM)
Objektu – relāciju mapping jeb sasaisti .NET vidē iespējams veikt vairākos un
dažādos veidos, jo ir neskaitāmi trešās puses izstrādāti rīki, kuriem katram ir vairāk
vai mazāk savi plusi un savi mīnusi. Tomēr šajā darbā tiks uzskaitīti un nedaudz
apskatītas pāris galvenās un biežāk izmantotās pieejas. Ir trīs biežāk izmantotās ORM
pieejas .NET vidē:
ADO.NET Entity Framework Linq to SQL nHibernate
Eksistē arī citi risinājumi – DataObjects.Net, Subsonic, u.c., taču tie darba
ierobežotā apjoma un resursu dēļ netiks dziļāk aplūkoti.
1. ADO.NET Entity Framweork: šis ir pirmais objektu – realitāšu (entity) ietvars, ko piedāvā Microsoft. Tas sniedz iespēju programmētājiem lietojumos veidot datu pieejas slāni, ar kura palīdzību vaicājumus var konstruēt attiecībā pret konceptuālo lietojuma modeli, nevis datu bāzes relāciju shēmu. Tā rezultātā programmētājs iegūst iespēju nerakstīt kodā SQL – dinamisku vai statisku – bet gan tā vietā datu izgūšanai vērsties uzreiz pa tiešo pie objektiem. Mīnuss šai pieejai ir tāds, ka mainot datubāzes shēmu, ir jāveic ievērojamas izmaiņas datu pieejas slānī. Datu lauku savienošana notiek ar speciāla XML faila palīdzību – EDM (Entity Data Model).
2. Linq to SQL: šis ir jaunāks piegājiens, ko ORM sfērā piedāvā Microsoft. „LINQ” nozīmē Language Integrated Query – vaicājuma integrēšana [programmēšanas] valodā. Linq pēdējās .NET Framwork versijās ir šī ietvara komponente, kura nodrošina .NET valodām vaicājumu konstruēšanas iespējas. Linq sastāv no vairākām daļām, katra no kurām ir domāta vaicājumu veidošanai specifiskām vajadzībām:
Linq to Objects Linq to XML Linq to Datasets Linq to SQL
Linq to SQL sniedz iespēju ar savu notāciju veidot vaicājumus SQL Server (arī
SQL Server Compact) datubāzēm. Praktiski Linq to SQL konvertē Linq vaicājumu uz
SQL vaicājumu, jo datu bāzēm ir savs SQL vaicājumu izpildes dzinis. Taču, tā kā SQL
Server DBVS datus glabā relāciju shēmā, savukārt Linq apstrādā objektus, abām datu
62
reprezentācijām jāveic lauku savienošana (mapping). Visual Studio piedāvā
automatizētu iespēju, veidot sasaites failus, automātiski uzģenerējot nepieciešamās
klases no datubāzes shēmas. Linq to SQL sasaiste izskatās sekojoši:
[Table(Name="Customers")]
public class Customer
{
[Column(IsPrimaryKey = true)]
public int CustID;
[Column]
public string CustName;
}
Kā redzams koda fragmentā augstāk, klase Customer tiek savienota ar tabulas
Customers kolonnām CustId un CustName. Vaicājums Linq to SQL sintaksē izskatās
šādi:
var db = new myLINQ("Data Source=(local);Initial Catalog=HookedOnLINQ"); var q = from c in db.Contact where c.DateOfBirth.AddYears(35) > DateTime.Now orderby c.DateOfBirth descending select c;
Un zem šī vaicājuma Linq to SQL ietvars uzģenerē sekojošu SQL skriptu:
SELECT [t0].[ContactId], [t0].[FirstName], [t0].[LastName], [t0].[DateOfBirth],[t0].[Phone], [t0].[Email], [t0].[State]FROM [Contact] AS [t0]WHERE DATEADD(YEAR, @p0, [t0].[DateOfBirth]) > @p1ORDER BY [t0].[DateOfBirth] DESC
Linq to SQL sasaistes failus, kā jau iepriekš minēts, ir samērā viegli izveidot,
izmantojot grafisku redaktoru Visual Studio rīkā – atliek savilkt tabulas no Server
Explorer rīkjoslas, kā rezultātā tiek iegūta vizuāla sasaistes klašu diagramma:
63
Attēls 54. Linq to SQL designer rīka pielietošana mapingu definēšanai
3. nHibernate: šī ir ļoti izplatītā Java ORM „Hibernate” .NET versija – nHibernate ir atvērtā pirmkoda ORM risinājums, kas sniedz ievērojami plašākās ORM iespējas, kā augstāk aplūkotie Microsoft risinājumi. Tomēr tas ir arī krietni komplicētāks un līdz ar to sarežģītāk konfigurējams risinājums.
nHibernate priekšrocības:
savietojamība ar citām DBVS, ne tikai SQL Server (vai SQL Server Lite): Oracle Microsoft Access Firebird PostgreSQL DB2 UDB MySQL
Dabisks programmēšanas modelis – nHibernate nodrošina visas objektorientētas programmēšanas īpašības: mantošanu, polimorfismu, kompozīcijas, kā arī .NET kolekcijas
.NET konvencijas Komplicētu objektu modeļu atbalsts – plašs klāsts ar iespējamajām objektu
un tiem saistītu citu objektu kolekciju sasaistes variācijām Vaicājumu konfigurēšana – gan objektu ievietošana datu bāzē, gan arī to
izgūšana
64
Specifisks SQL – atsevišķos gadījumos, iespējams, nepieciešams manuāli definēt SQL priekš noteiktiem mērķiem. SQL Server gadījumā nHibernate atbalsta arī servera procedūras
Atvērtā pirmkoda risinājums – nHibernate lietošana ir bez maksas, kā arī plaša lietotāju kopiena ar stipru atbalstu un publisku zināšanu bāzi internetā.
Sasaistes fails nHibernate izskatās sekojoši:
<?xml version="1.0" encoding="utf-8" ?><hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true"> <class name="NHibernatePets.Pet, NHibernatePets" lazy="true"> <id name="id"><generator class="native" /></id> <property name="PetName" column ="PetName"/> <property name="Species" column="Species"/> <!-- We don't have to specify a column name if its the same as the variable name --> <property name="Birthday"/> </class></hibernate-mapping>
Tā kā nHibernate ir atvērtā pirmkoda risinājums, līdz ar to jebkurš to var
papildināt vai radīt papildus rīkus. Tādā veidā ir radies nHibernate atvasinājums
Fluent nHibernate, kas vienkāršo ORM sasaisti – tas nav jāraksta XML formā, bet gan
attiecīgajā .NET valodā, piemēram, C# - ieguvums ir tāds, ka sasaiste kļūst
vienkāršāka, kā arī Visual Studio kompilators palīdz izvairīties no kļūdām. Sasaistes
fails Fluent nHibernate atsevišķai klasei izskatās sekojoši:
namespace Infrastructure.DataAccess.Mappings
{
public class CommentMap : ClassMap<Comment>
{
public CommentMap()
{
Id(x => x.Id);
Map(x => x.Nickname);
Map(x => x.Text);
Map(x => x.CreatedOn).ReadOnly();
Map(x => x.UserId, "UserInfo_AspnetUserId");
Map(x => x.ArticleId, "Article_Id");
Map(x => x.fileId, "File_Id");
}
}
}
65
Secinājumi
Tika veikts praktiskais darbs, kura gaitā tika sīkāk izpētīts integrētās izstrādes
vides (IDE) rīks Microsoft Visual Studio 2010. Šis rīks ir paredzēts, lai palīdzētu
izstrādāt dažādas programmas, formas un lietotnes, izmantojot arī vizuālus izstrādes
rīkus.
Darba gaitā tika apkopota informācija par pašu Microsoft Visual Studio 2010,
par tā izstrādes iespējām, vēsturi un arī par izstrādātāja - kompānijas Microsoft -
vēsturi. Tika secināts, ka Microsoft Visual Studio ir izmantojams ļoti dažādu lietotņu
veidošanā, ir iespējams veidot dažādas interneta aplikācijas, izmantot dažādas
programmēšanas valodas, lai radītu programmas, veidot dažādas diagrammas un
ģenerētu kodu no izveidotajām diagrammām.
Microsoft Visual Studio rīks ir plaši izplatīts visā pasaulē, tas ir pieejams vismaz
desmit dažādās valodās. Tas ir paredzēts darbam ar Windows 7 operētājsistēmu, bet
ar to ir iespējams strādāt arī izmantojot Windows Vista un XP operētājsistēmas.
Microsoft Visual Studio ir iespējams papildināt ar dažādiem paplašinājumiem,
kuri pilnveido programmas veiktspēju. Bet arī bez papildināšanas, programma
piedāvā ļoti daudz iespējas. Ir izveidots lietotājam draudzīgs, viegli pārskatāms un
lietojams interfeiss. Dažādi moduļi, kā piemēram Code Editor palīdz lietotajam
produktīvāk veikt savu darbu, automātiski rakstīšanas laikā piedāvājot dažādus
padomus un gadījumā ja lietotājs ir kļūdījies norādot uz kļūdu.
Programma ir izstrādāta domājot par darba drošību, piemēram, gadījumā ja
programma saskaras ar kādu kļūdu un tiek automātiski aizvērta, bet jūsu veiktais
darbs nav saglabāts, tā automātiski nākošajā reizē kad programma tiks atvērta,
piedāvās jums atgūt zaudēto informāciju.
Darba gaitā tika aplūkota iespēja veikt CASE rīka izmantošanas - informācijas
sistēmas projektēšanas un modelēšanas - uzdevumu ar minēto IDE rīku - Microsoft
Visual Studio 2010. Tieši šajā versijā ir pievienots papildu atbalsts UML diagrammu
veidošanai, kas ir būtisks faktors programmatūras projektēšanai. Darba gaitā tika
gūta pieredze un jaunas zināšanas darbā ar minētās integrētās programmatūras
66
izstrādes vides sastāvdaļām jeb komponentēm, jaunumiem pēdējā versijā un
vispārīgs priekšstats, kā veikt UML diagrammu veidošanu – kas, kā secināts darba
gaitā, ar šo rīku ir diezgan viegli un ērti izdarāms. Tāpat tika aplūkotas iespējas koda
ģenerēšanai no vizuālajiem modeļiem, vizuālo modeļu integrēšana ar šo rīku
veidotos projektos un aplūkotas ORM – objektu relāciju sasaistes (object relational
mapping) – iespējams .NET vidē. Darba gaitā tika secināts, ka rīks Microsoft Visual
Studio 2010 neatbalsta konceptuālo modelēšanu tās klasiskajā izpratnē ar ER vai EER
diagrammām, jo, tā kā tas ir programmatūras izstrādes rīks, un paredzēts
programmatūras izstrādei .NET lietojumu ietvarā (application framework), tas
nodrošina objektorientētu pieeju projektēšanai UML notācijā – vairāku veidu UML
diagrammu veidošanu. Ražotāja – Microsoft – piezīmēs pie šīs, pēdējās Visual Studio
2010 versijas ir minēts, ka Microsoft plāno turpmāk vēl vairāk attīstīt šo UML
projektēšanas komponenti, vairāk uzmanību veltot arī iespējām koda ģenerēšanai,
tādējādi būtiski atvieglojot programmatūras izstrādes gaitu. Darba gaitā tika secināts,
ka pašreizējā versijā šis virziens vēl ir diezgan „zaļš”, tam vēl ir daudz iespēju tikt
papildinātam, kas, ja notiks, tad padarīs Microsoft Visual Studio par pilnvērtīgu CASE
rīku. Iespējams, ka ER un EER diagrammu atbalsts Visual Studio nav iekļauts tādēļ, ka
to nodrošina cits Microsoft rīks – Visio, ar kuru Visual Studio ir diezgan viegli un plaši
integrējams, un kurš, atšķirībā no Visual Studio, arī nodrošina iespēju veidot datu
bāzes fizisko struktūru veidošanas skriptus (SQL) no vizuāliem konceptuālajiem datu
modeļiem. Kopumā pēc darba veikšanas jāsecina un jāatzīst, ka darbs nebija viegls un
bija ļoti laikietilpīgs, taču tas sniedza neatsveramas un ļoti noderīgas zināšanas gan
par CASE rīkiem, gan arī konkrēti par Microsoft Visual Studio 2010, kā arī
atsvaidzināja iepriekš apgūtās zināšanas par programmatūras projektēšanu un UML.
67
Izmantotā literatūra
1. Lekciju materiāli
2. http://community.jboss.org/wiki/NHibernateforNET
3. http://nhforge.org/blogs/nhibernate/archive/2009/04/07/nhibernate-
mapping-lt-property-gt.aspx
4. http://www.fincher.org/tips/Languages/NHibernate.shtml
5. http://msdn.microsoft.com/en-us/library/bb399572.aspx
6. http://msdn.microsoft.com
7. http://www.hookedonlinq.com/LINQtoSql5MinuteOverview.ashx
8. http://www.olegsych.com/2010/01/uml-modeling-and-code-generation-in-
visual-studio-2010/
9. http://weblogs.asp.net/gunnarpeipman/archive/2009/11/04/visual-studio-
2010-uml-modeling-projects.aspx
10. http://blogs.msdn.com/timfis/archive/2010/05/03/generate-from-vs-2010-
ultimate-uml-diagrams-updated-for-rtm.aspx
11.http://msdn.microsoft.com/en-us/library/bb386063.aspx
12.http://www.sdtimes.com/
ORACLE_DATABASE_DEVELOPMENT_COMES_TO_VISUAL_STUDIO_2010/
About_ORACLE_and_QUEST_and_VISUALSTUDIO/33292
13.http://www.microsoft.com/visualstudio/en-us
14.http://msdn.microsoft.com/en-us/library/dd409465.aspx
68
Recommended