Phân tích thiết kế và xây dựng phần mềm quản lý thiết bị máy tính
Trang 1TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI:
PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG PHẦN
MỀM QUẢN LÝ THIẾT BỊ MÁY TÍNH
ĐÀ NẴNG, 11/2013
Trang 2LỜI CẢM ƠN
Trước hết, con xin chân thành tỏ lòng biết ơn sâu nặng đến Ba, Mẹ, người đã sinhthành, nuôi dưỡng và dạy dỗ con bằng tất cả tình thương yêu, động viên và khích lệ,giúp con vượt qua những khó khăn trong cuộc sống để có được ngày hôm nay
Em xin chân thành cảm ơn thầy, cô trong khoa Công Nghệ Thông Tin-TrườngCao Đẳng Công Nghệ Thông Tin-Đại học Đà Nẵng đã tận tình giảng dạy và trang bịkiến thức cho em trong thời gian em học tập tại trường
Đồ án chuyên ngành này được hoàn thành dưới sự chỉ dạy tận tình và chu đáocủa Thầy Phạm Tuấn Anh Em xin chân thành tỏ lòng biết ơn sâu sắc đến thầy, người
đã dìu dắt và định hướng cho em trong quá trình nghiên cứu để hoàn thành khoá luậnnày
Bên cạnh đó, tôi cũng xin chuyển lời cảm ơn chân thành đến các bạn của tôi,những người luôn bên cạnh động viên, khích lệ và giúp đỡ tôi tự tin trong suốt thờigian tôi hoàn thành đồ án chuyên ngành này
Đà Nẵng, ngày 5/4/2013
Trang 3LỜI CAM ĐOAN
Em xin cam đoan :
Những nội dung trong báo cáo đồ án chuyên ngành này là do em thực hiện dưới
sự hướng dẫn trực tiếp của thầy Phạm Tuấn Anh
Mọi tham khảo dùng trong báo cáo đồ án chuyên ngành đều được trích dẫn rõràng và ghi ở phần “Tài liệu tham khảo”
Em xin chịu hoàn toàn trách nhiệm trước Hội đồng bảo vệ về các vấn đề vi phạmkhác do Khoa và Nhà trường đã phổ biến
Đà Nẵng, ngày 5/4/2013
Trang 4M C L C ỤC LỤC ỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH SÁCH HÌNH VẼ 6
DANH SÁCH BẢNG BIỂU 7
LỜI MỞ ĐẦU 8
TÓM TẮT BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 10
1 GIỚI THIỆU VỀ ĐỀ TÀI: 11
1.1 Tên đề tài: 11
1.2 Bối cảnh ra đời: 11
1.3 Mô tả ý tưởng bài toán: 11
1.4 Ý nghĩa: 12
2 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI 13
2.1 Mục tiêu của đề tài: 13
2.2 Phạm vi của đề tài: 13
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14
1 GIỚI THIỆU VỀ NET FRAMEWORK 14
1.1 Giới thiệu về Net Framework: 14
1.2 Vai trò: 14
1.3 Các thành phần của NET Framework: 14
1.3.1 Thực thi ngôn ngữ chung CLR ( Common Language Runtime): 14
1.3.2 CLR là bộ thi hành ngôn ngữ chung (Common Language Runtime) 14
1.3.3 Các lớp lập trình hợp nhất (Unified Programming Classes) 15
2 CÔNG CỤ PHÂN TÍCH, THIẾT KẾ DỮ LIỆU 15
2.1 Microsoft Visual Studio 2008 15
2.2 Microsoft SQL Server Express 2005 16
3 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C#: 16
4 KHÁI NIỆM CƠ SỞ DỮ LIỆU: 18
4.1 Khái niệm Cơ sở dữ liệu: 18
4.2 Quan hệ cơ sở dữ liệu: 19
Trang 55 GIỚI THIỆU MÔ HÌNH LẬP TRÌNH 3 LỚP( 3-TIER) 19
5.1 Khái niệm: 19
5.2 Nhiệm vụ: 20
5.3 Đặc điểm: 20
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 22
1 BẢNG CÔNG VIỆC VÀ SƠ ĐỒ GANTT: 22
1.1 Bảng công việc 22
1.2 SƠ ĐỒ NGỮ CẢNH: 22
2 CÁC CHỨC NĂNG CỦA CHƯƠNG TRÌNH: 23
3 LIỆT KÊ CÁC HỒ SƠ DỮ LIỆU SỬ DỤNG: 24
4 ĐẶC TẢ USE-CASE: 25
4.1 Use-Case: Đăng Nhập 25
4.2 User-Case : Quản Lý Khách Hàng, NCC 26
4.3 User-Case : Quản Lý Bán Hàng 26
4.4 User-Case : Báo cáo 26
4.5 User-Case : tra cứu 26
4.6 User-Case : Quản Lý Nhân Viên 26
4.7 BIỂU ĐỒ LUỒNG DỮ LIỆU MỨC ĐỈNH: 27
7 BIỂU ĐỒ LUỒNG DỮ LIỆU MỨC DƯỚI ĐỈNH: 28
7.1 Quản lý sản phẩm: 28
7.2 Quản lý xuất nhập kho: 29
7.3 Quản lý bán hàng: 29
7.4 Báo cáo: 30
8 SƠ ĐỒ HỆ THỐNG: 31
8.1 Sơ đồ Class: 31
8.2 Sơ đồ tuần tự: 32
CHƯƠNG 4 : THIẾT KẾ CƠ SỞ DỮ LIỆU 34
1 TẠO CÁC BẢNG VÀ THUỘC TÍNH 34
1.1 Đăng nhập: 34
1.2 Bảng sản phẩm: 34
Trang 61.3 Bảng khách hàng: 35
1.4 Bảng hoá đơn nhập: 35
1.5 Bảng hoá đơn nhập chi tiết: 36
1.6 Bảng hoá đơn xuất: 36
1.7 Bảng hoá đơn xuất chi tiết: 37
2 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 37
2.1 Các thực thể và thuộc tính của nó: 37
2.2 Xác định quan hệ giữa các thực thể: 38
2.3 Mô hình cơ sở dữ liệu quan hệ: 38
CHƯƠNG 5 : TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 39
1 GIAO DIỆN FORM ĐĂNG NHẬP: 39
2 GIAO DIỆN FORM ĐĂNG KÝ: 39
3 GIAO DIỆN FORM ĐỔI MẬT KHẨU: 40
4 GIAO DIỆN FORM NHẬP SẢN PHẨM: 40
5 GIAO DIỆN FORM THÔNG TIN VỀ SẢN PHẨM NHẬP: 41
6 GIAO DIỆN FORM NHÂN VIÊN: 41
7 GIAO DIỆN FORM KHÁCH HÀNG: 42
8 GIAO DIỆN FORM HOÁ ĐƠN NHẬP: 42
9 GIAO DIỆN FORM HOÁ ĐƠN XUẤT: 43
10 GIAO DIỆN FORM HÀNG TỒN KHO: 43
11 GIAO DIỆN FORM BÁO CÁO: 44
11.1 Báo cáo hóa đơn nhập 44
11.2 Báo cáo hàng xuất: 44
12 Giao diện form xuất exel 45
KẾT LUẬN 46
3 NHỮNG BÀI HỌC RÚT RA TỪ QUÁ TRÌNH THỰC HIỆN KHOÁ LUẬN: 47 TÀI LIỆU THAM KHẢO 48
Trang 7DANH SÁCH HÌNH VẼ
Hình1: Mô hình 3 tầng trong lập trình C# 19
Hình 2 Sơ đồ ngữ cảnh 22
Hình 3 Mô hình phân rã chức năng 23
Hình 4 Sơ đồ Use Case 27
Hình 5: mô hình dữ liệu mức đỉnh 28
Hình 6 : quản lý sản phẩm 29
Hình 7: Quản lý xuất nhập kho 29
Hình 8: quản lý bán hàng 30
Hình 9: biểu đồ dữ liệu mức dưới đỉnh-báo cáo 30
Hình 10: sơ đồ class 32
Hình 11 Sơ đồ tuần tự 32
Hình 12: sơ đồ hoạt động- đăng nhập 32
Hình 13 Sơ đồ hoạt động- xử lý trong form 33
Hình 14 : Mô hình cơ sở dữ liệu quan hệ 38
Hình 15: Giao diện form đăng nhập 39
Hình 16: Giao diện form đăng ký 39
Hình 17: Giao diện form đổi mật khẩu 40
Hình 18: Giao diện form nhập sản phẩm 40
Hình 19: giao diện form thông tin sản phẩm nhập 41
Hình 20: Giao diện form nhân viên 41
Hình 21: Giao diện form khách hàng 42
Hình 22: Giao diện form hóa đơn nhập 42
Hình 23: Giao diện form hóa đơn xuất 43
Hình 24: Giao diện form hàng tồn kho 43
Hình 25: Báo cáo hóa đơn nhập 44
Hình 26: Báo cáo hóa đơn xuất 44
Hình 27: Giao diện form xuất exel 45
Trang 8DANH SÁCH BẢNG BIỂU
Bảng 1: Bảng công việc 22
Bảng 2: Bảng ma trận thực thể chức năng 25
Bảng 3: bảng CSDL Login 34
Bảng 4: bảng CSDL sản phẩm 34
Bảng 5: Bảng CSDL khách hàng 35
Bảng 6: Bảng CSDL hoá đơn nhập 35
Bảng 7: bảng CSDL hoá đơn nhập chi tiết 36
Bảng 8: Bảng CSDL hoá đơn xuất 36
Bảng 9 : Bảng CSDL hoá đơn xuất chi tiết 37
Trang 9LỜI MỞ ĐẦU
Ngày nay, với sự phát triển như vũ bão của khoa học kỹ thuật đã giúp nền kinh tếcủa quốc gia trên toàn thế giới phát triển mạnh Và khi nói đến sự thành công đó takhông thể không kể đến đóng góp ngành Công Nghệ Thông Tin Sự phát triển củaCông nghệ thông tin đã len lõi vào khe hở của cuộc sống hằng ngày để tạo nên sự tiệnlợi cho mọi người Trong thời đại ngày nay, cuộc sống của con người đã cải thiện rấtđáng kể so với thập kỷ trước Mọi nhu cầu con người đều được nâng cao từ nhu cầuthiết thực nhất là: ăn, uống, giải trí…Từ xưa đến nay, mọi hoạt động về kinh tế - vănhoá - xã hội đều nhằm mục đích phục vụ đời sống, sức khoẻ, tinh thần cho con người
Xã hội ngày càng phát triển thì mục đích đó ngày càng thiết thực hơn
Sự kết hợp giữa máy tính và môi trường giao tiếp tốt hiện nay đã trở thành mộttiêu chuẩn mà để tạo ra một sản phẩm phần mềm ứng dụng Những hình thức mua bánbình thường hiện nay như việc thanh toán hoá đơn bằng tiền mặt, các bộ phận quản líkhông thể cập nhập thông tin ngay về hàng hoá mất thời gian trong việc mua bán…Vàhình thức tốt nhất để con người có thể tiết kiệm thời gian mua bán và quản lí tốt đượcmọi công việc một cách nhanh chóng và chính xác, là các sản phẩm phần mềm ứngdụng
Xuất phát từ nhu cầu thực tế hiện nay, qua quá trình tìm hiểu nhu cầu thực tế,được sự đồng ý của giảng viên hướng dẫn khoa Công Nghệ Thông Tin-Trường Cao
Đẳng Công Nghệ Thông Tin – Đại học Đà Nẵng, em thực hiện đề tài “Phân tích, thiết
kế và xây dựng phần mềm quản lý thiết bị máy tính”.
Trong thời gian làm đồ án em đã sử dụng vốn kiến thức ít ỏi của mình tìm hiểu
và phân tích bài toán này Nó chỉ mang tính chất thử nghiệm để học hỏi, trao đổi kinhnghiệm và làm quen với thực tế
Tuy đã rất cố gắng học hỏi dựa trên kiến thức đã học, sự giúp đỡ của thầy cônhưng do khả năng và thời gian có hạn nên bài báo cáo của em không thể tránh khỏinhững thiếu sót Em kính mong quý Thầy cô cùng bạn bè thông cảm và góp ý để emkịp thời lấp kín những lỗ hổng kiến thức và chương trình đạt hiệu quả cao hơn
Trang 10Bên cạnh đó, em cũng xin gởi lời cảm ơn đến các thầy cô trong khoa Công NghệThông Tin - Trường Cao Đẳng Công Nghệ Thông Tin – Đại học Đà Nẵng, đặc biệt làthầy Phạm Tuấn Anh, người đã trực tiếp giám sát, hướng dẫn em trong thời gian hoànthành báo cáo đồ án chuyên ngành này.
Em xin chân thành cảm ơn!
Sinh viên
Trang 11TÓM TẮT BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
Tên đề tài: “Phân tích, thiết kế và xây dựng phần mềm quản lý thiết bị máy tính”.
Trong quá trình công nghiệp hoá, hiện đại hoá đất nước thì công nghệ thông tin lànhân tố quan trọng nhất để thúc đẩy đất nước phát triển Bất kỳ một ngành nghề nàocũng đều cần tin học hoá và lĩnh vực mua bán cũng không phải là trường hợp ngoại lệ.Quá trình hoàn thành khoá luận được tóm tắt như sau:
Chương 1: Tổng quan về đề tài: Nêu lên tên đề tài, bối cảnh ra đời, ý nghĩa,mục tiêu và phạm vi nghiên cứu của đề tài
Chương 2: Cơ sở lý thuyết : Nghiên cứu lý thuyết, công cụ thực hiện
Chương 3: Phân tích và thiết kế hệ thống
Chương 4: Triển khai và đánh giá kết quả
Kết luận và hướng phát triển: Nêu lên các mặt đã đạt được và những hạn chếcủa đề tài, hướng phát triển của đề tài
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1 GIỚI THIỆU VỀ ĐỀ TÀI:
1.1 Tên đề tài:
“ Phân tích, thiết kế và xây dựng phần mềm quản lý thiết bị máy tính”
1.2 Bối cảnh ra đời:
Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của các quốcgia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa và hiện đại hoánhư nước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật
số, yêu cầu muốn phát triển thì phải tin học hoá tất cả các ngành, các lĩnh vực
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm ngàycàng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người.Các phần mềm hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó khăn, hỗtrợ cho người dùng thuận tiện sử dụng, thời gian xử lý nhanh chóng, và một số nghiệpvụ được tự động hoá cao
Do vậy mà trong việc phát triển phần mềm, sự đòi hỏi không chỉ là sự chính xác,xử lý được nhiều nghiệp vụ thực tế mà còn phải đáp ứng các yêu cầu khác như về tốc
độ, giao diện thân thiện, mô hình hoá được thực tế vào máy tính để người sử dụng tiệnlợi, quen thuộc, tính tương thích cao, bảo mật cao… Các phần mềm giúp tiết kiệm mộtlượng lớn thời gian, công sức của con người, và tăng độ chính xác và hiệu quả trongcông việc
Cùng với sự phát triển của đời sống thì nhu cầu mua sắm cho bản thân của conngười cũng được nâng cao Vì thế, nhiều thiết bị máy tính ra đời nhằm giúp mọi ngườilựa chọn được tốt hơn Hàng loạt các cửa hàng thiết bị máy tính xuất hiện với đadạng các dòng máy tính Vì thế vấn đề quản lý sẽ trở nên khó khăn hơn, nhất là khi có
sự phát triển như vũ bão của công nghệ thông tin, thì việc cần phần mềm quản lýchuyên nghiệp phục vụ cho nhu cầu quản lý trở nên cấp thiết hơn bao giờ hết
Xuất phát từ nhu cầu thực tế trên, em chọn đề tài” Phân tích, thiết kế và xây dựngphần mềm quản lý cửa hàng mỹ phẩm” nhằm đáp ứng các nhu cầu trong việc quản lýcủa hàng mỹ phẩm như hiện nay
1.3 Mô tả ý tưởng bài toán:
Ý tưởng xây dựng hệ thống:
Trang 13Trong thời đại kinh tế thị trường như hiện nay, các hoạt động kinh doanh vớinhiều loại hình khác nhau trở nên phát triển mạnh mẽ Để đáp ứng nhu cầu đòi hỏingày càng cao của các tổ chức doanh nghiệp trong vấn đề quản lý, việc xây dựng nênphần mềm quản lý hệ thống là một giải pháp tốt nhất Sẽ góp phần tin học hóa, rút gọnthời gian làm việc, giảm thiểu chi phí và sức lao động, mang lại hiệu quả kinh tế caocho các doanh nghiệp
Một trong những mô hình đó là việc quản lý bán hàng tại các cửa hàng kinhdoanh thiết bị máy tính
- Cửa hàng là một loại hình kinh doanh quy mô nhỏ, kinh doanh tổng hợp có cơcấu chủng loại hàng hoá rất phong phú, đa dạng, nhiều mặt hàng được cập nhật thườngxuyên
- Cửa hàng thiết bị máy tính ngày càng trở nên thân thiết với con người,nó đã vàđang dần trở thành địa điểm không thể thiếu được của mỗi người
Do vậy để đảm bảo cho hệ thống cửa hàng có thể hoạt động tốt, cũng như để thuhút nhiều khách hàng đến với cửa hàng thì cửa hàng đó cần phải có một hệ thống quảnlý hiện đại Đó chính là một phần mềm quản lý, một phần mềm có khả năng xử lý vàbảo mật cao, giúp cho công việc quản lý trở nên nhẹ nhàng hơn, và việc thanh toándiễn ra nhanh hơn…
Bởi vậy, phần mềm em thiết kế dưới đây một phần nào góp phần cung cấp giảipháp tốt nhất cho vấn đề đó
1.4 Ý nghĩa:
Với phần mềm quản lý thiết bị máy tính có thể cung cấp một phần mềm muabán với quy mô lớn cho tất cả các loại thiết bị máy tính, nhằm đáp ứng nhu cầu ngàycàng cao đối với người tiêu dung, đồng thời đem lại những thuận lợi cho người bán vàngười mua
Đối với doanh nghiệp cá nhân là nhà cung cấp sản phẩm, phần mềm đã đem lạinhững thuận lợi cơ bản như sau:
- Giảm chi phí sản xuất, bán hàng, tiếp thị giao dịch
- Tăng chất lượng dịch vụ khách hàng
- Tăng doanh thu cho doanh nghiệp, cá nhân
Trang 14- Tạo ra lợi thế cạnh tranh cho doanh nghiệp, giúp cho doanh nghiệp kịp thời đổimới sản phẩm, để cung cấp theo nhu cầu của khách hàng.
Đối với khách hàng tiêu thụ sản phẩm, phần mềm đem lại cho khách hàng nhữngtiện ích rất rõ ràng như sau:
- Thu thập , lựa chọn được nhiều thông tin sản phẩm
- Giảm thiểu chi phí, thời gian cho khách hàng
Đồng thời, phần mềm đem lại sự cạnh tranh lớn hơn về chất lượng sản phẩm, tạo
sự bình ổn giá cả, vì vậy nhiều sản phẩm mới ra đời có chất lượng để phục vụ cho nhucầu của khách hàng
2 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI
2.1 Mục tiêu của đề tài:
Với ý nghĩa trên, mục tiêu cần đặt ra khi xây dựng phần mềm quản lý thiết bịmáy tính với đầy đủ chức năng nhằm đem lại những thuận lợi nhất định cho việc traođổi mua bán của khách hàng Để đáp ứng nhu cầu đó, hệ thống phần mềm được xâydựng với các chức năng cơ bản sau:
- Phần mềm Quản lý thiết bị máy tính nhằm ứng dụng CNTT để giải quyết cácvấn đề nghiệp vụ, phục vụ cho công tác quản lý cửa hàng
- Quản lý thông tin của khách hàng, nhân viên, dịch vụ, các chương trình khuyếnmãi, giảm giá, …
- Quản lý các hoạt động kinh doanh của cửa hàng, sự cố phát sinh, báo cáodoanh thu, …
- Giúp khách hàng có thể tìm kiếm những sản phẩm, nhu cầu thông tin về sảnphầm, …
2.2 Phạm vi của đề tài:
Đề tài được phân tích và thiết kế trên những cửa hàng có quy mô vừa và nhỏ,cónhững yêu cầu nghiệp vụ khá đơn giản
Việc xây dựng dựa trên quá trình phân tích thiết kế bằng ngôn ngữ mô hìnhhoá(UML) và sử dụng các công cụ lập trình để hoàn thành phần mềm này
Sử dụng công nghệ NET để phát triển ứng dụng
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 GIỚI THIỆU VỀ NET FRAMEWORK
1.1 Giới thiệu về Net Framework:
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng
dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft.Các chương trình được viết trên nền NET Framework sẽ được triển khai trong môi
trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với
tên Common Language Runtime (CLR) Môi trường phần mềm này là một máy
ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling).
.NET Framework bao gồm tập các thư viện lập trình lớn, và những thư viện này
hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kếtnối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng
CLR cùng với bộ thư viện này là 2 thành phần chính của NET Framework.
1.2 Vai trò:
- Cung cấp một môi trường nhất quán cho lập trình hướng đối tượng
- Tối ưu hóa việc phát triển phần mềm và sự xung đột phiên bản bằng việc cungcấp một môi trường thực thi mã nguồn
- Cung cấp môi trường thực thi code an toàn hơn
- Hỗ trợ nhiều ngôn ngữ
- Tận dụng những dịch vụ của hệ điều hành
1.3 Các thành phần của NET Framework:
1.3.1 Thực thi ngôn ngữ chung CLR ( Common Language Runtime):
Là thành phần cốt lỗi của NET, CLR thực hiện các chức năng sau:
Trang 16Là một thành phần cốt lõi (cơ bản nhất) của NET Nó cung cấp nền cơ sở màtrên đó các ứng dụng cho NET được xây dựng
- CLR quản lí nhiều khía cạnh của chu trình phát triển theo quan điểm củangười phát triển Chẳng hạn, khi làm việc với COM, các nhà phát triển phải lưu tâm
đến vấn đề quản lí bộ nhớ, những sự khởi tạo luồng (thread) và loại bỏ nó, các thành
phần bảo mật và những vấn đề tương tự Điều đó gây ra một số khó khăn do các nhàphát triển phải tiêu tốn quá nhiều thời gian vào các vấn đề này
- Bộ thi hành ngôn ngữ chung CLR quản lí tất cả các vấn đề nảy sinh đó mộtcách tự động và giải phóng cho các nhà phát triển tập trung vào việc xử lý giao dịchlogic
- CLR cung cấp một runtime chung mà nó được sử dụng với tất cả các ngônngữ Thành phần này làm cho NET có một khả năng hỗ trợ mọi ngôn ngữ
1.3.3 Các lớp lập trình hợp nhất (Unified Programming Classes)
Các lớp lập trình hợp nhất (Unified Programming Classes).
- Những thư viện lớp lập trình hay các giao diện lập trình ứng dụng (API)
được sử dụng bởi nhiều ngôn ngữ khác nhau
- Để sử dụng những ngôn ngữ lập trình khác nhau, các nhà phát triển nghiêncứu các bộ thư viện lớp khác nhau để làm việc với các ngôn ngữ lập trình khác nhau.Vấn đề này đã làm chậm quá trình phát triển ứng dụng và làm cho công việc phát triểntrở nên tẻ nhạt và lãng phí khá nhiều thời gian
- .NET cung cấp các lớp lập trình hợp nhất với một bộ API dùng chung chomọi ngôn ngữ lập trình
- Các ngôn ngữ có thể tương tác với một ngôn ngữ khác và các lớp lập trìnhhợp nhất này cho phép các nhà phát triển lựa chọn bất cứ ngôn ngữ nào mà họ muốntrong khi chỉ cần duy nhất một bộ API mà thôi
2 CÔNG CỤ PHÂN TÍCH, THIẾT KẾ DỮ LIỆU
2.1 Microsoft Visual Studio 2008
Đây là môi trường hỗ trợ lập trình tích hợp (IDE – Intergrated Development
Environment) khá mạnh của hãng Microsoft, chuyên để phát triển các sản phẩm phần
mềm trên môi trường NET (Lập trình Web, ứng dụng desktop, ứng dụng trên thiết bị
đi động) một cách nhanh chóng và hiệu quả
Visual Studio cung cấp các tiện ích mở rộng cho việc phát triển các ứng dụng
Trang 172.2 Microsoft SQL Server Express 2005
SQL Server 2005 là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client
computer và SQL Server computer
Một RDBMS bao gồm database, database engine và các ứng dụng dùng để quảnlý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn
(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho
hàng ngàn user
SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft
Internet Information Server (IIS), E-Commerce Server, Proxy Server
3 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C#:
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 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ĩa to lớn khi nó thực thinhững khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc,
thành phần (component), lập trình hướng đối tượng Những tính chất đó hiện diện
trong một ngôn ngữ lập trình hiện đại Hơn nữa ngôn ngữ C# được xây dựng trênnền tảng hai ngôn ngữ mạnh nhất là C++ và Java
Tóm lại, C# có các đặc trưng sau đây:
C# là ngôn ngữ đơn giản: C# loại bỏ được một vài sự phức tạp và rối rắmcủa các ngôn ngữ C++ và Java C# khá giống C / C++ về diện mạo, cúpháp, biểu thức, toán tử Các chức năng của C# được lấy trực tiếp từ ngônngữ C / C++ nhưng được cải tiến để làm cho ngôn ngữ đơn giản hơn
C# là ngôn ngữ hiện đại :
C# có được những đặc tính của ngôn ngữ hiện đại như:
- Xử lý ngoại lệ
- Thu gom bộ nhớ tự động
Trang 18- 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óadùng để mô tả thông tin, nhưng không gì thế mà C# kém phần mạnh mẽ.Chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làmbất cứ nhiệm vụ nào.
-Mã nguồn của C# được viết trong Lớp (Class) Những lớp này chứa các phương thức (Method) thành viên của nó
- Lớp (Class) và các phương thức (Method) thành viên của nó có thể được
sử dụng lại trong những ứng dụng hay chương trình khác
C# sẽ trở nên phổ biến: C# mang đến sức mạnh của C++ cùng với sự dễdàng của ngôn ngữ Visual Basic
Trang 19C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhấtđến NET Framework mà tất cả các chương trình NET chạy, và nó phụ thuộc mạnh
mẽ vào Framework này
Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rácGarbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate,interface, exception, v.v, phản ánh rõ ràng những đặc trưng của NET runtime
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặcđiểm nào đó, nhưng không bao gồm các giới hạn sau đây:
- Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn Hầu hết cácđối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộđệm Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn những đối
tượng thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham
chiếu
- Các đối tượng không thể được giải phóng tường minh
- Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều giao diện trừu tượng (abstract
interfaces) Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi
- C# thì an-toàn-kiểu (typesafe) hơn C++
- Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]")
- Kiểu thứ tự được thay thế bằng tên miền không gian (namespace)
4 KHÁI NIỆM CƠ SỞ DỮ LIỆU:
4.1 Khái niệm Cơ sở dữ liệu:
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ấutrú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ươngtrì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 ứngdụng khác nhau có thể cùng khai thác và chia sẽ 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ảnlý.Một thực thể xác định tên và các thuộc tính
Trang 20Thuộ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 đồ quan hệ gồm cácthuộc tính của thực thể cùng với các mệnh đề ràng buộc
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 trang 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
4.2 Quan hệ cơ sở dữ liệu:
Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được tổ chức theo mô hình quan hệ Trong
đó, các đối tượng dữ liệu và các quan hệ giữa các đối tượng quan hệ đó được tổ chứcthành các thực thể Mỗi thực thể bao gồm một tập hợp các thuộc tính Mỗi thể hiệncủa một thực thể là một bộ các giá trị tương ứng với các thuộc tính của các thực thểđó
5 GIỚI THIỆU MÔ HÌNH LẬP TRÌNH 3 LỚP( 3-TIER)
Hình1: Mô hình 3 tầng trong lập trình C#
5.1 Khái niệm:
Mô hình 3 lớp là kiến trúc kiểu client - server trong đó nó sử dụng giao diệnngười dùng, quá trình diễn biến, cất giữ và truy cập dữ liệu để người phát triển bảo vệnhững modules (bộ phận tháo rời được) độc lập hoặc nhiều nền riêng rẽ
Lập trình 3 lớp với C# là một kỹ thuật lập trình khá hiện đại, tuy không mớinhưng nó được sự quan tâm rất lớn của cộng đồng những lập trình viên trên môitrường Net
Trang 21Với mô hình ứng dụng trên, ứng dụng được chia thành những thành phần nhỏhơn, độc lập về chức năng, cách xử lý dữ liệu hay truy cập dữ liệu.
5.2 Nhiệm vụ:
Mỗi tầng trong mô hình có một nhiệm vụ nhất định như sau:
- Tầng giao diện (Presentation Layer):
Không chỉ là giao diện người dùng mà tầng giao diện còn là cổng giao tiếp giữacác ứng dụng, chúng đóng vai trò giao tiếp và truyền tải dữ liệu giữa các ứng dụng vớinhau
Tiếp nhận thông tin từ người dùng
Lớp này sử dụng các dịch vụ do lớp nghiệp vụ cung cấp
Trả các thông tin phản hồi nhận được từ tầng nghiệp vụ (Business Logic Layer)
từ hệ thống đến người dùng
- Tầng nghiệp vụ (Business Logic Layer)
Lớp này thực hiện các yêu cầu về nghiệp vụ của hệ thống
Là tầng trung gian giữa tầng giao diện và tầng truy cập dữ liệu (Data Access
Layer), sử dụng các dịch vụ do tầng truy cập dữ liệu cung cấp, và cung cấp các dịch vụ
cho lớp giao diện
Xử lý các dữ liệu nghiệp vụ, không quá chú trọng đến lập trình hay xử lý của hệthống
- Tầng truy cập dữ liệu (Data Access Layer-DAL)
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu củaứng dụng
Nhận yêu cầu từ tầng nghiệp vụ, xử lý yêu cầu nghiệp vụ thông qua các khíacạnh dữ liệu của hệ thống
Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu nhưSQL Server, Oracle, DB2, My SQL … để thực hiện công việc của mình
Trực tiếp truy cập cơ sở dữ liệu, xử lý thông tin và trả kết quả cho đối tượngnghiệp vụ nằm trong tầng nghiệp vụ
5.3 Đặc điểm:
Đặc điểm đáng chú ý của mô hình này:
- Ưu điểm:
Trang 22Dữ liệu mà các tầng trao đổi với nhau thường không phải là kiểu dữ liệunguyên thủy, mà là 1 đối tượng nghiệp vụ do người lập trình cung cấp (hay được gọibằng tên: Data Object Transfer (DTO)).
Tất cả các đối tượng trong các tầng đều có thể sử dụng đối tượng DTO
ở lớp truy cập dữ liệu kỹ lưỡng và an toàn thì hệ thống sẽ đạt độ bảo mật rất cao
Dễ quản lý: việc nâng cấp, sửa đổi có thể thực hiện ở tầng vật lý tương ứng
- Nhược điểm:
Vì lý do dữ liệu truyền giữa các tầng là 1 đối tượng kiểu tham chiếu, nên việckhởi tạo thông tin cho đối tượng khá mất thời gian (so với việc truyền dữ liệu kiểunguyên thủy)
Với mỗi phượng thức trên của 1 đối tượng ta phải viết nhưng đoạn mã nguồntương đối giống nhau (khá mất thời gian)
Tốn nhiều công sức cài đặt (nhiều server) hơn
Trang 23CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 BẢNG CÔNG VIỆC VÀ SƠ ĐỒ GANTT:
1.1 Bảng công việc
Bảng 1: Bảng công vi c ệc
SỐ NGÀYTHỰCHIỆN
KẾT QUẢ
1.2 SƠ ĐỒ NGỮ CẢNH:
Hình 2 Sơ đồ ngữ cảnh
Báo cáo , thống kê
Sự yêu cầu báo cáo
Người quản lý
Quản lý cửa hàng mỹ phẩm Beauty
Trang 242 CÁC CHỨC NĂNG CỦA CHƯƠNG TRÌNH:
Chương trình có các chức năng như sau:
- Cập nhật thông tin về sản phẩm, khách hàng, nhân viên mới
Nhập dữ liệu
Thêm dữ liệu mới
Chỉnh sửa, xoá bỏ dữ liệu
Nhập các HĐN, HĐX, kiểm tra số lượng hàng tồn trong kho cũng như số lượnghàng đã bán ra theo ngày hoặc tháng, năm
Báo cáo hàng nhập, hàng xuất, hàng tồn kho theo ngày, tháng, năm
Vẽ sơ đồ phân rã chức năng:
Các ký hiệu sử dụng:
- Tên chức năng của hệ thống :
- Quan hệ phân cấp:
Sơ đồ phân rã chức năng:
Hình 3 Mô hình phân rã chức năng
Mô tả chi tiết chức năng lá của mô hình phân rã chức năng:
<tên chức năng>
Trang 25Quản lý hệ thống: quản lý thông tin những người sử dụng chương trình như tên đăng nhập, mật khẩu, thêm người dùng, xóa người dùng.
Đăng nhập: Kiểm tra thông tin đăng nhập
Đổi mật khẩu: cho phép người sử dụng thay đổi mật khẩu của họ
Quản lý người dùng: quản lý các thông tin của nhân viên, người sử dụng hệthống như tên, mã nhân viên, cmnd, địa chỉ…
Quản lý sản phẩm: Quản lý các thông tin về sản phẩm như mã sản phẩm, tên sảnphẩm, ngày sản xuất, ngày hết hạn, nhà sản xuất,…
Quản lý kho hàng: quản lý sản phẩm khi nhập vào kho
Nhập sản phẩm: Nhập các thông tin liên quan đến sản phẩm
Kiểm kê số lượng: so sánh hàng hoá trước khi nhập và sau khi nhập
Thanh lý, cập nhật sản phẩm mới: thanh lý các sản phẩm đã hết hạn sử dụng,đồng thời cập nhật thông tin của các sản phẩm mới
Quản lý thông tin sản phẩm, nhà cung cấp: Lưu trữ các thông tin về sản phẩmcũng như nhà sản xuất
Quản lý xuất nhập kho: Quản lý số lượng hàng hoá trong kho, kiểm kê sản phẩmkhi nhập hoặc xuất
hàng thì nhập hoá đơn xuất
Quản lý sản phẩm nhập, xuất: Kiểm tra thông tin về sản phẩm khi nhập hàng,xuất hàng
Nhập hàng, xuất hàng: Khi có HĐN, HĐX thì mới thực hiện việc nhập hàng,xuất hàng
Kiểm tra đối chiếu: So sánh, đối chiếu sản phẩm nhập, xuất với HĐN, HĐX.Quản lý bán hàng: Quản lý các vấn đề trong việc bán sản phẩm
Báo cáo thống kê: báo cáo các hoá đơn nhập xuất , hàng tồn kho khi người quảnlý yêu cầu
3 LIỆT KÊ CÁC HỒ SƠ DỮ LIỆU SỬ DỤNG:
Danh mục sản phẩm
Hoá đơn nhập
Hoá đơn xuất
Danh mục khách hàng