ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ờ Ở Ầ L I M Đ U
ườ ệ ọ ng đã tr thành khá ph
ở ệ ướ ượ ệ
ầ ữ ế ớ c trên th gi ệ ế ự ằ ệ ả
ế ổ Trong nh ng năm g n đây, vi c tin h c hóa nhà tr ộ ớ ắ ầ ế ở c m t vài t nam cũng m i b t đ u th c hi n đ bi n các n i, vi ộ ư ầ năm g n đây. Và vì th , vi c nâng cao Qu n Lý Th Vi n b ng Máy Tính là m t ề ầ đi u c n thi t.
ỏ ượ ể ng đ i h c Sao Đ là n i không th thi u đ
ậ ộ ượ ơ ớ
ặ ầ
ể ả ế ượ ứ ể ớ
ệ ấ ầ ể ấ ế ố ượ ườ ầ ỗ ế c cho m i sinh ể ọ ư ệ ng l n sinh viên ra vào th vi n đ đ c, ế ả t là đ đ m b o ki n ứ t, đ đáp ng ề ạ ng sách đáng k r t phong phú v lo i
ư ệ ư ố ượ ạ ọ ườ ư ệ Th vi n tr ườ ở ủ viên c a tr đó t p trung m t l ng, ả ọ ậ m n và tr sách. Nhu c u h c t p ngày càng cao đ c bi ệ th c có tính logic và chính xác thì vi c tìm đ n v i sách là r t c n thi nhu c u đó thì th vi n tr ng đã tăng s l ng. sách cũng nh s l
ặ ạ ụ ặ ả ộ
i th th trong m t ngày ph i liên t c l p đí l p l ế ả ệ
ắ ớ ự ủ i càng khó khăn h n. Và v i s phát tri n c a nhà tr
ể ệ ủ ườ ữ ể ơ ủ ư i công ả ượ ị ị m n tr sách s p x p sách đúng theo v trí quy đ nh đã ư ệ ườ ơ ng thì th vi n ề ủ ư i th th càng nhi u ạ c phát tri n h n n a và khi đó công vi c c a ng
ườ ế Vì th mà ng ộ vi c tìm sách, cho đ c gi khó khăn l ượ càng đ h n.ơ
ấ ề ừ ấ ầ ế ả ố c coi là r t c n thi ả t. Qu n lý t
ạ ố
ự ự ầ ế ả ấ t cung c p ầ ủ đ y đ , nhanh chóng và chính xác v các lo i sách cho sinh viên và th ng kê báo cáo ớ v i ban qu n lý là th c s c n thi ượ T đó v n đ qu n lý sách đ ề t.
ế ệ
ư ầ ọ th c t
ệ ớ
ế
ọ ậ Là sinh viên đang h c ngành CNTT, vi c h c t p, trang b và ti p thu các ả ậ ứ ề ế ki n th c v tin h c t t. Chính vì v y ướ ầ ướ ự ướ ng d n c a th y giáo, chúng em đã b c đ u làm quen v i vi c tìm i s h mà d ự ế ể hi u, phân tích và v n d ng nh ng ki n th c đó và th c t . ệ ị ọ ừ ự ế ế cũng nh công tác qu n lý là c n thi ầ ẫ ủ ậ ụ ữ ầ ự ụ ộ
ứ ụ ầ ệ ố ậ
ữ ứ ạ ọ ượ ụ ộ ấ ữ Trong đó, xây d ng ph n m m ph c v công vi c là m t trong nh ng v n ư ả ề “Qu n lý th c quan tâm
ề ề đ mà các l p trình viên quan tâm hàng đ u. H th ng thông tin v ỏ cũng là m t trong nh ng ng d ng mà đ ệ vi n tr ề nhi u nh t.
ườ ng đ i h c Sao Đ ” ấ ớ ộ ố ể
ầ ể
ng đ i h c Sao Đ đ t
ườ ả ạ ọ ư ệ ứ ổ ứ ầ ằ ụ
ỏ ể ừ ng đ i h c Sao Đ ” ườ ư ệ
ệ ngh thông tin, nhóm em đã đi vào tìm hi u v cách th c t ư ệ th vi n tr tin v ề “Qu n lý th vi n tr ạ ọ ườ ủ các th vi n nói chung và c a th vi n tr ọ ậ ố ắ ể ờ ư ệ Trong th i gian h c t p chúng em đã c g ng tìm hi u v H qu n tr c s
ể ủ ỏ V i mong mu n tìm hi u m t ph n nh trong kho tàng phát tri n c a công ủ ạ ộ ề ch c và ho t đ ng c a ệ ố ự đó xây d ng ph n phân tích h th ng thông ỏ nh m ph c v cho l ủ ợ ụ i ích c a ỏ ạ ọ ng đ i h c Sao Đ nói riêng. ả ứ ư
ề ệ ế ệ ủ ư ế
ủ ể ể ạ
ệ ượ ự ế ươ ỏ ị ơ ở ữ ệ ạ ữ ậ d li u SQL Server 2008 và Ngôn ng l p trình C# nh ng do ki n th c còn h n ấ ươ ế ng trình c a chúng em còn thi u sót và ch a hoàn thi n. Chúng em r t ch nên ch ượ ự c s đóng góp c a các th y cô giáo và b n bè đ chúng em có th hoàn mong đ c ch thi n đ ầ đòi h i. ng trình mà th c t
1
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ụ
Ụ
M C L C
Ả
Ờ Ở Ầ L I M Đ U 1 .............................................................................................................. Ụ Ụ M C L C 2 ..................................................................................................................... Ụ 6 DANH M C HÌNH ....................................................................................................... Ụ DANH M C B NG 7 ...................................................................................................... M Đ UỞ Ầ 8 .......................................................................................................................
ọ ề
ứ
Ế 1. Lý do ch n đ tài 8 .................................................................................................. ề ụ 2. M c đích đ tài 8 ..................................................................................................... ủ ề ố ượ 8 ng c a đ tài ............................................................................................ 3. Đ i t ạ ứ 4. Ph m vi nhiên c u 9 ................................................................................................ ươ 5. Ph 9 ng pháp nghiên c u ...................................................................................... ự ễ ủ ề 9 6. Th c ti n c a đ tài ............................................................................................. ố ụ ề 7. B c c đ tài 9 ......................................................................................................... Ơ Ở ƯƠ 11 NG 1. C S LÝ THUY T .......................................................................... CH
ơ ở
ơ ả ế 1.1. C s lý thuy t 11 ................................................................................................ ệ 11 1.1.1. Các khái ni m c b n ...............................................................................
ộ ữ ệ ụ ệ ạ ẩ 11 1.1.2. Khái ni m ph thu c d li u và các d ng chu n ....................................
ỉ ẫ ệ ỉ ẫ 12 1.1.3. Khái ni m ch d n và khoá ch d n ..........................................................
ụ ư ệ ủ 1.1.4. M c tiêu và tính u vi t c a mô hình quan h ệ 12 .........................................
ề ệ ị ả i thi u chung v h qu n tr CSDL SQLServer
ớ 1.2. Gi 1.2.1. Gi ệ 13 ....................................... ệ ớ 13 i thi u ..................................................................................................
ệ ấ 13 1.2.2. C u trúc l nh ............................................................................................
ớ ữ ậ ệ
ả ề 14 i thi u v ngôn ng l p trình C# .............................................................. 1.3. Gi ữ ơ 14 1.3.1. C# là ngôn ng đ n gi n ...........................................................................
ữ ệ ạ 14 1.3.2. C# là ngôn ng hi n đ i ............................................................................
ữ ướ ố ượ 1.3.3. C# là ngôn ng h ng đ i t ng 15 .............................................................
ữ ạ ẽ ề ẻ 15 1.3.4. C# là ngôn ng m nh m và cũng m m d o ...........................................
ữ ừ 1.3.5. C# là ngôn ng ít t 15 khóa ..........................................................................
ữ ướ 1.3.6. C# là ngôn ng h 16 ng module ..................................................................
ẽ ộ ữ ổ ế 16 1.3.7. C# s là m t ngôn ng ph bi n ..............................................................
ữ ữ ữ 16 1.3.8. Ngôn ng C# và nh ng ngôn ng khác .....................................................
ướ ẩ ị ươ 1.3.9. Các b c chu n b cho ch 18 ng trình ........................................................
ố ượ 1.3.10. L p,ớ đ i t ng và ki u dể ữ ệ 18 li u (type) ....................................................
2
ậ ồ ệ Đ môn: L p trình C Sharp
Ngành công ngh thông tin th cứ 20 ............................................................................................ 1.3.11. Ph ngươ
20 1.3.12. Chú thích ..................................................................................................
1.3.13. ngỨ ụ 20 d ng Console ...................................................................................
1.3.14. Namespace 21 ...............................................................................................
1.3.15. Từ 21 khóa using ..........................................................................................
1.3.16. Phân tệ bi chữ ườ th ng và chữ 22 hoa ...........................................................
1.3.17. Từ khóa 22 static ..........................................................................................
ƯƠ Ế Ệ Ố Ế CH NG 2. PHÂN TÍCH, THI T K H TH NG 23 ................................................
ề ư ệ ng đ i h c Sao Đ
i thi u v th vi n tr ạ ườ ủ ệ ố ả ớ ệ 2.1.Gi 2.1.1. Mô t ph m vi c a h th ng ạ ọ ỏ 23 ............................................... 23 ....................................................................
ầ ủ ệ ố
ị các ch c năng c a h th ng
ả ơ ồ
24 ...................................................................... 2.2. Xác đ nh yêu c u c a h th ng ủ ệ ố ứ 24 .................................................................. 2.3 Mô t 25 ............................................................................................. 2.4. S đ USECASE ậ ả 25 2.4.1. Qu n lí truy c p ........................................................................................
ả ấ 26 2.4.1.1. Qu n lí đăng xu t ...............................................................................
2.4.2 Tìm ki mế 27 ....................................................................................................
28 2.4.2.1.Tìm sách theo tên .................................................................................
29 2.4.2.2. Tìm sách theo khoa .............................................................................
ế 29 2.4.2.3.Tìm ki m sinh viên ..............................................................................
ả ậ ậ 31 2.4.3.Qu n lí C p nh t .......................................................................................
ả ậ ậ 31 2.4.3.1.Qu n lí c p nh t sách .........................................................................
ả ậ ể ạ ậ 32 2.4.3.2.Qu n lí c p nh t th lo i ...................................................................
ượ ả ả 33 2.4.4. Qu n lí m n tr sách ............................................................................
ượ ả 33 2.4.4.1.Qu n lí m n sách ..............................................................................
ả ả 34 2.4.4.2.Qu n lý tr sách ..................................................................................
ả ố 35 2.4.5.Qu n lí th ng kê .........................................................................................
ể
ứ ậ ồ ớ ể ự 36 ....................................................................... 2.5.Xây d ng bi u đ l p phân tích ồ ạ 36 ............................................................................................ 2.6. Bi u đ tr ng thái ồ ầ ự ể 2.7 Các bi u đ tu n t 37 ......................................................................................... ồ ầ ự ể 38 ............................................... 2.7.1 Bi u đ tu n t cho ch c năng Đăng nh p
ồ ầ ự ể ượ ứ ả 2.7.3 Bi u đ tu n t 40 cho ch c năng qu n lí m n sách ..................................
ồ ầ ự ể ứ ả ả 2.7.4 Bi u đ tu n t
cho ch c năng qu n lí tr sách 41 ....................................... 3
ồ ệ ậ
Đ môn: L p trình C Sharp ồ ầ ự ể ứ ả ố 2.7.5 Bi u đ tu n t Ngành công ngh thông tin 42 cho ch c năng qu n lí th ng kê ......................................
Ư Ệ ƯƠ Ự 2.8. Thi ƯƠ CH ế ế ơ ở ữ ệ t k c s d li u 42 ..................................................................................... Ả 46 NG TRÌNH QU N LÝ TH VI N .................. NG 3. XÂY D NG CH
ả ế ế t k các b ng CSDL ả ả 46 ............................................................................... 3.1. Thi 46 3.1.1. B ng tài kho n(taikhoan) ..........................................................................
ủ ư ả 3.1.2. B ng th th (thuthu) 46 ................................................................................
ộ ả ả 3.1.3. B ng đ c gi 46 (docgia) ...............................................................................
ả 47 3.1.4. B ng khoa (khoa) ......................................................................................
ả ớ 47 3.1.5.B ng l p (lop) ............................................................................................
ả ả ượ 3.1.6.B ng M n tr (muontra) 47 .........................................................................
ấ ả ả 48 3.1.7.B ng nhà xu t b n (nhaxuatban) ...............................................................
ạ ả 48 3.1.8.B ng phân lo i (phanloai) ..........................................................................
ả 48 3.1.9.B ng sách (sach) .........................................................................................
ệ ữ ả ố 49 3.1.10.M i quan h gi a các b ng .....................................................................
ế ế ầ ệ t k giao di n ph n m m
ề ủ ươ ệ 3.2. Thi 3.2.1. Giao di n form chính c a ch 49 ......................................................................... 49 .................................................... ng trình
3.2.2. Form đăng nh pậ 50 .........................................................................................
ấ ả 51 3.2.3. Form nhà xu t b n ...................................................................................
ả ộ 3.2.4. Form qu n lý đ c gi ả 51 ................................................................................
ượ 52 3.2.5. Form m n sách ........................................................................................
52 3.2.6. Form thông tin sách ....................................................................................
ả 53 3.2.7. Form tr sách .............................................................................................
ạ 53 3.2.8. Form phân lo i sách ...................................................................................
Ế ƯỚ Ể Ậ K T LU N VÀ H 54 NG PHÁT TRI N ..................................................................
ng trình
1. Cài đ t ặ 54 ................................................................................................................ ử 2. Ch y thạ 54 ............................................................................................................. ươ 3. Đánh giá ch 55 ......................................................................................... Ư ể 55 ....................................................................................................... 3.1. u đi m
ượ 3.2. Nh ể c đi m 55 .................................................................................................
ướ Ệ ể 4. H ng phát tri n TÀI LI U THAM KH O 55 ................................................................................................. Ả 56 ............................................................................................
4
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
5
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ả
ế ả ả ả
ậ ậ ậ ậ ượ ả ả
ớ ớ ứ ứ ượ ả
ế
ả ả
ả ả ả ả ả ả ả ả ả
ả
ả ượ
Ụ DANH M C HÌNH ư ệ Hình 2.1. Mô hình qu n lí th vi n 24 ............................................................................ ể ủ ệ ố ồ ổ Hình 2.2. Bi u đ use case t ng quát c a h th ng 25 ................................................... ể ậ ồ 26 Hình 2.3. Bi u đ use case qu n lí đăng nh p ........................................................... ể ồ ấ Hình 2.4.Bi u đ use case qu n lí đăng xu t 26 ............................................................. ể ồ Hình 2.3. Bi u đ use case qu n lí tìm ki m 28 ............................................................. ể ậ ồ 31 ........................................................................... Hình 2.5.Bi u đ use case c p nh t ể ậ ồ Hình 2.6.Bi u đ use case c p nh t sách 31 ................................................................... ể ậ ồ 31 Hình 2.7. Bi u đ use case c p nh t sinh viên ........................................................... ể ể ạ ồ ậ Hình 2.8. Bi u đ use case c p nh t th lo i 32 ............................................................ ể ồ Hình 2.9. Bi u đ use case m n sách 33 ....................................................................... ể ồ 34 Hình 2.10. Bi u đ use case tr sách .......................................................................... ể ồ ố Hình 2.11. Bi u đ use case qu n lí th ng kê 35 ............................................................ ể ủ ệ ố ồ ớ Hình 2.12.Bi u đ l p phân tích c a h th ng 36 .......................................................... ể ẻ ượ ồ ạ 37 Hình 2.13.Bi u đ tr ng thái l p th m n – Ch c năng m n sách ...................... ẻ ượ ồ ạ ể Hình 2.14.Bi u đ tr ng thái l p th m n – Ch c năng tr sách 37 ........................... ứ ồ ầ ự ể ậ 38 cho ch c năng Đăng nh p .............................................. Hình 2.15. Bi u đ tu n t ứ ồ ầ ự ể Hình 2.16. Bi u đ tu n t cho ch c năng tim ki m 39 ................................................. ượ ứ ồ ầ ự ể Hình 2.17. Bi u đ tu n t cho ch c năng qu n lí m n sách 40 ................................. ả ứ ồ ầ ự ể 41 cho ch c năng qu n lí tr sách ...................................... Hình 2.18. Bi u đ tu n t ứ ồ ầ ự ể Hình 2.19. Bi u đ tu n t 42 cho ch c năng ................................................................ ả 46 Hình 3.1 B ng CSDL tài kho n .................................................................................. ủ ư Hình 3.2 B ng CSDL th th 46 ..................................................................................... ể ả Hình 3.3 B ng CSDL B o hi m 47 ................................................................................. 47 ......................................................................................... Hình 3.4 B ng CSDL Khoa ớ Hình 3.5 B ng CSDL L p 47 .......................................................................................... ả ượ Hình 3.6 B ng CSDL M n tr 48 ................................................................................. ấ ả 48 Hình 3.7 B ng CSDL Nhà xu t b n ........................................................................... ạ Hình 3.8 B ng CSDL Phân lo i 48 .................................................................................. Hình 3.9 B ng CSDL Sách 49 .......................................................................................... ệ ữ ố Hình 3.10 M i quan h gi a các b ng 49 ....................................................................... ệ Hình 3.11 Giao di n Form Main 50 ................................................................................. ệ ậ 50 Hình 3.12 Giao di n Form Đăng nh p ........................................................................ ấ ả ệ Hình 3.13 Giao di n Form Nhà xu t b n ................................................................... 51 ộ ả ệ Hình 3.14 Giao di n Form qu n lý đ c gi 51 ................................................................ ệ 52 Hình 3.15 Giao di n Form m n sách ........................................................................ ệ 52 Hình 3.16 Giao di n Form thông tin sách ....................................................................
6
ồ ậ ệ
ả
Ả
Ngành công ngh thông tin Đ môn: L p trình C Sharp ệ Hình 2.17 Giao di n Form tr sách 53 ............................................................................. ạ ệ 53 .................................................................. Hình 2.18 Giao di n Form phân lo i sách Ụ DANH M C B NG
ủ ừ
ả ậ
ế
ậ ậ ậ ậ
ượ ả ố
ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ả ữ 16 khóa c a ngôn ng C# .................................................................... B ng 1.1: Các t ả ị B ng 2.1. B ng k ch b n đăng nh p 26 .......................................................................... ị ấ ả B ng 2.2. K ch b n đăng xu t 27 .................................................................................... ị ả 29 ......................................................................... B ng 2.3. K ch b n tìm sách theo tên ị ả B ng 2.4. K ch b n tìm sách theo khoa 29 ....................................................................... ị ả 30 ...................................................................... B ng 2.5. K ch b n tìm ki m sinh viên ả ị ả B ng 2.6. K ch b n qu n lý c p nh t sách 32 ................................................................ ả ị ể ạ ả B ng 2.7.K ch b n qu n lý c p nh t th lo i sách 33 ................................................... ả ị ả 34 ..................................................................... B ng 2.8. K ch b n qu n lý m n sách ả ị ả B ng 2.9. K ch b n qu n lý tr sách 34 .......................................................................... ả ả ị B ng 2.10.K ch b n qu n lý th ng kê 35 ........................................................................ ả ả 42 B ng 2.11. B ng tài kho n ......................................................................................... ủ ư ả ............................................................................................ B ng 2.12. B ng th th 43 ả ộ ả 43 ........................................................................................... B ng 2.13. B ng đ c gi ả B ng 2.14. B ng khoa 43 ................................................................................................ ớ ả B ng 2.15. B ng l p 44 ................................................................................................... ả ượ ả 44 ........................................................................................ B ng 2.16. B ng m n tr ấ ả ả B ng 2.17. B ng nhà xu t b n 44 ................................................................................... ạ ả B ng 2.18. B ng phân lo i 45 ......................................................................................... ả 45 B ng 2.19. B ng sách .................................................................................................
7
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
M Đ UỞ Ầ
ọ ề 1. Lý do ch n đ tài
ệ ấ ấ ư ệ ứ ề ả ộ ố ỗ ệ Qu n lý th vi n là m t chu i công vi c r t v t vã và t n nhi u công s c. Vi c
ư ệ ẽ ệ ả ả ả ọ ơ ở tin h c hoá trong bài toán qu n lý th vi n s giúp vi c qu n lý tr nên đ n gi n và
ệ ặ ệ ẽ ả ọ ặ đ c bi t là tình chính xác cao. Đ c bi t tin h c hoá trong bài toán qu n lý s giúp
ệ ượ ầ ấ vi c truy v n thông tin đ c nhanh chóng theo yêu c u khác nhau.
ự ờ ủ ng đ i h c Sao Đ
ụ ụ ộ ệ ố ệ ụ ủ ả “Qu n lý ườ ườ ể ố ư ệ th vi n tr ả i làm gi m thi u t ạ ọ ữ i đa nh ng v t v ỏ” ấ ả
Và s ra đ i c a m t h th ng ph c v cho công tác nghi p v c a con ng trong công vi c.ệ ấ ậ ươ ệ Nh n th y vi c xây d ng ch
ụ ế ắ th vi n ộ ủ ậ c a đ c gi ư ệ có th giúp ể ở ậ ả. B i v y,
ƯƠ
ờ ự ồ ể ế ị ả ề ệ
Ự XÂY D NG CH
Ả NG TRÌNH QU N
ả ự ng trình qu n lý cho kh c ph c khó khăn trên đ ng th i tăng kh năng ti p c n nhóm em quy t đ nh tìm hi u và th c hi n đ tài: “
ƯỜ
Ạ Ọ
NG Đ I H C SAO Đ
Ỏ ”.
Ư Ệ LÝ TH VI N TR ề
ụ 2. M c đích đ tài
ư ệ ệ ố ả ượ ụ ự ả H th ng qu n lý th vi n đ ằ c xây d ng nh m m c đích gi ế i quy t các
ầ yêu c u sau:
ứ 1. Giúp sinh viên tra c u sách.
ủ ư ộ ộ ề ầ ấ ả 2. Cung c p cho th th các thông tin v các đ u sách m t đ c gi đang
ả ả ượ ạ ố ượ m n và h n ph i tr và các cu n sách còn đang đ ượ c m n.
ủ ề ượ ố ố ọ 3. Th ng kê hàng tháng s sách cho m n theo các ch đ : khoa, khóa h c,
ư ể ậ ợ ổ ọ ớ l p … L p bi u đ t ồ ỷ ệ ạ l b n đ c vào th viên, báo cáo t ng h p.
ỗ ợ ủ ư ậ ượ ậ ậ ậ 4. H tr th th c p nh t thông tin sách, xác nh n cho m n sách và nh n
ộ ả ả ạ l i sách khi đ c gi tr sách.
ỗ ợ ề ộ ả ả ự ẻ ư ệ 5. H tr qu n lý các thông tin v đ c gi d a trên th th vi n.
ứ ầ Các yêu c u phi ch c năng:
ệ ố ệ ố ể ạ ạ ộ ộ ủ 1. H th ng tri n khai theo d ng Website trên h th ng m ng n i b c a
ườ tr ng.
ủ ư ử ụ ệ ố ể ậ ượ ả ậ 2. Th th s d ng h th ng đ c p nh t và qu n lý quá trình m n tr ả
sách.
ả ả ả ố 3. Thông tin th ng kê ph i đ m b o tính chính xác, khách quan.
ố ượ 3. Đ i t
ượ ế ế ố ượ ủ ề ng c a đ tài ươ ng trình đ Ch c thi t k cho hai đ i t ử ụ ng s d ng là ộ đ c gi ả và thủ
thư:
ả: sinh viên trong tr
ườ ề ử ụ ả ậ ậ + Đ c giộ ng + Th thủ ư: có toàn quy n s d ng và c p nh t thông tin, qu n lí sách.
8
ồ ậ ệ Ngành công ngh thông tin
ứ ạ Đ môn: L p trình C Sharp 4. Ph m vi nhiên c u
ị
ể ứ
ậ ậ ủ ự ệ ả ả ươ ươ ả Tìm hi u kĩ thu t l p trình C# và h qu n tr CSDL SQLServer 2008 ng trình qu n lý Các ch c năng c a ch ng trình qu n lý Quy trình xây d ng ch sách và đ c giộ sách và đ c giộ ả. ả.
ứ ươ 5. Ph
ả
ự ế . ế ế ệ ố t k h th ng ch ươ ươ ữ ặ ầ ợ ng trình cho phù h p. ng trình theo nh ng yêu c u đã đ t ra.
ệ ạ ế ng pháp nghiên c u ế ứ Nghiên c u lý thuy t. Kh o sát th c t Phân tích thi ự Xây d ng ch ự ễ ủ ề 6. Th c ti n c a đ tài Trong th c t ta có th th y r ng m t s h th ng hi n t
ủ ữ ệ ế ươ ộ ố ệ ố i n u làm th công ng pháp làm vi c đ n đâu đi chăng n a thì
ự ế ố ắ ữ ể ấ ằ ệ ả thì th thủ ư có c g ng và c i thi n ph ẫ ồ ạ v n t n t
ấ i nh ng v n đ sau: ờ ề ế ớ ầ ế ờ t thì th i gian
ượ ứ ổ t ng h p thông tin r t nhi u không đáp ng đ
c yêu c u. ễ ị ầ ầ ế ứ ề ợ ẫ
ụ ố
ấ ệ ổ ả ườ ấ ấ ệ ễ ả ộ Th i gian tìm ki m ghi chép quá l n, khi có thông tin c n thi ợ Công vi c t ng h p h t s c khó khăn d b nh m l n. ề Nhi u kho n m c thông tin và ghi chép không th ng nh t. ề Nhi u ng ẽ i làm m t công vi c thông tin s không nh t quán và d x y ra
sai xót.
ổ
ừ ấ ệ ư
ả ỉ ệ ượ ấ c r t nhi u v th i gian ít sai sót, giúp cho ng
ự ề ẽ ả ọ ậ ứ ứ ệ
ề ờ ố ề Khi có s thay đ i đi u ch nh t n nhi u th i gian. ụ ể ủ ơ ọ ề T v n đ trên và đi u ki n c th c a c quan cho phép vi c đ a tin h c ề ờ ườ ề ả i vào qu n lí nó s làm gi m đ ữ ặ ờ làm công vi c qu n lí có th i gian nghiên c u ho c nghiên c u h c t p vào nh ng công tác khác. ố ụ ề 7. B c c đ tài ộ ầ ồ ồ
ươ ươ ươ ụ ư ệ th vi n
Ế Ể
ế ơ ở ng 1. C s lý thuy t ế ế ệ ố ng 2. Phân tích, thi t k h th ng ả ự ứ ng 3. Xây d ng ng d ng qu n lý ƯỚ NG PHÁT TRI N Ả Ệ N i dung đ án g m các thành ph n sau: M Đ UỞ Ầ Ch Ch Ch Ậ K T LU N VÀ H TÀI LI U THAM KH O
9
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
10
ồ ậ ệ Ngành công ngh thông tin
ƯƠ
Ơ Ở
Ế
Đ môn: L p trình C Sharp CH
NG 1. C S LÝ THUY T
ơ ở ế 1.1. C s lý thuy t
ơ ả ệ 1.1.1. Các khái ni m c b n
ơ ở ữ ệ ữ ệ ộ ậ ệ ớ ả ợ C s d li u: Là m t t p h p các b ng d li u có quan h v i nhau sao
ữ ủ ư ệ ấ ố cho c u trúc c a chúng cũng nh các m i quan h bên trong gi a chúng là tách bi ệ t
ươ ụ ứ ề ờ ồ ườ ớ v i ch ng trình ng d ng bên ngoài, đ ng th i nhi u ng i dùng khác nhau cũng
ẻ ộ ề ứ ư ụ ể ọ ọ nh nhi u ng d ng khác nhau có th cùng khai thác và chia x m t cách ch n l c
lúc c n.ầ
ụ ể ủ ộ ố ượ ả ự Th c th : ể Là hình nh c th c a m t đ i t ệ ố ng trong h th ng thông tin
ự ể ả ộ ộ ị qu n lý. M t th c th xác đ nh Tên và các thu c tính.
ộ ế ố ữ ệ ể ấ ủ ự ặ ộ Thu c tính: Là m t y u t d li u ho c thông tin c a th c th y.
ự ự ể ể ớ ộ L p th c th : Là các th c th cùng thu c tính.
ượ ệ ậ ệ ượ ủ ồ ộ ồ ộ L ộ c đ quan h : T p các thu c tính c a m t quan h . L c đ m t quan
ự ủ ề ệ ộ ộ ớ ể ệ ồ h g m các thu c tính c a th c th cùng v i các m nh đ ràng bu c.
ượ ồ ộ ệ VD: L c đ m t quan h
R =
ộ ượ ồ ệ Trong đó: R là m t l c đ quan h
ộ Ai : tên thu c tính
ủ ề ộ ị Di : mi n xác đ nh c a thu c tính
ệ ộ ề M : m nh đ ràng bu c
ộ ượ ồ ủ ộ N i dung c a m t l ộ ệ ọ c đ quan h g i là các b .
ố Các phép toán t ể i thi u:
ữ ệ ế ẩ ọ ổ ạ * Tìm ki m d li u theo tiêu chu n đã ch n, không làm thay đ i tr ng
ơ ở ữ ệ thái c s d li u.
ơ ở ữ ệ ổ ấ * Thay đ i c u trúc c s d li u.
ơ ở ữ ệ ổ ộ * Thay đ i n i dung c s d li u.
ơ ở ữ ệ ử * X lý, tính toán trên c s d li u.
ộ ữ ệ ụ ệ ạ ẩ 1.1.2. Khái ni m ph thu c d li u và các d ng chu n
ụ ộ ộ ọ ộ ộ ị ủ M t thu c tính g i là ph thu c vào các thu c tính khác khi giá tr c a
ị ủ ụ ự ụ ộ ộ ộ ộ ể thu c tính này ph thu c vào giá tr c a thu c tính kia. S ph thu c này có th là
ự ế ế gián ti p hay tr c ti p.
11
ồ Ngành công ngh thông tin
ậ ộ ệ ờ ộ ộ ệ ị ủ Đ môn: L p trình C Sharp M t quan h bao gi cũng có m t nhóm thu c tính mà giá tr c a chúng qui
ị ủ ộ ộ ọ ị đ nh giá tr c a các thu c tính khác, nhóm thu c tính đó g i là khoá.
ộ ủ ệ ỳ ụ ớ ộ ộ V i m t quan h tu vào các ph thu c c a các thu c tính vào khoá có trong
ệ ạ ẩ ạ ẩ đó mà ta phân chia các quan h đó thành các d ng chu n khác nhau. Các d ng chu n
ơ ả c b n:
ẩ ạ * D ng chu n 1
ạ ẩ * D ng chu n 2
ạ ẩ * D ng chu n 3
ữ ướ ạ ượ ệ ượ ữ ệ ư Các d li u l u tr ẩ i d ng chu n 3 tránh đ d c hi n t ư ừ ng d th a d ữ
ữ ệ ệ ế ư ở ạ ệ ẩ ạ ộ ậ li u, t o cho d li u có tính đ c l p cao. Các quan h n u ch a d ng chu n 3 s ẽ
ỏ ơ ạ ẩ ượ đ ệ c phân rã thành các quan h nh h n có d ng chu n 3.
ỉ ẫ ệ ỉ ẫ 1.1.3. Khái ni m ch d n và khoá ch d n
ể ể ế ẩ ộ ạ Đ có th tìm ki m thông tin nhanh theo m t tiêu chu n nào đó chúng ta t o
ỉ ẫ ỉ ẫ ẩ ra các thông tin ch d n theo tiêu chu n đó. Các thông tin ch d n là các thông tin
ữ ệ ỉ ẫ ế ọ ỉ ẫ giúp ta tìm ki m d li u nhanh. Các thông tin này g i là khoá ch d n. Khoá ch d n
ườ ề ặ ườ ườ ứ ự ợ ỉ ể có th là 1 tr ng ho c nhi u tr ng trong tr ả ng h p này ph i ch ra th t ớ . V i
ữ ệ ể ế ạ ẩ cách t o ra khoá theo tiêu chu n nào đó ta có th tìm ki m d li u nhanh theo tiêu
ẩ chu n đó.
ụ ư ệ ủ ệ 1.1.4. M c tiêu và tính u vi t c a mô hình quan h
ộ ượ ồ ữ ệ ễ ử ụ ả ơ ườ Cho m t l c đ d li u d s d ng, mô hình đ n gi n, ng i dùng không
ế ấ ủ ữ ệ ệ ợ ậ ườ ố ầ c n bi t c u trúc v t lý c a d li u. Ti n l i cho ng i dùng cu i không chuyên tin
h c.ọ
ườ ặ ệ ộ ậ ậ Tăng c ộ ậ ủ ữ ệ ng tính đ c l p c a d li u, đ c bi t là đ c l p v t lý.
ữ ậ ả ộ ộ Cho m t kh năng có m t ngôn ng thao tác b c cao.
ơ ở ữ ệ ữ ệ ố ư ị ự ệ ế ệ ả T i u vi c tìm ki m d li u trong c s d li u, h qu n tr t tìm cách
truy nh p.ậ
ẹ ữ ệ ậ ữ ệ ệ ả ả C i thi n nâng cao toàn v n d li u và b o m t d li u.
ể ụ ụ ề ươ ụ Có th ph c v cho nhi u ch ứ ng trình ng d ng.
ơ ở ắ ắ ọ Có c s toán h c phong phú ch c ch n:
ệ ế * Lý thuy t quan h
ộ ề ữ ầ ủ ạ ẩ * D ng chu n có đ b n v ng và đ y đ thông tin
12
ồ ậ ệ Ngành công ngh thông tin
ớ ề ệ ị Đ môn: L p trình C Sharp ệ 1.2. Gi ả i thi u chung v h qu n tr CSDL SQLServer
ớ ệ 1.2.1. Gi i thi u
ữ ệ ữ ấ ượ SQL (Structured Query Language) là ngôn ng truy v n d li u đ c s ử
ị ơ ở ữ ệ ẩ ượ ư ữ ệ ệ ả ụ d ng cho các h qu n tr c s d li u quan h . Ngôn ng SQL chu n đ c đ a ra
ở b i ANSI (American National Standards Institude) và ISO (International Standards
ấ ả ả ớ ớ ả ệ Organization) v i phiên b n m i nh t hi n nay là phiên b n SQL92 (phiên b n
ữ ượ ấ ả ệ ượ ư đ c đ a ra vào năm 1992). Ngôn ng SQL đ ặ c cài đ t trong t ả t c các h qu n
ị ơ ở ữ ệ ữ ề ặ ượ ư tr c s d li u. M c dù có nhi u ngôn ng khác nhau đ c đ a ra cho các h ệ
ữ ượ ử ụ ệ ả ộ ị ệ qu n tr CSDL quan h , SQL là ngôn ng đ ấ c s d ng r ng rãi hi n nay trong r t
ệ ố ề ươ ư ạ nhi u h th ng CSDL th ng m i nh Oracle, SQL Server, DB2...
ệ ấ 1.2.2. C u trúc l nh
ữ ệ ượ ạ Các l nh trong ngôn ng SQL đ c chia làm 3 lo i chính:
ữ ệ ữ ị Ngôn ng đ nh d li u: (DDL : Data Definition Language)
ủ ỏ ệ ồ ổ ị + G m các l nh CREATE, ALTER, DROP đ nh nghĩa, thay đ i và h y b các
ữ ệ ỉ ụ ư ả ố ượ đ i t ự ng d li u nh TABLE (b ng), INDEX (ch m c), SEQUENCE (trình t ),
VIEW (khung nhìn).
ữ ệ ữ Ngôn ng thao tác d li u: (DML : Data Manipulation Language)
ệ ồ ố + G m các l nh SELECT, INSERT, UPDATE cho phép thao tác trên đ i
ữ ệ ượ t ng d li u.
ể ữ ề Ngôn ng đi u khi n:
ề ữ ệ ủ ượ ử ụ ệ ấ ủ ỏ + Đ c s d ng trong vi c c p phát hay h y b quy n d li u c a ng ườ ử i s
ố ớ ố ượ ệ ặ ụ d ng đ i v i các câu l nh SQL ho c trên các đ i t ng CSDL.
ệ ồ + G m các câu l nh: GRANT và REVOKE
ề ấ ọ ấ ả ố ượ ạ + Đi u quan tr ng nh t là t t c các đ i t ơ ở ữ ệ ng t o ra trong c s d li u
ừ ể ữ ệ ụ ề ượ ư đ u đ ữ c l u tr trong t đi n d li u hay trong danh m c.
ể ử ụ ữ ở ươ + Có th s d ng ngôn ng SQL ạ các d ng t ạ ng tác hay d ng nhúng.
ươ ử ế ế ệ ệ ả ạ + D ng t ự ng tác cho phép g i câu l nh tr c ti p đ n h qu n tr c s d ị ơ ở ữ
ố ớ ạ ả ả ề ệ ế ệ ậ li u và nhanh chóng nh n k t qu tr v . Đ i v i d ng nhúng thì các câu l nh SQL
ứ ươ ế ằ ữ ấ ụ ằ ậ ượ đ c ch a trong ch ng trình vi t b ng ngôn ng c p cao nh m t n d ng các tính
ậ ượ ả ả ề ừ ỗ ợ ự ế ế ậ năng l p trình không đ c SQL h tr , không tr c ti p nh n k t qu tr v t câu
ả ượ ế ố ủ ủ ụ ề ế ệ l nh SQL và k t qu đ c truy n vào bi n hay tham s c a th t c.
13
ồ ệ Đ môn: L p trình C Sharp
ậ ữ ử ụ ệ ả ươ + Nh ng l nh trong SQL có kh năng s d ng Ngành công ngh thông tin ề ở ạ ng tác đ u có th d ng t ể
ươ ộ ố ườ ụ ứ ượ đ c dùng trong các ch ng trình ng d ng. Tuy nhiên, trong m t s tr ợ ng h p cú
ủ ạ ầ ệ ầ ư ử ụ pháp c a hai d ng này có ph n khác bi t c n l u ý khi s d ng.
ị ơ ở ữ ệ ụ ệ ệ ả ả ỉ + SQL ch áp d ng trong các h qu n tr c s d li u. H qu n tr c s d ị ơ ở ữ
ơ ở ữ ệ ở ạ ệ ề ả ầ ị ấ li u là ph n m m cho phép đ nh nghĩa, kh i t o, b o trì c s d li u và cung c p
ườ ữ ệ ỉ ượ ư ữ ấ ữ ệ các truy xu t d li u. Thông th ng nó ám ch cho d li u này đ c l u tr , tuy
ệ ơ ở ữ ệ ơ ở ữ ệ ồ ọ nhiên trong các h c s d li u tin h c hóa, c s d li u còn bao g m các thành
ư ầ ứ ề ầ ầ ườ ử ụ ph n khác nh ph n c ng, ph n m m, ng i s d ng.
ớ ệ ề ữ ậ 1.3. Gi i thi u v ngôn ng l p trình C#
ữ ả ả ỉ ừ ườ ấ ơ ơ Ngôn ng C# khá đ n gi n, ch kho ng 80 t ể khóa và h n m i m y ki u
ượ ự ự ữ ẵ ữ ệ d li u đ ữ c d ng s n. Tuy nhiên ngôn ng C# có ý nghĩ cao khi nó th c thi nh ng
ệ ậ ạ ồ ấ ả ỗ ợ ấ ữ ệ khái ni m l p trình hi n đ i. C# bao g m t ầ t c nh ng h tr c u trúc, thành ph n
ậ ướ ố ượ ữ ượ ự component, l p trình h ng đ i t ng. Ngôn ng C# đ ề ả c xây d ng trên n n t ng
ữ ứ ữ ừ ữ ệ ủ c a C++ và JAVA. Ngôn ng C# ch a nh ng t ể khóa cho vi c khai báo nh ng ki u
ố ượ ữ ớ ươ ủ ớ ứ ệ ộ ớ l p đ i t ng m i và nh ng ph ứ ng th c hay thu c tính c a l p, và cho vi c th c
ơ ả ủ ấ ứ ế ừ ữ ậ ộ thi đóng gói, k th a và đa hình, ba thu c tính c b n c a b t c ngôn ng l p trình
ố ượ ướ h ng đ i t ng nào.
ữ ơ ả 1.3.1. C# là ngôn ng đ n gi n
ạ ỏ ộ ứ ạ ố ắ ự ủ ữ ữ ư C# lo i b m t vài s ph c t p và r i r m c a nh ng ngôn ng nh Java
ế ừ ạ ỏ ữ ữ ệ ớ ồ và c++, bao g m vi c lo i b nh ng macro, nh ng template, đa k th a, và l p c ơ
ữ ự ẫ ầ ẫ ở ả s o (virtual base class). Chúng là nh ng nguyên nhân gây ra s nh m l n hay d n
ữ ề ấ ườ ế đ n nh ng v n đ cho các ng ể i phát tri n C++.
ề ả ữ ự ế ả ơ Ngôn ng C# đ n gi n vì nó d a trên n n t ng C và C++. N u chúng ta thân
ệ ớ ẽ ấ ậ ố thi n v i C và C++ ho ề ệ cặ th m chí là Java, chúng ta s th y C# khá gi ng v di n
ứ ể ạ ử ữ ượ ấ m o, cú pháp, bi u th c, toán t ứ và nh ng ch c năng khác đ ự c l y tr c ti p t ế ừ
ư ữ ượ ả ế ữ ơ ể ả ngôn ng C và C++, nh ng nó đã đ ơ c c i ti n đ làm cho ngôn ng đ n gi n h n.
ự ả ế ư ừ ạ ỏ ữ ộ M t vài trong các s c i ti n là lo i b các d th a, hay là thêm vào nh ng cú pháp
thay đ i. ổ
ữ ệ ạ 1.3.2. C# là ngôn ng hi n đ i
ạ ệ ữ ư ử ặ ớ ự ộ ộ Nh ng đ c tính nh là x lý ngo i l , thu gom b nh t ể ữ đ ng, nh ng ki u
ở ộ ữ ặ ả ậ ồ ượ ữ ệ d li u m r ng, và b o m t mã ngu n là nh ng đ c tính đ ộ ợ c mong đ i trong m t
ữ ệ ứ ấ ả ữ ế ặ ạ ườ ngôn ng hi n đ i. C# ch a t t c nh ng đ c tính trên. N u là ng ớ ọ ậ i m i h c l p
ứ ạ ẽ ả ữ ể ể ấ ặ trình có th chúng ta s c m th y nh ng đ c tính trên ph c t p và khó hi u. Tuy
14
ồ ậ ệ
ẽ ầ ắ ầ ượ Ngành công ngh thông tin ặ ữ ể Đ môn: L p trình C Sharp ừ nhiên, cũng đ ng lo l ng chúng ta s d n d n đ c tìm hi u nh ng đ c tính qua các
ươ ch ố ng trong cu n sách này.
ỏ ượ ữ ợ * Ghi chú: Con tr đ c tích h p vào ngôn ng C++. Chúng cũng là nguyên
ắ ố ủ ạ ỏ ứ ạ ữ ữ ữ ắ ố nhân gây ra nh ng r c r i c a ngôn ng này. C# lo i b nh ng ph c t p và r c r i
ớ ự ộ ỏ ở ộ ộ phát sinh b i con tr . Trong C#, b thu gom b nh t ể ữ ệ đ ng và ki u d li u an toàn
ữ ẽ ạ ỏ ữ ề ắ ố ủ ấ ợ ượ đ c tích h p vào ngôn ng , s lo i b nh ng v n đ r c r i c a C++.
ữ ướ ố ượ 1.3.3. C# là ngôn ng h ng đ i t ng
ữ ướ ủ ữ ể ặ ố ượ Nh ng đ c đi m chính c a ngôn ng h ng đ i t ng (Object oriented
ự ừ language) là s ự ế đóng gói (encapsulation), s k th a (inheritance), và đa hìn h
ỗ ợ ấ ả ữ ầ ặ ướ ố ượ (polymorphism). C# h tr t t c nh ng đ c tính trên. Ph n h ng đ i t ủ ng c a
ẽ ượ ế ộ ươ ở ầ C# s đ c trình bày chi ti t trong m t ch ng riêng ph n sau.
ữ ạ ề ẻ ẽ 1.3.4. C# là ngôn ng m nh m và cũng m m d o
ề ậ ư ướ ị ớ ạ ở ữ ớ ỉ Nh đã đ c p tr c, v i ngôn ng C# chúng ta ch b gi i h n ở chính b i
ưở ượ ủ ữ ặ ả b n thân hay là trí t ng t ữ ng c a chúng ta. Ngôn ng này không đ t nh ng ràng
ữ ể ộ ượ ử ụ ự ề ệ bu c lên nh ng vi c có th làm. C# đ c s d ng cho nhi u các d án khác nhau
ả ứ ồ ọ ư ụ ứ ụ ử ả ậ ạ nh là t o ra ng d ng x lý văn b n, ng d ng đ h a, b n tính, hay th m chí
ữ ữ ị nh ng trình biên d ch cho các ngôn ng khác.
ữ ừ 1.3.5. C# là ngôn ng ít t khóa
ữ ử ụ ớ ạ ữ ừ ầ ớ ừ C# là ngôn ng s d ng gi i h n nh ng t khóa. Ph n l n các t khóa
ể ả ữ ể ằ ộ ượ ử ụ đ c s d ng đ mô t ề thông tin. Chúng ta có th nghĩ r ng m t ngôn ng có nhi u
ả ự ậ ẽ ạ ề ấ ơ ườ ừ t khóa thì s m nh h n. Đi u này không ph i s th t, ít nh t là trong tr ợ ng h p
ấ ằ ể ượ ử ụ ữ ữ ể ngôn ng C#, chúng ta có th tìm th y r ng ngôn ng này có th đ c s d ng đ ể
ấ ứ ụ ệ ả ệ ừ ủ ữ làm b t c nhi m v nào. B ng sau li t kê các t khóa c a ngôn ng C#.
ừ
abstract as base foreach B ng 1.1: Các t goto if unsafe ushort virtual default ả delegate do sizeof ữ khóa c a ngôn ng C# stackalloc static Object ủ Operator out
Double implicit string volatile bool override
break void in params
byte while else Enum int Private struct struct
case catch event Explicit interface internal Protected Public
char checked class extern false Finally is lock long this throw true try typeof 15 const namespace readonly ref return Sbyte uint fixed
continue decimal new sealed short ulong unchecked float for null sealed short
ồ ậ ệ Ngành công ngh thông tin
Đ môn: L p trình C Sharp ữ ướ 1.3.6. C# là ngôn ng h ng module
ể ượ ồ ế ầ ượ ữ ọ Mã ngu n C# có th đ c vi ữ t trong nh ng ph n đ ớ c g i là nh ng l p,
ữ ứ ớ ươ ữ ứ ủ ớ nh ng l p này ch a các ph ữ ng th c thành viên c a nó. Nh ng l p và nh ng
ươ ể ượ ử ụ ứ ạ ứ ươ ph ng th c có th đ c s d ng l ụ i trong ng d ng hay các ch ng trình khác.
ữ ề ế ằ ẫ ớ ươ ứ B ng cách truy n các m u thông tin đ n nh ng l p hay ph ng th c chúng ta có
ể ạ ữ ồ ạ th t o ra nh ng mã ngu n dùng l ả ệ i có hi u qu .
ữ ổ ế ộ ẽ 1.3.7. C# s là m t ngôn ng ph bi n
ữ ậ ữ ể ấ ộ ờ ớ ố C# là m t trong nh ng ngôn ng l p trình m i nh t. Vào th i đi m cu n
ượ ế ượ ế ổ ế ữ ư ộ sách này đ c vi t, nó không đ c bi ư t nh là m t ngôn ng ph bi n. Nh ng
ộ ố ể ở ữ ổ ế ộ ộ ngôn ng này có m t s lý do đ tr ữ thành m t ngôn ng ph bi n. M t trong
ế ủ ữ ự nh ng lý do chính là Microsoft và s cam k t c a .NET .
ổ ế ữ ặ ố ở ộ Microsoft mu n ngôn ng C# tr nên ph bi n. M c dù m t công ty không
ể ỗ ợ ổ ế ộ ả ư ể ẩ ở th làm m t s n ph m tr nên ph bi n, nh ng nó có th h tr . Cách đây không
ặ ự ấ ạ ề ệ ề ặ lâu, Microsoft đã g p s th t b i v h đi u hành Microsoft Bob. M c dù Microsoft
ổ ế ấ ạ ế ố ơ ư ể ế ở ố mu n Bob tr nên ph bi n nh ng th t b i. C# thay th t t h n đ đem đ n thành
ậ ự ơ ớ ế ọ ườ công s v i Bob. Th t s là không bi t khi nào m i ng i trong công ty Microsoft
ủ ọ ệ ằ ớ ử ụ s d ng Bob trong công vi c h ng ngày c a h . Tuy nhên, v i C# thì khác, nó đ ượ c
ề ả ủ ể ở ổ ẩ ử ụ s d ng b i Microsoft. Nhi u s n ph m c a công ty này đã chuy n đ i và vi ế ạ t l i
ử ụ ủ ữ ậ ả ằ ằ b ng C#. B ng cách s d ng ngôn ng này Microsoft đã xác nh n kh năng c a C#
ế ườ ậ ầ c n thi ữ t cho nh ng ng i l p trình.
ế ự ủ ộ ể Micorosoft .NET là m t lý do khác đ đem đ n s thành công c a C#. .NET
ữ ứ ộ ự ự ụ ổ ạ là m t s thay đ i trong cách t o và th c thi nh ng ng d ng.
ổ ế ẽ ở ữ ữ ặ Ngoài hai lý do trên ngôn ng C# cũng s tr nên ph bi n do nh ng đ c
ủ ữ ượ ề ậ ụ ướ ư ơ ả ướ tính c a ngôn ng này đ c đ c p trong m c tr c nh : đ n gi n, h ố ng đ i
ẽ ạ ượ t ng, m nh m ...
ữ ữ ữ 1.3.8. Ngôn ng C# và nh ng ngôn ng khác
ừ ữ ữ ư ế Chúng ta đã t ng nghe đ n nh ng ngôn ng khác nh Visual Basic, C++ và
ẽ ự ỏ ự ữ ữ ữ Java. Có l chúng ta cũng t h i s khác nhau gi a ngôn ng C# và nh ng ngôn ng ữ
ạ ể ọ ữ ọ ọ ộ đó. Và cũng t ự ỏ ạ h i t i sao l i ch n ngôn ng này đ h c mà không ch n m t trong
ộ ố ự ữ ữ ề ấ ữ nh ng ngôn ng kia. Có r t nhi u lý do và chúng ta hãy xem m t s s so sánh gi a
ữ ữ ầ ớ ữ ngôn ng C# v i nh ng ngôn ng khác giúp chúng ta ph n nào tr l ả ờ ượ i đ ữ c nh ng
ắ ắ th c m c.
16
ồ ệ ậ Đ môn: L p trình C Sharp
ế ứ ữ ạ ằ Ngành công ngh thông tin ủ Microsoft nói r ng C# mang đ n s c m nh c a ngôn ng C++ v i s d ớ ự ễ
ủ ữ ư ư ễ ể ớ dàng c a ngôn ng Visual Basic. Có th nó không d nh Visual Basic, nh ng v i
ả ở ượ phiên b n Visual Basic.NET (Version 7) thì ngang nhau. B i vì chúng đ c vi ế ạ t l i
ể ế ươ ớ ơ ồ ừ ộ ề ả t m t n n t ng. Chúng ta có th vi ề t nhi u ch ế ng trình v i ít mã ngu n h n n u
dùng C#.
ạ ỏ ộ ủ ư ặ ặ ạ M c dù C# lo i b m t vài các đ c tính c a C++, nh ng bù l i nó tránh
ỗ ườ ể ế ữ ề ặ ượ đ ữ c nh ng l i mà th ng g p trong ngôn ng C++. Đi u này có th ti ệ t ki m
ờ ệ ậ ấ ươ ượ đ c hàng gi hay th m chí hàng ngày trong vi c hoàn t ộ t m t ch ng trình. Chúng
ẽ ể ề ươ ủ ề ề ta s hi u nhi u v đi u này trong các ch ng c a giáo trình.
ề ả ọ ộ ỏ ồ ớ M t đi u quan tr ng khác v i C++ là mã ngu n C# không đòi h i ph i có
ấ ả ồ ượ ế ộ ớ ư ở ậ t p tin header. T t c mã ngu n đ c vi t trong khai báo m t l p.Nh đã nói bên
ớ ự ộ ệ ệ ề ộ ự trên. .NET runtime trong C# th c hi n vi c thu gom b nh t đ ng. Do đi u này
ệ ử ụ ữ ỏ ơ ỏ ọ nên vi c s d ng con tr trong C# ít quan tr ng h n trong C++. Nh ng con tr cũng
ể ượ ử ụ ẽ ượ ạ ồ có th đ ữ c s d ng trong C#, khi đó nh ng đo n mã ngu n này s đ ấ c đánh d u
là không an toàn (unsafe code).
ừ ỏ ưở ế ừ ự ư C# cũng t b ý t ng đa k th a nh trong C++. Và s khác nhau khác là
ộ ớ ư ư ộ ố ữ C# đ a thêm thu c tính vào trong m t l p gi ng nh trong Visual Basic. Và nh ng
ủ ớ ượ ấ ằ ọ ử ề ớ thành viên c a l p đ c g i duy nh t b ng toán t “.” khác v i C++ có nhi u cách
ố ọ g i trong các tình hu ng khác nhau.
ổ ế ữ ư ạ ấ ộ ố M t ngôn ng khác r t m nh và ph bi n là Java, gi ng nh C++ và C#
ẽ ọ ế ị ự ể ế ượ đ c phát tri n d a trên C. N u chúng ta quy t đ nh s h c Java sau này, chúng ta
ượ ọ ừ ề ể ượ ụ ể ố ẽ s tìm đ c nhi u cái mà h c t C# có th đ c áp d ng. Đi m gi ng nhau C# và
ả ị ị Java là c hai cùng biên d ch ra mã trung gian: C# biên d ch ra MSIL còn Java biên
ượ ự ệ ặ ằ ị ị ị d ch ra bytecode. Sau đó chúng đ c th c hi n b ng cách thông d ch ho c biên d ch
ả ươ ừ ữ ứ ề justintime trong t ng máy o t ng ng. Tuy nhiên, trong ngôn ng C# nhi u h ỗ
ợ ượ ư ứ ữ ể ị tr đ ề c đ a ra đ biên d ch mã ngôn ng trung gian sang mã máy. C# ch a nhi u
ữ ệ ơ ả ề ự ở ộ ể ể ơ ớ ữ ệ ki u d li u c b n h n Java và cũng cho phép nhi u s m r ng v i ki u d li u
ỗ ợ ể ụ ữ ị ệ ệ ể ượ giá tr . Ví d , ngôn ng C# h tr ki u li t k (enumerator), ki u này đ c gi ớ ạ i h n
ộ ậ ằ ượ ị ướ ữ ệ ể ể ế đ n m t t p h ng đ c đ nh nghĩa tr ấ c, và ki u d li u c u trúc đây là ki u d ữ
ệ ị ườ ẽ ượ ị ể li u giá tr do ng i dùng đ nh nghĩa. Chúng ta s đ ỹ ơ c tìm hi u k h n v ki u d ề ể ữ
ể ữ ệ ị ẽ ượ ệ ế ầ li u tham chi u và ki u d li u giá tr s đ c trình bày trong ph n sau.
ươ ự ư ừ ỏ ế ừ ộ ớ T ng t nh Java, C# cũng t b tính đa k th a trong m t l p, tuy nhiên
ế ừ ơ ượ ế ừ ở ộ ệ ề ở mô hình k th a đ n này đ c m r ng b i tính đa k th a nhi u giao di n.
17
ồ ậ ệ Ngành công ngh thông tin
ẩ ươ Đ môn: L p trình C Sharp ị ướ 1.3.9. Các b c chu n b cho ch ng trình
ườ ể ề ệ ầ ườ ể ả Thông th ng, trong vi c phát tri n ph n m m, ng i phát tri n ph i tuân
ủ ể ặ ầ ộ ề th theo quy trình phát tri n ph n m m m t cách nghiêm ng t và quy trình này đã
ủ ẩ ạ ể ộ ượ đ c chu n hóa. Tuy nhiên trong ph m vi c a chúng ta là tìm hi u m t ngôn ng ữ
ớ ế ươ ệ ắ ỏ ỏ ệ ự m i và vi ữ t nh ng ch ng trình nh thì không đòi h i kh t khe vi c th c hi n theo
ể ả ư ế ượ ữ ề ấ ả ầ quy trình. Nh ng đ gi i quy t đ ự c nh ng v n đ thì chúng ta cũng c n ph i th c
ệ ướ ề ầ ả ấ ầ ị ả hi n đúng theo các b c sau. Đ u tiên là ph i xác đ nh v n đ c n gi ế ế i quy t. N u
ế ề ể ấ ượ ươ ả ế không bi t rõ v n đ thì ta không th tìm đ c ph ng pháp gi i quy t. Sau khi xác
ượ ấ ể ự ế ể ệ ề ạ ị đ nh đ c v n đ , thì chúng ta có th nghĩ ra các k ho ch đ th c hi n. Sau khi có
ể ự ộ ế ế ế ạ ạ ạ ượ m t k ho ch, thì có th th c thi k ho ch này. Sau khi k ho ch đ ự c th c thi,
ể ạ ế ả ể ề ượ ấ ả ế ả chúng ta ph i ki m tra l i k t qu đ xem v n đ đ c gi ư i quy t xong ch a.
ườ ượ ụ ề Logic này th ng đ ậ ự c áp d ng trong nhi u lĩnh v c khác nhau, trong đó có l p
trình.
ạ ộ ươ ấ ứ ữ Khi t o m t ch ng trình trong C# hay b t c ngôn ng nào, chúng ta nên
ữ ướ ầ ự theo nh ng b c tu n t sau:
ủ ị ươ ể ế ươ ụ + Xác đ nh m c tiêu c a ch ụ ụ ng trình. Ví d m c tiêu đ vi t ch ng trình
ự ả ả ơ ươ ụ ử x lý văn b n đ n gi n, m c tiêu chính là xây d ng ch ạ ng trình cho phép so n
ữ ư ữ ả ỗ ự ụ ế ả th o và l u tr nh ng chu i ký t hay văn b n. N u không có m c tiêu thì không
ể ế ượ ươ ệ th vi t đ c ch ả ng trình hi u qu .
ữ ị ươ ả ề ạ ế ấ ộ ươ + Xác đ nh nh ng ph ng pháp gi i quy t v n đ . T o m t ch ng trình đ ể
ả ề ướ ế ấ ế ị ế ươ ể ế gi ứ i quy t v n đ . B c th hai là quy t đ nh đ n ph ng pháp đ vi t ch ươ ng
ướ ữ ầ ị ế ượ ử ụ trình. B c này xác đ nh nh ng thông tin nào c n thi c s d ng trong ch t đ ươ ng
ứ ượ ử ụ ữ ừ trình, các hình th c nào đ c s d ng. T nh ng thông tin này chúng ta rút ra đ ượ c
ươ ể ả ph ng pháp đ gi ề ế ấ i quy t v n đ .
ự ươ ể ế + Th c thi ch ả ng trình đ xem k t qu .
1.3.10. L p,ớ đối tư nợ g và kiểu dữ liệu (type)
ủ ậ ề ố ướ ố ượ ể ể ạ ớ Đi u c t lõi c a l p trình h ng đ i t ng là t o ra các ki u m i. Ki u là
ứ ượ ộ ư ừ ượ ộ ể ộ ả ữ ệ ể m t th đ c xem nh tr u t ng. Nó có th là m t b ng d li u, m t ti u trình,
ộ ử ổ ệ ộ ạ ượ ị hay m t nút l nh trong m t c a s . Tóm l ể i ki u đ ư ộ ạ c đ nh nghĩa nh m t d ng
ủ ử ứ ộ ừ v a có thu c tính chung (properties) và các hành vi ng x (behavior) c a nó.
ộ ứ ụ ế ệ ạ N u trong m t ng d ng trên Windows chúng ta t o ra ba nút l nh OK,
ể ệ ủ ự ể ấ ộ ệ Cancel, Help, thì th c ch t là chúng ta đang dùng ba th hi n c a m t ki u nút l nh
ớ ộ ẻ trong Windows và các nút này cùng chia x các thu c tính và hành vi chung v i nhau.
18
ồ ậ ệ Ngành công ngh thông tin
ụ ư ộ ướ ị Đ môn: L p trình C Sharp Ví d , các nút có các thu c tính nh kích th ỗ c, v trí, nhãn tên (label), tuy nhiên m i
ể ệ ủ ấ ộ ộ ế ả ố ườ thu c tính c a m t th hi n không nh t thi t ph i gi ng nhau, và th ng thì chúng
ư khác nhau, nh nút OK có nhãn là “OK”, Cancel có nhãn là “Cancel”...Ngoài ra các
ử ứ ư ứ ẽ ả ạ nút này có các hành vi ng x chung nh kh năng v , kích ho t, đáp ng các thông
ứ ừ ệ ặ ấ ệ ủ ừ ộ đi p nh n,…Tùy theo t ng ch c năng đ c bi ứ ạ t riêng c a t ng lo i thì n i dung ng
ư ấ ả ượ ư ể ộ ử x khác nhau, nh ng t t c chúng đ c xem nh là cùng m t ki u.
ữ ậ ư ề ướ ố ượ Cũng nh nhi u ngôn ng l p trình h ng đ i t ể ng khác, ki u trong C#
ể ệ ủ ừ ộ ớ ớ ị ượ ượ đ c đ nh nghĩa là m t l p (class), và các th hi n riêng c a t ng l p đ ọ c g i là
ươ ế ế ẽ ể ố ượ đ i t ng (object). Trong các ch ng k ti p s trình bày các ki u khác nhau ngoài
ư ể ể ớ ệ ề ấ ki u l p nh ki u li ể ủ t kê, c u trúc và ki u y quy n (delegates).
19
ồ ệ Ngành công ngh thông tin
ậ Đ môn: L p trình C Sharp 1.3.11. Phư nơ g th cứ
ộ ớ ấ ầ ấ ộ Hai thành ph n chính c u thành m t l p là thu c tính hay tính ch t và
ươ ử ủ ố ượ ứ ứ ọ ộ ph ng th c hay còn g i là hành đ ng ng x c a đ i t ng. Trong C# hành vi
ư ộ ươ ủ ớ ứ ượ ị đ c đ nh nghĩa nh m t ph ng th c thành viên c a l p.
ươ ứ ượ ị Ph ng th c chính là các hàm đ ớ c đ nh nghĩa trong l p. Do đó, ta còn có
ể ọ ươ ộ ớ ứ th g i các ph ng th c thành viên là các hàm thành viên trong m t l p. Các
ươ ứ ể ằ ớ ộ ỉ ượ ớ ph ng th c này ch ra r ng các hành đ ng mà l p có th làm đ c cùng v i cách
ứ ườ ủ ươ ườ ượ ặ ộ th c làm hành đ ng đó. Thông th ng, tên c a ph ứ ng th c th ng đ c đ t theo
ụ ư ộ tên hành đ ng, ví d nh DrawLine() hay GetString().
ươ ự ầ ọ Khi ch ầ ng trình th c thi, CLR g i hàm Main() đ u tiên, hàm Main() là đ u
ươ ỗ ươ ả ộ ủ vào c a ch ng trình, và m i ch ng trình ph i có m t hàm Main(). Đôi khi
ươ ỉ ẫ ư ề ả ị ch ng trình có nhi u hàm Main() nh ng lúc này ta ph i xác đ nh các ch d n biên
ế ấ ươ ể ị d ch đ CLR bi ầ t đâu là hàm Main() đ u vào duy nh t trong ch ng trình.
ệ ươ ứ ượ ộ ự ư ướ Vi c khai báo ph ng th c đ c xem nh là m t s giao ữ c gi a ng ườ i
ườ ử ụ ườ ự ể ớ ớ ạ t o ra l p và ng ớ i s d ng l p này. Ng i xây d ng các l p cũng có th là ng ườ i
ư ậ ư ể ớ ớ ượ dùng l p đó, nh ng không hoàn toàn nh v y. Vì có th các l p này đ ự c xây d ng
ư ệ ể ậ ấ ẩ ệ thành các th vi n chu n và cung c p cho các nhóm phát tri n khác…Do v y vi c
ấ ầ ủ ắ ế tuân th theo các qui t c lá r t c n thi t.
ể ộ ươ ị ả ề ứ ể ả ị Đ khai báo m t ph ng th c, ph i xác đ nh ki u giá tr tr ủ v , tên c a
ươ ố ầ ứ ố ế ươ ự ứ ệ ph ng th c, và cu i cùng là các tham s c n thi t cho ph ng th c th c hi n.
1.3.12. Chú thích
ươ ượ ạ ầ ả ộ M t ch ng trình đ c vi ế ố t t t thì c n ph i có chú thích các đo n mã đ ượ c
ế ẽ ạ ượ ị vi t. Các đo n chú thích này s không đ c biên d ch và cũng không tham gia vào
ươ ễ ể ụ ạ ồ ch ng trình. M c đích chính là làm cho đo n mã ngu n rõ ràng và d hi u.
1.3.13. Ứng d nụ g Console
Ứ ụ ế ớ ườ ng d ng này giao ti p v i ng i dùng thông quan bàn phím và không có
ệ ườ ư ụ ứ ố ườ ấ giao di n ng i dùng (UI), gi ng nh các ng d ng th ng th y trong Windows.
ươ ứ ự ụ Trong các ch ng xây d ng các ng d ng nâng cao trên Windows hay Web thì ta
ồ ọ ữ ề ể ệ ể ầ ớ m i dùng các các giao di n đ h a. Còn đ tìm hi u v ngôn ng C# thu n tuý thì
ố ấ ế ứ cách t t nh t là ta vi ụ t các ng d ng console.
ụ ứ ả ươ ứ ơ Trong hai ng d ng đ n gi n trên ta đã dùng ph ủ ng th c WriteLine() c a
ươ ứ ệ ẽ ấ ớ l p Console. Ph ng th c này s xu t ra màn hình dòng l nh hay màn hình DOS
ố ư ỗ chu i tham s đ a vào.
20
ồ ậ ệ Ngành công ngh thông tin
Đ môn: L p trình C Sharp 1.3.14. 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 l p 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 d ch vì C# ch cho phép m t tên duy nh t.
ủ ớ ừ ể ắ ằ ả ổ ắ Ch c ch n r ng khi đó chúng ta ph i đ 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.
ả ể ả ề ế ấ ạ ộ 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 nghĩa.
1.3.15. Từ khóa using
ể ươ ả ầ ọ ơ ế ừ Đ làm cho ch ng trình g n h n, và không c n ph i vi t t ng namespace
ố ượ ừ ấ ừ ừ cho t ng đ i t ng, C# cung c p t khóa là using, sau t ộ khóa này là m t namespace
ớ ả ầ ủ ấ ủ ể ấ hay subnamespace v i mô t đ y đ trong c u trúc phân c p c a nó. Ta có th dùng
ở ầ ươ ươ dòng l nh:ệ đ u ch ng trình và khi đó trong ch ế ng trình n u "using System"
ố ượ ả ầ ế ầ chúng ta có dùng đ i t ng Console thì không c n ph i vi ủ t đ y đ :
ỉ ầ t System.Console. mà ch c n vi ế Console..
ử ụ ằ ặ ị ỉ M c dù chúng ta ch đ nh r ng chúng ta s d ng namespace System, và
ử ụ ư ữ ể ằ ố ị ỉ ố không gi ng nh các ngôn ng khác, không th ch đ nh r ng chúng ta s d ng đ i
ượ t ng System.Console.
ễ ề ể ể ả Cách bi u di n namespace có th làm gi m nhi u thao tác gõ bàn phím,
ư ể ở ộ ể ẽ nh ng nó có th s không đem l ạ ợ i l ữ i ích nào b i vì nó có th làm xáo tr n nh ng
ả ử ụ ừ namespace có tên không khác nhau. Gi i pháp chung là chúng ta s d ng t khóa
ớ ượ ự ẵ ạ using v i các namespace đã đ c xây d ng s n, các namespace do chúng ta t o ra,
ắ ư ố ớ ữ ệ ề ắ nh ng namespace này chúng ta đã n m ch c s u li u v nó. Còn đ i v i namespace
ứ ấ ừ do các hãng th ba cung c p thì chúng ta không nên dùng t khóa using.
21
ồ ậ ệ Ngành công ngh thông tin
Đ môn: L p trình C Sharp 1.3.16. Phân bi tệ chữ thường và chữ hoa
ư ữ ố ệ ữ ườ ữ ớ Cũng gi ng nh C/C++, C# là ngôn ng phân bi t ch th ng v i ch hoa,
ề ệ ằ ớ đi u này có nghĩa r ng hai câu l nh writeLine thì khác v i WriteLine và cũng khác
ớ v i WRITELINE.
ư ế ố ườ ẽ ể Đáng ti c là C# không gi ng nh VB, môi tr ng phát tri n C# s không t ự
ỗ ế ế ữ ớ ử s a các l i này, n u chúng ta vi ể ư t hai ch v i cách khác nhau thì chúng ta có th đ a
ươ ỡ ố ỗ vào ch ng trình g r i tìm ra các l i này.
ứ ệ ể ờ ườ ộ ố Đ trách vi c lãnh phí th i gian và công s c, ng ể i ta phát tri n m t s qui
ướ ữ ế ề ặ ằ ị ướ c cho cách đ t tên bi n, h ng, hàm, và nhi u đ nh danh khác n a. Qui c trong
ế ạ giáo trình này dùng cú pháp l c đà (camel notation) cho tên bi n và cú pháp Pascal
ằ ộ cho hàm, h ng, và thu c tính.
1.3.17. Từ khóa static
ụ ề ơ ộ ọ Hàm Main() trong ví d minh h a trên có nhi u h n m t cách thi ế ế t k .
ọ ượ ứ ể ớ Trong minh h a này hàm Main() đ ả ề c khai báo v i ki u tr v là void, t c là hàm
ả ề ấ ứ ể ầ ả ị ươ này không tr v b t c giá tr nào c . Đôi khi c n ki m tra ch ự ng trình có th c
ệ ườ ậ ả ề ộ ể hi n đúng hay không, ng i l p trình có th khai báo hàm Main() tr v m t giá tr ị
ệ ủ ả ự ể ị ươ ế nào đó đ xác đ nh k t qu th c hi n c a ch ng trình.
ủ ụ ừ Trong khai báo c a ví d trên có dùng t khóa static:
static void Main()
{
.......
}
ể ượ ọ ừ ầ ỉ ằ T khóa này ch ra r ng hàm Main() có th đ ả ạ c g i mà không c n ph i t o
ữ ế ấ ớ ươ ố ượ đ i t ề ng ChaoMung. Nh ng v n đ liên quan đ n khai báo l p, ph ứ ng th c, hay
ẽ ượ ộ ế ươ thu c tính s đ c trình bày chi ti t trong các ch ế ng ti p theo.
22
ồ ệ Đ môn: L p trình C Sharp
Ế
Ngành công ngh thông tin Ế Ệ Ố
ớ ạ ọ ư ệ ườ ỏ ậ CH i thi u v 2.1.Gi
NGƯƠ 2. PHÂN TÍCH, THI T K H TH NG ệ ề th vi n tr ng đ i h c Sao Đ
ỏ ượ ể ng đ i h c Sao Đ là n i không th thi u đ
ậ ộ ượ ơ ớ
ặ ầ
ể ả ế ượ ứ ể ớ
ệ ấ ầ ể ấ ế ố ượ ườ ầ ỗ ế c cho m i sinh ể ọ ư ệ ng l n sinh viên ra vào th vi n đ đ c, ế ả t là đ đ m b o ki n ứ t, đ đáp ng ề ạ ng sách đáng k r t phong phú v lo i
ư ệ ư ố ượ ườ ạ ọ ư ệ Th vi n tr ở ườ ủ đó t p trung m t l viên c a tr ng, ọ ậ ả m n và tr sách. Nhu c u h c t p ngày càng cao đ c bi ệ th c có tính logic và chính xác thì vi c tìm đ n v i sách là r t c n thi nhu c u đó thì th vi n tr ng đã tăng s l ng. sách cũng nh s l
ả ủ ệ ố ạ 2.1.1. Mô t ph m vi c a h th ng
ươ ả ả ầ ệ ố H th ng ch ả ng trình ph i đ m b o các yêu c u sau:
ứ ủ ể ả ờ ườ i. Gi m thi u công s c, th i gian c a con ng
ế ệ ả ậ Truy c p tìm ki m nhanh chóng, hi u qu , chính xác.
ậ . L p báo cáo nhanh chóng
ụ ả * M c tiêu qu n lý
ượ c thông tin ọ đ c gi ả . Theo dõi đ
Theo dõi đ ượ ố sách. c s
Theo dõi đ c ượ thông tin sách.
ế ộ ố Tính đ c ượ s phi u đ c gi ả.
ủ ệ ố ầ * Đ u vào c a h th ng
Thông tin th thủ ư.
ả. Thông tin đ c giộ
Thông tin sách.
ủ ệ ố ầ * Đ u ra c a h th ng
ộ ả Danh sách đ c gi
Danh sách sách
23
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ủ ư ộ ả . Môi tr ngườ : th th , đ c gi
ầ : Đ u vào : Đ u raầ Thông tin
Ộ
Ả
QU N LÍ Đ C
GIẢ
Báo cáo ả ộ đ c gi , ề v thông sách. tin m n ượ
sách.
Ả
QU N LÍ SÁCH
ừ ư ả T đó có mô hình qu n lí nh sau
ả ư ệ Hình 2.1. Mô hình qu n lí th vi n
ầ ủ ệ ố ị 2.2. Xác đ nh yêu c u c a h th ng
̀ ́ ̃ ́ ̀ ̀ ́ ự ư ự ̉ ̉ ̣ ̀ Phai năm ro nhu câu cân xây d ng cua hê thông, t ̀ cac nhu câu cân xây d ng
̀ ̀ ́ ư ̣ ̣ ự ̉ ̣ ma cân phai thu thâp cac t ́ ̀ liêu cân thiêt t ̀ ́ ́ ư ơ n i thiêt lâp d an.
́ ́ ́ ̀ ự ̣ ̉ ̣ Cac công cu cân thiêt đê xây d ng hê thông: SQL Server 2008, Visual Studio
2012, Rational Rose, Microsoft Word 2013.
́ ̀ ́ ́ ư Kiên th c cân co:
̃ ́ ̀ ̀ ̃ ư ̣ ư + Năm v ng vê ngôn ng lâp trinh Visual Studio 2012.
́ ́ ́ ̃ ̀ ơ ở ư ̣ + Phân tich chinh xac c s d liêu băng SQL Server 2008.
́ ́ ́ ̀ ̃ ̀ ̀ ̀ ́ ́
́ + Thiêt kê cac mô hinh băng Rational Rose va phân tich ro rang, chinh xac ̀ băng Microsoft Word 2013.
ả ủ ệ ố ứ 2.3 Mô t các ch c năng c a h th ng
̀ ́ ệ ố ả ́ư H th ng qu n lý th vi n ư ệ bao gôm cac ch c năng sau:
ứ ả * Ch c năng qu n lý sách :
́ ́ ̉ sách nh : Ma ̃ ̀ ư Quan ly thông tin chi tiêt vê sách, tên sách, ngay ̀ nh pậ , nhà
ấ ả ấ ả xu t b n, năm xu t b n, ...
24
ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ậ ứ ẻ ượ : ả * Ch c năng qu n lý th m n
́ ề ẻ ượ ộ ả ạ ̉ ́ v th m n đ c gi Quan ly thông tin chi tiêt ả , h n tr .
ứ ậ : ả * Ch c năng qu n lý đăng nh p
̉ ̣ ̣ Quan ly ́ th thủ ư đăng nhâp hê thông.́
́ ̀ ́ ̀ ̀ ́ ư ươ ư ư Phân quyên khai thac ch c năng ch ̀ ng trinh cho t ng nhom, t ng ng ̀ ươ ử i s
̣ dung.
ứ ố * Ch c năng th ng kê báo cáo :
́ ́ ́ ̀ ́ ́ ̀ ́ ́ ̣ ơ ư ́ ư Ch c năng thông kê bao cao va tra c u linh hoat v i nhiêu tiêu chi khac nhau.
ơ ồ 2.4. S đ USECASE
ủ ệ ố ư ự ể ầ ồ ổ D a trên các yêu c u nh trên, bi u đ use case t ng quát c a h th ng đ ượ c
He_thong T VDHSD
Cap Nhat
Dang Nhap
T hu thu
Quan l y muon-tra sach
T i m Kiem
Si nh Vien
T hong ke
ể ễ bi u di n trong Hình 2.2.
ủ ệ ố ể ổ ồ Hình 2.2. Bi u đ use case t ng quát c a h th ng
ả ậ 2.4.1. Qu n lí truy c p
25
<
Dang Nhap
Thu thu
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ể ậ ả ồ Hình 2.3. Bi u đ use case qu n lí đăng nh p
Scenario Ý nghĩa
ử ụ Tên ca s d ng Đăng Nh pậ
Tác Nhân Th thủ ư
ủ ư ệ ố ậ Mô t ả ể ử ụ Th th đăng nh p vào h th ng đ s d ng
ứ các ch c năng
ự ệ ủ ư ọ ậ ạ S ki n kích ho t ứ Th th ch n ch c năng đăng nh p
ệ ề ủ ư ả ế Đi u ki n kiên quy t Th th đã có tài kho n
ậ ứ Th th ch n ch c năng đăng nh p ươ ứ ơ ả Ph ng th c c b n ậ
1. ả ề 2. H th ng tr v form đăng nh p 3.
ậ
ủ ư ậ ả ồ ế 4. H th ng xác nh n Th th và ph n h i k t
ủ ư ọ ệ ố ủ ư ề ậ Th th đi n thông tin vào form đăng nh p, ấ nh n đăng nh p ệ ố ả ủ ư qu cho Th th
ươ ứ ế Ph ng th c thay th
ủ ư ượ ậ ả Th th đ c xác nh n K t quế
Ngo i Lạ ệ
ấ ử ụ ầ ườ T n su t s d ng ấ R t th ng xuyên
ả ả ậ ả ị B ng 2.1. B ng k ch b n đăng nh p
<
Thu thu
Dang xuat
ả ấ 2.4.1.1. Qu n lí đăng xu t
ể ả ồ ấ Hình 2.4.Bi u đ use case qu n lí đăng xu t
26
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Scenario Ý nghĩa
ử ụ Tên ca s d ng Đăng Xu tấ
ư Tác Nhân Th Thủ
ệ ố ư ủ ậ Mô t ả ố Th Th sau khi đăng nh p vào h th ng mu n
ỏ ệ ố thoát ra kh i h th ng.
ự ệ ư ọ ủ ấ ạ S ki n kích ho t ứ Th Th ch n ch c năng đăng xu t
ề ệ ư ả ủ ậ ế Đi u ki n kiên quy t Th Th ph i đăng nh p.
ấ ứ Th Th ch n ch c năng đăng xu t ươ ứ ơ ả Ph ng th c c b n ủ ệ ố ả ề ư ọ 1. ủ 2. H th ng tr v trang ch .
ươ ứ ế Ph ng th c thay th
ả ỏ ệ ố ư ủ K t quế ấ Th Th đăng xu t kh i h th ng.
ư ắ ệ ố ủ Ngo i Lạ ệ Th Th t t h th ng.
ấ ử ụ ầ ườ T n su t s d ng ấ R t th ng xuyên
ả ả ị ấ B ng 2.2. K ch b n đăng xu t
2.4.2 Tìm ki mế
27
<
Tim kiem theo ten sach
<
Tim Kiem
Sinh Vien
Tim kiem theo Khoa
<
Tim kiem theo ten sach
<
Tim Kiem
Thu thu
Tim kiem theo Khoa
<
Tim kiem ma sinh vien
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ế ể ả ồ Hình 2.3. Bi u đ use case qu n lí tìm ki m
2.4.2.1.Tìm sách theo tên
Scenario Ý nghĩa
ử ụ Tên ca s d ng Tìm sách theo tên
Tác Nhân Th thủ ư
ủ ư ệ ố ậ Mô t ả ố Th th sau khi đăng nh p vào h th ng mu n
ơ ở ữ ệ ế tìm ki m sách trong c s d li u.
ự ệ ủ ư ọ ứ ế ừ ạ S ki n kích ho t Th th ch n ch c năng tìm ki m theo t khóa
ề ệ ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p.
ế ừ ươ ứ ơ ả Ph ng th c c b n ả ề khóa ế v form tìm ki m theo t ừ
ủ ư ọ 1. Th th ch n tìm ki m theo t ố ệ 2. H th ng tr khóa
ủ ư ậ ừ ệ ố ế ế ả 3. Th th nh p t khóa và tìm ki m. ả ề ế 4. H th ng tr v k t qu tìm ki m.
28
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ươ ứ ế Ph ng th c thay th
ả ữ ệ ế ừ K t quế Các d li u liên quan đ n t ủ khóa c a Th th ủ ư
ố mu n tìm.
Ngo i Lạ ệ
ấ ử ụ ầ ườ T n su t s d ng ấ R t th ng xuyên
ả ị ả B ng 2.3. K ch b n tìm sách theo tên
2.4.2.2. Tìm sách theo khoa
Scenario Ý nghĩa
ử ụ Tên ca s d ng Tìm sách theo khoa
Tác Nhân Th thủ ư
ườ ệ ậ Mô t ả Ng ố i dùng sau khi đăng nh p vào h th ng
ơ ở ữ ệ ế ố mu n tìm ki m sách trong c s d li u.
ự ệ ườ ứ ế ọ ạ S ki n kích ho t Ng i dùng ch n ch c năng tìm ki m theo khoa
ề ệ ườ ả ậ ế Đi u ki n kiên quy t Ng i dùng ph i đăng nh p.
ế i dùng ch n tìm ki m theo khoa ươ ứ ơ ả Ph ng th c c b n ọ ả ề
ế ế khóa và tìm ki m.
ườ ệ ố ườ ệ ố ế ả 1. Ng 2. H th ng tr v form tìm ki m theo khoa ậ ừ 3. Ng i dùng nh p t ả ề ế 4. H th ng tr v k t qu tìm ki m.
ươ ứ ế Ph ng th c thay th
ả ữ ệ ế ừ ủ K t quế Các d li u liên quan đ n t khóa c a ng ườ ử i s
ố ụ d ng mu n tìm.
Ngo i Lạ ệ
ấ ử ụ ầ ườ T n su t s d ng ấ R t th ng xuyên
ả ả ị B ng 2.4. K ch b n tìm sách theo khoa
ế 2.4.2.3.Tìm ki m sinh viên
Scenario Ý nghĩa
ử ụ ế Tên ca s d ng Tìm ki m sinh viên
Tác Nhân Th thủ ư
ượ ả Mô t ả ư ệ Khi sinh viên m n tr sách, nhân viên th vi n
ệ ậ ố ượ ể ự mu n tìm sinh viên đ th c hi n ghi nh n m n
tr .ả
29
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ự ệ ư ệ ứ ế ọ ạ S ki n kích ho t Nhân viên th vi n ch n ch c năng tìm ki m mã
sinh viên
ề ệ ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p.
ế ươ ứ ơ ả Ph ng th c c b n v form tìm ki m theo mã
ủ ư ọ 1. Th th ch n tìm ki m sinh viên ế ả ề ệ ố 2. H th ng tr sinh viên
ủ ư ậ ệ ố ế ả ố 3. Th th nh p mã s sinh viên. ả ề ế 4. H th ng tr v k t qu tìm ki m.
ươ ứ ế Ph ng th c thay th
ượ ủ ả ả Thông tin m n tr sách c a sinh viên. K t quế
Ngo i Lạ ệ
ấ ử ụ ầ ườ T n su t s d ng ấ R t th ng xuyên
ế ả ả ị B ng 2.5. K ch b n tìm ki m sinh viên
30
ồ ậ ệ Ngành công ngh thông tin
<
Cap nhat sach
<
Cap Nhat
Cap nhat SV
<
Cap nhat the loai
ậ ả Đ môn: L p trình C Sharp ậ 2.4.3.Qu n lí C p nh t
<
Them sach
<
Cap nhat sach
<
Sua thong tin sach
Xoa sach
ể ậ ồ ậ Hình 2.5.Bi u đ use case c p nh t
<
<
Cap Nhat
Sua thong tin SV
Cap nhat SV
ể ậ ậ ồ Hình 2.6.Bi u đ use case c p nh t sách
ể ậ ậ ồ Hình 2.7. Bi u đ use case c p nh t sinh viên
ậ ậ ả 2.4.3.1.Qu n lí c p nh t sách
Scenario Ý nghĩa
ử ụ ả ậ Tên ca s d ng ậ Qu n lí c p nh t sách
Tác Nhân Th thủ ư
ổ ề ư ớ Mô t ả Khi có thay đ i v sách nh thêm sách m i, xóa
ử ệ ư sách không có trong th vi n, s a thông tin v ề
ủ ư ẽ sách, Th th s dùng usecase này
ự ệ ủ ư ả ạ S ki n kích ho t Th th vào qu n lí sách.
ệ ề ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p
31
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Scenario Ý nghĩa
ủ ư ọ ứ ộ 1. Th th ch n m t trong các ch c năng thêm ươ ứ ơ ả Ph ng th c c b n
sách, xóa sách, thay đ i sách. ả ệ ố ậ ổ ậ ế 2. H th ng c p nh t k t qu vào c s d ơ ở ữ
li u.ệ
ươ ứ ế Ph ng th c thay th
ả ượ ậ K t quế Thông tin sách đ ậ c c p nh t
Ngo i Lạ ệ
ấ ử ụ ầ T n su t s d ng Ít khi dùng
ả ả ậ ậ ả ị B ng 2.6. K ch b n qu n lý c p nh t sách
<
Them the loai
<
Cap nhat the loai
Sua the loai
<
Xoa the loai
ả ậ ể ạ ậ 2.4.3.2.Qu n lí c p nh t th lo i
ể ậ ậ ồ ể ạ Hình 2.8. Bi u đ use case c p nh t th lo i
Scenario Ý nghĩa
ử ụ ể ạ ậ ậ Tên ca s d ng C p nh t th lo i
Tác Nhân Th thủ ư
ổ ề ể ạ ư Mô t ả ể ạ Khi có thay đ i v th lo i sách nh thêm th lo i
ể ạ ớ ư ệ sách m i, xóa th lo i sách không có trong th vi n,
ủ ư ẽ ề ể ạ ử s a thông tin v th lo i sách, Th th s dùng
usecase này
ự ệ ủ ư ả ể ạ ạ S ki n kích ho t Th th qu n lý th lo i sách
32
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Scenario Ý nghĩa
ệ ề ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p
ứ ộ 1. Th th ch n m t trong các ch c năng thêm, ươ ứ ơ ả Ph ng th c c b n
ộ ườ ể ạ ớ ng th lo i m i trong
ọ ủ ư ể ạ ử xóa, s a th lo i sách. ệ ố ạ 2. H th ng t o m t tr ơ ở ữ ệ c s d li u.
ươ ứ ế Ph ng th c thay th
ả ể ạ K t quế ư ệ Thêm th lo i sách trong th vi n
Ngo i Lạ ệ
ấ ử ụ ầ T n su t s d ng Ít khi dùng
ể ạ ậ ả ậ ả ả ị B ng 2.7.K ch b n qu n lý c p nh t th lo i sách
ượ ả ả 2.4.4. Qu n lí m n tr sách
<
<
Quan ly muon-tra sach
Xu ly yeu cau muon
Lap phieu muon
ượ ả 2.4.4.1.Qu n lí m n sách
ượ ể ồ Hình 2.9. Bi u đ use case m n sách
Scenario Ý nghĩa
ử ụ Tên ca s d ng ượ Cho m n sách
Tác Nhân Th thủ ư
ủ ư ự ượ ế Mô t ả ệ Khi sinh viên đ n m n sách, Th th th c hi n
ượ ậ ậ c p nh t thông tin sách mà sinh viên đã m n.
ự ệ ủ ư ượ ế ậ ạ S ki n kích ho t ế Sinh viên đ n m n sách và Th th nh n phi u
ượ ủ m n sách c a sinh viên.
ề ệ ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p
ố ệ 1. Nhân viên nh p s hi u sinh viên, mã sách ươ ứ ơ ả Ph ng th c c b n ậ sinh viên m nượ
ệ ố ư 2. H th ng l u thông tin này vào c s d ơ ở ữ
li uệ
ươ ứ ế Ph ng th c thay th
ả ượ ượ ư K t quế Thông tin sách mà sinh viên m n đ c l u.
33
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Scenario Ý nghĩa
Ngo i Lạ ệ
ấ ử ụ ầ ử ụ ấ T n su t s d ng R t hay s d ng
ượ ả ả ả ị B ng 2.8. K ch b n qu n lý m n sách
<
<
Xu ly yeu cau tra
Quan ly muon-tra sach
Cap nhat phieu muon
ả ả 2.4.4.2.Qu n lý tr sách
ể ả ồ Hình 2.10. Bi u đ use case tr sách
Scenario Ý nghĩa
ử ụ ậ ả Tên ca s d ng Nh n tr sách
Tác Nhân Th thủ ư
ủ ư ậ ạ ế Mô t ả ả Khi sinh viên đ n tr sách, Th th nh n l i sách
ư và l u thông tin.
ự ệ ủ ư ậ ế ả ạ S ki n kích ho t Sinh viên đ n tr sách, Th th nh n sách.
ề ệ ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p
ủ ư ệ ậ ố 1. Th th nh p s hi u sinh viên, mã sách ươ ứ ơ ả Ph ng th c c b n sinh viên m nượ
ệ ố ề ể 2. H th ng ki m tra và xóa thông tin v sách
ả ủ đã tr c a sinh viên
ươ ứ ế Ph ng th c thay th
ả ớ ượ ư ạ K t quế Thông tin m i đ c l u l i
Ngo i Lạ ệ
ấ ử ụ ầ ử ụ ấ T n su t s d ng R t hay s d ng
ả ả ả ị ả B ng 2.9. K ch b n qu n lý tr sách
34
ồ ậ ệ Ngành công ngh thông tin
Thong ke theo khoa
<
<
Thong ke theo lop
<
Thong ke
Thong ke so lan vao - thoi gian
<
Thong ke SV dang o trong thu vien
ố ả Đ môn: L p trình C Sharp 2.4.5.Qu n lí th ng kê
ể ả ố ồ Hình 2.11. Bi u đ use case qu n lí th ng kê
Scenario Ý nghĩa
ử ụ ả ố Tên ca s d ng Qu n lí th ng kê
Tác Nhân Th thủ ư
ủ ư ạ ộ ắ ề ắ ố Mô t ả ủ Th th mu n n m b t v tình hình ho t đ ng c a
ư th viên
ự ệ ủ ư ậ ạ S ki n kích ho t Th th l p báo cáo
ệ ề ủ ư ả ậ ế Đi u ki n kiên quy t Th th ph i đăng nh p
ậ ạ ươ ứ ơ ả Ph ng th c c b n ầ ậ ế ọ ệ ố ể ả 1. Ch n lo i báo cáo c n l p và l p báo cáo ị 2. H th ng hi n th ra k t qu báo cáo.
ươ ứ ế Ph ng th c thay th
ả ề K t quế Thông tin v báo cáo.
Ngo i Lạ ệ
ấ ử ụ ầ ườ T n su t s d ng Bình th ng.
ả ả ố ị ả B ng 2.10.K ch b n qu n lý th ng kê
35
ồ ệ Ngành công ngh thông tin
Nguoi
Thuthu
Sinh vien
ten : string diachi : string ngaysing : date
mathuthu : string password : string vaitro : string
MaSV : string lop : string khoa : string
getten() getdiachi() getngaysinh()
getvaitro() xacthucthuthu() thaydoipassword()
+1
xacthucSV() CapnhatSV() getmaSV()
+1
+1
+1..n
+1...n
Sach
TheMuon
+1..n
mathemuon : string MaSV : string Ngaymuon : date Ngaytra_dukien : date Masach Ngaytra_thucte : Date tinhtranghienthoi : String
+1..n
+1
masach : string tensach : string tacgia : string nhaXB : string namXB : int sotrang : int soluong : int mota : memotext ngaytao : date ngaycapnhat : date
getthemuon() getSV() capnhatthemuon() xoathemuon() getsachmuontheoten() getsachmuontheongay() themthemuon() muonsach() trasach()
gettensach() getmasch() timkiem() themsach() capnhatsach() xoasach() getsachmuontheomuc() getsachmuontheongay()
ậ ự Đ môn: L p trình C Sharp ể ồ ớ 2.5.Xây d ng bi u đ l p phân tích
ủ ệ ố ồ ớ ể Hình 2.12.Bi u đ l p phân tích c a h th ng
ể ồ ạ 2.6. Bi u đ tr ng thái
ẻ ượ ể ầ ớ ươ ứ ồ ạ Ph n này trình bày hai bi u đ tr ng thái cho l p Th m n (t ớ ng ng v i
ượ ứ ả hai ch c năng m n sách và tr sách).
36
Khoi tao
Xoa sach-huy sach
Khong co sach
Muon- khong du sach de muon
Kiem tra sach
Muon-du sach de muon
Cho - trong mot khoang t...
Du sach
Het thoi gian cho
Da co sach
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Nhap thong tin tra sach
Co sach- Dang muon
nhan tra sach
Khong co sach
ẻ ượ ồ ạ ượ ứ ể ớ Hình 2.13.Bi u đ tr ng thái l p th m n – Ch c năng m n sách
ẻ ượ ồ ạ ứ ể ả ớ Hình 2.14.Bi u đ tr ng thái l p th m n – Ch c năng tr sách
ể ồ ầ ự 2.7 Các bi u đ tu n t
ư ệ ệ ố ồ ươ ự ể ả ọ Trong h th ng qu n lý th vi n, chúng ta l a ch n bi u đ t ạ ng tác d ng
ầ ự ể ể ễ ươ ố ượ ể tu n t đ bi u di n các t ữ ng tác gi a các đ i t ị ng. Đ xác đ nh rõ các thành
ồ ầ ự ủ ệ ố ầ ầ ồ ớ ể ể ổ ỗ ph n c n b sung trong bi u đ l p, trong m i bi u đ tu n t ả c a h th ng qu n
ư ệ ẽ ự ệ lý th vi n s th c hi n:
ị ủ ể ố ượ ươ ng tham gia trong t ệ ụ ng tác (ví d giao di n,
ự ề ể ể (cid:0) Xác đ nh rõ ki u c a đ i t đi u khi n hay th c th ).
ỗ ể ệ ấ ươ ộ ớ có th có ít nh t m t l p giao di n (Form) t ứ ng ng
(cid:0) M i bi u đ tu n t ồ ầ ự ể ứ ể ồ ả ớ v i ch c năng (use case) mà bi u đ đó mô t
ỗ ố ượ ể ề ế ặ ộ (cid:0) M i bi u đ tu n t ồ ầ ự ể có th liên quan đ n m t ho c nhi u đ i t ự ng th c
th .ể
37
ồ Ngành công ngh thông tin
ố ượ ự ủ ớ ậ Đ môn: L p trình C Sharp ể ố ượ Các đ i t ng th c th chính là các đ i t ng c a các l p đã đ ệ ự ượ c xây d ng
ồ ế ế ế ể trong bi u đ thi t k chi ti t.
: DK dang nhap : DK dang nhap
: From Dang nhap : From Dang nhap
: thuthu : thuthu
: Thu thu : Thu thu
1: nhap user va password
2: Kiem tra user
3: Kiem tra
4: Xac thuc thanh cong
5: Xac thuc thanh cong
6: Thong bao dang nhap thanh cong
7: Chon thay doi password
8: Hien chuc nang doi password
9: nhap va xac nhan password moi
10: Thay doi password
11: thay doi password 12: xac nhan thanh cong
13: xac nhan thanh cong
14: Thong bao thay doi thanh cong
ể ồ ầ ự ứ ậ 2.7.1 Bi u đ tu n t cho ch c năng Đăng nh p
ồ ầ ự ứ ậ ể Hình 2.15. Bi u đ tu n t cho ch c năng Đăng nh p
38
ồ ậ ệ Ngành công ngh thông tin
: Sinh Vien : Sinh Vien
: DK Tim Kiem : DK Tim Kiem
: From Tim Kiem : From Tim Kiem
: sach : sach
Hien thi ket qua tim kiem : Hien thi ket qua tim kiem : From ket qua TK From ket qua TK
1: Chon chuc nang tim kiem
2: Hien chuc nang tim kiem
3: Nhap DK tim kiem
4: Yeu cau tim kiem
5: Xy ly khoa tim kiem
6: Tao cau truy van SQL
7: Thuc hien tim kiem
8: Tra ve ket qua tim kiem
9: Thong bao ket qua
10: Hien thi ket qua tim kiem
11: Hien thi ket qua tim kiem
ể ồ ầ ự ứ ế Đ môn: L p trình C Sharp 2.7.2 Bi u đ tu n t cho ch c năng tìm ki m
ồ ầ ự ứ ế ể Hình 2.16. Bi u đ tu n t cho ch c năng tim ki m
39
ồ ậ ệ Ngành công ngh thông tin
: Sinh Vien : Sinh Vien
: sinhvien : sinhvien
: sach : sach
: From muon sach : From muon sach
: Thu thu : Thu thu
: DK muon sach : DK muon sach
1: thong tin yeu cau muon
: : themuon themuon
2: mo from muon sach
3: Nhap TT muon sach - sinh vien
4: xac thuc SV
5: Xac thuc SV
6: Xac thuc thanh cong
7: xac thuc TT sach
8: Xac thuc TT sach
9: Xac nhan con sach trong thu vien
10: Xac nhan con sach trong thu vien
11: Tao the muon moi
12: Tao the muon moi
13: Hien thi the muon
14: Tra the muon
15: Tra the muon va sach
ể ồ ầ ự ượ ứ ả Đ môn: L p trình C Sharp 2.7.3 Bi u đ tu n t cho ch c năng qu n lí m n sách
ồ ầ ự ượ ứ ả ể Hình 2.17. Bi u đ tu n t cho ch c năng qu n lí m n sách
40
ồ ậ ệ Ngành công ngh thông tin
: Thu thu : Thu thu
: DK muon sach : DK muon sach
: From tra sach : From tra sach
: sinhvien : sinhvien
: themuon : themuon
: Sinh Vien : Sinh Vien
1: TT the muon
2: Nhap thong tin
3: yeu cau xac nhan TT
4: Xac nhan SV
5: Xac nhan thanh cong
6: Xac nhan TT the muon
7: Xac nhan dung
8: Xac nhan dung
9: Xac nhan dung
10: Yeu cau tra sâch
11: Xac nhan da tra sach
12: Cap nhat TT da tra sach
ể ồ ầ ự ứ ả ả Đ môn: L p trình C Sharp 2.7.4 Bi u đ tu n t cho ch c năng qu n lí tr sách
ồ ầ ự ứ ả ả ể Hình 2.18. Bi u đ tu n t cho ch c năng qu n lí tr sách
41
ồ ậ ệ Ngành công ngh thông tin
: Thu thu : Thu thu
: From thong ke : From thong ke
: themuon : FRom ket qua thong ke : themuon
: sinhvien : sinhvien
: DK thong ke : FRom ket qua thong ke : DK thong ke
1: Chon thong ke
2: hien thi danh muc chuc nang thong ke
3: Chon thong ke theo dk
4: Yeu cau thong TT ke theo DK
5: Truy van thong tin muon
6: hien thi danh muc the muon
7: thong bao ke qua
8: Chon thong ke theo DK
9: Yeu cau thong ke
10: Truy van thong tin theo DK
11: Yeu cau hien thi theo DK
12: Hien thi danh sach
13: Thong bao ket qua
ể ồ ầ ự ứ ố ả Đ môn: L p trình C Sharp 2.7.5 Bi u đ tu n t cho ch c năng qu n lí th ng kê
ồ ầ ự ể Hình 2.19. Bi u đ tu n t ứ cho ch c năng
ế ế ơ ở ữ ệ 2.8. Thi t k c s d li u
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
TenTK Tên tài kho nả Nvarchar PK 50
ậ ẩ MK M t kh u Nvarchar 50
Quyen Quy nề Nvarchar 50
ả B ng 2.1 1. B ng ả tài kho nả
42
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ể ữ Ki u d Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
MaTT Mã th thủ ư 20 PK Nchar
TenTT Tên th thủ ư 50 Nvarchar
ớ ủ ư GioitinhTT Gi i tính th th 3 Nvarchar
NgaysinhTT Ngày sinh date
ỉ DiachiTT ị Đ a ch Nvarchar 100
ẹ ố ệ Di nthoaiTT ạ S đi n tho i Text
Email email Nvarchar 50
ủ ư ả ả B ng 2.12. B ng th th
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
ả 20 PK MaDG Mã đ c giộ Nchar
ả 50 TenDG Tên đ c giộ Nvarchar
ớ 3 GioitinhDG Gi i tính Nvarchar
NgaysinhDG Ngày sinh date
50 FK Makhoa Mãkhoa Nchar
50 Malop Mã l pớ Nchar
ỉ DiachiDG ị Đ a ch Nvarchar 100
ẹ ố ệ Di nthoaiDG ạ S đi n tho i Text
ả ả ộ ả B ng 2.13. B ng đ c gi
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
Makhoa Mã khoa 50 PK Nchar
Tenkhoa Tên khoa 150 Nvarchar
ả ả B ng 2.14. B ng khoa
43
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
Malop Mã l pớ 50 PK Nchar
Tenlop Tên l pớ 200 Nvarchar
ả ả ớ B ng 2.15. B ng l p
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
ố Nchar 20 Sophieu ế S phi u PK
ả Nchar 20 MaDG Mã đ c giọ FK
Nchar 20 Masach Mã Sách FK
ố ượ Int Soluongmuon S l ng
ứ 50 ượ Hinhthucmuon Hình th c m n Nvarchar
ề int Tiendadatcoc ặ ọ Ti n đ t c c
nchar 20 MaTT Mã th thủ ư FK
date Ngaymuon Ngày m nượ
ả Date Ngayhentra Ngày h n trẹ
date Ngaytra Ngày trả
ượ ả ả ả B ng 2.16. B ng m n tr
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
ấ ả 20 Mã nhà xu t b n Nchar PK MaNXB
ấ ả Nvarchar 100 TenNXB Tên nhà xu t b n
ị ỉ Nvarchar 100 DiachiNXB Đ a Ch
ố ệ Nvarchar 20 ạ DienthoaiNXB S đi n tho i
Nvarchar 50 Website Website
ấ ả ả ả B ng 2.17. B ng nhà xu t b n
44
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
Maphanloai Mã phân lo iạ Nchar 20 PK
Tenphanloai Tên phân lo iạ Nvarchar 100
ả ạ ả B ng 2.18. B ng phân lo i
Ki u dể ữ Tên tr ngườ Mô tả Size Ràng bu cộ li uệ
Masach Mã sách Nchar 20 PK
tensach Tên sách Nvarchar 150
Tacgia Tác giả Nchar 150
ấ ả MaNXB Mã nhà xu t b n Nchar 20 FK
Maphanloai Mã phân lo iạ Nchar 20 FK
ố Sotrang S trang Int
ố ượ Soluong S l ng Int
ấ ả ầ lanxuatban L n xu t b n Int
ấ ả namxuatban Năm xu t b n Int
ả ả B ng 2.19. B ng sách
45
ậ ồ ệ Đ môn: L p trình C Sharp
ƯƠ
Ự
ƯƠ
Ả
CH
NG 3. XÂY D NG CH
Ngành công ngh thông tin Ư
NG TRÌNH QU N LÝ TH
VI NỆ
ế ế 3.1. Thi ả t k các b ng CSDL
ả ả 3.1.1. B ng tài kho n(taikhoan)
ả ả Hình 3.1 B ng CSDL tài kho n
ủ ư ả 3.1.2. B ng th th (thuthu)
ả Hình 3.2 B ng CSDL th thủ ư
ộ ả ả 3.1.3. B ng đ c gi (docgia)
46
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ể ả ả Hình 3.3 B ng CSDL B o hi m
ả 3.1.4. B ng khoa (khoa)
ả Hình 3.4 B ng CSDL Khoa
ớ ả 3.1.5.B ng l p (lop)
ả ớ Hình 3.5 B ng CSDL L p
ượ ả ả 3.1.6.B ng M n tr (muontra)
47
ậ ồ ệ Đ môn: L p trình C Sharp
ượ ả Ngành công ngh thông tin ả Hình 3.6 B ng CSDL M n tr
ấ ả ả 3.1.7.B ng nhà xu t b n (nhaxuatban)
ấ ả ả Hình 3.7 B ng CSDL Nhà xu t b n
ả ạ 3.1.8.B ng phân lo i (phanloai)
ả ạ Hình 3.8 B ng CSDL Phân lo i
ả 3.1.9.B ng sách (sach)
48
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ả Hình 3.9 B ng CSDL Sách
ệ ữ ố ả 3.1.10.M i quan h gi a các b ng
ệ ữ ả ố Hình 3.10 M i quan h gi a các b ng
ế ế ề ầ 3.2. Thi ệ t k giao di n ph n m m
ủ ệ ươ 3.2.1. Giao di n form chính c a ch ng trình
́ ̀ ̀ ̀ ́ ̀ ́ ươ ̣ ̣ ̣ ̉ Sau qua trinh đăng nhâp vao hê thông thi giao diên chinh cua ch
́ ̀ ́ ̀ ươ ̉ ̣ ̣ ̉ ̣ ượ đ
c hiên thi. Giao diên chinh cua ch ́ ̀ ́ ́ ̀ ́ ̉ ư năng. Cac menu ch c năng nay giup ng ng trinh ́ ư ng trinh bao gôm menu hê thông, menu ch c ́ ̀ ̀ ươ i dung nhanh chong vao trong form quan ly.
49
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
ệ Hình 3.11 Giao di n Form Main
3.2.2. Form đăng nh pậ
ậ ệ Hình 3.12 Giao di n Form Đăng nh p
50
ồ ậ ệ Ngành công ngh thông tin
ấ ả Đ môn: L p trình C Sharp 3.2.3. Form nhà xu t b n
ấ ả ệ Hình 3.13 Giao di n Form Nhà xu t b n
ộ ả ả 3.2.4. Form qu n lý đ c gi
ệ ả ộ ả Hình 3.14 Giao di n Form qu n lý đ c gi
51
ồ ậ ệ Ngành công ngh thông tin
ượ Đ môn: L p trình C Sharp 3.2.5. Form m n sách
ượ ệ Hình 3.15 Giao di n Form m n sách
3.2.6. Form thông tin sách
ệ Hình 3.16 Giao di n Form thông tin sách
52
ồ ậ ệ Ngành công ngh thông tin
ả Đ môn: L p trình C Sharp 3.2.7. Form tr sách
ả ệ Hình 2.17 Giao di n Form tr sách
ạ 3.2.8. Form phân lo i sách
ệ ạ Hình 2.18 Giao di n Form phân lo i sách
53
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ế
ƯỚ
Ể
Ậ K T LU N VÀ H
NG PHÁT TRI N
1. Cài đ t ặ
̃ ̀ ̀ ̀ ươ ượ ̉ ử ơ ở ư ̣ ̉ ̣ c ch
́ Đê s dung đ ̀ ̀ ̃ ơ ở ư ̣ ̣ ̉ ̣
̀ ng trinh nay đâu tiên ta cân phai Attach c s d liêu ̀ co file đinh dang la MDF vao trong Database Server. Đê Attach c s d liêu vao ̀ ̀ ̀ ́ ươ ở ng trinh
̀ ́ ́ ̀ ở ̣ ̣ ̀ trong Database Server ta cân co phân mêm SQL Server 2008. Khi m ch ̀ ̣ muc nay cân click chuôt SQL lên ta vao Object Explorer trong đo co muc Databases,
́ ̀ ̃ ́ ́ ư ơ ở ư ư ̉ ̣ ̣ ̉ ́ phai va chon ch c năng Attach sau đo link đên file ch a c s d liêu cua ch ươ ng
̀ ̣ ́ư trinh ng dung.
̃ ơ ở ư ế ặ ươ ứ ̣ Sau khi Attach c s d liêu xong ta ti n hành cài đ t ch
ớ ả ặ ệ ở ươ ồ next cho t
́ i khi hi n b ng thông báo cài đ t thành công. R i m ch ̀ ̀ ́ ̀ ấ ng trình c nh p ́ ̀ ư ng trinh ng ̃ ự ́ ơ ử ̣ ̣ ̣ ̣ ̣ dung lên va th c hiên thao tac đăng nhâp vao hê thông v i quyên s dung đa đ
́ ̀ ̀ ̀ ́ ̀ ươ ở ̉ ̉ ́ câp tr ́ ươ c đo. Đâu tiên khi vao ch
̀ ̃ ́ ̀ ơ ở ư ́ ơ ư ̉ ̣ chinh tên “
́ ́ ̃ ̀ ́ ươ ́ ơ ư ư ̣ ̣ ̉ ượ c ̀ ng trinh quan ly cân phai m class DataSevice va ́ ơ Server” trung v i tên Server ch a c s d liêu hay la tên connect v i ́ ng trinh quan ly. Xong cac thao tac
SQL Server nh vây m i co d liêu trong ch ́ ̀ ̀ ớ ượ ươ ườ ̣ ̉ ử c phep s dung ch ̀ nay thi m i đ ́ ư ệ th vi n tr ng trinh “ Quan ly ạ ọ ng đ i h c Sao
Đỏ”
ử 2. Ch y thạ
ướ ầ ự ượ ộ ệ ố ả B c đ u xây d ng đ c m t h th ng qu n lý ư ệ th vi n.
́ ầ ủ ả ầ ậ ̣ Thu th p yêu c u khá đ y đ nên hê thông qu n lý thông tin sách va ̀đ c giộ ả
̃ ́ ́ ̀ ̀ ́ ơ ̣ ̀ ợ cung kha chi tiêt va phu h p v i nhu câu hiên nay.
ươ ượ ử ạ ượ ậ ậ Ch ng trình đã đ c ch y th . Các thông tin đ ả c c p nh t vào các b ng
ơ ở ữ ệ trong c s d li u.
ế ấ ả ạ Khi ch y form tìm ki m thông tin theo tiêu chí thì các b n ghi tìm th y đ ượ c
thông tin.
ệ ố ự ệ ệ ệ ạ ấ H th ng cung c p giao di n tr c quan, thân thi n, mang tính hi n đ i và
́ ́ ́ ́ ệ ụ ườ ử ư ơ ̣ ̣
ti n d ng cho ng ́ ́ i dùng. V i cac ch c năng thêm, xoa, s a, câp nhât thông tin ́ ́ ́ ̀ ̀ ́ ̣ ơ ̣ ̉ ngoai ra con co tinh năng backup, restore giup hê thông co tinh năng nôi trôi h n so
́ ̀ ̀ ́ ơ v i cac phân mêm tr ́ ươ c đây.
ệ ố ụ ệ ễ ề ấ ả H th ng cũng cung c p nhi u công c ti n ích, giúp qu n lý d dàng, tính
ặ ộ ệ ệ ố ả ươ l ng m t cách nhanh chóng và chính xác. Đ c bi ậ t, h th ng có cho phép b o m t
ở ứ ườ m c ng i dùng.
54
ồ ậ ệ Ngành công ngh thông tin
ươ Đ môn: L p trình C Sharp ng trình 3. Đánh giá ch
Ư ể 3.1. u đi m
ễ ử ụ ề ầ Ph n m m d s d ng.
ư ệ ạ ộ ủ ả ờ ị Qu n lý chính xác, nhanh chóng và k p th i các ho t đ ng c a th vi n.
ạ ự ệ ườ ệ T o s chuyên nghi p trong môi tr ng làm vi c.
ượ 3.2. Nh ể c đi m
ư ự ệ ệ ề ộ ươ ả Ch a có kinh nghi m nhi u trong vi c xây d ng m t ch ng trình qu n lý
ớ ớ v i quy mô l n.
ứ ư ế ố ượ ộ Các ch c năng tìm ki m th ng kê ch a đ c sinh đ ng, còn gò bó theo 1
ạ ẫ hình d ng khuôn m u.
ế ề ệ ờ ạ ả ạ Còn h n ch v vi c tính th i h n quá tr sách.
ệ ủ ư ệ ả Kh năng làm vi c c a nhóm ch a mang tính chuyên nghi p.
ướ ể 4. H ng phát tri n
ộ ố ứ ầ ử ụ ủ ề ợ ớ ỉ Đi u ch nh m t s ch c năng cho phù h p v i yêu c u s d ng c a Trung
tâm.
ộ ố ứ ự ứ ụ Xây d ng thêm m t s ch c năng mang tính ng d ng th c t ự ế.
ể ố ư ơ ứ ế Ch c năng tìm ki m phát tri n t i u h n.
ạ ả Tính đ c ượ thòi gian quán h n tr sách .
ế ự ộ ơ ấ K t xu t báo cáo t đ ng h n.
55
ậ ồ ệ Đ môn: L p trình C Sharp Ngành công ngh thông tin
Ả
Ệ
TÀI LI U THAM KH O
ươ ệ ệ ậ ườ . L p trình Giao di n ng i dùng theo C# [1]. D ng Quang Thi n. 2006 .
ố ồ ổ ợ Thành Ph H Chí Minh: T ng h p.
ươ ệ ứ ữ ệ ậ L p trình Căn c d li u dùng ADO.NET và [2]. D ng Quang Thi n. 2006.
ố ồ ổ ợ C#. Thành Ph H Chí Minh: T ng h p
ươ ệ ỹ ậ ổ S tay k thu t Visual C#. [3]. D ng Quang Thi n. 2006.
ọ ậ ướ ẫ ớ ấ ả ậ ố [4]. H ng d n h c l p trình v i C# . T p 1,2,3: Nhà Xu t B n Th ng Kê.
ứ ỳ ậ . Giáo trình nh p môn UML [5]. Hu nh Văn Đ c. 2004 . TP HCM: NXB Lao
ộ ộ đ ng xã h i.
ữ ạ ơ ở ữ ệ ậ L p trình c s d li u. [6]. Ph m H u Khang. C# 2005.
ươ ễ ạ ế ế ệ ố Giáo trình phân tích thi t k h th ng thông tin. [7]. Ph m Nguy n C ng.
ướ ọ ậ ớ ấ ả ộ ộ c h c l p trình v i C# ừ [8]. T ng b : Nhà Xu t B n Lao Đ ng – Xã H i.
56