Παραδειγμα Αναλυσησ και Σχεδιασησ:...

16
ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ: ΣΚΑΚΙ Εργασία στο ΗΥ252, χειμερινό εξάμηνο 2008

Transcript of Παραδειγμα Αναλυσησ και Σχεδιασησ:...

Page 1: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΣΚΑΚΙ Εργασία στο ΗΥ252, χειμερινό εξάμηνο 2008

Page 2: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Αρχικά, θα χρειαστεί να εντοπίσετε τα αντικείμενα που θα χρησιμοποιήσετε

Page 3: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Pieces/Pawns

Chess Board

Page 4: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Pieces/Pawns

Chess Board

rook

knight

bishop

king queen

pawn

Page 5: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Pieces/Pawns

Chess Board

rook

knight

bishop

king queen

pawn

Board Cell

Page 6: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Pieces/Pawns

Chess Board

rook

knight

bishop

king queen

pawn

Board Cell

Players

Page 7: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Pieces/Pawns

Chess Board

rook

knight

bishop

king queen

pawn

Board Cell

Players

Game manager: Chess

Page 8: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΑΝΤΙΚΕΙΜΕΝΑ (OBJECTS)

Άλλα αντικείμενα θα μπορούσαν να είναι:

Move

Πχ. για να υλοποιηθεί η λειτουργικότητα της αναίρεσης

IllegalMoveException

άλλα..;

Page 9: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (INHERITANCE)

Στη συνέχεια, θα χρειαστεί να βρείτε σχέσεις κληρονομικότητας

Page 10: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (INHERITANCE)

Οι πεσσοί (piece) μπορούν να είναι :

βασιλιάς (king), βασίλισσα (queen),

αξιωματικός (bishop), ίππος (knight),

πύργος (rook) ή πιόνι (pawn)

Piece

King Queen Bishop Knight Rook Pawn

Page 11: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (INHERITANCE)

Μια κίνηση (Move) μπορεί να είναι:

Απλή κίνηση (SimpleMove)

Κίνηση «αιχμαλώτισης» (CaptureMove)

Ροκέ (CastlingMove)

Κίνηση προαγωγής (PromotionMove)

Move

Simple

Move

Capture

Move

Castling

Move

Promotion

Move

Page 12: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

STATE AND BEHAVIOR

Τέλος, θα χρειαστεί να βρείτε τα πεδία και τις μεθόδους που αντιστοιχούν σε κάθε αντικείμενο

Page 13: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

STATE AND BEHAVIOR

Παράδειγμα:

Τι πεδία/μεθόδους έχει η κλάση Piece;

Ποια επιπλέον πεδία/μεθόδους έχουν οι υποκλάσεις της;

Page 14: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΕΝΔΕΙΚΤΙΚΑ UML ΔΙΑΓΡΑΜΜΑΤΑ

Page 15: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΕΝΔΕΙΚΤΙΚΑ UML ΔΙΑΓΡΑΜΜΑΤΑ

Page 16: Παραδειγμα Αναλυσησ και Σχεδιασησ: Σκακιhy252/html/Lectures2012/assist2012/analy… · ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΗΣ:

ΕΡΩΤΗΣΕΙΣ

?