You are on page 1of 27

Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 1. C«ng t¸c qu¶n lý vËt t.

§Æc thï cña hÖ thèng qu¶n lý vËt t lµ h»ng ngµy ph¶i ®¶m nhiÖm
viÖc xuÊt nhËp vËt t, hµng ho¸ trªn nhiÒu kho. C«ng ty Xim¨ng cã
c¸c lo¹i kho chÝnh nh sau.
- Kho nguyªn liÖu nh : ®¸ v«i...
- Kho nhiªn liÖu chøa dÇu, Than...
- Kho phô tïng gåm c¸c chi tiÕt m¸y phôc vô thay thÕ.
- Kho thµnh phÈm cã c¸c lo¹i xi m¨ng ®· s¶n xuÊt ®îc
Mçi kho ®Òu cã thñ kho, chuyªn tr¸ch nhiÖm vô cña thñ kho lµ xuÊt
nhËp vËt t, hµng ho¸, ghi nhËn xuÊt nhËp vËt t hµng ho¸ cho c¸c
®¬n vÞ s¶n xuÊt, kh¸ch hµng

VÝ Dô:

PhiÕu xuÊt hay phiÕu nhËp kho thµnh phÈm lµ do bé phËn qu¶n
lý kho viÕt ra theo c«ng viÖc thùc tÕ. Mçi phiÕu nhËp hoÆc
phiÕu xuÊt cã thÓ ®îc lËp cho mét hoÆc nhiÒu lo¹i vËt t. Ngoµi
ra ®Þnh kú ngêi thñ kho ph¶i kiÓm kª vµ b¸o c¸o tån kho tõng
lo¹i mÆt hµng. B¸o c¸o tån kho ®îc dïng víi c¸c môc ®Ých sau:

- §Ó lªn kÕ ho¹ch s¶n xuÊt : vÝ dô xem xÐt kh¶ n¨ng cã thÓ ®¸p
øng ®îc mét hîp ®ång hay kh«ng.
- §èi chiÕu víi c¸c chøng tõ xuÊt nhËp xem tån kho trªn thùc tÕ cã
phï hîp kh«ng, cã mÊt m¸t, thÊt l¹c vËt t hµng ho¸ hay kh«ng.
- §Ó ®¶m b¶o s¶n xuÊt æn ®Þnh, mét sè mÆt hµng, lo¹i vËt t ph¶i
®¹t ®îc mét møc dù tr÷ lín h¬n møc nµo ®ã gäi lµ dù tr÷ tèi
thiÓu, nÕu dù tr÷ thÊp h¬n so víi møc dù tr÷ tèi thiÓu th× ph¶i
®Æt hµng bæ sung. Mét sè mÆt hµng nµo ®ã còng quy ®Þnh
mét møc gäi lµ dù tr÷ tèi ®a. NÕu tån kho vît qu¸ møc nµy th×
ph¶i cã ph¬ng ph¸p xö lý ®Ó tr¸nh khái bÞ ø ®äng trong nguyªn
vËt liÖu hay hµng ho¸ kh«ng tiªu thô ®îc.

NÕu cã sù kh«ng phï hîp gi÷a thùc tÕ vµ chøng tõ th× cã sù thÊt


tho¸t hµng ho¸ hoÆc cã sù nhÇm lÉn vÒ chøng tõ.

§Ó tiÕn hµnh theo dâi lÞch sö xuÊt nhËp theo chøng tõ, tån kho tõng
thø vËt t, hµng ho¸ ë tõng kho, thñ kho ph¶i lËp cho mçi mÆt hµng
mét thÎ kho ®Ó lµm c¨n cø x¸c ®Þnh tån kho dù tr÷ vËt t. Hµng
ngµy thñ kho c¨n cø vµo phiÕu nhËp kho, phiÕu xuÊt kho ghi c¸c
th«ng tin vÒ sè lîng xuÊt nhËp vµo thÎ kho cña mçi lo¹i vËt t. Cuèi
ngµy tÝnh sè tån kho vµ ghi vµo thÎ kho.

Ngêi qu¶n lý kho trùc tiÕp xuÊt nhËp hµng ho¸ vËt t, c¸c chøng tõ
chñ yÕu lµ phiÕu xuÊt vµ phiÕu nhËp . Khi cã nhu cÇu nhËp vËt t
hay xuÊt vËt t th× phßng cung øng tiÕp xóc víi c¸c nhµ cung cÊp
lµm ®¬n ®Æt hµng. Khi hµng vÒ, sau khi gi¸m ®Þnh chÊt lîng ngêi

Bµi tËp 1
Introduction to Requirement Modeling using Oracle Designer Pythis

qu¶n lý kho viÕt phiÕu nhËp lu l¹i mét b¶n, mét b¶n göi cho phßng
kÕ to¸n tµi chÝnh ®Ó thanh to¸n, mét b¶n cho nhµ cung cÊp vµ mét
b¶n cho thñ kho ®Ó thñ kho lµm thñ tôc nhËp kho.

§èi víi kho nguyªn vËt liÖu hay nhiªn liÖu, phô tïng thay thÕ, phiÕu
xuÊt kho ®îc thùc hiÖn theo yªu cÇu s¶n xuÊt do ban gi¸m ®èc ra
lÖnh .

§èi víi kho thµnh phÈm, viÖc nhËp kho lµ thñ tôc néi bé theo th«ng
b¸o cña c¸c ph©n xëng s¶n xuÊt, víi sù kiÓm tra cña nhµ m¸y. Mét
phiÕu nhËp kho cã thÓ cã nhiÒu mÆt hµng nhng chØ tõ mét nhµ
cung cÊp hay tõ mét ph©n xëng mµ th«i.

§èi víi kho thµnh phÈm viÖc xuÊt kho chÝnh lµ b¸n hµng ®îc viÕt
theo lÖnh cña phßng tiªu thô. Mét phiÕu xuÊt còng cã thÓ gåm
nhiÒu kho¶n nhng chØ xuÊt cho mét ®èi tîng mµ th«i. Ho¸ ®¬n
kiªm giÊy xuÊt còng gåm 4 niªn nh phiÕu nhËp .

C«ng ty kh«ng b¸n lÎ mµ b¸n lu«n cho mét sè ®¹i lý cã hîp ®ång víi
c«ng ty. V× vËy kh«ng nhÊt thiÕt c¸c phiÕu xuÊt ®Òu ph¶i thanh
to¸n ngay. Tuy nhiªn nÕu kh¸ch hµng thanh to¸n ngay th× cã thÓ
gi¶m gi¸. Hå s¬ kh¸ch hµng còng ®îc lu tr÷ ®Ó x¸c nhËn khi hä tíi
lÊy hµng. §Þnh kú (hµng ngµy, hµng tuÇn, th¸ng, quý, n¨m), ngêi
qu¶n lý ph¶i b¸o c¸o víi ban l·nh ®¹o biÕn ®éng cña kho hµng gåm
tån kho mçi mÆt hµng ®Çu kú, lîng xuÊt, lîng nhËp trong kú vµ tån
kho cuèi kú. Ban l·nh ®¹o c¨n cø vµo con sè nµy ®Ó n¾m ®îc t×nh
h×nh kinh doanh, s¶n xuÊt cña c«ng ty.

C¸c chøng tõ thêng ®îc sö dông.


- PhiÕu xuÊt
- PhiÕu nhËp
- ThÎ kho
- Hå s¬ kh¸ch hµng
- C¸c lo¹i b¸o c¸o vÒ biÕn ®éng vËt t

Bµi tËp: m« t¶ nghiÖp vô

1. Môc tiªu

2. YÕu tè thµnh c«ng, sö dông cho môc tiªu nµo

3. ChØ tiªu thùc hiÖn, ®o ®¹c môc tiªu nµo

Bµi tËp 2
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 2. Process Model - PM

Môc ®Ých cña bµi tËp: Gióp t¹o m« h×nh quy tr×nh víi
♦ C¸c process step
♦ C¸c flow, trigger vµ outcome

1. T¹o mét qui tr×nh nghiÖp vô míi QUAN LY VAT TU, Label: QLVT.
2. T¹o Organization Units
PHONG GIAO DICH
PHONG VAT TU
PHONG KE TOAN
PHONG KE HOACH

3. ChuyÓn PHONG KE HOACH lªn trªn PHONG GIAO DICH. Thay ®æi
chiÒu cao cña PHONG VAT TU

4. T¹o process step /Decision Point/Flow


Process step NHAP YEU CAU (data entry, 5 sec)
Trigger PHIEU YEU CAU (process step NHAP YEU CAU, frequency
5/day)
Date store PHIEU YEU CAU (data store)
Flow th«ng tin vÒ yªu cÇu (data flow) tõ NHAP YEU CAU tíi PHIEU
YEU CAU, display Name.

T¹o Decision Point KIEM TRA KHO HANG


Flow “chi tiÕt yªu cÇu” (temporal flow) tõ NHAP YEU CAU tíi KIEM
TRA KHO HANG
Data store HANG

Process step XUAT HANG (data entry, 10 sec.)


Data store PHIEU XUAT (PHONG VAT TU data store)
Flow “®ñ hµng ®Ó xuÊt”, hiÖn qui t¾c: “®ñ hµng”, tõ KIEM TRA
KHO HANG tíi XUAT HANG
Flow “chi tiÕt hµng cã trong kho” tõ HANG tíi KIEM TRA KHO
HANG, display Name
Flow “chi tiÕt yªu cÇu” tõ PHIEU YEU CAU tíi XUAT HANG, display
Name

Bµi tËp 3
Introduction to Requirement Modeling using Oracle Designer Pythis

Flow “trõ hµng trong kho” tõ XUAT HANG tíi HANG, display Name
Flow “chi tiÕt xuÊt hµng” tõ XUAT HANG tíi PHIEU XUAT, display
Name

Process step LAP KE HOACH (PHONG KE HOACH)


Flow “kh«ng ®ñ hµng ®Ó xuÊt”, hiÖn qui t¾c: “kh«ng ®ñ hµng”,
KIEM TRA KHO HANG tíi LAP KE HOACH

Chøc n¨ng LAP BAO CAO XUAT (report, 10 sec. )


Flow “chi tiÕt xuÊt hµng”, data flow tõ PHIEU XUAT tíi LAP BAO
CAO XUAT

Chøc n¨ng NHAP VAT TU


Trigger VAT TU VE (process step NHAP VAT TU, frequency 20/day)
Flow “chi tiÕt hang nhap” tõ NHAPVAT TU tíi HANG

Chøc n¨ng KHAI BAO VAT TU MOI


Trigger VAT TU MOI ( process step KHAI BAO VAT TU MOI,
frequency 2/Week)
Flow “chi tiÕt khai b¸o” tõ KHAI BAO VAT TU MOI tíi HANG

Process step LAP HOA DON


Flow “lËp ho¸ ®¬n” temporal flow tõ XUAT HANG tíi LAP HOA
DON
Flow “chi tiÕt xuÊt hµng”, data flow tõ PHIEU XUAT tíi LAP HOA
DON.
Outcome end (process step LAP HOA DON)

Bµi tËp 4
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 3. Repository Object Navigator - RON

Môc ®Ých cña bµi tËp:


♦ Lµm quen víi RON
♦ T¹o Application (øng dông) vµ biÕt c¸c th«ng tin liªn quan ®Õn
c¸c øng dông trong Repository qua RON.
♦ T¹o CSDL cho øng dông vµ t¹o user cho øng dông ®ã
♦ T¹o/Xem mét sè ®èi tîng t¹i RON: Domain, Sequence…
1. Vµo RON
2. T¹o øng dông: Vµo File-> New Application. §Æt tªn øng dông lµ
DEMO.
3. T¹o/Xem CSDL
 Vµo Database and Network Design ->Database(Oracle)-> t¹o
c¬ së d÷ liÖu DEMO. C¸c th«ng tin vÓ cÊu tróc vËt lý ban ®Çu
cña c¬ së d÷ liÖu sÏ ®îc lu trong phÇn nµy
 Trong c¬ së d÷ liÖu DEMO, vµo Users ->T¹o user QLVT víi
password lµ QLVT
4. T¹o/Xem c¸c ®èi tîng trong 1 øng dông qua RON , vÝ dô:
 Vµo Rerefence Data Definittion ->Domain-> t¹o domain hoÆc
xem th«ng tin vÒ c¸c domain trong DEMO
 Vµo Server Model Definittion-> Sequence Definition -> t¹o
sequence hoÆc xem th«ng tin vÒ Sequence.

Bµi tËp 5
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 4. Function HØerachy Diagrammer - FHD


Môc ®Ých cña bµi tËp:

♦ T¹o FHD dùa trªn kÕt qu¶ cña bµi tËp 2

♦ HiÓu ®îc quan hÖ gi÷a PM vµ FHD

1. Vµo FHD

2. Vµo File ->New Diagram

3. Chän Function QLVT

4. Reparent Kiem tra kho hang, LAP KE HOACH to root.

5. Resequence sao cho c¸c chøc n¨ng theo thø tù sau:


KHAI BAO VAT TU
NHAP VAT TU
NHAP YEU CAU
XUAT HANG
LAP HOA DON,
LAP BAO CAO XUAT

6. §èi víi c¸c chøc n¨ng trªn, edit:


KHAI BAO VAT TU Elementary, Frequency 5/day, Response
Immediate, PS_NVT
NHAP VAT TU Elementary, Frequency 2/day, Response
Immediate, PS_NVT
NHAP YEU CAU Elementary, Frequency 5/day, Response
Immediate, PS_NYC
XUAT HANG Elementary, Frequency 5/day, Response
Immediate, PS_XH
LAP HOA DON, Elementary, Frequency 5/day, Response
Overnight, PS_HDDT
LAP BAO CAO XUAT Elementary, Frequency 1/month,
Response Overnight, PS_BCXH

Bµi tËp 6
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 5. Entity Relationship Diagrammer - ERD


Môc ®Ých cña bµi tËp
♦ Híng dÉn t¹o mét ERD (Entity Relationship Diagram), bao gåm:
Entity (thùc thÓ) vµ Relationship (quan hÖ) gi÷a c¸c thùc thÓ.
Sau ®ã t¹o c¸c attribute (thuéc tÝnh) vµ UID (Unique
Identifiers - §Þnh danh duy nhÊt) ®èi víi tõng thùc thÓ.
♦ Cut/ Include thùc thÓ/quan hÖ trong mét ERD.
♦ T¹o domain

1. Vµo ERD
2. T¹o c¸c thùc thÓ sau:
♦ DAI LY Short name: DLY, Name: DAILY, Plural: DAILYS
♦ HANG Short name: HAN, Name: HANG, Plural: HANGS
♦ PHIEU YEU CAU Short name: PYC, Name: PHIEU YEU CAU,
Plural: PHIEU YEU CAUS
♦ CHI TIET YEU CAU Short name: CYC, Name: CHI TIET YEU
CAU, Plural: CHI TIET YEU CAUS
♦ PHIEU NHAP Short name: PNH, Name: PHIEU NHAP,
Plural: PHIEU NHAPS
♦ CHI TIET NHAP Short name: CTN, Name: CHI TIET NHAP, Plural:
CHI TIET NHAPS
♦ PHIEU XUAT Short name: PXU, Name: PHIEU XUAT,
Plural: PHIEU XUATS
♦ CHI TIET XUAT Short name: CTX, Name: CHI TIET XUAT, Plural:
CHI TIET XUATS

3. T¹o c¸c domain : Vµo Edit ->Domains


 SO LUONG Format NUMBER, Max Att Length 5, Data type
NUMBER, Max Col Length 5
 CODE Format VARCHAR2, Max Att Length 10, Data type
VARCHAR2, Max Col Length 10
 NAME Format VARCHAR2, Max Att Length 30, Data type
VARCHAR2, Max Col Length 30
 ID Format NUMBER, Max Att Length 15, Data type NUMBER,
Max Col Length 15

Bµi tËp 7
Introduction to Requirement Modeling using Oracle Designer Pythis

4. T¹o c¸c thuéc tÝnh t¬ng øng víi tõng thùc thÓ, th«ng tin chi tiÕt
nh sau:

ENTITY Attributes Format/Dom Op UID


ain t
DAI LY M· §¹i Lý CODE N 1
Tªn §¹i Lý NAME N
§Þa ChØ VARCHAR2 N
(50)
HANG M· Hµng CODE N 1
Tªn Hµng NAME N
Sè Lîng SO LUONG N
§¬n VÞ TÝnh VARCHAR2 (5) N
Allowable Values: lit, kg,
hép
PHIEU YEU M· PYC CODE N 1
CAU
Ngµy Yªu Cçu DATE N
CHI TIET Sè Lîng Yªu Cçu SO LUONG N
PYC
Sè Lîng Cha §ñ SO LUONG N
PHIEU M· PhiÕu NhËp CODE N 1
NHAP
Ngµy NhËp DATE N
CHI TIET Sè Lîng NhËp SO LUONG N
NHAP
PHIEU XUAT M· PhiÕu XuÊt CODE N 1
Ngµy XuÊt DATE N
CHI TIET Sè Lîng XuÊt SO LUONG N
XUAT
§¬n Gi¸ NUMBER (10) N

5. T¹o quan hÖ gi÷a c¸c thùc thÓ


♦ PHIEU YEU CAU
 M:1 to DAI LY, göi tõ (must be), göi (may be) (Mét DAI LY cã
thÓ (may be) göi mét hoÆc nhiÒu PHIEU YEU CAU. Mçi
PHIEU YEU CAU ph¶i ®îc (mush be) gñi tõ 1 vµ chØ 1 DAI
LY

Bµi tËp 8
Introduction to Requirement Modeling using Oracle Designer Pythis

♦ CHI TIET YEU CAU


 M:1 to PHIEU YEU CAU, thuéc vÒ (must be) – bao gåm
(must be),
Quan hÖ nµy tham gia vµo UID
 M:1 to HANG, vÒ (must be) - ®îc yªu cÇu trong (may be)
Quan hÖ nµy tham gia vµo UID
♦ CHI TIET NHAP
 M:1 to PHIEU NHAP, thuéc vÒ (must be) – bao gåm (may be)
Quan hÖ nµy tham gia vµo UID
 M:1 to HANG, vÒ lo¹i (must be) - ®îc nhËp trong (may be)
Quan hÖ nµy tham gia vµo UID
♦ PHIEU XUAT
 M:1 to PHIEU YEU CAU, cho (must be) – cã (may be)
♦ CHI TIET XUAT
 M:1 to PHIEU XUAT, thuéc vÒ (must be) – bao gåm (must be),
UID
Quan hÖ nµy tham gia vµo UID
 M:1 to HANG, vÒ lo¹i (must be) - ®îc xuÊt trong (may be), UID
Quan hÖ nµy tham gia vµo UID

6. Save ERD
7. Vµo Edit -> Cut CHI TIET XUAT
8. Vµo Edit -> Include with/ without relationship
9. Exit, kh«ng save

Bµi tËp 9
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 6. FHD (tiÕp)


Môc ®Ých cña bµi tËp: Khai b¸o chi tiÕt c¸c function (chøc n¨ng)

1. Vµo FHD.
2. Double click tõng chøc n¨ng, gi¶i thÝch c¸c th«ng tin trªn
Function. Function Note, Description, Frequency, Response.
3. Double click vµo entity, ®Ó t¹o attributes vµ UID

Functio Usage Entity Attribute I R U N


n

PS_NVT CRUD PHIEU NHAP M· PhiÕu NhËp Y Y


Ngµy NhËp Y Y Y
CRUD CHI TIET NHAP Sè Lîng NhËp Y Y Y
PS_KBH CRUD HANG M· Hµng Y Y
Tªn_Hµng Y Y Y
§¬nVÞ TÝnh Y Y Y
Sè Lîng Y Y Y
PS_NYC CRUD PHIEU YEU CAU M· PhiÕu Yªu Y Y
Cçu
Ngµy Yªu Cçu Y Y Y
CRUD CHI TIET PYC Sè Lîng Yªu Cçu Y Y Y
Sè Lîng Cha §ñ Y Y Y
PS_XH CRUD PHIEU XUAT M· PhiÕu XuÊt Y Y
Ngµy XuÊt Y Y Y
CRUD CHI TIET XUAT Sè Lîng Y Y Y
§¬n Gi¸ Y Y Y
PS_HDD R PHIEU XUAT M· PhiÕu XuÊt Y
T
Ngµy XuÊt Y
R HANG M· Hµng Y
Tªn Hµng Y
R CHI TIET XUAT Sè Lîng XuÊt Y
§¬n Gi¸ Y
PS_BCX R HANG M· Hµng Y
H
Tªn Hµng Y

Bµi tËp 10
Introduction to Requirement Modeling using Oracle Designer Pythis

Functio Usage Entity Attribute I R U N


n

R PHIEU XUAT M· PhiÕu XuÊt Y


R CHI TIET XUAT Sè Lîng XuÊt Y

Bµi tËp 11
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 7. Matrix Diagrammer - MD

Môc ®Ých cña bµi tËp: KiÓm tra kÕt qu¶ cña c¸c bµi tËp tríc
1. Vµo MD - Matrix Diagram.

2. LËp biÓu ®å d¹ng BF – Entity MXD_XNVT1


Row – BF label, Elementary = ‘Y’
Column – Entity Name
Intersection – CRUD
3. LËp biÓu ®å d¹ng BF – Attributes MXD_XNVT2
Row – BF label, Elementary = ‘Y’
Column – Attribute Name
Intersection – IRUN

Bµi tËp 12
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 8. Database Design Transformer - DDT

Môc ®Ých cña bµi tËp: T¹o mét c¬ së d÷ liÖu logic dùa trªn ERD
cña bµi tËp 3

1. Vµo DDT
2. Chän Utilities -> Database Design Transformer. Cã hai tuú chän
 Default: Transform toµn bé theo c¸c th«ng sè mÆc ®Þnh cña
hÖ thèng
 Customize: Transform theo c¸c chän lùa cña ngêi sö dông.
Díi ®©y lµ c¸c híng dÉn theo tuú chän Customize
3. Vµo tab Table Mappings: Chän c¸c entity ®Ó transform b»ng c¸ch
click vµo c¸c In Set t¬ng øng
4. Vµo tab Other Mapping: Chän d¹ng item ®Ó map la Column
5. Vµo tab Run Option: Chän tÊt c¶ c¸c element (Table, Column, Key,
Index) cho phÐp create vµ modify
6. Click vµo button Show Run Set ®Ó xem c¸c th«ng tin sÏ ®îc
transform
7. Click vµo button Settings ®Ó x¸c ®Þnh c¸c th«ng sè khi
transform:
 Tab Database
+ Chän c¬ së d÷ liÖu DEMO, user QLVT
 Tab Keys:
+ Chän level : Both
+ Chän Create Surrogate Key: Y
+ Chän domain cho c¸c Surrogate Key: ID
+ C¸c gi¸ trÞ kh¸c ®Ó mÆc ®Þnh
 Tab Other Settings:
+ Chän Prefix cho Surrogate Key
+ C¸c gi¸ trÞ kh¸c ®Ó mÆc ®Þnh
8. Click Run.

Bµi tËp 13
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 9. Application Design Transformer - ADT


Môc ®Ých cña bµi tËp:
♦ ChuyÓn c¸c chøc n¨ng logic thµnh c¸c module t¬ng øng dùa trªn
kÕt qu¶ cña bµi 8
♦ ChuyÓn c¸c chøc n¨ng logic thµnh c¸c menu module

1. Vµo ADT
2. Trong Generate Options: Chän Module
3. Trong Common Parameter:
Start Function: Chän QLVT
Module prefix: QLVT
Start Number:10
4. Trong Merger Granularity: Chän Identical Entities and Usages
5. Trong language: ®Ó ngÇm ®Þnh
6. Click Generate
7. Vµo ADT
8. Trong Generate Options: Chän Menus
9. Trong Common Parameter:
Start Function: Chän QLVT
Module prefix: VT_MEN
Start Number:10
10.Click Generate

Bµi tËp 14
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 10. Design Editor – Generate Database


Môc ®Ých cña bµi tËp :
♦ Lµm quen víi m«i trêng Design Editor ->Server Model vµ DB Admin:
yªu cÇu ph¶i hiÓu c¸c kh¸i niÖm vÒ Database, Database User, Table,
Sequence, Trigger..., biÕt sö dông SQL*Plus vµ c¸c thao t¸c cÇn thiÕt
trong phÇn Server Model.
♦ Customize table definition, sequence, domain...
♦ Dùa trªn c¸c quy t¾c nghiÖp vô cña bµi to¸n Qu¶n lý vËt t, viÕt c¸c
trigger t¬ng øng
♦ Generate c¬ së d÷ liÖu dïng Server Generator

1. Vµo Design Editor


2. Vµo Server Model->Table Definition : xem/söa c¸c th«ng tin ®îc
chuyÓn tõ ERD sang:

• Column property: default value, upper case, prompt, display,


Autogen Type, Sequence (sö dông Oracle sequence nµo), user
help text, Note, Description, Descriptor Sequence ...
• PK: enable, update, FK: enable, transferable, update rule,
delete rule, mandatory, UK
• C¸c sequence
• Descriptor Sequence:
 HANGS. Ma_Hang 1
 HANGS. Ten_Hang 2
 DAI LYS.Ma_Dai_Ly 1
 DAI_LYS.Ten_Dai_Ly 2

3. Mét sè quy t¾c nghiÖp vô


 NhËp vËt t: sau khi nhËp vËt t, sè lîng lo¹i hµng t¬ng øng sÏ ®îc
t¨ng lªn ®óng b»ng sè lîng nhËp.
 XuÊt vËt t: danh s¸ch c¸c lo¹i hµng ®îc chän trong chi tiÕt xuÊt
chØ giíi h¹n trong danh s¸ch c¸c lo¹i hµng chi tiÕt yªu cÇu cña
phiÕu yªu cÇu t¬ng øng.
 Tríc khi xuÊt, kiÓm tra sè lîng hµng trong kho, nÕu kh«ng cßn,
hoÆc Ýt h¬n sè lîng ®Þnh xuÊt, th«ng b¸o.
 Sau khi xuÊt vËt t, sè lîng lo¹i hµng t¬ng øng trong kho, sè lîng ch-
a ®¸p øng cña phiÕu yªu cÇu t¬ng øng víi phiÕu xuÊt sÏ ®îc gi¶m
®i ®óng b»ng sè lîng xuÊt.
4. Vµo Server Model
Table CHI_TIET_NHAP, database trigger, Create CTN_AFTER_INSERT
(cã purpose) after, insert, enable, Row level.

Bµi tËp 15
Introduction to Requirement Modeling using Oracle Designer Pythis

Table CHI_TIET_XUAT, database trigger, Create CTX_AFTER_INSERT


(cã purpose) after, insert, enable, Row level.
Trigger CTN_AFTER_INSERT, edit PL/SQL
BEGIN
UPDATE hangs
SET so_luong= so_luong + :new.so_luong_nhap
WHERE ma_hang= :new.han_Ma_hang;
END;
Trigger CTX_AFTER_INSERT, edit PL/SQL

BEGIN
DECLARE
sl_ton NUMBER(5);
sl_cdu NUMBER(5);
BEGIN
SELECT so_luong INTO sl_ton
FROM hangs
WHERE ma_hang=:new.han_ma_hang;

SELECT so_luong_chua_du INTO sl_cdu


FROM chi_tiet_pycs ctyc
WHERE han_ma_hang=:new.han_ma_hang
AND ctyc.pyc_ma_phieu_yeu_cau =
(SELECT pyc_ma_phieu_yeu_cau
FROM phieu_xuats
WHERE phieu_xuats.ma_phieu_xuat =:new.px_ma_phieu_xuat);

IF sl_ton = 0 THEN
raise_application_error (-20001, 'Khong co hang trong kho');
ELSEIF sl_cdu<:new.so_luong_xuat THEN
raise_application_error (-20003,'Luong hang xuat vuot qua
luong yeu cau');
------------Thêm vào
ELSIF :new.so_luong_xuat > sl_ton THEN
raise_application_error (-20005,'Luong hang trong kho
khong du de xuat');
-------------
ELSE
UPDATE hangs SET so_luong = sl_ton - :new.so_luong_xuat
WHERE ma_hang = :new.han_ma_hang;

UPDATE chi_tiet_pycs
SET so_luong_chua_du = sl_cdu - :new.so_luong_xuat
WHERE han_ma_hang=:new.han_ma_hang
AND chi_tiet_pycs.pyc_ma_phieu_yeu_cau =
(SELECT pyc_ma_phieu_yeu_cau
FROM phieu_xuats
WHERE phieu_xuats.ma_phieu_xuats =
:new.px_ma_phieu_xuat);
END IF;
END IF;

EXCEPTION
WHEN NO_DATA_FOUND THEN
raise_application_error (-20004, 'Khong co loai hang nay
trong phieu yeu cau');
END;

Bµi tËp 16
Introduction to Requirement Modeling using Oracle Designer Pythis

5. Vµo DB Admin -> Databases (Oracle) DEMO ->Users QLVT ->Schema


Object -> Sequence Implementation, söa thuéc tÝnh cña c¸c
Sequence : Start 1, Increment 1, Minimum 1
6. Vµo DB Admin -> Databases (Oracle) DEMO ->Users QLVT ->Schema
Object -> Table Implementation -> chän mét table bÊt kú. Vµo
Generate DDL

 T¹i tab Target:


+ Chän DDL files Only
+ Chän File prefix, vÝ dô: QLVT
+ Chän Directory, vÝ dô: C: \
 T¹i tab Objects:
+ ChuyÓn tÊt c¶ c¸c ®èi tîng cÇn generate tõ bªn tr¸i sang
bªn ph¶i.
 Click Start
 Run SQL*Plus, connect vµo user t¬ng øng, liªn hÖ víi DBA
SQL> @C: \ QLVT.sql

Bµi tËp 17
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 11. Design Editor – Generate Forms

Môc ®Ých cña bµi tËp


♦ Lµm quen víi m«i trêng Design Editor-> Module: yªu cÇu ph¶i hiÓu
®îc c¸c kh¸i niÖm c¬ b¶n: window, module, module component,
base table usage, look up table, bound item, unbound item,
action item... vµ biÕt c¸c thao t¸c cÇn thiÕt trong phÇn Module,
biÕt dïng Form Builder ®Ó më vµ ch¹y form
♦ Customize c¸c module
♦ Generate form tõ module dïng Form Generate
1. Khai b¸o c¸c th«ng tin chung cña c¸c module

 CÇn khai b¸o c¸c th«ng tin sau vÒ module


• Short name/Implimentation name: ®Æt gièng nhau
• Module name:
• Candidate: ‘No’
• Purpose/ Language: Form/Report
• Preference Set:

 CÇn khai b¸o c¸c th«ng tin sau vÒ cöa sæ (window)


• Window name:
• Window title
• Use scrollbar: Yes/No
 CÇn khai b¸o c¸c th«ng tin sau vÒ module component
• Module component name: thêng ®Ó mÆc ®Þnh
• Module component title
• Operations
• Number of rows displayed
• Overflow style
• Placement of module component
 CÇn khai b¸o c¸c th«ng tin sau ®èi víi tõng table usage
• Item vµ Item name
• Operation/Prom/Display Title/Width/Height ®èi víi tõng Item
• Master/Detail link
• Look up table

2. Customize chi tiÕt ®èi víi tõng module

Bµi tËp 18
Introduction to Requirement Modeling using Oracle Designer Pythis

2.1. KHAI BAO VAT TU


• Window name: KHAI_BAO_VAT_TU
• Window title: Khai bao vat tu
• Use scrollbar: No
• Language: Developer 2000/Form
• Module gåm 1 module component t¬ng øng víi table usage
HANGS

Componen Style Place Opera Item Disp Opera


t/Table /Row t lay? t
Usage Displ

HANGS Spre New IUDS Han_Id N S


ad conte
table nt
/5 canva
s
Ma_Hang Y IUS
Ten_Hang Y IUS
Don_Vi_Tinh Y IUS
So_Luong Y S
(IUS)

2.2. NHAP VAT TU


• Window name: NHAP_VAT_TU
• Window title: Nhap vat tu
• Use scrollbar: No
• Language: Developer 2000/Form
• Module gåm 2 module component t¬ng øng víi 2 table usage
PHIEU_NHAPS, CHI_TIET_NHAPS quan hÖ Master/Details víi
nhau.
• Look up table: HANGS tõ CHI_TIET_NHAPS

Bµi tËp 19
Introduction to Requirement Modeling using Oracle Designer Pythis

Componen Style Place Opera Item Disp Opera


t/Table /Row t lay? t
Usage Displ

PHIEU_NH Wrap New IUDS Pnh_Id N S


APS line/1 conte
nt
canva
s
Ma_Phieu_N Y S
hap (IUS)
Ngay_Nhap Y IUS
CHI_TIET_ Spre Same IUDS So_Luong_N Y IUS
NHAPS ad conte hap
table nt
/5 canva
s
Pnh_Id N S
Han_Id N S
HANGS Ma_Hang Y IUS
(Look up) (S)
Ten_Hang Y S
Don_Vi_Tinh Y S

2.3. NHAP YEU CAU

• Window name: NHAP_YEU_CAU


• Window title: Nhap yeu cau
• Use scrollbar: No
• Language: Developer 2000/Form
• Module gåm 2 module component t¬ng øng víi 2 table usage
PHIEU_YEU_CAUS,CHI_TIET_YEU_CAUS quan hÖ Master/Details
víi nhau.
• Look up table: HANGS tõ CHI_TIET_YEU_CAUS, DAI_LYS tõ
PHIEU_YEU_CAUS

Bµi tËp 20
Introduction to Requirement Modeling using Oracle Designer Pythis

Componen Style Place Opera Item Disp Opera


t/Table /Row t lay? t
Usage Displ

PHIEU_YE Wrap New IUDS Pyc_Id N S


U_CAUS line/1 conte
nt
canva
s
Ma_Phieu_Ye Y S
u _Cau (IUS)
Ngay_Yeu_C Y IUS
au
DAI_LYS Dly_Id N
(Look up)
Ten_Dat_Ly Y IUS
(S)
CHI_TIET_ Spre Same IUDS So_Luong_ Y IUS
YEU_CAUS ad conte Yeu_Cau
table nt
/5 canva
s
So_Luong_C Y IUS
hua_Du
Pyc_Id N S
Han_Id N S
HANGS Ma_Hang Y IUS
(Look up) (S)
HANGS Ten_Hang Y S
(Look up)
Don_Vi_Tinh Y S

2.4. XUAT VAT TU

• Window name: XUAT_VAT_TU


• Window title: Xuat vat tu
• Use scrollbar: No
• Language: Developer 2000/Forms

Bµi tËp 21
Introduction to Requirement Modeling using Oracle Designer Pythis

• Module gåm 2 module component t¬ng øng víi 2 table usage


PHIEU_XUATS,CHI_TIET_XUATS quan hÖ Master/Details víi
nhau.
• Look up table: HANGS tõ CHI_TIET_XUATS, PHIEU_YEU_CAUS tõ
PHIEU_XUATS

Componen Style Place Opera Item Disp Opera


t/Table /Row t lay? t
Usage Displ

PHIEU_XU Wrap New IUDS Pxu_Id N S


ATS line/1 conte
nt
canva
s
Ma_Phieu_Xu Y S
at (IUS)
Ngay_Xuat Y IUS
Pyc_Id N S
PHIEU_YE Ma_Phieu_Ye Y IUS
U_CAUS u_Cau (S)
(look up)
CHI_TIET_ Spre Same IUDS So_Luong_X Y IUS
XUATS ad conte uat
table nt
/5 canva
s
Pxu_Id N S
Han_Id N S
HANGS Ma_Hang Y IUS
(Look up) (S)
Ten_Hang Y S
Don_Vi_Tinh Y S

2.5. LAP BAO CAO XUAT

• Window name: LAP_BAO CAO_XUAT


• Report title: BAO CAO XUAT
• Language: Developer 2000/Reports

Bµi tËp 22
Introduction to Requirement Modeling using Oracle Designer Pythis

• Module gåm 2 module component t¬ng øng víi 2 table usage


PHIEU_XUATS,CHI_TIET_XUATS quan hÖ Master/Details víi
nhau.
• Look up table: HANGS tõ CHI_TIET_XUATS
• Module format: Control Break
• Number of row displayed/page: 20
• Page bottom title: Quan ly vat tu

Component Layout Column Display


Style ?

PHIEU_XUATS Tabular Pxu_Id N


Ma_Phieu_Xuat Y
CHI_TIET_XUATS Tabular So_Luong_Xuat Y
Don_Gia Y
Han_Id N
HANGS (Look up) Ma_Hang Y
Ten_Hang Y

2.6. LAP HOA DON


• Window name: LAP_HOA_DON
• Report title: HOA DON
• Language: Developer 2000/Reports
• Module gåm 2 module component t¬ng øng víi 2 table usage
PHIEU_XUATS,CHI_TIET_XUATS quan hÖ Master/Details víi
nhau.
• Look up table: HANGS tõ CHI_TIET_XUATS
• Module format: Control Break
• Number of row displayed/page: 10
• Page bottom title: Quan ly vat tu
Secondary usage Don _Gia
Derivation expression = So_Luong* Don_Gia
Prompt null, non-display primary usage

Bµi tËp 23
Introduction to Requirement Modeling using Oracle Designer Pythis

Component Layout Column Display


Style ?

PHIEU_XUATS Tabular Pxu_Id N


Ma_Phieu_Xuat Y
Ngay_Xuat Y
CHI_TIET_XUATS Tabular So_Luong_Xuat Y
Don_Gia Y
Han_Id N
HANGS (Look up) Ma_Hang Y
Ten_Hang Y

3. T¹o module míi – KHAI BAO DAI LY

• Window name: KHAI_BAO_DAI_LY


• Window title: Khai bao dai ly
• Use scrollbar: No
• Language: Developer 2000/Forms
• Module gåm 1 module component t¬ng øng víi table usage
DAI_LYS

Compone Style/ Place Opera Item Disp Oper


nt/Table Row t lay? at
Usage Displ

DAI_LYS Sprea New IUDS Dly_Id N S


d conten
table/ t
10 canvas
Ma_Dai_Ly Y S
(IUS)
Ten_Dai_Ly Y IUS
Dia_Chi Y IUS

4. Generate Form
 LÇn lît chän module cÇn generate
 Chän Generate form
 Trong Option, chän database user , vÝ dô ora21/ora21@tra
 Chän vÞ trÝ cña menu file ®îc sinh ra, vÝ dô C:\QLVT

Bµi tËp 24
Introduction to Requirement Modeling using Oracle Designer Pythis

 BÊm Start

Bµi tËp 25
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 12. Design Editor – Generate Menu

Môc ®Ých cña bµi tËp:


♦ Maintain l¹i c¸c module menu
♦ Generate Menu

1. Maintain menu: CËp nhËt l¹i c¸c module nh sau

Name Short Short title


name/Implementat
ion name
MAIN MENU VT_MEN0010 QLVT
PHONG VAT TU VT_MEN0020 PHONG VAT TU
PHONG VAT TU REPORT VT_MEN0030 BAO CAO
PHONG VAT TU SCREEN VT_MEN0040 FORM
KHAI BAO VAT TU MOI KHAI_BAO_VAT_TU_M KHAI BAO VAT TU
OI MOI
KHAI BAO DAI LY KHAI_BAO_DAI_LY KHAI BAO DAI LY
NHAP VAT TU NHAP_VAT_TU NHAP VAT TU
NHAP YEU CAU NHAP_YEU_CAU NHAP YEU CAU
XUAT HANG XUAT_HANG XUAT HANG
LAP BAO CAO XUAT LAP_BAO_CAO_XUAT LAP BAO CAO XUAT
LAP HOA DON LAP_HOA_DON LAP HOA DON

2. Generate menu
 Chän module MAIN MENU
 Chän generate form
 Trong Option, chän database user , vÝ dô qlvt/qlvt@tra
 Chän vÞ trÝ cña menu file ®îc sinh ra, vÝ dô C:\QLVT
 BÊm Start, menu chÝnh sÏ ®îc sinh ra, cã tªn lµ
VT_MEN0010.mmb

3. T¹o menu form


 Vµo Form Builder
 Më menu file VT_MEN0010.mmb
 Trong Property cña menu nµy, set Use Security=’No’, save file
 Vµo File->Administration->Compile file, menu file
VT_MEN0010.mmx sÏ ®îc sinh ra
 T¹o 1 form míi, vÝ dô SPLASH.fmb
 Trong Property cña form nµy, chän Menu Module= VT_MEN0010
 Vµo Program->Compile->All
 Run form, t¹o menu form SPLASH.fmx

Bµi tËp 26
Introduction to Requirement Modeling using Oracle Designer Pythis

Bµi tËp 13. Run and Maintain Application QLVT

Môc ®Ých cña bµi tËp


♦ Launch øng dông Qu¶n lý VËt t
♦ KiÓm tra/maintain c¸c module trªn theo c¸c quy t¾c nghiÖp vô ®·
®Ò ra
♦ X¸c ®Þnh ®îc c¸c c«ng viÖc cÇn ph¶i lµm tiÕp trªn Designer,
Developer

1. Launch øng dông Qu¶n lý vËt t


 T¹o mét th môc cho øng dông Qu¶n lý VËt t, vÝ dô C:\QLVT
 Vµo Regedit->Oracle Home, ®¨ng ký mét ®êng dÉn C:\QLVT
trong FORMS60_PATH
 Copy tÊt c¶ c¸c Form vµ Report cña øng dông vµo th môc nµy
 Ch¹y file SPLASH.fmx
2. KiÓm tra c¸c quy t¾c nghiÖp vô
 Vµo form KHAI BAO VAT TU MOI, khai b¸o, update vµ truy vÊn
l¹i theo c¸c ®iÒu kiÖn kh¸c nhau
 Vµo form KHAI BAO DAI LY, khai b¸o, update vµ truy vÊn l¹i
theo c¸c ®iÒu kiÖn kh¸c nhau
 NhËp mét sè PHIEU YEU CAU. Truy vÊn 1 phiÕu yªu cÇu cha
®îc ®¸p øng hÕt, vÝ dô 200
 NH¢P vµo kho mét sè V¢T T¦.
 XU¢T mét sè V¢T T¦
 ...

3. T¹o Preference Set trong Designer/2000

4. T¹o Template form b»ng Form Builder

5. Generate l¹i module sö dông Preference Set vµ Template form

6. Maintain øng dông trªn Designer

7. Maintain øng dông trªn Procedure Builder, Form Builder, Report


Builder, SQL*Plus

Bµi tËp 27

You might also like