Professional Documents
Culture Documents
Ni dung
M hnh MVC
Gii thiu mt s biu UML
1. M HNH MVC
MVC l g?
M hnh thit k phn mm 3 thnh phn: Model View
Control
Model:
M hnh ha cc i tng cha d liu cn x l
Cung cp cc phng thc truy cp d liu
M hnh ha cc hot ng nghip v
View:
Cung cp giao din cho ngi dng nhp/xut d liu
Kim tra tnh hp l ca d liu vo
Bt cc s kin trn giao din
Controller: nhn cc s kin c truyn t View gi
Swing
Component
Model
View
Controller
5
V d
// Create JComboBox for setting the count step size
add(new JLabel("Step:"));
final Integer[] steps = {1, 2, 3, 4, 5};
Model
final JComboBox<Integer> comboCount = new
JComboBox<Integer>(steps);
comboCount.setPreferredSize(
View
new Dimension(60, 20));
cp.add(comboCount);
comboCount.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
step = (Integer)
comboCount.getSelectedItem();
Controller
}
}
});
6
Li ch ca MVC
Cho php phn tch h thng ln thnh 3 nhm thnh
Nn
Khng nn
Cc bc x l yu cu ngi dng
1. Ngi dng thc hin mt hnh vi trn View
2. View bt s kin, chuyn yu cu cho Controller x l
10
Mt v d
public class Student {
private String rollNo;
private String name;
public String getRollNo() {
return rollNo;
}
public void setRollNo(String rollNo) {
this.rollNo = rollNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
11
Mt v d (tip)
public class StudentView {
public void printStudentDetails(String studentName,
String studentRollNo){
System.out.println("Student: ");
System.out.println("Name: " + studentName);
System.out.println("Roll No: " + studentRollNo);
}
}
12
Mt v d (tip)
public class StudentController {
private Student model;
private StudentView view;
public StudentController(Student model,
StudentView view){
this.model = model;
this.view = view;
}
public void setStudentName(String name){
model.setName(name);
}
13
Mt v d (tip)
public String getStudentName(){
return model.getName();
}
public void setStudentRollNo(String rollNo){
model.setRollNo(rollNo);
}
public String getStudentRollNo(){
return model.getRollNo();
}
public void updateView(){
view.printStudentDetails(model.getName(),
model.getRollNo());
}
}
14
Mt v d (tip)
public class MVCPatternDemo {
public static void main(String[] args) {
Student model = retriveStudentFromDatabase();
StudentView view = new StudentView();
StudentController controller = new
StudentController(model, view);
controller.updateView();
controller.setStudentName("John");
controller.updateView();
}
private static Student retriveStudentFromDatabase(){
Student student = new Student();
student.setName("Robert");
student.setRollNo("10");
return student;
}
}
15
16
tng
Phin bn hin ti: UML 2.0
UML m hnh ha h thng theo cc gc nhn khc nhau:
Gc nhn s dng: gc nhn t ngoi vo, phn nh cc chc nng
h thng cn c
Gc nhn thit k: gc nhn cu trc logic bn trong h thng, phn
nh cc nhim v h thng cn thc hin
Gc nhn qu trnh: phn nh qu trnh thc hin ca cc thnh
phn trong h thng
Gc nhn ci t: phn nh cch thc lp rp cc thnh phn
h thng hot ng
Gc nhn trin khai: phn nh v tr ca cc thnh phn ca h
thng trn cc thit b vt l
17
18
Tn
ca s dng
Tn i tc
19
Biu Ca s dng
c im ca ca s dng:
Phi lin kt vi mt hoc mt s i tc
Phi dn ti mt kt qu c th
Phi l tp hp ca nhiu chui hnh ng
c t ca s dng:
S dng biu Ca s dng
S dng ngn ng t nhin:
M v tn ca s dng
i tc
iu kin u vo
Lung chnh
Lung ph ( x l ngoi l)
20
X
A
Y
21
<<include>>
<<extend>>
hin
22
23
V d - Ca s dng t ba ti nh hng
Khch hng
K: KH
ng k
thnh vin
24
V d: c t use-case
UC-01
Khch hng t ba
i tc chnh
Khch hng
iu kin
Khng c
Lung chnh
Lung ph
25
Tn hot ng
Lung iu khin:
Chuyn t hot ng ny sang hot ng khc:
Nt khi to:
Nt kt thc:
26
Cc k php (tip)
R nhnh:
Quyt nh: mt lung vo, nhiu lung ra, cc lung ra phi loi
tr nhau
Ha nhp: nhiu lung vo, mt lung ra, nu c mt lung vo
no xut hin, im ha nhp s c vt qua
ng b ha: biu din cc lung thc hin song song
Nt chc (fork): m cc nhnh song song
27
Cc k php
iu kin canh gi: [iu kin]
Lung ch c php i qua nu iu kin xy ra
Phn tuyn: s dng cc ng swim-line phn nh
:i tng 2
:i tng 3
Phn vng:
28
:Khch hng
:B phn t hng
a danh sch
thc n
Chn thc n
a DS
mn n
Chn mn n
chuyn sang
biu khc
[KH chn
thm mn]
[KH hon tt
t mn]
Lp n
t hng
n H
[cha
thanh ton]
Thanh ton
29
Biu lp
Tn lp
Biu din lp
Tn lp
DS thuc tnh
DS phng thc
<<interface>>
Tn giao din
30
tn vai tr
tn quan h
c s
tn vai tr
Lp B
c s
Trng hc
0..1
dy
0..1
hc
thy gio
*
sinh vin
Ngi
*
31
Lp con
Lp cha
Lp
Giao din
Quan h kt tp:
Lp cha
Lp thnh phn
i tng lp thnh phn
c th tn ti ngoi mt i tng lp
cha
Quan h cu thnh:
Lp thnh phn
Lp cha
lp cha
Quan h ph thuc:
Lp
Lp
B i trn i
S thay i i tng lp
AA
c th dn n s
thay
tng lp B
32
Biu lp V d
33
V d
35
Design.
Ti liu UML
J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling
Language Reference Manual, 2nd Edition
36