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:miw:miw08_ardcase_uml [2008/06/15 20:36]
miw
pl:miw:miw08_ardcase_uml [2008/06/16 15:59]
gjn
Linia 1: Linia 1:
-====== Opis ====== 
-Artur Poniedziałek (4AR) <​arturponiedzialek@gmail.com>​ 
- 
-Design ARD+, XTTv2: UML cases 
- 
-UML + MVC Cases – A search for design examples made with UML with MVC approach, esp. behavior diagrams are needed; examples should be complete and well documented in UML; evaluation of the existing cases; modelling selected examples with ARD+/​XTT+(v2) 
- 
-====== Spotkania ====== 
-  *[[pl:​miw:​miw08_ardcase_uml:​projekt|przebieg prac nad projektem]] 
- 
- 
- 
- 
- 
- 
- 
-====== Projekt ====== 
- 
-  *[[pl:​miw:​miw08_ardcase_uml:​aktualnewyniki|opracowanie projektu]] 
-  *[[pl:​miw:​miw08_ardcase_uml:​ard|rejestracja studentów w ARD]] 
-  *[[pl:​miw:​miw08_ardcase_uml:​ard_diagramy|uzyskane diagramy w ARD]] 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
- 
- 
- 
-==== 1. Cel projektu==== 
-Celem projektu było stworzenie diagramu ARD w oparciu o diagramy UML/MVC pewnego systemu. 
-W czasie prac związanych z wyszukiwaniem właściwych systemów uzgodniono, że projekt będzie dotyczył 
-systemu rejestacji studentów na seminaria. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-==== 2. Wykonanie projektu i wnioski ==== 
- 
-Naczelnym zadaniem w projekcie było uzyskanie diagramu ARD wybranego systemu, poprzez przedstawienie sposobu translacji diagramów UML. Kluczem do rozwiązania problemu było odnalezienie istotnych diagramów UML, istotnych czyli takich co w pierwszym przybliżeniu pasowałyby do właściwości "​prostych"​ oraz "​złożonych"​ (tzw. atrybuty fizykalne oraz konceptualne) funkcjonujących w terminologi ARD.  
- 
-Można zadać pytanie czy w ogóle istnieje funkcja przejścia (translacji) diagramów UML do ARD ? Na powyższe pytanie nie można tak po prostu odpowiedzieć. Jedno jest natomiast pewne diagramy w UML tworzy się od najbardziej ogólnych (przypadki użycia, diagramy klas dla dziedziny) po bardziej szczegółowe (diagramy klas w analizie, diagramy sekwencji i kooperacji). Nie inaczej jest w przypadku ARD: zaczynamy od pewnych ogólnych pojęć (atrybuty konceptualne) i poprzez ich podział lub zamianę osiągamy ​ na najbardziej szczegółowym poziomie atrybuty fizykalne oraz operacje jakie można na nich wykonać. ​ 
- 
-Temat projektu sugeruje wykorzystanie diagramów behawioralnych UML'a. Jest to sensowne podejście, ale wydaje się, że nie w początkowej fazie projektu. Skoro ARD to zbiór atrybutów i operacji to powinniśmy najpierw ustalić czym się zajmujemy a dopiero potem jak tego używamy. Nasuwa się  pomysł, że powinniśmy zacząć od struktury, czyli od diagramów klas w UML'​u. ​ 
- 
-Diagramy klas na wczesnym etapie projektu mają specyfikowany zbiór atrybutów i prostych operacji jakie zmieniają stan poszczególnych instancji (obiektów wspomnianych klas). Taki tok myślenia został właśnie przyjęty w projekcie. Na wstępie został wybrany zbiór najbardziej podstawowych właściwości z diagramów klas systemu UML, a następnie zaczynając od atrybutu konceptualnego zaczęto tworzyć system w ARD.  
-  
-Wygenerowany diagram w ARD przedstawia kilka istotnych informacji na temat modelowanego systemu: 
-  - System rejestracji studentów to tak naprawdę kilka mniejszych systemów, które ze sobą współpracują. 
-  - Pierwszy z podsystemów przedstawia relację, że plan studenta oraz historia jego seminariów są w związku z opłatą oraz terminem seminarium 
-  - Drugi z podsystemu przedstawia dwie relacje, że student jest w związku z prowadzącym,​ a prowadzący musi uwzględniać fakt czy student brał wcześniej udział w seminarium i czy są np. wolne miejsca aby zapisać studenta. 
-  - Trzeci podsystem przedstawia relację, że potwierdzenie zapisu jest dokonywane przez prowadzącego na podstawie utworzonej przez niego listy studentów. 
- 
-W tym momencie pozornie prosty system nieco się skomplikował. W istocie mamy teraz trzy mniejsze podsystemy, które pracują w pewien określony sobie sposób. Nasuwa się pytanie czy te systemy są niezależne ? Czy w ogóle mogą być niezależne skoro wszystkie dotyczą systemu rejestracji studenta ? 
- 
-Te i wiele innych pytań z całą pewnością mogą posłużyć za temat kolejnego projektu. Trzeba przeanalizować co nam daje informacja, że początkowo jeden system stał się nadsystemem w stosunku do nowych trzech systemów. Jak ten fakt dalej wykorzystać ? Czy jest to jedyny sposób realizacji rejestracji studentów ? Czy inne diagramy uml dałyby zbliżony diagram ARD analizowanego systemu ? 
- 
- 
- 
- 
- 
- 
-==== 3. Napotkane problemy ==== 
- 
-Trzeba powiedzieć na wstępie, że ARD jest stosunkowo słabo udokumentowane. Przykład termostatu jest specyficzny i nie objaśnia istoty finalizacji oraz podziału atrybutów konceptualnych. Oficjalne dokumenty opisujące ARD jak choćby [[hekate:​bib:​hekate_bibliography#​gjn2008flairs-ardprolog]] w prawdzie podają wiele przykładów split ( podziału ), ale nigdzie nie jest podany jeden kompleksowy przykład opisujący listy jakie trzeba podać jako "​argumenty"​ split'​a. Byłoby dobrze przedstawić podziału dla przykładowego atrybutu [ a , b , c ], który ma zostać podzielony na inne atrybuty np. [a,b] oraz [c] czy też [c] i [a,b] odpowiednio zależnościami [a,b] -> [c] ( [a,b] zależy od [c]) oraz [c] -> [a,b] ( [c] zależy od [a,b] ). 
-Krótko mówiąc opisać parametry splita: 
-  - atrybut do podziału np. [a,b,c,d,e] 
-  - lista nowych atrybutów np. [a,b] , [c], [d,e] 
-  - lista list połączeń między nowymi atrybutami np.  [ [ [a,b], [c] ], [ [c], [d,e] ] ]. 
- 
-Brak powyższego opisu sprawił, że godziny spędzone nad próbą tworzenia diagramu ARD w systemie Varda przeszły do historii jako "źle wykorzystane"​. 
- 
- 
-====== Materiały ====== 
- 
- 
-===== Linki do UML i MVC ===== 
-  
-  * [[http://​www.pst.informatik.uni-muenchen.de/​~kochn/​pUML2001-Hen-Koch.pdf|ogólnie o modelowaniu webowym]] 
-  * [[http://​services.eng.uts.edu.au/​~dbl/​archive/​2003-Low02b.pdf|rozrzerzenie UMLa o diagramy potrzebne do modelowania MVC]] 
- 
- 
- 
-=====  ===== 
- 
-=== 1. kwietnia 2008 === 
- 
- 
-Do dalszej analizy wybrano diagramy UML z : 
- 
-**System seminariów dla studentów - jeden z lepiej udokumentowanych** 
- 
-  * [[http://​www.agilemodeling.com/​artifacts/​|Strona główna ( patrz od pozycji UML )]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​systemUseCase.htm|Use Cases Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​classDiagram.htm|Class Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​activityDiagram.htm|Activity Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​sequenceDiagram.htm|Sequence Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​componentDiagram.htm|Component Diagrams]] 
- 
- 
-**[[http://​student.agh.edu.pl/​~poniedzi/​uml/​|Wyniki aktualnych prac]]** 
- 
-=====  ===== 
- 
-=== 19. marca 2008 === 
-== PetStore == 
-Ok, this could be //​[[hekatedev:​hekate_cases|a case]]// allright. 
- 
-See the [[http://​java.sun.com/​blueprints/​guidelines/​designing_enterprise_applications_2e/​app-arch/​app-arch5.html|discussion here]]. 
- 
-It is a example of using the [[http://​java.sun.com/​blueprints/​patterns/​MVC.html|MVC pattern in Java]]. 
-General discussion of [[http://​java.sun.com/​blueprints/​patterns/​index.html|patterns in Java is here]]. 
- 
-Some classic Smalltalk [[http://​st-www.cs.uiuc.edu/​users/​smarch/​st-docs/​mvc.html|MVC tips here]]. 
- 
-An idea is to investigate some common MVC frameworks, such as [[http://​struts.apache.org/​primer.html#​mvc|Struts]] (see some [[http://​www-128.ibm.com/​developerworks/​ibm/​library/​j-struts/​|introduction]]). 
- 
-Another example, [[http://​www.codeproject.com/​aspnet/​ModelViewController.asp|warning! ASP.NET]]. 
- 
-For [[wp>​yeomens]]:​ //​[[wp>​Design Patterns]]//​ by the Gang'​O'​Four. 
- 
-**IW**: please evaluate! :-) 
- 
- --- //​[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2006/12/30 23:06// 
- 
- 
-= Evaluation = 
- 
-  * example seems to be comprehensive 
-  * mistake: class diagram is showed in a very early development stage -- v.good example how it should not be done :-) :!: 
-  * mistake: activity diarams are placed toward the end of the design process, should be just oppisite :-) :!: 
-  * mistake: physical diagram is placed after the class diagram should be before :!: 
-  * some diagrams are UML based some are not, i.e. DFD at the very beginning, it's not named DFD though and it is not complete 
-  * quite nice example of the MVC approach 
-  * an example how the design process should not be conducted, could  be reworked with Hekate approach :!: 
- 
- --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2007/01/05 11:59// 
- 
-=====  ===== 
- 
-=== 12-13 marca 2008 === 
- 
-Uporządkowanie zasobów: 
- 
-**Przykład systemu udzielania pożyczek (Sun Java)** 
-  
-  
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​index.jsp|Strona główna tutoriala]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_use_case.html| Use Case]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_class_diagram.html| Class diagram]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_collab_diagram.html| Collaboration diagram]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_sequence_diagram.html| Sequence diagram]] 
- 
-> nice one  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-> OK! --- GJN 
- 
-**Piggy Bank System - niestety żaden narazie nie działa - napisałem już maila do IBM** 
- 
-  * [[http://​publib.boulder.ibm.com/​infocenter/​rsdhelp/​v7r0m0/​index.jsp?​topic=/​com.ibm.xtools.modeler.doc/​topics/​cactd.html|Strona główna tutoriala (IBM)]] 
-  * [[http://​publib.boulder.ibm.com/​help/​livehelp/?​pluginID=com.ibm.samplegallery&​class=com.ibm.samplegallery.SampleGalleryAction&​arg=com.ibm.xtools.sample.umlmodels/​topics/​piggybankusecasediagram.html|Sample:​ PiggyBank use-case diagram]] 
-  * [[http://​publib.boulder.ibm.com/​help/​livehelp/?​pluginID=com.ibm.samplegallery&​class=com.ibm.samplegallery.SampleGalleryAction&​arg=com.ibm.xtools.sample.umlmodels/​topics/​piggybankactivitydiagram.html|Sample:​ PiggyBank activity diagram]] 
-  * [[http://​publib.boulder.ibm.com/​help/​livehelp/?​pluginID=com.ibm.samplegallery&​class=com.ibm.samplegallery.SampleGalleryAction&​arg=com.ibm.xtools.sample.umlmodels/​topics/​piggybankclassdiagram.html|Sample:​ PiggyBank class diagram]] 
-  * [[http://​publib.boulder.ibm.com/​help/​livehelp/?​pluginID=com.ibm.samplegallery&​class=com.ibm.samplegallery.SampleGalleryAction&​arg=com.ibm.xtools.sample.umlmodels/​topics/​piggybanksequencediagram.html|Sample:​ PiggyBank sequence diagram]] 
-  * [[http://​publib.boulder.ibm.com/​help/​livehelp/?​pluginID=com.ibm.samplegallery&​class=com.ibm.samplegallery.SampleGalleryAction&​arg=com.ibm.xtools.sample.umlmodels/​topics/​compositestructurediagram.html|Sample:​ Composite structure diagram]] 
- 
-**Inny system** 
- 
-  *[[http://​www.developer.com/​design/​article.php/​2109801|Creating Use Case Diagrams]] 
-  *[[http://​www.developer.com/​design/​article.php/​2206791|Creating UML Class Diagrams]] 
- 
-> it's rather a quick howto; out  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-**System płatniczy - wszystkie rodzaje diagramów (Borland)** 
- 
-  * [[http://​dn.codegear.com/​article/​31863#​activity-diagrams| Use cases, Class, Activity i Sequence Diagrams]] 
- 
-> looks good  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-> OK! --- GJN 
- 
-**System płatniczy - niestety nie wszystkie diagramy dotyczą jednego systemu** 
- 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​index.html|Strona główna]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​UseCase.html| Use Case Diagrams]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​Class.html|Class Diagrams]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​Sequence.html|Sequence Diagrams]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​Activity.html|Activity Diagrams]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​Collaboration.html|Communication Diagrams]] 
- 
-> looks good  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-> raczej nie! --- GJN 
- 
- 
-**System seminariów dla studentów - jeden z lepiej udokumentowanych** 
- 
-  * [[http://​www.agilemodeling.com/​artifacts/​|Strona główna ( patrz od pozycji UML )]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​systemUseCase.htm|Use Cases Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​classDiagram.htm|Class Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​activityDiagram.htm|Activity Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​sequenceDiagram.htm|Sequence Diagrams]] 
-  * [[http://​www.agilemodeling.com/​artifacts/​componentDiagram.htm|Component Diagrams]] 
- 
-> quite good  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-> OK! --- GJN 
- 
-**Nieco prymitywny system (Sparx)** 
- 
-  * [[http://​www.sparxsystems.com/​resources/​uml2_tutorial/​|Strona główna]] 
-  * [[http://​www.sparxsystems.com/​resources/​uml2_tutorial/​uml2_usecasediagram.html|Use Case Diagrams]] 
-  * [[http://​www.sparxsystems.com/​resources/​uml2_tutorial/​uml2_activitydiagram.html|Activity Diagrams]] 
-  * [[http://​www.sparxsystems.com/​resources/​uml2_tutorial/​uml2_sequencediagram.html|Sequence Diagrams]] 
- 
-> simple but I think it can be useful ​ --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
- 
-> ewentualnie OK! --- GJN 
- 
-**Luźne przykłady diagramów sekwencji** 
- 
-  * [[http://​www.tracemodeler.com/​gallery/​|Sequence Diagrams + MVC ]] 
- 
-> out, these are just examples not cases  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-**Kompletny prosty system ( wszystkie istotne diagramy )** 
-  
-  * [[http://​portal.etsi.org/​mbs/​Languages/​UML/​uml_example.htm|Strona główna]] 
- 
-> nice one  --- //​[[wojnicki@agh.edu.pl|Igor Wojnicki]] 2008/03/17 21:11// 
- 
-> OK! --- GJN 
- 
- 
- 
-=== 4 marca 2008 === 
- 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_class_diagram.html|UML Modeling: Creating Class Diagrams]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_sequence_diagram.html|UML Modeling: Creating Sequence Diagrams]] 
-  * [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse7/​narrated/​uml/​umlflash.html|UML Modeling with Sun Java Studio Enterprise 7 IDE - Flash Video]] 
-  * [[http://​www.ibm.com/​developerworks/​rational/​library/​4697.html|UML Activity Diagrams: Detailing User Interface Navigation - najlepsze jak dotychczas przykłady]] 
-  * [[www.ibm.com/​developerworks/​rational/​library/​content/​RationalEdge/​sep04/​bell/​| UML basics: The class diagram]] 
-  * [[http://​publib.boulder.ibm.com/​infocenter/​rsdhelp/​v7r0m0/​index.jsp?​topic=/​com.ibm.xtools.modeler.doc/​topics/​cactd.html|Help - do modelowania UML]] 
-  * [[http://​www.developer.com/​design/​article.php/​10925_2210821_3|The UML Class Diagram: Part II]] 
-  * [[http://​www.ee.oulu.fi/​research/​tklab/​courses/​521464S/​ROOPhomework.pdf|projektowania class diagram - opis]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​| Gallery Home - UML narzędzia i przykłady diagramów ]] 
- 
-=====  ===== 
- 
-=== 1 marca 2008 === 
-  * [[http://​www.agilemodeling.com/​artifacts/​|Ciekawe przykłady różnego rodzaju diagramów na podstawie książki]] 
-  * [[http://​www.sparxsystems.com/​resources/​uml2_tutorial/​uml2_activitydiagram.html|Sparx Systems - UML 2 Tutorial - Activity Diagram]] ​   ​ 
-  * [[http://​www.ibm.com/​developerworks/​rational/​library/​3101.html|UML&#​39;​s Sequence Diagram - rozbudowany przykład ze strony IBM]] 
-  * [[http://​davors.com/​articles/​turnstile-system-example-use-cases/​|Use case - świetny przykład]] 
-  * [[http://​www.sequencediagrameditor.com/​diagrams/​AutomatedRegistrationSystem.htm|Sequence diagram - rejestracja studenta przez www ]]  ​ 
-  * [[http://​www.tracemodeler.com/​gallery/​|Przykłady diagramów sekwencji w jpg-ach]] 
-  * [[http://​portal.etsi.org/​mbs/​Languages/​UML/​uml_example.htm|rózne diagramy]] 
-  * [[http://​www.objectmentor.com/​resources/​articles/​umlCollaborationDiagrams.pdf|model dynamiczny]] 
-  * [[http://​www.devx.com/​ibm/​Article/​21623|Tip:​ Introduction to UML sequence diagrams]] 
-  * [[http://​www.visual-paradigm.com/​VPGallery/​diagrams/​State.html|Ciekawe przykładziki różnych diagramów]] 
-  * [[http://​uml.netbeans.org/​qa/​nb55/​StateDiagram/​Plan_STD_Usability.html|uml:​ State Diagram Usability Samples]] 
-  * [[http://​jeffsutherland.com/​oopsla98/​pavel.html|Structuring Specification of Business Systems with UML]] 
- 
- 
- 
- 
- 
-===== Linki do ARD+ oraz XTT ===== 
- 
- 
-  * [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​gjn2008flairs-ardprolog|opis ARD+ ]] 
-  * [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​ali2008flairs|opis XTT+ ]] 
- 
  
pl/miw/miw08_ardcase_uml.txt · ostatnio zmienione: 2019/06/27 15:50 (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