Quản lý hàng hóa vật tư là hoạt động có ở bất cứ cơ sở kinh doanh nào, kể cả nhà nước lẫn tư nhân. Việc quản lý hàng hóa vật tư thủ công làm mất rất nhiều thời gian, chi phí mà hiêu quả lại không cao. Ngày nay cùng với sự phát triển của khoa học công nghệ các đơn vị sản xuất dần dần chuyển từng bước áp dụng công nghệ thông tin vào quản lý nhằm giảm thiểu tối đa chi phí, nâng cao hiệu quả trong công tác quản lý. Yều cầu đặt ra đối với một bài toán quản lý hàng hóa đó là quản lý được hàng hóa tồn trong kho, có thể biết được hiện nay trong kho này hàng hóa tồn với số lượng bao nhiêu, chất lượng sản phẩm tồn ra sao. Ngoài ra cũng cần quản lý được các đơn vị, tổ chức thường xuyên giao dịch với đơn vị mình, thực hiện việc viết phiếu nhập kho, xuất kho khi phát sinh giao dịch với khách hàng hay nhà cung cấp, cho phép lập các báo cáo về tình hình xuất nhập, báo cáo về số lượng hàng tồn kho…gửi lên các cấp lãnh đạo để giúp ban lãnh đạo đưa ra những giải pháp kịp thời, đúng đắn xây dựng công ty ngày càng phát triển. Đề án:"Xây dựng phần mềm quản lí kho hàng Công ty cổ phần PT& TM Goldtech.”
Trang 1Lời nói đầu
Quản lý hàng hóa vâ ̣t tư là hoa ̣t đô ̣ng có ở bất cứ cơ sở kinh doanhnào, kể cả nhà nước lẫn tư nhân Viê ̣c quản lý hàng hóa vâ ̣t tư thủ công làmmất rất nhiều thời gian, chi phí mà hiêu quả la ̣i không cao Ngày nay cùngvới sự phát triển của khoa ho ̣c công nghê ̣ các đơn vi ̣ sản xuất dần dầnchuyển từng bước áp du ̣ng công nghê ̣ thông tin vào quản lý nhằm giảmthiểu tối đa chi phí, nâng cao hiê ̣u quả trong công tác quản lý Yều cầu đă ̣t
ra đối với mô ̣t bài toán quản lý hàng hóa đó là quản lý được hàng hóa tồntrong kho, có thể biết được hiê ̣n nay trong kho này hàng hóa tồn với sốlươ ̣ng bao nhiêu, chất lươ ̣ng sản phẩm tồn ra sao Ngoài ra cũng cần quảnlý được các đơn vi ̣, tổ chức thường xuyên giao di ̣ch với đơn vi ̣ mình, thựchiê ̣n viê ̣c viết phiếu nhâ ̣p kho, xuất kho khi phát sinh giao di ̣ch với kháchhàng hay nhà cung cấp, cho phép lâ ̣p các báo cáo về tình hình xuất nhâ ̣p,báo cáo về số lượng hàng tồn kho…gửi lên các cấp lãnh đa ̣o để giúp banlãnh đa ̣o đưa ra những giải pháp ki ̣p thời, đúng đắn xây dựng công ty ngàycàng phát triển
Đề án:"Xây dựng phần mềm quản lí kho hàng Công ty cổ phần PT&
TM Goldtech.” mong sẽ giúp giải quyết được những khó khăn gă ̣p phải
trong công tác quản lý kho hàng kể trên Đề án còn rất nhiều thiếu sótmong nhâ ̣n đươ ̣c những ý kiến đóng góp quí báu của các thầy cô
Em xin chân thành cảm ơn!
Hà Nội, tháng 11 năm 2008
Sinh viên thực hiê ̣n:
Nguyễn Tro ̣ng Thành
Trang 2Chương 1: Tổng quan về công ty tin ho ̣c Goldtech
và bài toán quản lý kho hàng.
1.1 Tổng quan về công ty tin ho ̣c Goldtech.
Tru ̣ sở : 192 Hoàng Ngân - Trung Hòa – Cầu Giấy – Hà Nô ̣i
1.1.1 Quá trình thành lập :
Công ty GoldTech đươ ̣c thành lâ ̣p năm 2007 với chức năng cung cấpcác thiết bi ̣ tin ho ̣c, thiết bi ̣ văn phòng, thiết kế các website, phu ̣c vu ̣ các cơquan, doanh nghiê ̣p và các tổ chức phòng ban Di ̣ch vu ̣, chuyển giao côngnghê ̣, tư vấn và cung cấp giải pháp tổng thể cho khách hàng Kể từ khithành lâ ̣p đến nay, GoldTech liên tu ̣c phát triển các kênh phân phối thôngqua hàng chu ̣c công ty trên đi ̣a bàn Hà Nô ̣i và các tỉnh
Nhờ số lượng nhân viên có trình đô ̣ kỹ thuâ ̣t cao và tinh thần phu ̣c tâ ̣ntình hiê ̣u quả, GoldTech đã dần đa ̣t được vi ̣ thế quan tro ̣ng trong thi ̣ trườngcông nghê ̣ thông tin ta ̣i Viê ̣t Nam cũng như thi ̣ trường cung cấp các dâytruyền thiết bi ̣ tin ho ̣c, thiết lâ ̣p cơ sở ha ̣ tầng vững chắc để phát triển
Trang 31.1.2 Bộ máy tổ chức :
Công ty GoldTech đươ ̣c tô chức như sau:
- Ban Giám Đốc:
• Điều hành chung
-Phòng kế toán: Thực hiê ̣n các nghiê ̣p vu ̣ kế toán của doanh nghiê ̣p
và cung cấp các sô liê ̣u cho ban giám đốc cũng như các bô ̣ phâ ̣n kinh doanhđể phân tích ki ̣p thời và đưa ra những quyết đi ̣nh đúng đắn trong kinhdoanh
- Phòng kinh doanh phân phối và Marketing:
•Kinh doanh phân phối các sản phẩm tin ho ̣c cho khách hàng và chocác công ty, doanh nghiê ̣p khác
•Kinh doanh phân phối các thiết bi ̣ công nghê tin ho ̣c
- Phòng kinh doanh dự án:
•Tư vấn, thực hiê ̣n các dự ắn về CNTT trên pha ̣m vi toàn quốc
•Tiếp câ ̣n với các đối tác nước ngoài
•Tư vấn triển khai các dây truyền công nghiê ̣p, thực hiê ̣n các dự án vềcung cấp thiết bi ̣ công nghiêp
-Trung tâm tích hơ ̣p hê ̣ thống:
•Phân tích thiết kế hê ̣ thống, xây dựng các giải pháp ma ̣ng, xây dựng
hê ̣ thống quản lý doanh nghiê ̣p
•Tư vấn xây dựng các giải pháp ma ̣ng cho khách hàng
- Phòng kỹ thuâ ̣t máy tính:
•Hỗ trơ ̣ tất cả các dự án, các hợp đồng trong viê ̣c đảm bảo lắp đă ̣t toàn
bô ̣ hê ̣ thống thiết bi ̣ phần cứng, cài đă ̣t phần mềm hê ̣ thống và ứng dựng
•Lắp đă ̣t các thiết bi ̣ ngoa ̣i vi như máy in, Projector,Scanner, máy vẽvà các thiết bi ̣ chuyên du ̣ng như: Tapebackup, CD-Writer,
•Bảo trì các thiết bi ̣ ma ̣ng, các phần mềm hê ̣ thống, phần mềm ứng dựng.
- Phòng kỹ thuâ ̣n chuyên du ̣ng:
Trang 4•Hỗ trơ ̣ tất cả các dự án, các hợp đồng liên quan đến thiết bi ̣ viễn thông.
•Nghiên cứu và đưa vào áp du ̣ng những thành tựu mới của Khoa ho ̣ccông nghê ̣
- Trung tâm bảo hành:
•Tổ chức quản lý, bảo hành toàn bô ̣ các thiết bi ̣ mà công ty đã cung cấp
•Tiếp nhâ ̣n thắc mắc của khách hàng và bố trí cán bô ̣ giải quyết thắc mắc.
• Thay thế sửa chữa các thiết bi ̣ hỏng hóc.
1.1.3 Các mặt hàng kinh doanh chủ yếu:
- Máy tính nguyên chiếc( PC, Notebook, Server) của các hãng nổitiếng như: Compaq, IBM, HP, DELL, Toshiba, Acer,
- Máy in Laser, máy in kim, máy in Ma ̣ng, Máy chiếu Projector, máyquét các loa ̣i
- Bô ̣ lưu điê ̣n, ổn áp dùng cho máy tính và các thiết bi ̣ văn phòng
- Máy tính ASEAN được lắp rắp từ những linh kiê ̣n sản xuất ta ̣i các nướcĐông Nam Á
- Thiết bi ̣ Ma ̣ng: Network Card, HUB, Switch, Router, Modem, Cable,
- Thiết bi ̣ văn phòng: Máy Photocopy, máy hủy tài liê ̣u, máy chấmcông, máy in và các phu ̣ kiê ̣n kèm theo
- Phần mềm: Cung cấp giải pháp phần mềm, chuyên cung cấp thiết kếwebsite công ty, giải pháp thương mại điện tử
1.2 Bài toán quản lý kho hàng của công ty GoldTech
* Nghiệp vụ thực hiện
Kỳ nhập liệu đầu tiên, nhập dữ liệu về các máy tính, linh kiện, thiết
bị gồm các thông tin như : mã số, tên hàng, nhà cung cấp, hãng sản xuất,kho, vị trí trong kho …Trước đó phải tiến hành phân loại hàng theo từngnhóm hàng tương ứng để dễ quản lý Từng nhóm hàng được phân theo từngkhu vực riêng trong kho Đầu kỳ, tiến hành thống kê tồn kho đầu kỳ để cóđược số lượng từng loại hàng trong kho Trong kỳ, khi có hoạt động nhập
Trang 5thống kê chi tiết theo từng phiếu nhập, phiếu xuất Có thể lập báo cáo nhập,báo cáo xuất, báo cáo danh mục hàng hoá theo ngày, theo tuần … khi đượccấp trên yêu cầu Cuối kỳ, báo cáo, thống kê hàng hóa xuất nhập trong mỗi
kỳ, lượng hàng tồn cuối kỳ mỗi kho, báo cáo xuất nhập tồn
- Việc lưu trữ dữ liệu trên giấy tờ, sổ sách vẫn còn nhiều hạn chế
1.3 Đề xuất giải pháp tin học hóa cho bài toán quản lý kho
• Giải pháp giao diện:
Phần mềm sẽ sử dụng ngôn ngữ Tiếng Việt đế người dùng dễ sử dụng.Các màn hình xử lý cơ bản có sự tương đồng về hình thức Trong quá trìnhthiết kế, phần mềm có sử dụng một số công cụ hỗ trợ thiết kế giao diện nênđảm bảo tính thân thiện và thẩm mỹ cao
Trang 6Chương 2: Cơ sở phương pháp luận xây dựng phần mềm.
2.1 Công nghệ phần mềm và các khái niệm liên quan
2.1.1 Khái niệm phần mềm
Phần mềm là một hệ thống các chương trình có thể thực hiện trên máytính nhằm hỗ trợ các nhà chuyên môn trong từng lĩnh vực chuyên ngànhthực hiện tốt nhất các thao tác nghiệp vụ của mình Nhiệm vụ chính yếucủa phần mềm là cho phép các nhà chuyên môn thực hiện các công việccủa họ trên máy tính dễ dàng và nhanh chóng hơn so với khi thực hiệncùng công việc đó trong thế giới thực
Phân loại phần mềm:
• Phần mềm hệ thống là những phần mềm đảm nhận công việc tíchhợp và điều khiển các thiết bị phần cứng đồng thời tạo ra môi trường thuậnlợi để các phần mềm khác và người sử dụng có thể thao tác trên đó nhưmột khối thống nhất mà không cần phải quan tâm đến những chi tiết kỹthuật phức tạp bên dưới như cách thức trao đổi dữ liệu giữa bộ nhớ chính
và đĩa, cách hiển thị văn bản lên màn hình,
• Phần mềm ứng dụng là những phần mềm được dùng để thựchiện một công việc xác định nào đó Phần mềm ứng dụng có thể chỉgồm một chương trình đơn giản như chương trình xem ảnh, hoặc mộtnhóm các chương trình cùng tương tác với nhau để thực hiện một công vịệcnào đó như chương trình xử lý bản tính, chương trình xử lý văn bản,
2.1.2 Các đặc trưng của phần mềm
Phần mềm là phần tử của hệ thống logic chứ không phải là hệ thốngvật lý, do đó nó có những đặc trưng khác với hệ thống phần cứng
Phần mềm có những đặc trưng cơ bản sau:
- Phần mềm được kĩ nghệ hóa, nó không được chế tạo theo nghĩa cổđiển
- Phần mềm không bị hỏng đi trong quá trình sử dụng
Trang 7- Phần mềm được xây dựng theo đơn đặt hàng chứ không lắp ráp từnhững thành phần có sẵn.
2.1.3 Thuộc tính của sản phẩm phần mềm
Thuộc tính của một sản phẩm phần mềm là các đặc tính xuất hiện từsản phẩm một khi nó được cài đặt và được đưa ra dùng Các thuộc tính nàykhông bao gồm các dịch vụ được cung cấp kèm theo sản phẩm đó
Các thuộc tính biến đổi tùy theo phần mềm Tuy nhiên những thuộctính tối quan trọng bao gồm:
• Khả năng bảo trì: Nó có khả năng thực hành những tiến triển đểthỏa mãn yêu cầu của khách hàng
• Khả năng tin cậy: Khả năng tin cậy của phần mềm bao gồm mộtloạt các đặc tính như là độ tin cậy, an toàn, và bảo mật Phần mềm tin cậykhông thể tạo ra các thiệt hại vật chất hay kinh tế trong trường hợp hưhỏng
• Độ hữu hiệu: Phần mềm không thể phí phạm các nguồn tàinguyên như là bộ nhớ và các chu kì vi xử lý
• Khả năng sử dụng: Phần mềm nên có một giao diện tương đối dễcho người dùng và có đầy đủ các hồ sơ về phần mềm
2.1.4 Khái niệm công nghệ phần mềm
Công nghệ phần mềm ra đời khi tin học phát triển đến một trình độnhất định nào đó Từ những năm 90 trở đi công nghệ phần mềm được nóiđến như một ngành mũi nhọn trong nền kinh tế quốc dân
Công nghệ phần mềm bao gồm một tập hợp với 3 thành phần chủ chốt
– Quy trình công nghệ, Phương pháp phát triển phần mềm, công cụ và môi trường phát triển phần mềm - giúp cho người quản lý có thể kiểm soát
được quá trình phát triển phần mềm và cung cấp cho một nền tảng để xâydựng một phần mềm chất lượng cao
Trang 8•Quy trình công nghệ phần mềm : Hệ thống các giai đoạn mà quátrình phát triển phần mềm phải trải qua Với mỗi giai đoạn cần xác định rõmục tiêu, kết quả nhận được từ giai đoạn trước đó cũng chính là kết quảchuyển giao cho giai đoạn kế tiếp.
•Để tiến hành xây dựng một phần mềm, chúng ta có thể áp dụngnhiều phương pháp khác nhau Mỗi phương pháp sẽ có những hướng dẫn
cụ thể các công việc cần phải thực hiện trong từng giai đoạn trong quy trìnhxây dựng phần mềm Các phương pháp xây dựng phần mềm được chia làmhai nhóm khác nhau dựa vào tính chất của công việc cần thực hiện:
- Phươn pháp xây dựng :
+ Phương pháp hướng chức năng
+ Phương pháp hướng dữ liệu
+ Phương pháp hướng đối tượng
Thành phần
Công cụ và môi trường phát triển phần mềm Phương pháp phát triển
Hình 2.1 Qui trình công nghê ̣ phần mềm
Trang 9+ Lập và theo dõi kế hoạch triển khai
•Các công cụ và môi trường phát triển phần mềm là các các phầnmềm hỗ trợ chính người sử dụng trong quá trình xây dựng phần mềm Cácphần mềm này gọi chung là CASE tools ( computer Aided SoftwareEngineering ) Việc hỗ trợ của các CASE tools trong một giai đoạn gồm 2hình thức chính:
- Cho phép lưu trữ, cập nhật trên kết quả chuyển giao với mộtphương pháp nào đó
- Cho phép phát sinh ra kết quả chuyển giao cho giai đoạn kế tiếp
2.1.5 Vòng đời phát triển của phần mềm
Mỗi phần mềm từ khi ra đời, phát triển đều trải qua một chu kì trongcông nghệ phần mềm gọi là vòng đời phát triển của phần mềm Người tanghiên cứu vòng đời phát triển của phần mềm để hiểu rõ từng giai đoạn để
có biện pháp thích hợp tác động vào giai đoạn đó nhằm đảm bảo chất lượngcủa sản phẩm Vòng đời phát triển của phần mềm được biểu diễn bằng môhình thác nước:
Trang 101 Phân tích các yêu cầu và định nghĩa : hệ thống dịch vụ, khó khăn
và mục tiêu được hình thành bởi sự trợ ý của hệ thống người tiêu dùng Sau
đó các yếu tố này được định nghĩa sao cho có thể hiểu được bởi cả ngườiphát triển và người tiêu dùng
2 Thiết kế phần mềm và hệ thống : thiết kế hệ thống các quá trình,các bộ phận và các yêu cầu về cả phần mềm lẫn phần cứng Hoàn tất hầunhư tất cả kiến trúc của hệ thống này Thiết kế phần mềm tham gia vào việcbiểu thị các chức năng hệ thống của phần mềm mà có thể được chuyểndạng thành một hay nhiều chương trình khả thi
Định nghĩa
các yêu cầu
Sản xuất và bảo trì
Tổng hợp và thử nghiệm toàn bộ phần mềm
Thực hiện và thử nghiện từng đơn vị
Thiết kế phần mềm và hệ thống
Hình 2.2: Vòng đời phát triển của phần mềm
Trang 113 Thực hiện và thử nghiệm các đơn vị : trong giai đoạn này, thiết kếphần mềm phải được chứng thực như là một tập hợp nhiều chương trìnhhay nhiều đơn vị nhỏ Thử nghiệm các đơn vị bao gồm xác minh rằng mỗiđơn vị thỏa mãn đặc tả của nó.
4 Tổng hợp và thử nghiệm toàn bộ : các đơn vị chương trình riêng lẻhay các chương trình được tích hợp lại và thử nghiệm như là một hệ thốnghoàn tất và chứng tỏ được các yêu cầu của phần mềm được thỏa mãn Saukhi thử nghiệm phần mềm được cung ứng cho người tiêu dùng
5 Sản xuất và bảo trì : thông thường ( nhưng không bắt buộc ) đây làpha lâu nhất của chu kỳ tồn tại của sản phẩm Phần mềm được cài đặt vàđược dùng trong thực tế Bảo trì bao gồm điều chỉnh các lỗi mà chưa đượcphát hiện trong các giai đoạn trước của chu kỳ mà phần mềm được cài đặt,nâng cấp sự thực hiện của hệ thống các đơn vị và nâng cao hệ thống dịch
vụ cho là các phát hiện về yêu cầu mới
2.2 Tổng quan về quy trình phát triển phần mềm
Trong quy trình sản xuất phần mềm người ta thường tuân theo 6 quytrình chính sau:
•Quy trình xây dựng hợp đồng
•Quy trình xác định yêu cầu
•Quy trình phân tích thiết kế
•Quy trình lập trình
•Quy trình test
•Quy trình triển khai
Các quy trình có mối liên hệ thống nhất với nhau theo một trình tựnhất định trong đó đầu ra của quy trình này làm đầu vào của quy trình tiếpsau
2.2.1 Quy trình 1: Xây dựng và quản lý hợp đồng phần mềm
Trang 12 Mục đích : Nghiên cứu, đề xuất giải pháp kỹ thuật, tiến hành xâydựng hợp đồng với khách hàng, theo dõi tiến trình thực hiện hợp đồng, tổchức thanh lý, thanh toán hợp đồng và lập hồ sơ tổng quát về quy trình hợpđồng phần mềm.
Nội dung:
- Xây dựng hợp đồng phần mềm với khách hàng
- Theo dõi thực hiện hợp đồng với khách hàng
- Thanh toán thanh lý hợp đồng phần mềm
2.2.2 Quy trình 2 : Xác đinh yêu cầu phần mềm
Phân tích yêu cầu là khâu kỹ thuật gồm nhiều bước nhỏ : nghiên cứutính khả thi, phân tích mô hình hóa, đặc tả thẩm định yêu cầu Giai đoạnnày được tiến hành phối hợp giữa bên phát triển và khách hàng, nó có vaitrò đặc biệt quan trọng trong tiến trình phát triển phần mềm
Đây là bước hình thành bài toán hoặc đề tài Ở bước này trưởng nhómthiết kế và người phân tích hệ thống phải biết được người đặt hàng muốn
gì Các yêu cầu phải được thu thập đầy đủ và phân tích theo chiều ngang vàdọc Công cụ chủ yếu được sử dụng ở giai đoạn này là các lược đồ, sơ đồphản ánh rõ ràng các đối tượng của hệ thống: lưu đồ, sơ đồ dòng dữ liệu,mạng thực thể quan hệ, sơ đồ cầu trúc phân cấp…
Quá trình phân tích:
- Phân tích phạm vi dự án
- Phân tích mở rộng yêu cầu nghiệp vụ
- Phân tích yêu cầu bảo mật
- Phân tích yêu cầu tốc độ
- Phân tích khả năng vận hành
- Phân tích yếu tố con người
Xác định yêu cầu : xác định thật chính xác và đầy đủ các yêu cầuđặt ra cho phẩn mềm sẽ được sử dụng
- Yêu cầu và mô tả yêu cầu : Các yêu cầu của phần mềm cần được
Trang 13mô tả thật rõ ràng, cu thể, đầy đủ chính xác các thông tin liên quan đếncông việc tương ứng Việc mô tả sơ sài, mơ hồ yêu cầu phần mềm sẽ dẫnđến việc hiểu nhầm giữa chuyên viên tin học ( người thực hiện phần mềm )
mô hình để xây dựng hệ thống
- Mô hình chức năng kinh doanh BFD ( Business function diagram) :
Mục đích : xác định một cách chính xác và cụ thể các chức năng chínhcủa hệ thống thông tin Trong giai đoạn phân tích chức năng, người ta phảixác định một cách rõ ràng những gì mà hệ thống sẽ phải thực hiện mà chưaquan tâm đến phương pháp thực hiện được các chức năng ấy
Một chức năng đầy đủ gồm những thành phần sau: tên chức năng, mô
tả các chức năng, đầu vào của chức năng, đầu ra của chức năng
Quy tắc lập sơ đồ chức năng BFD:
Trang 14o Tuần tự: Ghi chức năng của từng cấp theo thứ tự xuất hiện củachúng
o Lựa chọn: Khi có sự lựa chọn giữa những gì xảy ra thì phải chỉ racách lựa chọn và đánh dấu “0” ở phía trên, góc phải của khối chức năng đó
o Phép lặp: Nếu một quá trình được thực hiện nhiều hơn một lần thìđánh đấu “*” ử phía trên góc phải của khối chức năng
o Tên gọi của sơ đồ chức năng càn được đặt một cách đầy đủ, rõ ràng
để người đọc dễ hiểu và dễ dàng phân biệt giữa tên gọi của các chức năngvới nhau
o Sơ đồ chức năng trên cùng một cấp cần được xác lập một cách sángsủa, đơn giản, chính xác và đầy đủ Các chức năng trên cùng một cấp thì có
độ phức tạp như nhau
- Sơ đồ dòng dữ liệu DFD ( data flow diagram): Sơ đồ dòng dữ liệu
DFD là một công cụ để mô hình hóa hệ thống thông tin Mô hình DFD trợgiúp cho cả bốn hoạt động chính sau đây của các phân tích viên trong quátrình phân tích thông tin
Trong công đoạn phân tích mô hình DFD được dùng để xác định yêucầu của người sử dụng Trong công đoạn thiết kế DFD dùng để vạch kếhoạch và minh họa các phương án cho phân tích viên hệ thống và ngườidùng khi thiết kế hệ thống mới Trong công đoạn biểu diễn hồ sơ, mô hìnhDFD là công cụ đơn giản dễ hiểu đối với phân tích viên hệ thống và ngườidùng và biểu diễn tài liệu phân tích hệ thống một cách đầy đủ, súc tích,ngắn gọn
Trang 15o Các tiến trình phải có luồng vào, luồng ra
o Không có luồng dữ liệu trực tiếp giữa các tác nhân với tác nhân vàkho dữ liệu
o Luồng dữ liệu không quay lại nơi xuất phát
o Bắt đầu bằng sơ đồ ngữ cảnh, từ sơ đồ ngữ cảnh đó phân rã thànhcác sơ đồ mức 0, mức 1…
- Mô hình thực thể quan hệ ERD ( Entity – Relation Diagram )
o Thực thể : Là đối tượng thế giới thực mà chúng ta muốn xử lý, cóthể là đối tượng hay trừu tượng
o Thuộc tính : Đặc điểm của thực thể
o Quan hệ : Là mối liên hệ giữa các thực thể, là thông tin cần lưu trữ,
xử lý
o Kế thừa : Là quan hệ kế thừa giữa các thực thể
2.2.3 Quy trình phân tích thiết kế
Tiến trình thiết kế : Thiết kế phần mềm là một tiến trình trong đócác yêu cầu của kế hoạch được chuyển đổi thành sự biểu diễn phần mềm.Biểu diễn phần mềm sẽ mô tả cho quan điểm về tiến bộ phần mềm và quá
Trang 16trình tiếp theo sẽ chi tiết hóa biểu diễn phần mềm thành một bản thiết kếgần chương trình gốc.
• Dưới góc độ của các nhà quản lý dự án, tiến trình thiết kế phầnmềm được chia làm hai bước : thiết kế sơ bộ và thiết kế chi tiết Trong đóthiết kế sơ bộ là việc chuyển đổi yêu cầu thành kiến trúc dữ liệu và phầnmềm Thiết kế chi tiết biểu diễn các kiến trúc để tạo thành cơ sở dữ liệu chitiết và các thuật toán chi tiết cho phần mềm
• Dưới góc độ kỹ thuật, tiến trình thiết kế bao gồm: thiết kế dữ liệu,thiết kế kiến trúc, thiết kế các thủ tục, thiết kế giao diện
Thiết kế và chất lượng phần mềm : Để đánh giá chất lượng củamột biểu diễn thiết kế, chúng ta phải thiết lập các tiêu chuẩn cho thiết kếtốt
• Thiết kế nêu ra cách tổ chức theo cấp bậc để dùng cách kiểm soátthông minh trong số các thành phần phần mềm
• Thiết kế theo các module : Tức là phần mềm nên được phânhoạch một cách logic thành các thành phần thực hiện những chức năngchính và chức năng con xác định
• Thiết kế chứa cách biểu diễn phân biệt và tách biệt giữa những dữliệu và thủ tục
• Thiết kế được hướng theo cách dùng một phương pháp lặp lạiđược điểu khiển bởi thông tin có trong phân tích các yêu cầu phần mềm
Phương pháp thiết kế : Có hai phương pháp thiết kế cơ bản là Topdown Design và Bottom up Design
• Thiết kế từ trên xuống ( Top down Design ) : Trước hết người taxác định các vấn đề chủ đề nhất mà việc giải quyết bài toán yêu cầu, baoquát được toàn bộ bài toán Sau đó phân chia nhiệm vụ cần giải quyết thànhnhững nhiệm vụ cụ thể hơn, tức là chuyển dần từ module chính đến cácmodule con từ trên xuống dưới
Trang 17• Thiết kế từ dưới lên ( Bottom up Design ) : Trước hết người tatiến hành giải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độtương tự về chức năng của các vấn đề này trong việc giải quyết bài toánngười ta gộp chúng lại thành từng nhóm cùng chức năng từ dưới lên trêncho đến module chính Sau đó sẽ thêm một số chương trình làm phong phú
và đầy đủ hơn chức năng của các phân hệ và cuối cùng là thiết kế mộtchương trình làm nhiệm vụ tập hợp các module thành một hệ chương trìnhthống nhất hoàn chỉnh
2.2.4 Quy trình lập trình
Mục đích : Trên cơ sở của hồ sơ thiết kế, bộ phận lập trình tiếnhành chi tiết hóa các sơ đồ khối hay các lưu đồ để biến thành các bản vẽthiết kế sản phẩm phần mềm nhưng bản thân công đoạn lập trình phải trungthành với thiết kế kiến trúc của phần mềm, không được làm thay đổi
• Ngôn ngữ thế hệ thứ hai : Phát triển từ cuối những năm 1950 vàđầu những năm 1960 Các ngôn ngữ thứ hai được đặc trưng bởi việc sửdụng một thư viện các chương trình phần mềm rất lớn được sử dụng rộngrãi trong các lĩnh vực khác nhau Tiêu biểu là : FORTRAN, COBOL,BASIC
• Ngôn ngữ thế hệ thứ 3 : Còn được gọi là ngôn ngữ lập trình hiệnđại Nét đặc trưng của ngôn ngữ này là khả năng cấu trúc rất phong phú và
Trang 18các thủ tục mạnh Các ngôn ngữ thế hệ thứ 3 chia làm 3 nhóm là : Ngônngữ cấp cao vạn năng ( PASCAL, MODULA -2, C…), Ngôn ngữ cấp caohướng đối tượng ( C++, Object Pascal, Eiffiel…), Ngôn ngữ chuyên dụng.
2.2.5 Quy trình test
Mục đích : Sau khi đã có sản phẩm phần mềm, các lập trình viêntiến hành test chương trình và test toàn bộ phần mềm bao gồm test hệthống, test tiêu chuẩn nghiệm thu nhằm đảm bảo có một phần mềm chấtlượng cao
Nội dung :
• Lập kịch bản test
• Test hệ thống
• Test nghiệm thu
2.2.6 Quy trình triển khai
Mục đích : Đây là quy trình cuối cùng trong toàn bộ công đoạnkhép kín của quy trình sản xuất phần mềm Quy trình triển khai có mụcđích cài đặt phần mềm cho khách hàng tại các địa điểm triển khai và hướngdẫn, đào tạo sử dụng cho khách hàng
Nội dung :
• Cài đặt máy chủ
• Cài đặt máy mạng
• Vận hành phần mềm
• Hướng dẫn đào tạo sử dụng
2.3 Tổng quan về hệ quản trị cơ sở dữ liệu Access và ngôn ngữ lập trình VB
2.3.1 Hệ quản trị cơ sở dữ liệu Access
Hệ quản trị cơ sở dữ liệu quan hệ ( Relation Database ManagementSystem ) là hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác
dữ liệu theo mô hình cơ sở dữ liệu quan hệ
Trang 19Những hệ quản trị cơ sở dữ liệu được dùng nhiều nhất là MicrosoftAccess, Microsoft Visual Foxpro, Microsoft SQL Server và Oracle.
Microsoft Access là một thành phần của chùm phần mềm MicrosoftOffice Professional, vì thế mà những đối tượng thuộc giao diện như thựcđơn, dải công cụ và hộp thoại đề tương tự như các ứng dụng khác củaoffice mà phần lớn cán bộ văn phòng đã quen dùng Việc trao đổi dữ liệugiữa Access và các ứng dụng khác trong môi trường Windows cũng rấtthuận tiện
Access có rất nhiều chức năng để đáp ứng những nhu cầu khác nhau
về CSDL Có thể dùng Access để phát triển sáu kiểu ứng dụng phổ biếnnhất : ứng dụng cá nhân, ứng dụng cho doanh nghiệp nhỏ, ứng dụng chonội bộ từng phòng ban, ứng dụng cho toàn công ty, ứng dụng ở tuyến trướccho các CSDL theo mô hình khách chủ trên một phạm vi toàn doanhnghiệp và ứng dụng trên mạng nội bộ của một cơ quan và mạng máy tínhquốc tế
Các thành phần của một cơ sở dữ liệu Access :
Table ( Bảng ) : các bảng lưu dữ liệu được định dạng theo cột và
dòng, tương tự như việc ứng dụng bảng tính Chúng ta có thể tạo và mởnhiều bảng ( được giới hạn bởi bộ nhớ của máy tính )
Query ( Truy vấn ) : Mỗi truy vấn là một câu hỏi đơn giản từ cơ
sở dữ liệu cho phép bạn hiển thị dữ liệu thỏa mãn điều kiện hỏi Mỗi lầnxem dữ liệu bạn thường không muốn hiển thị toàn bộ dữ liệu trong cơ sở
dữ liệu, bằng việc dùng các truy vấn bạn có thẻ xác định xem những bảnghi nào và những trường nào từ các bảng dữ liệu đã có sẽ được hiển thị
Form ( Mẫu biểu) : Các form được sử dụng để truy nhập dữ liệu
và cập nhật các dữ liệu hiện thời Các form sẽ hiển thị dữ liệu thường làmột bản ghi nhiều hơn là dạng cột và dòng Các form có thể đại diện chocác trường trong bảng theo bất kỳ một trật tự nào và làm cho việc nhập dữliệu nhanh hơn và đơn giản hơn
Trang 20 Report ( Báo cáo ) : Các báo cáo là tổng hợp các bản in ra của cơ
sở dữ liệu của bạn và được tạo ra trong bất kỳ định dạng nào mà bạn muốn.Các báo cáo có thể được tạo ra từ bất kỳ bảng hoặc bản mẫu câu hỏi nào
mà bạn đã thiết kế trước đó
Macro : Macro có thể tự động hóa các thao tác trong Access Sử
dụng macro bạn có thể tạo cơ sở dữ liệu với đầy đủ chức năng mà khôngcần phải viết bất kỳ mã code nào
Module : Module gồm mã Visual basic, được viết cho bạn hoặc
do bạn viết ra để thực hiện các thao tác mà các macro của Access không thể
hỗ trợ được
2.3.2 Ngôn ngữ lập trình Visual Basic 6.0
Visual basic là một ngôn ngữ lập trình hướng sự kiện ( event –driven ) và môi trường phát triển tích hợp ( IDE ) kết bó được phát triểnđầu tiên bởi Alan Cooper dưới tên dự án Ruby, và sau đó được Microsoftmua và cải tiến nhiều Visual Basic đã được thay thế bằng VisualBasic.NET Phiên bản cũ của Visual Basic bắt nguồn từ phần lớn tứ pháttriển ứng dụng nhanh ( Rapid Application Development, RAD), truy cậpcác cơ sở dữ liệu dùng DAO ( Data Access Object), RDO ( Remote DataObject), hay ADO ( ActiveX Data Object) và lập các kiểu điều khiển và đốitượng ActiveX
Thuật ngữ “Visual” dùng để nói đến các phương thức dùng để tạogiao diện đồ họa người sử dụng Thay vì viết những dòng mã lệnh để mô tả
sự xuất hiện và vị trí của những thành phần giao diện ta chỉ cần thêmnhững đối tượng đã được định nghĩa trước ở vị trí nào trên màn hình “Basic “ là nói đến ngôn ngữ Basic – một ngôn ngữ được dùng bởi nhiềunhà lập trình hơn bất cứ ngôn ngữ nào khác trong lịch sử máy tính
Visual Basic gắn liền với khái niệm lập trình trực quan, nghĩa là khithiết kế chương trình, ta thấy ngay kết quả qua từng thao tác và giao diệnkhi chương trình thực hiện Đây là thuận lợi lớn so với các ngôn ngữ lập
Trang 21trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng hìnhdáng, màu sắc, kích thước của đối tượng có trong mặt ứng dụng.
Mặt khác khả năng của Visual Basic là khả năng kết hợp các thư việnliên kết động DLL ( Dynamic Link Library ) DLL chính là phần mở rộngcho Visual Basic tức là khi ta xây dựng một ứng dụng nào đó có một yêucầu mà Visual Basic không thể đáp ứng được ta có thể viết thêm DLL phụtrợ
Người dùng Visual Basic cũng thấy tiện lợi khi tiết kiệm được thờigian, công sức so với các ngôn ngữ khác khi xây dựng cùng một ứng dụng.Khi viết chương trình bằng Visual Basic, chúng ta phải trải qua haibước :
- Thiết kế giao diện
- Viết lệnh
Thiết kế giao diện :
Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kếgiao diện rất đơn giản Trong hộp Tools box, ta có thể xác định đối tượng,sau đó ta đặt đối tượng vào Form và tiến hành thay đổi một số thuộc tínhcủa đối tượng đó trực tiếp trên đối tượng hoặc thông qua cửa sổ thuộc tínhProperties Windows
Form :
Tương tự như trong Access, Form là biểu mẫu mỗi ứng dụng trongVisual Basic Ta dùng Form nhằm định vị và sắp xếp các bộ phận trên nókhi thiết kế các phần giao tiếp với người dùng
Ta có thể xem Form như một bộ phận mà nó chứa các bộ phận khác.Form chính là ứng dụng, các thành phần của nó tương tác với các Formkhác, các bộ phạn của chúng tạo nên giao tiếp cho ứng dụng Form chính làgiao diện chính cho ứng dụng, các Form khác có thể chứa các hộp thoạihiển thị các nhập liệu…
Trang 22Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫuvào lúc hoàn tất thiết kế là kích cỡ và hình dạng người dùng sẽ gặp vào thờigian thực hiện, hoặc lúc chạy Điều này có nghĩa là Visual Basic cho phép
ta thay đổi kích cỡ và di chuyển vị trí của Form đến bất kỳ nơi nào trongmàn hình khi chạy một đề án bằng cách thay đổi các thuộc tính của nótrong cửa sổ thuộc tính Thực tế, một trong những tính năng thiết yếu củaVisual Basic là khả năng tiến hành những thay đổi động để đáp ứng các sựkiện của người dùng
Tools Box :
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị các điềukhiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng đượcđịnh nghĩa sẵn của Visual Basic Các đối tượng này được sử dụng trongForm để tạo thành giao diện cho các chương trình ứng dụng của VisualBasic Các đối tượng trong thanh công cụ này là thông dụng nhất
Properties Windows:
Là nơi chứa danh sách thuộc tính của một đối tượng cụ thể Các thuộctính này có thể thay đổi để phù hợp với yêu cầu về giao diện của cácchương trình ứng dụng
Project Explorer :
Do các ứng dụng của Visual thường dùng chung mã hoặc các Form đãtùy biến trước đó, nên Visual Basic tổ chức các ứng dụng thành Project.Mỗi Project có thể có nhiều Form và mã kích hoạt điều khiển trên mộtForm sẽ được lưu trữ chung với Form đó trong các tệp tin riêng biệt Mãlập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể phânthành các module khác nhau và cũng được lưu trữ tách biệt, gọi là Module
mã Project Explorer nêu tất cả các biểu mẫu tùy biến và được các Module
mã chung, tạo nên một ứng dụng
Viết lệnh :
Dòng mã :
Trang 23Điểm quan trọng phải nhận thức được ở khâu lập trình Visual Basic là
VB xử lý mã chỉ để áp dụng các sự kiện Thực vậy, không như nhiều ngônngữ lập trình khác, các dòng mã thi hành trong một chương trình VisualBasic phải nằm trong thủ tục hoặc các hàm, các dòng mã cô lập sẽ khônglàm việc
Cửa sổ code :
Cửa sổ code là nơi viết mã Cửa sổ code có một thành tách ( SplitBar ) nằm bên dưới thành tiêu đề, tại đầu thanh cuộn dọc để có thể xem haiphần cửa sổ code cùng một lúc
Chương 3: Xây dựng phần mềm quản lý kho hàng của
công ty GoldTech.
3.1 Xác đi ̣nh yêu cầu.
Sau khi nắm bắt đươ ̣c những khó khăn của doanh nghiê ̣p ta xác
đi ̣nh những yêu cầu cần có của phần mềm để giải quyết tốt khó khăn trên
Ta quan tâm nghiên cứu đến các yêu cầu chức năng là các yêu cầu quản lýchính của doanh nghiê ̣p, ngoài ra cần nghiên cứu các yêu cầu phi chứcnăng để phần mềm thân thiê ̣n và có những tính năng bảo mâ ̣t tốt hơn
3.1.1 Yêu cầu chức năng
* Quản lý danh mục:
- Cập nhật danh mục các loại máy tính, máy in, linh kiện,
- Cập nhật danh mục đơn vị nhập, nhân viên nhập
- Cập nhật danh mục đơn vị xuất, nhân viên xuất
* Quản lý xuất, nhập
- Cập nhật phiếu nhập kho
- Cập nhật phiếu xuất kho
* Quản lý tồn kho
Trang 24- Cập nhật hàng hóa tồn kho
- Thống kê các mặt hàng, loại hàng theo từng tháng, từng kỳ kinhdoanh
- Tổng hợp các phát sinh xuất, nhập trong kỳ
* Xuất báo cáo
- Báo cáo danh mục hàng hóa
- Lập báo cáo hàng nhập kho theo loại hàng, tên hàng
- Lập báo cáo hàng xuất kho theo loại hàng, tên hàng
- Lập báo cáo hàng tồn kho
3.1.2 Yêu cầu phi chức năng
- Tạo thêm mới người dùng
- Thực hiện phân quyền người dùng
- Thực hiện chức năng bảo mật
Khi đã xác đi ̣nh được những yêu cầu cần có của phần mềm để giúpgiải quyết tốt bài toán của doanh nghiê ̣p ta đi vào xây dựng các lược đồ, sơđồ phản ánh rõ ràng các đối tượng của hê ̣ thống: sơ đồ chức năng kinhdoanh, sơ đồ dòng dữ liê ̣u, sơ đồ các mức phân rã
Mô hình hóa yêu cầu hê ̣ thống: Cho phép ta hiểu mô ̣t cách chi tiết hơnvề ngữ cảnh vấn đề cần giải quyết mô ̣t cách trực quan và bản chất nhất củayêu cầu Dựa vào những yêu cầu của bài toán quản lý và qua khảo sát thựctế ta đưa ra đươ ̣c những mô hình đă ̣c tả hoa ̣t đô ̣ng quản lý kho của doanhnghiê ̣p dưới đây:
* Sơ đồ chức năng kinh doanh(BFD):
Trang 25* Sơ đồ ngữ cảnh hệ thống quản lý kho:
Quản lý hàng tồn kho
Lâ ̣p báo cáo
Vào sổ hàng
nhâ ̣p Nhận hàng
Nhận, duyệt
phiếu nhập kho
Nhận, kiểm tra HĐBH
Câ ̣p nhâ ̣t hàng nhâ ̣p kho
Truy xuất dữ liê ̣u
Câ ̣p nhâ ̣t hàng xuất kho
Lập phiếu
xuất kho
Tính toán, tổng hợp
Vào sổ hàng xuất Tổng hợp tồn Lên báo cáo
kho
Hình 3.1: Sơ đồ chức năng kinh doanh phân hê ̣ quản lý kho
Quản Lý Kho hàng
Thông tin liên quan,
phiếu nhập, phiếu xuất Yêu cầu báo cáo, ý kiến phản hồi
Trang 27* Sơ đồ luồng dữ liê ̣u (DFD) mức 0:
lý nhập kho
2.0 Quản
lý xuất kho
3.0 Quản lý tồn kho
4.0 Lập báo cáo
CSDL nhập kho CSDL tồn kho CSDL xuất kho
Ban quản lý
Y/c trả lại hàng bán
Thông tin nhập kho
Hóa đơn bán hàng
Thông tin xuất kho Hóa đơn bán hàng
Phiếu xuất hàng trả lại người bán
Kiểm tra hàng nhập
Kiểm tra hàng xuất
Báo cáo hàng trong kho
Yêu cầu thông tin
Hình 3.3: Sơ đồ luồng dữ liê ̣u phân hê ̣ quản lý
kho
Trang 28Khách hàng Nhà cung cấp
Phân hệ khác
1.1 Duyệt đơn
1.3 Vào
sổ hàng nhập
1.2 Nhận hàng
CSDL nhập kho
Hóa đơn nhập Thông tin nhập kho
Hóa đơn bán hàng
Hàng bán bi ̣ trả la ̣i
Phân rã mức 1 “Quản lý nhập kho”
Hình 3.4: Sơ đồ phân rã mức 1 Quản lý nhập kho
Phân hệ khác
2.1 Lập phiếu xuất kho
1.3 Vào
sổ hàng xuất
2.2 Xuất hàng trong kho
CSDL xuất kho
Phiếu xuất kho Thông tin xuất kho
Phiếu xuất hàng trả lại người bán
Hóa đơn bán hàng
Phân rã mức 1 “Quản lý xuất kho"
Hình 3.5: Sơ đồ phân rã mức 1 Quản lý xuất kho
Trang 293.1 Quản lý hàng xuất
CSDL xuất kho
CSDL tồn kho CSDL nhập kho
Hình 3.6: Sơ đồ phân rã mức 1 Quản lý tồn kho
4.1 Truy nhập dữ
liê ̣u
4.3 Lên báo cáo
4.2 Tính toán tổng hơ ̣p
Ban quản lý
Phân rã mức 1 “Lập báo cáo”
Các phân hê ̣ khác
CSDL kho
Yêu cầu truy vấn
Dữ liê ̣u chưa tổng hợp
Dữ
liê ̣u tổng
Hình 3.7: Sơ đồ phân rã mức 1 Lập báo cáo
Phân rã mức 1 “Quản lý tồn kho”
Trang 303.2 Qui trình phân tích thiết kế.
Thiết kế phần mềm nằm ở trung tâm kỹ thuâ ̣t của tiến trình công nghê ̣phần mềm Quá trình yêu xác đi ̣nh yêu cầu và phân tích ta đã thực hiê ̣n ởphần trước, đó là cơ sở để ta thực hiê ̣n thiết kế phần mềm
Thiết kế phần mềm là mô ̣t tiến trình trong đó các yêu cầu ta nêu trênsẽ được chuyển đổi thành sự biểu diễn phần mềm Dưới góc đô ̣ của các nhàquản lý dự án tiến trình này được chia thành hai bước: thiết kế sơ bô ̣ vàthiết kế chi tiết, còn dưới góc đô ̣ kỹ thuâ ̣t tiến trình thiết kế bao gồm: thiếtkế dữ liê ̣u, thiết kế các thủ tu ̣c, thiết kế giao diê ̣n
3.2.1 Thiết kế cơ sơ dữ liệu:
Để thiết kế cơ sở dữ liê ̣u ta cần thực hiê ̣n chuẩn hóa dữ liê ̣u Cácthông tin chuẩn hóa được lấy ra từ phiếu nhâ ̣p và phiếu xuất
Các thông tin đầu ra gồm có:
- Thông tin trên phiếu nhâ ̣p: mã phiếu nhâ ̣p, ngày nhâ ̣p, mã nhânviên, tên nhân viên, ngày sinh, giới tính, mã nhà cung cấp, tên nhà cungcấp, đi ̣a chỉ nhà cung cấp, mã hàng , tên hàng, mã kho, tên kho, mã nhómhàng, tên nhóm hàng, số lượng nhâ ̣p
- Thông tin trên phiếu xuất cũng có các thuô ̣c tính tương tự: mã phiếuxuất, ngày xuất, mã nhân viên, tên nhân viên, ngày sinh giới tính, mã kháchhàng, tên khách hàng, đi ̣a chỉ khách hàng, mã hàng, tên hàng, mã kho, tênkho, mã nhóm hàng, tên nhóm hàng, số lượng xuất
Từ các thông tin trên ta tiến hành chuẩn hóa dữ liê ̣u, qua các bướcchuẩn hóa 1NF, 2NF, 3NF ta thu đươ ̣c bảng chuẩn hóa cho các dữ liê ̣u củaphiếu nhâ ̣p và phiếu xuất thể hiê ̣n ở hai bảng dưới đây:
Trang 31Chuẩn hóa 2NF Chuẩn hóa 3NF Chuẩn hóa 1NF
Chi tiết nhâ ̣p kho
Mã hàng
Mã NV Tên NV Ngày sinh Giới tính Điện thoại NV Địa chỉ
Mã nhà cung cấp Tên nhà cung cấp Địa chỉ CC Điện thoại CC Email CC
Chi Tiết Nhập Kho
Mã phiếu nhập
Mã hàng
Số lượng nhập Đơn giá
Danh mục hàng hoá
Mã hàng
Mã nhóm hàng Đơn vị tính
Mã hãng sản xuất Tên hãng sản xuất Tên hàng
Tên nhóm hàng
Mã kho Tên kho
Phiếu nhâ ̣p
Mã phiếu nhập Ngày nhập
Mã NV
Mã nhà cung cấp
Danh mục nhà C 2
Mã nhà cung cấp Tên nhà cung cấp Địa chỉ CC Điện thoại CC Email CC
Danh mục NV
Mã NV Tên NV Ngày sinh Giới tính Điện thoại Địa chỉ
Chi tiết nhập kho
Mã phiếu nhập
Mã hàng
Số lượng nhập Đơn giá
Danh mục nhóm
Mã nhóm hàng Tên nhóm
Danh mục hãng SX
Mã hãng SX Tên hãng SX
Kho hàng
Mã kho Tên kho
Hình 3.8: Bảng chuẩn hóa các chi tiết trên phiếu nhập