Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
MỤC LỤC
2.1.6 Nguyên tắc thiết kế giao diện 22
3.4.1 Yêu cầu tối thiếu đối với phần cứng và phần mềm 60
3.4.3 Đào tạo hướng dẫn người sử dụng 61
3.5 Phương hướng hoàn thiện phần mềm trong tương lai 61
SV: Hà Thị Thanh Thủy Lớp: LT11B
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
DANH MỤC CÁC TỪ VIẾT TẮT
Cty CP TM & DV Công ty cổ phần thương mại và dịch vụ
CSDL Cơ sở dữ liệu
HQTCSDL Hệ quản trị cơ sở dữ liệu
VB Visual Basic
HĐQT Hội đồng quản trị
SĐT Số điện thoại
MS Microsoft
SV: Hà Thị Thanh Thủy Lớp: LT11B
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
DANH MỤC BẢNG, MẪU BIỂU
BẢNG
2.1.6 Nguyên tắc thiết kế giao diện 22
3.4.1 Yêu cầu tối thiếu đối với phần cứng và phần mềm 60
3.4.3 Đào tạo hướng dẫn người sử dụng 61
3.5 Phương hướng hoàn thiện phần mềm trong tương lai 61
DANH MỤC HÌNH VẼ
Hình 1.2: Sơ đồ xử lý dữ liệu của Visoft Accounting 2005 Error: Reference
source not found
Hình 2.1: Cấu hình phần mềm Error: Reference source not found
Hình 2.2: Vòng đời phát triển của phần mềm Error: Reference source not
found
Hình 2.3: Quy trình phân tích yêu cầu của phần mềm. Error: Reference source
not found
Hình 2.4: Thể hiện tầm quan trọng của thiết kế phần mềm Error: Reference
source not found
Hình 2.5: Mối liên quan của thiết kế phần mềm với công nghệ phần mềm
Error: Reference source not found
SV: Hà Thị Thanh Thủy Lớp: LT11B
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Hình 2.6: Mối quan hệ giữa hai khía cạnh kỹ thuật và quản lý Error: Reference
source not found
Hình 2.7: Tiến trình thiết kế phần mềm Error: Reference source not found
Hình 3.1: Sơ đồ luồng thông tin Error: Reference source not found
Hình 3.2: Sơ đồ phân cấp chức năng Error: Reference source not found
Hình 3.3: Sơ đồ ngữ cảnh Error: Reference source not found
Hình 3.4: Sơ đồ luồng dữ liệu mức 0 Error: Reference source not found
Hình 3.5: Sơ đồ luồng dữ liệu mức 1 – chức năng “Quản lý hàng nhập”.Error:
Reference source not found
Hình 3.6: Sơ đồ luồng dữ liệu mức 1 – chức năng “Quản lý hàng xuất” Error:
Reference source not found
Hình 3.7: Sơ đồ luồng dữ liệu mức 1 – chức năng “Lập báo cáo” Error:
Reference source not found
Hình 3.8: Sơ đồ quan hệ thực thể liên kết 52
Hình 3.9: Thuật toán Đăng nhập Error: Reference source not found
Hình 3.10: Thuật toán lập phiếu nhập/ xuất kho Error: Reference source not
found
Hình 3.11: Thuật toán sửa dữ liệu Error: Reference source not found
Hình 3.12: Thuật toán xóa dữ liệu Error: Reference source not found
Hình 3.13: Thuật toán thêm dữ liệu Error: Reference source not found
SV: Hà Thị Thanh Thủy Lớp: LT11B
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin với những ứng dụng thiết thực đang dần khẳng
định vị trí của nó trong mọi lĩnh vực của đời sống xã hội và tham gia vào mọi ngành
nghề để hỗ trợ cho con người đưa ra những phương án nhanh chóng, chính xác và kịp
thời. Sự phát triển của công nghệ thông tin được xem là kim chỉ nam cho những mục
tiêu mới có gắn với các ứng dụng khoa học kỹ thuật của doanh nghiệp; đó cũng chính
là việc tạo cơ sở hạ tầng, làm nền tảng vững chắc để xây dựng và phát triển nền kinh tế
vững mạnh. Nó trở thành công cụ đắc lực nhất giúp nâng cao hiệu quả và chất lượng
của công việc. Vì thế, việc đưa tin học vào lĩnh vực quản lý của doanh nghiệp là xu
hướng tất yếu. Tin học hóa từng bước công tác quản lý, khai thác và điều hành kinh
doanh là công việc cần được thực hiện ngay. Hơn nữa trong môi trường kinh doanh
cạnh tranh khốc liệt, nắm bắt thông tin kinh tế trở thành vấn đề sống còn đối với các
đơn vị kinh doanh, đơn vị nào chủ động được thông tin sẽ có ưu thế tuyệt đối trong
hoạt động kinh doanh.
• Lý do chọn đề tài:
Qua thời gian thực tập tại Công ty cổ phần thương mại và dịch vụ Mạnh Hưng
Phát em nhận thấy:
Đối với một đơn vị kinh doanh mang tính thương mại có số lượng khách hàng lớn
và đặc biệt là khách hàng vãng lai nhiều như Công ty cổ phần thương mại và dịch vụ
Mạnh Hưng Phát thì việc cập nhật nhanh chóng số lượng hàng tồn kho sẽ rất quan
trọng. Nó giúp cho nhà quản lý biết chắc chắn khả năng đáp ứng nhu cầu khách hàng
của công ty, tạo điều kiện thuận lợi cho việc nắm bắt thời cơ trong kinh doanh. Nếu
việc quản lý hàng tồn kho không đúng phương pháp và không khoa học sẽ rất dễ gây
thất thoát hàng hóa, gây tổn thất cho công ty.
Một phần mềm quản lý hàng tồn kho có hiệu quả giúp cho nhà quản lý cập nhật tốt
thông tin về tình hình kinh doanh của doanh nghiệp. Nếu nhà quản lý nắm rõ mặt hàng
nào được khách hàng mua nhiều nhất và mặt hàng nào ít được bán nhất cũng giúp nhà
quản lý điều tiết được lượng hàng tồn trong kho và lên kế hoạch kinh doanh.
Công ty CP TM & DV Mạnh Hưng Phát chuyên kinh doanh các loại mặt hàng sắt
thép nên số lượng hàng hóa nhiều, các loại bản mã cũng có nhiều kích thước khác
nhau… nên việc quản lý hàng hóa trở nên phức tạp. Phân hệ kế toán hàng tồn kho
trong phần mềm không còn đáp ứng tốt yêu cầu thực tiễn trong quản lý của công ty,
gây ra sự bất tiện. Sự cập nhật không kịp thời lượng hàng xuất bán trong ngày đã tạo
SV: Hà Thị Thanh Thủy Lớp: LT11B
1
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
nên sự không đồng bộ và thống nhất với phòng kinh doanh. Vì thế, xuất phát từ đặc
điểm thực tế và nhu cầu cần có một phần mềm quản lý hàng tồn kho tốt hơn để đáp
ứng nhu cầu ngày càng cao trong quản lý, em đã lựa chọn đề tài:
“ Xây dựng phần mềm quản lý hàng tồn kho tại Công ty cổ phần thương mại
và dịch vụ Mạnh Hưng Phát”
• Mục đích nghiên cứu:
Đề tài được thực hiện nhằm tìm hiểu về cách thức quản lý hàng tồn kho của
công ty cổ phần thương mại và dịch vụ Mạnh Hưng Phát, từ đó xác định được quy
trình thực hiện bài toán quản lý hàng tồn kho và xác định phương pháp luận để phân
tích – thiết kế hệ thống thông tin quản lý hàng tồn kho. Việc tạo ra một phần mềm
quản lý hàng tồn kho có hiệu quả sẽ thúc đẩy hoạt động kinh doanh của công ty. Với
thông tin chính xác luôn được cập nhật sẽ giúp công ty luôn đáp ứng nhanh nhất có thể
đối với yêu cầu của khách hàng về hàng hóa. Báo cáo về hàng hóa là căn cứ cho ban
lãnh đạo có kế hoạch trong việc kinh doanh (nhập hàng – xuất hàng) sao cho có lợi
nhất cho công ty.
• Phạm vi, đối tượng nghiên cứu của đề tài
- Quy trình, nghiệp vụ quản lý hàng tồn kho tại công ty cổ phần thương
mại và dịch vụ Mạnh Hưng Phát. Phương pháp tinh giá hàng tồn kho
theo phương pháp tính giá trung bình.
- Các công cụ hỗ trợ cho việc lập trình: ngôn ngữ lập trình Visual Basic
6.0, hệ quản trị cơ sở dữ liệu Access 2003,
- Các phương pháp luận về xây dựng phần mềm
• Phương pháp nghiên cứu:
- Để thu thập dữ liệu: sử dụng phương pháp nghiên cứu tài liệu, phương
pháp quan sát và phương pháp phỏng vấn.
- Các phương pháp xử lý dữ liệu gồm: phương pháp thống kê, phân tích
tổng hợp, tổng hợp so sánh.
• Kết cấu đề tài:
Báo cáo chuyên đề của em ngoài lời nói đầu và phần kết luận ra thì gồm những
phần sau:
Chương 1: Tổng quan về công ty cổ phần thương mại và dịch vụ Mạnh Hưng
Phát.
SV: Hà Thị Thanh Thủy Lớp: LT11B
2
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Chương 2: Cơ sở phương pháp luận về xây dựng phần mềm.
Chương 3: Xây dựng phần mềm quản lý hàng tồn kho tại Công ty cổ phần
thương mại và dịch vụ Mạnh Hưng Phát.
Qua quá trình thực tập tại công ty cổ phần thương mại và dịch vụ Mạnh Hưng
Phát em đã có được rất nhiều kinh nghiệm thực tiễn và hiểu hơn về kiến thức mình đã
được học trong trường lớp. Em rất cảm ơn sự hướng dẫn và chỉ bảo nhiệt tình của giáo
viên hướng dẫn TS.Nguyễn Thị Bạch Tuyết đã giúp em hoàn thành chuyên đề thực tập
tốt nghiệp. Ngoài ra, em cũng rất cảm ơn sự chỉ bảo và dạy dỗ đầy tâm huyết của các
thầy cô trong khoa đã cho em những kiến thức vô cùng quý giá.
Do có nhiều hạn chế về thời gian, kiến thức cũng như kinh nghiệm thực tế nên
chuyên đề của em không thể tránh khỏi những sai sót. Em rất mong các thầy cô thông
cảm.
Sinh viên thực tập: Hà Thị Thanh Thủy
SV: Hà Thị Thanh Thủy Lớp: LT11B
3
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
CHƯƠNG 1
TỔNG QUAN VỀ CÔNG TY CỔ PHẦN THƯƠNG MẠI VÀ
DỊCH VỤ MẠNH HƯNG PHÁT
1.1 Tìm hiều về công ty
1.1.1 Giới thiệu công ty
Công ty CP TM và DV Mạnh Hưng Phát là doanh nghiệp chuyên kinh doanh các
mặt hàng kim khí, sắt thép gồm: sắt xây dựng công trình, sắt thép chế tạo gia công kim
khí (thép tấm, thép lá, thép hình U, I, C, H, V…), thép ống - hộp các loại.
Công ty chính thức được thành lập và đi vào hoạt động từ tháng 08 năm 2007 với
vai trò là nhà phân phối độc quyền các sản phẩm sắt thép của tập đoàn Hòa Phát. Với
sự phát triển không ngừng, năm 2009 công ty mở rộng hoạt động kinh doanh sang các
loại thép hình và các sản phẩm thép xây dựng khác.
- Tên giao dịch: Công ty Cổ phần Thương mại và Dịch vụ Mạnh Hưng Phát.
- Tên quốc tế: Manh Hung Phat Services and Trading Joint Stock Company.
- Trụ sở chính: 420 – Ngô Gia Tự - Phường Đức Giang – Quận Long Biên –
TP.Hà Nội.
- Chủ tịch HĐQT kiêm Tổng giám đốc công ty: Ông Nguyễn Văn Mạnh
- Mã số thuế: 0103060380
1.1.2 Lĩnh vực kinh doanh và đối tượng khách hàng
- Lĩnh vực kinh doanh của công ty:
+ Thép lá, thép tấm, thép hình các loại, cắt bản mã.
+ Thép xây dựng, thép ống hộp, V, U ,I ,C, xà gồ.
+ Thép lá mạ kẽm các loại, Inox, tôn lợp, ống đúc, thép tròn chế tạo.
- Khách hàng chủ yếu: các công ty sản xuất, thương mại và những khách hàng
vãng lai có nhu cầu. :
+ Công ty ống thép Hòa Phát
+ Công ty ống théo 190
SV: Hà Thị Thanh Thủy Lớp: LT11B
4
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
+ Công ty cổ phần thép Hàn Việt
+ Công ty CP SX và TM Phúc Tiến
+ Công ty CP thép Phương Trung
+ Công ty CP Sông Đà 6.04
+ Công ty CP Thép Mới
+ Các công ty và khách hàng lẻ khác.
1.1.3 Đặc điểm tổ chức và hoạt động kinh doanh
Đặc điểm tổ chức quản lý
Hình 1.1 Sơ đồ bộ máy quản lý của Cty CP TM và DV Mạnh Hưng Phát
Nhiệm vụ, chức năng của các phòng ban:
- Hội đồng quản trị: là cơ quan quản lý của công ty, có toàn quyền nhân danh
công ty ra quyết định, thực hiện các quyền và nghĩa vụ của công ty.
- Chủ tịch hội đồng quản trị là người thay mặt HĐQT đưa ra các quyết định
chính sách cho công ty.
- Giám đốc là đại diện pháp nhân của công ty, có quyền quyết định tất cả các vấn
đề kinh doanh, tài chính…
- Ban kiểm soát: Kiểm tra, giám sát tình hình hoạt động của tất cả các phòng ban
SV: Hà Thị Thanh Thủy Lớp: LT11B
5
Phòng kinh
doanh
Phòng kế toán
Phòng nhân
sự
Phòng kinh
doanh
Phòng kế toán
Phòng nhân
sự
HỘI ĐỒNG QUẢN TRỊ
BAN KIỂM
SOÁT
CHỦ TỊCH HỘI ĐỒNG
QUẢN TRỊ
GIÁM ĐỐC
Phòng kinh
doanh
Phòng kế toán
Phòng nhân
sự
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
trong công ty.
- Phòng kinh doanh: phụ trách khai thác nguồn hàng, tìm kiếm khách hàng và
thực hiện các hoạt động PR.
- Phòng kế toán: Giám sát tình hình tài chính, theo dõi các hoạt động kinh doanh
của công ty dưới hình thái tiền tệ; tư vấn cho ban lãnh đạo ra các quyết định tài
chính phù hợp với từng thời điểm.
- Phòng nhân sự: Thực hiện việc tuyển dụng, đào tạo nhân sự và lên kế hoạch sử
dụng, tư vấn cho ban lãnh đạo.
Đặc điểm tổ chức kinh doanh – tình hình hoạt động kinh doanh
- Hình thức sở hữu: Cổ phần
- Vốn kinh doanh: vốn đăng ký kinh doanh là 9.000.000.000đ (chín tỷ đồng)
được chia làm 900.000 cổ phần , trị giá của mỗi cổ phần là 10.000đ
- Công ty có trụ sở chính tại 420 – Ngô Gia Tự - Long Biên – Hà Nội và hai chi
nhánh:
+ Chi nhánh 1: Dốc Vân – Mai Lâm – Đông Anh – Hà Nội
Giám đốc chi nhánh: Ông Nguyễn Văn Hùng
SĐT: 04.3961.0243 – Fax: 04.3961.7196
+ Chi nhánh 2: Ngõ 53 – Đức Giang – Long Biên – Hà Nội
Giám đốc chi nhánh: Bà Nguyễn Thị Hồng Bích
SĐT: 043.655.5059 – Fax: 04.365.22658
- Tình hình hoạt động kinh doanh
Bảng 1.1 Tình hình hoạt động kinh doanh của công ty từ năm 2007 – 2011
Năm Doanh số (VNĐ) Tăng, giảm
2007 7 273 578 254
2008 7 637 257 167 Tăng 5% so với năm 2007
2009 8 080 218 083 Tăng 5,8% so với năm 2008
2010 8 726 635 530 Tăng 9% so với năm 2009
SV: Hà Thị Thanh Thủy Lớp: LT11B
6
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
2011 10 035 630 859 Tăng 15% so với năm 2010
1.2 Thực trạng ứng dụng công nghệ thông tin tại Công ty Cổ phần thương mại
và dịch vụ Mạnh Hưng Phát
1.2.1. Hiện trạng về phần cứng
- Công ty đã thực hiện triển khai việc tin học hóa vào các quy trình nghiệp vụ
khá hoàn thiện.
- Hiện công ty có 17 máy tính để bàn cho 04 phòng ban với cấu hình:
+ Bộ vi xử lý: Intel® Pentium® E6500 (2.93Ghz), 1066Mhz, 2MB
cache
+ Bộ nhớ trong: 2GB DDR2
+ Ổ đĩa cứng: 320GB Sata
+ Card màn hình: Intel GMA
+ Kết nối mạng: LAN 10/100 Mbps
- Công ty có 1 máy fax, 2 máy đa năng (in + fax + scan), 1 máy phô tô.
- Ngoài ra công ty còn trang bị máy tính xách tay cho giám đốc và kế toán
trưởng.
Đánh giá:
Cấu hình máy như hiện nay có thể đáp ứng tốt với việc cài đặt các phần
mềm tiện ích và phần mềm ứng dụng.
Tỷ lệ 01 máy tính / 01 người là điều kiện thuận lợi cho việc ứng dụng công
nghệ thông tin trong các quy trình xử lý.
1.2.2. Hiện trạng về phần mềm
- Công ty sử dụng bộ phần mềm hỗ trợ Microsoft Office có sẵn để thực hiện quản
lý, xử lý các công văn, giấy tờ như: hợp đồng kinh tế, đơn đặt hàng, báo giá
hàng hóa…
- Ngoài ra, công ty đã và đang sử dụng phần mềm kế toán Visoft Accounting
2005 của Công ty CP phần mềm Việt Á. Đây là một công ty chuyên nghiệp
trong lĩnh vực phát triển và triển khai ứng dụng trong lĩnh vực phần mềm kế
SV: Hà Thị Thanh Thủy Lớp: LT11B
7
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
toán.
- Phần mềm bao gồm các phân hệ sau:
+ Kế toán Quỹ, ngân hàng
+ Kế toán bán hàng và công nợ phải thu
+ Kế toán mua hàng và công nợ phải trả
+ Quản lý hàng tồn kho
+ Kế toán chi phí và giá thành
+ Kế toán tài sản cố định
+ Kế toán tổng hợp, các báo cáo tài chính, thuế
+ Các báo cáo quản trị.
- Phần mềm đã giúp công ty đơn giản hóa các thao tác nghiệp vụ, tăng khả năng
xử lý thông tin.
SV: Hà Thị Thanh Thủy Lớp: LT11B
8
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
- Quá trình xử lý dữ liệu của phần mềm Visoft Accounting
Hình 1.2 Sơ đồ xử lý dữ liệu của Visoft Accounting 2005
SV: Hà Thị Thanh Thủy Lớp: LT11B
9
Nghiệp vụ
kinh tế phát
sinh
Nghiệp vụ
kinh tế phát
sinh
Lập chứng từ
Chứng từ kế
toán
Chứng từ kế
toán
Nhập chứng từ vào
các phân hệ nghiệp vụ
Các tệp nhật ký
Các tệp nhật ký
Chuyển sang sổ cái
Tệp sổ cái
Tệp sổ cái
Lên báo cáo
Sổ sách kế toán
Báo cáo tài chính
Sổ sách kế toán
Báo cáo tài chính
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
1.2.3. Hiện trạng về kết nối mạng
- Các máy tính của công ty được kết nối mạng Internet giúp cho việc cập nhật
thông tin một cách nhanh chóng. Nhân viên kinh doanh có thể truy cập vào địa
chỉ mail của công ty để nhận – gửi các bản hợp
đồng, báo giá hàng hóa… cho các đối tác. Ngoài ra, website riêng
manhhungphat.com cũng thường xuyên được cập nhật các thông tin về hàng
hóa, giá cả và nhận đặt hàng online.
- Các máy tính cũng được kết nối mạng LAN để chia sẻ các file dự liệu trên
Folder Lamviectrenmaychu. Nhân viên có thể truy cập vào thư mục này để lấy
thông tin về khách hàng, báo giá hàng hóa, đơn đặt hàng, hợp đồng kinh tế, các
bản đối chiếu công nợ với các công ty…
1.2.4 Hiện trạng về trình độ cán bộ
- Hầu hết các nhân viên đều có trình độ tin học văn phòng cơ bản, có khả năng sử
dụng thành thạo các chương trình word, excel,…
- Các cán bộ phòng kế toán đã được tập huấn về cách thức sử dụng phần mềm kế
toán Visoft trước khi được tiếp cận với phần mềm
- Giám đốc các chi nhánh và trưởng các phòng ban đều có trình độ tin học vững.
1.2.5 Đánh giá ưu – nhược điểm của việc ứng dụng công nghệ thông tin
1.2.5.1 Ưu điểm
- Công ty có điều kiện về cơ sở hạ tầng tốt, có đầy đủ các trang thiết bị cần thiết.
- Kết nối mạng internet và LAN giúp chia sẻ thông tin hiệu quả, giảm bớt thời
gian tìm kiếm.
- Trình độ tin học của nhân viên tốt.
- Phần mềm kế toán Visoft Accounting đáp ứng hiệu quả các thao tác nghiệp vụ
trên phân hệ kế toán quỹ - ngân hàng, kế toán bán hàng và công nợ phải thu, kế
toán mua hàng và công nợ phải trả, kế toán tổng hợp – báo cáo tài chính- thuế.
1.2.5.2 Nhược điểm
Công ty đã có những đầu tư tốt về cơ sở hạ tầng, tuy nhiên việc sử dụng những ưu
thế sẵn có là chưa hiệu quả do chưa nắm vững tất cả các chức năng của cơ sở hạ tầng
hiện có.
SV: Hà Thị Thanh Thủy Lớp: LT11B
10
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Kết nối mạng trong công ty chưa được sử dụng hợp lý, ngoài việc gửi mail thì các
tiềm năng khác về mạng chưa được khai thác triệt để. Cán bộ nhân viên còn dùng quá
nhiều thời gian vào những việc không nằm trong hệ thống công việc hàng ngày như:
chat, đọc báo điện tử,…
Trang web của công ty mới chỉ mang tính chất giới thiệu và quảng bá hình ảnh của
công ty chứ chưa được sử dụng vào kinh doanh online, thanh toán trực tuyến… Trang
web này chi là trang web tĩnh nên thông tin ít được cập nhật và sự cập nhật không
được thường xuyên, liên tục.
Phân hệ Quản lý hàng tồn kho trên Phần mềm Visoft Accounting không thể hiện
được tính ưu việt đối với quy trình nghiệp vụ quản lý hàng tồn kho tại công ty CP TM
& DV Mạnh Hưng Phát. Phân hệ này cũng chưa đáp ứng được khả năng cập nhật
thông tin liên tục và nhanh chóng. Nó chưa thể cho ra báo cáo hàng ngày về các mặt
hàng bán chạy nhất theo yêu cầu của nhà quản lý.
Mặc dù cán bộ công ty có kiến thức tin học vững, tuy nhiên vẫn chưa sử dụng các
kiến thức có được của bản thân để vận dụng vào công tác quản lý và các thao tác
nghiệp vụ hiệu quả.
SV: Hà Thị Thanh Thủy Lớp: LT11B
11
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
CHƯƠNG 2
CƠ SỞ PHƯƠNG PHÁP LUẬN XÂY DỰNG PHẦN MỀM
2.1 Giới thiệu về phần mềm
2.1.1 Khái niệm về phần mềm
Phần mềm tin học đã trở thành phần tử chủ chốt của các hệ thống dựa trên máy
tính. Theo tiến sỹ Roger Presman, một chuyên gia về công nghệ phần mềm của Mỹ thì
phần mềm được hiểu là nền tảng của 3 yếu tố:
+ Chương trình máy tính: Mã nguồn, mã máy.
+ Các cấu trúc dữ liệu cho phép chương trình xử lý các thông tin thích hợp: cấu
trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớ ngoài).
+ Tài liệu hướng dẫn sử dụng phần mềm: hướng dẫn sử dụng (dùng cho người
dùng), tham khảo kỹ thuật (dùng cho người bảo trì), tài liệu phát triển (dành cho nhà
phát triển).
2.1.2 Các đặc trưng và vai trò của phần mềm
2.1.2.1 Các đặc trưng của phần mềm
Phần mềm là phần tử hệ thống logic chứ không phải là hệ thống vật lý do đó nó
có những đặc trưng khác với hệ thống phần cứng.
- Phần mềm được kỹ nghệ hoá, nó không được chế tạo theo nghĩa cổ điển với
sự tiêu thụ các nguyên nhiên vật liệu. Nó là sản phẩm của ngành công
nghiệp phần mềm, phần mềm hàm chứa một lượng tri thức rất lớn được tạo
ra chủ yếu dựa vào tri thức và trí tuệ của người sản xuất phần mềm.
- Phần mềm không bị hỏng đi trong quá trình sử dụng nhưng thoái hoá theo
thời gian.
- Thay đổi là bản chất của phần mềm vì nó cần đáp ứng nhu cầu của người
dùng.
- Phần mềm được xây dựng theo đơn đặt hàng chứ không lắp ráp từ các thành
phần có sẵn.
- Phần mềm là phần tử rất dễ được nhân bản.
SV: Hà Thị Thanh Thủy Lớp: LT11B
12
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
2.1.2.2 Vai trò của phần mềm
- Phần mềm là “linh hồn” của các hệ thống máy tính.
- Nó là nền tảng của mọi hoạt động xã hội và tổ chức.
- Mọi nền kinh tế phụ thuộc rất lớn vào phần mềm:
+ Thu, chi từ phần mềm chiếm đáng kể trong GNP
+ Phần mềm sai , hỏng thì kinh tế tổn thất rất lớn.
- Phần mềm tạo nên sự khác biệt giữa các tổ chức:
+ Phong cách làm việc của những tổ chức có sử dụng phần mềm chuyên nghiệp
hơn, thoải mái hơn
+ Năng suất lao động cũng sẽ được nâng cao khi tổ chức sử dụng các phần
mềm phù hợp.
Ngày càng có nhiều hệ thống được phần mềm điều khiển, trợ giúp. Tính tự
động của các hệ thống ngày một cao. Ứng dụng phần mềm có mặt trên mọi lĩnh
vực xã hội: kinh tế, giáo dục, quân sự…
2.1.3 Khái quát về công nghệ phần mềm
Công nghệ phần mềm – Software Technology bao gồm một tập hợp với 3 yếu
tố chủ chốt: Phương pháp, công cụ và thủ tục giúp cho nhà 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ề 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ần mề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
+ Bảo trì
- Các công cụ của phần mềm cung cấp sự hỗ trợ tự động hay báo tự động cho
các phương pháp. Tiêu biểu là công nghệ phần mềm có máy tính hỗ trợ
CASE.
SV: Hà Thị Thanh Thủy Lớp: LT11B
13
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
- 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ụ với nhau.
Hình 2.1 Cấu hình phần mềm
Phần mềm có các đặc tính là tất cả các điểm chung cho mọi ứng dụng: dữ liệu,
các tiến trình, các ràng buộc và các giao diện.
• Dữ liệu:
- Đầu vào: Dữ liệu vào là dữ liệu ở bên ngoài máy tính, và chúng được đưa
vào bằng cách sử dụng một thiết bị đầu vào. Thiết bị đầu vào được sử dụng
để đưa dữ liệu vào máy tính có thể là: bàn phím, máy quét, hoặc được
truyền từ một máy tính khác.
- Đầu ra: Dữ liệu ra ngược lại so với dữ liệu vào ở chỗ, đầu ra là các dữ liệu
được đưa ra ngoài máy tính. Một số các thiết bị đầu ra như máy in, màn
hình hiển thị, một máy tính khác
- Sự lưu trữ dữ liệu và sự tìm kiếm dữ liệu: Dữ liệu được mô tả ở dạng vật lý,
trong một máy có thể đọc được các khuôn dạng dữ liệu. Việc tìm kiếm dữ
liệu được hiểu là bạn có thể truy nhập vào dữ liệu ở dạng lưu trữ của nó.
Việc lưu trữ và tìm kiếm luôn đi cùng với nhau (cả ở mức quan niệm lẫn
trong các chương trình phần mềm). Việc lưu trữ dữ liệu đòi hỏi hai kiểu
định nghĩa dữ liệu là kiểu vật lý và kiểu logic.
• Xử lý:
- Xử lý bao gồm một chuỗi các lệnh hoặc các sự kiện có liên quan với nhau
làm việc với các dữ liệu. Kết quả của một xử lý có thể là: làm thay đổi cơ sở
dữ liệu, đưa dữ liệu trả lời ra thiết bị đầu cuối, máy in hoặc in ra giấy, có thể
SV: Hà Thị Thanh Thủy Lớp: LT11B
14
Kế hoạch
Kế hoạch
Đặc tả
yêu cầu
Thiết kế
Cấu trúc dữ
liệu
Văn bản
chương trình
Đặc tả kiểm thử
Chương
trình làm
việc
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
là những yêu cầu về các trang thiết bị, sản sinh những chương trình, hoặc
lưu trữ những luật, những thông tin mới, được suy diễn ra về các tình huống,
các phần tử.
• Ràng buộc:
- Ràng buộc bao gồm: ràng buộc thứ tự trước, ràng buộc thứ tự sau, ràng buộc
thời gian, ràng buộc cấu trúc, ràng buộc điều khiển và cả ràng buộc về tham
chiếu.
- Ràng buộc về thứ tự trước (Prerequisite Constraint): Bắt buộc về thứ tự trước là
điều kiện đầu tiên phải được đáp ứng để có thể bắt đầu quá trình xử lý.
- Ràng buộc về thứ tự sau (Postrequisite Constraint): Ràng buộc loại này là
điều kiện cần phải thỏa mãn để quá trình xử lý có thể hoàn thành được. Cụm
câu lệnh này được đưa vào cuối quá trình xử lý.
- Ràng buộc về thời gian (Time Constraint): Bao gồm ràng buộc về thời gian
xử lý, thời gian phân chia cho một quá trình xử lý, thời gian yêu cầu đối với
các quá trình xử lý bên ngoài, thời gian xử lý đồng bộ, thời gian trả lời cho
quá trình xử lý với giao diện ngoài.
- Ràng buộc về mặt cấu trúc: Có thể hiểu là bao gồm việc xác định loại đầu
vào và đầu ra của dữ liệu nào được cho phép, quá trình xử lý được thực hiện
như thế nào và mối quan hệ giữa các quá trình với nhau.
- Ràng buộc về điều khiển: Liên quan đến việc duy trì mối quan hệ về dữ liệu.
- Ràng buộc về suy diễn: Đó là những khả năng có thể xảy ra từ một ứng dụng,
dựa vào các kết quả trước đó, hoặc có thể dựa vào các quan hệ về dữ liệu, ta
có thể dẫn đến một kết quả khác.
• Giao diện:
Quan trọng nhất là giao diện người sử dụng - là phương tiện giao tiếp giữa
người sử dụng và chương trình. Sau đó là giao diện thủ công - là các mẫu báo cáo,
và một số giao diện đã được chuẩn hóa như giao diện về mạng LAN của Institue of
Electrical and Electronic Engineers, chuẩn OSI (Open System Interface) của
International Standards Organization,
2.1.4 Vòng đời phát triển của phần mềm
Mỗi phần mềm từ khi ra đời, phát triển đều trải qua một chu kỳ trong công nghệ
phần mềm gọi là vòng đời phát triển của phần mềm. Đó là các hoạt động từ khi phần
SV: Hà Thị Thanh Thủy Lớp: LT11B
15
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
mềm được đặt hàng, phát triển, sử dụng cho tới khi bị loại bỏ. Quy trình phát triển của
phần mềm đựơc thể hiện qua các giai đoạn sau:
Hình 2.2: Vòng đời phát triển của phần mềm
2.1.4.1 Công nghệ hệ thống:
Phần mềm là một bộ phận của 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ới các thành phần
khác của hệ thống quản lý như: phần cứng, nhân tố con người, cơ sở dữ liệu…
2.1.4.2 Phân tích yêu cầu phần mềm:
Nghiên cứu kỹ các yêu cầu của người sử dụng và của hệ thống phần mềm để
xây dựng các đặc tả về hệ thống là cần thiết, nó sẽ xác định hành vi của hệ thống.
Nhiệm vụ của giai đọan này là phải trả lời được các câu hỏi sau:
• Đầu vào của hệ thống là gì?
• Những quá trình cần xử lý trong hệ thống, hay hệ thống phần mềm sẽ phải
xử lý những cái gì?
• Đầu ra: kết quả xử lý của hệ thống là gì?
• Những ràng buộc trong hệ thống, chủ yếu là mối quan hệ giữa đầu vào và
đầu ra như thế nào?
Trả lời được câu hỏi trên, nghĩa là phải xác định được chi tiết các yêu cầu làm
cơ sở để đặc tả hệ thống. Đó là kết quả của sự trao đổi, thống nhất giữa người đầu tư,
SV: Hà Thị Thanh Thủy Lớp: LT11B
16
Công nghệ
hệ thống
Công nghệ
hệ thống
Phân tích
Phân tích
Thiết kế
Thiết kế
Mã hoá
Mã hoá
Kiểm thử
Kiểm thử
Bảo trì
Bảo trì
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
người sử dụng với người xây dựng hệ thống. Mục tiêu là xây dựng các hồ sơ mô tả chi
tiết các yêu cầu của bài toán nhằm nêu bật được hành vi, chức năng cần thực hiện của
hệ thống dự kiến.
Như vậy, phân tích yêu cầu là quá trình suy luận các yêu cầu hệ thống thông
qua quan sát hệ thống hiện tại, thảo luận với các người sử dụng, phân tích công việc.
Việc này có thể liên quan với việc tạo một hay nhiều mô hình khác nhau. Nó giúp các
phân tích viên hiểu biết hệ thống. Các mẫu hệ thống cũng có thể được phát triển để mô
tả các yêu cầu. Ta có quy trình để có các chức năng của hệ thống:
Hình 2.3: Quy trình phân tích yêu cầu của phần mềm
2.1.4.3 Thiết kế và mã hóa phần mềm:
Nhiệm vụ của thiết kế là chuyển đổi những yêu cầu của hệ thống (kết quả của
quá trình phân tích) sang dạng biểu diễn của hệ thống phần mềm. Nghĩa là xây dựng
các mô tả văn bản (thiết kế chi tiết) nêu rõ mối quan hệ giữa tiền điều kiện và hậu điều
kiện cho tất cả các chức năng (quá trình) của hệ thống. Tiền điều kiện xác định những
cái sẽ nhận giá trị chân lý đúng trước khi một quá trình thực hiện, còn hậu điều kiện
xác định những điều sẽ nhận giá trị đúng khi chấp nhận tiền điều kiện và khi quá trình
đó kết thúc thành công.
SV: Hà Thị Thanh Thủy Lớp: LT11B
17
Nghiên cứu
khả thi
Nghiên cứu
khả thi
Phân tích yêu
cầu
Phân tích yêu
cầu
Xác định các
yêu cầu
Xác định các
yêu cầu
Đặc tả yêu
cầu
Đặc tả yêu
cầu
Định nghĩa
các yêu cầu
Định nghĩa
các yêu cầu
Các mô hình
hệ thống
Các mô hình
hệ thống
Báo cáo khả
thi
Báo cáo khả
thi
Tài liệu yêu
cầu
Tài liệu yêu
cầu
Đặc tả các
yêu cầu
Đặc tả các
yêu cầu
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Tầm quan trọng của thiết kế được thể hiện qua hình sau:
Hình 2.4: Thể hiện tầm quan trọng của thiết kế phần mềm
Như vậy, thiết kế là một thực tế về một quyết định chọn lựa, xây dựng một đặc
tả về hành vi nhìn thấy được từ bên ngoài và bổ sung các chi tiết cần thiết cho việc cài
đặt trên hệ thống máy tính bao gồm cả chi tiết về tổ chức quản lý dữ liệu, công việc và
tương tác với con người. Thiết kế phải nhờ vào các kinh nghiệm và phải học tập những
cái có sẵn từ các hệ thống khác; không thể chỉ đọc sách là đủ. Bản thiết kế tốt là chìa
khóa cho sự thành công của hệ thống.
Mối liên quan của thiết kế phần mềm với công nghệ phần mềm được thể hiện
qua sơ đồ sau:
Hình 2.5: Mối liên quan của thiết kế phần mềm với công nghệ phần mềm
SV: Hà Thị Thanh Thủy Lớp: LT11B
18
Bảo trì
Kiểm thử
Cài đặt
Thiết kế
Cài đặt
Kiểm thử
Bảo trì
Có thiết kế Không có thiết kế
Thiết kế
Lập trình
Kiểm thử
Mô hình
chức năng
Mô hình
hành vi
Các yêu
cầu khác
Mô hình
thông tin
Thiết kế
dữ liệu
Thiết kế
cấu trúc
Thiết kế
thủ tục
Module
chương trình
Phần mềm đã tích
hợp và kiểm thử
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Thiết kế phần mềm là hoạt động được xác lập dựa trên hai mặt: quản lý và kỹ
thuật, chúng đan xen với nhau. Mối quan hệ giữa hai khía cạnh kỹ thuật và quản lý
được thể hiện qua sơ đồ:
Hình 2.6: Mối quan hệ giữa hai khía cạnh kỹ thuật và quản lý
• Trong quan điểm quản lý: thiết kế phần mềm được tiến hành 2 bước:
+ Thiết kế sơ bộ: quan tâm đến việc dịch các yêu cầu thành các kiến trúc dữ
liệu và phần mềm.
+ Thiế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 đến
cấu trúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mềm.
• Đối với khía cạnh kỹ thuật, xuất hiện một số hoạt động thiết kế như:
+ Thiết kế dữ liệu
+ Thiết kế kiến trúc
+ Thiết kế thủ tục
+ Thiết kế đối tượng
+Thiết kế giao diện
Trong tiến trình thiết kế, mô hình để biểu diễn công việc thiết kế là đồ thị. Các
đỉnh của đồ thị dùng để biểu diễn các thực thể (các tiến trình, các chức năng, các
kiểu ) và các cạnh là các mối liên hệ giữa chúng. Quá trình thiết kế thường được mô
tả bằng nhiều mức khác nhau của cách tiếp cận trừu tượng hóa, nhằm tách các bộ phận
cấu thành của bài toán nhằm nâng cao độ chắc chắn, độ tin cậy của hệ thống.
Tiến trình thiết kế được chỉ ra ở sơ đồ sau:
SV: Hà Thị Thanh Thủy Lớp: LT11B
19
Thiết kế sơ bộ
Thiết kế chi tiết
Thiết kế dữ liệu
Thiết kế kiến trúc
Thiết kế thủ tục
Thiết kế đối tượng
Thiết kế giao diện
Khía
cạnh
kỹ
thuật
Khía cạnh quản
lý
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
Hình 2.7: Tiến trình thiết kế phần mềm
2.1.4.4 Kiểm thử:
Tiến trình kiểm thử tập trung vào phần logic bên trong của phần mềm, đảm bảo
rằng tất cả các câu lệnh đều được kiểm thử nhằm phát hiện ra các lỗi và kết quả phù
hợp với dữ liệu vào.
Khi kiểm thử phần mềm ta thường phát hiện ra một số lỗi như:
+ Lỗi chiến lược: ý đồ thiết kế sai
+ Phân tích các yêu cầu không đầy đủ hoặc lệch lạc
+ Hiểu sai về các chức năng
+ Vi phạm nguyên lý đối tượng
+ Lỗi tại các thủ tục chịu tải, đây là những lỗi nặng.
+ Lỗi lây lan: lỗi được truyền từ chương trình này sang chương trình khác.
+ Lỗi cú pháp: viết sai quy định của ngôn ngữ.
+ Hiệu ứng phụ: lỗi xảy ra khi một đơn vị chương trình làm thay đổi giá trị
của một biến ngoài ý kiến của lập trình viên.
Các lỗi của phần mềm tuân theo nguyên lý mức độ lỗi:
a) Mức chịu tải tăng theo chiều đi xuống: lỗi phát ra ở mức dưới được xem
là nặng hơn ở mức trên.
b) Lỗi nặng nhất nằm ở mức cao nhất (ý đồ thiết kế ) và ở mức thấp nhất
(thủ tục chịu tải lớn nhất)
Do vậy, khi xây dựng phần mềm, cần đảm bảo nguyên lý an toàn là: Mọi lỗi dù
SV: Hà Thị Thanh Thủy Lớp: LT11B
20
Phát thảo
thiết kế phi
hình thức
Thiết kế
phi hình
thức
Thiết kế
hình thức
Thiết kế
hoàn
chỉnh
Chuyên đề thực tập tốt nghiệp Khoa: Tin học Kinh tế
nhỏ lớn đều phải được phát hiện ở một bước nào đó của chương trình, trước khi lỗi đó
hoành hành.
Có hai kiểu kiểm thử:
+ Kiểu thứ nhất liên quan logic được kiểm tra thế nào trong ứng dụng. Chiến
lược kiểm thử logic có thể là black-box hoặc white-box. Chiến lược kiểm thử black-
box cho ràng module của chương trình hoặc hệ thống liên quan tới đầu vào và đầu ra.
Các chi tiết logic chi tiết được che dấu và không cần phân tích. Chiến lược black-box
có tính hướng dữ liệu. White-box hướng tới việc cho rằng logic đặc trưng là quan
trọng và cần phải kiểm tra. White-box đánh giá một vài hoặc tất cả mặt logic để kiểm
tra được tính đúng đắn của chức năng. White-box hướng về logic - giải thuật.
+ Kiểu thứ hai liên quan tới việc kiểm thử được tiến hành thế nào, không quan
tâm chiến lược kiểm tra logic. Nó là top-down hoặc bottom-up. Top-down coi chương
trình chính là quan trọng nhất nên cần phải phát triển và kiểm tra trước và tiếp tục
trong quá trình phát triển. Bottom-up cho rằng các module và chương trình riêng sẽ
được phát triển hoàn toàn như standalone. Vậy chúng được kiểm thử riêng rẽ sau đó
được kết hợp thành kiểm tra tổ hợp.
2.1.4.5 Bảo trì:
Bảo trì là giai đoạn cuối cùng của một chu trình phát triển phần mềm. Các
chương trình máy tính luôn thay đổi- phải mở rộng, sửa lỗi, tối ưu hoá, và theo thống
kê thì bảo trì chiếm đến 70% toàn bộ công sức bỏ ra cho một dự án phần mềm. Do
vậy, bảo trì là một hoạt động phức tạp nhưng nó lại là vô cùng cần thiết trong chu trình
sống của sản phẩm phần mềm để đảm bảo cho phần mềm phù hợp với người sử dụng.
Sau khi bàn giao phần mềm cho khách hàng, chắc chắn nó sẽ phải có những
thay đổi để hoàn toàn tương thích với các điều kiện quản lý của cơ sở thực tế - Sự thay
đổi của OS hay thiết bị ngoại vi. Quá trình bảo trì còn xảy ra khi khách hàng yêu cầu
nâng cao chức năng hay hiệu năng. Việc bảo trì phần mềm phải áp dụng lại các bước
của vòng đời phát triển cho chương trình hiện tại chứ không phải chương trình mới.
2.1.5 Các phương pháp thiết kế phần mềm
2.1.5.1 Phương pháp 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 hoá. Tức là
phân ra một vấn đề cần giải quyết thành các vấn đề nhỏ hơn, chi tiết hơn theo sơ đồ
hình cây cho tới khi nhận được các module độc lập, không phân chia nhỏ hơn được
nữa. Khi thiết kế phần mềm ứng dụng, người ta đi từ tổng quát đến chi tiết để tạo
SV: Hà Thị Thanh Thủy Lớp: LT11B
21