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:naturalnie_pl:start [2010/06/16 22:40]
ztb2010
pl:dydaktyka:ztb:2010:projekty:naturalnie_pl:start [2019/06/27 15:50] (aktualna)
Linia 119: Linia 119:
  
  
-==== Analiza ​hierarchii funkcji ​projektowanej aplikacji ​====+==== FHD — diagramy ​hierarchii funkcji ====
  
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​fhd.png}}
 +==== WBS (Work Break-down Structure) ====
  
-==== Budowa i analiza diagramu przepływu danych ====+{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​wbs.jpg}}
  
 +==== DFD (Data Flow Diagram) ====
 +
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​dfd.png|}}
  
 ==== Wybór encji (obiektów) i ich atrybutów ==== ==== Wybór encji (obiektów) i ich atrybutów ====
  
 +W systemie będą istniały nastepujace encje: Udostepnianie danych, dane pomiarowe, info o uzytkownikach,​ techniczna klasa o uzytkownikach.
 +
 +
 +
 +^Pole ^Typ ^Możliwy null ^Klucz ^Extra ^Opis^
 +|  **nfp_SHARES** ​ |||||||
 +| ID_ |int| |PK|Autoincrement|Identyfikator udostępniania|
 +|OWNER_ID|uniqueidentifier| |FK|aspnet_Users.UserId|Użytkownik udostępniający|
 +|OBSERVER_ID|uniqueidentifier| |FK|aspnet_Users.UserId|Osoba otrzymująca dostęp|
 +|PRIVILAGES|nchar(30)| | | |Zakres udostępnionych danych|
 +|  **nfp_MEASUREMENT_DATA** ​ |||||||
 +|ID_|int| |PK|Autoincrement|Identyfikator pomiaru|
 +|USER_ID|uniqueidentifier| |FK|aspnet_Users.UserId|Identyfikator użytkownika|
 +|TEMP|float| ​ X  | | |Zmierzona temperatura|
 +|CERV_FLUID|int| ​ X  | | |Rodzaj obserwowanego śluzu|
 +|SPOTTING|int| ​ X  | | |Rodzaj krwawienia|
 +|INTERCOURSE|int| ​ X  | | |Typ odbytych stosunków|
 +|DATE|smalldatetime| | | |Data pomiaru|
 +|FERTILE|int| ​ X  | | |Obliczona płodność|
 +|  **nfp_USERS_INFO** ​ |||||||
 +|USER_ID|Uniqueidentifier| |PK,​FK|aspnet_Users.UserId | |
 +|EMAIL|varchar(50)| ​ X  | | |Adres email|
 +|NAME|varchar(20)| ​ X  | | |Imię|
 +|SURNAME|varchar(20)| ​ X  | | |Nazwisko|
 +|BIRTHDATE|datetime| ​ X  | | |Data urodzenia|
 +|STATE|varchar(20)| ​ X  | | |Województwo|
 +|POSTCODE|varchar(10)| ​ X  | | |Kod pocztowy|
 +|CITY|nchar(10)| ​ X  | | |Miasto|
 +|FEMALE|bit| | | |Płeć|
 +|STREET|varchar(40)| ​ X  | | |Ulica|
 +|  **aspnet_Users** ​ |||||||
 +|ApplicationId|uniqueidentifier| |FK|aspnet_Applications.ApplicationId|Identyfikator aplikacji|
 +|UserId|uniqueidentifier| |PK| |Identyfikator użytkownika|
 +|UserName|nvarchar(256)| | | |Nazwa użytkownika|
 +|LoweredUserName|nvarchar(256)| | | |Nazwa użytkownika małymi literami|
 +|MobileAlias|nvarchar(16)| ​ X  | | | |
 +|IsAnonymous|bit| | | | |
 +|LastActivityDate|datetime| | | |Data ostatniej aktywności|
 +
 +==== ERD — diagramy zwiazków encji ====
 +
 +
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​alltables.jpg}}
 +
 +==== DFD — diagramy przepływu danych ====
 +==== STD (State Transition Diagram) ====
 +
 + ​{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​std.jpg}}
 +
 +==== Projekt logiczny ====
 +=== Projekt tabel ===
 +
 +Patrz pkt. 9
 +
 +=== Normalizacja ===
 +Tak proste tabele spełniają założenia 3. postaci normalnej.
 +=== Mapowanie bazy danych ===
 +
 +Zastosowalismy technologię LINQ TO SQL, ktora dostarcza ​ zintegrowany język zapytań pozwalający na mapowanie relacyjnych baz danych na model obiektowy. ​ Jest to technologia napisana pod bazy MS SQL Server. Dostepne jest narzędzie dblinq udostępniające podaną funkcjonalność na pozostałe bazy, jednak obecnie nie jest ono jeszcze wystarczająco rozwinięte by uzywać je w dużych komercyjnych projektach. ​
 +
 +Cała koncepcja opiera się na mapowaniu do tabeli konkretnych.
 +Stosujemy model trójwarstwowy,​ caly projekt opiera sie na frameworku MVC (model view controller). Komunikacja z bazą danych odbywa się za pośrednictwem klasy repozytorium. ​
 +Proste zapytanie w LINQ to SQL: 
 +<​code>​from nfp_MEASUREMENT_DATA in db.nfp_MEASUREMENT_DATAs
 +                      where nfp_MEASUREMENT_DATA.USER_ID == user_id
 +                      orderby nfp_MEASUREMENT_DATA.DATE ascending
 +                      select nfp_MEASUREMENT_DATA;</​code>​
 +LINQ zamienia na: 
 +<​code>​SELECT [t0].[ID], [t0].[USER_ID],​ [t0].[TEMP],​ [t0].[CERV_FLUID],​ [t0].[SPOTTING],​ [t0].[INTERCOURSE],​ [t0].[DATE],​ [t0].[FERTILE]
 +FROM [dbo].[nfp_MEASUREMENT_DATA] AS [t0]
 +WHERE [t0].[USER_ID] = @p0
 +ORDER BY [t0].[DATE]</​code>​
 +
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​linqklasy.jpg}}
 +
 +==== Projekt fizyczny: implementacja ====
 +=== Platforma===
 +Zdecydowalismy się uzywać platformy .NET, dokładnie frameworka MVC. 
 +Jako bazę danych wybraliśmy SQL Server 2008, hosing będziemy mieli zewnętrzny.
 +
 +=== Implementacja bazy===
 +Baza została na czas testów zainstalowana razem z serwerem Team Foundation Server na dedykowanym serwerze wewnątrz sieci AGH. Docelowo zostanie przeniesiona na zewnętrzny hosting.
 +=== Interfejsy===
 +
 +== Podstawowe interfejsy: ​ ==
 +  * Wprowadzanie danych:
 +
 + ​{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​enter_data.jpg}}
 +
 +  * Wyswietlanie wykresow:
 +
 +{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:​chart.jpg}}
  
-==== Projektowanie powiązań (relacji) pomiędzy encjami ====+  * Kalendarz obrazujący stan płodności dla poszczególnych dni:
  
-{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​upr_krakow:diagram_relacji.png|}}+{{:​pl:​dydaktyka:​ztb:​2010:​projekty:​naturalnie_pl:calendar.jpg}}
  
-==== Projekt diagramów STD (State Transition Diagram – diagramy przejść pomiędzy stanami) ​====+=== Wprowadzanie danych ​=== 
 +Wprowadzanie danych do bazy nie stanowi żadnego problemu, na poziomie mapowania LINQ bazy danych mamy pełną walidację
 +==Użytkowanie systemu===
  
-=== Diagram stanów dla użytkownika zalogowanego ​gościa ===+Użytkownik pierwszy raz odwiedzający serwis powinien zarejestrować się, wprowadzić przykładowe dane, już po paru dniach może odczytać pierwsze wyniki. Dodatkowo powinien odwiedzic dział „Dowiedz się więcej” gdzie może zaczerpnąc więcej wiedzy teoretycznej na temat użytkowania serwisu oraz stosowanych metod.
  
 +=== Utrzymywanie i administracja systemu===
 +Ponieważ serwis będzie na wykupionej platformie hostingowej nie musimy się martwić administracją.
 +=== Kierunki rozwoju===
 +Przede wszystkim będziemy dążyć do zaimplementowania możliwości rejestrowania danych z urządzeń mobilnych (telefon, palmtop). ​
  
-=== Diagram stanów dla redaktora i administratora ​===+==== Literatura==== 
 +[1] Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2), ​ Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides 
 +[2] http://​msdn.microsoft.com/​
pl/dydaktyka/ztb/2010/projekty/naturalnie_pl/start.1276720838.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