Dokumentacja i systemy jako±ci

Podobne dokumenty
Doxygen. Bogdan Kreczmer. ZPCiR ICT PWr pokój 307 budynek C3.

Doxygen. Bogdan Kreczmer.

Podstawy Informatyki i Technologii Informacyjnej

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Subversion - jak dziaªa

Zagadnienia programowania obiektowego

System kontroli wersji SVN

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Uniwersytet Rzeszowski

Wybrane narzędzia wspomagające dokumentowanie programu

Praca Dyplomowa Magisterska

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

WinAVR, Eclipse, AVR8 Burn-O-Mat niezb dne narz dzia programistyczne dla mikrokontolerów z rodziny AVR.

Analiza wydajno±ci serwera openldap

dlibra 3.0 Marcin Heliński

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

elektroniczna Platforma Usług Administracji Publicznej

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Wprowadzenie do kompilatorów

Opteamum korzyści. Aktualnie poszukujemy kandydatów na stanowisko: Programista ASP.NET MVC / WCF Nr ref. PROGRAMISTA ASP.NET/DRP/2014.

Tworzenie dokumentacji

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007

O autorze 11 O recenzentach 13 Przedmowa 15

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Projekt inżynierski uwagi

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Automatyzacja procesu publikowania w bibliotece cyfrowej

METODY REPREZENTACJI INFORMACJI

Tworzenie oprogramowania

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Biblioteka AutoCad V 5.0 Poradnik uŝytkownika

IBM Rational Software Architect uproszczona instrukcja użytkowania

Lekcja 12 - POMOCNICY

Wzorce projektowe kreacyjne

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Podstawy programowania w Qt4

Karty kryptograczne w ±rodowisku Linux

Formularz rzeczowo-cenowy PAKIET 2

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

Podstawy modelowania w j zyku UML

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION

Programowanie Zespołowe

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Projektowanie systemów informacyjnych: język UML

Systemy mikroprocesorowe - projekt

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

Instrukcja zapisu do grup

O autorze... 9 Wprowadzenie... 11

Bezpieczeństwo systemów komputerowych

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Sprzętowo wspomagane metody klasyfikacji danych

Część 2 struktura e-paczki

Przewodnik u»ytkownika

Porównanie aplikacji do tworzenia harmonogramów.

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Biblioteka Sweave w akcji, czyli jak pozytywnie zaskoczyc szefa albo (niekoniecznie pozytywnie) studentow. czas zabierze: Przemysław Biecek

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Praktykant Programista ios/android/windows Phone/Windows 8/PHP/.NET (do wyboru) Biuro w Warszawie

Wstawianie gotowych rysunków w texu - informacje podstawowe.

CENTRUM ROZWOJU. ul. Krótka KRAKÓW. ZNAKI I SYGNA Y DROGOWE ZAKTUALIZOWANE Pakiet EXT03 wersja 1.1

Podstawy modelowania w j zyku UML

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Regulamin Usªugi VPS

Programowanie obiektowe zastosowanie języka Java SE

Komputery przemysłowe i systemy wbudowane

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Aktualizacja CSP do wersji v7.2. Sierpień 2014

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

Podstawy Informatyki i Technologii Informacyjnej

Partnerzy: Laboratorium 15

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Archiwum Prac Dyplomowych

Xpress Sp. z o.o. jako wieloletni Premium Partner firmy Xerox ma w swojej ofercie rozwiązanie

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PROGRAM NAUCZANIA INFORMATYKA

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Kompilowanie programów

Interpreter opisu dziaªa«quadrokoptera wtyczki. 1 Ogólny opis zadania. 2 Skªadnia nowych polece« 2.1 Polecenie Grasper

Java Podstawy. Michał Bereta

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Po co planowanie? Planowanie projektu. Najcz stsz przyczyn niepowodzenia projektów jest brak czasu.

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

1. Wprowadzenie do C/C++

Java jako język programowania

Informatyka w selekcji - Wykªad 4

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Transkrypt:

Dokumentacja i systemy jako±ci Generatory dokumentacji Iwona Kocha«ska KSEM WETI PG January 15, 2016

Dokumentacji oprogramowania - po co? Po co? Dokumentacja bibliotek, pakietów, moduªów, klas, procedur, by mogªy by u»ywane przez osoby inne ni» autor Dokumentacja dla autora, który mo»e zapomnie, o co mu chodziªo Dokumentacja oprogramowania udost pnianego publicznie Dokumentacja oprogramowania: techniczna (przez programistów dla programistów) administracyjna u»ytkownika

Dokumentacji oprogramowania - po co? Informatyk nie cierpi pisania dokumentacji problemy z wypowiadaniem si na pi±mie, poczucie straty czasu, trudno± w stosowaniu procedur i standardów konieczno± aktualizowania dokumentacji Je±li dokumentacja kodu ma by pisana na bie» co i poprawiana gdy kod si zmienia - musi by automatycznie budowana na jego podstawie Je±li jaka± informacja jest zapisana w dwóch ró»nych miejscach, w jednym z nich wcze±niej lub pó¹niej b dzie nieaktualna. A kod jest zawsze aktualny Aktualnie u»ywane j zyki programowania nie dokumentuj si same

Dokumentacji oprogramowania - po co? Potrzebny jest specyczny format komentarzy oraz.. Narz dzie, które automatycznie wygeneruje dokumentacj z tak obkomentowanego kodu Wygenerowana dokumentacja powinna by ªatwo dost pna: przystepny format - mo»liwo± szybkiego i wygodnego dost pu z dowolnego miejsca (np. HTML) dobry indeks - ogólna lista wygenerowana wraz z szczegóªowymi dokumentami lub wyszukiwarka dobrze znane miejsce - mo»liwo± traenia do aktualnej wersji dokumentu przy pomocy paru ruchów myszki Wersje papierowe szybko si dezaktualizuj.

Dokumentacji oprogramowania - po co? Metryczka: Co to za wersja? Numer, data ostatniej zmiany - od±wie»ane automatycznie! Co si ostatnio zmieniªo? - historia zmian wygenerowana z repozytorium kodu na bazie komentarzy podawanych przy zatwierdzaniu zmian Gdzie i w jaki sposób nale»y zadawa pytania oraz zgªasza bª dy i w tpliwo±ci? Dokumentacja API nie jest peªn dokumentacj biblioteki lub programu Biblioteka - podr cznik u»ytkownika (w stylu samouczkowym) oraz zestaw dziaªaj cych przykªadów Zªo»ony program - dokument projektowy zawieraj cy opis: celu, kluczowych wymaga«, podstawowych zaªo»e«przyj tych w implementacji, list najwa»niejszych funkcji, klas i obiektów kilka diagramów obrazuj cych najwa»niejsze interakcje

Narz dzia Donald E. Knuth - koncepcja ª czenia kodu z dokumentacj pierwsza wersja systemu T EX literate programming - pliki ¹ródªowe, w których bloki kilkunastu wierszy kodu przeplataªy si z podobnej wielko±ci fragmentami dokumentacji; jedno narz dzie wycinaªo z pliku ¹ródªowego w celu kompilacji a inne wydzielaªo dokumentacj Python - sformatowane komentarze dokumentacyjne (zamieszczane na pocz tku klasy/funkcji) s dost pne dla kodu programu, wraz z metaopisem klas i funkcji; Narz dzia do generowania dokumentacji. Java - JavaDoc prosty format komentarzy dokumentacyjnych standard powielany przez generatory dla C++

Narz dzia J zyk C++ kdoc doc++ doxygen Wszystkie narz dzia obsªuguj generowanie HTML, niektóre tak»e inne formaty (TEX, RTF). Wszystkie narz dzia generuj hierarchie klas, opisy klas, metod, atrybutów i funkcji (nawet pod nieobecno± komentarza dokumentacyjnego w kodzie)

Zastosowanie w projektowaniu Zalety dokumentacji kodu: wymusza przemy±lenie architektury programu wymusza zdeniowanie podstawowych poj pozwala na wyªapanie niedoskonaªo±ci projektowych przed rozpocz ciem kodowania korygowanie API i komentarzy boli mniej ni» wyrzucanie sporych gotowych fragmentów kodu

Doxygen Autor projektu: Dimitri van Heesch Strona projektu: http://www.doxygen.org Doxygen jest systemem dokumentowania oprogramowania pisanego w C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP, C#. System mo»e generowa : dokumentacj w HTML ¹ródªa dla LaTex'a

Doxygen Dokumentacja mo»e mie format: RTF (MS-Word), PostScript, PDF HTML stron podr cznika w systemie UNIX dla programu man. Dokumentacja mo»e by generowana: bezpo±rednio ze ¹ródeª z plików stowarzyszonych z nimi. Doxygen jest programem tworzonym dla systemu Linux i Mac OS w oparciu o bibliotek Qt ( doxywizard ). oprogramowanie przeno±ne. uruchomiane pod systemem UNIX i jego klonami. dost pne równie» w postaci binarnej dla systemu MS Windows

Doxygen Najbardziej znane projekty wykorzystuj ce Doxygen: Adobe Open Source strona domowa projektów ASL (Adobe Source Libraries) KDE - dokumentacja ró»nych bibliotek Samba OSCAR (http://www.oscar-net.org) - dla systemów robotycznych XEngine (http://xengine.sourceforge.net) - silnik dla wizualizacji 3D w czasie rzeczywistym Xerces C++ Parser biblioteka umo»liwiaj ca pisanie aplikacji z parserem XML

Komponenty Doxygen doxygen - generowanie dokumentacji na podstawie utworzonego wcze±niej pliku konguracyjnego i ¹ródeª programów doxytag - program pomocniczy pozwalaj cy integrowa zewn trzn dokumentacj (do której doxygen nie ma bezpo±redniego dost pu) z dokumentacj tworzon przez doxygen doxywizard - graczna aplikacja uªatwiaj ca tworzenie pliku konguracyjnego dla dokumentacji danego projektu. graphviz - tworzenie rysunków grafów (http://www.research.att.com/sw/tools/graphviz)

Doxygen - przepªyw informacji

Doxywizard - opcje podstawowe Wybór punkt uruchamienia Doxywizard (np. katalog dox)

Doxywizard - opcje podstawowe

Doxywizard - opcje podstawowe

Doxywizard - opcje podstawowe

Doxywizard - opcje rozszerzone

Doxywizard - opcje rozszerzone

Doxywizard - opcje rozszerzone

Doxywizard - opcje rozszerzone

Doxywizard - opcje rozszerzone Dot - narz dzie do generowania diagramów (pakiet GraphViz)

Doxywizard - uruchamianie generatora dokumentacji

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Przykªadowa dokumentacja

Doxygen - uruchamianie z linii polece«utworzenie pliku konguracji: doxygen - g [nazwa pliku] (nazwa pliku jest opcjonalna domy±lnie jest tworzony plik o nazwie Doxyle ). Edycja pliku konguracji Generowanie dokumentacji: doxygen [nazwa pliku] Za pomoc Makele - mo»na przekierowa wyj±cie standard errorn do pliku. Konsola: make Zawarto± pliku Makele: start_doxy : doxygen Doxyle 2> doxy.log less doxy.log

Formaty komentarzy

Formaty komentarzy - polecenia Wewn trz komentarzy mo»na umieszcza specjalne polecenia (zaczynaj ce si od znaku \ l ub @ po którym nast puje nazwa polecenia)

Formaty komentarzy - listy

Literatura http://mekk.waw.pl/mk/narzedzia/narzedzia_gendoc http://icis.pcz.pl/~agrosser/test/doxygen.pdf http://rab.ict.pwr.wroc.pl/~kreczmer/po/materialy/11-doxygen.pdf