15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
1
Analiza Systemów
Informacyjnych 3
UML
Obiekty
Diagram Class
Struktura
Atrybuty
Operacje
Powiązania
Informatyka i Ekonometria
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
2
Podejście obiektowe
Definiowanie obiektów
Na podstawie ZROZUMIENIA opisu przypadków
użycia – ale nie automatycznie
use case zwykle nie odpowiada klasie -często funkcji
Struktura klas nie wynika ze struktury przypadków
użycia
Opis struktury klas nie powinien zależeć od języka
programowania w którym zostanie zaimplementowany
Użycie abstrakcyjnych zależności i powiązań
Object Modeling Technique
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
3
Pojęcie Obiektu
Konglomerat danych i funkcji
Zapobieganie użyciu błędnych
struktur danych z funkcjami
Umożliwia “dziedziczenie” kodu
Rozbudowa skomplikowanego kodu
bez “zrozumienia”
Ukrycie kodu wraz z możliwością
modyfikacji kodu
Var
d
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
4
Interface i Implementacja
Rozdział obiektów na:
Interface
publiczne zmienne
publiczne typy
publiczne metody (tylko nagłówek)
Implementacja
ukryta
kod funkcji publicznych
funkcje prywatne
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
5
Analiza a obiekty
Głównie interface
publiczne zmienne (Atrybuty)
publiczne funkcje (Operacje)
Związki miedzy obiektami
(Associations)
interface
wpływa na implementację
konieczność nawigacji między klasami
różnice zależne od języka
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
6
Elementy diagramu klas
Klasa
Atrybuty (Attributes)
Operacje (Operations)
Dziedziczenie (Generalization)
Związek (Association)
Ilość elementów z dowiązanych
Ilość elementów dowiązywanych
Nawigacja
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
7
Przykład Narzędzi
UML Umbrello
Diagramy
Use case
Class
Graficzna reprezentacja
Generowanie kodu
Ograniczenia – brak kodowania związków
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
8
Diagram Klas
System
zamówień
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
9
Wygenerowany kod klasy klient
import Klient;
/**
* Class Klient indywidualny
*
*/
public class Klient indywidualny extends Klient {
// Fields
// Methods
// Constructors
// Accessor Methods
// Operations
}
15/02/02
Analiza Systemów Informacyjnych
Copyright Marek A. Chmielowski
10
Klasa Zamówienie
import java.util.*;
/** Class Zamówienie */
public class Zamówienie {
private String data = "today";
private int wartość;
private String getData ( ) { return data; }
/** Set the value of data */ private void setData ( String value )
{ data = value }
/** Get the value of wartość @return the value of wartość */
private int getWartość ( ) { return wartość; }
private void setWartość ( int value ) { wartość = value; }
public send ( ) {
}
}