razvoj programskih...

Post on 11-Feb-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Razvoj programskih aplikacij

dr. Tomaž Rotovnik

rotovnik.tomaz@gmail.com

tomaz.rotovnik@teletech.si

tomaz.rotovnik@skylabs.si

▪ Visual C#

▪ Zunanje .NET komponente

▪ Enterprise rešitve

▪ Java (primerjava)

Poudarki

• http://vss.scv.si/moodle/

• John Sharp, “Visual C# 2013 Step by Step”, Microsoft Press, 2013

• Srečo Uranič, “Načrtovanje Programskih Aplikacij”, 2011 (http://uranic.tsckr.si/VISUAL%20C%23/Na%C4%8Drtovanje%20programskih%20aplikacij%20NPA.pdf)

• Seminarska naloga (40%)

• Domača naloga (10%)

• Izpit (50%) - pisni in ustni del

Uvod

Viri

Ocena

Seminarska naloga

• Seminarska naloga naj bo praktične narave! Teme?

- turistični portal (uporabniki, destinacije)

- pošta (storitev, sledenje)

- knjižnica (knjige, izposojevalci)

- videoteka (člani, izposoja)

- operater (osebe, naročniški paket)

- spletna trgovina (izdelki, kupci)

- banka (stranke, računi)

- šola (študenti, predmeti)

- vozni red (prevozno sredstvo, časovnica)

- kino (filmi, gledalci)

- imenik (osebe, naslovi)

- blagajna (plačilno sredstvo, zavedba plačila)

- špedicija (zabojniki, časovnica)

- parkirni avtomat (stranke, časovnica)

Vsebina

Seminarska naloga

• prijava v aplikacijo (identifikacija uporabnika)

• povezava s podatkovno bazo (uporaba ORM)

• administriranje baze (urejanje uporabniškega imena in gesla)

• vnos, spreminjanje, sortiranje in iskanje podatkov znotraj aplikacije

• vnos in izvoz podatkov (XML, csv datoteke)

• tiskanje podatkov (račun, potrdilo, izpis, ...)

• uporaba komponent za paralelno izvajanje

• lokalizacija uporabniškega vmesnika

• logiranje

• uporaba konfiguracijske datoteke

• uporabniška dokumentacija (opis, instalacija, uporaba, ...)

• uporaba komentarjev pri kodiranju

• stil kodiranja (camel Case, Pascal Case)

Priporočila

Seminarska naloga

Ocena

• Smernice: 7-10 priporočil ( <= 8)

Oddaja

• Uporabniška dokumentacija (Word, PDF) 3 dni pred zagovorom po e-pošti

• Vsebina: Naslovna stran, Opis oz. vsebina naloge, Navodila uporabe

aplikacije

Zagovor

• Zagovor naloge na izpitu.

• Izvorna koda (rešitev oz. projekt) in dokumentacija na elektronskem

nosilcu ali po e-pošti ob uspešnem zagovoru

• Prezentacija delujoče aplikacije (delovanje se preveri na zagovoru)

Domača naloga

• 4 naloge, ki se oddajo do naslednjega termina po e-pošti

• Vsebina nalog bo uporabna za seminarsko nalogo

Izpit

• Pisni del se deli na teorijo in izvedbo naloge v Visual C#

• Pozitivna ocena – doseženo vsaj polovico točk iz teorije ter vsaj polovico iz

praktičnega dela

Programiranje

• Ustvarjanje kode, ki jo je možno vzdrževati oz. nadgrajevati

Cilj

Smernice

• Preprostost – lažja čitljivost kode

• YAGNI – You Aren’t Going to Need It

• LRM – Last Responsible Moment - usklajevanje naročnika in izvajalca

• DRY – Don’t Repeat Yourself

• Eksplicitnost

• Odvisnost (Coupling)

• Testiranje (Unit testing)

.NET Okolje

Programska platforma za razvoj aplikacij, s poudarkom na:

• objektno orientiranim programiranjem

• interoperabilnosti

• prenosljivosti

• varnosti

• modularnosti

• jezikovna neodvisnost znotraj .NET (CLI)

Vsebuje pester nabor jezikov:

• C++,

• C#,

• Visual Basic, VBScript,

• J#, JScript

V osnovi sestavljena iz:

• zbirke knjižnic (.NET Framework Classs Library)

• skupnega izvajalnega okolja (CLR – Common Language Runtime)

CLR

Vsi programi pisani v .NET okolju se izvajajo v CLR:

• izbris mej med programskimi jeziki

• omejitev dostopa do sistemskih datotek in drugih pomembnih podatkov

CLR – virtualni procesni stroj (VM):

• izolirani OS znotraj gostujočega OS z omogočitvijo izvajanja programov

• ločitev programskega dela od strojnega (neodvisnost - prenosljivost)

• stabilnost delovanja

Programom zagotavlja določene lastnosti na področju:

• rokovanja s pomnilnikom (memory management)

• varnosti

• rokovanja z izjemami (exception handling)

Framework Class Library

Je objektno orientirana zbirka knjižnic, vmesnikov ter vrednostnih tipov:

• vsebuje več kot 6000 razredov iz katerih gradimo aplikacije ali ustvarimo

svoje zbirke razredov in vmesnikov

• hiarhična ureditev (namespace)

• (System.*, Microsoft.*)

• na voljo vsem CLI programskim jezikom

Zbirka omogoča razvoj naslednjih tipov aplikacij:

• aplikacije v terminalskem okolju (Console)

• aplikacije v Windows okolju (Windows Forms, Windows Services)

• aplikacije v Internet okolju (ASP.NET, XML Web Services)

C# je eden izmed Microsoftovih programskih jezikov za .NET:

• preprost, moderen, splošno namenski, objektno orientiran, visokonivojski,

komponentno usmerjen programski jezik

• standardiziran po Ecma (ECMA-334) in ISO (ISO/IEC 23270:2006)

• strong type checking, bounds checking

• prenosljiv

• namenjen tako za izdelavo aplikacij za gostujoče ali vgrajene sisteme

Verzija Datum izdaje .NET verzija Visual Studio

C# 1.0 2002 .NET 1.0 VS .NET 2002

C# 1.2 2003 .NET 1.1 VS .NET 2003

C# 2.0 2005 .NET 2.0 VS 2005

C# 3.0 2007 .NET 2.0, 3.0, 3.5 VS 2008, 2010

C# 4.0 2010 .NET 4.0 VS 2010

C# 5.0 2012 .NET 4.5 VS 2012, 2013

Programski jezik C#

Visual Studio in C#

Zagon: Start meni->Vsi Programi->

Visual Studio 2013->

Visual Studio 2013

• Solution (rešitev) je največja organizacijska enota, ki lahko vsebuje več projektov.

• Projekt lahko pripada eni ali več rešitvam.

• Projekti v rešitvi so lahko izvedeni v različnih programskih jezikih.

• Projekt vsebuje izvorne datoteke, ki jih prevajalnik (compiler) prevede v

objektne datoteke (.obj), povezovalnik (linker) pa le-te poveže v izvedbeno

datoteko (aplikacijo) s končnico .exe ali dinamično knjižnico opredeljeno s

končnico .dll. Celoten postopek se imenuje gradnja aplikacije (building).

Izbira tipa aplikacije:

-Console Application (terminalska aplikacija)

-Windows Forms Application (okenska aplikacija – z GUV)

Verzija

.NET okolja

Ime projekta

Lokacija projekta

Ime rešitve

Tip aplikacije

Orodjarna (objekti za obrazce) - Toolbox

Urejevalnik kode – Editor

Urejevalnik obrazca – Form Editor

Izhodno okno - Output,

Seznam napak – Error list,

Seznam opravil – Task list

Lastnosti objektov –

Properties

Raziskovalec – Solution Explorer

Imenski prostor

Naše aplikacije

Napoved uporabljenih imenskih prostorov (namespace)

Začetek razreda

oz. programa

Metoda/funkcija Main s poljem

argumentov tipa string

IntelliSense podpora oz. pomoč

Reference

IntelliSense

Nudi več vrst pomoči:

• List Members (Ctrl + J) prikaz seznama vseh članov (members) atributa

• Parameter info (Ctrl + Shift + Space) informacije o parametrih metode

• Quick Info (Ctrl + I) hitra pomoč

• Complete Word (Ctrl-Space) dokončnje besede

Izgradnja in zagon projekta

Samo prevajanje projekta (meni Build):

• Build Solution (F6)

• ReBuild Solution

• Clean Solution

• Build Project (Shift + F6)

V primeru napake se v oknu Error List izpiše informacija o številu in vrsti

napak (skupaj z informacijo o vrstici in stolpcu napake v urejevalniku kode).

Prevajanje in zagon projekta (meni Debug):

• Start Debuging (F5)

• Start Without Debuging (Ctrl + F5)

Dva načina gradnje projekta:

• Debug mode

• Release mode (izvršna koda ne vsebuje izvorne kode)

Struktura projekta

Izvršna koda

Izvorna koda razreda Program

Dodatni uporabljeni razredi

(imenski prostor)

Globalne lastnosti projekta

(avtor, podjetje, verzija, …)

Dodatne informacije

za razhroščevalnik

Napake

Napake delimo :

• napake pri prevajanju (Compile Time Error)

• napake pri izvajanju (Run Time Error)

• logične napake (Logical Error)

Izpis napake

(z miško čez rdeče označeno besedo)

Komentarji

Označeni deli besedila, ki niso del programske kode. Omogočajo boljšo

preglednost kode. V komentarjih je lahko podrobneje razložena izvedena

logika v opisnem načinu.

Tri načini komentiranja:

• dve poševnici // (enovrstični komentar)

• par znakov /* in */ (večvrstični komentar)

• trije znaki /// (dokumentacijski komentarji)

Komentiranje označenega

besedila

Odkomentiranje označenega

besedila

Okenske aplikacije

Orodjarna

Text

Text

Text, Multiline,

Scrollbars

Form.cs [Design]

Form.cs

Form.Designer.cs

Okenske aplikacije

Sami ne delamo sprememb!!!

Okenske aplikacije – lastnosti

Kategorizacija

Sortiranje

Lastnosti

Dogodki

Seznam elementov na obrazcu

Programsko dodajanje lastnosti

Okenske aplikacije – dogodki

Form.Designer.cs (InitializeComponent)

Form.cs

Okenske aplikacije – preimenovanje

Preimenovanje obrazca

Preimenovanje lastnih metod

Okenske aplikacije – glavne datoteke

Organizacija projektov

Nastavitve

Lastnosti projekta (verzija, avtor, …)

Izvorna koda, ki pripada obrazcu

Obrazec (vizualni izgled s komponentami)

Dodatni viri obrazca (slike, besedila ikone)

Specifične informacije za posamezni projekt

Program.cs

Okenske aplikacije – glavne datoteke

Vizualni projekt

Inicializacija

Zagon obrazca

Poimenovanje spremenljivk

• V uporabi velike in male črke, cifre ter podčrtaj,

• Prvi znak je črka,

• Ne uporabljamo podčrtajev v imenih spremenljivk,

• Imena spremenljivk naj se ne razlikujejo samo v veliki in mali začetnici,

• Začetek spremenljivke z malo črko,

• Če je ime spremenljivke sestavljeno iz več besed se vsaka naslednja prične

z veliko začetnico (camel Case)

Podatkovni tipi po vrednosti (value type)

Podatkovni tipi po referenci (reference type)

• class (razred)

• interface (vmesnik)

• string

• delegate (delegat)

• object (objekt)

Stack (sklad) Heap (kopica)

referenca –

kazalec A

B

C

BA

C

Podatkovni tipi – pretvarjanje

Uporaba razreda Convert

Casting

Podatkovni tip – string (String)

Podatkovni tip – string (String)

Formatiranje števil

Uporaba metode ToString

Formatiranje števil

Uporaba metode String.Format

Formatiranje števil - custom

top related