You are on page 1of 1

Professon των δ6o κλ&oεωv οε δ UML.

καe Java
Krilδ ι Kιiδκαc C++
ι
pub1ic cΙass Professοr {...} class Ρrofessor
public class Department { cl-ass Department
{ ...
private Professor tI professors; priva te :

public DepaΙtment () { Ρrofessor* members [5] ;


professors :new Professor i5l;
//..... )
)
β) Περu1ριiψτε τlg μτρικ66 λoγιoμικoδ ειoερ16μεw1ζεξεργ6μενηq ρoηζ (fan-iη/ fan_outi. πoιog o ρoλog τoυg; Eiναι
επιθυμηη η υΨη}η τιμη γlα κd'Θε μια η τo αwiθετο. Γlατi;

Θ6μα 3: (2.5 μov.)


εαg ε1ει ouo"'euι r* δημιoυρyηoετε λoμομικ6 για εvα αvελκυoτηρα.
Αρ1ικd, oαq ζηηθηκε να υλoπoησετε τo διαγραμμα κλιioεωv τoυ oυoτηματog, λαμβ&νovεαq υπ6ψη oα6 τα εξηq
ουμπερd,oματα ηg βγρι τωρα ανd,λυoηg:
o ανελκυoτηραg αvαπαρioταται απ6 ην αvτioτoι1η *λdoη Elevator πoυ διαΘ6τει ωq μταβλητ6q (attributes): i) η
μταβληη direction τ6πoυ boolean και ii) η μεταβητη πoυ κρατα τov αριθμ6 oρ6φoυ Σαν βθoδo
διαθ6τει η move() πoυ τo Θ6τει οε κivηoη η oπoiα δεv εzπoτρ6φει τι1η (void), η βθoδo
"oo"r,t_floo..
stop() πoυ επioηg δεv
επιoτρ6φει τιμη και η βθoδo get_status () πoυ επιoτρ6φει boolean.
Errioηq κd,θε ανελκυσΦραg (Elevator) ατεoτελετται απ6 τα εξηg αrπικεiμει,α:
α) ην αυτ6μαη π6ρτα (Door) πoυ διαΘ6τει ωq μταβληΦ ηv cΙose τ6πoυ boolean. Σαv
μθ6δoυ9 διαΘι4τει
τη open() και close () πoυ δεv ετnoτρ6φoυv κd,πoια τιμη (void).
β) τov ελεyκπi τoυ αvελκυσηρα ControΙler πoυ διαθ6τει τιg μεταβλητ6q floor id πoυ αwιoτoι1εi οτoν
αριΘμ6 oρ6φoυ, και ην is_moving τ6πoυ boolean. Σαv βΘoδo 6xει ηv siurt-.orirg πoυ επιστρΞφ', η,
τιμη τηg is_moving.
γ) o ε}εγκτηg ControΙΙer εrrικoινωνεi μ μiα ιiλλη κλ6oη Button. Η Button 61ει μια μταβληη, ηv
illuminate μ τυπo boolean που δεi1yει αν τo κoυμπi εivαι αvαμμ€νo
η 6xι. i"r'μεe'oεoη i1ui η,
illuminate() που αλλd,ζει ηv τιμη ηq αw[oτoι1ηg μταβληηq και'εε, ."-"ρεφει τιμη (void). "Br."ηq
,
βθoδo get_status() πoυ επιοτρ6φfl ην τιμη ηs μεταβληηg iliuminate.
δ) Yπ&ρ26oυν τιθλog δrio εiδη κoυμπιcδν (Buttοn) τ,α EΙevator Button και Floor Button. To
Elevator_Buttοn 61ει oαν μεταβληΦ ,o floor_num τ6πoυ int, και oαν
μ6Θoδo η gJ floor() πoυ
εzποτρ6φει τoν αριΘμ6 oρ6φου. Kιiθε Floor-button 61ει oαν μταβληη
ην directiοn, τυπoυ boolean.
Mε βιioη τα ανωτ6ρω καταoκευd,oτε τo δuiγραμμα κλιioεων' ανcι1τCLριoτrbvταg τη κλd,oεη πoδ αναφ6ρΘηκαν
η
oαφcilg εwoεiται 6τι πρ6ιτει να δημrουργηΘo6ν, μ τη μΘ6δoυζ και τα πεδiα (attributes) καΘιb6 και 'τoν τδπo
δεδoμ6νων - η τυπo εzπoτρoφηq για τξ μθ6δoυg - και κd,νoντα6 χρηση ,.,
-o1.τioελν γεvfκευoηq
(generalization), απληg και oriνθεηg oυvd,θρoιoηs (aggregation _ composite aggregatiδn) και oυo16τιοηξ
(association) για η αδνδεoη μεταξδ τωv κλ&,oεων

Θ6μα 4: (2.5 μov.) /

Αναφ6ρατε- περιγρ&ψτε oυvoπτικd, τα επ[πεδα εoωτερικηq καταοκευηg τoυ CMM (Capability Maturity ModeΙ)
Θ6μα 5: (2.5 μov.)
Aναφερθεiτε οε o6γ1rονα εργαλεiα ελ€γ1oυ λογιαμικoti πoυ γ,-ωρiζετε
Kαλτj επτωrtα|'l'