Narzędzia programistyczne
Wykład i laboratorium
Termin zajęć w semestrze zimowym 2013/2014
- wtorki, godz. 1000-1130, sala 28, WFAiIS
Laboratorium: poniedziałki, godz. 8-10, sala PK1, WFAiIS
Przebieg zajęć/ prezentacje
Data | Temat | Prowadzący | Źródła/Projekty/ |
---|---|---|---|
08/10/2013 | Wstęp - plan | MG | |
15/10/2013 | IDE przegląd | MG | |
22/10/2013 | TFS + ALM | MG | |
29/10/2013 | Git | R. Gardziński | |
Subversion | M. Schalau | ||
Porównanie SVN vs. git | MG | ||
5/11/2013 | Doxygen | A. Ławniczak | demo.zip |
Testy jednostkowe w VS | W. Szymecki | demo.zip | |
19/11/2013 | firebug | M. Przybył | demo.7z |
Deployment w VS 2010 | R. Burzyński | ||
26/11/2013 | MonoGame | Ł. Kiełczykowski | |
PhysX Visual Debugger | T. Gańko | ||
3/12/2013 | X Code, tworzenie oprogramowania Apple | M. Bartnicki | |
Free Pascal | Ł. Gorzel | ||
10/12/2013 | GCC + make | S. Chojnicki | |
Eclipse + libgdx | Ł. Dzwonkowski | demo.7z | |
17/12/2013 | Matlab | K. Falewicz | |
gettext | J. Ejnik | ||
14/01/2014 | autotools | P. Milewski | |
Narzędzia deweloperskie Java | Ł. Demski | java-cmd | |
21/01/2014 | NetBeans | G. Furdyna | Żródła |
Delphi | Ł. Król | Opis | |
PHP + Framework Symfony | N. Rybarczyk | ||
28/01/2014 | Kolokwium |
Propozycje tematów
Niektóre, w zależności od ujęcia, można/należy podzielić na kilka prezentacji:
- Visual Studio 2010/2012/2013 (Professional/Ultimate)
- Zarządzanie projektami. Kompilatory C++ i C#.
- Debugger
- Projektowanie wizualne (WindowsForms, WPF, inne)
- Generowanie kodu : kreatory, refaktoryzacja, inne pomocne „sztuczki” (np. for<Tab>)
- Generowanie dokumentacji : VS2010 C#, c++
Quick C# Documentation using XML
XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files
XML Comments
Pomocne narzędzia: VSdocman NDoc GhostDoc - Wsparcie dla programowania obiektowego: ClassDiagram i generowanie kodu, ClassViewer, Nawigacja pomiędzy klasami/metodami,
- Programowanie Windoes Phone/Windoes 8
- Blend
- Diagramy UML (tylko Ultimate)
- Tworzenie aplikacji web
- Profilowanie kodu (tylko ultimate)
- Testowanie : Testy jednostkowe (TestUnit, NUnit - trzeba zainstalować)
- WPF, WorkFlow,
- Team Foundation Server
- Team Foundation Service
- Azure, usługi
- Eclipse przegląd narzędzi,
- JDT - Java development tools
- CDT, Eclipse IDE for C/C++ Developers, wsparcie dla C++
- Eclipse for Mobile Developers
- Eclipse Modeling Tools (MDT)
- Eclipse for Testers
- PDT, PHP Development Tools
- Mylyn - Application Lifecycle Tools
- jest tu bardzo dużo różnych narzędzi postaci dodatków: Memory Analyzer, Test and Performance Tools Platform (TPTP), Web Tools
- Netbeans
- przegląd, tworzenie projektów, dostępne narzędzia i pluginy
- Projektowanie GUI + SWING, mniej więcej to samo co dla VS +
- profilowanie kodu
- NetBeans i wsparcie dla C++, tworzenie aplikacji na system Linux.
- Valgrind wykrywanie wycieków pamieci (Cygwin, ferm lub virtualna maszyna)
- Doxygen lub/i javadoc (ferm (?), virtualna maszyna)
- Systemy kontroli wersji
- SVN - konfiguracja serwera (sprawdzić czy czy potrzebne uprawnienia administracyjne?)
- SVN - użytkowanie, rozwiązywanie konfliktów, (zdalna maszyna)
- GIT
- Kompilator gcc (Linux/Cygwin), najważniejsze opcje + narzędzie make (Linux/ferm/Cygwin)
- GDB - debuuger
- Tworzenie i używanie statycznych i/lub dynamicznych bibliotek:
- VS2010 (C++)
- Linux (gcc/g++, ar, ranlib, ldconfig, ld, ldd, nm)
Tutorial - Static, Shared Dynamic and Loadable Linux Libraries
Program Library HOWTO
- Autotools (Linux/Cygwin)
- Systemy raportujące błędy (Trac , Bugzilla)
- Trac - Wsparcie dla programowania zespołowego (harmonogramy, śledzenie wykonania zadań, itp.)
- Zarządzanie projektami (Project Management Software)
- Trac, TFS, Google Code, GitHub, CodePlex, inne…
- TaskJuggler, Redmine, Microsoft Project, MS Project Server
- metodologie zarządzania: Scrum, inne.. i oprogramowanie wspierające
- gettext - lokalizacja programów w Linuxie
- Profilowanie kodu za pomocą GNU gprof + grafy wywołań (GraphViz) (Linux/ferm)
- UML (Dia, dia2code, MS Visio, umbrello, argouml, bouml, …), UML i inżynieria wstecz/wprzód na przykładzie diagramów klas/use case przy użyciu programu ArgoUML
W miarę potrzeb moźna rozszerzyć temat o inne dostępne w programie diagramy lub uwzględnić inne narzędzia: VioletUML (brak generowania kodu), StarUML (brak wersji portable), VS2010 Ultimate (widomo, na pracowni jest professional), umbrello (wymaga KDE), dia (wymaga GTK), inne (?)… - Wdrażanie aplikacji (deployment)
- Wdrażanie aplikacji w VS2010
Deploying Your Program (C%%++%%) - MSDN
http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx
Choosing a Deployment Strategy
- Inne: jakich narzędzi używacie? Pochwalcie się!
- Inne przydatne narzędzia:
Zaliczenie zajęć
Warunki zaliczenia laboratorium:
- Kolokwium zaliczeniowe …
- … lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min.). W prezentacji, obok części prowadzającej teoretycznie, warto zawrzeć przykłady demonstracyjne.
- Obecność.