Nền kinh tế Việt Nam hiện nay là một nền kinh tế tăng trưởng rất nhanh. Kem theo sự tăng trưởng đó là các yêu cầu mới hơn và cao hơn được đặt ra cho các doanh nghiệp. Khối lượng công việc cần xử lý ngày càng nhiều trong khi thời gian để xử lý ngày càng phải ngắn lại để có thể đứng vững và cạnh tranh được trên thị trường. Trước các yêu cầu đó thì việc áp dụng công nghệ thông tin vào công việc quản lý kinh doanh vừa là một lời giải tốt vừa là một việc gần như tất yếu.
Trang 1PHẦN MỞ ĐẦU
1.Lý do chọn đề tài
Nền kinh tế Việt Nam hiện nay là một nền kinh tế tăng trưởng rất nhanh.Kem theo sự tăng trưởng đó là các yêu cầu mới hơn và cao hơn được đặt ra cho cácdoanh nghiệp Khối lượng công việc cần xử lý ngày càng nhiều trong khi thời gian
để xử lý ngày càng phải ngắn lại để có thể đứng vững và cạnh tranh được trên thịtrường Trước các yêu cầu đó thì việc áp dụng công nghệ thông tin vào công việcquản lý kinh doanh vừa là một lời giải tốt vừa là một việc gần như tất yếu
Công ty TNHH Công viên số toàn cầu Vietapps là một doanh nghiệp thươngmại, chuyên cung cấp các sản phẩm có tính công nghệ cao, lại hoạt động trong mộtlĩnh vực mới có tính cạnh tranh rất cao Tuy nhiên công ty lại là một công ty mớithành lập Chính vì thế việc áp dụng các ứng dụng của công nghệ thông tin vào hoạtđộng kinh doanh của công ty vẫn còn rất thấp Điều này đã và đang gây ra rất nhiềuhạn chế và cản trở cho mong muốn đứng vững trên thị trường của công ty
Giám đốc công ty là một người trẻ tuổi và năng động, chính anh đã đề nghịtác giả cùng tham gia vào dự án tin học hóa qui trình quản lý hoạt động kinh doanhcủa công ty ngay trong thời gian đầu tác giả được đến thực tập tại công ty Côngviệc tin học hóa này sẽ được tiến hành dần dần trên nhiều modul, phần công việccủa tác giả là xây dựng phần mềm “quản lý kho máy vi tính” Đây cũng chính là đềtài tác giả lựa chọn để làm đề tài thực tập Kết quả của đề tài sẽ được nâng cấp và ápdụng cho chính công ty TNHH Công viên số toàn cầu Vietapps
2 Mục tiêu nghiên cứu
Tìm hiểu sâu tình hình ứng dụng công nghệ thông tin vào công việc kinhdoanh của công ty Vietapps Qua đó tìm hiểu được nhu cầu áp dụng côngnghệ thông tin của toàn công ty nói chung và các yêu cầu với việc ápdụng công nghệ thông tin vào công việc quản lý kho vi tính nói riêng
Nghiên cứu lý thuyết tổng quan về các bước phân tích thiết kế một phầnmềm quản lý kho máy vi tính
Trang 23 Cấu trúc của báo cáo chuyên đề thực tập tốt nghiệp
Báo cáo gồm phần mở đầu, ba chương, kết luận và các phụ lục
Phần mở đầu nêu lên nhận định về tính cấp thiết của đề tài, muc tiêu,phương pháp và kết quả đạt được
Chương 1: trình bày tông quan về công ty TNHH Công viên số toàn cầuVietapps
Chương 2: đưa ra các cơ sở phương pháp luận của qui trình thiết kế phầnmềm quản lý kho máy tính
Chương 3: đưa ra kết quả của quá trình phân tích và thiết kế và xây dựngphần mềm quản lý máy tính tại công ty Vietapps bao gồm các bướckhảo sát công ty, thiết kế dữ liệu, kiến trúc, giải thuật, giao diện và lậptrình
Kết luận đánh giá tổng kết đề tài
Phụ lục thể hiện một số đoạn lệnh
Trang 3Chương 1 Tổng quan về cơ sở thực tập và bài
1.1.2 Giới thiệu chung về công ty
1.1.2.1 Giới thiệu theo giấy đăng ký kinh doanh của công ty
Tên công ty: Công ty TNHH Thương mại Công Viên Số Toàn Cầu
Tên giao dịch: Digital Park Global Trading Company Limited
Tên viết tắt: DIGIPARK Co, LTD
Địa chỉ trụ sở chính: Số 58, ngõ 180 Nguyễn Lương Bằng, phường Quang Trung,quận Đống Đa, thành phố Hà Nội
Điênh thoại: 04730024422/0985869916
Trang 4Ngành, nghề kinh doanh chính: Bán buôn máy vi tính, thiết bị ngoại vi và phầnmềm
Vốn điều lệ: 500000000 đồng (Năm trăm triệu Việt Nam đồng)
Tên chủ sở hữu: HOÀNG QUỐC VŨ
1.1.2.2 Giới thiệu trụ sở công ty
Công ty TNHH Thương mại Công Viên Số Toàn Cầu
Địa chỉ: Số 58 ngõ 180 Nguyễn Lương Bằng, Đống Đa, Hà Nội
Điện thoại: 04.73002422- Di động: 0979 26.24.22
Email: support@vietapps.com
Các công ty liên kết
1.Đại diện tại khu vực Tây Nguyên:
Kiều Cao Khởi
Địa chỉ: Số 727 Phạm Văn Đồng, TP Pleiku, Gia Lai
2 Đối tác chính thức tại TP Hồ Chí Minh
Công ty TNHH Việt Liên Kết
Người phụ trách:Mai Quang Thanh
Phần mềm Kaspersky cũng là một thương hiệu nổi tiếng và đã khẳng định đượcmình trên thị trường phần mềm diệt virut
Trang 5Hiện tại kênh quản cáo chính của công ty là website www.vietapps.com vớicác chức năng sau:
Giới thiệu công ty tới khách hàng
- Giới thiệu về tên và địa chỉ
- Giới thiệu về các đợt khuyến mãi
- Giới thiệu về chính sách bảo hành
- Giới thiệu về cách thanh toán
- Giới thiệu các thông tin chi tiết về sản phẩm như: Dòng sản phẩm, giá, hìnhảnh, cấu hình chung, cấu hình chi tiết,
Đăng các bài viết theo các chủ đề
- Các thành tựu đạt được
- Các thông tin về các hoạt động xã hội của Vietapps
- Các thông tin tuyển dụng
- Các bài viết trình bày các thủ thuật sử dụng máy vi tính hiệu quả hơn
- Các đường dây liên lạc online để hỗ trợ khách hàng
Bên cạnh đó công ty còn sử dụng việc đăng quảng cáo trên các kênh bán hàngonline đã khá nổi tiềng hiện nay
Chuyển khoản trong nước
Khách hàng có thể thanh toán thông qua hình thức chuyển khoản Sau đó liên hệvới VietApps theo điện thoại/email để thông báo thanh toán bao gồm các thông tinsau:
Trang 6Số tiền chuyển khoản
Chuyển vào tài khoản ở ngân hàng nào của VietApps
Mua mặt hàng gì
Chuyển khoản cho khách hàng có nhu cầu lấy hóa đơn đỏ VAT
Thanh toán trực tuyến
Thanh toán qua Liberty Reserve
Thanh toán qua Ngân Lượng (www.NganLuong.vn)
Chính sách bảo hành
Chính sách bảo hành máy tính xách tay
Khách hàng sẽ được bảo hành thông qua các trung tâm bảo hành của các hãng sảnxuất Điều kiện được bảo hành tuân theo quy định của nhà sản xuất, chi tiết chotừng thương hiệu máy tính xách tay như sau:
Các thông tin cần sử dụng khi bảo hành:
S/n: Serial number của máy (ký hiệu của dòng máy)
P/n: Product number của máy (Ký hiệu của máy)
Thời hạn bảo hành
Người dùng có thể mua máy tính xách tay có xuất xứ tại các thị trường khác như
Mỹ, châu Âu, Úc mà vẫn đảm bảo được bảo hành tại Việt Nam HP hiện đã thuêCông ty TNHH Dịch vụ Tin Học FPT bảo hành các sản phẩm máy tính xách taycủa hãng Cho nên khách hàng có thể mang máy tới các địa chỉ cung cấp để bảohành, thủ tục là kiểm tra số P/n và S/n của máy Địa chỉ bảo hành của HP tại ViệtNam
Tại Hà Nội: Công ty Dịch vụ Tin Học FPT
Địa chỉ: 198 Thái Thịnh – Hà Nội
Tại Đà Nẵng: Chi nhánh Công ty Dịch vụ Tin Học FPT Đà Nẵng
Trang 7Tại TP.HCM: Chi nhánh Công ty Dịch vụ Tin Học FPT HCM
Địa chỉ: 207/4 Nguyễn Văn Thủ, Q.1, Tp.HCM
2 TOSHIBA
Toshiba hiện nay có hai trung tâm bảo hành
Trung tâm bảo hành FPT
Trung tâm bảo hành Digicare (32 Nguyễn Trường Tộ, Q4,TP.HCM) thuộc Công tyThế Giới Số (Digiworld)
Cũng như các nhãn hiệu khác,ngoài việc nhận bảo hành các loại máy tính laptopToshiba được bán chính thức ở Việt Nam, hai trung tâm này cũng sẽ nhận bảo hànhmáy tính laptop Toshiba mua trực tiếp ở nước ngoài hoặc mua lại từ đơn vị nhậphang tự phát nhưng phải có chế độ bảo hành toàn cầu
Chính sách bảo hành bản quyền phần mềm Kaspersky
Bản quyền phần mềm Kaspersky do VietApps phân phối được bảo hành trọn đời(toàn thời gian bản quyền có hiệu lực)
Bảo hành một đổi một trong các trường hợp sau:
Mã kích hoạt không kích hoạt được ngay sau khi cào thẻ
Kích hoạt nhưng thời gian kích hoạt không đủ thời hạn như ghi trên thẻ (ví dụ hiệulực mười hai tháng nhưng phần mềm báo chỉ có mười tháng)
Trang 81.2.4.6 Các chức năng kinh doanh của công ty
Tuy mới thành lập nhưng ông ty đã phân chia các chức năng kinh doanh mộtcách rất rõ ràng
Hình 1-2 Mô hình các chức năng của công ty VietappsCông viêc cụ thể của từng chức năng
Nhập hàng
Người chịu trách nhiệm chính: Giám đốc
Công việc bao gồm
- Liên hệ với các nhà cung cấp, chủ yếu thông qua các kênh liên lạc online
- Chọn sản phẩm vi tính
- Thỏa thuận giá
- Ký kết hợp đồng mua sản phẩm
- Thanh toán cho nhà cung cấp
- Vận chuyển hàng về cơ quan hải quan
- Làm thủ tục thông quan
Trang 9- Người chịu trách nhiệm: Giám đốc
- Công việc bao gồm
- Xếp hàng vào kho
- Lưu trữ số thông tin về máy tính
- Thông tin này bao gồm: Dòng máy tính, nhà sản xuất, số lượng máy theo cácdòng, cấu hình từng máy, giá từng máy
- Cập nhật các thông tin về máy tính sau mỗi lần Nhập hàng, bán hàng, thayđổi giá hay thay đổi sau khi có các sự kiện phát sinh khác
- Thống kê hàng trong kho, đưa ra các báo cáo
Bán hàng
Người chịu trách nhiệm: Giám đốc và ba nhân viên
Công việc bao gồm
- Quảng cáo hàng bán thông qua các kênh quảng cáo
- Tiếp nhận yêu cầu của khách hàng
- Thỏa thuận và giao hàng
Cụ thể hơn khách hàng có thể đưa ra yêu cầu thông qua ba hình thức liên lạc
- Thông qua điện thoại của công ty hay điện thoại của các thành viên trongcông ty
- Thông qua Email đã được cung cấp trên các website
- Trực tiếp tới văn phòng công ty để đưa ra yêu cầu
Các yêu cầu này có thể là:
- Tìm hiểu thêm thông về sản phẩm mình quan tâm
- Tìm hiểu thêm về chế độ bảo hành sản phẩm của công ty
- Yêu cầu mua sản phẩm
Sau khi các yêu cầu đã được tiếp nhận
- Nếu là yêu cầu tìm hiểu thêm thông tin, nhân viên trong công ty sẽ cung cấpđầy đủ
- Nếu là yêu cầu đặt hàng, khách hàng sẽ được nói chuyện trực tiếp với giámđốc để đàm phán về giá cả, được cung cấp những lựa chọn khác về sản phẩm
có thể là phù hợp hơn về túi tiền và sở thích của khách hàng đó
Trang 10Người chịu trách nhiệm: Giám đốc và hai nhân viên
Công việc bao gồm
- Tiếp nhận yêu cầu bảo hành
- Nhận sản phẩm cần bảo hành từ khách hàng
- Làm phiếu bảo hành
- Chuyển sản phẩm cần bảo hành cho các trung tâm bảo hành
- Sau khi nhận lại sản phẩm đã được trung tâm bảo hành sửa chữa, công ty sẽbàn giao lại cho khách hàng
Kế toán
Người chịu trách nhiệm: Nhân viên kế toán
Công việc bao gồm
- Lên các chứng từ để ghi nhận các phát sinh tăng giảm của nguồn vốn và tàisản vào sổ sách
- Đưa ra các báo cáo doanh thu
- Lên báo cáo tài chính cuối mỗi kỳ kinh doanh
Trang 11Có thể khái quát các hoạt động trong công ty bằng sơ đồ
sau
Hình 1-3 Sơ đồ khái quát hoạt động của công ty Vietapps
Trang 121.2 Giới thiệu bài toán quản lí
1.2.1 Bản chất của bài toán (chức năng quản lí)
1.2.1.1 Bài toán lớn
Qua trao đổi trực tiếp, giám đốc công ty đã thể hiện mong muốn xây dựngmột chương trình phần mềm để đưa vào áp dụng trong thời gian tới để phục vụcông việc quản lý Phần mềm đó phải bao gồm đủ ba modul quản lý thông tin kháchhàng, quản lý kho hàng, quản lý hóa đơn số
Hình 1-4 Mô hình khái quát phần mềm lớn
Quản lý thông tin khách hàng:
Cần lưu trữ hoặc cập nhật thông tin về khách hàng khi có các sự kiện như sau phátsinh:
- Có các yêu cầu tìm hiểu thông tin từ khách hàng
- Có đơn đặt hàng từ khách hàng
- Có yêu cầu bảo hành từ khách hàng
- Có các thay đổi cần cập nhật trong thông tin khách hàng (email, số điệnthoại, địa chỉ, )
Khi cần có thể truy xuất được các thông tin về khách hàng, yêu cầu, thời gian cầnphải đáp ứng yêu cầu
Trang 13Quản lý kho hàng
- Cập nhật thông tin về máy tính trong kho:
- Số lượng máy tính (sau xuất- nhập)
- Các loại dòng máy
- Cấu hình chi tiết các máy mới nhập
- Cung cấp các thông tin cần thiết khi có các nhu cầu tìm kiếm
- Lên các báo cáo thông kê theo yêu cầu
Quản lý các chứng từ
- Tạo các mẫu chứng từ số
- Lưu trữ thông tin về các chứng từ phát sinh
- Lập chứng từ thông qua phần mềm (có thể là tự động)
- Lên báo cáo về các chứng từ theo yêu cầu
1.2.1.2 Bài toán riêng cần giải quyết
Bài toán quản lý kho máy tính
Các tình huống cần trợ giúp của phần mềm
Cập nhật
- Cập nhật thông tin máy tính sau khi kí kết hợp đồng ở Mỹ
- Cập nhật thông tin máy tính đang lưu tại hải quan(bổ xung thêm các trườnghợp nếu không thông quan được)
- Cập nhật thông tin máy tính khi nhập kho
- Cập nhật thông tin máy tính khi bán hàng, xuất kho cho khách hàng
- Cập nhật thông tin máy tính khi có yêu cầu bảo hành
- Cập nhật thông tin máy tính khi đưa máy tới trung tâm bảo hành
- Cập nhật thông tin máy tính khi nhận máy từ nơi bảo hành
- Cập nhật thông tin máy tính khi trao máy lại cho khách hàng
Tìm kiếm
Khi người sử dụng (có thể là giám đốc cán bộ hay khách hàng) cần tìm kiếm cácmáy vi tính theo các tiêu thức khác nhau Công việc tìm kiếm có thể phát sinh với
Trang 14- Tìm kiếm khi phát sinh các nhu cầu quản lý của công ty
Lên các báo cáo
- Danh sách máy tính trong kho
- Danh sách máy tính đang chuyển về từ nhà cung cấp
- Danh sách máy tính lưu tại hải quan
- Danh sách máy tính bảo hành
- Danh sách máy tính đã bán theo tháng/quí/năm
- Danh sách loại máy được mua nhiều nhất
Bản chất của việc xây dựng phần mềm
Xây dựng một cơ sơ dữ liệu hợp lý và một công cụ sử dụng thuận lợi để lưutrữ và sử dụng tất cả các thông tin cần thiết về một chiếc máy vi tính trong xuyênsuốt cả quá trình mua - nhập – bán – bảo hành
Cơ sở dữ liệu này phải phục vụ tốt cho nhu cầu tìm kiếm dữ liệu của nhânviên trong công ty (xa hơn nữa là phục vụ nhu cầu tìm kiếm sản phẩm của kháchhàng thông qua website của công ty)
1.2.2 Thực trạng ứng dụng CNTT giải quyết bài toán hiện tại
Trang 15Qui trình cụ thể như sau
Khi đặt hàng của các nhà cung cấp nước ngoài, nhà cung cấp sẽ gửi lại mộtbảng báo giá cộng cấu h́nh chi tiết cho từng máy bằng file word File word này sẽđược giữ lại làm danh sách các máy tính trong kho sau khi nhập về
Các thông tin được đưa lên website của công ty để giới thiệu tới khách hàng Cácthông tin cần thiết sẽ được tìm kiếm trên website và danh sách các máy tính
Khi khách hàng tới mua hàng, giám đốc sẽ lưu trữ lại các thông tin chính vềsản phẩm được bán (seri number, product number, dòng sản phẩm) và khách hàng(tên, địa chỉ, số điện thoại liên lạc) Sản phẩm sẽ được gạch tên khỏi danh sách máytính
1.3 Đề xuất xây dựng giải pháp cho bài toán
1.3.1 Các giải pháp tin học hóa
Các giải pháp tin học hóa đề xuất cho công ty
Thứ nhất:chưa xây dựng một chương trình quản lý Tăng cường ứng dụng tin học
trong công ty Cụ thể là lưu trữ một cách chi tiết các thông tin trên file word, excel
Thứ hai: xây dựng một chương trình quản lý bằng một ngôn ngữ thích hợp nhưng
Trang 16Ưu điểm: đáp ứng được nhu cầu quản lý của giám đốc và các nhân viên Kháchhàng có thể tận dụng các tiện ích của phần mềm vào việc tìm kiếm sản phẩm củamình.
Nhược điểm: tốn nhiều thời gian và công sức
Giải pháp lựa chọn
Xây dựng một chương trình trên nền tảng console để ứng dụng ngay vàohoạt động của công ty Sau khi chương trình đã hoạt động tốt sẽ chuyển đổi sang sửdụng lập trình mạng để đưa lên trang web của công ty
1.3.2 Lợi ích của việc áp dụng phần mềm vào công việc kinh doanh của công ty
Hình 1-5 Mô hình diễn tả các bên liên quan khi áp dụng phần mềm
Sau khi modul quản lý kho, nó có thể được đưa vào ứng dụng trong hoạtđộng sản xuất của công ty Sau khi đưa vào ứng dụng nó sẽ mang lại lợi ích chonhiều bên
Trang 17Cung cấp dữ liệu một cách tự động.
Về phía giám đốc và các nhân viên
Đáp ứng nhu cầu quản lý ngày càng tăng và phức tạp
Giảm rất nhiều thời gian xử lý các công việc
- Tìm kiếm máy vi tính phù hợp yêu cầu
- Lên các báo cáo theo nhu cầu quản lý
Về phía khách hàng
- Có thể xem được đầy đủ các thông tin về máy vi tính nhanh chóng
- Giảm thời gian tìm kiếm thông qua website
- So sánh để chọn lựa được sản phẩm phù hợp
Về công việc kinh doanh
- Có thể bán chính phần mềm quản lý kho nhu một phần mềm thương mại
- Giảm thời gian để xử lý công việc nên sẽ làm tăng sự hài lòng cho cả kháchhàng và thành viên trong công ty
- Tăng nhanh thời gian bán sản phẩm, tăng tốc độ quay vòng vốn
Trang 18Chương 2 Cơ sở phương pháp luận xây dựng phần mềm quản lý kho máy tính và các công
- Các cấu trúc dữ liệu sử dụng trong các chương trình ấy
- Tài liệu hướng dẫn sử dụng phần mềm
Các giai đoạn phát triển của phần mềm
Bảng 2-1 Tài liệu tham khảo trong bài giảng môn công nghệ phần mềm
Hệ phân tán
Hiệu quảthương mạihoá
- Phần mềm không bị khấu hao theo thời gian
- Phần mềm có khả năng dễ dàng được nhân bản
- Phần mềm dễ dàng được chuyển giao, vận chuyển
Trang 192.1.1.3 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ì gọi là vòngđời phát triển của phần mềm Vòng đời phát triển của phần mềm được biểu diễnbằng mô hình gọi là mô hình thác nước
Phân tích hệ
thống
Mã hóa
Bảo trì Kiểm thử
Phân tích phần mềm
Thiết kế
Hình 2-6 Mô hình thác nướcTrong quy trình này, mỗi giai đoạn ở phía trước sẽ tác động tới tất cả các giaiđoạn ở phía sau Tức là công nghệ hệ thống giai đoạn đầu tiên và nó tác động đếnnăm giai đoạn còn lại Đến lượt mình công đoạn phân tích chịu tác động của côngđoạn công nghệ hệ thống nhưng nó lại bao trùm, tác động lên bốn công đoạn cònlại Nghiên cứu để hiểu rõ từng giai đoạn và có biện pháp thích hợp để tác động vàotừng giai đoạn đó nhằm đảm bảo chất lượng sản phẩm
Trang 20buộc, các mối liên quan như các yếu tố kinh tế, kĩ thuật, tổ chức…Đó là lý do chính
mà công đoạn đầu tiên trong vòng đời phát triển của phần mềm là giai đoạn phântích hệ thống Kĩ sư phần mềm tiến hành phân tích một cách tổng thể tất cả các lĩnhvực liên quan đến phần mềm vì mỗi doanh nghiệp, mỗi cơ quan là một chỉnh thể cómối liên hệ chặt chẽ giữa các bộ phận với nhau
Quá trình phân tích: nhu cầu về ứng dụng, sự cần thiết và mục tiêu của hệ
thống được tâp hợp thông qua trao đổi với người dùng hệ thống
Thiết kế: quá trình thiết kế hệ thống có thể được phân thành thiết kế phần
cứng và phần mềm
Mã hoá: trong giai đoạn này, các thiết kế phần mềm được mã hoá thành một
hoặc nhiều chương trình máy tính
Kiểm thử: các phân hệ chương trình được tích hợp và thực hiện kiểm thử
toàn bộ hệ thống để đánh giá các yêu cầu phân tích đó có thoả mãn hay không Sauquá trình kiểm thử, phần mềm sẽ được giao cho khách hàng
Bảo trì: hệ thống được cài đặt và được đưa vào ứng dụng thực tế Đây là giai
đoạn dài nhất trong vòng đời phát triển của phần mềm
Trang 212.1.2 Nền tảng thiết kế phần mềm trong sản xuất phần mềm:
2.1.2.1 Khái niệm công nghệ phần mềm
Nói chung Công nghệ phần mềm có thể hiểu là tổng thể bao gồm các phươngpháp, công cụ và thủ tục giúp cho người quản lý dự án điều hành tốt nhất mọi dự án
và giúp cho kỹ sư phần mềm nắm được các quy trình cơ bản trong sản xuất phầnmềm ở quy mô công nghiệp
Bản mẫu phần mềm là những đặc trưng cơ bản nhất về phần mềm sẽ đượcxây dựng trong tương lai Nó là cơ sở để khách hàng đi tới quyết định có kí kết hợpđồng phần mềm hay không và cũng là cơ sở để kĩ sư phần mềm phát triển sản phẩmcủa mình
Làm bản mẫu là một kỹ thuật đặc biệt và riêng có trong công nghệ phầnmềm, nó không được đề cập đến trong các môn lập trình cụ thể Bản mẫu phần
Trang 22hàng và chính các kĩ sư phần mềm có những nhìn nhận thực tế hơn, rõ ràng hơn sảnphẩm cuối cùng mà mình muốn có Nếu các ứng dụng được xây dựng lần đầu tiên,không có tiền lệ nào trước đó, không thể dự báo lỗi hay xây dựng các phương án xử
lý khi gặp các lỗi nghiêm trọng thì việc làm bản mẫu trở nên rất hiệu quả, giúp tránhviệc thất bại của cả một dự án đã tốn nhiều công sức đầu tư
Hơn nữa, mục đích công nghệ phần mềm là sản phẩm phần mềm được bán ratrên thị trường Do đó trước khi tung ra thị trường người ta phải sản xuất thử đểkhách hàng đánh giá Sau đó bản mẫu được chấp nhận thì mới cho sản xuất hàngloạt Bản mẫu phần mềm là cơ sở để kĩ sư phần mềm mềm phát triển và hoàn thiệnphần mềm của mình
Quy trình làm bản mẫu phần mềm gồm có sáu bước
SP bản mẫu PM
YC của K.Hàng
TKế Nhanh
Làm bản mẫu
Làm mềm bản mẫu
KH đánh giá bản mẫu
Bắt đâù
Hình 2-8 Mô hình các qui trình làm bản mẫu phần mềmBước 1: xác định yêu cầu của khách hàng: Đại diện của công ty phần mềmgặp gỡ khách hàng để xác định các yêu cầu của họ về phần mềm Thông thườngkhách hàng chỉ bày tỏ nguyện vọng là chính, bản thân cán bộ công ty phần mềmphải lượng hóa và mô hình hóa các nguyện vọng đó
Bước 2: thiết kế nhanh: Mục đích của bước này ở dạng phác thảo chỉ baogồm một vài đặc trưng cơ bản của phần mềm
Bước 3: làm bản mẫu
Bước 4: khách hàng đánh giá bản mẫu
Bước 5: làm mịn bản mẫu, hay là chi tiết hóa các chức năng phần mềm
Bước 6: kết thúc ta được sản phẩm chưa được thương mại hóa thị trường mà
là bản mẫu phần mềm Bản mẫu này phải được khách hàng chấp nhận Qua bản
Trang 23tương lai mà cụ thể là các giao diện
Tùy vào trình độ của khách hàng mà công ty phần mềm sử dụng một trong
ba cách trên hoặc sử dụng cả ba hình thức Mục tiêu cao nhất làm bản mẫu là cốgắng trong thời gian nhanh nhất để khách hàng tiếp thu phần nhìn thấy được củaphần mềm tương lai để họ đi đến kí kết hợp đồng Và cũng chính vì lý do đó kĩ sưphần mềm không chỉ cần có kiến thức chuyên nghành về tin học mà cần có nhữngkiến thức tổng thể về thương mại, những kiến thức về khoa học xã hội nhân văn
2.1.2.3 Vai trò của thiết kế phần mềm
Hiện nay khi sản xuất phần mềm đã trở thành một ngành công nghiệp thìchất lượng và sự ổn định của phần mềm sẽ quyết định đến uy tín của nhà sản xuấtphần mềm cũng như giá trị sử dụng của bản thân phần mềm đó Mà một thiết kế tốtlại chính là yếu tố sống còn đảm bảo chất lượng và sự ổn định ấy
Thiết kế phần mềm là thiết kế về kiến trúc hệ thống, thiết kế dữ liệu, thiết kếchương trình, thiết kế giao diện và thiết kế các công cụ cài đặt Xuất phát từ kết quảcủa quá trình phân tích yêu cầu hệ thống, yêu cầu phần mềm, các kĩ sư phần mềm
sử dụng các công cụ mô hình hóa để tạo nên những thiết kế cơ bản nhất của phầnmềm
Mô hình hóa nghĩa là việc làm đơn giản và trừu tượng vấn đề thực tế cần giải quyết.Khó có thể bao quát hết tất cả các khía cạnh của một hệ thống cùng nhau vì có quánhiều thông tin đan xen nhau nên một mô hình được xây dựng hoàn hảo sẽ chỉ tậptrung vào các yếu tố có ảnh hưởng quan trọng và bỏ qua những yếu tố có quan hệrất ít với mức đặc tả
Kết thúc quá trình thiết kế, những mô hình được tạo ra từ quá trình này sẽ trởthành bộ khung để giữ cho sản phẩm có thể triển khai tiếp Những mô tả chính xác
ở quá trình thiết kế này có ảnh hưởng và tác động trực tiếp tới công việc thường
Trang 24Hơn nữa, những phần mềm được thiết kế đầy đủ thì khi sử dụng sẽ không có nhữngbiến động lớn nếu xảy ra một thay đổi nào đó về dữ liệu Một phần mềm khôngđược thiết kế một cách đầy đủ thì tính ổn định của chúng thấp, chỉ cần một biếnđộng nhỏ về dữ liệu hay những tác động tiêu cực của môi trường cũng làm cho hoạtđộng của phần mềm bị biến dạng, hoặc không thể hoạt động được nữa
Việc sửa chữa bổ sung hay phát triển hoàn thiện thêm các tính năng của phần mềm
sẽ gặp rất nhiều khó khăn nếu công tác thiết kế trước đó thực hiện không chính xác,cẩn trọng Giống như trong xây dựng, thiết kế đóng vai trò như nền móng cho cảmột công trình trong tương lai
Bảo trìThiết kế Kiểm thử
Bảo trìKiểm thử
Hình 2-9 Sự khác biệt giứa phần mềm có và không có thiết kế
Như vậy, thiết kế phải chọn lựa, xây dựng một đặc tả về hành vi nhìn thấyđược từ bên ngoài và bổ sung các chi tiết cần thiết cho việc cài đặt trên hệ thốngmáy tính bao gồm cả chi tiết về tổ chức quản lý dữ liệu, công việc và tương tác vớicon người Thiết kế phải nhờ vào các kinh nghiệm và phải học tập những cái có sẵn
từ các hệ thống khác, không thể chỉ đọc sách là đủ Bản thiết kế tốt là chìa khóa cho
sự thành công của hệ thống
2.1.2.4 Phương pháp thiết kế phần mềm
Khái niệm module hóa
Mặc dầu có nhiều phương pháp thiết kế phần mềm nhưng trong quá trìnhthiết kế, chúng ta đều sử dụng một số khái niệm làm nền tảng Module là một trongnhững khái niệm nền tảng của quá trình thiết kế phần mềm
Module được hiểu là các dãy lệnh nhằm thực hiện một chức năng nào đó, cácmodule này có thể được biên dịch độc lập, và với một module đã được dịch thì cóthể được module khác gọi tới thông qua biến tham số Trong quá trình thiết kế phầnmềm, kĩ sư phần mềm tiến hành phân chia mô hình đã phân tích ra thành cácmodule, đặt tên và địa chỉ cho chúng, xác định các mối quan hệ ràng buộc giữa
Trang 25module lại có thể có nhiều phương thức khác nhau, công cụ khác nhau để thực hiện.Lựa chọn giải pháp nào, phương thức nào còn phụ thuộc vào những ràng buộc đãxác định trước đó cũng như những điều kiện để có thể tích hợp các module này lạisau quá trình xử lý.
Phương pháp thiết kế từ trên xuống (Top down design)
Đây là một phương pháp thiết kế giải thuật dựa trên tư tưởng module hoá.Nội dung của phương pháp: Trước hết người ta tiế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àytrong việc giải quyết bài toán người ta gộp chúng lại thành từng nhóm cùng chứcnăng từ dưới lên trên cho đến module chính Sau đó thiết kế thêm một số chươngtrình làm phong phú hơn, đầy đủ hơn chức năng của các phân hệ và cuối cùng làthiết kế một chương trình làm nhiệm vụ tập hợp các module thành một hệ chươngtrình thống nhất hoàn
Để nắm được ý tưởng của phương pháp này, chúng ta xem xét bài toán tinhọc hoá một trung tâm thương mại Trên cơ sở thực tế, chúng ta lần lượt đưa ra các
mô hình của bài toán dưới dạng phác thảo:
Phác thảo 1:
Trên cơ sở phác thảo nền thứ nhất, chúng ta tiếp tục phân rã thành các khốichi tiết hơn
Phác thảo 2:
Trang 27- Thiết kế chi tiết
Xét từ góc độ kĩ thuật: người ta chia là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
Mối liên hệ giữa góc độ quản lí và góc độ
kỹ thuật được biểu diễn theo hình vẽ hình II-5.
2.1.3 Quy trình xây dựng phần mềm
Xây dựng một phần mềm quản lý gồm sáu quy trình:
- Quy trình 1: xây dựng hợp đồng phần mềm
- Quy trình 2: xác định yêu cầu
- Quy trình 3: phân tích thiết kế phần mềm
Trang 282.1.3.1 Quy trình một, xây dựng hợp đồng phần mềm
Mục đích: nghiên cứu, đề xuất giải pháp kỹ thuật, tiến hành xây dự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ý, thanhtoán hợp đồng và lập hồ sơ tổng quát về quy trình hợp đồng phần mềm
Dấu hiệu:
- 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
Trang 292.1.3.2 Quy trình hai, xác định yêu cầu phần mềm
Mục đích: Sau khi đã có hợp đồng phần mềm với khách hàng, hợp đồng
được chuyển sang để xác định nhu cầu của khách hàng về sản phẩm tương lai Yêucầu đặt ra là phải lượng hoá các dạng mô hình
Dấu hiệu:
- Phân tích nghiệp vụ chuyên sâu
- Lập mô hình hoạt động của hệ thống
Báo cáo qui trình xác định yêu cầu
phần mềm
KT Duyệt
Hình 2-12 Qui trình xác định yêu cầu phần mềmCác công cụ được sử dụng tiến hành phân tích mô hình hoạt động hệ thống:BFD, IFD, DFD…
Trang 302.1.3.3 Quy trình ba, thiết kế phần mềm
Mục đích: sau khi quy trình xác định yêu cầu phần mềm, trên cơ sở hồ sơ
của giai đoạn phân tích ta chuyển sang quy trình thiết kế nhằm xác định hồ sơ tổngthể các vấn đề thiết kế phần mềm từ tổng quát tới chi tiết
Thiết kế là chìa khoá dẫn đến thành công của một dự án Thiết kế là một quá trìnhđòi hỏi tính sáng tạo, tinh tế và hiểu biết sâu sắc của người thiết kế.Thiết kế phầnmềm cung cấp cách biểu diễn phần mềm có thể được xác nhận về chất lượng, làcách duy nhất mà chúng ta có thể chuyển hoá một cách chính xác các yêu cầu củakhách hàng thành sản phẩm hay hệ thống phần mềm cuối cùng
Trang 31Thiết kế giao diện
Hồ sơ thiết kế
Hình 2-13 Qui trình thiết kế phần mềm
Trang 322.1.3.4 Quy trình bốn, 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ến hành chi tiết
hoá 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ế
Lập trình là một tiến trình dịch thiết kế chi tiết thành chương trình bao gồm tậphợp các dòng mã lệnh mã máy tính có thể hiểu được Mỗi ngôn ngữ lập trình cónhững giới hạn nhất định do vậy dựa trên các đặc trưng của ngôn ngữ, chúng ta sẽ
Lập trình module
KT
Hình 2-14 Qui trình lập trình
Trang 33Mụ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 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ẩnnghiệm thu nhằm đảm bảo có một phần mềm chất lượng cao
Quy trình test là quá trình đánh giá xem chương trình có phù hợp với những đặc tảyêu cầu và đáp ứng mong đợi của khách hàng không Quá trình này phải được tiếnhành thường xuyên sau mỗi giai đoạn sản xuất phần mềm Quá trình này liên quanđến hai mục đích là “Phần mềm đáp ứng nhu cầu khách hàng và quá trình sản xuấtkhông sai sót”
Test hệ thống
KT Báo cáo quy trình test
Trang 342.1.3.6 Quy trình sáu, triển khai
Mục đích: đây là quy trình cuối cùng trong toàn bộ công đoạn khép kín của
quy trình sản xuất phần mềm Triển khai là một giai đoạn quan trọng, là một phầnviệc tất yếu đi kèm khi chuyển giao phần mềm, nên khi đánh giá thường chỉ quantâm đến các chức năng và tính năng của hệ thống mà quên một điều quan trọng rằng
đó là những tiềm năng sẵn có Để đưa hệ thống cùng toàn bộ tính năng ưu việt của
nó vào ứng dụng trong thực tế thì chỉ có quá trình triển khai tốt mới có thể biến cáctiềm năng đó thành hiện thực Tỷ lệ thất bại của phần mềm do quá trình triển khaivẫn đang chiếm một tỷ lệ rất cao mà nguyên nhân chủ yếu là do:
Năng lực của người sử dụng còn hạn chế
Truyền đạt và thông tin không tốt
Phương pháp triển khai thiếu tính khoa học và không rõ ràng
Đào tạo người sử dụng là vấn đề không thể thiếu trong quá trình triển khai Đểngười sử dụng có thể điều hành trôi chảy hệ thống mới, thông báo một số tìnhhuống có thể xảy ra lỗi khi vận hành sản phẩm để người dùng biết cách xử lý
Trang 35Cài đặt máy chủ
KT Báo cáo quy trình triển khai
Hình 2-16 Qui trình triển khai
Trang 362.2 Các công cụ thực hiện đề tài
2.2.1 Sơ đồ chức năng kinh doanh BFD
Sơ đồ chức năng kinh doanh là công cụ thường được sử dụng để mô tả chứcnăng nghiệp vụ của hệ thống Mục đích của việc sử dụng mô hình là hiểu rõ các quytrình kinh doanh, từ đó hiểu được quy chế ra quyết định và thông tin ra quyết định
Biểu đồ phân rã chức năng giúp
- Nắm hiểu tổ chức và định hướng hoạt động khảo sát
- Hỗ trợ xác định miền cần nghiên cứu
- Thể hiện vị trí mỗi công việc trong hệ thống
- Là cơ sở để cấu trúc hệ thống chương trình
Các kí pháp thường được sử dụng của sơ đồ BFD
Tên chức năng
Một số nguyên tắc khi phân rã chức năng theo sơ đồ BFD
- Phân rã các chức năng từ mức gộp đến mức chi tiết
- Không nên phân rã biểu đồ quá sáu mức
- Các chức năng cùng mức sắp xếp trên cùng hàng, cùng dạng
- Bố trí cân đối, rõ ràng
- Tên chức năng phải là tên duy nhất, là một mệnh đề động từ hay sự kiện kíchhoạt, qui trình thực hiện
2.2.2 Sơ đồ luồng dữ liệu DFD
Sơ đồ luồng dữ liệu DFD dùng để miêu tả hệ thống thông tin trên góc độ trừutuợng Trên sơ đồ chỉ bao gồm các luồng dữ liệu, các xử lý các lưu trữ dữ liệu
Trang 37Sơ đồ mức ngữ cảnh thể hiện rất khái quát nội dung chính của hệ thống Sơ
đồ này không đi sâu vào chi tiết mà chỉ mô tả sao cho chỉ cần nhìn là nhận ra nộidung chính của hệ thống Để cho sơ đồ ngữ cảnh sáng sủa và dễ nhìn có thể bỏ quacác kho dữ liệu; bỏ qua các xử lý cập nhật Sơ đồ ngữ cảnh còn được gọi là sơ đồmức 0
Để mô tả hệ thống chi tiết hơn người ta thường dùng kĩ thuật phân rã sơ đồ.Bắt đầu từ sơ đồ mức 0, tiếp sau là sơ đồ mức 1…
Khi phân rã sơ đồ cần chú ý
- Thông thường một xử lý mà logic xử lý của nó được trình bày bằng ngônngữ có cấu trúc chỉ chiếm một trang giấy thì không phân rã tiếp
- Cố gắng chỉ để tối đa bảy xử lý trên một trang DFD
- Tất cả các xử lý trên một DFD phải thuộc cùng một mưc phân rã
- Luồng vào của một DFD mức cao phải là luồng vào của một DFD mức thấpnào đó Luồng tới đích của một DFD mức thấp nào đo phải là luồng ra tớiđích của một DFD mức cao nào đó
- Xử lý không phân rã tiếp thêm thì được gọi là xử lý nguyên thủy Một xử lý
Trang 38Ngoài ra khi tiến hành mô hình hóa hệ thống bằng sơ đồ DFD tuân theo một sốnguyên tắc chung.
- Mỗi luồng dữ liệu phải có một tên trừ luồng giữa xử lý và kho dữ liệu
- Dữ liệu chứa trên hai vật mang tin khác nhau nhưng luôn luôn đi cùng nhauthì có thể tạo ra chỉ một luồng duy nhất
- Xử lý luôn phải được đánh mã số
- Vẽ lại các kho dữ liệu để các luồng dữ liệu không cắt nhau
- Tên cho xử lý phải là một động từ
- Xử lý buộc phải thực hiện một biến đổi dữ liệu Luồng vào và luồng ra từmột xử lý phải khác nhau
2.2.3 Sơ đồ thuật toán
Các kí pháp chính của sơ đồ thuật toán bao gồm
Bắt đầu và kết thúc thuật toán
Để thực hiện đề tài này, em sử dụng công cụ là hệ quản trị cơ sở dữ liệuMicrosoft Access với ngôn ngữ lập trình là Visual Basic
2.2.4 Microsoft Access 2003
Từ cuối những năm tám mươi, hãng Microsoft đã cho ra đời hệ điều hànhWindows, đánh dấu một bước ngoặt trong phát triển các ứng dụng phần mềm trênnền Windows (giao diện GUI- Graphical User Interface) Một trong những ứngdụng nổi bật nhất đi kèm lúc đó là bộ phần mềm tin học văn phòng MicrosoftOffice Từ đó đến nay, bộ phần mềm này vẫn chiếm thị phần số một trên thế giớitrong lĩnh vực tin học văn phòng
Ngoài những ứng dụng về văn phòng quen thuộc phải kể đến như: MS Word– để soạn thảo tài liệu; MS Excel – bảng tính điện tử; MS Powerpoint – để trình
Trang 39kèm:MS Access – Access là một Hệ quản trị cơ sở dữ liệu quan hệ Relational Database Management System), rất phù hợp cho các bài toán quản lý vừa
(RDMS-và nhỏ Hiệu năng cao (RDMS-và đặc biệt dễ sử dụng- bởi lẽ giao diện sử dụng phần mềmnày gần giống hệt một số phần mềm khác trong bộ MS Office quen thuộc như: MSWord, MS Excel
Hơn nữa, Access còn cung cấp hệ thống công cụ phát triển khá mạnh đi kèm(Development Tools) Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giảntrong việc xây dựng trọn gói các dự án phần mềm quản lý qui mô vừa và nhỏ Đặcbiệt những ai muốn học phát triển phần mềm thì đây là cách dễ học nhất, nhanhnhất giải quyết bài toán này
Các ứng dụng chính của Access là:
Dùng để xây dựng hệ cơ sở dữ liệu (chỉ là phần cơ sở dữ liệu, còn phần pháttriển thành phần mềm có thể dùng các công cụ khác để làm như: Visual Basic,Visual C, Delphi, NET, )
Có thể dùng để xây dựng trọn gói những phần mềm quản lý qui mô vừa vànhỏ
Công cụ quản lý cơ sở dữ liệu của Access bao gồm các Tables (bảng),Queries (truy vấn, tìm kiếm), Forms (mẫu), Reports (báo cáo), Macro (các macrolệnh), Modules (các khai báo, thư viện chương trình con) Mỗi một đối tượng trên
sẽ được hiện ra trong một cửa số riêng
Tables là công cụ xây dựng cơ sở dữ liệu trong Access Đây là đối tượng cơ
bản Mỗi bảng gồm tên bảng, trường dữ liệu (field) nhận các giá trị khác nhau (nhưtext, number, v.v…), bản ghi (records), trường khóa (primary key) Giữa các table
có liên hệ với nhau
Queries là một công cụ quan trong khác Đây là công cụ xử lý dữ liệu trong
Access Có bảy loại queries tương ứng với bảy loại xử lý dữ liệu mà Access có thểthực hiện Đó là:
- Select Queries: dùng để trích, lọc, kết xuất dữ liệu
- Total Queries: dùng để tổng hợp dữ liệu
- Crosstab Queries: dùng để tổng hợp dữ liệu theo tiêu đề dòng và cột dữ liệu
Trang 40- Delete Queries: dùng để loại bỏ các dữ liệu hết hạn
- Update Queries: dùng để cập nhật dữ liệu
- Ngoài ra còn có Append Queries
2.2.5 Ngôn ngữ lập trình Visual Basic 6.0
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình VisualBasic (VB), cho phép người dùng tiếp cận nhanh cách thức lập trình trên môitrường Windows Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6 nhữngtính năng trợ giúp mới và các công cụ lập trình hiệu quả Người dùng mới làm quenvới VB cũng có thể làm chủ VB6 một cách dễ dàng Dùng VB6 là cách nhanh và tốtnhất để lập trình cho Microsoft Windows VB6 sẽ cung cấp cho bạn một bộ công cụhoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng cho MSWindows
Phần "Visual" đề cập đến phương pháp được sử dụng để tạo giao diện đồ họangười dùng (Graphical User Interface hay viết tắc là GUI) Có sẵn những bộ phậngọi là controls, chúng ta tha hồ sắp đặt vị trí và quyết định các đặc tính của chúngtrên một khung màn hình, gọi là form Nếu đã từng sử dụng chương trình vẽ chẳnghạn như Paint, chúng ta đã có sẵn các kỹ năng cần thiết để tạo một GUI cho VB6
Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose SymbolicInstruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được chế ra cho cáckhoa học gia (những người không có thì giờ để học lập trình điện toán) dùng VisualBasic đã được ra từ MSBasic, do Bill Gates viết từ thời dùng cho máy tính 8 bits
8080 hay Z80 Hiện nay nó chứa đến hàng trăm câu lệnh (commands), hàm(functions) và từ khóa (keywords) Rất nhiều commands, functions liên hệ trực tiếpđến MSWindows GUI Những người mới bắt đầu có thể viết chương trình bằngcách học chỉ một vài commands, functions và keywords Khả năng của ngôn ngữnày cho phép những người chuyên nghiệp hoàn thành bất kỳ điều gì nhờ sử dụngngôn ngữ lập trình MSWindows nào khác
Người mang lại phần "Visual" cho VB là ông Alan Cooper Ông đã gói môitrường hoạt động của Basic trong một phạm vi dễ hiểu, dễ dùng, không cần phảichú ý đến sự tinh xảo của MSWindows, nhưng vẫn dùng các chức năng củaMSWindows một cách hiệu quả Do đó, nhiều người xem ông Alan Cooper là chagià của Visual Basic Visual Basic còn có hai dạng khác: Visual Basic forApplication (VBA) và VBScript VBA là ngôn ngữ nằm phía sau các chương trìnhWord, Excel, MSAccess, MSProject, v.v còn gọi là Macros Dùng VBA trong