Professional Documents
Culture Documents
Strana|2
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
SADRŽAJ
1. OPIS FUNKCIONALNOSTI APLIKACIJE .............................................................. 4
2. TEHNOLOGIJE I ALATI ....................................................................................... 12
2.1 Sybase Power Designer ................................................................................. 12
2.2 My SQL ........................................................................................................... 13
2.3 Programski jezik C# ........................................................................................ 14
2.4 .NET Framework ............................................................................................. 14
2.5 Microsoft Visual Studio ................................................................................... 15
2.6 Web Service ................................................................................................... 17
2.7 Silverlight ........................................................................................................ 17
3. IMPLEMENTACIJA .............................................................................................. 20
3.1 Arhitektura projekta ......................................................................................... 20
3.2 Baza podataka ................................................................................................ 20
3.2.1 Konceptualni model .................................................................................. 21
3.2.2 Fizički model ............................................................................................ 22
3.2.3 Generisanje skriptova .............................................................................. 23
3.2.4 Storovane procedure ................................................................................ 24
3.3 Biznis logika .................................................................................................... 25
3.3.1 Struktura biznis logike .............................................................................. 26
3.3.2 Delovi koda .............................................................................................. 28
3.3.3 Lista implementiranih metoda Web servisa .............................................. 30
3.4 Klijentska aplikacija ......................................................................................... 33
4. PRAVCI DALJEG RAZVOJA ............................................................................... 36
Generisanje izveštaja ........................................................................................... 37
Povezivanje sa sličnim sistemima......................................................................... 37
5. LITERATURA ....................................................................................................... 38
Reference ............................................................................................................. 38
Web stranice ......................................................................................................... 38
Strana|3
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Korisnici koji prvi put pristupaju sajtu, duţni su da kreiraju novi nalog, kako bi
dobili svoje korisničko ime i lozinku. Kreiranje naloga se vrši klikom na link Kreiraj
novi nalog na formi za logovanje.
Strana|4
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Ukoliko korisnik ţeli da pogleda i izmeni svoje lične podatke to moţe uraditi
klikom na ikonicu “Podaci o korisniku” , koja otvara forme sa slike 1.5. Full screen
mod se aktivira klikom na poslednju ikonicu iz ove grupe , i omogućava prikaz
aplikacije po celoj radnoj površini monitora
Strana|5
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Sledeću grupu ikonica čine ikonice za odabir upitnika (slika 1.6). Klikom na
neku od njih korisnik selektuje upitnik sa kojim ţeli da radi. Podrţano je šest grupa
upitnika: „Nučni radovi“, „Naučno–istraţivački projekti“, „Učešća na skupovima“,
„Gostovanja stranih istraţivača“, „Studentski temati” i „Primena naučno-istraţivačkih
rezultata u nastavi“.
Nakon što korisnik odabere vrstu upitnika, ulazi u mod za rad sa selektovanim
upitnikom. Prikazuje se tabela sa podacima koje je korisnik ranije unosio (slika 1.7) i
funkcije za rad sa upitnikom (slika 1.8).
Strana|6
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Strana|7
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Strana|8
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
Strana|9
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 10
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 11
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
2. TEHNOLOGIJE I ALATI
2.1 Sybase Power Designer
PowerDesigner [3], [4] je aplikacija koja sadrţi skup alata za modeliranje.
Proizveden je od strane kompanije Sybase. Procenjuje se da PowerDesigner drţi
pribliţno 30% svetskog trţišta alata za modelovanje podataka. Na zvaničnom sajtu
[3] se moţe preuzeti besplatna vremenski ograničena (eng. trial) verzija.
S t r a n a | 12
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
2.2 My SQL
MySLQ je klučni deo LAMP (Linux, Apache, MySQL, PHP / Perl / Python)
projekta, brzorastućeg poslovnog softvera otvorenog koda. Sve više kompanija na
svetu koristi LAMP kao alternativu skupom softveru i zbog njegove platformske
nezavisnosti.
S t r a n a | 13
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 14
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 15
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 16
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
2.7 Silverlight
Silverlight [22], [23], [24] je moćna razvojna platforma (Web Application
framework) za kreiranje bogatih multimedijalnih i poslovnih aplikacija za Web,
S t r a n a | 17
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 18
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 19
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
3. IMPLEMENTACIJA
U implementaciji aplikacije su korišćeni Power Designer 15 i MySQL 5.1,
.NET Framework 3.5, Web service, ASP.NET i Silverlight 3.0 platforma.
3.1 Arhitektura projekta
Projekat se sastoji iz nekoliko slojeva, čiji je odnos prikazan na slici 3.1. Svaki
sloj je u stanju da razmenjuje podatke sa slojevima koji se nalaze neposredno iznad i
ispod njega.
STORED PROCEDURES
Data
DATA MySQL
S t r a n a | 20
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 21
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 22
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 23
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
DELIMITER $$
DROP PROCEDURE IF EXISTS `Login` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Login`(
IN pUserName VARCHAR(64),
IN pPassword VARCHAR(40)
)
BEGIN
SELECT u.`UserID`, u.`UserName`, u.`FirstName`, u.`LastName`, u.`EMail`, u.`DateCreate`,
u.`DateModify`, p.`PermissionID`, p.`Name` as 'PermissionName', p.`Level` as
'PermissionLevel', d.`DepartmentID`, d.`Name` as 'DepartmentName', o.`PositionID`,
o.`Name` as 'PositionName'
FROM users u
INNER JOIN permissions p ON p.PermissionID = u.PermissionID
INNER JOIN departments d ON d.DepartmentID = u.DepartmentID
INNER JOIN positions o ON o.PositionID = u.PositionID
WHERE u.IsDeleted = 0
AND u.UserName = pUserName
AND u.Password = SHA1(pPassword);
END $$
DELIMITER ;
S t r a n a | 24
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
WEB SERVICE
CONTROLLER
MODEL
S t r a n a | 26
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 27
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Data;
using System.Configuration;
namespace Server.Model
{
public class UserModel
{
private MySqlConnection _mycon { get; set; }
private string _query { get; set; }
public UserModel()
{
//create a new mysqlconnection
_mycon = new MySqlConnection(ConfigurationSettings.
AppSettings["ConnectionInfo"]);
_query = string.Empty;
}
#region Login
internal string Login(string UserName, string Password)
{
try
{
_query = "Call Login('" + UserName.Trim() + "','" +
Password.Trim() + "')";
. . .
#endregion
}
}
S t r a n a | 28
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Server.Model;
namespace Server.Controller
{
public class User
{
private UserModel _User { get; set; }
private DepartmentModel _Department { get; set; }
private PositionModel _Position { get; set; }
private PermissionModel _Permission { get; set; }
#region Login
public string Login(string UserName, string Password)
{
try
{
string result = string.Empty;
_User = new UserModel();
result = _User.Login(UserName, Password);
return result;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
. . .
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Server.Controller;
namespace Server
{
/// <summary>
/// Summary description for NIRWebService
S t r a n a | 29
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
/// </summary>
[WebService(Namespace = "http://goranpanic.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class NIRWebService: System.Web.Services.WebService
{
#region User
[WebMethod]
public string Login(string UserName, string Password)
{
try
{
User _controller = new User();
return _controller.Login(UserName, Password);
}
catch (Exception ex)
{
return ("Error: " + ex.Message);
}
}
. . .
#endregion
}
}
S t r a n a | 31
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 32
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 33
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
<controls:ChildWindow x:Class="NIR.View.LoginView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:System.Windows.Controls;
assembly=System.Windows.Controls" Width="300" Height="180"
Title="Logovanje na sistem" OverlayBrush="LightSteelBlue"
HasCloseButton="False">
<Grid x:Name="LayoutRoot" Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="lTextUserName" Text="Korisničko ime "
Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/>
<TextBox x:Name="lUserName" Grid.Row="2" Grid.Column="1"/>
Direktorijum Data sadrţi klasu AppInfo koja opisuje trenutno stanje sesije
korisnika i klase za validaciju podataka CheckValidation, CustomValidation i
Extension.
S t r a n a | 34
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
namespace NIR.Entities
{
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EMail { get; set; }
public string Password { get; set; }
public int PermissionID { get; set; }
public string PermissionName { get; set; }
public int PermissionLevel { get; set; }
public int DepartmentID { get; set; }
public string DepartmentName { get; set; }
public int PositionID { get; set; }
public string PositionName { get; set; }
public DateTime DateCreate { get; set; }
public DateTime DateModify { get; set; }
}
}
S t r a n a | 35
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
INTERNET
LOKALNA
MREŢA
WEB SERVICE
NIR SERVER
PODACI
S t r a n a | 36
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 37
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
5. LITERATURA
Reference
Službeni glasnik RS, br. 38/2008 (2008), “Pravilnik o postupku i načinu vrednovanja,
i kvantitativnom iskazivanju naučnoistraţivačkih rezultata istraţivača”, 14. Aprila,
Pravilnici str. 16. – 27.
Watson, B. (2010) “C# 4.0 How to”, Apress, New York
MacDonald, M. (2009) “Pro Silverlight 3 in C#”, Sams, Indiana
Web stranice
[1] Perun, Kvalitet nauke, dostupno na:
http://perun.im.ns.ac.yu/services/pub/kvalitet_nauke/ (pregledano 31. januara 2010.)
[2] Filozofski fakultet - Univerzitet u Novom Sadu, Pravilnik, dostupno na:
http://www.ff.uns.ac.rs/Files/Pravilnik o postupku i nacinu vrednovanja i kvant
iskazivanju naucnoistr rez.pdf (pregledano 28. marta 2010.)
[3] Sybase, Power Designer, dostupno na:
http://www.sybase.com/products/modelingdevelopment/powerdesigner (pregledano
29. marta 2010.)
[4] Wikipedia, PowerDesigner, dostupno na:
http://en.wikipedia.org/wiki/PowerDesigner (pregledano 29. marta 2010.)
[5] Wikipedia, Sybase, dostupno na:
http://www.csdn.net/subject/powerdesigner/techwave2005//dev427 model-driven
development with powerdesigner.pdf (pregledano 29. marta 2010.)
[6] MySQL, MySQL, dostupno na: http://www.mysql.com/ (pregledano 8. aprila
2010.)
[7] Wikipedia, MySQL, dostupno na: http://en.wikipedia.org/wiki/MySQL (pregledano
8. aprila 2010.)
[8] MSDN, Visual C# Developer Center, dostupno na: http://msdn.microsoft.com/en-
us/vcsharp/default.aspx (pregledano 8. aprila 2010.)
[9] Wikipedia, C Sharp (programming language), dostupno na:
http://en.wikipedia.org/wiki/C_Sharp_(programming_language) (pregledano 8. aprila
2010.)
[10] Tiobe, Programming Community Index for April 2010, dostupno na:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (pregledano 8.
aprila 2010.)
[11] Microsoft, .NET, dostupno na: http://www.microsoft.com/NET/ (pregledano 8.
aprila 2010.)
S t r a n a | 38
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 39
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 40