DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮTCNTT: công nghệ thông tin CSDL: cơ sở dữ liệu CBCNV: Cán bộ công nhân viên CLR: Common Language Runtime HQTCSDL: hệ quản trị cơ sở dữ liệu ISO: Int
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
- -
KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG PHẦN MỀM QUẢN LÝ HOẠT ĐỘNG KINH DOANH CƠNG TY MAY HỊA THỌ - ĐƠNG HÀ
Sinh viên thực hiện:
Trang 2LỜI CẢM ƠN
Sau một thời gian thực hiện khóa luận tốt nghiệp, đến nay mọi công việc liên quan đến khóa luận đã hoàn tất Để có được sự thành công này , trước tiên, em xin gửi lời cảm ơn chân thành tới tất cả các thầy cô giáo trường Đại học Kinh
tế Huế, đặc biệt là các thầy cô ở Khoa Hệ Thống Thông tin Kinh tế, những người đã dày công dạy dỗ, truyền đạt những kinh nghiệm quý báu
Em cũng xin bày tỏ lời cảm ơn chân thành tới thầy Hồ Quốc Dũng, người đã tận tình hướng dẫn em trong suốt quá trình làm khóa luận tốt nghiệp thầy đã tận tình hướng dẫn giúp đỡ quan tâm đầy trách nhiệm từ lúc chọn đề tài đến khi hoàn thành giúp đề tài của em được thành công tốt nhất có thể
Em xin gửi lời cảm ơn tới Ban lãnh đạo, các anh chị nhân viên trong Công ty may Hòa Thọ - Đông Hà đã góp ý cũng như tạo điều kiện thuận lợi, cung cấp những tài liệu cần thiết và hướng dẫn nhiệt tình để giúp em thực hiện đề tài này
Cám ơn bạn bè những người đã luôn sát cánh, cùng chia sẻ khó khăn và giúp
đỡ trong quá trình học tập Mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp, bổ sung ý kiến của quý Thầy
Cô và các bạn để khóa luận ngày càng hoàn thiện hơn
Huế, tháng 5 năm 2016 Sinh viên thực hiện
Hồ Thị Hồng Nhung
Đại học Kinh tế Huế
Trang 3MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v
DANH MỤC BẢNG vi
DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ vii
PHẦN 1 MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2.Mục tiêu nghiên cứu 2
3.Đối tượng, phạm vi nghiên cứu 2
4.Phương pháp nghiên cứu 2
5.Cấu trúc đề tài 3
PHẦN 2 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 4
CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG TY MAY HÒA THỌ - ĐÔNG HÀ 4
1.1 Giới thiệu tổng quan về công ty 4
1.1.1 Quá trình hình thành và phát triển 4
1.1.2 Tổ chức bộ máy công ty may Hòa Thọ - Đông Hà 4
1.2 Tình hình hoạt động kinh doanh của công ty 5
1.2.1 Đặc điểm kinh tế kỹ thuật 5
1.2.2 Kết quả hoạt động kinh doanh 5
1.3 Đánh giá kết quả sản xuất kinh doanh và một số nhiệm vụ năm 2015 6
1.3.1 Tình hình 6
1.3.1.1 Thuận lợi 6
1.3.1.2 Khó khăn 7
1.3.2 Thực hiện các chỉ tiêu 7
CHƯƠNG 2 CƠ SỞ LÝ LUẬN VỀ VIỆC PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM QUẢN LÝ 8
2.1.Quy trình xây dựng phần mềm quản lý 8
2.1.1 Khảo sát tìm hiểu yêu cầu 9
Đại học Kinh tế Huế
Trang 42.1.2 Phân tích yêu cầu 10
2.1.3 Thiết kế hệ thống 10
2.1.4 Triển khai thực hiện 10
2.1.5 Kiểm thử 11
2.1.6 Bảo trì và phát triển 11
2.2 Tổng quan về phương pháp lập trình thủ tục 12
2.2.1 Giới thiệu về lập trình thủ tục 12
2.2.2 Ưu điểm và nhược điểm của lập trình hướng thủ tục 13
2.3 Tổng quan về ngôn ngữ lập trình C- Sharp (C#) 13
2.3.1 Tổng quan về nền tảng NET Framework 13
2.3.2 Tổng quan về kiến trúc ADO.NET 15
2.3.3 Giới thiệu về ngôn ngữ lập trình C# 17
2.3.4 Tổng quan về Microsoft Visual Studio 19
2.4 Tổng quan về hệ quản trị CSDL MS SQLServer và ngôn ngữ T-SQL 20
2.4.1 Giới thiệu về hệ quản trị CSDL MS SQLServer 20
2.4.2 Giới thiệu ngôn ngữ T-SQL 21
CHƯƠNG 3 KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ XÂY DỰNG PHẦN MỀM QUẢN LÝ HOẠT ĐỘNG KINH DOANH CÔNG TY MAY HÒA THỌ - ĐÔNG HÀ……… 23
3.1 Khảo sát quy trình hoạt động kinh doanh Công ty may Hòa Thọ - Đông Hà 23 3.1.1 Mô tả hoạt động 23
3.1.2 Đánh giá hệ thống 25
3.2 Phân tích hệ thống 26
3.2.1 Sơ đồ phân rã chức năng (BFD – Business Function Diagram) 27
3.2.2 Mô tả chức năng 28
3.2.3 Sơ đồ ngữ cảnh (CD - Context Diagram) 31
3.2.4 Sơ đồ luồng dữ liệu (DFD - Data Folow Diagram) 32
3.3 Thiết kế hệ thống 37
3.3.1 Kiến trúc hệ thống 37
Đại học Kinh tế Huế
Trang 53.3.2.1 Mô hình thực thể mối quan hệ 40
3.3.2.2 Thiết kế cơ sở dữ liệu vật lý 48
3.3.3 Thiết kế thuật toán 54
3.3.2.1 Giải thuật đăng nhập hệ thống 54
3.3.2.2 Giải thuật thêm dữ liệu 55
3.3.2.3 Giải thuật sửa dữ liệu 56
3.3.2.4 Giải thuật xóa dữ liệu 57
3.3.2.5 Giải thuật tìm kiếm dữ liệu 58
3.3.2.6 Giải thuật đổi mật khẩu 59
3.3.2.7 Giải thuật thống kê 60
3.4 Thiết kế giao diện 61
PHẦN 3 KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
Đại học Kinh tế Huế
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
CNTT: công nghệ thông tin
CSDL: cơ sở dữ liệu
CBCNV: Cán bộ công nhân viên
CLR: Common Language Runtime
HQTCSDL: hệ quản trị cơ sở dữ liệu
ISO: International Organization for Standardization (tổ chức tiêu chuẩn hóa quốc tế)
IDE: Integrated Developement Environment
NPL: nguyên phụ liệu
RDBMS: Relation Database Management System(hệ quản trị cơ sở dữ liệu quan hệ)
SX: sản xuất
SQL: Structured Query Language (ngôn ngữ truy vấn có cấu trúc)
SXKD: Sản xuất kinh doanh
TCT: Tổng công ty
UBND: Ủy ban nhân dân
XML: eXtensible Markup Language (ngôn ngữ đánh dấu mở rộng) Đại học Kinh tế Huế
Trang 7DANH MỤC BẢNG
Bảng 1 Cấu trúc dữ liệu bảng NGUOIDUNG 48
Bảng 2 Cấu trúc dữ liệu bảng NHANVIEN 48
Bảng 3 Cấu trúc dữ liệu bảng KHACHHANG 49
Bảng 4 Cấu trúc dữ liệu bảng SANPHAM 49
Bảng 5 Cấu trúc dữ liêụ bảng NGUYENLIEU 49
Bảng 6 Cấu trúc dữ liệu bảng KHOHANG 50
Bảng 7 Cấu trúc dữ liệu bảng HOADON 50
Bảng 8 Cấu trúc dữ liệu bảng DONDATHANG 50
Bảng 9 Cấu trúc dữ liệu bảng PHIEUNHAPKHO 50
Bảng 10 Cấu trúc dữ liệu bảng PHIEUXUATKHO 51
Bảng 11 Cấu trúc dữ liệu bảng CHITIETHOADON 51
Bảng 12 Cấu trúc dữ liệu bảng CHITIETDDH 51
Bảng 13 Cấu trúc dữ liệu bảng NHAPTHANHPHAM 51
Bảng 14 Cấu trúc dữ liệu bảng NHAPNGUYENLIEU 52
Bảng 15 Cấu trúc dữ liệu bảng XUATTHANHPHAM 52
Bảng 16 Cấu trúc dữ liệu bảng XUATNGUYENLIEU 52
Bảng 17 Cấu trúc dữ liệu bảng EDIT 52
Đại học Kinh tế Huế
Trang 8DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ
Hình 1.1 Sơ đồ tổ chức 5
Hình 2.1 Mô hình thác nước(waterfall model) 9
Hình 2.2 Hình ảnh minh họa lập trình thủ tục 12
Hình 2.3 Kiến trúc ADO.NET 17
Hình 3.1 Sơ đồ chức chức năng BFD 28
Hình 3.2 Chức năng quản lý danh mục 28
Hình 3.3 Chức năng quản lý nhập – xuất 29
Hình 3.4 Chức năng quản lý bán hàng 30
Hình 3.5 Chức năng thống kê - báo cáo 30
Hình 3.6 Sơ đồ ngữ cảnh CD 32
Hình 3.7 DFD mức đỉnh 34
Hình 3.8 Sơ đồ phân rã mức 1 cho chức năng quản lý danh mục 35
Hình 3.9 Sơ đồ phân rã mức 1 cho chức năng quản lý nhập – xuất 36
Hình 3.10 Sơ đồ phân rã mức 1 cho chức năng quản lý bán hàng 36
Hình 3.11 Sơ đồ phân rã mức 1 cho chức năng thống kê – báo cáo 37
Hình 3.12 Kiến trúc hệ thống 40
Hình 3.13 Sơ đồ ERD 46
Hình 3.14 Sơ đồ mô hình dữ liệu quan hệ 53
Hình 3.15 Giải thuật đăng nhập 54
Hình 3.16 Giải thuật thêm dữ liệu 55
Hình 3.17 Giải thuật sửa dữ liệu 56
Hình 3.18 Giải thuật xóa dữ liệu 57
Hình 3.19 Giải thuật tìm kiếm dữ liệu 58
Đại học Kinh tế Huế
Trang 9Hình 3.20 Giải thuật đổi mật khẩu 59
Hình 3.21 Giải thuật thống kê 60
Hình 3.22 Giao diện đăng nhập 61
Hình 3.23 Giao diện trang chủ 62
Hình 3.24 Giao diện tài khoản 62
Hình 3.25 Giao diện đổi mật khẩu 63
Hình 3.26 Giao diện phân quyền 63
Hình 3.27 Giao diện đổi mật khẩu 64
Hình 3.28 Giao diện danh mục 64
Hình 3.29 Giao diện nhân viên 65
Hình 3.30 Giao diện khách hàng 65
Hình 3.31 Giao diện sản phẩm 66
Hình 3.32 Giao diện nguyên liệu 66
Hình 3.33 Giao diện kho hàng 67
Hình 3.34 Giao diện nhập xuất kho 67
Hình 3.35 Giao diện danh sách phiếu nhập kho 68
Hình 3.36 Giao diện phiếu nhập kho 68
Hình 3.37 Giao diện danh sách phiếu xuất kho 69
Hình 3.38 Giao diện phiếu xuất kho 69
Hình 3.39 Giao diện quản lý bán hàng 70
Hình 3.40 Giao diện đơn đặt hàng 71
Hình 3.41 Giao diện hóa đơn 72
Hình 3.42 Giao diện thống kê 72
Đại học Kinh tế Huế
Trang 10PHẦN 1 MỞ ĐẦU
1 Lý do chọn đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của Công nghệ thông tin (CNTT) CNTT đã ở một bước phát triển cao đó là số hóa tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau
Không chỉ được ứng dụng trong các lĩnh vực đời sống xã hội, CNTT còn mang lại bước phát triển mới cho các hoạt động về lĩnh vực kinh tế Hiện nay, CNTT đang hiện diện và đóng vai trò quan trọng trong quá trình quản trị, điều hành quá trình sản xuất kinh doanh của doanh nghiệp
Công ty may Hòa Thọ - Đông Hà thành lập được 9 năm và đang hoạt động trong lĩnh vực sản xuất gia công mặt hàng may mặc xuất khẩu sang các thị trường Mỹ, Châu
Âu, Nhật Bản… Công ty luôn không ngừng nâng cấp hệ thống cơ sở vật chất, nâng cao trình độ chuyên môn cho công nhân viên nhằm nâng cao chất lượng sản phẩm Hiện nay, công ty Hoà Thọ đã có thương hiệu trong nước và trên thế giới nhiều khách hàng lớn có thương hiệu lớn như ADIDAS, NIKE, COSTCO,HBI… đã biết đến thương hiệu Hoà Thọ
Hiện nay, công ty vẫn đang hoạt động ổn định và quản lý hoạt động sản xuất, kinh doanh theo phương thức truyền thống Tuy nhiên, trong giai đoạn nền kinh tế canh tranh khốc liệt, để phát triển và nâng công ty lên một tầm cao mới, thì công ty cần có sự thay đổi trong phương thức quản trị, điều hành quá trình sản xuất kinh doanh Công việc quản lý kinh doanh một khi được “số hóa” sẽ giúp ích đáng kể cho công ty trong việc tiết kiệm chi phí, thời gian, nhân sự nhằm tăng tính cạnh tranh và tối đa hóa lợi nhuận
Nhận thấy tầm hữu ích của ứng dụng CNTT trong quản lý doanh nghiệp, đồng thời muốn xây dựng một phần mềm hỗ trợ cho hoạt động kinh doanh, số hóa các dữ liệu giúp cho việc truy xuất dữ liệu, báo cáo một cách nhanh chóng Tôi đã chọn đề
tài Xây dựng phần mềm quản lý hoạt động kinh doanh công ty may Hòa Thọ -
Đông Hà làm đề tài khóa luận tốt nghiệp của mình
Đại học Kinh tế Huế
Trang 112 Mục tiêu nghiên cứu
Mục tiêu tổng quát: Trên cơ sở nghiên cứu và phân tích các yêu cầu của công tác quản lý hoạt động kinh doanh, nghiên cứu mô hình hệ thống thống tin quản lý nhập - xuất nguyên phụ liệu phục vụ cho hoạt động gia công, xuất bán thành phẩm và xây dựng phần mềm quản lý hoạt động kinh doanh, đáp ứng được các yêu cầu quản lý, xử
lý thông tin về nguyên phụ liệu
3 Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu
Quy trình kinhh doanh của công ty may Hòa Thọ Đông Hà
Phạm vi nghiên cứu
Về nội dung: Nội dung chủ yếu của đề tài là xây dựng cho công ty may Hòa Thọ - Đông Hà một phần mềm quản lý hoạt động kinh doanh.
Về không gian: Công ty may Hòa Thọ - Đông Hà khu công nghiệp Nam Đông
Hà, phường Đông Lương, thành phô Đông Hà, tỉnh Quảng Trị
Về thời gian: Đề tài thực hiện trong vòng hơn 3 tháng kể từ ngày 18/01/2016 đến ngày 15/05/2016
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết
Phương pháp quan sát: trực tiếp quan sát quy trình hoạt động kinh doanh của
công ty
Phương pháp phỏng vấn: phỏng vấn nhân viên công ty về các nghiệp vụ trong
quy trình kinh doanh
Đại học Kinh tế Huế
Trang 12 Phương pháp thu thập tài liệu: thu thập các chứng từ liên quan đến các nghiệp
vụ phát sinh trong quy trình kinh doanh Thu thập thông tin qua các nguồn sách báo,
internet, các tài liệu nghiên cứu ngôn ngữ và công nghệ liên quan
Phương pháp phân tích, thiết kế hệ thống: Dựa trên những thông tin thu được
để tiến hành phân tích, thiết kế hệ thống bao gồm những chức năng chính của phần mềm sẽ được xây dựng thông qua quá trình mô hình hóa hệ thống, chuẩn hóa cơ sở dữ
liệu
Phương pháp nghiên cứu thực nghiệm
Phân tích yêu cầu thực tế và xây dựng các bước phân tích hệ thống để hỗ trợ
lập trình, xây dựng ứng dụng Đánh giá kết quả đạt được
5 Cấu trúc đề tài
Ngoài phần mở đầu và kết luận, nội dung khóa luận được trình bày trong 3
chương với kết cấu như sau:
Chương 1: Giới thiệu về Công ty may Hòa Thọ - Đông Hà
Chương 2: Cơ sở lý luận về việc phân tích, thiết kế và xây dựng phần mềm quản
Trang 13PHẦN 2 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG TY MAY HÒA THỌ - ĐÔNG
HÀ 1.1 Giới thiệu tổng quan về công ty
1.1.1 Quá trình hình thành và phát triển
Công ty may Hòa Thọ - Đông Hà được thành lập theo quyết định số 220/ QD/VP/HT của Hội Đồng Quản Trị Tổng Công ty Cổ Phần Dệt May Hòa Thọ ngày 05 tháng 04 năm 2007
Sau khi thành lập Công ty đã không ngừng ổn định tổ chức, sắp xếp lao động, cải tiến công tác sản xuất Những ngày mới thành lập Công ty đã gặp không ít khó khăn như: tay nghề công nhân còn yếu, một số công nhân ý thức chưa cao….nhưng không
vì thế mà ảnh hưởng đến công tác sản xuất của Công ty
Doanh thu của công ty ngày một đi lên đó chính là nhờ sự nổ lực của ban lãnh đạo Công ty và tập thể CBCNV Công ty thêm vào đó là sự giúp đỡ nhiệt tình của Ban lãnh đạo Tổng Công ty đặc biệt là sự tạo điều kiện hết sức thuận lợi của UBND tỉnh Quảng Trị và các cơ quan chức năng trong tỉnh nên Công ty ngày càng đi vào ổn định
và phát triển
1.1.2 Tổ chức bộ máy công ty may Hòa Thọ - Đông Hà
Đại học Kinh tế Huế
Trang 14Hình 1.1 Sơ đồ tổ chức
1.2 Tình hình hoạt động kinh doanh của công ty
1.2.1 Đặc điểm kinh tế kỹ thuật
Đặc điểm về vốn: Chủ yếu sử dụng vốn vay, vay những đồng tiền có lãi suất
ưu đãi nhất, quay vòng đồng vốn nhanh để tạo ra lợi nhuận
Nguyên vật liệu: Công ty chủ yếu may gia công cho nên nguyên vật liệu phụ thuộc vào khách hàng, chủ yếu là nhập khẩu từ ngước ngoài
Đặc điểm quy trình công nghệ, quy trình sản xuất: Quy trình công nghệ và quy trình sản xuất theo dây chuyền công nghiệp tuân thủ hệ thống ISO 9001 – 2008 Đặc điểm về thị trường, thị phần, đối thủ: Thị trường chủ yếu là Mỹ, Châu âu, Nhật bản
Đặc điểm về thương hiệu: Tập đoàn Hoà Thọ hiện nay đã có thương hiệu trong nước và trên thế giới nhiều khách hàng lớn có thương hiệu lớn như ADIDAS, NIKE, COSTCO, HBI… đã biết đến thương hiệu Hoà Thọ
1.2.2 Kết quả hoạt động kinh doanh
Doanh thu năm 2015
Doanh thu gia công năm 2015 đạt 110 tỷ đồng vượt so với kế hoạch là 13,4% Năm 2015 vượt so với cùng kỳ là 24,2%
Đại học Kinh tế Huế
Trang 15 Nộp ngân sách nhà nước năm 2015
Đến hết tháng 11/2013 Công ty đã nộp ngân sách Nhà nước đạt trên 10,1 tỷ đồng vượt 44,2% kế hoạch giao
Lương bình quân của công nhân
Năm Lương bình quân
(Nguồn từ Báo cáo kết quả kinh doanh Công ty may Hòa Thọ - Đông Hà)
1.3 Đánh giá kết quả sản xuất kinh doanh và một số nhiệm vụ năm
Nhờ sự quan tâm chỉ đạo sát sao của lãnh đạo UBND Tỉnh và các Sở, Ban ngành trong Tỉnh, tạo điều kiện cho Công ty có nhiều thuận lợi để hoàn thành tốt nhiệm vụ năm 2015
Được sự quan tâm và chỉ đạo sát sao của Tổng giám đốc, sự giúp đỡ của các đơn vị, các phòng ban nên công tác SXKD đã có hiệu quả
Đại học Kinh tế Huế
Trang 161.3.1.2 Khó khăn
Chưa có khách hàng chủ lực nên vẫn còn tình trạng sản xuất hàng nhỏ lẽ dẩn đến rải chuyền nhiều, năng suất thấp chi phí gia công cao, chi phí thuê máy, thay thế phụ tùng máy nhiều Đặc biệt là cuối tháng 8 và toàn bộ Quý IV/2015 Cụ thể:
Về doanh thu đầu người 8 tháng đầu năm doanh thu đầu người đạt bình quân 13,5$ ( trong đó có chuyền mới) nhưng 4 tháng cuối năm chỉ đạt hơn doanh thu bình quân hơn 10$/người Như vậy, doanh thu của Đông hà 4 tháng cuối năm bị giảm mất hơn 11 tỷ Chính vì vậy lợi nhuận, tiền lương bình quân, thu nhập bình quân, trích lương dự phòng bị giảm và không đạt như kế hoạch
Do 6 tháng đầu năm 2015 Công ty đang xây dựng giai đọan II vì là đơn vị ở xa nên sự hổ trợ của TCT có mặt hạn chế chính vì vậy Công ty vừa tập trung cho sản xuất vừa bám sát xây dựng nên bị ảnh hưởng lớn trong điều hành SX
Việc giao nhận NPL còn gặp nhiều khó khăn, phải vận chuyển nhiều Quy mô sản xuất của nhà máy lớn nhưng phương tiện vận chuyển nhỏ nên mất thời gian nhiều, phục vụ SX chưa được thuận lợi
Thu nhập bình quân khoảng 4,6tđ/n/tháng
Lương bình quân khoảng 3,8tr/n/tháng
Đào tạo lại và tuyển dụng lao động có tay bố trí việc làm ổn định với tổng số lao động trong toàn công ty năm 2015 với tổng 1600 người
Nâng tổng số chuyền may có đủ năng lực sản xuất lên 27 chuyền
Triển khai Lean 16/17 chuyền
Tăng đơn giá suất ăn cho CBCNV
Đại học Kinh tế Huế
Trang 17CHƯƠNG 2 CƠ SỞ LÝ LUẬN VỀ VIỆC PHÂN TÍCH, THIẾT KẾ
VÀ XÂY DỰNG PHẦN MỀM QUẢN LÝ
2.1 Quy trình xây dựng phần mềm quản lý
Quy trình phát triển phần mềm là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm
Để xây dựng phần mềm, tôi lựa chọn mô hình thác nước (waterfall model)
Đặc điểm mô hình: Mô hình thác nước( waterfall model) là một mô hình của quy trìnhphát triển phần mềm, trong đó quy trình phát triển trông giống như một dòng chảy, với các giai đoạn được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhảy vượt giai đoạn
Mô hình thác nước có thể được cải tiến bằng cách cho phép quay lui khi phát hiện lỗi trong giai đoạn phía trước Có ý kiến cho rằng không có một dự án thực tế nào lại thực hiện dạng mô hình này mặt khác thì lại có các ý kiến trái ngược, rằng hầu hết các
dự án đều tiến hành theo mô hình thác đổ Sự trái ngược đó là kết quả của sự khác nhau trong cách nhìn nhận, đánh giá mô hình này Cách nhìn chặt chẽ coi các buớc như các giai đoạn trong khi thực hiện phần mềm, tiếp theo nhau và không có vòng lặp Cách nhìn tổng quát coi các bước chỉ có tính khái niệm, cho phép chúng chồng nhau, cho phép vòng lặp - quay lại các bước trước
Đại học Kinh tế Huế
Trang 18Hình 2.1 Mô hình thác nước (waterfall model)
Ưu điểm của mô hình thác nước là có thể dễ dàng phân chia quá trình xây dựng phần mềm thành những giai đoạn hoàn toàn độc lập nhau Chuỗi các hoạt động được thực hiện theo quy trình rõ rang dễ quản lí Ước lượng thời gian và chi phí rất chính xác Các giai đoạn được xác định rõ ràng Thấy được trình tự kỹ nghệ từ đầu đến cuối sản phẩm
Dựa trên mô hình thác nước, chúng ta có các bước để xây dựng một phần mềm như sau:
2.1.1 Khảo sát tìm hiểu yêu cầu
Khảo sát hiện trạng: Hoạt động này đề cập đến sự quan tâm của tất cả những khía cạnh của hàm kinh doanh mục tiêu hoặc tiến trình, với những mục tiêu xác định làm thế nào mỗi khía cạnh liên quan đến một cái khác và khía cạnh này sẽ kết hợp vào trong hệ thống Đây là giai đoạn đầu tiên nhất trong quá trình phát triển phần mềm, nó cho biết hiện trạng bài toán như thế nào Ví như hiện trạng về mô hình tổ chức, hiện trạng về các nghiệp vụ, hiện trạng về quá trình tin học của khách hàng mà phần mềm chúng ta nhắm tới Trong đó hiện trạng về nghiệp vụ là quan trọng nhất Mục tiêu của
Đại học Kinh tế Huế
Trang 19giai đoạn này là phải hiểu rõ được quy trình nghiệp vụ của khách hàng như là có bao nhiêu quá trình nghiệp vụ, những nghiệp vụ đó họ làm như thế nào
Xác định yêu cầu: Có 2 loại yêu cầu là yêu cầu chức năng và yêu cầu phi chức năng Trong giai đoạn này là giai đoạn sống còn, vì yêu cầu là rất khó biết Vì vậy việc xác định yêu cầu đúng là rất quan trọng trong suốt quá trình làm phần mềm Mục tiêu của giai đoạn thu thập yêu cầu là xác định phần mềm sẽ làm được những gì dựa trên các nhu cầu của khách hàng Nỗ lực này thường mất nhiều thời gian để đảm bảo rằng nhóm phát triển và khách hàng hiểu rõ ràng về phạm vi của sản phẩm, các chức năng của nó và các yếu tố chất lượng cũng như môi trường hoạt động của nó
2.1.2 Phân tích yêu cầu
Giai đoạn này đề cập đến những yêu cầu hệ thống tập hợp với nhau, với mục tiêu của việc xác định làm thế nào để những yêu cầu này sẽ được tích hợp vào hệ thống Chúng ta sẽ phân tích yêu cầu và mô hình hóa chúng Ở giai đoạn người ta sẽ tạo ra các tài liệu dành cho lập trình viên, trong đó mô tả chi tiết các phương pháp và kế hoạch thực hiện các yêu cầu đã được làm rõ ở giai đoạn trước
2.1.3 Thiết kế hệ thống
Mỗi lần yêu cầu được thu thập và phân tích, cần thiết phải xác định chi tiết làm thế nào hệ thống được xây dựng để thực hiện những công việc theo yêu cầu (những gì được xử lý bởi hệ thống), xây dựng phần mềm (làm thế nào ứng dụng được xây dựng)
và thiết kế giao diện và viết mã (giao diện người dùng như thế nào và đưa mã lệnh để
xử lí ra sao?) Giai đoạn này chúng ta sẽ thiết kế các thuật toán, và thiết kế mô hình dữ liệu, cho ra một mô hình lớp và dữ liệu ở mức chi tiết Giai đoạn thiết kế là giai đoạn quan trọng nhất Quá trình thiết kế tốt là cơ sở để quản lý và giảm chi phí cho công việc bảo trì phần mềm sau này
2.1.4 Triển khai thực hiện
Giai đoạn này liên quan với việc tạo phần mềm hệ thống.Yêu cầu và xác định hệ thống là chuyển sang mã máy.Phần này chúng ta sẽ chính thức bắt tay vào code Giai
Đại học Kinh tế Huế
Trang 20đoạn lập trình hay coding tập trung vào việc phát triển chương trình máy tính trên cơ
sở thiết kế (đã có)
2.1.5 Kiểm thử
Khi phần mềm được tạo ra và thêm vào sự phát triển của hệ thống, kiểm thử được thực hiện để đảm bảo rằng nó làm việc hoàn toàn chính xác và hiệu quả Kiểm thử tập trung vào hai lĩnh vực, hiệu quả bên trong và ảnh hưởng bên ngoài Mục tiêu của hiệu quả bên ngoài kiểm thử là chắc chắn rằng phần mềm là đúng chức năng theo thiết kế hệ thống và đó là thực hiện tất cả những chức năng được yêu cầu
Mục tiêu của kiểm thử bên trong là đảm bảo rằng mã máy là hiệu quả, tiêu chuẩn
và làm tài liệu tốt Mô hình này còn tương đối phổ biến Tuy nhiên, hoàn toàn ít khi một dự án phần mềm sẽ theo những bước chính xác Giai đoạn kiểm thử là quá trình kiểm tra sản phẩm phần mềm để tìm kiếm lỗi
Quy trình kiểm thử phần mềm thường được chia ra thành nhiều loại, bắt đầu bằng hình thức kiểm thử đơn vị chương trình (unit test) được phát triển bởi từng người Loại kiểm thử tiếp theo là kiểm thử tích hợp (integration test) khi các đơn vị chương trình được tích hợp lại thành một chức năng hay nhiều chức năng trước khi kiểm thử toàn bộ hệ thống (system test) của cả sản phẩm Khi mọi thứ đã được kiểm thử xong, phần mềm sẽ được chuyển đến cho khách hàng xem xét trong quy trình kiểm thử sự chấp nhận của khách hàng (acceptance test) trước khi khách hàng đồng ý rằng phần mềm đã đáp ứng tất cả các yêu cầu của họ
Đại học Kinh tế Huế
Trang 212.2 Tổng quan về phương pháp lập trình thủ tục
2.2.1 Giới thiệu về lập trình thủ tục
Phương pháplập trình thủ tục là một phương pháp lập trình truyền thống, nó lấy các hàm làm nền tảng cơ bản để xây dựng chương trình, chương trình sẽ được phân nhỏ thành các hàm và mỗi hàm sẽ có chức năng riêng biệt Các hàm sẽ gọi qua lại lẫn nhau để tạo thành một hệ thống của chương trình Vì sử dụng hàm làm nền tảng nên có
sử dụng khái niệm biến toàn cục và biến địa phương
Việc chia chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương trình Mỗi người xây dựng một hay một số các hàm độc lập với nhau
Phương pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa Sự trừu tượng hóa có thể xem như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết bên trong của nó Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm được những công việc cụ thể gì là đủ Còn làm thế nào để thực hiện công việc đó là không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng
Đại học Kinh tế Huế
Trang 22nó mà không cần phải biết nó thực hiện đúng đắn chức năng của mình như thế nào
Điều này gọi là sự trừu tượng hóa theo chức năng (functional abstraction) (hay còn gọi
là sự chuyên môn hóa) và là nền tảng của lập trình thủ tục
2.2.2 Ưu điểm và nhược điểm của lập trình hướng thủ tục
Ưu điểm:
Chương trình được tổ chức khoa học hơn nên dễ quản lý và bào trì
Có thể thực hiện được nhiều chương trình lớn hơn
Nhược điểm:
Cách tiếp cận đôi khi không phù hợp với thực tế, các diễn đạt thiếu tự nhiên
Khó mô tả được các hoạt động của thế giới tự nhiên
Bảo mật kém
2.3 Tổng quan về ngôn ngữ lập trình C- Sharp (C#)
2.3.1 Tổng quan về nền tảng 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 đượ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ế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
.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau Nhiều công cụ được tạo ra để hỗ
Đại học Kinh tế Huế
Trang 23trợ xây dựng ứng dụng.NET, và IDE (Integrated Developement Environment) được phát triển và hỗ trợ bởi chính Microsoft là Visual Studio
* Thành phần của NET Framework
1 Thực thi ngôn ngữ chung CLR (Common Language Runtime)
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 Common Language Runtime (CLR là bộ thi hành ngôn ngữ chung) là một thành phần cốt lõi 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 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ộ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ý giao dị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ữ" (language-free)
2 Các lớp lập trình hợp nhất (Unified Progrgamming 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ê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ì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ển trở nên tẻ ngắ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ập trì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
Đại học Kinh tế Huế
Trang 243 ASP.NET (Active Server Pages NET)
ASP.NET được sử dụng chung với các lớp lập trình mà nó có thể tạo các ứng dụng Web một cách dễ dàng cho người lập trình ASP.NET cung cấp cách truy cập giao diện HTML chung và nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả thông qua HTML (ví dụ như text box chẳng hạn) Giao diện ASP.NET làm cho việc phát triển các ứng dụng Web trở nên nhanh hơn do bởi các đối tượng điều khiển chung này Như một kết quả (của) các lớp lập trình chung và những đặc tính chuẩn của ASP.NET, các nhà phát triển tiêu tốn ít thời gian hơn khi viết các mã mới và cần nhiều thời gian hơn khi sử dụng các mã đã có ASP.NET được sử dụng ở phần trên của hai thành phần thực thi ngôn ngữ chung CLR và các ngôn ngữ lập trình hợp nhất để tạo ra
các dịch vụ Web
2.3.2 Tổng quan về kiến trúc ADO.NET
Khi phát triển các ứng dụng trên nền web thì công việc chủ yếu phải giải quyết là
xử lý các nghiệp vụ, trong đó phần lớn là xử lý Cơ sở dữ liệu Trong môi trường phát triển Microsoft NET tất cả các ứng dụng webform hay winform đều thống nhất sử dụng chung một bộ thư viện để truy xuất và thao tác Cơ sở dữ liệu gọi là ADO.NET (Active Data Object)
ADO.NET là một tập các lớp nằm trong bộ thư viện lớp cơ sở của NET Framework, cho phép các ứng dụng windows (như C#, VB.NET) hay ứng dụng web (như ASP.NET) thao tác dễ dàng với các nguồn dữ liệu
ADO.NET được thiết kế để cung cấp kiến trúc rời rạc (disconnected architecture) Có nghĩa là các ứng dụng kết nối tới cơ sở dữ liệu tuy nạp dữ liệu và lưu trữ trong bộ nhớ Sau đó ngắt kết nối với cơ sở dữ liệu và sử dụng bộ nhớ sao chép (memory copy) của dữ liệu đó Nếu như cơ sở dữ liệu cần phải được cập nhật với các thay đổi trên memory copy, một kết nối mới (connection) được hình thành và cơ sở dữ liệu được cập nhật Bộ nhớ chính lưu trữ dữ liệu là DataSet, nơi mà chứa các bộ nhớ lưu trữ dữ liệu khác, như là: Các đối tượng DataTable; ta có thể lọc và sắp xếp dữ liệu trên DataSet bằng việc sử dụng các đối tượng DataView
Đại học Kinh tế Huế
Trang 25Việc sử dụng kiến trúc disconnected architecture cung cấp rất nhiều lợi ích, trong đó, quan trọng nhất là cho phép ứng dụng trở lên scale up Nghĩa là database của
ta sẽ thực thi tốt như hỗ trợ hàng trăm users tuy nó chỉ hỗ trợ vài chục users Điều đó
có thể bởi vì ứng dụng connects tới database chỉ đủ để truy nạp hoặc update dữ liệu, bằng cách đó giải phóng các connections và database sẵn có cho các thể hiện khác của ứng dụng hoặc các ứng dụng khác sử dụng cùng database
Mục tiêu chính của ADO.NET là:
Cung cấp các lớp để thao tác CSDL trong cả hai môi trường là phi kết nối (Disconected data) và kết nối (Connected data)
Tích hợp chặt chẽ với XML (Extensible Markup Language
Tương tác với nhiều nguồn dữ liệu thông qua mô tả dữ liệu chung
Tối ưu truy cập nguồn dữ liệu (OLE DB & SQL server)
Làm việc trên môi trường Internet
.NET Data Provider - một tập hợp các thành phần bao gồm các đối tượng
Connection: cung cấp việc kết nối đến CSDL
Command :truy cập các câu lệnh CSDL
DataReader: cung cấp một luồng truy xuất DL
DataAdapter: cung cấp cầu nối giữa đối tượng Dataset và CSDL DataAdapter
sử dụng đối tượng Command để thực thi các câu lệnh SQL
Đại học Kinh tế Huế
Trang 26Hình 2.3 Kiến trúc ADO.NET Đặc điểm nổi bật của ADO.NET
Thiết kế hoàn toàn dựa vào XML: Chuẩn giao thức phổ biến nhất trên môi trường Internet hiện nay Trên ADO.NET dữ liệu sẽ được lưu trữ trên bộ nhớ cache và được chuyển giao theo dạng XML
Thiết kế hoang toàn hướng đối tượng
2.3.3 Giới thiệu về ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đa năng được phát triển bởi hãng Microsoft, là một phần khởi đầu cho kế hoạch NET.Microsoft phát triển C# dựa trên C, C++ và Java C# được miêu tả là ngôn ngữ
có được sự cân bằng giữa C++, Visual Basic, Delphi và Java…
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 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ợ 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
Đại học Kinh tế Huế
Trang 27ngữ lập trình hiện đại Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java
C# có các đặc trƣng sau đây:
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
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ắ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ả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ư:
Trang 28 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
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ững trì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óa dù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
C# đã và đang 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
C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm của các ngôn ngữ lập trình hướng đối tượng Java và C++
2.3.4 Tổng quan về Microsoft Visual Studio
Visual Studio là một bộ công cụ phát triển phần mềm do Microsoft phát triển
Visual Studio cũng là một phần mềm được sử dụng bởi các lập trình viên để xây dựng nên các sản phẩm phần mềm
Những điểm mạnh của Visual studio:
Hỗ trợ lập trình trên nhiều ngôn ngữ như C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript Phiên bảnVisual Studio 2015 có hổ trợ ngôn ngữ Python
Visual Studio là một công cụ hỗ trợ việc Debug một cách mạnh mẽ, dễ dàng nhất (Break Point, xem giá trị của biến trong quá trình chạy, hỗ trợ debug từng câu lệnh)
Đại học Kinh tế Huế
Trang 29 Giao diện Visual Studio rất dễ sử dụng đối với người mới bắt đầu
Visual Studio hỗ trợ phát triển ứng dụng desktop MFC, Windows Form, Universal App, ứng dụng mobileWindows Phone 8/8.1, Windows 10, Android (Xamarin), IOS và phát triển website Web Form, ASP.NET MVC và phát triển Microsoft Office
Visual Studio hỗ trợ kéo thả để xây dựng ứng dụng một cách chuyên nghiệp, giúp các bạn mới bắt đầu có thể tiếp cận nhanh hơn
Visual Studio cho phép chúng ta tích hợp những extension từ bên ngoài như Resharper (hổ trợ quản lý và viết mã nhanh cho các ngôn ngữ thuộc Net), hay việc cài đặt thư viện nhanh chóng thông qua Nuget
Visual Studio được sử dụng đông đảo bởi lập trình viên trên toàn thế giới
2.4 Tổng quan về hệ quản trị CSDL MS SQLServer và ngôn ngữ SQL
Hệ quản trị CSDL là một phần mềm cung cấp nhiều chức năng để người dùng có thể tạo lập, cập nhật, khai thác CSDL
2.4.1 Giới thiệu về hệ quản trị CSDL MS SQLServer
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng cách lưu chúng vào các bảng Dữ liệu quan hệ được lưu trữ trong các bảng và các quan hệ
đó được định nghĩa giữa các bảng với nhau
Người dùng truy cập dữ liệu trên Server thông qua ứng dụng Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL
Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy cập dữ liệu đồng thời
Các đặc tính của SQL Server
Đại học Kinh tế Huế
Trang 30 Cho phép quản trị một hệ CSDL lớn (lên đến vài tegabyte), có tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian
Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL
và toàn bộ quản trị CSDL (lên đến vài chục ngàn user)
Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT hoặc sử dụng hệ thống bảo vệ độc lập của SQL Server
Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet
Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các ứng dụng đặc thù (Visual Basic, C, C++, ASP )
Sử dụng câu lệnh truy vấn dữ liệu Transaction – SQL
Cơ sở dữ liệu – Database
Khi cài đặt SQL Server có 4 Database hệ thống được cài đặt, đó là:
master: Ghi nhận thông tin cấp hệ thống, thông tin khởi tạo SQL Server và thiết lập cấu hình SQL Server Database này cũng ghi nhận tất cả các tài khoản đăng nhập,
sự tồn tại của các Database khác, vị trí tập tin chính cho tất cả Database người dùng
tempdb: Giữ các bảng tạm, các stored procedure tạm,.v.v Được dùng cho các nhu cầu lưu trữ tạm của SQL Server
model: là khuôn mẫu cho tất cả các CSDL khác được tạo trên hệ thống kể cả tempdb Database model phải được tồn tại trên hệ thống, bởi vì nó được dùng để tạo lại tempdb mỗi khi SQL server được khởi động
msdb: Giữ các bảng mà SQL Server Agent dùng để lập thời gian biểu thực thi
các công việc, các cảnh báo và các operator
2.4.2 Giới thiệu ngôn ngữ T-SQL
Transaction SQL (T-SQL) là ngôn ngữ phát triển nâng cao của ngôn ngữ SQL chuẩn Nó là ngôn ngữ dùng để giao tiếp giữa ứng dụng và SQL Server T-SQL các khả năng của ngôn ngữ định nghĩa dữ liệu - DDL và ngôn ngữ thao tác dữ liệu – DML của SQL chuẩn cộng với một số hàm mở rộng, các store procedure hệ thống và cấu
Đại học Kinh tế Huế
Trang 31trúc lập trình (như IF, WHILE,…) cho phép lập trình trên SQL Server được linh động hơn
SQL làviết tắt của Structured Query Language,là ngôn ngữtruy vấn mang tính cấu trúc
Nó được thiết kế để quản lý dữ liệu trong một hệ thống quản lý cơ sở dữ liệu quan hệ
SQL là ngôn ngữ cơ sở dữ liệu, được sử dụng để tạo, xóa trong cơ sở dữ liệu, lấy các hàng và sửa đổi các hàng, …
Tất cả hệ quản trị cơ sở dữ liệu như MySQL, Oracle, MS Access, Sybase, Informix, Postgres và SQL Server sử dụng SQL như là ngôn ngữ cơ sở dữ liệu chuẩn
SQL là cần thiết để:
Tạo cơ sở dữ liệu, bảng và view mới
Để chèn các bản ghi vào trong một cơ sở dữ liệu
Để xóa các bản ghi từ một cơ sở dữ liệu
Để lấy dữ liệu từ một cơ sở dữ liệu
Chức năng của SQL
Với SQL, chúng ta có thể truy vấn Database theo nhiều cách khác nhau, bởi sử dụng các lệnh
Người dùng có thể truy cập dữ liệu từ RDBMS
Cho phép người dùng miêu tả dữ liệu
Cho phép người dùng định nghĩa dữ liệu trong một Database và thao tác nó khi cần thiết
Cho phép người dùng tạo, xóa Database và bảng
Cho phép người dùng tạo view, Procedure, hàm trong một Database
Cho phép người dùng thiết lập quyền truy cập vào bảng, thủ tục và view
Đại học Kinh tế Huế
Trang 32CHƯƠNG 3 KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ XÂY DỰNG PHẦN MỀM QUẢN LÝ HOẠT ĐỘNG KINH DOANH CÔNG TY
MAY HÒA THỌ - ĐÔNG HÀ
3.1 Khảo sát quy trình hoạt động kinh doanh Công ty may Hòa Thọ - Đông Hà
3.1.1 Mô tả hoạt động
Công ty may Hòa Thọ - Đông Hà hoạt động trong lĩnh vực may mặc Công ty trực tiếp gia công sản phẩm Do đó, đòi hỏi số lượng công nhân viên đông Vậy nên,
công ty phải quản lý thông tin cá nhân của mỗi nhân viên, bao gồm các thông tin sau:
họ tên nhân viên , giới tính, ngày sinh, địa chỉ, số điện thoại, Để phân biệt những
trường hợp nhân viên trùng thông tin, mỗi nhân viên sẽ được cấp một mã nhân viên Quy trình lưu trữ hàng hóa:
Trụ sở chính công ty nằm ở khu công nghiệp Nam Đông Hà, tại đây bao gồm văn phòng chính của công ty, xưởng sản xuất và kho hàng Đặc trưng sản xuất của công ty
là gia công mặt hàng may mặc Để đảm bảo cho sản xuất thì công ty cần một số lượng lớn nguyên vật liệu Do đó, công ty cần phải quản lý thông tin của các loại nguyên vật
liệu Thông tin nguyên liệu bao gồm: tên nguyên liệu, màu sắc, chất liệu, đơn vị tính,
số lượng… Nguyên vật liệu được cất giữ ở các kho hàng khác nhau Môt loại nguyên
vật liệu được cất giữ ở một kho hàng riêng Vì vậy, công ty quản lý thông tin từng kho
hàng để dễ dàng cho việc nhập xuất nguyên vật liệu Thông tin kho bao gồm: tên kho,
số điện thoại, nhân viên quản lý…
Quy trình kinh doanh:
Công ty may Hòa Thọ - Đông Hà là công ty may có thương hiệu trong nước, không chỉ thế, công ty còn có thị trường ở nước ngoài Công ty chủ yếu gia công sản phẩm may mặc xuất khẩu sang các thị trường nước ngoài Công ty tiếp nhân đơn đặt hàng của khách hàng sau đó mới bắt đầu gia công sản phẩm
Đại học Kinh tế Huế
Trang 33Khách hàng của công ty chủ yếu ở các thị trường Nhật Bản, Mỹ, Châu Âu… vì vậy để đảm bảo thuận tiện cho việc liên hệ với đối tác trong quá trình hợp tác, công ty
cần phải có những thông tin về khách hàng: tên khách hàng, địa chỉ, số điện thoại…
Một khách hàng có thể hợp tác với công ty nhiều lần, do đó, sẽ không chỉ có một đơn đặt hàng Số lượng đơn đặt hàng rất nhiều, để đảm bảo quản lý thông tin đầy đủ, thì
cần phải lưu trữ của các đơn đặt hàng: tên khách hàng, đơn giá sản phẩm, ngày đặt
hàng, thời gian xuất Một đơn đặt hàng bao gồm một hoặc nhiều sản phẩm khác nhau
Công ty sản xuất nhiều sản phẩm: áo jacket, đồ bảo hộ … tùy thuộc vào yêu cầu của khách hàng để sản xuất Do đó, để đảm bảo cho hoạt động sản xuất đúng với quy cách
sản phẩm, đảm bảo chất lượng, công ty phải có thông tin về từng sản phẩm: tên sản
phẩm, số lượng, định mức sản xuất, nguyên liệu … Để sản xuất một sản phẩm thì cần
phải có nhiều nguyên liệu, phụ liệu khác nhau, một nguyên liệu, phụ liệu có thể sử dụng cho nhiều sản phẩm khác
Sau khi hoàn thành sản xuất sản phẩm, công ty sẽ xuất hàng cho khách hàng, khi
xuất, công ty phải lập hóa đơn bán hàng cho khách hàng, hóa đơn bao gồm các thông
tin: tên khách hàng, tên sản phẩm, ngày giao hàng, nhân viên lập hóa đơn… Một
khách hàng có thể có nhiều hóa đơn, nhưng một hóa đơn chỉ thuộc về một khách hàng Quy trình nhập – xuất kho:
Công ty chuyên gia công hàng may mặc cho các đối tác nước ngoài, do đó nguyên vật liệu phục vụ cho sản xuất cũng được đòi hỏi cao, chủ yếu được nhập khẩu
từ nước ngoài và do khách hàng cung cấp Bên cạnh đó, công ty có thể nhập trực tiếp nguyên vật liệu trực tiếp từ Tổng Công ty ở Đà Nẵng Nguyên vật liệu sau khi nhập về
sẽ được nhập và kho công ty Khi nhập kho, nhân viên ở kho sẽ tiến hành lập phiếu
nhập kho: tên nguyên liệu hay phụ liệu, số lượng, ngày nhập … Trong quá trình sản
xuất, cần phải xuất kho nguyên vật liệu phục vụ sản xuất, mỗi khi xuất cần lập phiếu xuất kho: tên nguyên liệu, phụ liệu, số lượng, ngày xuất… Sau khi sản xuất xong, sản phẩm sẽ được nhập kho thành phẩm để kiểm tra, tập hợp đủ số lượng đơn đặt hàng trước khi xuất cho khách Trong quá trình đó nhân viên kho thành phẩm cũng phải lập phiếu nhập kho, xuất kho đối với sản phẩm
Đại học Kinh tế Huế
Trang 34Cuối mỗi tháng, quý, hoặc năm theo yêu cầu của ban giám đốc thủ kho phải tiến hành lập báo cáo tồn kho, để thống kê lại số lượng nguyên liệu, phụ liệu còn trong kho Trong quá trình hoạt động, bộ phận kinh doanh cần phải báo cáo kết quả doanh thu cho ban giám đốc công ty
Nhận xét:
Công ty may Hòa Thọ - Đông Hà có quy mô sản xuất kinh doanh ngày càng mở rộng và phát triển Vấn đề quản lý nguyên vật liệu đối với công ty là rất quan trọng Hoạt động sản xuất kinh doanh của công ty càng phát triển, số lượng đơn đặt hàng của khách hàng càng nhiều, nhu cầu sử dụng nguyên liệu, phụ liệu sử dụng cho sản xuất càng nhiều, đòi hỏi bộ phận quản lý phải quản lý tất cả các vấn đề về xuất nhập nguyên liệu, phụ liệu, về khách hàng, đến từng nhân viên… Công tác quản lý này chỉ được thực hiện một cách thủ công, rất mất thời gian và công sức, tuy nhiên hiệu quả mang lại là không cao
Công tác quản lý không có sư trợ giúp từ máy tính đòi hỏi nhiều công sức từ con người Đơn giản là việc thay đổi thông tin một phiếu nhập hay xuất kho, nhân viên cần phải xác nhận lại thông tin của từng nguyên liệu có trong phiếu, nhân viên lập phiếu đó… rất mất thời gian Trong khi đó, công ty trong một ngày có rất nhiều hoạt động liên quan đến xuất nhập kho, số lượng hàng hóa nguyên liệu nhiều, số lượng nhân viên ngày càng đông Công tác quản lý gặp nhiều khó khăn
Khi truy xuất dữ liệu một khách hàng, một nguyên liệu… hay cần thông tin để lập báo cáo thống kê đòi hỏi cần nhiều thời gian, công sức nhưng hiệu quả không đảm bảo do số lượng thông tin quá nhiều dễ nhầm lẫn Vậy nên, cần có một phần mềm quản lý để giúp cho hoạt động quản lý của công ty may Hòa Thọ - Đông Hà
3.1.2 Đánh giá hệ thống
Từ khi thành lập đến nay, Công ty may Hòa Thọ - Đông Hà vẫn luôn hoạt động
ổn định và quản lý hoạt động sản xuất, kinh doanh theo phương thức truyền thống Tuy nhiên, do việc quản lý sử dụng phương pháp thủ công để quản lý trong tất cả các
Đại học Kinh tế Huế
Trang 35khâu như: nhập – xuất, lưu trữ, tìm kiếm … nên tốn rất nhiều thời gian và công sức mà hiệu quả đạt được lại không cao, đôi khi dẫn đến những sai lầm không đáng có Cụ thể
Khách hàng thường xuyên đặt hàng sản xuất cho công ty thông qua các đơn đặt hàng Các thông tin trong đơn đặt hàng không được thống kê lại một cách cụ thể, trong khi đó, số lượng đơn đặt hàng rất nhiều Do đó, sẽ khó khăn cho việc triển khai sản xuất sản phẩm
Theo từng đơn đặt hàng, sẽ có thêm các nguyên liệu, phụ liệu kèm theo phục vụ cho nhu cầu sản xuất Nhân viên quản lý kho cần phải thống kê số lượng nguyên, phụ liệu phù hợp với từng đơn hàng
Đặc trưng của công ty là gia công sản phẩm, do đó, đòi hỏi phải theo dõi sát sao công tác xuất – nhập nguyên, phụ liệu trong từng ngày để phục vụ sản xuất, mà công tác này chủ yếu được ghi chép lại một cách thủ công, rất dễ nhầm lẫn Điều này cũng gây khó khăn cho nhân viên khi muốn lập báo cáo, thống kê tồn kho
Các thông tin chủ yếu được lưu trữ bằng giấy tờ, muốn cất giữ lâu dài là không khả thi, có thể bị thất lạc, và chiếm một không gian lớn Do đó, khi muốn tìm lại một thông tin, chứng từ sẽ gây mất nhiều thời gian, công sức
Trên đây chỉ là một số vấn đề cơ bản mà công ty thường gặp phải trong vấn đề quản lý Với quy mô không ngừng mở rộng, đòi hỏi công ty cần có một cách thức quản lý hiệu quả hơn Việc áp dụng tin học vào trong công tác quản lý của công ty sẽ góp phần nâng cao hiệu quả hoạt động của công ty lên rất nhiều Việc xây dựng một phần mềm quản lý cho công ty hiện nay là rất thiết thực và phù hợp
3.2 Phân tích hệ thống
Mục đích: Xác định một cách chính xác và cụ thể các chức năng chính của hệ
thống thông tin Trong giai đoạn này cần phải xác định rõ ràng những gì mà hệ thống cần phải thực hiện mà chưa quan tâm đến phương pháp thực hiện chức năng đó Như vậy việc phân tích phải đề cập đến những mô tả cơ sở, các mô tả này sẽ được trình bày
rõ trong một tài liệu gửi cho người sử dụng phê chuẩn trước khi tiến hành những công việc tiếp theo Để tiến hành phân tích hệ thống ta sẽ xây dựng các sơ đồ sau:
Đại học Kinh tế Huế
Trang 36- Sơ đồ phân rã chức năng (BFD – Business Function Diagram): xác địch chức năng của nghiệp vụ là bước đầu tiên của việc phân tích hệ thống Để phân tích yêu cầu thông tin của tổng chức ta phải biết được tổ chức đó thực hiện những nhiệm vụ, chức năng gì Từ đó, tìm ra các dữ liệu, các thông tin được sử dụng và tạo ra trong các chức năng Đồng thời, cũng phải tìm ra những hạn chế mối ràng buộc đặt lên các chức năng
đó Mô hình BFD là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ thuộc kích cỡ và độ phức tạp của hệ thống
- Sơ đồ ngữ cảnh (Context Diagram) thể hiện khái quát nội dung chính của hệ thống thông tin Sơ đồ chỉ bao gồm một xử lý chung nhất nêu bật chức năng của hệ thống thông tin Xung quanh là các thực thể ngoài, chỉ nguồn phát và đích nhận thông tin cùng với các dòng thông tin đi vào và đi ra hệ thống thông tin
- Sơ đồ mô hình luồng dữ liệu (DFD – Data Flow Diagram): Mô hình nhằm mục đích bổ sung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ sung các luồng thông tin nghiệp vụ cần để thực hiện chức năng, cho ta cái nhìn đầy đủ hơn về các mặt hoạt động của hệ thống và là một trong số các đầu vào cho quá trình thiết kế
hệ thống Mô hình DFD là một công cụ mô tả mối quan hệ thông tin giữa các công việc
3.2.1 Sơ đồ phân rã chức năng (BFD – Business Function Diagram)
Qua khảo sát quy trình hoạt động của hệ thống, nghiên cứu các nghiệp vụ, ta thấy nổi bật 4 chức năng chính là:
Quản lý danh mục
Quản lý nhập – xuất kho
Quản lý bán hàng
Thống kê – báo cáo
Đại học Kinh tế Huế
Trang 37Hình 3.1 Sơ đồ chức chức năng BFD 3.2.2 Mô tả chức năng
Chức năng quản lý danh mục
Chức năng này quản lý các danh mục dùng chung trong quá trình thao tác với hệ thống Bao gồm danh mục nhân viên, danh mục khách hàng, danh mục sản phẩm, danh mục nguyên liệu, danh mục kho hàng
Hình 3.2 Chức năng quản lý danh mục
Đại học Kinh tế Huế
Trang 38Chức năng quản lý nhập – xuất kho
Trong quản lý hoạt động nhập – xuất kho sẽ chịu trách nhiệm quản lý các thông tin về nhập nguyên liệu và xuất phục vụ cho hoạt động sản xuất Nhập thành phẩm sau khi gia công và tiến hành xuất bán cho khách đặt hàng.Đó là những thông tin cơ bản trong quá trình quản lý kho
Hình 3.3 Chức năng quản lý nhập – xuất Chức năng quản lý bán hàng
Chức năng này bao gồm 2 chức năng:
Quản lý đơn đặt hàng
Lập hóa đơn bán hàng
Đại học Kinh tế Huế
Trang 39Hình 3.4 Chức năng quản lý bán hàng Chức năng thống kê – báo cáo
Để theo dõi kết quả của quá trình hoạt động, người quản lý hay nhân viên có thể truy xuất thống kê kết quả kinh doanh, in ấn hóa đơn, báo cáo
Hình 3.5 Chức năng thống kê - báo cáo
Đại học Kinh tế Huế
Trang 403.2.3 Sơ đồ ngữ cảnh (CD - Context Diagram)
Sơ đồ ngữ cảnh thể hiện khái quát nội dung chính của hệ thống thông tin Sơ đồ chỉ bao gồm một xử lý chung nhất nêu bật chức năng của hệ thống thông tin Xung quanh là các thực thể ngoài, chỉ nguồn phát và đích nhận thông tin cùng với các dòng thông tin đi vào và đi ra hệ thống thông tin Sơ đồ ngữ cảnh là sơ đồ hình học được xây dựng theo điểm công tác nào đó dùng để làm rõ mối quan hệ thông tin giữa các điểm công tác của hệ thống Điểm trung tâm là điểm đang xét, các điểm công tác khác
có liên hệ thông tin với điểm trung tâm sẽ được mô tả bằng mũi tên và ghi chú kèm theo Sơ đồ ngữ cảnh có 2 tác nhân chính là:
- Tác nhân bên ngoài (Extenal entity) là một người, một nhóm người hoặc một
tổ chức bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có một số hình thưc tiếp xúc với hệ thống Chúng là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản phẩm của hệ thống Kí hiệu là hình chữ nhật
- Tác nhân bên trong (Intenal entity) là chức năng hoặc xử lý bên trong hệ thống
được mô tả ở trang khác của mô hình Kí hiệu là hình tròn
Dựa vào mô tả bài toán cùng với sơ đồ tổ chức và sơ đồ chức năng có thể phân tích để thu được sơ đồ ngữ cảnh của bài toán như sau:
Đại học Kinh tế Huế