Trình bày các kết quả quan trọng nhất của việc nghiên cứu đề tài: Phân tích quy trình và yêu cầu của hệ thống quản lý hoạt động bán hàng của công ty TNHH Sản xuất & Thương mại Vạn Hoa, chi tiết quy trình phân tích hệ thống, chi tiết quy trình thiết kế trong phần mềm quản lý bán hàng của công ty TNHH Sản xuất & Thương mại Vạn Hoa, một số giao diện trong phần mềm quản lý bàn hàng công ty TNHH Sản xuất & Thương mại Vạn Hoa.
Trang 1LỜI MỞ ĐẦU
Trong thời đại công nghệ thông tin phát triển như vũ bão hiện nay,chúng ta đã nghe thuận tai rất nhiều về máy tính và các thành tựu ứng dụngcủa nó trên các phương tiện thông tin đại chúng Nhất là khi chúng ta đangbước vào thời đại của thông tin thì vấn đề về quản trị và bảo mật CSDL đã trởnên đặc biệt quan trọng
Năm 2007, Việt Nam ra nhập WTO, tổ chức thương mại lớn nhất thếgiới, đã mở ra rất nhiều cơ hội cũng như thách thức, các doanh nghiệp, ở từng
bộ phận, đang từng bước tin học hóa quá trình xử lý chuyển dần từ thủ côngsang tự động có sự thao tác giữa người và máy Với các phần mềm quản lýviệc kinh doanh với nhiều mô hình khác nhau của các doanh nghiệp sẽ trở nênđơn giản và thuận tiện hơn
Một trong những dạng đầu ra của thông tin mà nhà quản trị yêu cầu
là các báo cáo Các báo cáo là dạng văn bản có ý nghĩa quan trọng trongviệc hỗ trợ cho các nhà lãnh đạo ra quyết định Với hệ thống hiện tại, công
ty TNHH Sản xuất & Thương mại Vạn Hoa chưa có phần mềm chuyêndụng cho hệ thống bán hàng nên việc tổng hợp các báo cáo còn mất rấtnhiều thời gian, chưa đáp ứng tính kịp thời của thông tin Việc xây dựngmột phần mềm quản lý bán hàng sẽ mang lại cho công ty nhiều lợi ích, đápứng yêu cấu của ban giám đốc đối với thông tin về hoạt động bán hàng.Đặc biệt các thông tin đầu ra của hệ thống như báo cáo doanh thu bánhàng, công nợ khách hàng, lượng hàng bán, hàng tồn… trong khoảng thờigian xác định mà ban giám đốc yêu cầu
Trong khuôn khổ đợt thực tập tốt nghiệp tại công ty TNHH Sản xuất &Thương mại Vạn Hoa, em xây dựng một phần mềm Quản lý bán hàng ápdụng cho mô hình doanh nghiệp vừa và nhỏ Hệ thống này chỉ thực hiện ở
Trang 2mức độ thử nghiệm, chưa có điều kiện khai thác một cách hoàn chỉnh trongthực tế.
Do trình độ và thời gian có hạn, bản đồ án chắc chắn còn nhiều sai sót
và chưa hợp lý Vì vậy, em rất mong sự đóng góp ý kiến, giúp đỡ của các thầy
cô giáo và các bạn để hệ thống được hoàn thiện hơn
Em rất mong được sự hướng dẫn chỉ bảo của các thầy cô để có đượckinh nghiệm hoàn thành tốt hơn về đề tài này và có thể thực hiện nhiều hệthống hoàn chỉnh trong tương lai Em xin chân thành cảm ơn thầy giáo TS.Trương Văn Tú, người đã trực tiếp giảng dạy, hướng dẫn em thực hiện đề tàinày
Chuyên đề thực tập tốt nghiệp bao gồm những nội dung chính sau:
Lời nói đầu
Chương I: Giới thiệu chung về công ty TNHH Sản xuất & Thương mại Vạn Hoa và đề tài nghiên cứu
Trình bày các vấn đề tổng quan về cơ sở thực tập, công ty TNHHSản xuất & Thương mại Vạn Hoa, bao gồm: Chức năng, nhiệm vụ, cơ cấu tổchức, thực trạng ứng dụng công nghệ thông tin… và tổng quan về đề tàinghiên cứu: Tên đề tài, ý nghĩa, mục tiêu, chức năng chính của chươngtrình…
Chương II: Phương pháp luận cơ bản làm cơ sở cho việc nghiên cứu đề tài
Trình bày các vấn đề phương pháp luận cơ bản làm cơ sở cho việcnghiên cứu đề tài: Tổng quan về phần mềm và quy trình xây dựng phần mềm,thiết kế phần mềm, công cụ sử dụng để thiết kế phần mềm quản lý bán hàngtrong đề tài…
Chương III: Phân tích thiết kế hệ phần mềm quản lý bán hàng công ty TNHH Sản xuất & Thương mại Vạn Hoa
Trang 3Trình bày các kết quả quan trọng nhất của việc nghiên cứu đề tài: Phân tíchquy trình và yêu cầu của hệ thống quản lý hoạt động bán hàng của công tyTNHH Sản xuất & Thương mại Vạn Hoa, chi tiết quy trình phân tích hệthống, chi tiết quy trình thiết kế trong phần mềm quản lý bán hàng của công
ty TNHH Sản xuất & Thương mại Vạn Hoa, một số giao diện trong phầnmềm quản lý bàn hàng công ty TNHH Sản xuất & Thương mại Vạn Hoa
Kết luận
Danh mục tài liệu tham khảo
Phụ lục
Trang 4CHƯƠNG I TỔNG QUAN VỀ CÔNG TY TNHH SẢN XUẤT & THƯƠNG MẠI VẠN HOA VÀ VẤN ĐỀ TIN HỌC HÓA QUÁ TRÌNH
BÁN HÀNG
1 Tổng quan về công ty TNHH Sản xuất & Thương mại Vạn Hoa
1.1 Đặc điểm, tình hình chung về hoạt động của công ty TNHH Sản
xuất và Thương mại Vạn Hoa
1.1.1 Quá trình hình thành và phát triển của công ty TNHH Sản xuất & Thương mại Vạn Hoa
Hướng tới thị trường tiêu thụ khá ổn định về sản phẩm bút viết và dựavào đặc điểm sản phẩm bút viết tiêu thụ trong nước, ý tưởng thành lập công tysản xuất bút máy ngòi mài luyện viết chữ đẹp đã cho ra đời công ty TNHHSản xuất & Thương mại Vạn Hoa Chính thức được thành lập ngày26/11/2006, cho tới nay công ty đã dần mở rộng quy mô sản xuất, mở rộng thịtrường trong nước, chiếm được lòng tin và đáp ứng được yêu cầu của ngườitiêu dùng về sản phẩm dựa trên công nghệ và bí quyết sản xuất thủ công bútmáy ngòi mài, dần khẳng định vị thế của mình trong ngành sản xuất, kinhdoanh văn phòng phẩm trong nước Một vài nét chính về công ty TNHH Sảnxuất & Thương mại Vạn Hoa:
Thành lập ngày 26/11/2006
Tên giao dịch : Công ty TNHH Sản Xuất & Thương Mại Vạn HoaTên giao dịch quốc tế : VANHOA TRADING AND PRODUCTIONCOMPANY LIMITED
Tên viết tắt : VANHOA P&T CO.,LTD
Trang 5Trụ sở chính : Số 1 ngõ 6 phố Vĩnh Phúc, phường Vĩnh Phúc,quận Ba Đình, thành phố Hà Nội.
Nhà máy sản xuất: Số 15 Tân Xuân, Xuân Đỉnh, Từ Liêm, Hà NộiKho hàng của công ty: có ba kho hàng được đặt tại Số 21 Tân Xuân,Xuân Đỉnh, Từ Liêm, Hà Nội Trong đó:
- Kho 1: Kho nguyên vật liệu
- Kho 2: Kho thành phẩm bút
- Kho 3: Kho thành phẩm giấy vở
Người đại diện theo pháp luật: Giám đốc Lỗ Minh Tuấn
Vốn điều lệ ban đầu của công ty là 1.100.000.000 đồng Sau thời gianhoạt động đến nay, công ty đã có số vốn điều lệ tăng lên là 1.900.000.000đồng, với một số khách hàng ban đầu từ khi mới thành lập hiện nay số lượngkhách hàng của công ty đã tăng lên rất nhanh do chất lượng sản phẩm màcông ty cung cấp cùng với sự nỗ lực không ngừng của tất cả các nhân viêntrong công ty
Công ty TNHH Sản xuất & Thương mại Vạn Hoa là doanh nghiệp sảnxuất tư nhân có tư cách pháp nhân đầy đủ, có con dấu và tài khoản riêng
Ngoài sản phẩm bút máy ngòi mài dùng luyện viết chữ đẹp, công tyTNHH Sản xuất & Thương mại Vạn Hoa còn sản xuất mặt hàng sổ, giấy, vởhọc sinh cung cấp cho thị trường tiêu thụ trên cả nước
1.1.2 Mục tiêu, nhiệm vụ kinh doanh của công ty TNHH Sản xuất & Thương mại Vạn Hoa
+ Mục tiêu
Mục tiêu cơ bản của công ty là: khách hàng, chất lượng, mở rộng quy
mô sản xuất và kinh doanh, không ngừng lớn mạnh trên thị trường trong cảnước mà còn vươn ra thị trường tiêu thụ nước ngoài Đặc biệt, lợi nhuận làmục tiêu hàng đầu, trực tiếp đối với hoạt động sản xuất và kinh doanh, là
Trang 6động lực được sử dụng làm đòn bẩy kinh tế đồng thời phù hợp với mục tiêuphát triển bền vững của đất nước.
+ Nhiệm vụ
Xây dựng, tổ chức kế hoạch sản xuất và kinh doanh các mặt hàng vănphòng phẩm phù hợp với sở thích, thị hiếu người tiêu dùng, đáp ứng yêu cầusản xuất, kinh doanh
Tự tạo nguồn vốn cho sản xuất kinh doanh, khai thác có hiệu quảnguồn vốn đảm bảo cho quá trình mở rộng sản xuất đổi mới trang thiết bị, bùđắp các chi phí, làm nghĩa vụ nộp ngân sách Nhà nước
Nghiên cứu, thực hiện các biện pháp nâng cao chất lượng, gia tăng khốilượng và chất lượng sản phẩm cung cấp cho khách hàng
Thực hiện tốt các chính sách cán bộ, chế độ quản lý tài sản, tài chính,lao động, tiền lương do công ty quản lý, làm tốt công tác phân phối theo laođộng, đảm bảo công bằng xã hội, đào tạo, bồi dưỡng để không ngừng nângcao trình độ nghiệp vụ tay nghề cao cho cán bộ công nhân viên
Làm tốt công tác bảo hộ và an toàn lao động, trật tự xã hội, bảo vệ môitrường, bảo vệ an ninh, làm tròn công tác quốc phòng
1.2 Hệ thống tổ chức bộ máy quản lý và cơ cấu sản xuất của công
ty TNHH Sản xuất & Thương mại Vạn Hoa
Hiện nay, số nhân viên của công ty là 70 nhân viên Trong đó có mộtGiám đốc, một quản đốc phân xưởng, 37 nhân viên sản xuất, 4 đại diệnthương mại, 11 nhân viên kinh doanh, 3 nhân viên kế toán, 1 nhân viên hànhchính, 12 nhân viên các tỉnh
Các phòng chức năng: Xưởng sản xuất, phòng kế toán, phòng tổ chứchành chính, phòng kinh doanh
Ban lãnh đạo công ty:
Giám đốc: Lỗ Minh Tuấn
Trang 7Quản đốc: Chu Văn Nhâm
Kế toán trưởng: Vũ Thu Hằng
- Các phòng chức năng:
+ Phòng tổ chức hành chính: nghiên cứu hoàn thiện mô hình tổ chứccủa công ty, đào tạo sắp xếp cán bộ công nhân viên Xây dựng quỹ lương,định mức lao động, tổ chức ban hành các quy chế quản lý và sử dụng laođộng theo quy định của nhà nước
+ Phòng tài chính kế toán: chịu trách nhiệm về công tác tài chính kếtoán trong toàn bộ công ty và hạch toán kết quả sản xuất kinh doanh, báo cáonhà nước theo đúng quy định
+ Phòng kinh doanh và kỹ thuật: điều hành các hoạt động về kỹ thuật
và kinh doanh
Về mặt kinh doanh: chịu trách nhiệm tổng hợp, nghiên cứu, xây dựng
và lập kế hoạch kinh doanh để xác định tình hình thực hiện kế hoạch, tổ chứcđánh giá hàng hóa trong công ty
Về kỹ thuật: nghiên cứu mẫu mã của tất cả các mặt hàng đã và chưa cótrong công ty
+ Phòng bán hàng: chịu trách nhiệm tiếp nhận trực tiếp các đơn đặthàng (khách hàng đến thẳng công ty) hoặc gián tiếp (khách hàng đặt hàng quađường điện thoại) Phòng bán hàng chịu trách nhiệm theo dõi doanh thu bánhàng của công trong từng tháng
+ Phòng quản đốc: chịu trách nhiệm trực tiếp đốc thúc và giám sát côngnhân viên sản xuất trong công ty để tránh tình trạng làm chậm tiến độ sảnxuất gây ảnh hưởng tới hiệu quả kinh doanh trong công ty Phòng quản đốccòn chịu trách nhiệm đào tạo cho những công nhân mới vào nghề
- Các kho trong công ty:
Trang 8+ Kho thành phẩm: chịu trách nhiệm hoàn thiện và đóng gói mọi mặthàng trong công ty, xuất hàng theo kế hoạch của phòng bán hàng đưa xuống.
+ Kho vật tư: chịu trách nhiệm cấp phát vật liệu phục vụ cho công nhânviên trực tiếp sản xuất trong công ty, phải dự trù nguyên vật liệu để tránh tìnhtrạng thiếu làm chậm tiến độ sản xuất gây ảnh hưởng việc kinh doanh củacông ty
- Các phân xưởng sản xuất: có trách nhiệm sản xuất theo kế hoạch sảnxuất đã định
Công ty giao kế hoạch hướng dẫn và kiểm tra thực hiện kế hoạch, ápdụng các biện pháp kế toán, thưởng và chế độ trách nhiệm đối với tất cả cáccông nhân viên trong toàn công ty Đảm bảo quyền lợi cả về mặt vật chất lẫntinh thần cho mọi cán bộ công nhân viên như chế độ nhà nước quy định
Trang 9CƠ CẤU TỔ CHỨC CÔNG TY TNNH SẢN XUẤT & THƯƠNG MẠI
Trang 101.3 Thực trạng ứng dụng công nghệ thông tin tại công ty TNHH
Sản xuất & Thương mại Vạn Hoa
1.3.1 Thực trạng ứng dụng công nghệ thông tin tại công ty TNHH Sản xuất & Thương mại Vạn Hoa
Công ty TNHH Sản xuất & Tthương mại Vạn Hoa bước đầu đã thayđổi cách quản lý từ quản lý thủ công sang quản lý tự động, có sự thao tác giữangười và máy nhằm giảm bớt thao tác thừa, không chính xác trong quá trìnhquản lý, giảm chi phí, nâng cao năng xuất lao động, đưa ra thông tin chínhxác và kịp thời, trợ giúp cho quá trình ra quyết định Hiện nay, một sốphòng ban đã được trang bị máy tính, máy in, phần mềm… và công ty cótrang web riêng để giới thiệu sản phẩm ra thị trường và người tiêu dùng cóthể nắm bắt một cách nhanh chóng những mặt hàng phục vụ nhu cầu của cánhân hay tổ chức
Tuy nhiên, các thiết bị vẫn chưa được sử dụng đúng mục đích và phục
vụ đúng chức năng nhiệm vụ của các phòng Do kinh phí của công ty hạn hẹp,hiện nay công ty mới chỉ trang bị công nghệ hiện đại như phần mềm chuyêndụng cho một số phòng ban, còn hầu hết vẫn thực hiện thủ công là chính Một
số phòng ban tùy vào nhiệm vụ của mình được nối mạng Internet nhưng công
ty chưa có phần mềm quản lý doanh nghiệp toàn diện để các phòng ban có thểtrao đổi thông tin…
- Phòng giám đốc: đã trang bị máy tính nhưng công việc thực hiện vẫnchủ yếu là thủ công Hàng ngày, mọi văn bản, giấy tờ đều do thư ký chuẩn bị
để giám đốc phê duyệt nên máy tính chưa phục vụ nhiều cho công tác raquyết định
- Phòng kinh doanh: đã trang bị máy tính có nối mạng Internet để thuậntiện hơn trong quá trình quản lý và nghiên cứu các thông tin về thị trường,tình hình của các doanh nghiệp, nhà cung cấp và các đối thủ cạnh tranh Tuy
Trang 11vậy, công tác quản lý vẫn còn dựa trên thủ công Hầu hết các văn bản, giấy tờđều do cấp dưới chuẩn bị và đưa lên để phê duyệt Mọi thông tin cần lưu trữvẫn được lưu trữ trên văn bản, giấy tờ Máy tính chỉ phục vụ cho quản lý tứcthời, không có ý nghĩa lâu dài Muốn lưu giữ các thông tin hay trình giám đốcphê duyệt thì tất cả đều in ra giấy.
- Bộ phận bán hàng: được trang bị máy tính với những phần mềm nhưMicrosoft Word, Microsoft Excel… và được nối mạng Internet Quá trình tiếpnhận và xử lý đơn đặt hàng còn dựa trên thủ công do chưa có phần mềm bánhàng nên việc giải quyết còn khó khăn và chậm Cuối mỗi kỳ việc thống kê vàlên báo cáo còn mất nhiều thời gian chưa đáp ứng tính kịp thời cho ngườiquản trị
- Xưởng sản xuất: đã trang bị máy tính phục vụ cho quá trình quản lýviệc sản xuất cũng như phân công công việc cho từng tổ sản xuất Máy tínhđược nối mạng Internet nên việc tìm kiếm cũng như nắm bắt thông tin vềnhững công nghệ mới trên thế giới được nhanh chóng và thuận tiện
- Phòng tổ chức hành chính: trang bị máy tính với phần mềm ứng dụngnhư Microsoft Excel… để quản lý đội ngũ nhân viên trong công ty
- Phòng tài chính kế toán: là phòng được trang bị máy tính với phầnmềm kế toán chuyên dụng trợ giúp cho kế toán viên trong quá trình hạch toáncác nghiệp vụ Sau mỗi kỳ, việc thống kê và báo cáo được nhanh chóng vàthuận tiện hơn
- Phòng quản đốc: quản lý trực tiếp các kho thành phẩm và vật tưnhưng việc quản lý nửa trên máy tính nửa trên sổ sách, giấy tờ Hàng ngày,các nhân viên vẫn vào sổ lưu kho rồi cuối tháng mới tổng hợp trên máy tính.Mọi thông tin vẫn được lưu trữ trên văn bản dựa vào phiếu xuất kho, phiếunhập kho, hóa đơn thanh toán của người bán gửi tới Phần mềm sử dụng là
Trang 12Microsoft Excel, chưa có phần mềm quản lý vật tư chuyên dụng Máy in đãđược trang bị để in các báo cáo nhập - xuất - tồn, thẻ kho… để phê duyệt.
1.3.2 Chiến lược phát triển hệ thống thông tin của công ty TNHH Sản xuất & Thương mại Vạn Hoa
Ban giám đốc công ty xác định tình trạng quản lý thủ công không thểkéo dài nhưng trong lúc này công ty chưa thể khắc phục một cách tổng thể vàtoàn diện do chi phí lớn mà công ty cần vốn để phân bổ cho các mục đíchkhác Trong đó, một số phòng ban của công ty đã được tin học hóa công tácnghiệp vụ nên ban giám đốc quyết định chọn giải pháp tin học hóa từng phần,từng bộ phận Sau đó sẽ kết nối thành một hệ thống quản lý thống nhất trên cơ
sở thiết lập mạng máy tính thống nhất toàn cơ quan và trang bị một phần mềmquản lý doanh nghiệp toàn diện để dễ dàng quản lý các nguồn lực, chia sẻthông tin giữa các phòng ban, mỗi người có thể nắm bắt được các thông tinnhanh chóng và kịp thời
Trong những năm tới, công ty sẽ trang bị thêm máy tính, máy in, hệthống mạng cho từng phòng ban ví dụ phần mềm quản lý bán hàng cho phòngbán hàng, phần mềm quản trị nhân lực cho phòng tổ chức hành chính… để cóthể thực hiện các nghiệp vụ một cách nhanh chóng và thuận tiện, nâng caonăng suất lao động…
1.3.3 Thực trạng vấn đề giải quyết bài toán quản lý hoạt động bán
hàng
Là doanh nghiệp hoạt động trong lĩnh vực thương mại, một trongnhững nỗi bận tâm hàng đầu của nhà quản trị doanh nghiệp là làm sao quản lýsát sao tình hình kinh doanh với các số liệu về kho hàng (nhập, xuất, tồn kho).Qua nhiều năm nghiên cứu về giải pháp quản lý bán hàng và tìm hiểu khảo sátthực tế trên mười nghìn khách hàng, người ta đã đưa ra một số thống kê vềnhững lo lắng của các ông chủ doanh nghiệp như sau:
Trang 13- Mất kiểm soát về lượng hàng tồn thực tế trong kho.
- Những sai sót thường xuyên gặp phải trong quá trình ghi các thôngtin trong các hóa đơn, chứng từ, sổ sách kế toán
- Luôn cảm thấy khối lượng công việc quá lớn
- Không có thời gian dành cho gia đình do quá bận kinh doanh
- Muốn mở rộng sản xuất kinh doanh nhưng lại sợ không quản lýđược
- Các báo cáo kế toán rất khó hiểu vì bản thân không có nghiệp vụ
- Khi cần những báo cáo kết quả kinh doanh theo yêu cầu thì không
có hoặc phải đợi rất lâu
Hoạt động kế toán cho một công ty hay cửa hàng nói chung là mộtchuỗi công việc rất vất vả và tốn nhiều công sức nếu không nói là phải có sựcần mẫn, chăm chỉ và sáng suốt Sự sai sót sẽ khó tránh khỏi nếu công việcchỉ dành riêng cho một người Nếu thực hiện việc quản lý trên bằng việc ghi
sổ sách thủ công sẽ làm mất rất nhiều thời gian và công sức, đôi khi còn làmthất thoát về mặt tài chính và việc đối chiếu sổ sách, tính toán bằng taythường xuyên diễn ra hằng ngày, điều này nhàm chán với con người, dễ dẫnđến sai sót, nhầm lẫn Ngoài ra, vấn đề lưu trữ sổ sách kế toán, hóa đơn,chứng từ cũng là vấn đề đáng lo ngại cho các công ty về không gian, chi phíkhông gian và bảo quản giấy tờ, sổ sách của công ty Việc tin học hoá trongbài toán quản lí bán hàng nói chung sẽ giúp cho mọi người làm việc trong bộphận kế toán công ty bớt đi phần nào sự nhàm chán đó và đặc biệt là tínhchính xác cao lại không tốn bất kỳ chi phí nào cho việc bảo quản và lưu trữgiấy tờ, sổ sách Vì vậy, việc tin học hoá trong bài toán quản lí bán hàng sẽlàm tiết kiệm được thời gian, sức lực, tiền của và giúp cho việc thông tin kếtoán được nhanh chóng theo yêu cầu người dùng đưa ra Với sự tiến bộ củakhoa học – công nghệ hiện nay, máy vi tính có thể giúp chúng ta giải quyết
Trang 14một cách nhẹ nhàng, nhanh chóng và chính xác, tiết kiệm tối đa chi phí quản
lý, tăng khả năng cạnh tranh, nâng cao kết quả hoạt động sản xuất kinh doanh
Công ty TNHH Sản xuất & Thương mại Vạn Hoa với sản phẩm phongphú, đa dạng về mẫu mã và chất liệu với thị trường trong nước và ngoài nướcnên việc quản lý bán hàng gặp nhiều khó khăn khi chưa có một phần mềmchuyên dụng để quản lý hoạt động bán hàng của công ty Trong mỗi doanhnghiệp, khâu bán hàng lại là khâu quan trọng quyết định sự sống còn của công
ty vì tất cả mọi hoạt động của công ty đều hướng về mức lợi nhuận tối đa thuđược Phần mềm quản lý bán hàng được thiết kế nhằm thỏa mãn nhu cầu đó
1.3.4 Giải pháp tin học hóa quá trình bán hàng của công ty TNHH Sán
xuất & Thương mại Vạn Hoa
- Tầm quan trọng của việc tin học hóa quá trình bán hàng
+ Phát triển Hệ Thống Thông Tin là cung cấp cho các thành viên của tổchức doanh nghiệp những công cụ quản lý tốt nhất bao gồm: phân tích hệthống đang tồn tại, thiết kế một hệ thống mới, thực hiện tiến hành và cài đặt
+ Thực hiện một HTTT có liên quan tới việc xây dựng mô hình vật lýtrong của hệ thống mới và chuyển mô hình đó sang ngôn ngữ tin học
+ Cài đặt một hệ thống là tích hợp nó vào hoạt động của tổ chức
- Giải pháp
Hệ thống thông tin quản lý bán hàng sẽ tạo điều kiện tin học hóa hoàntoàn khâu bán hàng của công ty TNHH Sản xuất & Thương mại Vạn Hoa
Trang 15Các nghiệp vụ trong công tác bán hàng sẽ được thực hiện trên máy tính nhờ
sự trợ giúp của phần mềm quản lý bán hàng Từ khâu xử lý đơn đặt hàng đếnkhâu lập hóa đơn bán hàng, thống kê và báo cáo được thực hiện nhanh chóng,chính xác và thuận tiện
- Lợi ích thu được từ việc tin học hoá công tác bán hàng:
+ Về mặt tổ chức: cán bộ công nhân trong bộ phận quản lý bán hàng sẽ
có đuợc một môi trường năng động, hiện đại hơn tạo tâm lý thoải mái, chuyênnghiệp Tạo môi trường phát triển và ứng dụng công nghệ thông tin lâu dàitrong công ty
+ Về mặt kinh tế: Nâng cao năng suất và hiệu quả làm việc, tiết kiệmchi phí kinh doanh Hiệu quả trong việc sử dụng thông tin để trợ giúp cho quátrình ra quyết định một cách kịp thời, chính xác, thao tác nhanh gọn Hiệu quảkinh tế trong việc giảm thiểu hệ thống giấy tờ sổ sách lưu trữ thủ công, cồngkềnh, kém hiệu quả Quá trình xử lý đơn đặt hàng nhanh và chính xác hơn,giảm chi phí về nhân lực
Từ những vấn đề đã nêu trên em đã quyết định lựa chọn đề tài: “Xây dựng phần mềm quản lý bán hàng tại công ty TNHH Sản xuất & Thương mại Vạn Hoa” để thực hiện trong quá trình làm chuyên đề thực tập tốt nghiệp
này
Trang 16CHƯƠNG II PHƯƠNG PHÁP LUẬN CƠ BẢN LÀM CƠ SỞ CHO VIỆC
NGHIÊN CỨU ĐỀ TÀI
2 Tổng quan về phần mềm và quy trình xây dựng phần mềm
2.1 Phần mềm
2.1.1 Khái niệm phần mềm
Khi việc sử dụng máy tính đã phát triển đến mức độ cao, và việc sảnxuất phần mềm đã thực sự trở thành một lĩnh vực sản xuất kinh doanh trongnền kinh tế quốc dân thì người ta nói đến công nghiệp phần mềm Nói mộtcách tóm tắt, đây là nền công nghiệp sản xuất ra những sản phẩm đóng góithương mại hóa trên thị trường Với Việt Nam chúng ta, công nghệ phần mềm
là một trong những nền kinh tế mũi nhọn trong tiến trình phát triển kinh tế xãhội của đất nước
Trong công nghệ phần mềm, theo tiến sỹ tin học người Mỹ PresmanRoger thì “Phần mềm” là:
Trang 17thông tin trên màn hình, lưu trữ dữ liệu trên đĩa từ, in kết quả, liên lạc với cácthiết bị ngoại vi, phân tích và thực hiện các lệnh của người dùng Các chươngtrình thuộc phần mềm hệ thống giúp cho phần cứng của máy tính hoạt động
có hiệu quả Phần mềm hệ thống phục vụ đông đảo người dùng nên thườngđược các chuyên gia lập trình hệ thống biên soạn và bán trên thị trường Cácnhà lập trình hệ thống thường dùng ngôn ngữ cấp thấp để thu được những bảndịch với chất lượng cao, đảm bảo tiết kiệm thời gian và bộ nhớ của máy tính
- Phần mềm ứng dụng (Application Software): được chia thành bốn loại:Phần mềm năng suất, phần mềm kinh doanh, phần mềm giáo dục – thamkhảo, phần mềm giải trí Trong đó phần mềm kinh doanh gồm các chươngtrình giúp cho doanh nghiệp hoàn thành những nhiệm vụ xử lý thông tin cótính chất thủ tục lặp đi lặp lại hàng ngày, hàng tháng, hàng quý, hàng năm.Phần mềm kinh doanh khác với phần mềm năng suất ở chỗ nó nhấn mạnh vàonhững nhiệm vụ trên phạm vi toàn cơ quan như kế toán, quản lý nhân sự,quản lý vật tư, quản lý bán hàng…
2.1.3 Sự tiến hóa của phần mềm
Thời kỳ thứ nhất
1950-1960
Thời ký thứ hai1960-1970
Thời kỳ thứ ba1970-đầu 1990
Thời kỳ thứ tư1990-2000
- Thời gian thực
- Cơ sở dữ liệu
- Phần mềmthương mại
- Hệ thống phântán
- Phần mềmthông minh
- Phần cứng rẻ
- Hiệu quả tiêuthụ
- Hệ thống đểbàn
- Hướng đốitượng
- Hệ chuyên gia
- Mạng Nơtơron
- Xử lý songsong
Hình 2.1: Bảng biểu diễn sự tiến hóa của phần mềm
2.1.4 Vòng đời phát triển của phần mềm
Trang 18Trong công nghệ phần mềm người ta tiến hành mô hình hóa quá trìnhphát sinh, phát triển của một phần mềm và được gọi là mô hình thác nước,biểu diễn vòng đời phát triển của một phần mềm Việc mô hình hóa cho phépcác kỹ sư phần mềm hiểu rõ từng công đoạn và trên cơ sở đó đưa ra các giảipháp để bổ sung và phát triển một công đoạn nào đó.Mô hình thác nước biểudiễn vòng đời phần mềm:
Hình 2.2: Vòng đời phát triển của phần mềm
Trang 19Phần mềm là một bộ phận của một hệ thống quản lý nói chung, 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ớicác thành phần khác của hệ thống quản lý như phần cứng, cơ sở dữ liệu, vànhân tố con người.
Phân tích yêu cầu phần mềm:
Kỹ sư phần mềm tiến hành phân tích các chức năng cần có của phầnmềm và các giao diện của nó dựa trên quá trình tìm hiểu và đặc tả yêu cầu củakhách hàng
Thiết kế:
Thiết kế phần mềm là một tiến trình nhiều bước tập trung vào bốnthuộc tính phân biệt của chương trình là: cấu trúc dữ liệu, kiến trúc phầnmềm, các thủ tục, các đặc trư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ần mềm
Mã hóa:
Thiết kế phải được dịch thành ngôn ngữ máy mà máy tính hiểu được,
do đó bước mã hóa thực hiện công việc này
Trang 202.2.1 Khái niệm công nghệ phần mềm
Công nghệ phần mềm (Software Technology) là một tổng thể bao gồm
ba yếu tố chủ chốt – Phương pháp, Công cụ và Thủ tục – 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 kỹ sưphần mềm một nền tảng để xây dựng một phần mềm chất lượng cao
Các phương pháp của công nghệ phần mềm đưa ra cách làm về mặt kỹthuật để xây dựng phần mềm Nội dung của các phương pháp bao gồm: Lập
kế hoạch và ước lượng dự án phần mềm, Phân tích yêu cầu hệ thống và phầnmềm, Thiết kế cấu trúc dữ liệu, Thiết kế chương trình và các thủ tục, mã hóa
và bảo trì
Các công cụ của công nghệ phần mềm cung cấp sự hỗ trợ tự động haybán tự động cho các phương pháp Tiêu biểu là Công nghệ phần mềm có máytính hỗ trợ CASE
Các thủ tục của Công nghệ phần mềm là chất keo dán phương pháp vàcông cụ lại với nhau
Trang 212.2.2 Quy trình của công nghệ phần mềm
Mục đích: Qui trình thiết kế phần mềm được áp dụng cho các côngviệc: xây dựng đặc tả yêu cầu đối với phần mềm; xây dựng 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ông cụ cài đặt
Dấu hiệu: Các hoạt động và tài liệu sau đặc trưng cho quá trình thiết kế:Tài liệu đặc tả yêu cầu phần mềm; tài liệu kiến trúc hệ thống, tài liệu thiết kế
dữ liệu, tài liệu thiết kế chương trình, tài liệu thiết kế giao diện, và xem xétcác tài liệu thiết kế này
Lưu đồ quy trình của công nghệ phần mềm:
Trang 22Hình 2.3: Quy trình của công nghệ phần mềm
Thiết kế mức cao
Thiết kế chi tiết
Thông qua kết quả TK
Kết thúc C
C K
K
Trang 232.2.3 Làm bản mẫu phần mềm
Trong công nghệ phần mềm làm bản mẫu là một công đoạn cực kỳquan trọng bởi vì khi khách hàng đến ký kết hợp đồng họ mới chỉ bày tỏnguyện vọng của mình về phần mềm tương lai, bản thân các kỹ sư lập trìnhcũng chưa thể hình dung ra hết toàn bộ những đặc trưng cơ bản của phầnmềm mà mình sẽ sản xuất Do đó, cũng như trong sản xuất công nghiệp, khiđưa ra một sản phẩm mới, các công ty phần mềm đều tiến hành làm bản mẫuphần mềm Nói một cách tổng quát, bản mẫu có thể coi là mô hình của phầnmềm nhưng chỉ bao gồm những đặc trưng cơ bản nhất mà thôi
Bản mẫu trong công nghệ phần mềm có thể làm dưới ba dạng: Biểudiễn trên giấy; một phần mềm thu gọn với những đặc trưng tiêu biểu nhất;một sản phẩm tương đối hoàn chỉnh
Trên cơ sở bản mẫu, khách hàng sẽ tiến hành đánh giá, rồi đặt ra cácyêu cầu bổ sung và sau khi đã thống nhất với bản mẫu được lựa chọn sẽ tiếnhành ký kết sản xuất phần mềm
Dưới góc độ nghề nghiệp, yêu cầu cán bộ của qui trình làm bản mẫu làkhách hàng chỉ quan tâm đến những cái “nhìn thấy được” của phần mềm, do
đó các kỹ sư lập trình phải cố gắng tạo ra một bản mẫu có sức thu hút, dễ sửdụng để có thể chuyển dang bước ký kết hợp đồng sản xuất phần mềm Căn
cứ vào từng đối tượng và mức độ hiểu biết của họ mà kỹ sư phần mềm có thểchọn một trong ba dạng bản mẫu ở trên
Quy trình làm bản mẫu phần mềm có thể được biểu diễn trong hình vẽ sau:
Trang 24Hình 2.4: Quy trình làm bản mẫu phần mềm
Qui trình này gồm 6 bước:
Bước 1: Gặp gỡ khách hàng để xác định yêu cầu của họ, thông thường khách
hàng thường bày tỏ nguyện vọng chứ không xác định một cách chính xác cácchức năng, nhiệm vụ cụ thể mà phần mềm cần có Vì vậy, cán bộ triển khai
dự án và ký kết hợp đồng sẽ phải tìm hiểu khách hàng và vạch ra các yêu cầucủa họ càng chi tiết càng tốt về sản phẩm phần mềm sẽ được xây dựng
Trước khi tiến hành bước hai, một công đoạn vô cùng quan trọng làkhảo sát thực tế (đây cũng nằm trong bước một, xác định yêu cầu của kháchhàng) Qua quá trình khảo sát thực tế, đặc tả yêu cầu được hình thành và tiếptục các kỹ sư phần mềm sẽ chuyển sang bước hai
Bước 2: Tiến hành thiết kế nhanh phần mềm biểu diễn bằng một trong ba hình
thức nêu ở trên
Sản phẩm Xác định
yêu cầu
Làm mịn bản mẫu Thiết
kế nhanh
Khách hàng Xây dựng đánh giá bản mẫu
Bắt đầu Kết thúc
Trang 25Bước 3: Xây dựng bản mẫu phần mềm với một yêu cầu cơ bản đầu tiên là có
sức thuyết phục đối với khách hàng mà chưa chú ý nhiều lắm đến góc độ kỹthuật và công nghệ
Bước 4: Khách hàng trực tiếp đánh giá bản mẫu và tiếp tục nêu ra các bổ sung
và hoàn thiện, chỉ sau khi khách hàng chấp nhận bản mẫu và ký kết hợp đồngthì mới chuyển sang bước năm
Bước 5: Làm mịn bản mẫu
Bước 6: Sau khi đã làm mịn bản mẫu, chúng ta có phần mềm ở phiên bản đầu
tiên version 1.0 Đây chưa hẳn là một phần mềm đã được thương mại hóa trênthị trường mà mới chỉ là hạt nhân để tiếp tục hoàn thiện thành một phần mềmvới đầy đủ các tính năng đã được vạch ra
2.3 Thiết kế phần mềm
2.3.1 Vai trò của thiết kế phần mềm
Thiết kế phần mềm nằm ở trung tâm kỹ thuật của tiến trình kỹ nghệphần mềm Một khi các yêu cầu phần mềm đã được phân tích và đặc tả thìthiết kế phần mềm là một trong ba hoạt động kỹ thuật: thiết kế, lập trình vàkiểm thử, những hoạt động cần để xây dựng và kiểm chứng phần mềm Từnghoạt động này biến đổi thông tin theo cách cuối cùng tạo ra phần mềm máytính hợp lệ
Trang 26Hình 2.5: Quy trình thiết kế phần mềm
Thiết kế, lập trình và kiểm thử chiếm đến 75% hay hơn 75% tổng chiphí kỹ nghệ phần mềm Chính tại bước này mà chúng ta quyết định sự thànhcông của một phần mềm, sự cài đặt nó, và điều quan trọng là làm dễ dàng choviệc bảo trì phần mềm Những quyết định này được thực hiện trong thiết kếphần mềm, làm cho nó thành bước thử nghiệm trong giai đoạn phát triển.Tầm quan trọng của thiết kế phần mềm có thể được phát biểu bằng một từ
“chất lượng” Thiết kế là nơi chất lượng được nuôi dưỡng trong việc pháttriển phần mềm Thiết kế cung cấp cho ta cách biễu diễn phần mềm có thểđược xác nhận về chất lượng Thiết kế là cách duy nhất mà chúng ta có thểdịch một cách chính xác các yêu cầu của khách hàng thành sản phẩm hay hệ
Mô hình chức năng
Mô hình thông tin
Thiết kế
Lập trình
Kiểm thử
chương trình
Phần mềm đã tích hợp và kiểm thử
Trang 27thống phần mềm cuối cùng Không có thiết kế, ta có nguy cơ dựng nên một
hệ thống không ổn định – một hệ thống sẽ thất bại khi có một thay đổi nhỏ,một hệ thống có thể khó mà thử được, một hệ thống mà người ta không thểxác định chất lượng chừng nào chưa đến cuối tiến trình kiểm thử
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 công nghệ phần mềm
Hình 2.6: Công nghệ phần mềm có và không có giai đoạn thiết kế
Có thiết kế
Cài đặt Kiểm thử Bảo trì
Không có thiết kế
Trang 28Thiết kế chi tiết tập trung vào việc làm mịn biểu diễn kiến trúc để dẫn tới cấutrúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mềm.
Trong phạm vi thiết kế sơ bộ và chi tiết, có xuất hiện một số hoạt độngthiết kế khác nhau Bên cạnh việc thiết kế dữ liệu, kiến trúc và thủ tục, nhiềuứng dụng hiện đại còn có hoạt động thiết kế giao diện phân biệt Thiết kế giaodiện lập ra cách bố trí và cơ chế tương tác giữa người – máy Mối quan hệgiữa các khía cạnh kỹ thuật và quản lý của thiết kế được minh họa trong hìnhdưới đây:
Hình 2.7: Mối quan hệ giữa các khía cạnh kỹ thuật và quản lý của thiết kế
2.3.3 Các phương pháp thiết kế phần mềm
Phương pháp 1: Thiết kế từ đỉnh xuống (Top Down Design)
Đây là phương pháp thiết kế giải thuật dựa trên tư tưởng module hóa.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 đượctoàn bộ bài toán Sau đó phân chia nhiệm vụ cần giải quyết thành 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
Thiết kế dữ liệu Thiết kế kiến trúc Thiết kế thủ tục Thiết kế giao diện
Thiết kế sơ bộ
Thiết kế chi tiết
Trang 29xuống dưới, do vậy phương pháp này còn được gọi là phương pháp thiết kế
“từ đỉnh xuống”
Phương pháp 2: Thiết kế từ dưới lên (Bottom Up Design)
Tư tưởng của phương pháp thiết kế này ngược lại với phương pháp trên
và bao gồm những ý chính sau: trước hết, người ta tiến hành giải quyết cácvấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ tương tự về chức năng củacác vấn đề trong việc giải quyết bài toán mà người ta gộp lại thành từng nhómcùng chức năng từ dưới lên trên cho đến module chính Sau đó sẽ thiết kếthêm một số module làm phong phú và đầy đủ hơn các chức năng của phầnmềm, cuối cùng là thiết kế một chương trình làm nhiệm vụ tập hợp cácmodule thành một hệ chương trình thống nhất và hoàn chỉnh (Phần mềmquản lý bán hàng tại công ty TNHH Sản xuất & Thương mại Vạn Hoa cũngđược thiết kế dựa trên phương pháp này)
2.3.4 Quy trình thiết kế phần mềm
Mục đích: Qui trình thiết kế phần mềm được áp dụng cho các côngviệc: xây dựng đặc tả yêu cầu đối với phần mềm; xây dựng 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ông cụ cài đặt
Dấu hiệu: Các hoạt động và tài liệu sau đặc trưng cho quá trình thiết kế:Tài liệu đặc tả yêu cầu phần mềm; tài liệu kiến trúc hệ thống, tài liệu thiết kế
dữ liệu, tài liệu thiết kế chương trình, tài liệu thiết kế giao diện, và xem xétcác tài liệu thiết kế này
Trang 30Lưu đồ:
Hình 2.8: Lưu đồ quy trình thiết kế phần mềm
Thiết kế mức cao
Thiết kế chi tiết
Thông qua kết quả TK
Kết thúc C
C K
K
Trang 31Dưới đây ta xem xét thiết kế dưới gốc độ kỹ thuật:
2.3.4.1 Thiết kế kiến trúc
Kiến trúc phần mềm ám chỉ hai đặc trưng quan trọng của chương trìnhmáy tính: (1) cấu trúc cấp bậc của các thành phần thủ tục hay module; (2) cấutrúc dữ liệu Kiến trúc phần mềm được suy dần ra qua tiến trình phân hoạchđặt mối quan hệ giữa các phần tử của giải pháp phần mềm với các bộ phậncủa vấn đề thế giới thực được xác định không tường minh trong phân tích yêucầu Tiến hóa của một phần mềm và cấu trúc dữ liệu bắt đầu với một xác định
về vấn đề Giải pháp xuất hiện khi từng phần của vấn đề được giải quyết bờimột hay nhiều phần tử dữ liệu Với mỗi bài toán thực tế, người ta có thể đưa
ra các kiến trúc khác nhau Về bản chất, các bài toán thực thế thông thườngkhông có cấu trúc hay gọi là phi cấu trúc Khi đó nhiệm vụ của cán bộ thiết kế
là biến những vấn đề phi cấu trúc này thành một vấn đề có cấu trúc chặt chẽ
và hoàn chỉnh
Mối quan hệ giữa vấn đề P (Problem) và giải pháp phần mềm S(Solution) có thể được biểu diễn dưới đây:
Trang 32“Vấn đề” cần giải
quyết qua phần mềm ”Giả!i pháp” phần mềm
Hình 2.9: Mối quan hệ giữa vấn đề (P) và giải pháp (S) phần mềm
Qua hình vẽ trên, ta thấy rằng việc chuyển đổi từ P sang S hoàn toàncăn cứ vào kỹ thuật của các cán bộ thiết kế có nghĩa là: với một vấn đề nhưnhau nhưng với các cán bộ thiết kế khác nhau sẽ cho ra các kiến trúc khácnhau, thậm chí cùng một cán bộ thiết kế nhưng với giác độ tiếp cận khác nhaucũng có thể có những kiến trúc khác nhau Yêu cầu quan trọng nhất khi xâydựng kiến trúc phần mềm là phải đảm bảo hai tiêu chuẩn: phần mềm khôngquá phức tạp; và đảm bảo các mức độ hiệu quả cao của phần mềm
2.3.4.2 Thiết kế dữ liệu
Một nhiệm vụ quan trọng của công tác quản lý là quản lý dữ liệu, tức lànhững số liệu và tài liệu thu thập được Dữ liệu được coi là nguyên liệu để
Trang 33chế biến thành thông tin dưới dạng tiện dùng và có ích cho việc ban hành cácquyết định Ngày nay, ngân hàng dữ liệu hay cơ sở dữ liệu lưu trữ trên cácthiết bị nhớ được đặc biệt quan tâm Do đó mối quan tâm hàng đầu của cáccán bộ thiết kế hệ thống thông tin quản lý là thiết kế ngân hàng dữ liệu nhằmlưu trữ và quản lý tập trung dữ liệu trên các phương tiện nhớ của máy tínhđiện tử để phục vụ cho nhiều người và nhiều mục đích khác nhau Ngân hàng
dữ liệu được coi là một phần quan trọng trong “bộ nhớ” của mỗi cơ quan hiệnđại Yêu cầu đặt ra đối với việc thiết kế ngân hàng dữ liệu là làm thế nào giảmthiểu được sự trùng lặp và dư thừa dữ liệu, tăng cường khả năng chia sẻ dữliệu đồng thời có thể bảo mật dữ liệu Muốn đạt được yêu cầu đó thì phải kếthợp các kỹ thuật thiết kế cơ sở dữ liệu hiện đại với các thành tựu của côngnghệ thông tin
Thiết kế cơ sở dữ liệu (CSDL) phải trải qua các bước sau:
Bước 1: Phân tích yêu cầu
Đây là bước đầu tiên và khó khăn nhất Cán bộ thiết kế phải tìm hiểu,xem xét việc xử lý dữ liệu hiện tại của đơn vị khách hàng, cũng như những dữliệu hiện có và mong muốn có để có cái nhìn tổng quan nhất về việc thiết kếCSDL
Bước 2: Nhận dạng những thực thể
Sau khi tìm hiểu việc xử lý dữ liệu, cán bộ thiết kế phải tiến hành nhậndạng các thực thể (Entities) sẽ làm việc Ví dụ trong hệ thống QLBH, ta cóthể có những thực thể như: Danh mục khách hàng, danh mục nhân viên, danhmục kho, danh mục hàng hóa…
Bước 3: Nhận diện các mối quan hệ giữa các thực thể
Sau khi xác định các thực thể, cán bộ thiết kế phải xem xét và tìm hiểucác mối quan hệ tương tác giữa các thực thể, ví dụ như mối quan hệ 1-1, hay1-n, n-n
Trang 34Bước 4: Xác định các mục khóa chính
Với mỗi bảng dữ liệu cần xác định một khóa nhằm xác định sự duynhất của bảng dữ liệu này Nguyên tắc trong thiết kế CSDL là không có bảnghi trùng nhau, nên mới bảng dữ liệu có duy nhất một khóa chính Trongtrường hợp cần xác định mối tương tác giữa các bảng dữ liệu, còn cần xácđịnh thêm các khóa ngoại lai làm cơ sở liên kết
Bước 5: Thêm các trường dữ liệu vào bảng
Sau khi đã xác định khóa chính cho mỗi bảng dữ liệu, cán bộ thiết kếcòn cần xác định tất cả các trường liên quan có thể của thực thể mà mình đangnghiên cứu Các trường này là những thông tin chi tiết, bổ sung và hoàn thiệnhơn cho một thực thể
Bước 6: Chuẩn hóa các bảng dữ liệu
Công việc này nhằm loại bỏ sự trùng lắp, và giữ cho các dữ liệu cóquan hệ với nhau không bị mất thông tin
Bước 7: Khai báo thông số của mỗi trường dữ liệu
Đây là bước cuối cùng của công việc thiết kế CSDL Trong bước nàyphải xác định kiểu dữ liệu thích hợp cho mỗi trường dữ liệu và phạm vi daođộng của các trường nhằm xác định độ rộng của từng trường
2.3.4.3 Thiết kế thủ tục
Đây chính là công đoạn xác định các module cần có của chương trình
để đảm bảo thõa mãn những yêu cầu của khách hàng Mục này sẽ trình bày rõhơn ở phần sau
2.3.4.4 Thiết kế giao diện
Đây là bước thiết kế cuối cùng dưới giác độ kỹ thuật Quá trình thiết kếgiao diện phải bắt đầu với việc tạo ra các mô hình khác nhau về chức năng hệthống Trước hết phải phác họa các nhiệm vụ hướng con người và máy tìnhcần để đạt tới các chức năng hệ thống, xem xét vấn đề thiết kế áp dụng cho
Trang 35mọi thiết kế giao diện, rồi sử dụng các công cụ làm bản mẫu và cuối cùng làcài đặt cho mô hình thiết kế.
Có bốn mô hình khác nhau khi thiết kế giao diện:
Mô hình thiết kế: Mô hình này là tổng hợp các biểu diễn dữ liệu, kiếntrúc và các thủ tục của phần mềm Đặc tả các yêu cầu có thể có thiết lập nênmột số ràng buộc giúp cho việc định nghĩa người dùng của hệ thống Tuynhiên, thiết kế giao diện thường chỉ ngẫu nhiên là mô hình thiết kế
Mô hình người dùng: Mô hình người dùng mô tả sơ lược cho ngườidùng cuối cùng của hệ thống Để có một giao diện người dùng có hiệu quả,mọi thiết kế nên bắt đầu với sự hiểu biết về người dùng dự định như đốitượng, giới tính, độ tuổi, đặc trưng nghề nghiệp,…
Mô hình cảm nhận hệ thống: cảm nhận hệ thống là hình ảnh về hệthống mà người dùng mang trong đầu Mô hình này sẽ rất có lợi cho nhữngngười đã hiểu biết về hệ thống nhưng lại rất khó khăn với những người mới
Mô hình hình ảnh hệ thống: hình ảnh hệ thống là tổ hợp những biểuhiện bên ngoài của hệ thống dựa trên máy tính, (nhìn và cảm nhận giao diện)với mọi thông tin hỗ trợ (sách, tài liệu, băng video,…) mô tả các cú pháp vàngữ nghĩa của hệ thống
Khi hình ảnh hệ thống và cảm nhận hệ thống trùng nhau thì người dùng
sẽ thấy rất thoải mái với phần mềm và dùng nó một cách hiệu quả Nói chung
để thực hiện được điều này, thì mô hình thiết kế phải được xây dựng phù hợpvới thông tin được chứa trong mô hình người dùng và hình ảnh hệ thống phảiphản ánh chính xác thông tin về ngữ nghĩa giao diện
Thiết kế giao diện phải đảm bảo những qui tắc sau:
- Dùng định dạng nhất quán cho việc chọn thực đơn và hiện thị dữ liệu
- Dùng các động từ đơn giản hay cụm từ ngắn để đặt tên chỉ các lệnh
Trang 36- Phải cung cấp cho người dùng những thông tin phản hồi nhằm thiết lậpthông tin hai chiều
- Yêu cầu kiểm tra mọi hành động phá hủy không tầm thường Ví dụ,xóa dữ liệu thì nên đưa ra thông báo “Có chắc chắn xóa không?”
- Cho phép dễ dàng lần ngược nhiều hành động (undo, reverse…)
- Giảm tối thiểu số hành động bắt người dùng thực hiện
- Giảm tối thiểu thông tin phải ghi nhớ giữa các hành động
- Chỉ hiện thị thông tin liên quan đến ngữ cảnh hiện tại, và thông tinđược hiện thị phải nhất quán
- Để cho người dùng kiểm soát tương tác
- Cung cấp trợ giúp cho mọi hoạt động đưa vào
2.3.5 Lập trình
Sau khi hoàn tất các thiết kế sẽ tiến hành lập trình Đây là quá trình sửdụng ngôn ngữ lập trình để mã hóa thiết kế chi tiết thành những lệnh mà máytính hiểu được Lập trình là giai đoạn cốt lõi của tiến trình thiết kế một phầnmềm ứng dụng Chương trình được lập phải dễ hiểu, nhấn mạnh vào các tínhtoán đơn giản và rõ ràng
Thực hiện lập trình bao gồm các bước:
- Xác định tài liệu chương trình gốc: tài liệu bên trong của chương trìnhgốc bắt đầu bằng việc lựa chọn các tên định danh (biến và nhãn), các chúthích, và cách thức tổ chức trực quan của chương trình Tên gọi định danh này
là những tài liệu cốt lõi của chương trình giúp hiểu sau cả ngữ nghĩa bêntrong của chương trình, nhằm dễ dàng code lại
- Khai báo dữ liệu: nên khai báo đơn giản, dễ hiểu để tiện cho việc bảotrì sau này
Trang 37- Xây dựng các câu lệnh: xây dựng các câu lệnh phải tuân theo một quytắc là mỗi câu lệnh nên đơn giản và trực tiếp, xây dựng các câu lệnh đơn vàtụt lề để minh họa cho các đặc trưng lôgic và chức năng của từng đoạn mã.
2.3.6 Test phần mềm
Mục đích chính của kiểm thử là phát hiện ra những khiếm khuyết củaphần mềm Kiểm thử phần mềm giai đoạn rất quan trọng đảm bảo chất lượngphần mềm và biểu thị cho việc xét duyệt các đặc tả, thiết kế và mã hóa Tínhminh bạch ngày càng tăng của phần mềm như một phần tử hệ thống và nhữngchi phí kèm theo liên quan đến những sai hỏng của phần mềm là những lựclượng cho việc kiểm thử toàn vẹn Kiểm thử được tiến hành sẽ tìm những lỗitrong phần mềm Dữ liệu có được trong quá trình kiểm thử sẽ là những chỉdẫn tốt về độ tin cậy phần mềm và chất lượng của phần mềm Kiểm thử đượcthực hiện và những kết quả của nó sẽ đánh giá Kết quả của kiểm thử sẽ được
so sánh với kết quả dự kiến, khi lỗi được phát hiện ra việc sửa lỗi sẽ được bắtđầu Một lỗi nhỏ cũng có thể mất một giờ hoặc hàng tháng để sửa chữa
Quá trình test được áp dụng cho các công việc test hệ thống ứng dụngtheo đặc tả yêu cầu của phần mềm, test nghiệm thu hệ thống theo tiêu chuẩnnghiệm thu test kiểm tra cuối cùng của khách hàng, test quy trình cài đặt hệthống và các tài liệu bàn giao cho khách hàng
Có hai loại kỹ thuật kiểm thử: kiểm thử hộp đen, và kiểm thử hộp trắng
- Kiểm thử hộp đen: là kỹ thuật kiểm thử xem từng chức năng có đượcvận hành hoàn toàn không? Việc kiểm thử hộp đen chỉ được tiến hành tại giaodiện phần mềm Kiểm thử hộp đen tập trung vào các chức năng của phầnmềm Tức là, việc kiểm thử hộp đen giúp người lập trình suy ra được tập cácđiều kiện vào sẽ diễn ra qua tất cả các yêu cầu chức năng của hệ thống Việckiểm thử hộp đen dự định tìm lỗi trong các phạm vi sau đây:
o Các chức năng không đúng hay bị bỏ sót
Trang 38o Lỗi giao diện
o Lỗi trong cấu trúc dữ liệu hay thâm nhập dữ liệu ngoài
o Lỗi hiệu năng
o Lỗi khởi đầu và kết thúc
Phép kiểm thử hộp đen chỉ xem xét một khía cạnh của hệ thống mà khôngxem xét tới cấu trúc lôgic bên trong của phần mềm Do đó, việc kiểm thử hộpđen dù có kỹ lưỡng đến đâu cũng vẫn có thể bỏ lỡ những lỗi Và để giải quyếtvấn đề này thì cần dùng kỹ thuật kiểm thử hộp trắng
- Kiểm thử hộp trắng: là phương pháp kiểm thử có dùng cấu trúc điềukhiển của thiết kế thủ tục để suy ra các trường hợp kiểm thử Kiểm thử hộptrắng tập trung vào cấu trúc điều khiển chương trình Các trường hợp kiểmthử đều đảm bảo rằng tất cả các câu lệnh trong chương trình đều được thựchiện ít nhất một lần, tất cả các điều kiện lôgic đểu được thử qua
2.3.7 Triển khai phần mềm
Sau khi kiểm thử phần mềm không còn lỗi thì sẽ tiến hành triển khaiphần mềm Triển khai là việc đưa phần mềm được tạo ra bởi các công ty phầnmềm đến tay người sử dụng
Ngôn ngữ thế hệ hai được phát triển từ cuối những năm 1950 và đầunhững năm 1960 Các ngôn ngữ thế hệ hai được đặc trưng bởi việc sử dụng
Trang 39một thư viện các chương trình phần mềm rất lớn được sử dụng rộng rãi trongrất nhiều lĩnh vực khác nhau.
FORTRAN là ngôn ngữ thế hệ hai được áp dụng rất phổ biến trongviệc giải quyết các bài toán khoa học và kỹ thuật Bản chuẩn hóa gốc củaFORTRAN được gọi là FORTRAN-66, là một công cụ rất mạnh để giải quyếtcác bài toán tính toán nhưng tương đối nghèo về các kiểu cấu trúc dữ liệu tiềnđịnh, cũng như việc không dễ dàng xử lý xâu ký tự Bản chuẩn ANSI mới, gọi
là FORTRAN-77 đã khắc phục một số khuyết điểm của FORTRAN-66
COBOL là ngôn ngữ lập trình thế hệ hai dược ứng dụng rất rộng rãitrong các lĩnh vực thương mại và xử lý dữ liệu kinh tế COBOL có khả năngđịnh nghĩa dữ liệu một cách gọn gàng, chính xác
BASIC là ngôn ngữ lập trình phi cấu trúc Khi xuất hiện máy tính cánhân IBM PC, ngôn ngữ lập trình BASIC lại được phát triển mạnh với rấtnhiều bản khác nhau như QBASIC, GWBASIC, BASICA…
Ngôn ngữ thế hệ thứ ba
Ngôn ngữ lập trình thế hệ thứ ba còn được gọi là ngôn ngữ lập trìnhhiện đại Nét đặc trưng của các ngôn ngữ này là khả năng cấu trúc rất phongphú và các thủ tục mạnh Các ngôn ngữ thế hệ thứ ba có thể chia thành 3nhóm:
- Ngôn ngữ cấp cao vạn năng
- Ngôn ngữ cấp cao hướng sự vật
- Ngôn ngữ chuyên dụng
Ngôn ngữ cấp cao vạn năng
ALGOL là ngôn ngữ lập trình vạn năng rất phát triển với việc đưa racác kết cấu thủ tục và định kiểu dữ liệu ALGOL rất thông dụng ở châu Âunhưng lại không được phổ biến rộng rãi ở Mỹ Phiên bản được sử dụng rộngrãi nhất của ALGOL được gọi là ALGOL-60 và sau đó được phát triển với
Trang 40một sự cài đặt mạnh hơn trong ALGOL-68 Đặc trưng của ALGOL-60 vàALGOL-68 là đưa vào khái niệm cấu trúc khối và cấp phát bộ nhớ động, giảithuật đệ quy.
Trên cơ sở của ALGOL người ta sáng tạo ra các ngôn ngữ lâp trình vạnnăng khác như PL/1, PASCAL, MODULA-2, C và ADA có rất nhiều ứngdụng trong khoa học cũng như trong kinh tế và thương mại
PL/1 có thể coi như ngôn ngữ thế hệ 2.5, được thiết kế với một phạm virất rộng các tính năng, có thể ứng dụng trong nhiều lĩnh vực khác nhau PL/1cung cấp các ứng dụng trong khoa học, kỹ thuật cũng như trong kinh tế vàthương mại Đồng thời PL/1 cho phép làm việc với các cấu trúc dữ liệu phứctạp, đa nhiệm, input/output phong phú cũng như khả năng xử lý danh sách vàcác tính năng khác Đã có các tập con của PL/1 để lập trình PL/C dùng chocác bộ vi xử lý PL/M và lập trình hệ thống PL/S
PASCAL được phát triển từ những năm 1970 là ngôn ngữ lập trình cócấu trúc tiền định rất phong phú PASCAL kế thừa từ ALGOL nhiều đặctrưng như cấu trúc khối, định kiểu dữ liệu, hỗ trợ đệ quy
MUDULA-2 là sự phát triển của PASCAL với việc phát huy các tínhnăng thông dụng của ngôn ngữ này
Ngôn ngữ lập trình C, lúc đầu được phát triển như một ngôn ngữ chongười cài đặt hệ điều hành Hệ điều hành UNIX được cài đặt trong C Đếnnay, C là ngôn ngữ lập trình rất phát triển Một số lượng lớn các sản phẩmphần mềm đã được thiết kế trong C như các ứng dụng nhúng, các phần mềm
hệ thống, các kỹ nghệ phần mềm phức tạp chứa các tính năng mạnh làm cho
nó trở nên mềm dẻo đáng kể Ngoài ra, C có sự hỗ trợ cho các cấu trúc dữ liệuphức tạp và có các đặc trưng định kiểu hợp lý, cho phép dùng nhiều con trỏ
và có một tập hợp phong phú các lệnh tính toán và xử lý dữ liệu Hơn thế nữa,