1.1.4 Tình hình hoạt động kinh doanh của công ty 1.1.5 Thực trạng việc ứng dụng tin học tại công ty Hiện tại các phòng ban đều được trang bị máy tính để quản lý, nghiên cứu, tìmkiếm thôn
Trang 11.1.1 Quá trình hình thành và phát triển 3
1.1.2 Lĩnh vực hoạt động 4
1.1.3 Cơ cấu tổ chức 4
1.1.4 Tình hình hoạt động kinh doanh của công ty6
1.1.5 Thực trạng việc ứng dụng tin học tại công ty 6
1.2 Tổng quan về đề tài nghiên cứu 7
1.2.1 Tính cấp thiết của đề tài 7
1.2.2 Định hướng lựa chọn đề tài 8
2.2 Các công cụ lập trình 31
Trang 2CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM QUẢN LÝ KHOCHO CÔNG TY CỔ PHẦN XUẤT NHẬP KHẨU CHÂU Á - THÁI BÌNH DƯƠNG
343.1 Bài toán quản lý kho hàng tại công ty cổ phần xuất nhập khẩu châu Á- TháiBình Dương 34
3.1.1 Mô tả bài toán 34
3.1.2 Các nghiệp vụ quản lý kho 36
3.1.3 Các yêu cầu của bài toán 36
3.2 Mô hình hóa hệ thống quản lý kho tại công ty cổ phẩn xuất nhập khẩu châu
3.3 Thiết kế cơ sở dữ liệu quản lý kho 48
3.3.1 Nguyên tắc thiết kế cơ sở dữ liệu 48
3.3.2 Thiết kế cơ sở dữ liệu từ thông tin đầu ra 48
3.3.3 Thiết kế các bảng trong cơ sở dữ liệu56
3.3.4 Sơ đồ quan hệ thực thể 60
3.4 Thiết kế kiến trúc hệ thống 61
3.5 Thiết kế giải thuật62
3.5.1 Thuật toán đăng nhập 62
3.5.2 Thuật toán thêm mới bản ghi 63
3.5.3 Thuật toán xóa bản ghi 64
3.5.4 Thuật toán sửa bản ghi 65
3.5.5 Thuật toán tìm kiếm 66
Trang 47 IFD Information Flow Diagram – Sơ đồ luồng thông tin
10 ERD Entity Relationship Diagram – Sơ đồ quan hệ thực
thể
Trang 5Hình 2.8: Phác thảo thứ hai về bài toán 20
Hình 2.9: Các ký pháp của sơ đồ luồng thông tin 21
Hình 2.10: Các ký pháp dùng trong sơ đồ luồng dữ liệu DFD 23
Hình 2.11: Lưu đồ quy trình xác định yêu cầu 25
Hình 2.12: Lưu đồ quy trình thiết kế phần mềm 27
Hình 2.13: Lưu đồ quy trình lập trình 28
Hình 2.14: Lưu đồ quy trình kiểm thử 29
Hình 2.15: Lưu đồ quy trình triển khai 30
Hình 3.1: Quy trình quản lý kho 35
Hình 3.2: Sơ đồ luồng thông tin nghiệp vụ nhập kho 40
Hình 3.3: Sơ đồ luồng thông tin nghiệp vụ nhập kho 41
Hình 3.4: Sơ đồ luồng thông tin báo cáo 42
Hình 3.5: Mô hính chức năng kinh doanh BFD 43
Hình 3.6: Sơ đồ ngữ cảnh 44
Hình 3.7: DFD mức 0 45
Hình 3.8: DFD xử lý nhập hàng 1.0 46
Hình 3.9: DFD xử lý xuất hàng mức 2.0 47
Hình 3.10: DFD kiểm kê và báo cáo 3.0 47
Hình 3.11: Sơ đồ quan hệ thực thể ERD 60
Hình 3.12: Sơ đồ kiến trúc hệ thống 61
Hình 3.13: Thuật toán đăng nhập 62
Hình 3.14: Thuật toán thêm bản ghi mới 63
Trang 6Hình 3.17: Thuật toán tìm kiếm 66
Hình 3.18: Thuật toán in báo cáo 67
Hình 3.19: Lưu đồ nghiệp vụ nhập kho 68
Hình 3.20: Lưu đồ nghiệp vụ xuất kho 69
Hình 3.21: Form Đăng nhập 70
Hình 3.22: Form Cấu hính cơ sở dữ liệu 70
Hình 3.23: Form Main 71
Hình 3.24: Form Quản lý người dùng 72
Hình 3.25: Form Danh mục kho 73
Hình 3.26: Form Danh mục nhân viên 73
Hình 3.27: Form Danh mục nhà cung cấp 74
Hình 3.28: Form Danh mục khách hàng 75
Hình 3.29: Form Danh mục loại hàng 75
Hình 3.30: Form Danh mục hàng hóa 76
Hình 3.31: Form Nhập kho 77
Hình 3.32: Phiếu nhập kho 78
Hình 3.33: Form Xuất kho 79
Hình 3.34: Phiếu xuất kho 80
Hình 3.35: Form tồn kho 81
Hình 3.36: Form Báo cáo hàng nhập theo nhà cung cấp 81
Hình 3.37: Form Báo cáo hàng nhập theo mặt hàng 82
Hình 3.38: Form Báo cáo hàng nhập theo thời gian 83
Hình 3.39: Form Báo cáo hàng xuất theo mặt hàng 84
Hình 3.40: Form Báo cáo hàng xuất theo thời gian 84
Hình 3.41: Form Báo cáo hàng xuất theo khách hàng 85
Hình 3.42: Form Báo cáo hàng tồn 86
Hình 3.43: Form Báo cáo hàng nhập theo mặt hàng 86
Hình 3.44: Form Tìm kiếm hàng nhập theo nhà cung cấp 87
Hình 3.45: Form Tìm kiếm hàng xuất theo mặt hàng 88
Trang 8Bảng 3.1: Bảng phiếu nhập 56
Bảng 3.2: Bảng danh mục nhà cung cấp 56
Bảng 3.3: Bảng danh mục kho 57
Bảng 3.4: Bảng danh mục nhân viên 57
Bảng 3.5: Bảng chi tiết phiếu nhập 58
Bảng 3.6: Bảng danh mục hàng 58
Bảng 3.7: Bảng danh mục loại hàng 58
Bảng 3.8: Bảng phiếu xuất 59
Bảng 3.9: Bảng khách hàng 59
Bảng 3.10: Bảng chi tiết phiếu xuất 59
Trang 11Công ty được thành lập tháng 6/2002 Trước đó, công ty xuất phát từ Phòng
Dự án – Công ty Thức ăn Chăn nuôi Hoa Kỳ liên kết với công ty Asia PacificMarketing Group (APMG) của Hồng Kông chuyên kinh doanh các máy móc, thiết bịdụng cụ chăn nuôi và thú y, thiết bị phòng thí nghiệm, nguyên liệu thức ăn gia súc vàthức ăn bổ sung, phát triển các dự án nông nghiệp ở Việt Nam và làm đại diện chomột số công ty hàng đầu thế giới trong lĩnh vực trên tại thị trường Việt Nam
Thị trường
Ngoài việc bán hàng trực tiếp đến khách hàng, công ty còn mở rộng kênh phânphối qua 20 đại lý bán hàng trên khắp cả nước Các khách hàng chủ yếu của công tylà:
Các trại chăn nuôi gia súc, gia cầm
Các công ty giống, trung tâm nghiên cứu và các công ty chăn nuôi
Các trung tâm thụ tinh nhân tao, trung tâm khuyến nông, chi cục thú ycác tỉnh
Các phòng thí nghiệm về thú y và y tế
Các nhà máy sản xuất thức ăn gia súc, nhà máy giết mổ và chế biến thịt
Các tổ chức quốc tế và công ty nước ngoài
Với các mặt hàng ngày càng đa dạng, phong phú và chất lượng cao, công nghệtiên tiến, hiện đại, giá cả hợp lý, chúng tôi mong muốn tiếp tục góp phần giúp các nhàchăn nuôi đạt hiệu qủa kinh tế cao, tiết kiệm chi phí trong sản xuất và kinh doanh,từng bước đưa các sản phẩm nông nghiệp Việt Nam vươn ra thị trường khu vực vàthế giới
Tên pháp nhân, địa chỉ
Tên pháp nhân: Công ty CP XNK Châu Á - Thái Bình Dương (viết tắt: APC)Địa chỉ: N6, 25 Láng Hạ, Thành Công, Ba Đình, Hà Nội, Việt Nam
Điện thoại: (84-4) 35146471/35146470
Trang 12- Công ty chuyên kinh doanh các mặt hàng sau:
Cung cấp các loại thiết bị, dụng cụ chăn nuôi gia súc, gia cầm
Cung cấp thiết bị thu tinh nhân tạo, trang thiết bị phòng thí nghiệm
Cung cấp thiết bị chuồng trại chăn nuôi lợn, gà như: sàn, máng, hệthống ăn uống tự động, hệ thống làm mát, thông gió …
Cung cấp giống lợn thuần, giống gà, vịt, ngan, bồ câu, thỏ….và tinhlợn, bò đông lạnh
Cung cấp thiết bị giết mổ và chế biến thịt
Cung cấp nguyên liệu làm thức ăn chăn nuôi , thức ăn bổ sung
1.1.3 Cơ cấu tổ chức
Công ty có trên 30 nhân viên, trong đó: 4 bác sỹ thú y, 1 cử nhân kinh tế nôngnghiệp, 2 kỹ sư cơ khí, hơn 20 nhân viên kinh doanh và phát triển thị trường, tàichính kế toán, ngoại thương và các lĩnh vực khác Tất cả nhân viên của APC đều lànhững cán bộ giàu kinh nghiệm trong lĩnh vực nông nghiệp Đặc biệt, giám đốcThành là người đã từng có 25 trong nghề (18 năm làm Phó tổng giám đốc Công tyChăn nuôi Việt Nam, 7 năm làm Phó tổng giám đốc Công ty Thức ăn chăn nuôi HoaKỳ) và đã duy trì, phát triển những mối quan hệ hợp tác với nhiều công ty chăn nuôikhác, nông trường quốc doanh và tư nhân, cũng như nhiều nhà máy, xí nghiệp, phòngban liên quan và hàng loạt doanh nghiệp Việt Nam và nước ngoài
Trang 13Hội đồng quản trị: là cơ quan quản lý Công ty có toàn quyền nhân danh Công
ty để quyết định thực hiện các quyền và nghĩa vụ của Công ty không thuộc thẩmquyền của Đại hội đồng cổ đông Hội đồng thực hiện chức năng quản lý và kiểm tragiám sát hoạt động của Công ty, tạo mọi điều kiện thuận lợi cho Giám đốc thực hiệnNghị quyết, quyết định của Hội đồng quản trị Hội đồng quản trị quyết định chiếnlược, kế hoạch phát triển trung hạn và kế hoạch kinh doanh hằng năm của Công ty
Tổng giám đốc: Điều hành và chịu trách nhiệm về mọi hoạt động sản xuất
kinh doanh của công ty theo nghị quyết, quyết định của Hội đồng quản trị, bảo toàn
và phát triển vốn, thực hiện phương án kinh doanh đã được Hội đồng quản trị phêduyệt Giám đốc chịu trách nhiệm hoàn toàn trước hội đồng quản trị về trách nhiệmđiều hành quản lý công ty
Phòng hành chính: Quản lý, thực hiện công tác văn thư, hành chính và lưu trữ
của công ty, xây dựng và triển khai thực hiện các kế hoạch do Giám đốc phê duyệt,tổng hợp tình hình các hoạt động của công ty trên các mặt công tác theo qui định
Phòng nghiên cứu: Nghiên cứu tìm ra các sản phẩm phù hợp với nhu cầu của
thị trường và kiểm tra chất lượng của các sản phẩm nhập khẩu
Phòng kĩ thuật: Triển khai, hướng dẫn sử dụng, bảo trì đối với các thiết bị
máy móc, thức ăn cũng như giống
Phòng
hành
chính
Phòng nghiên cứu
Phòng
kĩ thuật
Phòng tài chính
kế toán
Phòng kinh doanh
Kho
Phòng nhập khẩu
Hình 1.1: Sơ đồ cơ cấu tổ chức công ty
Trang 14Phòng kinh doanh: phòng kinh doanh thực hiện kí kết hợp đồng kinh doanh
và đơn đặt hàng với khách hàng, và nhà cung cấp Họ trực tiếp thực hiện các giaodịch với khách Ngoài ra phòng này cũng đảm nhiệm chức năng tìm kiếm và khaithác thị trường, lập báo cáo hoạt động kinh doanh của công ty để trình lên ban lãnhđạo
Phòng tài chính kế toán: Thực hiện các nghiệp vụ tài chính kế toán theo đúng
chế độ, chính sách của nhà nước trong toàn bộ các khâu sản xuất kinh doanh của công
ty Theo dõi, kiểm tra việc thực hiện các quy định về chế độ, chi tiêu, quản lý chặt chẽtiền hàng Kiểm tra việc kiểm kê định kỳ và hàng năm để quản lý, điều hành và phục
vụ cho công tác quyết toán tài chính, tính toán và xây dựng giá thành sản phẩm
Phòng tài chính kế toán còn có nhiệm vụ quan trọng là quản lý hồ sơ nhânviên, thực hiện tính bảo hiểm xã hội, bảo hiểm y tế, dựa trên bảng chấm công để tiếnhành tính lương hàng tháng cho cán bộ công nhân viên
Phòng nhập khẩu: Quản lý việc nhập khẩu các sản phẩm giống vật nuôi, thức
ăn, thiết bị chăn nuôi
Kho: trực tiếp quản lý các sản phẩm được nhập, xuất và các các sản phẩm
được giao cho khách hàng
1.1.4 Tình hình hoạt động kinh doanh của công ty
1.1.5 Thực trạng việc ứng dụng tin học tại công ty
Hiện tại các phòng ban đều được trang bị máy tính để quản lý, nghiên cứu, tìmkiếm thông tin, lưu trữ dữ liệu, liên lạc với khách hàng và nhà cung cấp phục vụ mụcđích sản xuất kinh doanh của công ty có hiệu quả nhất
Bảng 1.1: Tình hình sản xuất kinh doanh của công ty (2009-2012)
Trang 15Kho hàng được quản lý bằng Excel gây nhiều khó khăn và bất tiện cho việcquản lý và theo dõi lượng hàng trong kho.
1.2 Tổng quan về đề tài nghiên cứu
1.2.1 Tính cấp thiết của đề tài
a Tình cấp thiết của đề tài
Nền kinh tế nước ta đang trên đà phát triển mạnh mẽ và đạt được nhiều thànhcông rực rỡ Sản phẩm hàng hóa của nước ta ngày càng đa dạng, phong phú và đápứng nhu cầu của người tiêu dùng Việc gia nhập WTO cùng với xu thế quốc tế hoátoàn bộ đời sống chính trị, kinh tế, xă hội để hoà nhập vào thế giới đă làm cho thịtrường nước ta ngày một phong phú về hàng hoá, sản phẩm trong và ngoài nước, điềunày đă gắn nền kinh tế nước ta với những khó khăn và thách thức mới
Hiện nay trong cơ chế thị trường, các doanh nghiệp sản xuất đang ra sức cạnhtranh, ra sức tìm chỗ đứng trên thị trường bằng các sản phẩm và hàng hoá của mìnhvới những ưu thế riêng của như: Chất lượng sản phẩm, giá cả, mẫu mă, tính tiệndụng…
Mục đích của doanh nghiệp nào cũng là tối đa hoá lợi nhuận nghĩa là hoạtđộng sản xuất kinh doanh phải có hiệu quả, hơn thế nữa phải là hiệu quả cao, lãi càngnhiều càng tốt Mà lợi nhuận lại tỷ lệ nghịch với chi phí vì thế các doanh nghiệp đều
ra sức tìm con đường giảm chi phí sản xuất, hạ giá thành sản phẩm Do vậy với tỷtrọng khoảng 60 – 70% tổng chi phí, nguyên vật liệu cần phải quản lý thật tốt Nếudoanh nghiệp biết sử dụng nguyên vật liệu một cách tiết kiệm, hợp lý thì sản phẩmlàm ra càng có chất lượng tốt mà giá thành lại hạ tạo ra mối tương quan có lợi chodoanh nghiệp trên thị trường Quản lý nguyên vật liệu càng khoa học thì hiệu quảkinh tế càng cao Với vai trò quan trọng như vậy thì yêu cầu quản lý nguyên vật liệucần chặt chẽ trong tất cả các khâu từ khâu thu mua, dự trữ, bảo quản và sử dụng Đểquản lý nguyên vật liệu một cách tiết kiệm và hiệu quả hơn thì công tác kế toánnguyên vật liệu phải được tổ chức một cách khoa học hợp lý vừa tuân thủ những quy
Trang 16định, chế độ của nhà nước vừa phải phù hợp với đặc điểm hoạt động sản xuất kinhdoanh của doanh nghiệp.
Cũng như nhiều công ty khác, quản lý kho của công ty Cổ phần xuất nhậpkhẩu Châu Á – Thái Bình Dương cũng là một số vấn đề tồn tại cần được hoàn thiện.Hiện tại hệ thống quản lý kho của công ty sử dụng Excel Các kho hàng với số loạisản phẩm lớn nên việc quản lý kho gặp khá nhiều khó khăn và mất nhiều thời gian.Hơn nữa hiện tại công ty đang có nhu cầu mở rộng thị trường nên việc có 1 hệ thốngquản lý kho hàng cũng là 1 điều hết sức cần thiết và phù hợp với xu hướng phát triểnhiện nay của xã hôi Việc giải quyết và làm rõ được vấn đề cấp thiết đó sẽ làm chocông tác quản lý kho hoàn thiện hơn
b Mục đích nghiên cứu
Tập trung nghiên cứu về phương pháp luận phân tích và thiết kế phần mềmứng dụng quản lý kho hàng cho công ty Cổ phần xuất nhập khẩu Châu Á- Thái BìnhDương
1.2.2 Định hướng lựa chọn đề tài
Trong quá trình thực tập tại Công ty Cổ phần xuất nhập khẩu Châu Á – TháiBình Dương, tìm hiểu cơ cấu tổ chức, quá trình hoạt động kinh doanh và tình hình tinhọc hóa của công ty, được sự giúp đỡ, tư vấn của công ty và giảng viên hướng dẫn
thực tập, tác giả quyết định chọn đề tài: “Phân tích và thiết kế phần mềm quản lý
kho cho công ty Cổ phần xuất nhập khẩu Châu Á – Thái Bình Dương”
1.2.3 Tổng quan về đề tài
a Mục đích
Hỗ trợ và khắc phục những hạn chế của việc quản lý kho hiện tại:
Hỗ trợ hoạt động nghiệp vụ quản lý kho
Tiết kiệm thời gian chi phí cho việc quản lý kho
Đảm bảo chính xác, nhanh chóng kịp thời cho công việc
b Đối tượng và phạm vi nghiên cứu
Các nhà quản lý của công ty và các nhân viên trong bộ phận quản lý kho sảnphẩm
Phần mềm quản lý kho cho công ty Cổ phần XNK Châu Á– Thái Bình Dươngđược xây dựng trước hết để áp dụng trong nội bộ công ty, bên cạnh đó phần mềm nàycũng có thể áp dụng tại các công ty xuất nhập khẩu có quy mô vừa và nhỏ trên cảnước
Trang 17biết tình hình hoạt động kinh doanh của công ty, phỏng vấn nhân viênlàm việc tại kho hàng để biết được quy trình làm việc trong kho, nhậpxuất hàng hóa như thế nào.
Phương pháp tổng hợp, logic: được áp dụng trong quá trình phân tíchtài liệu thực hiện đề tài
Phương pháp mô hình hóa: áp dụng trong quá trình phân tích và thiết kếphần mềm
d Những đối tượng được hưởng lợi
Phần mềm quản lý kho cho công ty Cổ phần XNK Châu Á – Thái Bình Dương
sẽ mang lại lợi ích cho những đối tượng sau:
Nhân viên kho hàng
Là người trực tiếp làm việc với phần mềm quản lý kho, nhân viên kho hàng sẽ
là người đầu tiên thấy được lợi ích phần mềm mang lại Khối lượng công việc giảmxuống đáng kể, tránh được những sai sót không đáng có, hoàn thành công việc nhanhhơn, kịp thời báo cáo cho ban giám đốc khi có yêu cầu
Khách hàng
Khách hàng sẽ được thoả mãn với việc được đáp ứng nhanh các nhu cầu củamình, hàng hóa sẽ được nhận đúng hẹn, đúng sản phẩm và như vậy sẽ ngày càng thuhút được nhiều khách hàng hơn nữa
Trang 18Với việc áp dụng phần mềm quản lý kho, mọi công việc của công ty sẽ trở nên
rõ ràng mình bạch hơn, tạo dựng lòng tin đối với khách hàng, nhà cung cấp, từ đó vịtrí và uy tín của công ty trên thị trường ngày càng đựơc nâng lên
Trang 19nhằm hỗ trợ các nhà chuyên môn trong từng lĩnh vực chuyên ngành thực hiện tốt nhấtcác thao tác nghiệp vụ của mình Nhiệm vụ chính yếu của phần mềm là cho phép cácnhà chuyên môn thực hiện các công việc của họ trên máy tính dễ dàng và nhanhchóng hơn so với khi thực hiện cùng công việc đó trong thế giới thực
Nhà tin học Mỹ Roger Pressman định nghĩa phần mềm là tổng thể 3 yếu tố:
- Các chương trình máy tính
- Các cấu trúc dữ liệu cho phép chương trình xử lý các thông tin thích hợp
- Hệ thống tài liệu hướng dẫn sử dụng
b Đặc trưng của phần mềm
Phần mềm là phần tử hệ thống logic chứ không phải là phần tư hệ thống vật lý
Do đó phần mềm có những đặc trưng khác với hệ thống phần cứng Phần mềm có cácđặc trưng sau đây:
- Phần mềm được kỹ nghệ hoá, 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á tình sử dụng
- Phần mềm được xây dựng theo đơn đặt hàng chứ không lắp đặt từ nhữngphần mềm có sẵn
Trang 20PHẦN MỀM
Hệ điều hành
Các ngôn ngữ lập trình
Chương trình dịch
PM ứng dụng đa năng PM chuyên dụng
Soạn thảo văn bản
Quản trị CSDL
Phần mềm
kế toán
Phần mềm quản trị nhân lực
Trang 21Hình 2.3: Cấu hình phần mềm 2.1.2 Kỹ nghệ phần mềm
Kỹ nghệ phần mềm (SE) là lĩnh vực nghiên cứu của tin học nhằm đề xuất cácnguyên lý, các công cụ, các phương pháp, cách tiếp cận và phương tiện phục vụ choviệc thiết kế và cài đặt các sản phẩm phần mềm
Trong giai đoạn phát triển khi phần mềm đã trở thành một nền công nghiệp thì
kỹ nghệ phần mềm được coi là môn học có tầm quan trọng đặc biệt trong các công typhần mềm và trường đại học
Mỗi sản phẩm phần mềm ở quy mô Công nghiệp đều phải đạt được các yêucầu cơ bản sau:
Đặc tả kiểm thử
Trang 22Hình 2.4: Kỹ nghệ phần mềm 2.1.3 Quy trình phát triển phần mềm
Mô hình thác nước là một trong những mô hình đầu tiên và phổ biến được ápdụng trong quá trình phát triển phần mềm Mô hình này chia quá trình phát triển phầnmềm thành những giai đoạn tuần tự nối tiếp nhau, mỗi giai đoạn có một mục đíchnhất định Kết quả của giai đoạn trước sẽ là thông tin đầu vào cho giai đoạn tiếp theosau
Các công đoạn của mô hình thác nước:
- Công nghệ hệ thống: Quy trình này bao trùm lên tất cả các công đoạn trong
sản xuất phần mềm Phần mềm là một bộ phận của một hệ thống quản lý nóichung Do đó công việc nghiên cứu phần mềm phải được đặt trong mối liên hệchặt chẽ với các thành phần khác của hệ thống quản lý như phần cứng, nhân tốcon người, cơ sở dữ liệu
- Phân tích: Đưa ra một cái nhìn tổng thể các khía cạnh của phần mềm và chính
là nền tảng của thiết kế Kỹ sư phần mềm tiến hành phân tích các chức năngcần có của phần mềm, các giao diện
- Thiết kế: là một tiến trình nhiều bước, tập trung vào 4 thuộc tính phân biệt của
chương trình là: Cấu trúc dữ liệu, các thủ tục, kiến trúc phần mềm, các đặctrưng giao diện Tài liệu thiết kế phần mềm là một bộ phận của cấu hình phầnmềm
Quản trị viên
dự án
Trang 23năng hay hiệu năng Việc bảo trì phần mềm phải áp dụng lại các bước củavòng đời phát triển nói trên cho chương trình hiện tại chứ không phải làchương trình mới.
Hình 2.5: Vòng đời phát triển của phần mềm 2.1.4 Thiết kế phần mềm
a Vai trò của thiết kế phần mềm
Như ta đã biết, phân tích, thiết kế và cài đặt là 3 quy trình cơ bản để sản xuấtmột phần mềm có tính chất thương mại trên thị trường Trong 3 công đoạn này thìthiết kế chiếm chi phí về lao động và tài chính nhiều nhất Sau khi đã hoàn thiện quá
Công nghệ
hệ thống
Phân tích
Mã hoá Thiết kế
Kiểm thử
Bảo trì
Trang 24trình phân tích, trong đó phân tích viên đánh giá yêu cầu người sử dụng và lập báocáo phân tích, toàn bộ hồ sơ được chuyển sang bộ phận lập trình, từ đây bắt đầu quátrình thiết kế Như vậy có thể nói thiết kế là một tiến trình sản xuất phần mềm trong
đó yêu cầu của người sử dụng được dịch thành một sản phẩm phần mềm có tính ứngdụng cao
Quy trình thiết kế phần mềm chiếm đến 75% tổng chi phí sản xuất phần mềm
và chịu trách nhiệm đến 80% đối với sự thành công của một sản phẩm
- Đối với một phần mềm có thiết kế thì khi phát triển các chức năng của phầnmềm người ta luôn luôn có nền tảng định hướng rõ ràng mà sau khi phát triểnkhông gây ra sự đổ vỡ cho phần mềm
- Đảm bảo tính mở của phần mềm tức là cho phép phát triển thêm mà không phá
vỡ tính cấu trúc của chúng, đối với những phần mềm không được thiết kế đầy
đủ chỉ một thay đổi nhỏ của dữ liệu và môi trường đã có những thay đổi lớntrong cấu trúc phần mềm thậm chí phần mềm còn mất khả năng hoạt động
- Quá trình thiết kế đảm bảo cho sự bền vững của phần mềm khi có những biếnđổi dữ liệu hoặc có nhiều biến cố của môi trường
- Mô hình dưới đây cho thấy một cách trực quan việc có thiết kế và không cóthiết kế trong kỹ nghệ phần mềm:
o
Hình 2.6: Vai trò của thiết kế trong kỹ nghệ phần mềm
Vì vai trò của thiết kế đặc biệt như vậy trong kỹ nghệ phần mềm lên công đoạnthiết kế trên thế giới được đánh giá rất cao nhất là khi ta đã sử dụng phương pháp lậptrình tự động hay lập trình dựa trên máy tính
b Tiến trình thiết kế phần mềm
Trang 25hành theo hai bước: thiết kế sơ bộ và thiết kế chi tiết Còn xét ở góc độ kỹ thuật thìquá trinh, thiết kế phần mềm bao gồm bốn công đoạn: thiết kế kiến trúc, thiết kế dữliệu, thiết kế thủ tục, thiết kế giao diện.
Hai khía cạnh kỹ thuật và quản lý của quy trình thiết kế có mối liên quan mậtthiết với nhau và được minh hoạ trong hình dưới đây
Hình 2.7: Sơ đồ thiết kế phần mềm
Nếu xét từ góc độ quản lý dự án phần mềm chúng ta sẽ thực hiện các bước:
Bước 1: Trong quá trình thiết kế sơ bộ, người ta cũng có 4 bước:
- Thiết kế kiến trúc sơ bộ
- Thiết kế dữ liệu sơ bộ
- Thiết kế giải thuật sơ bộ
Trang 26- Thiết kế kiến trúc chi tiết
- Thiết kế dữ liệu chi tiết
- Thiết kế giải thuật chi tiết
- Thiết kế giao diện chi tiết
Như vậy, việc phân chia thành 2 công đoạn sơ bộ và chi tiết được xét trên góc
độ quản lý, chia 4 nội dung là góc độ kỹ thuật Cùng là tiến trình thiết kế, nhưng được
bổ theo chiều dọc và chiều ngang
2.1.5 Một số phương pháp sử dụng trong quá trình phân tích và thiết kế phần mềm
a Phương pháp thu thập thông tin
Thu thập thông tin về hệ thống quản lý là công cụ đầu tiên cho quá trình phântích hệ thống Mục tiêu theo đuổi của phần này là làm sao để có được các thông tinliên quan đến mục tiêu đã được đặt ra với độ tin cậy cao và chính xác nhất Có 4phương pháp thường được sử dụng khi thu thập thông tin như sau:
Phương pháp 1: Quan sát hệ thống
Trong một số trường hợp không có tài liệu về hệ thống người ta phải thu thậpthông tin bằng cách quan sát hoạt động của hệ thống Việc quan sát này tập trung vàocác điểm như quy trình của hệ thống, đầu vào của hệ thống, kết quả đầu ra của hệthống, những quy chế đặc biệt trong hệ thống và đặc biệt là cách hành xử của cácnhân viên trong hệ thống đó Những thông tin này được bổ sung cùng với kết quảnghiên cứu tài liệu về hệ thống cho ta một cái nhìn đầy đủ hơn về cơ chế hoạt độngtổng thể của hệ thống
Ví dụ trong một hệ thống ngân hàng, không phải mọi thông tin chi tiết đềuđược phản ánh đầy đủ trong tài liệu, vì vậy phải quan sát hoạt động của nhân viênngân hàng, khi thực hiện các nghiệp vụ nhận tiền, trả tiền của khách hàng, cung cấpthẻ ATM cho khách hàng, lập bảng cân đối vào cuối ngày, Những thông tin này rất bổích khi đánh giá hoạt động tổng thể của một chi nhánh ngân hàng để có thể xây dựngphần mềm mô phỏng những hoạt động đó của ngân hàng
Phương pháp 2: Nghiên cứu tài liệu về hệ thống
Nhiệm vụ chính của phương pháp nghiên cứu tài liệu về hệ thống là thu thậpcác thông tin về các thành phần của hệ thống hiện tại và sự hoạt động của chúng Để
có một hình ảnh đầy đủ về các thành phần của hệ thống người ta phải nghiên cứu cáckhía cạnh sau
Trang 27vi địa lý rộng lớn bằng cách sử dụng phiếu điều tra, có thể chọn đối tượng gửi phiếuđiều tra để thu được thông tin cần thiết một cách nhanh nhất.
Phương pháp 4: Phỏng vấn
Người ta tiến hành phỏng vấn các cán bộ chủ chốt trong hệ thống, đặc biệt lànhững người liên quan trực tiếp đến quá trình xử lý thông tin Những câu hỏi phỏngvấn tập trung vào cơ chế quản lý hiện nay, những điểm mạnh điểm yếu của hệ thốnghiện tại Nghệ thuật khi tiến hành phỏng vấn là phải sử dụng nhiều loại hình câu hỏikhác nhau để đạt tới mục tiêu khai thác những thông tin mà mình cần nhưng phảitránh những câu hỏi trực diện gây khó xử cho người bị phỏng vấn
b Phương pháp thiết kế Top Down
Đây là phương pháp thiết kế dựa trên tư tưởng module hoá
Nội dung của phương pháp thiết kế này như sau: Trước hết người ta xác địnhcác vấn đề chủ yếu nhất mà việc giải quyết bài toán yêu cầu, bao quát toàn bộ bàitoán Sau đó phân chia nhiệm vụ cần giải quyết đến các nhiệm vụ cụ thể hơn, tức làchuyển dần từ module chính đến các module con từ trên xuống dưới Để minh hoạcho phương pháp này, chúng ta xét bài toán thiết kế hệ tin học quản lý hàng hóa chocông ty cổ phần xuất nhập khẩu Châu Á – Thái Bình Dương
Mục đích của bài toán là thiết kế một hệ thống các chương trình quản lý cơ sở
Trang 28Hình 2.8: Phác thảo thứ nhất về bài toán
Module chính được chia thành 3 module nhỏ (vào số liệu cho tệp, xử lý, in cácbảng báo cáo hàng hóa, vật tư, theo dõi và đánh giá tình trạng kho hàng)
Nếu coi mỗi công việc liệt kê trên đây là một module thì ta có phác thảo thứhai sau đây:
Hình 2.9: Phác thảo thứ hai về bài toán
Như vậy, theo phương pháp thiết kế này ta sẽ có 7 module cơ sở, mỗi module
là một chương trình giải quyết một vấn đề cụ thể
c Công cụ mô hình hóa
Sơ đồ luồng thông tin IFD
Trang 29Hình 2.10: Các ký pháp của sơ đồ luồng thông tin
Sơ đồ luồng thông tin IFD được dùng để mô tả hệ thống thông tin theo cáchthức động, tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thếgiới vật lý bằng các sơ đồ
Xử lý: Đây là quá trình xử lý dữ liệu thành thông tin hữu ích Quá trình này có
thể tiến hành thủ công, giao tác giữa người và máy hay tin học hóa hoàn toàn
Dòng thông tin: Dòng thông tin có nhiệm vụ chuyển thông tin từ nguồn tới
đích
Kho lưu trữ dữ liệu: Nhiệm vụ của kho dữ liệu là lưu trữ các thông tin sau
khi đã được xử lý và là cơ sở để kết xuất đầu ra Kho dữ liệu có thể lưu trữ thủ cônghoặc có thể tin học hóa quá trình
Điều khiển: Các điều khiển dùng để thực hiện các phép toán logic và thông
thường có hai lựa chọn đúng – sai
Trang 30Sơ đồ chức năng kinh doanh BFD
Sơ đồ chức năng của một hệ thống là một công cụ mô hình hóa được các nhàkinh tế Mỹ đưa ra để ứng dụng trong lĩnh vực kinh tế và thương mại, nhưng dần dần
mô hình này được áp dụng cho mọi lĩnh vực, trong đó có tin học vì người ta nhậnthấy mô hình BFD cho phép mô tả chức năng của hệ thống một cách rõ ràng, có cấutrúc và có sự phân cấp Trong mô hình chức năng BFD người ta biểu diễn chức năngcủa hệ thống đang nghiên cứu mà chưa quan tâm đến các công cụ để thực hiện nhữngchức năng ấy
Một sơ đồ BFD đầy đủ bao gồm những thành phần sau đây:
- 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
Ý nghĩa của sơ đồ
- Giúp cho việc nắm bắt, hiểu rõ tổ chức và định hướng cho việc nghiên cứu tiếptheo
- Cho phép xác định các chức năng cần nghiên cứu trong tổ chức
- Sơ đồ là cơ sở để nghiên cứu cấu trúc các chương trình trong hệ thống
- Cho thấy vị trí của mỗi công việc trong toàn bộ hệ thống, tránh trùng lặp trongcông tác nghiên cứu
Các nguyên tắc phân rã chức năng
- Nguyên tắc đầy đủ: Việc thực hiện tất cả các chức năng ở mức dưới trực tiếpphải đảm bảo thực hiện được chức năng ở mức trên đã phân rã ra chúng
- Nguyên tắc thực chất: Mỗi chức năng được phân rã phải là một bộ phận thực
sự tham gia thực hiện chức năng đã phân rã ra nó
Sơ đồ luồng dữ liệu DFD:
Nếu như BFD là một mô hình tĩnh nêu lên chức năng của hệ thống thì DFD lại
là mô hình động nói lên quá trình vận động thông tin trong toàn bộ hệ thống từ khi bắtđầu đến khi kết thúc một quá trình nào đó Mô hình DFD là mô hình trợ giúp cho quátrình thiết kế trong quy trình sản xuất phần mềm và nó là nền tảng của một trườngphái lập trình được gọi là trường phái hướng luồng dữ liệu
Trang 31Hình 2.11: Các ký pháp dùng trong sơ đồ luồng dữ liệu DFD
Một số quy tắc vẽ DFD
- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến kho dữ liệu vàngược lại
- Các đối tượng phải có tên duy nhất
- Một tiến trình phải có ít nhất một cái vào và một cái ra
- Cái vào của một tiến trình phải khác với cái ra
- Không có luồng dữ liệu từ một kho này di chuyển trực tiếp tới kho khác
- Dữ liệu không thể di chuyển từ một tác nhân tới một tác nhân
- Một luồng dữ liệu không thể quay lại nơi nó vừa ra
Các mức của sơ đồ DFD
- Sơ đồ ngữ cảnh: Chỉ bao gồm
+ Một tiến trình duy nhất mô tả toàn bộ hệ thống Tên của tiến trình là tên của
hệ thống hoặc hệ thống con của hệ thống
+ Các tác nhân ( bên ngoài hệ thống) có mối quan hệ về thông tin với hệ thống
Tiến trình xử lý
Dòng dữ liệu
Tiến trình xử lý
Kho dữ liệuTên dòng dữ liệu
Tệp dữ liệu
Trang 32- Đảm bảo sự cân bằng: Mọi luồng dữ liệu vào/ra, các tác nhân ngoài và kho
dữ liệu (nếu có) phải bảo toàn trong sơ đồ mức sau
- Sơ đồ DFD sơ cấp:
+ Khi một luồng dữ liệu không cần chia nhỏ hơn
+ Khi một tiến trình là một tính toán hay thao tác dữ liệu đơn giản
+ Khi các tiến trình tách biệt ứng với mỗi lựa chọn trên thực đơn mức thấpnhất của hệ thống
2.1.6 Các quy trình trong sản xuất phần mềm
Trong quy trình sản xuất phần mềm ở quy mô công nghiệp người ta thườngtuân theo 6 quy trì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 kiểm thử
- Quy trình triển khai
Lý thuyết về quy trình sản xuất phần mềm được áp dụng thực tế trong xâydựng phần mềm quản lý kho cho công ty Cổ phần XNK Châu Á – Thái Bình Dươnggồm 5 quy trình như sau:
a Quy trình xác định yêu cầu
Mục đích: nhằm xác định nhu cầu của công ty về sản phẩm tương lai Yêu cầuđặt ra là phải lượng hoá các dạng mô hình
Quy trình xác định yêu cầu tập trung vào các bước thực hiện sau:
- Khảo sát hệ thống
- Phân tích nghiệp vụ chuyên sâu
Tên chức năng
Trang 33Hình 2.12: Lưu đồ quy trình xác định yêu cầu
Áp dụng vào đề tài: Khách hàng ở đây chính là kho sản phẩm công ty Cổ phầnXNK Châu Á – Thái Bình Dương, người sử dụng chính là cán bộ kho Xác địnhnghiệp vụ chuyên sâu là các quy trình nghiệp vụ liên quan đến việc quản lý kho Saukhi phân tích nghiệp vụ chuyên sâu, tiến hành lập mô hình hoạt động cho hệ thốngquản lý kho gồm các sơ đồ BFD, DFD, IFD
Mở đầu
Lập kế hoạch xác định yêu cầu
Khảo sát hệ thống
Mô tả hoạt động hệ thốngPhân tích nghiệp vụ
Tổng hợp bàn giao kết quảPhân tích yêu cầu NSD
Kết thúc
Trang 34- Thiết kế giải thuật.
- Thiết kế giao diện
Áp dụng lý thuyết của quy trình thiết kế trong xây dựng phần mềm quản lýkho cho công ty Cổ phần XNK Châu Á – Thái Bình Dương ta có:
Đặc tả yêu cầu phần mềm: Xác định các chức năng mà phần mềm quản lý khocho công ty Cổ phần XNK Châu Á – Thái Bình Dương cần đạt được để giải quyết bàitoán đặt ra
Thiết kế kiến trúc: Là một sơ đồ hình cây mô tả cấu trúc của phần mềm quản
lý kho
Thiết kế dữ liệu: Thu thập dữ liệu về hoạt động quản kho, sau đó xây dựng cáctệp dữ liệu lưu trữ trong một hệ quản trị cơ sở dữ liệu Phần mềm quản lý kho chocông ty Cổ phần XNK Châu Á – Thái Bình Dương sử dụng hệ quản trị cơ sở dữ liệuSQL server, đảm bảo dữ liệu được quản lý một cách tập trung
Thiết kế giải thuật: Là các giải thuật cần thiết như giải thuật đăng nhập, giảithuật cập nhật thông tin, giải thuật tính lương, giải thuật lập báo cáo
Thiết kế giao diện: Là các giao diện giao tiếp với người dùng như giao diệnđăng nhập hệ thống, giao diện các form cập nhật, giao diện các form xử lý, giao diệngiới thiệu phần mềm … Phần mềm cần có giao diện thân thiện, dễ sử dụng cho nhữngngười dùng có kiến thức tin học thấp
Lưu đồ quy trình thiết kế phần mềm:
Trang 35Hình 2.13: Lưu đồ quy trình thiết kế phần mềm
duyệt
Trang 36Mục đích: Trên cơ sở của hồ sơ thiết kế, bộ phận lập trình tiến hành chi tiếthoá 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ầnmềm, nhưng bản thân công đoạn lập trình phải trung thành với thiết kế kiến trúc phầnmềm, không được thay đổi.
Trang 37Hình 2.14: Lưu đồ quy trình lập trình
Áp dụng lý thuyết của quy trình lập trình trong xây dựng phần mềm quản lýkho cho công ty Cổ phần XNK Châu Á – Thái Bình Dương là dựa vào kết quả đầu racủa quy trình thiết kế để thiết kế chi tiết phần mềm, lập trình cho các module quản lýhàng hóa, nhân viên kho, lập báo cáo…
Không có lỗi
Có lỗi
Trang 38Mục đích: Sau khi đã có công đoạn lập trình, các lập trình viên tiến hành testchươ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ệmthu nhằm đảm bảo có một phần mềm chất lượng cao.
Các bước thực hiện:
- Lập kịch bản test
- Test hệ thống
- Test nghiệm thu
Lưu đồ quy trình kiểm thử:
Trang 39Hình 2.15: Lưu đồ quy trình kiểm thử
Áp dụng lý thuyết của quy trình kiểm thử trong xây dựng phần mềm quản lýkho cho công ty Cổ phần XNK Châu Á – Thái Bình Dương là lập kịch bản test, sau
đó test trên hệ thống máy thật, và trên hệ thống máy ảo để phát hiện các sai sót, sửalỗi Khi có lỗi thì kịp thời sửa chữa
e Quy trình triển khai
Mở đầu
Lập kế hoạch Test
Lập kịch bản TestKiểm tra kế hoạch
Trang 40Mục đích: Đây là quy trình cuối cùng trong toàn bộ công đoạn khép kín củaquy trình sản xuất phần mềm.
Các bước thực hiện:
- 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
Để cài đặt phần mềm, tiến hành chạy file setup.exe từ bộ cài đặt được cungcấp Phần mềm này được cài đặt cho máy tính của cán bộ kho
Sau khi cài đặt, tiến hành chạy phần mềm
Để hướng dẫn sử dụng, ngoài sự hướng dẫn trực tiếp từ cán bộ cài đặt phầnmềm, người sử dụng còn có thể nhận sự trợ giúp qua sách hướng dẫn sử dụng đượcgửi kèm rất chi tiết cùng phần mềm
Lưu đồ quy trình triển khai: