Projektowanie obiektowe dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Zadanie Na terenie Siedlec funkcjonuje piekarnia Klawisz, która dostarcza swoje produkty do sklepów spożywczych. Każdy sklep identyfikowany jest przez nazwę i adres. Piekarnia zatrudnia kilkunastu sprzedawców (imię i nazwisko) odpowiedzialnych za dostarczanie różnych towarów do sklepów. Każdy ze sprzedawców ma przydzielony wydzielony obszar miasta (nazwa), na który dostarcza towar. Sklep może złożyć zamówienie na różne towary u sprzedawcy, który obsługuje obszar miasta, na którym funkcjonuje dany sprzedawca. Napisz aplikację która umożliwi: 1. Zdefiniowanie obszarów miasta 2. Dodanie sklepu i przypisanie go do obszaru miasta 3. Dodanie sprzedawcy i przypisanie go do obszaru miasta 4. Zapisanie w aplikacji nowego zamówienia na różne towary 5. Wypisanie wartości wszystkich zamówień dla sklepu oraz dla sprzedawcy
Projekt aplikacji class Class Model Logika Obszar - nazwa :String Sklep - nazwa :String - ulica :String - lokal :String Sprzedaw ca - imie :String - nazwisko :String Zamow ienie 1 Towar 1..* - nazwa :String - cena :double Dane ListaSprzedaw cow - sprzedawcy :List:Sprzedawca ListaTow arow - towary :List:Towar ListaSklepow - sklepy :List:Sklep ListaZamow ien - zamowienia :List:Zamowienie ListaObszarow - obszary :List:Obszar
public class Obszar { private String nazwa; public Obszar(String nazwa) { this.nazwa = nazwa; public String getnazwa() { return nazwa; public void setnazwa(string nazwa) { this.nazwa = nazwa;
public class Towar { private String nazwa; private double cena; public Towar(String nazwa, double cena) { this.nazwa = nazwa; this.cena = cena; public String getnazwa() { return nazwa; public void setnazwa(string nazwa) { this.nazwa = nazwa; public double getcena() { return cena; public void setcena(double cena) { this.cena = cena;
public class Sklep { private Obszar obszar; private String nazwa; private String ulica; private String lokal; public Sklep(Obszar obszar, String nazwa, String ulica, String lokal) { this.obszar = obszar; this.nazwa = nazwa; this.ulica = ulica; this.lokal = lokal; public Obszar getobszar() { return obszar; public String getnazwa() { return nazwa; public String getulica() { return ulica; public String getlokal() { return lokal;
public class Sprzedawca { private String imie; private String nazwisko; private Obszar obszar; public Sprzedawca(String imie, String nazwisko, Obszar obszar) { this.imie = imie; this.nazwisko = nazwisko; this.obszar = obszar; public String getimie() { return imie; public String getnazwisko() { return nazwisko; public Obszar getobszar() { return obszar;
public class Zamowienie { private Sklep sklep; private List<Towar> towary; private Sprzedawca sprzedawca; public Zamowienie(Sklep sklep, Sprzedawca sprzedawca) { this.sklep = sklep; this.sprzedawca = sprzedawca; towary = new ArrayList<Towar>(); public void dodajtowar(towar towar) { this.towary.add(towar); public double zwrocwartosczamowienia() { double wynik = 0.0; for (Towar t : towary) { wynik = wynik + t.getcena(); return wynik; public Sklep getsklep() { return sklep; public List gettowary() { return towary; public Sprzedawca getsprzedawca() { return sprzedawca;
public class ListaTowarow { private List<Towar> towary; public ListaTowarow() { towary = new ArrayList<Towar>(); public void dodaj(towar towar) { this.towary.add(towar); public Towar zwroctowar(string nazwa) { Towar towar = null; for (Towar t : towary) { if (t.getnazwa().equals(nazwa)) { towar = t; return towar;
public class ListaZamowien { private List<Zamowienie> zamowienia; public ListaZamowien() { zamowienia = new ArrayList<Zamowienie>(); public void dodaj(zamowienie zamowienie) { this.zamowienia.add(zamowienie); public double zwrocwartoscdlasklepu(string nazwasklepu) { double wartosc = 0.0; for (Zamowienie t : zamowienia) { if (t.getsklep().getnazwa().equals(nazwasklepu)) { wartosc = wartosc + t.zwrocwartosczamowienia(); return wartosc; public double zwrocwartoscdlasprzedawcy(string nazwisko) { double wartosc = 0.0; for (Zamowienie t : zamowienia) { if (t.getsprzedawca().getnazwisko().equals(nazwisko)) { zamowienie = t.zwrocwartosczamowienia(); return wartosc;