Phân tích, thiết kế và xây dựng phần mềm quản lý cửa hàng mỹ phẩm Luận VănPhân tích, thiết kế và xây dựng phần mềm quản lý cửa hàng mỹ phẩm Luận VănPhân tích, thiết kế và xây dựng phần mềm quản lý cửa hàng mỹ phẩm Luận VănPhân tích, thiết kế và xây dựng phần mềm quản lý cửa hàng mỹ phẩm Luận Văn
Trang 1KHOA TIN HỌC Tel (+84)511-3733293 Website: http://www.ued.edu.vn/khoatin / , Email: khoatin@dce.udn.vn
KHÓA LUẬN TỐT NGHIỆP
NGÀNH CỬ NHÂN CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM
QUẢN LÝ CỬA HÀNG MỸ PHẨM
NGÀY BẢO VỆ:31/05/2013
SVTH : MAI THỊ KIM YẾN
ĐÀ NẴNG, 05/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 đãsinh thà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ômnay
Em xin chân thành cảm ơn thầy, cô trong khoa Tin học trường Đại học Sưphạm-Đại học Đà Nẵng đã tận tình giảng dạy và trang bị kiến thức cho em trongthời gian em học tập tại trường
Khóa luận tốt nghiệp này được hoàn thành dưới sự chỉ dạy tận tình và chu đáocủa cô Phạm Dương Thu Hằng Em xin chân thành tỏ lòng biết ơn sâu sắc đến cô,người đã dìu dắt và định hướng cho em trong quá trình nghiên cứu để hoàn thànhluận văn nà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 này
Đà Nẵng, ngày 5/4/2013
Trang 3Em xin cam đoan :
Những nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trựctiếp của cô Phạm Dương Thu Hằng
Mọi tham khảo dùng trong đồ án đề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 đề viphạm khác do Khoa và Nhà trường đã phổ biến
Đà Nẵng, ngày 5/4/2013Mai Thị Kim Yến
Trang 4LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH SÁCH HÌNH VẼ
DANH SÁCH BẢNG BIỂU
LỜI MỞ ĐẦU 1
TÓM TẮT ĐỒ ÁN TỐT NGHIỆP 2
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 3
1.GIỚI THIỆU VỀ ĐỀ TÀI: 3
1.1Tên đề tài: 3
1.2Bối cảnh ra đời: 3
1.3Mô tả ý tưởng bài toán: 3
1.4Ý nghĩa: 4
2.MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI 4
2.1Mục tiêu của đề tài: 4
2.2Phạm vi của đề tài: 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6
1.GIỚI THIỆU VỀ NET FRAMEWORK 6
1.1Giới thiệu về Net Framework: 6
1.2Vai trò: 6
1.3Các thành phần của NET Framework: 6
1.3.1Thực thi ngôn ngữ chung CLR ( Common Language Runtime): 6
1.3.2CLR là bộ thi hành ngôn ngữ chung (Common Language Runtime) 6
1.3.3Các lớp lập trình hợp nhất (Unified Programming Classes) 7
2.CÔNG CỤ PHÂN TÍCH, THIẾT KẾ DỮ LIỆU 7
2.1Microsoft Visual Studio 2008 7
2.2Microsoft SQL Server Express 2005 7
3.GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C#: 8
4.KHÁI NIỆM CƠ SỞ DỮ LIỆU: 10
4.1Khái niệm Cơ sở dữ liệu: 10
4.2Quan hệ cơ sở dữ liệu: 10
5.GIỚI THIỆU MÔ HÌNH LẬP TRÌNH 3 LỚP( 3-TIER) 10
5.1Khái niệm: 11
5.2Nhiệm vụ: 11
5.3Đặc điểm: 11
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 13
1.BẢNG CÔNG VIỆC VÀ SƠ ĐỒ GANTT: 13
1.1Bảng công việc 13
1.2Sơ đồ gantt: 13
2SƠ ĐỒ NGỮ CẢNH: 14
3CÁC CHỨC NĂNG CỦA CHƯƠNG TRÌNH: 14
Trang 55ĐẶC TẢ USE-CASE: 17
5.1Use-Case: Đăng Nhập 17
5.2User-Case : Quản Lý Sản phẩm 17
5.3User-Case : Quản Lý Khách Hàng, NCC 17
5.4User-Case : Quản Lý Bán Hàng 17
5.5User-Case : Báo cáo 17
5.6User-Case : tra cứu 17
5.7User-Case : Quản Lý Nhân Viên 17
6.BIỂU ĐỒ LUỒNG DỮ LIỆU MỨC ĐỈNH: 19
6.1Ký hiệu hình vẽ: 19
6.2Vẽ sơ đồ: 19
7.BIỂU ĐỒ LUỒNG DỮ LIỆU MỨC DƯỚI ĐỈNH: 21
7.1Quản lý sản phẩm: 21
7.2Quản lý xuất nhập kho: 21
7.3Quản lý bán hàng: 22
7.4Báo cáo: 22
8.SƠ ĐỒ HỆ THỐNG: 23
8.1Sơ đồ Class: 23
8.2Sơ đồ tuần tự: 24
8.3Sơ đồ hoạt động: 25
CHƯƠNG 4 : THIẾT KẾ CƠ SỞ DỮ LIỆU 26
1.TẠO CÁC BẢNG VÀ THUỘC TÍNH 26
1.1Đăng nhập: 26
1.2Bảng nhân viên: 27
1.3Bảng sản phẩm: 27
1.4Bảng khách hàng: 28
1.5Bảng hoá đơn nhập: 28
1.6Bảng hoá đơn nhập chi tiết: 29
1.7Bảng hoá đơn xuất: 29
1.8Bảng hoá đơn xuất chi tiết: 30
2.MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 30
2.1Các thực thể và thuộc tính của nó: 30
2.2Xác định quan hệ giữa các thực thể: 31
2.3Mô hình cơ sở dữ liệu quan hệ: 31
CHƯƠNG 5 : TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 32
1.GIAO DIỆN FORM CHÍNH: 32
2.GIAO DIỆN FORM ĐĂNG NHẬP: 32
3.GIAO DIỆN FORM ĐĂNG KÝ: 33
4.GIAO DIỆN FORM ĐỔI MẬT KHẨU: 33
5.GIAO DIỆN FORM NHẬP SẢN PHẨM: 34
6.GIAO DIỆN FORM THÔNG TIN VỀ SẢN PHẨM NHẬP: 34
7.GIAO DIỆN FORM NHÂN VIÊN: 35
Trang 68.GIAO DIỆN FORM KHÁCH HÀNG: 35
9.GIAO DIỆN FORM HOÁ ĐƠN NHẬP: 36
10.GIAO DIỆN FORM HOÁ ĐƠN XUẤT: 36
11.GIAO DIỆN FORM HÀNG TỒN KHO: 37
12.GIAO DIỆN FORM BÁO CÁO: 37
12.1Báo cáo hàng nhập 37
12.2Báo cáo hàng xuất: 38
12.3Báo cáo hàng tồn kho: 38
13.Giao diện form xuất exel 38
KẾT LUẬN 40
1.NHẬN XÉT: 40
1.1Ưu điểm 40
1.2Nhược điểm 40
2.HƯỚNG PHÁT TRIỂN: 40
3.NHỮNG BÀI HỌC RÚT RA TỪ QUÁ TRÌNH THỰC HIỆN ĐỒ ÁN: 40
TÀI LIỆU THAM KHẢO 41
Trang 7Hình 1: Mô hình 3 tầng trong lập trình C# 11
Hình 2 Sơ đồ Gantt 13
Hình 3 Sơ đồ ngữ cảnh 14
Hình 4 Mô hình phân rã chức năng 15
Hình 5 Sơ đồ Use Case 18
Hình 6: Mô hình dữ liệu mức đỉnh 20
Hình 7 : Quản lý sản phẩm 21
Hình 8: Quản lý xuất nhập kho 21
Hình 9: Quản lý bán hàng 22
Hình 10: Biểu đồ dữ liệu mức dưới đỉnh-báo cáo 22
Hình 11: Sơ đồ class 23
Hình 12 Sơ đồ tuần tự 24
Hình 13: Sơ đồ hoạt động- đăng nhập 25
Hình 14 Sơ đồ hoạt động- xử lý trong form 25
Hình 15 : Mô hình cơ sở dữ liệu quan hệ 31
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 đó
ta không thể không kể đến đóng góp ngành Công Nghệ Thông Tin Sự phát triểncủa Công nghệ thông tin đã len lõi vào khoe hở của cuộc sống hằng ngày để tạo nên
sự tiện lợi cho mọi người Trong thời đại ngày nay, cuộc sống của con người đã cảithiệ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ầu thiế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ăn hoá- xã hội đều nhằm mục đích phục vụ đời sống, sức khoẻ, tinh thầncho 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ựchơ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 muabán bình thường hiện nay như việc thanh toán hoá đơn bằng tiền mặt, các bộ phậnquả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 muabá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 được mọ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ầnmềm ứng dụ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 Tin học trường Đại học Sư phạm –
Đạ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ý cửa hàng mỹ phẩm”.
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 đổikinh nghiệ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.Bên cạnh đó, em cũng xin gởi lời cảm ơn đến các thầy cô trong khoa Tin họctrường Đại Học Sư Phạm Đà Nẵng, đặc biệt là cô Phạm Dương Thu Hằng, người đãtrực tiếp giám sát, hướng dẫn em trong thời gian hoàn thành đồ án này
Em xin chân thành cảm ơn!
Sinh viên
Mai Thị Kim Yến
Trang 10TÓM TẮT ĐỒ ÁN TỐT NGHIỆP
Tên đề tài: “Phân tích, thiết kế và xây dựng phần mềm quản lý cửa hàng mỹ phẩm”.
Trong quá trình công nghiệp hoá, hiện đại hoá đất nước thì công nghệ thôngtin 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ànhnghề nào cũng đều cần tin học hoá và lĩnh vực mua bán cũng không phải là trườnghợp ngoại lệ Quá trình hoàn thành đồ á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 11CHƯƠ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ý cửa hàng mỹ phẩm”
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 đạihoá 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ềmngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho conngườ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ệp vụ đượ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ínhxá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ện lợi, quen thuộc, tính tương thích cao, bảo mật cao… Các phần mềm giúptiết kiệm một lượ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ả trong công việc
Cùng với sự phát triển của đời sống thì nhu cầu làm đẹp, chăm sóc bản thâncủa con người cũng được nâng cao, mà nhất là phụ nữ Vì thế, nhiều loại mỹ phẩm
ra đời nhằm giúp chị em phụ nữ chăm sóc bản thân mình tốt hơn Hàng loạt các cửahàng mỹ phẩm xuất hiện với đa dạng mỹ phẩm Vì thế vấn đề quản lý sẽ trở nênkhó 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ấpthiế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âydựng phần mềm quản lý cửa hàng mỹ phẩm” nhằm đáp ứng các nhu cầu trong việcquả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:
Trong 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ựngnên phầ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ọn thờ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ế cao cho các doanh nghiệp
Trang 12Mộ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 mỹ phẩm.
- 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ậtthường xuyên
- Cửa hàng mỹ phẩm ngày càng trở nên thân thiết với người dân, nó đã vàđang dần trở thành địa điểm tiêu dùng không thể thiếu được của mỗi người, vì nhucầu chăm sóc bản thân ngày càng được ưa chuộng
Do vậy để đảm bảo cho hệ thống cửa hàng có thể hoạt động tốt, cũng như đểthu hú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ản lý 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án diễ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ý cửa hàng mỹ phẩm có thể cung cấp một phần mềmmua bán với quy mô lớn cho tất cả các loại mỹ phẩm, nhằm đáp ứng nhu cầu chămsóc sức khoẻ và sắc đẹp cho chị em phụ nữ, đồng thời đem lại những thuận lợi chongườ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 đã đemlại nhữ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.
- Tạo ra lợi thế cạnh tranh cho doanh nghiệp, giúp cho doanh nghiệp kịp thời
đổi mớ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àngnhững tiệ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 nhu cầ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ý cửahàng mỹ phẩm với đầy đủ chức năng nhằm đem lại những thuận lợi nhất định cho
Trang 13việ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ây dựng với các chức năng cơ bản sau:
- Phần mềm Quản lý cửa hàng mỹ phẩm nhằm ứng dụng CNTT để giải quyết
các vấ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ến mã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áo
doanh 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ản
phầ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 14CHƯƠ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ểnbở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; truycập, kết nố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
cung cấ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:
- Quản lý bộ nhớ.
- Thực thi mã nguồn.
- Xác nhận sự an toàn của code.
- Thu gom rác.
- Tất cả các ngôn ngữ lập trình đều có một runtime (thi hành), một dịch vụ
hoạt động cùng với ngôn ngữ lập trình
1.3.2 CLR là bộ thi hành ngôn ngữ chung (Common Language Runtime)
Là 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ủa
ngườ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
Trang 15thà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 docá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ột cá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ý giaodịch logic
- CLR cung cấp một runtime chung mà nó được sử dụng với tất cả các ngôn
ngữ 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ểnnghiên cứ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ìnhkhá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ôngviệc phát triển trở 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
cho mọ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ậptrình hợ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ốn trong 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ênthiế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
2.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ản lý 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
Trang 163 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ựcthi nhữ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# đượcxây dựng trên nề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:
rắm củ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ôn ngữ C / C++ nhưng được cải tiến để làm cho ngôn ngữ đơn giảnhơ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ệ
Với ngôn ngữ C#, chúng ta chỉ bị giới hạn ở chính bản thân của chúng
ta Ngôn ngữ này không đặt ra những ràng buộc lên những việc có thểlàm
Trang 17- C# được sử dụng cho nhiều dự án khác nhau như: tạo ra ứng dụng xửlý văn bản, ứng dụng đồ họa, xử lý bảng tính; thậm chí tạo ra nhữngtrình biên dịch cho các ngôn ngữ khác
- 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àm bấ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
dàng của ngôn ngữ Visual Basic
C#, 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 NETruntime
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)
- C# không có tiêu bản
Trang 18- Có thêm Properties method, các phương thức có thể truy cập dữ liệu bên
trong lớp
- Có reflection: Cho phép đọc thông tin từ các siêu dữ liệu để tạo ra một đối
tượng (có kiểu Type) bao gói các thông tin đó lại
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 chocấ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ớichươ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 sẽ một cách chọn lọc lúccầ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
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 đồ quan hệ gồmcác thuộ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ức thà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ỗithể hiện củ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ácthực thể đó
5 GIỚI THIỆU MÔ HÌNH LẬP TRÌNH 3 LỚP( 3-TIER)
Trang 19Hì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
Vớ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ếpgiữa các ứng dụng, chúng đóng vai trò giao tiếp và truyền tải dữ liệu giữa các ứngdụng với nhau
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:
Trang 20Đặc điểm đáng chú ý của mô hình này:
- Ưu điểm:
Dữ 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 đượcgọi bằ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
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ênviệc khở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ệukiểu nguyê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ồn tươ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 21CHƯƠ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
SỐ NGÀYTHỰCHIỆN
KẾT QUẢ
1.2 Sơ đồ gantt:
Hình 2 Sơ đồ Gantt
Trang 22Bá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
2 SƠ ĐỒ NGỮ CẢNH:
Hình 3 Sơ đồ ngữ cảnh
3 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
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ượng hà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:
<tên chức năng>
Trang 23Sơ đồ phân rã chức năng:
Hình 4 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:
Quả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.
Đổ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ênsản phẩ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
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
phẩm cũng như nhà sản xuất
Trang 24Quản lý xuất nhập kho: Quản lý số lượng hàng hoá trong kho, kiểm kê sảnphẩm khi nhập hoặc xuất.
bán hàng thì nhập hoá đơn xuất
hàng, xuất hàng
xuất hàng
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ườiquản lý yêu cầu
4 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
Danh mục nhân viên
Danh mục hàng tồn kho
Báo cáo
Lập ma trận thực thể chức năng:
Bảng 2: Bảng ma trận thực thể chức năng
Các thực thể
a Danh mục sản phẩm
b Hoá đơn nhập
c Hoá đơn xuất
d Danh mục khách hàng
e.Danh mục nhân viên
f Danh mục hàng tồn kho
g Báo cáo
Trang 255 ĐẶC TẢ USE-CASE:
5.1 Use-Case: Đăng Nhập
- Actor: Quản trị, Nhân viên
- Input: Nhập đầy đủ user và password
- Output: Nếu user và password hợp lệ thì sẽ hiển thị ra giao diện chính củaphần mềm Nếu user và password không hợp lệ thì sẽ thông báo lỗi
5.2 User-Case : Quản Lý Sản phẩm
- Actor: Nhân Viên
- Input: Nhập đầy đủ thông tin về sản phẩm cần quản lý
- Output: Nếu thông tin nhập liệu chính xác thì hệ thống sẽ thực hiện các chứcnăng quản lý Nếu không hợp lệ thì hệ thống sẽ yêu cầu nhập lại thông tin chochính xác
5.3 User-Case : Quản Lý Khách Hàng, NCC
- Actor: Nhân Viên
- Input: Nhập đầy đủ thông tin cần quản lý của khách hàng
- Output: Nếu thông tin nhập liệu chính xác thì hệ thống sẽ thực hiện các chứcnăng quản lý Nếu không hợp lệ thì hệ thống sẽ yêu cầu nhập lại thông tin chochính xác
5.4 User-Case : Quản Lý Bán Hàng
- Actor: Nhân Viên
- Input: Nhập đầy đủ thông tin cần quản lý khi nhập hàng, xuất hàng
- Output: Nếu thông tin nhập liệu chính xác thì hệ thống sẽ thực hiện các chứcnăng quản lý Nếu không hợp lệ thì hệ thống sẽ yêu cầu nhập lại thông tin chochính xác
5.5 User-Case : Báo cáo
- Actor: Nhân Viên
- Input: Nhập đầy đủ thông tin các hoá đơn cần báo cáo
- Output: Nếu thông tin nhập liệu chính xác thì hệ thống sẽ thực hiện các chứcnăng báo cáo theo từng đơn hàng, theo yêu cầu của nhân viên.Nếu không hợp
lệ thì hệ thống sẽ yêu cầu nhập lại thông tin cho chính xác
5.6 User-Case : tra cứu
- Actor: Nhân Viên
- Input: Tra cứu các thông tin liên quan đến nhân viên, khách hàng, sản phẩm,các hoá đơn nhập, xuất, hàng tồn kho là bao nhiêu
- Output: Sauk hi tra cứu, hệ thống sẽ trả về các thông tin mà người nhập yêucầu Nếu nhập không chính xác thì hệ thống sẽ báo lỗi và yêu cầu nhập lại
5.7 User-Case : Quản Lý Nhân Viên
- Actor: Quản Trị
- Input: Nhập đầy đủ thông tin cần quản lý nhân viên