Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:ztb:2010:projekty:minibus:start [2010/06/01 23:49]
ztb2010
pl:dydaktyka:ztb:2010:projekty:minibus:start [2019/06/27 15:50] (aktualna)
Linia 86: Linia 86:
  
 ===== 8. Wybór encji (obiektów) i ich atrybutów ===== ===== 8. Wybór encji (obiektów) i ich atrybutów =====
-<​code>​+<​code ​java>
 @Entity @Entity
 @Table(name="​COMPANIES"​) @Table(name="​COMPANIES"​)
Linia 217: Linia 217:
 @Entity @Entity
 @Table(name="​USERS"​) @Table(name="​USERS"​)
- 
 public class User implements Serializable { public class User implements Serializable {
  
Linia 243: Linia 242:
  
 ===== 9. Projektowanie powiązań (relacji) pomiędzy encjami (ERD) ===== ===== 9. Projektowanie powiązań (relacji) pomiędzy encjami (ERD) =====
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​erd.png|}}+{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​erd2.png|}}
  
  
Linia 253: Linia 252:
 {{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​std2.png|}} {{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​std2.png|}}
  
 +===== 11. Projektowanie tabel, kluczy, kluczy obcych, powiązań między tabelami, indeksów =====
  
-===== <%TUTAJ WPISZ OSTATNIA CYFRE%>. Interfejs użytkownika ​(podstawowe elementy===== +<code sql> 
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​aktualnosci.png|}}+CREATE TABLE companies 
 +( 
 +  id bigint NOT NULL, 
 +  "​name"​ character varying(255NOT NULL, 
 +  mail character varying(255) NOT NULL, 
 +  owner_id bigint, 
 +  CONSTRAINT companies_pkey PRIMARY KEY (id), 
 +  CONSTRAINT fk51e1f1bbedbce178 FOREIGN KEY (owner_id) 
 +      REFERENCES users (id) MATCH SIMPLE 
 +      ON UPDATE NO ACTION ON DELETE NO ACTION 
 +)
  
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​rejestracja.png|}} 
  
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​profil.png|}}+CREATE TABLE courses 
 +
 +  id bigint NOT NULL, 
 +  description character varying(255),​ 
 +  hours character varying(255),​ 
 +  owner_id bigint, 
 +  CONSTRAINT courses_pkey PRIMARY KEY (id), 
 +  CONSTRAINT fk63e4af986eae0d5e FOREIGN KEY (owner_id) 
 +      REFERENCES companies (id) MATCH SIMPLE 
 +      ON UPDATE NO ACTION ON DELETE NO ACTION 
 +
 + 
 + 
 +CREATE TABLE opinions 
 +
 +  id bigint NOT NULL, 
 +  positive boolean, 
 +  description character varying(255),​ 
 +  company_id bigint, 
 +  CONSTRAINT opinions_pkey PRIMARY KEY (id), 
 +  CONSTRAINT fk176ead31d905f754 FOREIGN KEY (company_id) 
 +      REFERENCES companies (id) MATCH SIMPLE 
 +      ON UPDATE NO ACTION ON DELETE NO ACTION 
 +
 + 
 + 
 +CREATE TABLE places 
 +
 +  id bigint NOT NULL, 
 +  city character varying(255) NOT NULL, 
 +  "​name"​ character varying(255) NOT NULL, 
 +  lon numeric(19,​2),​ 
 +  lat numeric(19,​2),​ 
 +  CONSTRAINT places_pkey PRIMARY KEY (id) 
 +
 + 
 + 
 +CREATE TABLE stops 
 +
 +  id bigint NOT NULL, 
 +  ordernumber integer NOT NULL, 
 +  "​cost"​ numeric(19,​2),​ 
 +  lag numeric(19,​2),​ 
 +  place_id bigint, 
 +  course_id bigint, 
 +  CONSTRAINT stops_pkey PRIMARY KEY (id), 
 +  CONSTRAINT fk4b9009137509994 FOREIGN KEY (place_id) 
 +      REFERENCES places (id) MATCH SIMPLE 
 +      ON UPDATE NO ACTION ON DELETE NO ACTION, 
 +  CONSTRAINT fk4b90091894e45e0 FOREIGN KEY (course_id) 
 +      REFERENCES courses (id) MATCH SIMPLE 
 +      ON UPDATE NO ACTION ON DELETE NO ACTION 
 +
 + 
 + 
 +CREATE TABLE users 
 +
 +  id bigint NOT NULL, 
 +  "​name"​ character varying(255) NOT NULL, 
 +  "​password"​ character varying(255) NOT NULL, 
 +  mail character varying(255) NOT NULL, 
 +  "​role"​ integer NOT NULL, 
 +  CONSTRAINT users_pkey PRIMARY KEY (id) 
 +
 + 
 + 
 +CREATE SEQUENCE hibernate_sequence 
 +  INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; 
 +</​code>​ 
 + 
 +===== 12. Analiza zależności funkcyjnych i normalizacja tabel ===== 
 +Wydaje się, że baza danych spełnia założenia 3NF. Wynika to z faktu, że przechowywane w niej dane są istnotnie atomiczne - z punktu widzenia implementacji projektu. W każdej tabeli atrybuty są w pełni bezpośrednio zależne od klucza głównego. Generalnie baza była projektowana tak by przy możlie maksymalnej funkcjonalności tabel, zapewnić trzecią postać normalną. 
 + 
 +===== 13. Projektowanie operacji na danych ===== 
 +Kwerendy i zapytania wynikają z mechanizmu mapowania obiektowo relacyjnego w j2ee i są poniekąd dostarczone przez klasę EntityManager standardu JPA Hibernate. Pozostałe zapytania w celu optymalizacji wydajności pracy aplikacji zrealizowane zostały jako NamedQuery - zapytania prekompilowane i stworzone przy użyciu składni HQL - Hibernate Query Language. Można je zobaczyć nad kodem encji do których przynależą. 
 + 
 + 
 +===== RAPORT KOŃCOWY ===== 
 + 
 +===== 14. Stos technologiczny ===== 
 +Aplikacja zrealizowana jest na bazie wzorca projektowego MVC (model widok kotroller). 
 +Sklada sie z 3 wyraznie wyrożnionych warstw: 
 +  * baza danych - Postrgres 8.3, Mapowanie relacyjno obiektowe standard Java JPA Persistence 
 +  * logika biznesowa - Zrealizowana za pomocą technologii EJB 3.0 
 +  * widok - Zrealizowany za pomocą JSF (java server faces 1.2) z nakładką jQery oraz jQueryUI 
 + 
 + 
 +===== 15. Implementacja bazy danych ===== 
 +Patrz punkt 11. Projektowanie tabel, kluczy, kluczy obcych, powiązań między tabelami, indeksów. 
 + 
 + 
 +===== 16. Zdefiniowanie interfejsów do prezentacji,​ edycji i obsługi danych ===== 
 + 
 +-formularz rejestracji użytkownika 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​rejestracja1.png|}} 
 + 
 + 
 +-formularz logowania użytkownika 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​logowanie1.png|}} 
 + 
 + 
 +-formularz zakładania firmy przez użytkownika 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​dodawanie_firmy1.png|}} 
 + 
 + 
 +-formularz edycji danych użytkownika 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​moje_dane.png|}} 
 + 
 + 
 +-formularz dodawania komentarzy 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​komentarze1.png|}} 
 + 
 + 
 +-formularz dodawania połączenia 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​dodawanie_polaczenia1.png|}} 
 + 
 + 
 +-formularz wyszukiwania połączeń
  
 {{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​wyszukiwanie1.png|}} {{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​wyszukiwanie1.png|}}
  
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​wyszukiwanie2.png|}} 
  
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​dodawanie.png|}}+===== 17. Zdefiniowanie dokumentów do przetwarzania i prezentacji danych ===== 
 + 
 +-prezentacja wyników wyszukiwania 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​wyszukiwanie1.png|}} 
 + 
 + 
 +-prezentacja dodanej trasy 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​dodawanie_polaczenia2.png|}} 
 + 
 + 
 +-prezentacja aktualnosci 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​aktualnosci1.png|}} 
 + 
 + 
 +-prezentacja komentarzy 
 + 
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​minibus:​komentarze1.png|}}
pl/dydaktyka/ztb/2010/projekty/minibus/start.1275428945.txt.gz · ostatnio zmienione: 2019/06/27 15:56 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0