33
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õ. Bµi tËp 1

Bai tap mau oracle

  • Upload
    zungh3t

  • View
    991

  • Download
    0

Embed Size (px)

DESCRIPTION

Đây là bài tập traning về oracle

Citation preview

Page 1: Bai tap mau oracle

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 thay 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

Page 2: Bai tap mau oracle

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

Page 3: Bai tap mau oracle

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

Page 4: Bai tap mau oracle

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

Page 5: Bai tap mau oracle

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

Page 6: Bai tap mau oracle

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 TUNHAP VAT TUNHAP YEU CAUXUAT HANGLAP 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_NVTNHAP VAT TU Elementary, Frequency 2/day, Response Immediate, PS_NVTNHAP YEU CAU Elementary, Frequency 5/day, Response Immediate, PS_NYCXUAT HANG Elementary, Frequency 5/day, Response Immediate, PS_XHLAP HOA DON, Elementary, Frequency 5/day, Response Overnight, PS_HDDTLAP BAO CAO XUAT Elementary, Frequency 1/month, Response Overnight, PS_BCXH

Bµi tËp 6

Page 7: Bai tap mau oracle

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 CAUShort 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

Page 8: Bai tap mau oracle

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/Domain

Opt

UID

DAI LY M· §¹i Lý CODE N 1

Tªn §¹i Lý NAME N

§Þa ChØ VARCHAR2 (50)

N

HANG M· Hµng CODE N 1

Tªn Hµng NAME N

Sè Lîng SO LUONG N

§¬n VÞ TÝnh

Allowable Values: lit, kg, hép

VARCHAR2 (5) N

PHIEU YEU CAU

M· PYC CODE N 1

Ngµy Yªu Cçu DATE N

CHI TIET PYC

Sè Lîng Yªu Cçu SO LUONG N

Sè Lîng Cha §ñ SO LUONG N

PHIEU NHAP

M· PhiÕu NhËp CODE N 1

Ngµy NhËp DATE N

CHI TIET NHAP

Sè Lîng NhËp SO LUONG N

PHIEU XUAT M· PhiÕu XuÊt CODE N 1

Ngµy XuÊt DATE N

CHI TIET XUAT

Sè Lîng XuÊt SO LUONG N

§¬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

Page 9: Bai tap mau oracle

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

Page 10: Bai tap mau oracle

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

Function

Usage Entity Attribute I R U 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 Cçu

Y Y

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_HDDT

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

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_BCXH

R HANG M· Hµng Y

Tªn Hµng Y

Bµi tËp 10

Page 11: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Function

Usage Entity Attribute I R U 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

Page 12: Bai tap mau oracle

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_XNVT1Row – BF label, Elementary = ‘Y’Column – Entity NameIntersection – CRUD

3. LËp biÓu ®å d¹ng BF – Attributes MXD_XNVT2Row – BF label, Elementary = ‘Y’Column – Attribute NameIntersection – IRUN

Bµi tËp 12

Page 13: Bai tap mau oracle

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

Page 14: Bai tap mau oracle

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

Page 15: Bai tap mau oracle

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

Page 16: Bai tap mau oracle

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/SQLBEGIN

UPDATE hangsSET so_luong= so_luong + :new.so_luong_nhapWHERE ma_hang= :new.han_Ma_hang;

END;Trigger CTX_AFTER_INSERT, edit PL/SQL

BEGINDECLARE sl_ton NUMBER(5);sl_cdu NUMBER(5);

BEGINSELECT so_luong INTO sl_tonFROM hangsWHERE ma_hang=:new.han_ma_hang;

SELECT so_luong_chua_du INTO sl_cduFROM chi_tiet_pycs ctycWHERE han_ma_hang=:new.han_ma_hangAND ctyc.pyc_ma_phieu_yeu_cau =

(SELECT pyc_ma_phieu_yeu_cauFROM phieu_xuatsWHERE phieu_xuats.ma_phieu_xuat =:new.px_ma_phieu_xuat);

IF sl_ton = 0 THENraise_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_xuatWHERE ma_hang = :new.han_ma_hang;

UPDATE chi_tiet_pycsSET so_luong_chua_du = sl_cdu - :new.so_luong_xuatWHERE han_ma_hang=:new.han_ma_hangAND chi_tiet_pycs.pyc_ma_phieu_yeu_cau =

(SELECT pyc_ma_phieu_yeu_cauFROM phieu_xuatsWHERE phieu_xuats.ma_phieu_xuats = :new.px_ma_phieu_xuat);

END IF; END IF;

EXCEPTIONWHEN NO_DATA_FOUND THEN

raise_application_error (-20004, 'Khong co loai hang nay trong phieu yeu cau');

END;

Bµi tËp 16

Page 17: Bai tap mau oracle

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

Page 18: Bai tap mau oracle

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

2.1. KHAI BAO VAT TU

Bµi tËp 18

Page 19: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

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

Component/Table Usage

Style/Row Displ

Place Operat

Item Display?

Operat

HANGS Spread table/5

New content canvas

IUDS Han_Id N 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

Page 20: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Component/Table Usage

Style/Row Displ

Place Operat

Item Display?

Operat

PHIEU_NHAPS

Wrap line/1

New content canvas

IUDS Pnh_Id N S

Ma_Phieu_Nhap

Y S (IUS)

Ngay_Nhap Y IUS

CHI_TIET_NHAPS

Spread table/5

Same content canvas

IUDS So_Luong_Nhap

Y IUS

Pnh_Id N S

Han_Id N S

HANGS (Look up)

Ma_Hang Y IUS (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

Page 21: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Component/Table Usage

Style/Row Displ

Place Operat

Item Display?

Operat

PHIEU_YEU_CAUS

Wrap line/1

New content canvas

IUDS Pyc_Id N S

Ma_Phieu_Yeu _Cau

Y S (IUS)

Ngay_Yeu_Cau

Y IUS

DAI_LYS (Look up)

Dly_Id N

Ten_Dat_Ly Y IUS (S)

CHI_TIET_YEU_CAUS

Spread table/5

Same content canvas

IUDS So_Luong_ Yeu_Cau

Y IUS

So_Luong_Chua_Du

Y IUS

Pyc_Id N S

Han_Id N S

HANGS (Look up)

Ma_Hang Y IUS (S)

HANGS (Look up)

Ten_Hang Y S

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

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.

Bµi tËp 21

Page 22: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Look up table: HANGS tõ CHI_TIET_XUATS, PHIEU_YEU_CAUS tõ PHIEU_XUATS

Component/Table Usage

Style/Row Displ

Place Operat

Item Display?

Operat

PHIEU_XUATS

Wrap line/1

New content canvas

IUDS Pxu_Id N S

Ma_Phieu_Xuat

Y S (IUS)

Ngay_Xuat Y IUS

Pyc_Id N S

PHIEU_YEU_CAUS

(look up)

Ma_Phieu_Yeu_Cau

Y IUS (S)

CHI_TIET_XUATS

Spread table/5

Same content canvas

IUDS So_Luong_Xuat

Y IUS

Pxu_Id N S

Han_Id N S

HANGS (Look up)

Ma_Hang Y IUS (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

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

Bµi tËp 22

Page 23: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Module format: Control Break

Number of row displayed/page: 20

Page bottom title: Quan ly vat tu

Component Layout Style

Column Display?

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

Component Layout Style

Column Display?

PHIEU_XUATS Tabular Pxu_Id N

Ma_Phieu_Xuat Y

Ngay_Xuat Y

CHI_TIET_XUATS Tabular So_Luong_Xuat Y

Bµi tËp 23

Page 24: Bai tap mau oracle

Introduction to Requirement Modeling using Oracle Designer Pythis

Component Layout Style

Column Display?

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

Component/Table Usage

Style/Row Displ

Place Operat

Item Display?

Operat

DAI_LYS Spread table/10

New content canvas

IUDS Dly_Id N S

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Êm Start

Bµi tËp 24

Page 25: Bai tap mau oracle

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 name/Implementation name

Short title

MAIN MENU VT_MEN0010 QLVTPHONG VAT TU VT_MEN0020 PHONG VAT TUPHONG VAT TU REPORT

VT_MEN0030 BAO CAO

PHONG VAT TU SCREEN

VT_MEN0040 FORM

KHAI BAO VAT TU MOI KHAI_BAO_VAT_TU_MOI

KHAI BAO VAT TU MOI

KHAI BAO DAI LY KHAI_BAO_DAI_LY KHAI BAO DAI LYNHAP VAT TU NHAP_VAT_TU NHAP VAT TUNHAP YEU CAU NHAP_YEU_CAU NHAP YEU CAUXUAT HANG XUAT_HANG XUAT HANGLAP BAO CAO XUAT LAP_BAO_CAO_XUAT LAP BAO CAO XUATLAP 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 25

Page 26: Bai tap mau oracle

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 26