Modelowanie w Visual Studio 2010 Daniel biesiada ISV Developer Evangelist | Microsoft Corp.
Agenda Dlaczego modelowanie? Modelowanie w Visual Studio Znaczenie modeli i zasady modelowania wg. twórców standardu UML Modelowanie w Visual Studio UML 2.1 USE CASE, COMPONENT, ACTIVITY, SEQUENCE DIAGRAMS Dodatkowe funkcjonalności LAYER DIAGRAM, Architecture Explorer, Zależności pomiędzy artefaktami Scenariusze w pracy Z góry na dół oraz z dołu w górę Speakers: This slide is ONLY for agenda. Use next slide to all presentations slides.
Model jest uproszczeniem rzeczywistości Znaczenie modeli Model jest uproszczeniem rzeczywistości Modele opracowujemy po to, żeby lepiej zrozumieć system, który budujemy Modele złożonych systemów opracowujemy dlatego, że nie jesteśmy w stanie ogarnąć tych systemów w całości UML – User Guide (Przewodnik użytkownika) (Addison Wesley Longman 1999|WNT 2002) Grady Booch, James Rumbaugh, Ivar Jacobson
Zasady modelowania Zasada #1: Decyzja jakie modele tworzymy ma wielki wpływ na to w jaki sposób zaatakujemy problem i jaki kształt będzie miało rozwiązanie Zasada #2: Każdy model może byc opracowany na różnych poziomach szczegółowości Zasada #3: Najlepsze modele odpowiadają rzeczywistości Zasada #4: Żaden pojedynczy model nie jest wystarczający. Niewielka ilośc niezależnych modeli to najlepsze rozwiazanie dla większości systemów UML – User Guide (Przewodnik użytkownika) (Addison Wesley Longman 1999|WNT 2002) Grady Booch, James Rumbaugh, Ivar Jacobson
Modelowanie w VS 2010 Diagramy zgodne z UML 2.1 Dodatkowo: Czynności (Activity Diagram) Komponenty (Component Diagram) Klasy (Class Diagram) Przebieg (Sequence Diagram) Użycia przypadku (Use Case Diagram) Dodatkowo: Diagram warstw logicznych (Layer Diagram) Na klasach .NET Sekwencje wywołań z istniejącego kodu Relacje pomiędzy istniejącymi klasami .NET Eksplorator architektury
Nomenklatura (UML) Bloki konstrukcyjne: Elementy Związki Diagramy Strukturalne, czynnościowe, grupujące, komentujące Związki Zależność, powiązanie, uogólnienie, realizacja Diagramy Omówione na poprzednim ekranie
Implementacja diagramów i ich poszczególnych elementów w VS2010 1) Otworzyć nowy projekt – Modelowanie 2) Wybrac opcję nowy element i omówić wszystkie omawiane tam typy diagramów (w paru zdaniach, całość, bez zbędnego rozwlekania) 3) Dodać każdy typ diagramu i narysować go w najprostszym scenariuszu (zewnętrzny załącznik z rysunkami TODO) 4) Powyższe tylko dotyczy bloków zgodnych UML, Layer Diagram będą omówione później – wspomnieć.
Warstwy logiczne
Layer Diagram Spróbujmy coś z Pattern&Practices
Composite Apps for WPF & SL http://msdn.microsoft.com/en-us/library/dd458924.aspx
Scenariusz realnej pracy Zaczynamy projekt od początku: Zbiór (biblioteka) modeli, diagramy Korzystamy z diagramu warstw, aby rozdzielić komponenty logicznie zgodnie z założeniami diagramów UML Tworzymy projekty zgodne z architekturą ... ileż można czytać spróbujmy
Layer Diagram, Architecture Explorer i Zależności pomiędzy elementami #1 Scenariusz #1 Od początku wyklikuję sobie poszczególne warstwy i dodaje do nich projekty, klasy, struktury. Mapuję je na poszczególne warstwy i waliduję architekturę. Komentarz na koniec na temat pracy zespołowej Scenariusz #2 Ładuję duży projekt z Codeplex (np. Dinner Now) Przyglądam się co tam jest, przeglądam zawartość za pomocą Architecture Explorera Przypinam poszczególne przestrzenie nazw, klasy i projekty do poszczególnych warstw Generuję zależności pomiedzy warstwami Zastanawiają mnie niektóre powiązania więc analizuję je za pomocą Dependency Analyzera oraz Diagramu Przebiegu (Sequence Diagram)
Podsumowanie scenariusza Stworzone artefakty związane z modelem to nie tylko dokumenty: Proces (TFS), Kod (.NET) Visual Studio daje nam szereg dodatkowych narzędzi pomocnych w pracy nad modelami i ustaloną architekturą: Architecture Explorer Dependency Analyzer Szereg skrótów automatycznie generujących artefakty
Scenariusz realnej pracy #2 Mamy już projekt w Visual Studio 2008 Modele UML Do przerysowania lub Na koniec dnia to jest Xml.. Diagram warstw i relacji pomiędzy komponentami Przypisujemy reguły Sprawdzamy poprawność architektury Konsekwentnie jej się dalej trzymamy.
Zrozumieć DLR z nowymi narzędziami Visual Studio.NET Scenariusz #1 Od początku wyklikuję sobie poszczególne warstwy i dodaje do nich projekty, klasy, struktury. Mapuję je na poszczególne warstwy i waliduję architekturę. Komentarz na koniec na temat pracy zespołowej Scenariusz #2 Ładuję duży projekt z Codeplex (np. Dinner Now) Przyglądam się co tam jest, przeglądam zawartość za pomocą Architecture Explorera Przypinam poszczególne przestrzenie nazw, klasy i projekty do poszczególnych warstw Generuję zależności pomiedzy warstwami Zastanawiają mnie niektóre powiązania więc analizuję je za pomocą Dependency Analyzera oraz Diagramu Przebiegu (Sequence Diagram)
Podsumowując Visual Studio 2010 wspiera UML 2.1 w postaci poniższych diagramów: ACTIVITY, CLASS, COMPONENT, SEQUENCE, USE CASE Dodatkowo Layer Diagram Diagram zależności pomiędzy klasami .NET Automatyczne sekwencje wywołań z istniejącego kodu
.. Istotny jest jeszcze proces Kompilacja modeli: Model przedsiębiorstwa Model dziedziny (otoczenie systemu) Model przypadków użycia Model projektu Model procesów Model implementacji Model testów Pełna dokumentacja – zbiory: bliżej TFS+VSTS+metodyki
Pytania i kontakt z prowadzącym Daniel Biesiada Mail: Daniel.Biesiada@microsoft.com Blog: http://blogs.msdn.com/danieb/
Ankieta dostępna na stronie www.mts2009.pl Oceń moją sesję Ankieta dostępna na stronie www.mts2009.pl Speakers: Please do not remove nor edit this slide! This is information about evaluation form.