Cześć, poszukuje osoby, która zna się, bądź po prostu korzystała (ponieważ potrzebne mi są totalne podstawy do wykonania zadania, których niestety nie posiadam) z programu StarUML.
W ramach Zadania należy wykonać:
-
Projekt systemu „Książka telefoniczna” w j. Python (mam to zrobione - kod napisałem poniżej)
1.1 W ramach zadania kontrolnego należy wykonać projekt oraz oprogramowanie w j. Python systemu „Książka telefoniczna”.
System „Książka telefoniczna” będzie realizował następujące funkcje:
1.1.1 Zapis do książki telefonicznej nowych abonentów.
1.1.2 Listowanie zawartości książki telefonicznej.
-
Diagram komponentów systemu w notacji UML (z zastosowaniem StarUML)
-
Oprogramowanie sytemu składające się z dwóch gotowych komponentów (AppFront-socket oraz AppBack-rpc) oraz napisanego komponentu zapewniającego współdziałanie komponentów o różnych interfejsach
import socket
import xmlrpc.client
import xmlrpc.server
def main():
while True:
print ("\nStart programu AppFront-socket nr portu 2221")
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("localhost", 2221))
server_socket.listen(1)
client_socket, address = server_socket.accept()
print ("\nPołączenie z klientem", address)
while True:
data = client_socket.recv(1024)
if not data:
break
print ("\nOdebrano od klienta", data)
data = data.decode("utf-8")
if data == "1":
print ("\nWywołanie funkcji <zapisz_abonenta>")
with xmlrpc.client.ServerProxy("http://localhost:2223/") as proxy:
imie = input("Podaj imię: ")
nr_telefonu = input("Podaj numer telefonu: ")
wynik = proxy.zapisz_abonenta(imie, nr_telefonu)
print ("\nWynik funkcji <zapisz_abonenta>", wynik)
client_socket.send(wynik.encode("utf-8"))
elif data == "2":
print ("\nWywołanie funkcji <pobierz_ksiazke>")
with xmlrpc.client.ServerProxy("http://localhost:2223/") as proxy:
wynik = proxy.pobierz_ksiazke()
print ("\nWynik funkcji <pobierz_ksiazke>", wynik)
client_socket.send(str(wynik).encode("utf-8"))
else:
print ("\nNieznana funkcja")
client_socket.send("0".encode("utf-8"))
client_socket.close()
server_socket.close()
print ("\nZakończenie połączenia z klientem", address)
return
if __name__ == "__main__":
main()