Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Projektowanie programu

Ostatnio zmodyfikowano 2011-08-29 14:06
Autor Wiadomość
imralav
Temat założony przez niniejszego użytkownika
Projektowanie programu
» 2011-08-27 07:16:14
Witam!
Często czytam o tym, że bardzo istotną częścią tworzenia jakiejkolwiek aplikacji jest jej projektowanie. Niestety nie spotkałem się do tej pory z żadnymi wskazówkami, jakąkolwiek pomocą dotyczącą projektowania.

Jako, że do sprawy podchodzę dosyć poważnie zacząłem projektować program zanim rzeczywiście zacznę go programować. Programem, który mam w planach jest książka telefoniczna w konsoli. Moje projektowanie wygląda następująco:

Projekt: Książka telefoniczna.

Co ma robić?
1. Wczytywać listę osób z pliku;
2. Dodawać nowe osoby do listy;
3. Usuwanie osób z listy;
4. Wyświetlanie całej listy.
5. Wyświetlanie pojedynczych osób;
6. Zapisywanie listy osób do pliku;

Dane o osobach przechowywanie w klasie COSOBA. Te dane to:
 - imie
 - nazwisko
 - numer tel
 - adres zamieszkania
 - email

Klasa ta ma możliwość wyświetlania poszczególnych danych osobno lub jako całego profilu a także opcja zmiany poszczególnych danych.

Do obsługi listy posłuży klasa CLISTA, wczytująca z pliku, wyświetlająca i zapisująca do pliku listę.

Tak to wygląda na ten moment. Czy trafiłem w sedno, czy na tym polega projektowanie aplikacji? Co jeszcze mógłbym dodać, jak usprawnić proces projektowania?

I tak jeszcze do głowy mi przyszło: czy jest już gotowa funkcja sortowania alfabetycznego?

Pozdrawiam,
imralav.
P-40024
markon
» 2011-08-27 08:46:48
STL realizuje sortowanie alfabetyczne, ja proponuję Ci zastosowanie konteneru set (domyślnie sortuje).
P-40032
imralav
Temat założony przez niniejszego użytkownika
» 2011-08-27 09:26:43
Jasne, zaraz sprawdzę. A wniesiesz coś do tematu w kwestii projektowania? ; d
P-40035
markon
» 2011-08-27 09:54:47
szczerze mówiąc ja wykonując jakiś projekt, nie pracuję nad projektem od strony teoretycznej, myślę nad tym wszystkim podczas pisania, zatem nie wiele wiem na ten temat, zaś Twój projekt jest na moje oko OK :)
P-40036
imralav
Temat założony przez niniejszego użytkownika
» 2011-08-27 10:07:11
Co do STL'owego
<set>
 - miło, że sortuje samo. Sortowanie jednak wykonywane ma być według nazwisk, a
<set>
 ma to do siebie, że wstawia element jeśli takiego już nie ma, a przecież w książce mogą być osoby o tym samym nazwisku. Do tego nie widzę tu opcji wstawiania elementu w miejscu, w którym ja chcę, by był wstawiony. Więc chyba zostanę przy
<vector>
P-40038
markon
» 2011-08-27 14:41:54
jeśli zastosujesz multiset będziesz mógł przechowywać duplikaty, poza tym jak chciałbyś wstawiać obiekt w miejsce, które chcesz, a jednocześnie mieć posortowane dane?
kontener set/multiset stosuje iteratory do przeglądania elementów, jeśli chcesz aby było sortowane po nazwisku spróbuj przeciążyć funktor less, i skonkretyzuj szablon.
Możesz w tym projekcie zastosować również listę jednokierunkową bądź dwukierunkową.
"ma to do siebie, że wstawia element jeśli takiego już nie ma, a przecież w książce mogą być osoby o tym samym nazwisku."
pamiętaj, że Ty nie będziesz przechowywał Nazwisk w kontenerze tylko OBIEKTY, w którym jedną ze składowych będzie właśnie nazwisko, a Ty możesz przeciążyć funktor less tak, aby porządkował dane pod kątem nazwiska. Zaś szablon vector'a nie zawiera funktora less.
P-40061
imralav
Temat założony przez niniejszego użytkownika
» 2011-08-27 15:04:50
No z tym nazwiskiem rzeczywiście gafa. Tak czy siak zrobiłem już to przy pomocy vectora. Sortowanie zrobione, pozostało napisać jakiś interfejs i gotowe. Ale właściwie, w ramach ćwiczeń może zrobię coś podobnego przy użyciu set/multiset.

Kwestia projektowania nadal nie została poruszona. Czy tak na prawdę wszyscy 'projektują' już w trakcie pisania?
P-40065
markon
» 2011-08-27 15:13:51
nie sądzę, żeby robili to tak wszyscy, ja po prostu nie wykonuję wielu projektów, właściwie bardzo nie wiele, ale podobnie jak Ty napotykam opinie, że to bardzo pomaga,
więc pozostaje nam czekać na opinie innych :)
jak zrealizowałeś sortowanie - pisałeś sam, czy funkcja sort(STL)?
P.S Co każde dodanie nowej osoby wykonujesz na nowo sortowanie?
P-40068
« 1 » 2 3
  Strona 1 z 3 Następna strona