Đề tài sử dụng các phương pháp nghiên cứu sau:- Phương pháp thu thập thông tin: Thu thập các thông tin của công ty bằng các phương pháp phỏng vấn, điều tra, ghi chép, quan sát và hỏi ý k
Trang 1LỜI CAM ĐOAN
Em xin cam đoan đây là công trình nghiên cứu của em Các số liệu, kếtquả trong đồ án tốt nghiệp của em là trung thực xuất phát từ tình hình thực tếcủa đơn vị em thực tập
Hà Nội, ngày tháng năm 2016
Tác giả Phạm Thị Hải Yến
Trang 2thời gian qua Thầy đã chỉ bảo và cung cấp cho em những kiến thức quý báu
để em hoàn thành chuyên đề này
Em xin gửi lời cảm ơn đến thầy, cô giáo tại Học Viện Tài Chính, những
người đã cho em kiến thức cơ bản nhất, cũng như những bài học hữu ích
trong cuộc sống Em xin chân thành cảm ơn các thầy cô giáo khoa Hệ thống thông tin kinh tế đã có những bài giảng bổ ích với sự giảng dạy nhiệt tình
trong suốt thời gian em theo học tại trường, để em có thể vận dụng tốt kiếnthức chuyên môn hoàn thành tốt đồ án tốt nghiệp
Thực hiện đề tài này em còn nhận được sự giúp đỡ tận tình của các anhcác chị, ở đơn vị thực tập, em chân thành cảm ơn ban lãnh đạo Công ty Cổphần iuEdu đã tạo mọi điều kiện giúp đỡ em trong suốt quá trình thực tập
Em xin cảm ơn gia đình, bạn bè và người thân luôn luôn động viên và hỗtrợ em trong suốt quá trình học tập
Tuy đã cố gắng hết mình, song không tránh khỏi những hạn chế nhấtđịnh, em mong muốn tiếp tục nhận được những ý kiến đóng góp của thầy cô
Trang 3DANH MỤC VIẾT TẮT CÁC TỪ SỬ DỤNG TRONG ĐỒ ÁN
Trang 4CHƯƠNG 1: LÝ LUẬN CHUNG VỀ XÂY DỰNG PHẦN MỀM KẾ TOÁN
VÀ CÔNG TÁC KẾ TOÁN BÁN HÀNG TRONG DOANH NGHIỆP 41.1 Lý luận chung về xây dựng phần mềm kế toán trong doanh nghiệp 41.1.1 Khái niệm, đặc điểm, yêu cầu của phần mềm kế toán 41.1.2 Các thành phần của phần mềm kế toán 101.1.3 Sự cần thiết phải phát triển phần mềm kế toán trong doanh nghiệp10
1.1.4 Quy trình xây dựng phần mềm kế toán 111.1.5 Các công cụ tin học sử dụng trong xây dựng phần mềm kế toán 291.2 Nhận thức chung về kế toán bán hàng trong doanh nghiệp 34
CHƯƠNG 2: KHẢO SÁT THỰC TRẠNG CÔNG TÁC KẾ TOÁN BÁN
Trang 52.1 Giới thiệu sơ lược về công ty cổ phần Iuedu 47
2.3.1 Về tổ chức bộ máy kế toán, cơ sở vật chất, con người 59
Trang 63.1.3 Mô hình nghiệp vụ của bài toán 68
3.1.5 Phân tích mô hình khái niệm – logic 74
3.3.4 Hệ thống giao diện tương tác của hệ thống 100
PHỤ LỤC
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1: Sơ đồ luân chuyển xử lý chứng từ hóa đơn thuế GTGT 42Hình 2.1: Tổ chức bộ máy quản lý của công ty 48Hình 2.2: Tổ chức bộ máy kế toán của công ty 51
Hình 3.4: Biểu đồ luồng dữ liệu mức 1 – Tiến trình “Bán hàng” 75Hình 3.5: Biểu đồ luồng dữ liệu mức 1 – Tiến trình “Xử lý hàng bán bị trả lại”
76Hình 3.6: Biểu đồ luồng dữ liệu mức 1 – Tiến trình “Ghi sổ” 77Hình 3.7: Biểu đồ luồng dữ liệu mức 1 – Tiến trình “Lập báo cáo” 78
Hình 3.10 Biểu đồ luồng dữ liệu “ Bán hàng " 97
Trang 8LỜI MỞ ĐẦU
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ củaCNTT CNTT đã ở một bước phát triển cao đó là số hóa tất cả các dữ liệuthông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau Mọiloại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về dạng kỹ thuật số
để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp cho nhiềungười Việc ứng dụng CNTT nhằm giảm thời gian xử lý dữ liệu, giảm sai sót,giảm chi phí cho các hoạt động tác nghiệp, tăng độ tin cậy, nhanh chóng,chính xác và lập báo cáo cho lãnh đạo, giúp cho việc quản lý, điều hànhdoanh nghiệp dễ dàng hơn Cũng nhờ đó mà giảm độ phức tạp và tăng tínhchuẩn hóa trong công việc Ứng dụng CNTT đã mang lại những hiệu quả tolớn như tăng năng suất lao động, gia tăng giá trị cho quy trình và sản phẩm,tăng khả năng cạnh tranh, tăng doanh thu, lợi nhuận giúp tổ chức, doanhnghiệp phát triển bền vững, phát huy tiềm lực và mở rộng quy mô
Trên nền kinh tế toàn cầu như hiện nay, CNTT đã trở thành một ngànhcông nghiệp mũi nhọn Nó là ngành khoa học kỹ thuật không thế thiếu trongviệc ứng dụng vào các hoạt động xã hội như quản lý, kinh tế… Hiện nay, ởnước ta vấn đề áp dụng tin học để xử lý thông tin trong công tác quản lý đãtrở thành nhu cầu bức thiết, các doanh nghiệp từng bước tin học hóa quản lýthông tin cho đơn vị mình Tuy nhiên trong thời gian qua, việc tin học hóachưa mang lại hiệu quả như mong muốn bởi vì các doanh nghiệp thường quantâm tới trang bị hệ thống máy tính hiện đại hơn là xây dựng các phần mềmquản lý cho mình
Trong quá trình thực tập tại Công ty Cổ phần iuEdu, hoạt động chính củacông ty là cung cấp các giải pháp giáo dục Cụ thể là kinh doanh các thiết bịhiện đại như bảng Up đa năng, máy chiếu, máy tính,thiết bị trắc nghiệm vớiphần mềm soạn thảo giáo án Air, hệ nội dung và tài nguyên giáo án nhằmđóng góp một phần vào tiến trình đổi mới và sự nghiệp phát triển giáo dục
Trang 9nước nhà, nhằm mang đến cho quý thầy cô và các em học sinh những sản
phẩm đạt chất lượng cáo nhât với phương châm “Đầu tư cho giáo dục, đầu tư cho tương lai" Vì vậy, với những kiến thức đã được học và quá trình nghiên
cứu tiếp thu em quyết định chọn đề tài: “Xây dựng phần mềm kế toán bán hàng tại Công ty Cổ phần iuEdu” nhằm xây dựng một phần mềm hỗ trợ cho
việc kinh doanh bán các sản phẩm nhanh chóng, chặt chẽ và có thể phát hiệnđược những sai sót mà kế toán thủ công có thể gặp phải
I Mục tiêu đề tài nghiên cứu
Mục tiêu chính của đề tài nghiên cứu hoàn thành là nhận được sự chấpthuận và sử dụng của người dùng trong quá trình quản lý và hạch toán trongcông ty Vì vậy, chương trình trước hết phải đáp ứng được những yêu cầu cơbản nhất là: đơn giản, đầy đủ các chức năng, dễ nhìn, thuận tiện cho việc sửdụng và cài đặt
Ngoài ra, từng cơ quan áp dụng sẽ có những đặc thù riêng tùy thuộc vàochế độ kế toán mà cơ quan đó thực hiện Mục tiêu của đề tài này là:
+ Hệ thống giải quyết được bài toán bán hàng thực tế
+ Hệ thống sẽ cung cấp cho người dùng đầy đủ các chức năng theo yêucầu của nghiệp vụ bán hàng
+ Hệ thống sẽ cung cấp thông tin về khách hàng, hàng hóa
II Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là kế toán bán hàng tại Công ty Cổ phầniuEdu
III Phạm vi nghiên cứu
Đề tài tiếp cận nghiên cứu công tác tổ chức kế toán, đặc biệt là kế toánbán hàng tại Công ty Cổ phần iuEdu, trên cơ sở đó sử dụng ngôn ngữ lập trìnhC# để thiết kế được một phần mềm kế toán bán hàng đáp ứng nhu cầu củaCông ty
IV Phương pháp nghiên cứu
Trang 10Đề tài sử dụng các phương pháp nghiên cứu sau:
- Phương pháp thu thập thông tin: Thu thập các thông tin của công ty
bằng các phương pháp phỏng vấn, điều tra, ghi chép, quan sát và hỏi ý kiếnchuyên gia;
- Phương pháp tập hợp: Tập hợp các chứng từ, sổ sách liên quan đến
công tác kế toán bán hàng;
- Phương pháp so sánh đối chiếu: So sánh giữa lý thuyết được học và
thực tế tại công ty;
- Phương pháp phân tích thiết kế: Từ các nghiệp vụ kế toán của công
ty, tiến hành phân tích và thiết kế để xây dựng phần mềm phù hợp Cácphương pháp phân tích: phân tích từ trên xuống, phân tích từ dưới lên, kếthợp phân tích từ trên xuống và từ dưới lên
Trang 11CHƯƠNG 1:
LÝ LUẬN CHUNG VỀ XÂY DỰNG PHẦN MỀM KẾ TOÁN
VÀ CÔNG TÁC KẾ TOÁN BÁN HÀNG TRONG DOANH
NGHIỆP
doanh nghiệp
1.1.1 Khái niệm, đặc điểm, yêu cầu của phần mềm kế toán
1.1.1.1 Khái niệm về phần mềm kế toán
Phần mềm kế toán là một trong 5 thành phần cơ bản của một hệ thốngthông tin kế toán Để tạo nên một hệ thống thông tin kế toán hoàn chỉnh, bêncạnh phần mềm kế toán còn có thêm 4 thành phần khác, đó là phần cứng, thủtục, dữ liệu và con người
Các thành phần của một hệ thống thông tin:
(1) Con người: là yếu tố quyết định trong hệ thống, thực hiện các thủ tục
để biến đổi dữ liệu nhằm tạo ra thông tin
(2) Phần cứng (Máy tính điện tử): là một thiết bị điện tử có khả năng tổ
chức và lưu trữ thông tin với khối lượng lớn, xử lý dữ liệu tự động với tốc độnhanh, chính xác thành các thông tin có ích cho người dùng
(3) Chương trình: gồm một tập hợp các lệnh được viết bằng ngôn ngữ
mà máy hiểu được để thông báo cho máy biết phải thực hiện các thao tác cầnthiết theo thuật toán đã chỉ ra
(4) Dữ liệu: bao gồm toàn bộ các số liệu, các thông tin phục vụ cho việc
xử lý trong hệ thống, trợ giúp các quyết định cho nhà quản lý
(5) Thủ tục: là những chỉ dẫn của con người.
Phần mềm kế toán: Là hệ thống các chương trình máy tính dùng để tự
động xử lý thông tin kế toán trên máy vi tính, được ứng dụng trong việc ghi
Trang 12chép và xử lý các giao dịch kế toán, bắt đầu từ khâu lập chứng từ gốc, phânloại chứng từ, ghi chép sổ sách, xử lý thông tin trên chứng từ, sổ sách theoquy trình của chế độ kế toán đến khâu in ra sổ kế toán và báo cáo tài chính,báo cáo quản trị và các báo cáo thống kê phân tích tài chính khác.
1.1.1.2 Đặc điểm của phần mềm kế toán
- Phần mềm kế toán có tính chất tuân thủ:
+ Phần mềm kế toán phải tuân thủ luật kế toán, chuẩn mực kế toán, chế
độ kế toán, nghị định và thông tư hướng dẫn về kế toán
+ Phần mềm kế toán phải tuân thủ quy định của doanh nghiệp
+ Phần mềm kế toán phải phù hợp với tính chất hoạt động và yêu cầuquản lý của doanh nghiệp
+ Các báo cáo tuân theo mẫu của doanh nghiệp là các báo cáo quản trị
- Sử dụng các phương pháp kế toán:
+ Phương pháp chứng từ kế toán: là phương pháp kế toán được sử dụng
để phản ánh, kiểm tra các nghiêp vụ kinh tế tài chính phát sinh và thực sựhoàn thành theo thời gian, địa điểm phát sinh nghiệp vụ đó phục vụ công tác
kế toán và công tác quản lý
+ Phương pháp tính giá: là phương pháp kế toán sử dụng thước đo tiền
tệ để xác định giá trị của các đối tượng kế toán phục vụ quá trình thu nhận, xử
lý, hệ thống hóa và cung cấp thông tin kinh tế tài chính ở đơn vị
+ Phương pháp tài khoản kế toán: là phương pháp kế toán sử dụng các
tài khoản kế toán để phân loại các nghiệp vụ kinh tế tài chính theo nội dungkinh tế ghi chép, phản ánh một cách thường xuyên, liên tục, có hệ thống sốliệu hiện có và sự biến động của từng đối tượng kế toán cụ thể
+ Phương pháp tổng hợp – cân đối kế toán: là phương pháp kế toán sử
dụng các báo cáo kế toán để tổng hợp số liệu từ các sổ kế toán theo các mốiquan hệ cân dối của đối tượng kế toán, cung cấp các chỉ tiêu kinh tế tài chính
Trang 13cho các đối tượng sử dụng thông tin kế toán.
- Phần mềm kế toán có tính mềm dẻo
Phần mềm kế toán phải có khả năng nâng cấp, có thể sửa đổi, bổ sung phùhợp với những thay đổi nhất định của chế độ kế toán và chính sách tài chính
mà không ảnh hưởng đến cơ sở dữ liệu hiện có
1.1.1.3 Những yêu cầu đối với phần mềm kế toán
Phần mềm kế toán phải đảm bảo các yêu cầu cơ bản sau:
- Phần mềm kế toán cần đáp ứng được các yêu cầu của một phần mềm nói chung như sau:
+ Dễ sử dụng: Các phần mềm phải có một giao diện thân thiện với cấu
trúc phân cấp dễ hiểu và dễ sử dụng, các ngôn ngữ phải phù hợp với ngôn ngữ
tự nhiên của người dùng
+ Tương thích với các phần mềm khác: Các phần mềm trên thị trường
phải tương thích với các phần mềm khác để tránh gây xung đột và sự cố máykhi chạy chương trình
+ Chống sao chép: Các phần mềm khi đưa ra thị trường không được để ở
dạng mã nguồn mà phải được biên dịch Khi cài đặt chương trình lên máy tínhchúng ta chỉ cần thực hiện một thao tác duy nhất đó là chạy chương trình càiđặt (Setup) Chống sao chép chính là tiêu chuẩn để bảo vệ bản quyền của mộtphần mềm
+ Tương thích với nhiều thiết bị ngoại vi: Khi hoạt động, các phần mềm
thường có thông tin vào, ra thông qua các thiết bị ngoại vi Một phần mềmcần phải có khả năng tương thích với nhiều loại thiết bị ngoại vi khác nhaunhư: bàn phím, chuột, máy quét ảnh, máy in…
+ Tính thời trang của phần mềm: Phần mềm phải không được lạc hậu,
được cập nhật thường xuyên để phù hợp với tình hình biến động thực tế, phùhợp với mặt bằng ứng dụng công nghệ thông tin của xã hội
Trang 14+ Yêu cầu bộ nhớ: Các phần mềm khi được viết ra cần phải quan tâm đến
việc tiết kiệm bộ nhớ cho máy tính, giúp máy tính hoạt động nhanh hơn
+ Tính giá cả cạnh tranh: Đã là sản phẩm tung ra bán trên thị trường thì
yếu tố giá cả đặc biệt quan trọng Để có thể cạnh tranh với các phần mềmkhác trên thị trường thì các công ty cần đưa ra một mức giá hợp lý, thông quaviệc sử dụng nguồn nhân lực hiệu quả, sử dụng tốt các công cụ hỗ trợ lậptrình và thiết kế phần mềm
+ Quyền sử dụng trên mạng: Một phần mềm có được sử dụng trên mạng
hay không và việc phân quyền sử dụng cho người dùng như thế nào là mộttrong những tiêu thức đánh giá một phần mềm Ngày nay việc sử dụng côngnghệ mạng máy tính là một xu thế tất yếu
- Phần mềm kế toán phải phù hợp với các đặc điểm:
+ Đáp ứng công tác kế toán
PMKT phải đảm bảo công tác kế toán thực hiện đúng các quy định hiệnhành của pháp luật về kế toán
+ Khả năng tự động hóa cao
PMKT phải được thiết kế thành một hệ thống các modul chương trình để
xử lý thống nhất tất cả các thành phần kế toán thành một khâu liên hoàn, chỉcần nhập dữ liệu ban đầu một lần là có thể cho ra tất cả các báo cáo kế toán tàichính và báo cáo kế toán quản trị cần thiết
+ Cơ cấu linh hoạt
Trang 15Cơ cấu linh hoạt của một phần mềm kế toán thể hiện ở hai mặt kỹ thuật
xử lý trong một chương trình, bao gồm:
✓ Thứ nhất, sử dụng cấu trúc sổ cái tích hợp cùng với hệ mã từ điển của
hệ thống linh hoạt Điều này sẽ cho phép dễ dàng điều chỉnh hệ thống chươngtrình khi có những thay đổi về cơ cấu tổ chức doanh nghiệp
✓ Thứ hai, sử dụng một số mẫu sổ, mẫu báo cáo, mẫu chứng từ tự độngdành cho người sử dụng tự động định nghĩa Khi cần, chỉ cần xác định: tên sổ/báo cáo/chứng từ, tên từng tiêu thức trên đó, nó được lấy hoặc ghi ở đâu, sắpxếp ở đâu, sắp xếp theo chỉ tiêu nào
+ Tự động xử lý và đảm bảo sự chính xác về số liệu kế toán
✓ Tự động xử lý, lưu giữ số liệu trên nguyên tắc tuân thủ các quy trình
kế toán cũng như phương pháp tính toán các chỉ tiêu trên báo cáo tài chính
✓ Đảm bảo sự phù hợp, không trùng lặp giữa các số liệu kế toán
✓ Có khả năng dự báo, phát hiện và ngăn chặn các sai sót khi nhập dữliệu và quá trình xử lý thông tin kế toán
+ Tính bảo mật thông tin
Khi tổ chức hạch toán kế toán dựa trên mạng máy tính, một tiêu chuẩnrất quan trọng là tính bảo mật dữ liệu giúp cho doanh nghiệp có được sự bìnhyên trong cạnh tranh Cơ sở dữ liệu và các báo cáo kế toán trên đường truyềntuyệt đối phải được bảo mật
+ Không phụ thuộc vào hạ tầng tin học
Nhìn chung, các doanh nghiệp đều muốn phần mềm mình đang sử dụngdựa trên một hạ tầng tin học linh hoạt, dễ dàng phát triển hệ thống thông tincủa mình khi doanh nghiệp có điều kiện phát triển và mở rộng quy mô MộtPMKT phải xây dựng trên một hạ tầng không cứng nhắc để không gây trởngại cho việc đổi mới hệ thống
+ Khả năng tổng hợp dữ liệu
Trang 16Dữ liệu thường được chia thành từng nhóm để tạo điều kiện thuận lợicho công tác quản trị Tuy nhiên tại một thời điểm, PMKT phải cho phép tổnghợp dữ liệu để có thể quản lý tập trung và hạch toán thống nhất trong toàndoanh nghiệp.
+ Khả năng tích hợp với các sản phẩm khác
Một phần mềm kế toán được đánh giá là hiện đại, có độ đa dạng lớn nếukhả năng tích hợp được với nhiều các sản phầm khác Các PMKT phải đượctích hợp một cách toàn diện nhằm hoàn thiện các công cụ tạo báo cáo (kể cảbáo cáo thông qua các trang web), thực hiện hợp tác thương mại điện tử vàthanh toán quốc tế
+ Xử lý nhiều ngôn ngữ và nhiều loại tiền tệ
✓ Hệ thống hạch toán cho phép sử dụng nhiều ngôn ngữ sẽ giúp chodoanh nghiệp quản trị kinh doanh nhiều quốc gia khác nhau
✓ Một PMKT cho phép xử lý nhiều loại ngoại tệ sẽ giúp cho doanhnghiệp kiểm soát được tình hình tiền tệ của mình
+ Triển khai theo tiêu chuẩn quốc tế
Đối với các doanh nghiệp đa ngành, đa quốc gia thì tiêu chuẩn đầu tiênkhi họ sử dụng một PMKT là nó phải triển khai theo tiêu chuẩn quốc tế bằngmột hệ thống duy nhất chứ không phải dựa trên các phần mềm riêng lẻ Sựthống nhất đó đảm bảo tính nhất quán về mặt quản lý, nhất quán về mặt dữliệu
+ Khả năng hỗ trợ tại chỗ
Để đảm bảo tính linh hoạt cho người sử dụng, trong mỗi PMKT cần phải
có ngay bên trong nó những dịch vụ hỗ trợ người dùng theo từng ngữ cảnh tạithời điểm máy đang hoạt động
1.1.2 Các thành phần của phần mềm kế toán
Một phần mềm kế toán thường gồm các thành phần sau:
Trang 17- Cơ sở dữ liệu: Đó là các thông tin được lưu và duy trì nhằm phản ánh
thực trạng hiện thời hay quá khứ của doanh nghiệp Các dữ liệu này được chiathành hai phần: các dữ liệu phản ánh cấu trúc nội bộ của cơ quan như dữ liệu
về nhân sự, nhà xưởng, thiết bị,… và các dữ liệu phản ánh các hoạt động kinhdoanh dịch vụ của cơ quan như dữ liệu về sản xuất, mua bán, giao dịch,…
- Form: Là giao diện tương tác giữa người sử dụng và phần mềm một
phần mềm kế toán thường bao gồm các loại form: form đăng nhập, formchương trình chính, form nhập liệu, form truy vấn dữ liệu, form điều khiển inbáo cáo,…
- Báo cáo: Là một tài liệu chứa các thông tin được đưa ra từ chương
trình ứng dụng theo yêu cầu của người dùng Các báo cáo thường chứa cácthông tin kết xuất từ các bảng cơ sở dữ liệu và được hiển thị ra máy in hoặcmàn hình, tuỳ theo yêu cầu của người sử dụng
- Menu: Hệ thống menu bao gồm các lệnh được thiết kế theo một trật tự
phù hợp để giúp người sử dụng tương tác với phần mềm một cách dễ dàng
1.1.3 Sự cần thiết phải phát triển phần mềm kế toán trong doanh nghiệp
Một doanh nghiệp có phần mềm kế toán hoạt động hiệu quả giúp chodoanh nghiệp có thể:
● Khắc phục khó khăn trước mắt để đạt được các mục tiêu đề ra
● Tạo ra năng lực chớp được các cơ hội hay vượt qua các thách thức
● Ngoài ra, do sức ép trong hợp tác, việc tin học hóa công tác kế toán làmột trong những yếu tố mà mỗi đối tác đánh giá giá trị của doanh nghiệp
Vì vậy, tất yếu phải phát triển phần mềm kế toán trong doanh nghiệp
1.1.4 Quy trình xây dựng phần mềm kế toán
1.1.4.1 Khảo sát hiện trạng và lập kế hoạch dự án
Khảo sát hiện trạng là bước khởi đầu của tiến trình phát triển phần mềm,
Trang 18đây là giai đoạn nghiên cứu sơ bộ và xác định tính khả thi của dự án đối với
hệ thống mới
Bước này tập trung giải quyết các vấn đề: môi trường, các ràng buộc đốivới phần mềm cần xây dựng như thế nào Chức năng, nhiệm vụ, mục tiêu cầnđạt được của phần mềm là gì Định ra giải pháp phân tích, thiết kế sơ bộ vàxem xét tính khả thi của chúng
Trên cơ sở các thông tin khảo sát nhà phát triển đánh giá hiện trạng, xácđịnh các điểm yếu của hệ thống hiện tại, đánh giá khả thi lập dự án phát triểnphần mềm
❖ Khảo sát hiện trạng
- Mục tiêu của khảo sát
➢ Tìm hiểu nghiệp vụ, chuyên môn, môi trường hoạt động của hệ thốngcũ
➢ Tìm hiểu các chức năng, nhiệm vụ và cách thức hoạt động của hệthống
➢ Xác định các nhược điểm của hệ thống
- Nội dung khảo sát
➢ Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống
➢ Nghiên cứu cơ cấu tổ chức của hệ thống
➢ Xác định các chức năng, nhiệm vụ, quyền hạn,… của các đơn vị ở cáccấp khác nhau
➢ Thu thập và nghiên cứu các hồ sơ, sổ sách…của các đơn vị ở các cấpkhác nhau
➢ Thu thập và nghiên cứu các quy tắc quản lý bao gồm luật, các quyđịnh,… chi phối đến các quá trình xử lý thông tin
➢ Nghiên cứu các chu trình luân chuyển và xử lý thông tin của hệ thống
➢ Thống kê các phương tiện và tài nguyên được sử dụng cho hoạt động
Trang 19của hệ thống.
➢ Thu thập và nghiên cứu các yêu cầu về thông tin, đánh giá về hệthống, các nguyện vọng và kế hoạch phát triển hệ thống
➢ Đánh giá hiện trạng và đề ra giải pháp
➢ Lập tài liệu khảo sát
- Phương pháp khảo sát
Hình thức tiến hành:
➢ Tìm hiểu tài liệu: thu thập, tìm hiểu, tổng hợp các thông tin từ các tàiliệu, sổ sách được sử dụng trong hoạt động chuyên môn nghiệp vụ của hệthống cũ
➢ Quan sát và theo dõi: để rút ra các kết luận có tính thuyết phục vàkhoa học
➢ Phỏng vấn: thường được tiến hành đối với các cá nhân tham gia hoạtđộng trong hệ thống cũng như các cá nhân có liên quan tới hệ thống
➢ Phiếu điều tra
- Đề xuất giải pháp sơ bộ và xác định tính khả thi
❖ Đánh giá hiện trạng
Các hạn chế:
- Thiếu sót: thiếu người xử lý thông tin, bỏ sót công việc xử lý thông tin
- Tổn phí cao, gây lãng phí
- Các yêu cầu mới
- Kém hiệu lực, quá tải: phương pháp xử lý không chặt chẽ, cơ cấu tổchức không hợp lý, con đường lưu chuyển các thông tin không hợp lý như làgiấy tờ, tài liệu trình bày kém, cấu trúc không hợp lý
- Thỏa đáng các thông tin chưa được đáp ứng
- Đáp ứng các nguyện vọng của nhân viên
- Dự kiến kế hoạch phát triển
Trang 20❖ Lập kế hoạch triển khai dự án
➢ Phân công trách nhiệm và nhân sự
➢ Phương pháp và tiến trình triển khai
- Công tác huấn luyện sử dụng chương trình
➢ Thời gian huấn luyện bao lâu và chia làm bao nhiêu nhóm
- Điều hành dự án
➢ Đưa ra các quyết định mang tính định hướng cho dự án
➢ Quyết định các mục tiêu và chỉ ra cách đạt các mục tiêu đó
➢ Xác định các mức độ an toàn
➢ Phân phối các nguồn lực
➢ Kiểm tra sự phát triển đúng đắn của dự án
➢ Quyết định lựa chọn giải pháp
1.1.4.2 Phân tích hệ thống Phân tích hệ thống về chức năng.
Đây là giai đoạn sau giai đoạn khảo sát sơ bộ, đây là phần quan trọng để
đi sâu vào nghiên cứu các thành phần hệ thống
Kết quả của giai đoạn này, ta xây dựng được các biểu đồ mô tả logicchức năng xử lý của hệ thống xem xét Giai đoạn này còn được gọi là giaiđoạn thiết kế logic chuẩn bị cho giai đoạn thiết kế vật lý
Trang 21Mục đích của phân tích hệ thống về chức năng là nhằm trả lời câu hỏi:
“hệ thống làm gì?” Đây là bước đầu tiên của phân tích hệ thống nhằm:
● Xác định các nhiệm vụ, chức năng mà hệ thống cần đảm nhiệm
● Xác định các hạn chế hay ràng buộc áp đặt lên các chức năng của hệthống
● Xác định các mối quan hệ giữa các chức năng của hệ thống
● Đặc tả các chức năng của hệ thống và quy trình hoạt động
Cách thức tiến hành phân tích hệ thống về chức năng dựa theo phươngpháp SA ( Structured Analysic) nghĩa là phân tích từ trên xuống, phân tích từ
hệ thống cũ sang hệ thống mới, phân tích từ mức vật lý sang mức logic
Kết quả của giai đoạn này là các biểu đồ mô tả logic chức năng của hệthống như: biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu, ma trận thựcthể chức năng
Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng (FDD- Function Decomposition Diagram):
là biểu đồ dùng để diễn tả hệ thống các chức năng cần thực hiện của hệ thốngcần phát triển dưới dạng hình cây Trong đó:
● Gốc của cây là chức năng chung cần thực hiện của hệ thống doanhnghiệp hoặc tổ chức
● Mỗi chức năng được phân rã thành các chức năng con tương đương
● Các chức năng lá là các chức năng tương đối cụ thể, đơn giản, dễ hiểu,
dễ thực hiện
- Ký pháp biểu diễn của biểu đồ phân cấp chức năng: có 2 ký pháp
+ Ký pháp biểu diễn chức năng: là hình chữ nhật có ghi tên của chứcnăng cần thực hiện (ở dạng động từ kết hợp với bổ ngữ)
+ Ký pháp biễu diễn liên kết giữa chức năng cha và các chức năng con làdạng hình cây gấp khúc
Trang 22- Ý nghĩa của biểu đồ phân cấp chức năng:
+ Cho phép dễ dàng hiểu được các chức năng, nhiệm vụ từ khái quát đếnchi tiết của tổ chức
+ Dễ thành lập bằng cách phân rã từ chức năng cha đến chức năng conhoặc nhóm xác định các chức năng cha từ các chức năng con
+ Giúp phát hiện các chức năng còn thiếu hoặc các chức năng trùng lặp.+ Là cơ sở để thiết kế kiến trúc của phần mềm sau này
- Nhược điểm của biểu đồ phân cấp chức năng:
+ Không biểu diễn trình tự thực hiện của các chức năng
+ Không biểu diễn mối quan hệ giữa các chức năng
- Cách thức xây dựng biểu đồ phân cấp chức năng:
● Cách 1 : Xây dựng từ trên xuống
Nghiên cứu sơ đồ tổ chức của hệ thống và tài liệu khảo sát để xác địnhchức năng chung của hệ thống
Phân rã các chức năng chung thành các chức năng con đơn giản hơn saocho các công việc trong mỗi chức năng có liên quan gần gũi với nhau
Tiếp tục phân rã các chức năng cho đến khi thu được các chức năng đủđơn giản và dễ hiểu
● Cách 2 : Xây dựng từ dưới lên
Dựa vào tài liệu khảo sát và sơ đồ tổ chức của hệ thống, liệt kê các côngviệc mà hệ thống đảm nhận sau đó gộp các công việc có liên quan với nhauthành một chức năng mức cha
Quá trình này được lặp đi lặp lại cho đến khi thu được một chức năngchung của hệ thống
- Các quy tắc xây dựng biểu đồ phân cấp chức năng
+ Mỗi chức năng con được phân rã từ chức năng cha phải là một bộ phậnthực sự tham gia thực hiện chức năng cha
Trang 23+ Mỗi chức năng con thực hiện các công việc tương đối độc lập vớinhau.
+ Các chức năng con phải bảo toàn chức năng cha
+ Không nên phân rã các chức năng thành nhiều mức vì sẽ dẫn đến sựphức tạp cho quá trình thiết kế và mã hóa
+ Các chức năng cùng mức nên biểu diễn thuộc cùng một hàng
+ Tên của các chức năng khác nhau là khác nhau
+ Các chức năng lá cần phải được mô tả chi tiết và cách thực hiện
Tài liệu đặc tả chức năng
Dựa trên tài liệu khảo sát về nghiệp vụ, nhà phát triển tiến hành viết tàiliệu mô tả các hoạt động cụ thể của mỗi chức năng lá
Cách thức xây dựng tài liệu đặc tả chức năng: dựa trên sơ đồ phân rãchức năng và tài liệu khảo sát để tiến hành đặc tả cách thức thực hiện chochức năng lá
Ma trận thực thể chức năng
- Khái niệm
+ Là một bảng bao gồm có các hàng và các cột Trong đó, mỗi cột tươngứng với một thực thể dữ liệu, mỗi hàng ứng với một chức năng ở mức tươngđối chi tiết
+ Mỗi ô giao giữa hàng và cột thể hiện mối quan hệ giữa chức năng vàthực thể tương ứng
+ Giá trị của mỗi ô thể hiện mối quan hệ giữa hàng và cột tương ứng, giátrị của một cột có thể là R (read), U (update), C (create)
- Các đặc điểm của ma trận thực thể chức năng
+ Nếu một hàng ứng với một chức năng không có ô nào được đánh giátrị thì chức năng đó hoặc là không phải là một chức năng có tác động lên dữliệu hoặc là việc đánh giá trị của các ô bị bỏ sót
Trang 24+ Nếu một cột ứng với một thực thể dữ liệu không có ô nào được đánhgiá trị thì thực thể đó hoặc là đánh thiếu chức năng hoặc là bỏ sót chức nănghoặc là thực thể không liên quan đến các chức năng của hệ thống và có thể bỏ
đi
- Ý nghĩa của ma trận thực thể chức năng
+ Cho phép xác định các chức năng hoặc các thực thể dữ liệu còn thiếu + Cho phép loại bỏ các chức năng hoặc các dữ liệu còn thừa
- Cách thức xây dựng ma trận thực thể chức năng
+ Xây dựng sơ đồ phân cấp chức năng
+ Liệt kê danh sách các thực thể dữ liệu
+ Xác định các mối quan hệ giữa thực thể và chức năng lá tương ứng + Lập bảng ma trận thực thể chức năng
Biểu đồ luồng dữ liệu (BLD)
- Biểu đồ luồng dữ liệu: là biểu đồ biểu diễn quá trình xử lý thông tin
của hệ thống, mỗi biểu đồ bao gồm có các tiến trình, tác nhân, luồng dữ liệu,kho dữ liệu của hệ thống Đây là công cụ cho phép mô tả hệ thống toàn diện
và đầy đủ nhất
- Tiến trình: là một công việc của hệ thống nhằm thao tác trên các dữ
liệu đầu vào và cho kết quả dữ liệu ở đầu ra xác định
Cú pháp biểu diễn:
Tên của tiến trình là động từ kết hợp với bổ ngữ
- Luồng dữ liệu: là một đường truyền dẫn thông tin vào hoặc ra một
chức năng nào đó
Trang 25Cú pháp biểu diễn: Biểu đồ luồng dữ liệu
Tên của luồng dữ liệu là sự kết hợp giữa danh từ và bổ ngữ
- Kho dữ liệu: là một đối tượng lưu một tập các dữ liệu có cấu trúc xác
định được sử dụng cho hoạt động của các tiến trình tướng ứng với biểu đồluồng dữ liệu
Cú pháp biểu diễn: Kho dữ liệu
Tên của kho là danh từ kết hợp với tính từ
- Tác nhân: là một thực thể ngoài hệ thống có quan hệ thông tin với hệ
thống Tác nhân có thể là con người hoặc hệ thống khác
Cú pháp biểu diễn:
Tên tác nhân là danh từ kết hợp với tính từ
- Cách thức xây dựng biểu đồ luồng dữ liệu.
+ Xác định các hồ sơ dữ liệu
+ Xác định các tiến trình chính sử dụng, đồng thời xác định các dòng dữliệu giữa chúng, nghĩa là xác định luồng dữ liệu vào, ra
+ Mở rộng, chi tiết dần các tiến trình của biểu đồ BLD bằng cách phân rãbiểu đồ luồng dữ liệu từ mức cao cho tới mức thấp theo sự phân rã của biểu
đồ phân cấp chức năng, trong đó mỗi chức năng xác định được một tiến trìnhtương ứng
+ Hiệu chỉnh lại biểu đồ từng mức khác nhau nhằm đảm bảo tính logic + Một kỹ thuật sử dụng khá phổ biến để phân rã biểu đồ là kỹ thuật phânmức Có 3 mức cơ bản được đề cập:
● Mức 0: biểu đồ luồng dữ liệu khung cảnh ( biểu đồ ngữ cảnh) Sơ đồ
mô tả tổng quát hệ thống, mô tả liên hệ thông tin giữa hệ thống và môi trườngbên ngoài
● Mức 1: biểu đồ luồng dữ liệu mức đỉnh
● Mức 2: biểu đồ luồng dữ liệu mức dưới đỉnh
Trang 26● Mức 3: BLD mức dưới đỉnh phân rã từ BLD mức đỉnh
+ Các nguyên tắc chung áp dụng cho quá trình phân rã từ BLD từ mứctrên thành BLD mức dưới như sau:
● Các luồng dữ liệu được bảo toàn
● Các yếu tố tác động bên ngoài được bảo toàn
● Có thể xuất hiện bổ sung các kho dữ liệu
● Bổ sung thêm các luồng dữ liệu nội tại giữa các tiến trình nếu cầnthiết
- Ý nghĩa của biểu đồ luồng dữ liệu
+ Biểu diễn các chức năng và các dữ liệu cần thiết của hệ thống
+ Cho phép biểu diễn mối quan hệ thông tin giữa các chức năng, mốiquan hệ thông tin giữa tác nhân, kho dữ liệu với các chức năng
+ Biểu diễn quy trình di chuyển của các dữ liệu qua các chức năng
- Các quy tắc ràng buộc trong xây dựng BLD
+ Tiến trình: một tiến trình luôn có yếu tố vào và yếu tố ra, hai yếu tố
này là khác nhau và phải bảo toàn thông tin
+ Kho dữ liệu: dữ liệu không di chuyển trực tiếp giữa các kho dữ liệu,
không di chuyển trực tiếp giữa kho với tác nhân và ngược lại
+ Tác nhân: dữ liệu không di chuyển trực tiếp giữa các tác nhân
+ Luồng dữ liệu: mỗi luồng dữ liệu chi có một hướng di chuyển dữ liệu.
Một luồng dữ liệu không thể quay lại nơi mà nó đi khỏi Một luồng dữ liệu đivào (hoặc đi ra) nghĩa là kho được cập nhật ( hoặc được đọc)
+ Các quy tắc khác: các đối tượng trong biểu đồ luồng dữ liệu phải khác
nhau Dữ liệu vào và ra của một chức năng phải khác nhau
Phân tích hệ thống về dữ liệu
Mục tiêu của phân tích về dữ liệu là xây dựng mô hình dữ liệu quanniệm (CDM) hay còn gọi là lược đồ dữ liệu hệ thống
Trang 27CMD mô tả các dữ liệu nghiệp vụ và mối quan hệ giữa chúng Mô hìnhnày không chứa các chi tiết cài đặt nên nó rất tự nhiên, dễ hiểu cho người pháttriển và người sử dụng Mô hình này là cơ sở cho việc thiết kế CSDL vật lýcho phần mềm
- Các bước tiến hành xây dựng CMD.
+ Phân tích các hồ sơ thu được từ giai đoạn khảo sát
+ Lựa chọn, mã hóa sắp xếp thông tin cơ sở
+ Xác định các thực thể dữ liệu, mỗi thực thể bao gồm một tập các thôngtin cơ sở và mối quan hệ giữa chúng
+ Xây dựng mô hình dữ liệu quan niệm
+ CMD được thể hiện ở hai mô hình:
+ Mô hình thực thể liên kết (E/R- entity Relationship Model)
+ Mô hình dữ liệu quan hệ: gồm các bảng dữ liệu có quan hệ
Mô hình thực thể liên kết (E/R)
Đây là mô hình được sử dụng phổ biến trong xây dựng mô hình dữ liệunghiệp vụ của các hệ thống thông tin quản lý nhờ tính đơn giản, trực quan, dễhiểu và chặt chẽ Mô hình này gồm các thành phần cơ bản sau:
+ Kiểu thuộc tính: là một tập các giá trị khác nhau nhằm biểu diễn cùngmột khía cạnh của một thực thể Mỗi kiểu thuộc tính được xác định bởi tên vàđược mô tả dưới dạng một hình ellipse có chứa tên của kiểu thuộc tính Kiểu
Trang 28thuộc tính phức hợp được mô tả bới một hình ellipse kết nối với các kiểu thựcthể thành phần bởi các đoạn thẳng Kiểu thuộc tính đa trị được tả bởi hìnhellipse kép
+ Kiểu thực thể: là một tập các thực thể có cùng các kiểu thuộc tính Mỗikiểu thực thể xác định bởi một tên định danh và được mô tả bởi một hình chữnhật kết hợp với tên của kiểu thực thể và nối với các kiểu thuộc tính bởi cácđoạn thẳng
+ Kiểu thuộc tính khóa: là một kiểu thuộc tính của kiểu thực thể mà cácgiá trị của nó là khác nhau đối với các thực thể khác nhau thuộc kiểu thực thể.Mỗi kiểu thuộc tính khóa được biểu diễn bởi hình ellipse có chứa tên và gạchchân của kiểu thuộc tính khóa
+ Miền giá trị của kiểu thuộc tính: là tập các giá trị hợp lệ có thể gán chothuộc tính
- Kiểu liên kết, thuộc tính của kiểu liên kết
+ Kiểu liên kết: một kiểu liên kết R giữa n kiểu thực thể E1, E2 , En là mộttập các liên kết giữa các thực thể tương ứng của n kiểu thực thể đã cho cócùng ý nghĩa Đây là quan hệ toán học trên tập thực thể E1, E2 , En được xácđịnh bởi các liên kết thông qua tích Đề các E1 x E2 x…xEn
+ Số các kiểu thực thể tham gia liên kết xác định số ngôi của quan hệ( số cấp của quan hệ)
+ Mỗi một kiểu liên kết có một tên gọi xác định nhằm thể hiện ý nghĩacủa việc liên kết giữa các thực thể
+ Một số kiểu liên kết: Liên kết đệ quy, liên kết phức, liên kết có thuộctính
+ Các ràng buộc kiểu liên kết:
● Ràng buộc lực lượng tham gia vào kiểu liên kết bao gồm: 0 1, 0 n,1 1, 1 n, n m ( n,m là số tự nhiên)
Trang 29● Ràng buộc tham gia bộ phận: chỉ có một bộ phận các thực thể của mộtkiểu thực thể tham gia vào liên kết với các thực thể của kiểu thực thể khác
● Ràng buộc tham gia toàn bộ: toàn bộ các thực thể đều tham gia vàoliên kết với các thực thể của kiểu thực thể khác
Phương pháp xây dựng sơ đồ E/R.
- Yêu cầu:
+ Không bỏ sót thông tin: các thông tin để tạo sơ đồ E/R được lấy từ các
hồ sơ, chứng từ, sổ sách, báo cáo, tài liệu lưu trữ liên quan
+ Không dư thừa thông tin: thông tin không được trùng lặp
+ Có thể bổ sung các thông tin hỗ trợ cho việc tin học hóa như bổ sungthuộc tính làm khóa
- Xây dựng bảng từ điển dữ liệu:
+ Liệt kê các hồ sơ nghiệp vụ thu được trong quá trình khảo sát
+ Liệt kê các mục thông tin cơ sở trong mỗi hồ sơ, mỗi mục thông tin làkiểu thuộc tính
+ Quy định tên viết tắt cho mỗi kiểu thuộc tính
+ Xác định các kiểu thuộc tính trùng lặp giữa các hồ sơ với nhau
+ Xác định các tính chất cho các thuộc tính: thuộc tính tên gọi, thuộctính mô tả, thuộc tính của kiểu liên kết, thuộc tính đa trị, thuộc tính phức hợp
- Xác định danh sách các mối liên kết: căn cứ danh sách các kiểu thực
thể vừa xác định, dựa vào các hoạt động nghiệp vụ phát sinh cơ bản
- Xác định các kiểu thuộc tính của kiểu liên kết: dựa vào bảng từ điển
dữ liệu, trong đó thường kiểu thuộc tính của kiểu liên kết chỉ tồn tại khi kiểuliên kết đó hình thành hoặc là thể hiện đặc trưng của kiểu liên kết đó
- Xác định các ràng buộc tham gia liên kết: dựa vào quy định nghiệp
vụ của hệ thống xác định được ở giai đoạn khảo sát
- Vẽ sơ đồ E/R
Trang 30Quy tắc chuyển từ mô hình E/R sang mô hình dữ liệu quan hệ
- Với kiểu thuộc tính phức hợp: thay thế mỗi kiểu thuộc tính phức hợp
thành tập tập các kiểu thuộc tính đơn tương ứng Mỗi thuộc tính đơn tươngứng với một thành phần của kiểu thuộc tính phức hợp
- Với kiểu thực thể: mỗi kiểu thực thể E trong lược đồ E/R tạo một
quan hệ R tương ứng Các thuộc tính của R là các kiểu thuộc tính đơn của E.Chọn một trong các khóa của E làm khóa chính cho R hoặc tạo ra một thuộctính mới thêm vào R làm khóa
- Với kiểu liên kết 1 1: với mỗi kiểu liên kết hai ngôi 1 1 là R trong mô
hình E/R, xác định các quan hệ S và T tương ứng với các kiểu thực thể thamgia vào R Chọn khóa chính của một quan hệ đưa vào làm khóa ngoài củaquan hệ còn lại Nếu có hai kiểu thực thể đều có ràng buộc tham gia toàn bộvào liên kết R thì có thể nhập S và T thành một quan hệ K
- Với kiểu liên kết 1 n: mỗi kiểu liên kết hai ngôi R kiểu 1 n, xác định
hai quan hệ S,T biểu diễn cho hai kiểu thực thể tham gia ở phía một và phíanhiều tương ứng của R Đưa khóa chính của S vào làm khóa ngoài của T Đưacác kiểu thuộc tính đơn của R vào làm các thuộc tính của T
- Với kiểu liên kết n m: với mỗi kiểu liên kết n m (hai ngôi) R, xác
định hai quan hệ S,T biểu diễn cho hai kiểu thực thể tham gia vào R Tạo ramột quan hệ mới Q để thay thế cho R Đưa các khóa chính của các quan hệS,T vào làm khóa ngoài của Q Tổ hợp hai khóa ngoài đó sẽ tạo nên khóachính của Q Đưa tất cả các thuộc tính đơn của R vào làm thuộc tính của Q
- Với kiểu thuộc tính đa trị: mỗi thuộc tính đa trị A tạo ra một quan hệ
mới R chứa một thuộc tính tương ứng của A Đưa khóa K của kiểu thực thể(hoặc kiểu liên kết) chứa thuộc tính là A vào làm khóa chính của R Khóachính của R là kiểu thuộc tính A và K
- Với kiểu liên kết n ngôi ( n>2): mỗi kiểu liên kết R ( n ngôi, n>2), tạo
Trang 31ra một quan hệ S để biểu diễn R Đưa các khóa chính của các quan hệ biểudiễn cho các kiểu thực thể tham gia vào liên kết R để làm khóa ngoài của S.Đưa các kiểu thuộc tính đơn của R vào làm thuộc tính của S Khóa chính của
S thường là một tổ hợp các khóa ngoài Tuy nhiên, nếu ràng buộc tham giatrên một kiểu thực thể E nào đó tham gia vào R là một phía thì khóa chính của
S không được chứa thuộc tính khóa ngoài được tạo tương ứng với kiểu thựcthể E
1.1.4.3 Thiết kế hệ thống
Thiết kế hệ thống bao gồm các công việc: thiết kế kiến trúc của hệ thống,thiết kế CSDL hệ thống, thiết kế cấu trúc xử lý của các modul chương trình,thiết kế giao diện hệ thống Việc thực hiện các phần trên có quan hệ mật thiếtvới nhau nên thông thường được thực hiện đồng thời
❖ Thiết kế kiến trúc hệ thống
Mục tiêu của giai đoạn này là đi xây dựng sơ đồ kiến trúc hệ thống Đây
là sơ đồ phân cấp có dạng hình cây hoặc dạng đồ thị có các đỉnh ở nhiều mứckhác nhau bao gồm các module lồng nhau Trong đó, mỗi đỉnh của sơ đồ làmột hệ thống con
Sơ đồ kiến trúc của hệ thống được lập bằng cách áp dụng phân chia hệthống thành các hệ thống con nhằm để tạo thuận lợi cho việc xây dựngchương trình và bảo trì sau này Trong đó, hệ thống con được xác định bằngcách gộp nhóm các chức năng trong hệ thống theo một mục đích nào đó nhưtheo vấn đề giải quyết, thực thể dữ liệu…
Sự phân chia hệ thống thành các hệ thống con được áp dụng trên biểu đồluồng dữ liệu của hệ thống và tiến hành ở các mức khác nhau Các hệ thốngcon phải được phân định giữa phần được thực hiện thủ công với phần do máythực hiện Việc xác định hệ thống con bằng cách gộp các chức năng trongBLD thường dựa vào các tiêu chí:
Trang 32+ Gộp theo thực thể dữ liệu: gộp các chức năng liên quan tới một hoặcmột số thực thể dữ liệu thành hệ thống con
+ Gộp theo vấn đề giải quyết
+ Gộp theo sự kiện giao dịch
+ Gộp theo sơ đồ tổ chức hoặc thích ứng với cấu hình phần cứng, phầnmềm…
Dựa trên tài liệu đặc tả chức năng và biểu đồ luồng dữ liệu, việc phânđịnh phần của hệ thống con được thực hiện thủ công với phần thực hiện máytính
- Đối với các tiến trình: xác định tiến trình được thực hiện bởi hệ thống,
tên của các tiến trình này giữ nguyên, và nên đặt lại tên cho các tiến trình cómột phần được thực hiện bởi hệ thống
- Đối với kho dữ liệu: xác định các kho dữ liệu được thực hiện bởi máy
tính, và thay thế các hồ sơ này bởi các thực thể trong mô hình E/R hoặc bảngtrong mô hình dữ liệu Các hồ sơ được thực hiện thủ công sẽ bị loại ngay rakhỏi mô hình dữ liệu
❖ Thiết kế cơ sở dữ liệu.
- Khái niệm: Thiết kế CSDL là quá trình chuyển các đặc tả dữ liệu logic
thành đặc tả dữ liệu vật lý để lưu dữ liệu, nghĩa là quá trình chuyển mô hình
dữ liệu quan hệ thành thiết kế dữ liệu vật lý tương ứng(cấu trúc tệp tin)
Sản phẩm của thiết kế CSDL là một tập các đặc tả mà lập trình viên sẽ
sử dụng để xây dựng các cấu trúc của các dữ liệu trên máy tính bằng cách sửdụng một hệ quản trị CSDL bao gồm: lược đồ CSDL quan hệ phi chuẩn hóa,đặc tả các trường và file của CSDL
- Các bước thiết kế CSDL:
Dựa vào mô hình dữ liệu quan hệ, loại bỏ các quan hệ không cần tin họchóa
Trang 33- Phi chuẩn hóa mô hình dữ liệu quan hệ nhằm giảm bớt các phức tạp
cho các module xử lý, song song với nó là thiết lập các trigger cho mối quan
hệ
Kết quả của phi chuẩn hóa là ta thu được sơ đồ dữ liệu quan hệ
Mỗi quan hệ trong sơ đồ dữ liệu quan hệ xác định một mô tả thiết kếcho tệp dữ liệu cần xây dựng tương ứng
Phi chuẩn hóa sơ đồ dữ liệu quan hệ: mục đích của công việc này là gộpmột số quan hệ trong lược đồ CSDL quan hệ lại với nhau thành một quan hệhoặc bổ sung một số thuộc tính phụ thuộc của một quan hệ trong lược đồCSDL nhằm giảm độ phức tạp trong xử lý dữ liệu Phi chuẩn hóa bao gồmcác công việc:
+ Bổ sung các trường thuộc tính suy diễn
+ Gộp các quan hệ có liên kết 1 1 thành một quan hệ
+ Gộp các quan hệ có liên kết 1 n thành một quan hệ
- Thiết kế trường:
+ Khái niệm: trường là một thuộc tính của một bảng trong mô hình quan
hệ, mỗi trường được đặc trưng bởi tên, kiểu, miền giá trị
+ Các yêu cầu khi thiết kế trường: tiết kiệm không gian nhớ, biểu diễncác giá trị có thể, đảm bảo tính toàn vẹn, hỗ trợ thao tác nhập liệu
+ Các bước thiết kế trường: Chọn kiểu dữ liệu, xác định trường tínhtoán, xác định làm khóa chính và định dạng giá trị cho trường khóa chính, xácđịnh tính toàn vẹn dữ liệu (chọn giá trị ngầm định, xác định khuôn dạng dữliệu, xác định các giới hạn dữ liệu, xác định tính toàn vẹn tham chiếu, xácđịnh ràng buộc giá trị rỗng)
+ Thiết kế file vật lý: mỗi bảng dữ liệu trong mô hình quan hệ đượcchuyển thành một bảng đặc tả thiết kế như sau: tên trường, kiểu dữ liệu, kíchthước dữ liệu, khuôn dạng, ràng buộc, mô tả
Trang 34❖ Thiết kế giao diện người dùng:
- Giao diện người dùng là nơi giao tiếp hay tương tác để trao đổi thôngtin giữa hệ thống với người dùng
- Căn cứ vào mô tả cấu trúc và mô tả thiết kế dữ liệu tiến hành thiết kếgiao diện người dùng Gồm các thành phần: thiết kế các form như formchương trình chính, form mức con, thiết kế thực đơn, thiết kế các mẫu báocáo
❖ Thiết kế các module chương trình
Dựa vào tài liệu đặc tả chức năng và kết quả thiết kế kiến trúc hệ thống,mỗi module chương trình được mô tả chi tiết xử lý bao gồm:
- Thông tin đầu vào: gồm các dữ liệu cần xử lý và các điều kiện ràngbuộc với dữ liệu đầu vào
- Sơ đồ giải thuật xử lý: Mô tả chi tiết quy trình hoạt động xử lý dữ liệucủa mỗi module được diễn tả bằng sơ đồ khối hoặc ngôn ngữ giải mã
- Thông tin đầu ra: Mô tả dạng thông tin thể hiện kết quả sau xử lý vàcác điều kiện ràng buộc với dữ liệu đầu ra
1.1.4.4 Lập trình
Giai đoạn này bao gồm các công việc sau:
- Bước 1: Lựa chọn các công cụ để xây dựng phần mềm kế toán Bao
gồm:
+ Lựa chọn môi trường cài đặt
+ Lựa chọn công cụ cài đặt dữ liệu và chức năng
+ Lựa chọn công cụ tạo giao diện và báo cáo
Trang 35báo cáo,… để đảm bảo sự tương tác giữa người sử dụng và phần mềm Cácform được thiết kế phải đảm bảo tính trực quan, khoa học và dễ sử dụng.+ Báo cáo: là một tài liệu chứa các thông tin được đưa ra từ chương trìnhứng dụng theo yêu cầu của người dùng Hiển thị ra máy in hoặc màn hình, tuỳtheo yêu cầu của người sử dụng.
+ Menu: thiết kế hệ thống menu một cách khoa học và hợp lý để giúpngười sử dụng tương tác với phần mềm một cách dễ dàng
- Bước 3: viết tài liệu sử dụng
1.1.4.5 Kiểm thử
Kiểm thử là việc kiểm tra chương trình bằng cách chạy thử, sau đó đốichiếu với một kết quả đã được kiểm nghiệm
- Các phương pháp kiểm thử
● Cách 1: Chạy thử phần mềm, sử dụng bộ số liệu có sẵn rồi đối
chiếu với kết quả đã làm xem có khớp không
+ Ưu điểm: Bộ dữ liệu sẵn có sẽ rất thuận tiện trong việc kiểm tra Khi
đó sẽ giảm được chi phí kiểm thử
+ Nhược điểm: Không kiểm tra được hết các nghiệp vụ trong chương
trình
● Cách 2: Sử dụng bộ dữ liệu giả định của tester.
+ Ưu điểm: Bao quát hết tất cả các nghiệp vụ, chính và đầy đủ các
module của chương trình
+ Nhược điểm: Khó và tốn kém Người kiểm thử phải hiểu rõ cả hai
phần nghiệp vụ và kế toán
1.1.4.6 Cài đặt, bảo hành và bảo trì
Giai đoạn này gồm các công việc:
- Lắp đặt phần cứng để làm cơ sở cho hệ thống
- Cài đặt phần mềm
Trang 36- Chuyển đổi hoạt động của hệ thống cũ sang hệ thống mới, gồm có:chuyển đổi dữ liệu; bố trí, sắp xếp người làm việc trong hệ thống; tổ chức hệthống quản lí và bảo trì.
- Tổ chức đào tạo
- Đưa phần mềm vào sử dụng
- Bảo hành: đảm bảo hệ thống hoạt động tốt trong thời gian thỏa thuận
- Bảo trì hệ thống, gồm có: sửa lỗi, hoàn thiện và nâng cấp hệ thống
- Trong quá trình sử dụng, người sử dụng và chuyên viên kỹ thuật vậnhành cần đánh giá xem hệ thống có đáp ứng các mục tiêu đặt ra ban đầu haykhông? Từ đó đề xuất những sửa đổi, cải tiến
- Bảo trì nhằm đảm bảo cho phần mềm hoạt động ổn định, đáp ứng mộtcách tốt nhất cho công tác kế toán cũng như hoạt động sản xuất, kinh doanhcủa đơn vị
1.1.5 Các công cụ tin học sử dụng trong xây dựng phần mềm
kế toán
1.1.5.1 Hệ quản trị cơ sở dữ liệu
✓ Khái niệm CSDL
Một CSDL là tập hợp các dữ liệu có liên quan đến nhau chứa thông tin
về một tổ chức nào đó, được lưu trữ trên các thiết bị nhớ thứ cấp để đáp ứngnhu cầu khai thác thông tin của nhiều người sử dụng với mục đích khác nhau.Một cơ sở dữ liệu thỏa mãn hai tính chất đó là: tính độc lập dữ liệu, tínhchia sẻ dữ liệu
✓ Khái niệm hệ quản trị CSDL
Hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm cho phép tạo lập cơ
sở dữ liệu và điều khiển mọi truy nhập đối với cơ sở dữ liệu đó
✓ Một số hệ quản trị CSDL thường dùng
Trang 37Hiện nay những hệ quản trị CSDL đang được dùng nhiều là: Microsoft Acess, SQL Server, Foxpro, Oracle…
● Hệ quản trị CSDL Microsoft Acess:
Ưu điểm:
- Nhỏ gọn, cài đặt dễ dàng, phù hợp với các ứng dụng quy mô nhỏ
Nhược điểm:
- Hạn chế số người dùng (số người cùng truy cập vào cơ sở dữ liệu)
- Hạn chế về kích thước cơ sở dữ liệu (< 2GB)
- Hạn chế về tổng số module trong một ứng dụng
- Kích thước dữ liệu càng lớn, độ ổn định càng giảm
- Không hỗ trợ truy cập từ xa qua mạng
Sử dụng:
- Phù hợp với các ứng dụng quy mô nhỏ
● Hệ quản trị CSDL Oracle:
Ưu điểm:
- Đối với các doanh nghiệp: ORACLE thực sự là một hệ quản trị cơ sở
dữ liệu tuyệt vời vì có tính bảo mật cao, tính an toàn của dữ liệu cao, dễ dàngbảo trì, nâng cấp, cơ chế quyền hạn rõ ràng, ổn định
- Đối với những người phát triển: ORACLE cũng tỏ ra có rất nhiều ưuđiểm như dễ cài đặt, dễ triển khai và nâng cấp lên phiên bản mới
Nhược điểm:
- Giá đầu tư cao: cần máy cấu hình mạnh, cài đặt và thiết lập khó
- Độ phức tạp cao, quản trị rất khó cần người giỏi về Công nghệ thôngtin mới có thể quản trị được
Sử dụng:
- Thích hợp với các ứng dụng có CSDL lớn
● Hệ quản trị CSDL SQL Server:
Trang 38● Hệ quản trị cơ sở dữ liệu Visual Foxpro.
Ưu điểm:
-Visual Foxpro hỗ trợ về lập trình hướng đối tượng, hỗ trợ khả năng thiết
kế giao diện trực quan
- Dễ dàng tổ chức CSDL, định nghĩa các nguyên tắc áp dụng cho CSDL
và xây dựng chương trình ứng dụng, nó cho phép nhanh chóng kiến tạo cácbiểu mẫu, vấn tin, báo biểu dựa vào bộ công cụ thiết kế giao diện đồ họa
- Dễ tách ứng dụng thành nhiều mô-đun nên khá dễ dàng trong việc nângcấp, sửa đổi
Trang 391.1.5.2 Ngôn ngữ lập trình
- Khái niệm:
Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính Đây là mộtdạng ngôn ngữ được chuẩn hóa được dùng để miêu tả những quá trình, ngữcảnh một cách chi tiết
- Đặc điểm:
Dễ hiểu và dễ sử dụng đối với người lập trình để con người có thể dùng
để giải quyết các bài toán
Miêu tả một cách đầy đủ, rõ ràng các tiến trình để có thể chạy được trêncác máy tính
- Các ngôn ngữ lập trình thường dùng:
Ngôn ngữ lập trình hướng cấu trúc: cho phép diễn tả một thuật giải dễdàng cũng như áp dụng thuật toán “chia để trị” giúp tránh lỗi khi viết cácchương trình lớn, phức tạp Phương pháp này rất phổ biến và vẫn áp dụngnhiều trong hiện tại VD: Pascal, C…
Ngôn ngữ lập trình hướng đối tượng: là phương thức cao hơn của lậptrình, cho phép “đóng gói” dữ liệu và các phương thức hoạt động trên chúng,đồng thời “cách ly” các đối tượng với nhau Mới hơn so với lập trình cấu trúc
và được áp dụng nhiều trong thực tế VD: C++, C#, Java, Ada…
1.1.5.3 Các công cụ tạo báo cáo
- Báo cáo: là một tài liệu chứa các thông tin được đưa ra từ chương
trình ứng dụng theo yêu cầu của người dùng Các báo cáo thường chứa cácthông tin kết xuất từ các bảng cơ sở dữ liệu và được hiển thị ra máy in hoặcmàn hình, tuỳ theo yêu cầu của người sử dụng
- Đặc điểm của các báo cáo trong phần mềm kế toán:
Thông qua các giao diện được hỗ trợ sẵn trong hệ thống giúp ngườiquản lý dễ dàng in ấn các báo cáo cần thiết đưa ra giấy
Trang 40Báo cáo được cấu tạo bao gồm nhiều dòng, nhiều cột Nhưng do khổgiấy in có giới hạn nên các báo cáo thường được thiết kế gồm ít cột và nhiềudòng.
- Một số công cụ tạo báo cáo:
Crystal Report: Đây là một công cụ tạo báo cáo được sử dụng phổ biến
hiện nay, hỗ trợ hầu hết các ngôn ngữ lập trình Crystal Report có thể thựchiện việc tạo báo cáo một cách độc lập hoặc được tích hợp vào một số ngônngữ lập trình hiện nay (.NET) Crystal Report hỗ trợ các chức năng in ấn, kếtxuất sang các định dạng khác như Excel
Element WordPro: Với Element WordPro, người sử dụng có thể tạo các
báo cáo, thư từ, sơ yếu lý lịch, bản fax một cách nhanh chóng và dễ dàng.Element WordPro hỗ trợ tất cả định dạng tài liệu hàng đầu: PDF, DOC(MSWord), DOCX (MSWord 2007 +), và RTF (Rich Text Format)
XtraReport: Là 1 công cụ tích hợp trong bộ công cụ tạo giao diện
DevExpress, hỗ trợ đầy đủ các tính năng của việc tạo báo cáo Không nhữngthế, nó còn giúp nhà phát triển dễ dàng tạo các mẫu báo cáo, và có khả năngcho phép người sử dụng cuối có thể tùy chỉnh mẫu báo cáo theo nhu cầu củamình Cung cấp các tính năng kết xuất mẫu báo cáo ra các định dạng cơ bảnnhư PDF, DOC
Ngoài ra còn có các công cụ tạo báo cáo được tích hợp sẵn trong hệ cơ