YAZILIM  GELISTIRME  PROJESI
 



   


  PROJE TEKLIFI
ANALIZ
TASARIM
GERCEKLESTIRIM
TEST

 
 
 

 

Gerçekleştirim Belgesi

 

 

 

 

Sanat Ürünleri Online Teşhiri ve Satışı

Gözde SARIAYAN

s11082

 

 

 

 

Gerçekleştirim Belgesi

 

Yazılım Geliştirme Projesi

Bilgi Teknolojileri Sertifika Programı

İDEA: ODTÜ Sanal Kampüsü
  

 

20.06.2008


Öz

Proje kapsamında daha önce verilen analiz,tasarım belgelerine büyük ölçüde sadık kalınmıştır. Bu belgede karşılaşılan sorunlar,üretilen çözümler,yazılımın kodlama evresinde gelişen durumlar ve modüllerin çalışma yöntemi gösterilmiştir.

Karşılaşılan Sorunlar ve Uygulanan Çözümler

Önceden bildirilen raporlarda seçilen yöntemlerden veritabanlarının ayrı tutulması fikrinden vazgeçilmiştir. Tüm bilgiler tek bir veritabanında tutulmuştur.

Zaman kısıtlılığından dolayı arama,yorum ekleme ve talep bildirme opsiyonları daha sonraya ertelenmiştir.

Yazılım tam olarak bitirilemediğinden yayınlanması test aşamasından sonraya ertelenmiştir.

Arayüz tasarımında Adobe Photoshop,Flash Menu Maker gibi programlar kullanılmıştır.

Php derleyecisi olarak Zend Development Environment programı kullanılmıştır.

Sitenin genel durumu,kontrol ve ayarlamaları,veritabanı kontrolü için Wamp Server programı kullanılmıştır.

Kullanıma dair genel güncellemelerin test aşamasına kadar bitirilmesi planlanmıştır.

Yazılımın amacı ürün satışı olduğundan sanal pos uygulaması uygun düşmektedir. Bu yöntem yazılım iyileştirmelerinde düşünülmektedir. Geçici olarak karşılıklı anlaşmalı havale düşünülmüştür. Yöntemler hakkında araştırma devam etmektedir. Bu özellik yazılıma daha sonra ilave edilecektir.

Yazılımda yorum ve talep ekleme modülleri menüden ulaşılabileceği gibi ürünlerin altında olacak bölümlerden de yapılabilecektir.Bu opsiyon daha sonraya ertelenmiştir.

Yazılımın menüleri ve kullanım modüllerinin görsel tasarımlarında iyileştirme yapılacaktır. 

Yazılımın açılışına flash bir intro düşünülmektedir. 

 

Yazılımın Bileşenleri ve Görevleri

Veri Tabanı Yapısı  

CREATE TABLE `user` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
`adress` longtext NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


CREATE TABLE `comment` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`comment` longtext NOT NULL,
`datetime` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;



CREATE TABLE `offer` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`artname` varchar(65) NOT NULL default '',
`offer` float NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;



CREATE TABLE `art` (
`id` int(4) NOT NULL auto_increment,
`artname` varchar(65) NOT NULL default'',
`artpic` binary NOT NULL,
`info` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


CREATE TABLE `admin` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`adminname` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
`adress` longtext NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;



Veriler analiz ve tasarım belgelerinde planlandığı gibi admin ve user olarak değil 'database' adıyla tek bir veritabanında tutulmuştur. 5 adet tablodan oluşan bu veritabanın özellikleri yukarıdaki gibidir.

Modüller

config.php

$host="localhost";
$username="*****";
$password="*****";
$db_name="database";


mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select db");

Gerekli olduğunda aşağıdaki şekilde çağrılıp çalıştırılan veritabanı bağlantı modülü

<?php

include("config.php");

$tbl_name="art";
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

?>

Bu şeklinde verilerin istenilen tabloya işlenmesini sağlar.

index.php

Yazılımın giriş sayfasını oluşturan bölüm,karşılama ve menü gibi özelliklere sahip olan modül.

register.php

Yazılımın kayıt formunu oluşturan modül.

registercheck.php

Kullanıcının girdiği bilgilerin yeterli olup olmadığı,boş alan olup olmadığı(* ile gösterilen zorunlu alanların doldurulmuş olması) gibi bilgileri kontrol edip veritabanına işleyen modül.Doğrulanan bilgilerin ardından userlogin fonksiyonunu çağırmaktadır.

login.php

Yazılımın giriş seçeneklerini gösteren modül diğer giriş modüllerine ulaşılmasını sağlar.

userlogin.php

Yazılımda kullanıcı girişinin sağlandığı modül.Kullanıcı bilgileri alınıp veritabanından karşılaştırılarak siteye giriş izni verilir.

userchecklogin.php

Yazılımda userlogin fonksiyonunun çağırdığı login işleminde girilen bilgilerin doğrulanması için gerekli kodların bulunduğu fonksiyon.Login işlemi doğru bir şekilde gerçekleştiğinde userloginsuccess fonksiyonunu çağırır.Başarısız login işleminde uyarı basar.

userloginsuccess.php 

session_start();
if(!session_is_registered(username)){
header("location:userlogin.php");
}
?>

<html>
<body>
echo "Hoşgeldin $username";
</body>

döngüsüyle işlemin başarılı olduğunda karşılama basıp başarısız olduğunda kullanıcı girişi modülünü çağıran fonksiyon.

adminlogin.php

Yazılımda admin girişinin sağlandığı modül.Admin bilgileri alınıp veritabanından karşılaştırılarak site yönetimine izin verilir.

adminchecklogin.php

Yazılımda adminlogin fonksiyonunun çağırdığı login işleminde girilen bilgilerin doğrulanması için gerekli kodların bulunduğu fonksiyon.Login işlemi doğru bir şekilde gerçekleştiğinde adminloginsuccess fonksiyonunu çağırır.Başarısız login işleminde uyarı basar.

adminloginsuccess.php

Admin kullanıcı adını veya şifresini yanlış girdiğinde login sayfasına geri döndürerek baştan giriş yapılmasını sağlar. Doğru girilen bilgilerden sonra giriş izni çıkar ve menü ekrana gelir.

<?
session_start();
if(!session_is_registered(adminname)){
header("location:adminlogin.php");
}
?>

<html>
<body>
echo "Hoşgeldin Admin";
</body>

add.php

Yazılımda admin girişiyle açılan ürün ekleme modülü.

addcheck.php

Ürün adı,resmi ve bilgisi gibi veriler alınıp veritabanına işlenmesini sağlar.İlk modülde belirtilen yolların çağrılarak veritabanına işlenmesini,işlemin başarılı ya da başarısız olduğunu kontrol eden modül.

listinguser.php

Kullanıcı giriş yaptıktan sonra çağrılan fonksiyon.Kullanıcının yetki seviyesi dahilince ulaşabildiği opsiyonları menü şekilden açar.

listingadmin.php

Admin giriş yaptıktan sonra çağrılan fonksiyon. Sitenin ürün bilgisi yönetimini menü olarak açar.

logout.php

Yazılımda kullanıcıların sistemden çıkışlarını sağlayan modül.

<?
session_start();
session_destroy();
?>

about.php

Site yöneticisi hakkında resim ve bilgi gibi verilerin gösterilmesini sağlayan modül.

search.php(bitirilemedi)*

Yazılımda ürünlerin tutulduğu veritabanında kelime tabanlı arama yapılmasını sağlayan modül.

comment.php(bitirilemedi)*

Yazılımda kullanıcıların ürünler hakkında yorum ekleyebileceği modül.

offer.php(bitirilemedi)*

Yazılımda kullanıcıların ürünler için fiyat belirtileceği modül.

*Bu modüller test aşamasına kadar bitirilip teste tabi tutulacaktır.

 

Yazılımdan Kesitler

Yazılımın ana sayfası aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

   Yazılımın kayıt bölümü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

  Yazılımın giriş bölümü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

  Yazılımın kullanıcı giriş bölümü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

  Yazılımın kullanıcı menüsü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

Yazılımın arama aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

Yazılımın admin girişi aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

Yazılımın admin menüsü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

Yazılımın ürün ekleme bölümü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

     



Yazılımın hakkımda bölümü aşağıdaki gibidir (Büyütmek için üzerine tıklayınız)

 

Kullanıcı Kılavuzu

Yazılımın amacı geleneksel,süsleme,plastik vs. gibi sanat dallarında ürün veren sanatçıların işlerini online olarak sergileyerek satabilmesidir.

Kullanım açısından kolay olması ve anlaşılırlık ön planda tutulmuştur.

Veritabanının manual kontrolü için phpMyAdmin önerilmektedir.

Kullanıcılar;

-Ürün inceleme

-Yorum ekleme

-Talep bildirme

-Yapılan yorumları okuyabilme

Admin;

-Ürün ekleme

-Ürün bilgisi değiştirme

-Kullanıcı taleplerini görebilme

-Kullanıcı yorumlarını okuyabilme

-Veritabanı kontrol

gibi özelliklere ulaşabilmektedir.


Site 'database' adlı bir adet veritabanından 'user','comment','offer','art','admin' adlı 5 tablodan oluşmaktadır.

Sistem PHP ve MySQL ve uyumlu her platformda çalışmaktadır.

Site modülleri şu şekildedir;

Veritabanı bağlantı modülü config.php
Anasayfa index.php
Kullanıcı kayıt formu register.php
Kullanıcı kayıt formu kontrol ve işleme modülü registercheck.php
Login sayfası login.php
Kullanıcı login modülü userlogin.php
Kullanıcı login bilgileri kontrol modülü userchecklogin.php
Kullanıcı login sonuç kontrol  modülü userloginsuccess.php
Admin login modülü adminlogin.php
Admin login bilgileri kontrol modülü adminchecklogin.php
Admin login sonuç kontrol modülü adminloginsuccess.php
Ürün ekleme modülü add.php
Ürün ekleme kontrol ve işleme modülü addcheck.php
Kullanıcı opsiyon menüsü modülü listinguser.php
Admin opsiyon menüsü modülü listingadmin.php
Arama modülü search.php
Yorum ekleme modülü comment.php
Teklif Bildirme offer.php
Hakkımda sayfası about.php
Sistem çıkış modülü logout.php