1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng phần mềm hỗ trợ môn học kỹ thuật lập trình c

88 356 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mô hình usecase ..... Công ty này cung cp d ch v đó cho các công ty khác thông qua d ch v Web... Trong khi đó private ch cho phép các ph ng th c thành viên trong l p đó truy xu t.. Chún

Trang 1

H U

H

CH NG 1 : T NG QUAN 1

1.1 GI I THI U 2

1.2 TH C T NH NG PH N M N ANG S D NG 2

1.3 M C TIÊU C A PH N M M 2

CH NG 2 : C S LÝ THUY T 4

2.1 NGÔN NG L P TRÌNH C 5

2.1.1 Lch s ngôn ng C 5

2.1.2.Tìm hi u t ng quan v ngôn ng C 5

2.1.2.1 Các ki u d li u 4

2.1.2.2 Toán t 5

2.1.2.3 Con tr (Pointer) 5

2.1.2.4 Hàm (Function) 5

2.2 CÔNG NGH & CÔNG C C S D NG 6

2.2.1 B visual studio.net 6

2.2.2 T ng quan v C# 9

2.2.2.1 Các thành ph n m r ng C# 9

2.2.2.2 Các ki u d li u trong C# 10

2.2.2.3 Bi u th c toán t 11

2.2.2.4 Phát bi u đi u ki n và vòng l p 12

2.2.2.5 L p và th a k 13

2.2.2.6 a hình 17

2.2.2.7 Giao di n 19

2.2.3 S L C V UML 21

2.2.3.1 Gi i thi u 21

2.2.3.2 Ngu n g c c a UML 22

2.2.3.3 Bi u đ usecase 22

2.2.3.4 Bi u đ l p 23

2.2.3.5 Bi u đ c ng tác 27

2.2.3.6 Bi u đ h at đ ng 28

2.2.4 Mô hình 3 l p (Data Access Layer) 30

2.2.5 Microsoft Visual C++ Toolkit 2003 31

2.2.6 Các công c đ c s d ng 32

CH NG 3 : PHÂN TÍCH VÀ THI T K 35

3.2 NH NG CH C N NG CHÍNH 35

3.3 PHÂN TÍCH UML 36

3.3.1 Mô hình usecase 36

3.3.2 Mô hình h at đ ng 39

3.3.2.1 Ch n cách h c 39

3.3.2.2 Ch n làm bài t p 40

n làm bài t p 41

Trang 2

H U

H

4.1 L P TR U T NG (ABSTRACT) 46

4.1.1 Business Layer 46

4.1.2 Data Layer 49

4.2 Mô hình l p 49

4.2.1 Business Layer 50

4.2.2 Data Layer 57

4.3 Mô hình c ng tác 61

4.3.1 L y danh sách bài hoc 61

4.3.2 L y danh sách ch ng 62

4.3.3 L y bài t p 63

4.3.4 L y bài hoc 63

4.3.5 L y m t ch ng 64

4.3.6 Thêm ng i dùng 65

4.3.7 Ki m tra ng i dùng 66

4.3.8 Thêm th vi n 67

4.3.9 C p nh t th vi n 68

4.3.10 L y d li u 68

4.4 DESIGN PATTERN 69

4.4.1 Singleton pattern 69

4.4.2 Adapter pattern 69

4.4.3 Factory Method pattern 71

4.4.4 Proxy pattern 72

4.5 THI T K C S D LI U, GIAO DI N PH N M M 73

4.5.1 Thi t k c s d li u 73

4.5.1.1 Mô hình th c th ERD 73

4.5.1.2 Mô hình quan h trong SQL Server 79

4.5.2 Giao di n ph n m n 79

4.5.2.1 Giao di n chính 80

4.5.2.2 Khi ch y debug 81

4.5.2.3 Bài t p 82

CH NG 5 : K T LU N VÀ H NG PHÁT TRI N 84

5.1 NH NG I U Ã LÀM C 84

5.2 NH NG I U CH A LÀM C 85

5.3 H NG PHÁT TRI N 85

TÀI LI U THAM KH O 86

Trang 3

Xây d ng ph n m m h tr h c môn k thu t l p trình C, nh m giúp đ m t

ph n nh cho các b n m i làm quen v i l p trình có th ti p c n ngôn ng C m t cách

d dàng, h ng thú Ch ng trình bao g m vi c hi n th nôi d ng bài h c, làm bài t p,

t o th vi n riêng và debug nh ng ví d m u, biên d ch và ch y bài t p do ng i vi t

Vi c s d ng tin h c t o ra nh ng ph n m m h tr h c t p đã đ c phát tri n

r t nhi u nh t là t khi máy vi tính đã tr nên m t thi t b c n thi t trong m i gia đình

T nh ng ph n m m cho thi u nhi đ n nh ng ph n m m d y h c cao c p Nh ng

ph n m m v h c t p c ng r t phong phú h c anh v n, toán, lý, hóa, …

Hi n nay nhu c u h c l p trình r t l n Có r t nhi u b n mu n tìm hi u nh ng không bi t b t đ u t đâu và s d ng ngôn ng nào cho thích h p

Trên th tr ng hi n nay c ng có r t nhi u ph n m m h tr h c ngôn ng l p trình Nh ng h u h t là nh ng ngôn ng b c cao (ví d Visual Basic, Visual Studio NET, …) trong khi đó li r t ít ph n m m h tr h c các ngôn ng l p trình C/C++ hay Pascal

H u h t các ph n m m d ng d y nh ng ngôn ng l p trình C/C++ đ u không

đ c đ u t nhi u

Trang 4

M t khóa h c s bao g m nhi u ch ng M i ch ng s có bài lý thuy t và

nh ng bài t p nh nh m giúp ng i dùng quen v i l p trình

K t thúc m i ch ng s có bài ki m tra ki n th c d i d ng tr c nghi m

Ngoài ra ng i dùng c ng có th ch n:

Làm m t bài ki m tra t ng h p v m t ph n nào đó

Ch n m t bài h c ho c m t ch ng nào đó trong ch ng trình

1.3.4 Thi t k sao cho d dàng thay đ i/nâng c p/b o trì

Thi t k và cài đ t b t bu c ph i theo mô hình l p

H ng phát tri n:

a lên website Cho phép ng i dùng t so n th o m t ch ng trình h c (VD: H c toán, …)

S d ng ngôn ng UML thi t k ch ng trình

Ph n m m đ c thi t k theo mô hình 3 l p

ng d ng Design Pattern vào thi t k mô hình l p

Trang 5

H U

H

h tr vi c ch y ph n bài t p c a ng i dùng, ch ng trình có s d ng thêm công c Microsoft Visual C++ Toolkit 2003 c a Microsoft

S d ng nh ng control mã ngu n m trên m ng internet

Trong thi t k giao di n ph n m m h n ch s d ng form, chuy n sang t o và

Trang 6

Ngôn ng C đ c phát tri n t hai ngôn ng tr c đó là BCPL và B BCPL

đ c phát tri n b i Martin Richards n m 1967 và là ngôn ng dành đ vi t các ph n

m m h đi u hành và các trình biên d ch Ken Thomspon phát tri n ngôn ng B, có nhi u đi m b t ch c BCPL Và B đ c dùng đ vi t phiên b n đ u tiên c a h đi u hành UNIX t i Bell Laboratories n m 1970

Ngôn ng C đ c Dennis Ritchie Bell Laboratories đ c phát tri n t B vào

n m 1972 C đ c ph b i n ban đ u do vi c là ngôn ng phát tri n cho h đi u hành UNIX Ngày nay h u nh t t c h đi u hành ch ch t đ u đ c vi t b ng C hay C++

2.1.2 Tìm hi u t ng quan v ngôn ng C

2.1.2.1 Các ki u d li u

Ch ng trình C, c ng gi ng nh nh ng ngôn ng kh ác, chúng ta cung cp d

li u (s , ch , …) và mô t cách th c hi n công vi c Và chúng ta trong đ i k t qu t

nh ng d li u trên Do đó, đi u c n thi t trong ch ng trình C là ph i phân lo i t t c các d li u b ng cách chia chúng theo ki u d li u (data type) C có 4 ki u d li u c n

b n là : ký t (character), d u ch m đ ng (floating point number), tinh xác đôi (double precision) Trong C dùng 7 t khóa đ phân bi t ki u d li u khác nhau : int, long, short, unsigned, char, float và double

Trang 7

Trong C, hàm cho phép chia nh ng ch ng trình l n thành nh ng ch ng trình

nh và m t l i th là m t hàm đ c áp d ng thành công ch ng trình này thì c ng

Trang 8

Hàm trong th vi n chu n c a C (ví d nh printf (), scanf ())

đi u hành g i là các NET server; m t t p các đ i t ng c s g i là NET Framework,

và m t t p các d ch v h tr cho t t c các ngôn ng NET là Common Language Runtime (CLR) Các ph n này đ c tách bi t nh trong hình:

Trang 9

Ph n l n các h th ng ki u này th c hi n công vi c c a chúng ph n h u (back end),

c p đ server Microsoft cung c p m t t p các s n ph m ph n m m mà chúng đ c

bi t nh là NET Enterprise Servers Chúng đ c thi t k đ h tr các tính n ng x lý

ph n h u c n thi t c a m t h th ng phân tán.Các s n ph m này bao g m:

H đi u hành server, Microsoft Windows (Server, Advanced Server, và Datacenter Server)

Các ph m m m nh là Microsoft App Center và Microsoft Cluster Server

M t h th ng l u tr th đi n t , thông tin t do, …, Microsoft Exchange Server

Trang 10

Khi chuy n qua Visual Basic NET, nhi u th đã đ c thay đ i m t cách tri t

đ ; m t trong chúng là s phát tri n c a m t n n t ng m i cho t t c các công c phát tri n c a NET N n t ng c s này, g i là NET Framework, cung c p hai th chính: môi tr ng th c thi c s (base runtime environment) và m t t p các l p n n t ng (foundation class) Base Environmet cung cp m t l p n m gi a các ch ng trình và

ph n còn l i c a h th ng, th c hi n các d ch v cho các ng d ng c a ng i l p trình

và đ n gi n hóa vi c x lý đ n ch c n ng c a các l p th p h n Các l p n n t ng cung

c p m t t p l n các ch c n ng xây d ng s n, nh x lý t p tin, thao tác v i XML, …

.NET Framework c ng cung c p m t t p các hàm API c a riêng nó đ giúp cho

ng i l p trình t n d ng đ c h t các kh n ng c a nó

.NET Service

.NET có các khái nim mà v t xa h n các chi ti t c a l p trình đ mô t cách các h th ng đ c xây d ng và cách chúng có th t ng tác M t trong các khái ni m trên là ý t ng Web Services, ch c n ng đ c phân theo m t quy lu t nh t quán thông qua Internet Các dch v này cho phép m t công ty hay t ch c cung c p ch c n ng

mà ch c n ng này đ c th c hi n hoàn toàn bên trong môi tr ng c a h M t ví d

c a các d ch v này là d ch v thanh tóan hóa đ n, m t công ty có các sever và các ng

d ng trong chính công ty c a h mà có th th c hi n và qu n lý đ c vi c thanh toán hóa đ n Công ty này cung cp d ch v đó cho các công ty khác thông qua d ch v Web Dch v này khác v i vi c cung c p m t trang Web thông th ng; đây là m t giao ti p mà các ng d ng hay các trang Web khác có th s d ng ch c n ng đ c cung c p

Trang 11

vi c v i các d ch v và các ng d ng xây d ng trên NET Các thi t b NET bao g m các máy tính ch y trên Windows và các thi t b ch y Windows CE (Framework t ng thích cho lo i thi t b này có s n, cho phép h tr các tính n ng NET)

2.2.2.T ng quan v C#

Ngôn ng C# đ c thi t k b i Anders Hfsberg c a Microsoft C# là m t ngôn

ng l p trình h ng đ i t ng hi n đ i có th t ng tác v i các ph n t c a các ngôn

ng khác nh C, C++, Pascal, Java, và ngay c Basic C# là m t s n ph m c a b s n

ph m Visual Studio.NET Ngoài ra, b Visual Studio.NET còn có các s n ph m khác

nh Visual Basic.NET…

V ph ng di n l p trình, ngôn ng C# có phong cách l p trình gi ng nh ng ngôn ng l p trình h ng đ i t ng khác nh Visual C++, Java

Sau đây là nh ng c i ti n ho c m r ng c a ngôn ng l p trình C# so v i C/C++

2.2.2.1 Các thành ph n m r ng C#

T p tin vi t b ng ngôn ng C# c ng nh các t p tin khác nh ng chúng có tên

m r ng là cs, và tên m r ng c a project là csproj

Ngoài ra, đ biên d ch và s d ng đ c ch ng trình vi t b ng ngôn ng C# c n

ph i có môi tr ng g i là FrameWork Software Development Kit (SDK), cng nh

ch ng trình vit b ng ngôn ng Java c ng c n ph i có môi tr ng là Java Development Kit (JDK)

Trang 12

b t đ u b ng tên System trong NET Framework, các không gian tên quan tr ng nh System.Drawing, System.Windows.Forms,…

2.2.2.2.Các ki u d li u C#

Ki u Mô t

object L p c s c a t t c các đ i t ng trong C#

string Dãy các ký t d ng Unicode

sbyte Nguyên có d u 8-bit

short Nguyên có d u 16-bit

Int Nguyên có d u 32-bit

Long nguyên có d u 62-bit

Byte Nguyên không d u 8-bit

Ushort Nguyên không d u 16-bit

Uint Nguyên không d u 32-bit

Ulong Nguyên không d u 64-bit

Trang 13

Primary (), [], f(), x++, y++, new, typeof,

sizeof, checked, unchecked Unary(toán t m t ngôi) +, -, !, ~, ++x, x

Trang 14

Vòng l p foreach cho phép t o vòng l p thông qua m t t p h p hay m t m ng

ây là m t câu l nh l p m i không có trong ngôn ng C/C++ Câu l nh foreach có

cú pháp chung nh sau:

foreach ( <ki u t p h p> <tên truy c p thành ph n > in < tên t p h p>)

<Các câu l nh th c hi n>

Do l p d a trên m t m ng hay t p h p nên toàn b vòng l p s duy t qua t t c các

thành ph n c a t p h p theo th t đ c s p Khi duy t đ n ph n t cu i cùng trong

t p h p thì ch ng trình s thoát ra kh i vòng l p foreach

Namespace

Nh chúng ta đã bi t NET cung c p m t th vi n các l p đ s và th vi n

này có tên là FCL (Framework Class Library) Trong đó Console ch là m t l p nh

trong hàng ngàn lp trong th vi n M i l p có m t tên riêng, vì v y FCL có hàng

ngàn tên nh ArrayList, Dictionary, FileSelector,…

i u này làm n y sinh v n đ , ng i l p trình không th nào nh h t đ c tên

c a các l p trong NET Framework T h n n a là sau này có th ta t o l i m t l p trùng v i l p đã có ch ng h n Ví d trong quá trình phát tri n m t ng d ng ta c n xây d ng m t l p t đi n và l y tên là Dictionary, và đi u này d n đ n s tranh ch p

khi biên dch vì C# ch cho phép m t tên duy nh t

Ch c ch n r ng khi đó chúng ta phi đ i tên c a l p t đi n mà ta v a t o

thành m t cái tên khác ch ng h n nh myDictionary Khi đó s làm cho vi c phát

tri n các ng d ng tr nên ph c t p, c ng k nh n m t s phát tri n nh t đ nh nào

đó thì chính là c n ác m ng cho nhà phát tri n

Trang 15

H U

H

Gi i pháp đ gi i quy t v n đ này là vi c t o ra m t namespace, namsespace

s h n ch ph m vi c a m t tên, làm cho tên này ch có ý ngh a trong vùng đã đ nh ngha

T ng t nh v y ta c t o các namespace đ phân thành các vùng cho các l p trùng tên không tranh ch p v i nhau

T ng t nh v y, NET Framework có xây d ng m t l p Dictionary bên

trong namespace System.Collections, và t ng ng ta có th t o m t l p Dictionary

khác nm trong namespace ProgramCSharp.DataStructures, đi u này hoà n toàn không d n đ n s tranh ch p v i nhau

M ng

Ngôn ng C# cung c p cú pháp chu n cho vi c khai báo nh ng đ i t ng

Array Tuy nhiên, cái tht s đ c t o ra là đ i t ng c a ki u System.Array M ng

trong ngôn ng C# k t h p cú pháp khai báo m ng theo ki u ngôn ng C và k t h p

v i đ nh ngh a l p do đó th hi n c a m ng có th truy c p nh ng ph ng th c và thu c tính c a System.Array M t s các thu c tính và ph ng th c c a l p System.Array

2.2.2.5 L p và th a k

Th a k là khái ni m then ch t c a thi t k trong các ngôn ng h ng đ i

t ng , th a k cho phép nh ng ch c n ng và thu c tính dùng chung l p c s và

nh ng l p ch đ nh có th k th a nh ng ch c n ng c a l p c s C# ch h tr th a

k đ n C++ cho phép đa th a k và n u đ c s d ng đúng cách đây th t s là đi m

r t m nh Tuy nhiên, ph i th a nh n là đa th a k r t khó qu n lý và khó áp d ng

ây là m t trong nh ng lý do C# ch phát tri n đa th a k

Trang 17

i u khi n truy xu t

Kh n ng hi n h u c a m t l p và các thành viên c a nó có th đ c h n ch

thông qua vic s d ng các b sung truy c p: public, private, protected, internal, và protected internal

T khoá public cho phép m t thành viên có th đ c truy c p b i m t ph ng

th c thành viên c a nh ng l p khác Trong khi đó private ch cho phép các ph ng

th c thành viên trong l p đó truy xu t T khóa protected thì m r ng thêm kh n ng

c a private cho phép truy xu t t các l p d n xu t c a l p đó Internal m r ng kh

n ng cho phép bt c ph ng th c c a l p nào trong cùng m t kh i k t h p (assembly) có th truy xu t đ c M t kh i k t h p đ c hi u nh là m t kh i chia

x và dùng l i trong CLR Thông th ng, kh i này là t p h p các t p tin v t lý đ c

l u tr trong m t th m c bao g m các t p tin tài nguyên, ch ng trình th c thi theo

ngôn ng IL,

T khóa internal protected đi cùng v i nhau cho phép các thành viên c a cùng

m t kh i assembly ho c các l p d n xu t c a nó có th truy c p Chúng ta có th xem

s thi t k này gi ng nh là internal hay protected

Các l p c ng nh nh ng thành viên c a l p có th đ c thi t k v i b t c

m c đ truy xu t nào M t l p th ng có m c đ truy xu t m r ng h n cách thành viên c a l p, còn các thành viên thì m c đ truy xu t th ng có nhi u h n ch Do

đó, ta có th đ nh ngh a m t l p MyClass nh sau:

Trang 18

Nh trên bi n thành viên myValue đ c khai báo truy xu t protected m c dù

b n thân l p đ c khai báo là public M t l p public là m t l p s n sàng cho b t c

l p nào khác mu n t ng tác v i nó ôi khi m t l p đ c t o ra ch đ tr giúp cho

nh ng l p khác trong m t kh i assemply, khi đó nh ng l p này nên đ c khai báo

khóa internal h n là khóa public

Truy n tham s

Nh đã th o lu n trong ch ng tr c, tha m s có ki u d li u là giá tr thì s

đ c truy n giá tr vào cho ph ng th c i u này có ngh a r ng khi m t đ i t ng

có ki u là giá tr đ c truy n vào cho m t ph ng th c, thì có m t b n sao chép đ i

t ng đó đ c t o ra bên trong ph ng th c M t khi ph ng th c đ c th c hi n

xong thì đ i t ng sao chép này s đ c h y Tuy nhiên, đây ch là tr ng h p bình

th ng, ngôn ng C# còn cung c p kh n ng cho phép ta truy n các đ i t ng có ki u giá tr d i hình th c là tham chi u Ngôn ng C# đ a ra m t b sung tham s là ref

cho phép truy n các đ i t ng giá tr vào trong ph ng th c theo ki u tham chi u Và tham s b sung out trong tr ng h p mu n truy n d i d ng tham chi u mà không

c n ph i kh i t o giá tr ban đ u cho tham s truy n Ngoài ra ngôn ng C# còn h

tr b sung params cho phép ph ng th c ch p nh n nhi u s l ng các tham s

Truy n tham chi u

Nh ng ph ng th c ch có th tr v duy nh t m t giá tr , m c dù giá tr này

có th là m t t p h p các giá tr N u chúng ta mu n ph ng th c tr v nhi u h n

m t giá tr thì cách th c hi n là t o các tham s d i hình th c tham chi u Khi đó

Trang 19

H U

H

trong ph ng th c ta s x lý và gán các giá tr m i cho các tham s tham chi u này,

k t qu là sau khi ph ng th c th c hi n xong ta dùng các tham s truy n vào nh là các k t qu tr v

2.2.2.6 a hình

Trong thu t ng l p trình h ng đ i t ng, kh n ng ghi đè ph ng th c c a

l p c s và cung c p m t phát tri n khác trong l p d n xu t là m t hình th c c

b n c a khái ni m đa hình

Xem ví d tr c, trong đó Cho và Meo đ c d n xu t t l p c s chung Thu

L p c s Thu cung c p ph ng th c Keu đ c các l p d n xu t th a k

Tuy nhiên, nu b n đã t ng nghe thì gi ng Cho s a s khác v i gi ng Meo,

chúng s a không gi ng nhau Vì v y, l p c s Thu ph i cho phép các l p d n xu t

cung c p phát tri n ph ng th c Keu c a riêng chúng

C# cung c p t khóa virtual đ ch rõ là ph ng th c có th b các l p d n xu t ghi đè M t l p d n xu t có th ghi đè ph ng th c virtual b ng cách s d ng t khóa override

Trang 20

H U

H

T khóa override

Trong ngôn ng C#, ng i l p trình có th quy t đ nh ph quy t m t ph ng

th c o b ng cách khai báo t ng minh t khóa override i u này giúp cho ta đ a

ra m t phiên b n m i c a ch ng trình và s thay đ i c a l p c s s không làm nh

h ng đ n ch ng trình vi t trong các l p d n xu t Vi c yêu c u s d ng t khóa

override s giúp ta ng n ng a v n đ này

Trang 21

Giao di n cung c p hình th c tr u t ng hóa s r t thu n ti n cho vi c phát

tri n theo phong cách xây d ng theo thành ph n c s Giao di n cung c p nh ng

th a thu n chung cho phép các thành ph n làm vi c v i nhau

M t giao di n không ph i là m t l p và do đó c ng không có b t c mã cài đ t nào M t giao di n ch a các khai báo c a các thành ph n c a các ph ng th c, trong

đó t t c đ u ph i khai báo public C# cho phép struct và lp cài đ t m t hay nhi u

giao di n, đi u này khác h n v i th a k Th a k là vi c cài đ t m t l p t l p c s , còn cài đ t giao di n thì ch xác đ nh ra r ng l p s phát tri n m t giao di n đ t bi t

và cam đoan s hoàn thành giao di n nh đã đ ra

Ph n thu c tính chúng ta s đ c p sau Thành ph n b sung truy c p bao g m:

public, private, protected, internal, và protected internal đã đ c đ c p

Theo sau t khóa interface là tên c a giao di n Thông th ng tên c a giao

di n đ c b t đ u v i t I hoa (đi u này không b t bu c nh ng vi c đ t tên nh v y

r t rõ ràng và d hi u, tránh nh m l n v i các thành ph n khác)

Trang 22

C# cung c p ch c n ng cho chúng ta m r ng m t giao di n đã có b ng cách

thêm các ph ng th c và các thành viên hay b sung cách làm vi c cho các thành

Chúng ta mu n ki m tra m t đ i t ng xem nó có h tr giao di n, đ sau đó

th c hi n các ph ng th c t ng ng Trong ngôn ng C# có hai cách đ th c hi n

đi u này Ph ng pháp đ u tiên là s d ng toán t is Cú pháp c a toán t is là:

<bi u th c> is <ki u d li u>

Trang 23

H U

H

Toán t is tr v giá tr true n u bi u th c th ng là ki u tham chi u có th

đ c gán an toàn đ n ki u d li u c n ki m tra mà không phát sinh ra b t c ngo i l nào

Toán t as

Toán t as k t h p toán t is và phép gán b ng cách đ u tiên ki m tra h p l

phép gán (kim tra toán t is tr v true) r i sau đó phép gán đ c th c hi n N u

phép gán không hp l (k hi phép gán tr giá tr false), thì toán t as tr v giá tr

<bi u th c> as <ki u d li u>

2.2.3 S L C V UML

2.2.3.1 Gi i thi u

Ngôn ng h p nh t UML (Unified Modeling Language) là m t ngôn ng tr c quan cung c p cho các nhà phân tích thi t k h ng đ i t ng m t cách hình dung ra

các h th ng ph n m m, mô hình hóa các t ch c nghi p v s d ng các h th ng

ph n m m này; c ng nh xây d ng chúng và làm tài li u v chúng

UML là ngôn ng tr c quan đ c dùng trong quy trình phát tri n các h th ng

ph n m m, là ngôn ng đ c t hình th c

Trang 24

Các k thu t và phân tích thi t k h ng đ i t ng đ c t o ra nh m giúp đ

công vi c mô hình hóa nghi p v , phân tích yêu c u và thi t k các h th ng ph n

m m

UML đ c thi t k nh m k t h p các đ c đi m t t nh t c a m t s k thu t và

ký hi u trong phân tích thi t k đ t o ra m t tiêu chu n công nghi p

2.2.3.3 Bi u đ use case

Use case cung cp m t b c tranh tòan c nh v nh ng gì đang x y r a trong h

th ng hi n t i ho c nh ng gì s x y ra trong h th ng m i, do đó có r t nhi u d án tin

Mô hình hóa chu i hành đ ng mà h th ng s th c hi n, và nh m cung c p m t

k t qu có ý ngh a cho m t ng i nào đó hay cho m t h th ng khác bên ngòai

Cung c p m t cái nhìn t ng th v nh ng gì h th ng s làm và ai dùng nó

Trang 25

Admin Use case 2

2.2.3.4 Bi u đ l p

Bi u đ l p mô t các l p, là nh ng thành ph n c b n nh t đ làm nên b t k

h th ng nào Kh n ng c ng tác b ng cách truy n thông đi p, đ c ch ra trong các

m i quan h gi a chúng

Bi u đ l p ch cho ta th y khung nhìn t nh c a các l p trong mô hình ho c m t

ph n c a mô hình Nó ch cho ta th y các thu c tính và các thao tác c a l p, c ng nh

l ai quan h c a các l p

Các t ng tác và c ng tác th c s x y ra đ h tr cho b t k m t yêu c u ch a

n ng nào, biu di n m t tuy n nào đó nào đó trên s đ Tuy n này s len l i

(navigate) t l p này sang l p khác thông qua các m i quan h gi a chúng L u ý là

ch có th thông th ng gi a hai đi m b ng cách xu t phát t đi m đ u đi qua các

đi m trung gian h p l và t i đi m đích

Tên use case

Trang 26

H ng d n l p mô hình

Tìm l p và m i k t h p

Các l p và các m i k t h p có th xác đ nh b ng mô hình use case, tr c ti p t quá trình thu th p thông tin ho c b ng cách đ u t công s c vào bi u đ l p

Trang 27

H U

H

Xác đ nh thu c tính và thao tác

Các m c d li u trong m i th hi n là thu c tính c a l p Trong mô hình quan

ni m, các thu c tính nên đu c nh n bi t ngay t các ngu n thông tin có s n

Các thao tác mô t kh n ng x lý c a m t l p Trong mô hình quan ni m, không d xác đ nh các thao tác đ y đ cho m t l p cho t i khi chi ti t trên các s đ

t ng tác đ c hoàn t t Tuy nhiên có m t s thao tác nhìn th y rõ trong các ngu n thông tin có s n

K t t p (Aggregation), h p thành (Composition), t ng quát hóa (Generalization)

k t h p aggregation Hình thoi luôn bên đ whole c a k t h p

V i aggregation thì m t part có th t n t i bên ngòai k t h p whole-part Ngh a

là m t thành ph n có th t n mà không nh t thi t ph i là m t part c a m t s n ph m

T ng t m t s n ph m có th t o ra t nh ng thành ph n có tr c

Ký hi u:

Trang 28

H U

H

H p thành (Composition)

Aggregation là m t k t h p bi u di n c u trúc whole-part gi a hai l p V i k t

h p composition c ng vây, tuy nhiên m t k t h p composition có hàm ý cùng g n k t Ngh a là đ u whole c a k t h p đ c t o ra thì đ u part c ng đ c t o Khi đ u whole

b xóa thì các thành ph n part c ng b xóa theo Nói cách khác m t part không th t n

t i n u nó không ph i là m t thành ph n c a whole

UML c ng đ t m t hình thoi đ c tô đen bên đ u whole

Ký hi u :

T ng quát hóa (Generalization)

T ng quát hóa là m t hình th c quan h khác gi a hai l p ôi khi nó đ c mô

t nh là quan h “kind of”

Thu

Trang 29

Mô hình c ng tác gi a các đ i t ng ho c các vai trò nh m th c hi n ch c n ng

c a m t thao tác

Mô hình các c ch bên trong thi t k

Bi u đ c ng tác đ c chú thích v i các t ng tác Các t ng tác này trình bày các thông đi p gi a các đ i t ng ho c vai trò bên trong c ng tác

Mô hình các kch b n bên trong m t use case ho c m t thao tác liên quan đ n

Giai đ an đ u, nh là m t ph n c a qui trình phát tri n bi u đ l p, các đ i

t ng tham gia vào m i use case có th đ c mô hình trong m t bi u đ c ng tác, t

đó xác đ nh l p cho chúng Các l p này đ c k t h p l i phác th o ra bi u đ l p đ u tiên

Trang 30

H U

H

Khi bi t các l p trong h th ng, bi u đ c ng tác dùng đ xác đ nh t ng tác

x y ra gi a các vai trò nh m hi n th c use case

Khi có thao tác biu đ c ng tác dùng đ xác đ nh cách th c hi n c a các thao tác có hành vi ph c t p

B t k giai đ an nào, các b c phát tri n bi u đ c ng tác nh sau:

D a vào ng c nh : H th ng, h th ng con, use case ho c thao tác

Xác đ nh các ph n t c u trúc (vai trò l p, đ i t ng, h th ng con) c n thi t đ

M c đích c a bi u đ h at đ ng:

Mô hình các dòng nghi p v

Xác đ nh các use case, qua vi c kh o sát các dòng nghi p v

Xác đ nh các đi u ki n đ u và cu i cho use case

c gi a các use case

Trang 31

Tìm ki m tác nhân nghi p v và use case nghi p v

Xác đ nh k ch b n chính c a các use case, dùng các nhánh chính và các nhánh thay th

K t h p các k ch b n đ t o ra dòng nghi p v có th hi u đ c, các dòng nghi p v này đ c mô t b ng bi u đ h at đ ng

N u m t hành vi chính c a đ i t ng đ c gây ra b i m t dòng nghi p v , thì chúng ta thêm dòng đ i t ng vào bi u đ

nh ngh a các h at đ ng ph c t p theo cách th c tu n t

Ký hi u

Bat Dau

Trang 32

H U

H

2.2.4 Mô hình 3 l p (Data Access Layer)

Khi phát trin ng d ng , dù là l n hay nh thì c ng nên duy tr ì m t ý t ng trong lúc vi t M t trong nh ng cách đ duy trì là s d ng các mô hình l p trong thi t

k m t ng d ng làm đ c đ u đó thì ng d ng đ c thi t k ít nh t là 3 l p : Presentation Layer (PL), Business Logic Layer (BLL) and Data Access Layer (DAL)

Nh ng l p này có th vi t trong cùng m t ng d ng ho c là chia chúng ra thành t ng

ph n (component) Vi c phân chia thành t ng ph n giúp cho d trong vi c b o trì,

ch y ki m tra l i, m r ng và s d ng l i

- Presentation Layer

Presentation Layer là lp đ hi n th nh ng thông tin và ng i s d ng có th thao tác v i nó nh c p nh t, … Win form và web form là nh ng lóp Presentation

- Business Logic Layer

Business Logic Layer (BLL) nh là m t ng d n gi a Presentation Layer (PL)

và Data Access Layer Nhim v ch ính c a Business Logic Layer là nh n d li u t Presentation Layer và chuyn nh ng d li u nh n đ c t i Data Access Layer Ng c

l i Business Logic Layer nh n d li u t Data Access Layer và tr ra cho Presentation Layer

- Data Access Layer

Data Access Layer nh n d li u t Business Log;ic Layer và g i nh ng ph ng

th c ho c th t c đ x lý d li u v a nh n đ c

Trang 33

H U

H

- u đi m c a ki n trúc l p

Tính m m d o và uy n chuy n Ví d nh l p Presentation layer không bi t d

li u s đ c l u nh th nào và thao tác ra sao Nh ng quyt đ nh thu c v l p Data

Layer Access Ta có th thay đ i h qu n tr c s d li u mà không làm nh h ng

đ n c u trúc c a ng d ng

Rõ ràng và d s d ng trong vi c phân chia ngu n nhân l c c ng là m t thu n

l i c a mô hình l p Vì b n có th phát tri n m t l p mà không l thu c vào nh ng

ng i khác

- B t l i c a ki n trúc l p

Khi s d ng mô hình này, vi c phát tri n ng d ng tr nên phúc t p

Chia thành nhi u l p c ng đ ng ngh a v i vi c làm v n đ tr nên l n x n

2.2.5 Microsoft Visual C++ Toolkit 2003

Micrsoft Visual C ++ Toolkit 2003 đã đ c thi t k và cho phép ng i phát tri n biên d ch và ki m tra m t ng d ng v i đ y đ các tính n ng c a m t trình biên

Trang 34

n u quá trình biên d ch không có l i thì b n s đ c thông báo

Microsoft ( R ) Incremental Linker Version 7.10.3077

Copyright ( C ) Microsoft Corporation.All rights reserved

Trang 35

Là control giúp thi t k ch ng trình có thêm m t c a s gi ng v i controlbox

c a NET c vi t b i Tim Dawson

XPExplorerBar

ây là control t o giao di n gi ng v i Explorer c a Windows XP c cung

c p b i Mathew Hall

Trang 36

H U

H

Cách s d ng :

Trong môi tr ng NET ta References vào Add Reference … và ch n Browser

t i 3 file : sharplibrary.dll, dockingsuite.dll, XPExplorerBar.dll

Balloon

ây là mt project (http://www.codeproject.com) giúp thêm nhng Balloon

(gi ng v i tooltip c a window) vào ng d ng

Trang 37

th bài h c Trong ph n bài h c có nh ng ví d , tên c a nh ng ví d là tên file ch a d

li u c n thi t cho vi c ch y debug ví d đó V i m t bài h c, có m t file t ng ng

đ c l u trong th m c c a ch ng trình Các thông tin còn l i c a bài h c nh tên,

đ ng d n t i file ch a d li u đ c l u tr trong c s d li u Khi ch ng trình

ch y thì d li u nh tên bài h c, đ ng d n s đ c l y lên treeView

- Ch y debug ví d demo

Khi đang bài h c nào mà có ví d thì ng i dùng có th ch n (b ng cách s

d ng chu t bôi đen ph n tên ví d ) và nh n chu t ph i đ xem debug c a ví d đó Khi

đó, s có m t form đ hi n th t ng b c ch y cùng v i k t qu th c hi n debug,

ch ng trình có s d ng m t file mô t quá trình ch y debug

Trang 38

H U

H

- Làm bài t p

M i bài h c s có ph n bài t p riêng Ng i dùng có th làm bài và l u l i đ

có thêm t li u Bài t p đ c l u ra file trong th m c c a ch ng trình, ph n c s d

li u ch l u đ ng d n t i file bài t p đó Trong bài t p thì có thêm ph n bài gi i, bài

gi i c ng đ c l u ra file riêng và trong c s d li u ch l u đ ng d n t i file đó

Khi làm bài tp có th ch y th ph n v a làm, s có thông báo l i và k t qu

Khi ng i dùng đ ng ký thành viên thì có th s d ng thêm tính n ng t o th

vi n Thành viên có th dùng th vi n nh là m t quy n s tay riêng T t c thông tin

đ u mang tính cá nhân Th vi n có th l u đ c nh ng chú thích ho c đ ng d n t i file ho c th m c ng th i b n có th l u đ c hình nh đ i di n cho ph n th vi n

b n v a m i t o

3.2 Phân tích UML

3.2.1 Mô hình usecase (usecase diagram)

Trang 39

H U

Tao thu vien

Khach

Chon bai hoc

Khach khong dang ky

Chon cach hoc

<<extend>>

<<extend>>

Chay Demo Vi du

<<extend>>

Dang ky thanh vien

Lam bai tap

Hoc Vien

Bai kiem tra

Quan ly dang nhap Admin

Quan ly dang ky

- Use case “ ng ký thành viên” : Ngi s d ng đ ng ký (username,

password) v i ch ng trình N u username h p l thì h th ng s c p m t tài kho n

Mà l n sau vào ng i dùng có th s d ng tài kho n đó đ đ ng nh p vào h th ng

- Use case “To th vi n” : Cho phép ng i dùng (thành viên) t o ra th vi n riêng, ch có th xem khi đ ng nh p vào h th ng

Trang 40

H U

H

- Use case “Ch y demo ví d ” : Khi đang xem m t bài h c nào, n u có ph n ví

d thì ng i dùng có th xem quá trình ch y debug cho ví d đó

- Use case “Ch n cách h c” : Ng i dùng có th ch n theo 2 cách h c

- Use case “Làm bài tp” : X lý vi c th c hi n bài t p c a ng i dùng, bao

g m l u, cho xem bài m u và làm bài

- Use case “Bài ki m tra” : Ng i dùng sau khi đ c xong m t ch ng thì có th làm th bài ki m tra Là bài tr c nghi m ki m th c thu c m t ch ng nào đó Khi làm xong bài thì có th l u l i

- Use case “Qu n lý đ ng nh p” : Khi ng i dùng đ ng nh p vào h th ng thì

s ki m tra username và password

- Use case “Qu n lý đ ng ký” : Khi ng i dùng đ ng ký, c n cung c p

username Use case Quan ly dang ky xem username ng i dùng đ ng ký đã đ c s

d ng ch a N u ch a thì cho đ ng ký Ng c l i, thông báo cho ng i dùng

- Mô hình use case cho use case “Tao thu vien”

Them vao thu vien

Cap nhat Thanh vien

Thay doi thong tin

Ngày đăng: 24/11/2014, 04:02

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w