Giáo trình Công nghệ phần mềm
Giới thiệu:
Nội dung bài này giới thiệu sơ lược về các khái niệm cơ bản của thông tin, hệ thống
thông tin, hệ thống thông quản lý. Phân biệt và phân loại các đối tượng nêu trên theo những
đặc trưng cơ bản. Đồng thời, trình bày khái quát về các vấn đề thiết kế các đối tượng đã
nêu trên.
Mục tiêu:
Người học có khả năng trình bày được những khái niệm cơ bản về hệ thống thông
tin quản lý (HTTTQL).
Nội dung chính:
1.1. Giới thiệu chung
Thông tin có vai trò vô cùng to lớn trong các hoạt động của con người. Thông tin
và các hệ thống thông tin quản lý là một loại nguồn lực đặc biệt quan trọng trong các tổ
chức. Sau đây là một số khái niệm cơ bản về thông tin và vai trò của thông tin trong kinh
tế - xã hội, các khái niệm hệ thống , hệ thống thông tin nói chung và các khái niệm liên
quan đến HTTTQL nói riêng.
1.1.1. Thông tin và vai trò của thông tin
Trong cuộc sống hàng ngày, khái niệm thông tin phản ánh các tri thức, hiểu biết của
chúng ta về một đối tượng nào đó. Ở dạng chung nhất, thông tin luôn được hiểu như các
thông báo nhằm mang lại một sự hiểu biết nào đó cho đối tượng nhận tin.
Thông tin có tính chất phản ánh và liên quan đến hai chủ thể: chủ thể phản ánh (truyền
tin) và đối tượng nhận sự phản ánh đó (tiếp nhận thông tin). Để chuyển tải được thông tin
cần có “vật mang thông tin”, ví dụ như ngôn ngữ, chữ cái, chữ số, các ký hiệu, bảng biểu
Khối lượng tri thức mà một thông tin mang lại gọi là nội dung thông tin. Tuy nhiên,
ý nghĩa mà nội dung thông tin mang lại sẽ phụ thuộc rất nhiều vào đối tượng tiếp nhận
thông tin. Có những thông tin chỉ có ý nghĩa đối với một nhóm người nhưng có những
thông tin có ý nghĩa với cả xã hội.
Thông tin có vai trò vô cùng to lớn trong các hoạt động của con người. Không có
thông tin, con người không có sự dẫn dắt cho các hoạt động của mình và hoàn toàn bất
định trong môi trường.
Thông tin là một loại nguồn lực đặc biệt quan trọng trong tổ chức; người quản lý
cần thông tin để hoạch định và điều khiển tất cả các tiến trình trong tổ chức, giúp cho tổ
chức tồn tại và phát triển trong môi trường hoạt động của nó. Thông tin trợ giúp người
quản lý tổ chức hiểu rõ thị trường, định hướng cho sản phẩm mới, cải tiến tổ chức và các
hoạt động sản xuất kinh doanh của tổ chức.
Các hệ thống thông tin dựa trên máy tính với ưu thế tự động hóa xử lý công việc
dựa trên khoa học quản lý, khoa học tổ chức và công nghệ thông tin (xử lý và truyền thông)
đã ngày càng mang lại nhiều lợi ích thiết thực cho tổ chức trong mọi hoạt động, từ các công
việc đơn giản lặp lại hàng ngày cho đến công việc phát hiện vấn đề và giải quyết vấn đề.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Công nghệ phần mềm
m thử cấu trúc) Theo phương pháp này, chúng ta sẽ chia không gian thử nghiệm dựa vào cấu trúc của đơn vị cần kiểm tra. Bộ thử nghiệm Hình 5.2. Kiểm thử theo phương pháp hộp trắng Kiểm tra giao tiếp của đơn vị là để đảm bảo dòng thông tin vào ra đơn vị luôn đúng (đúng giá trị, khớp kiểu...) Kiểm tra dữ liệu cục bộ để đảm bảo dữ liệu được lưu trữ trong đơn vị toàn vẹn trong suốt quá trình thuật giải được thực hiện. Ví dụ: nhập dữ liệu sai, tên biến không đúng, kiểu dữ liệu không nhất quán, các ràng buộc hoặc ngoại lệ. Kiểm tra các điều kiện biên của các câu lệnh if, vòng lặp để đảm bảo đơn vị luôn chạy đúng tại các biên này. Kiểm tra để đảm bảo mọi con đường thực hiện phải được đi qua ít nhất một lần. Con đường thực hiện của một đơn vị chương trình là một dãy có thứ tự các câu lệnh bên trong đơn vị đó sẽ được thực hiện khi kích hoạt đơn vị. Ví dụ: Con đường thực hiện của p1 và p2 như sau Đơn vị cần kiểm tra - Giao tiếp - Dữ liệu cục bộ - Các điều kiện biên - Các con đường thực hiện - Các ngoại lệ Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 64 5.4. Các giai đoạn và chiến lược kiểm thử Đối với những dự án phần mềm lớn, những người tham gia được chia thành 2 nhóm: - Nhóm thứ nhất: gồm những người tham gia trong dự án phát triển phần mềm. Nhóm này chịu trách nhiệm kiểm tra các đơn vị của chương trình để chắc chắn chúng thực hiện đúng theo thiết kế. - Nhóm thứ hai: độc lập gồm các chuyên gia tin học nhưng không thuộc nhóm thứ nhất. Nhóm này có nhiệm vụ phát hiện các lỗi do nhóm thứ nhất chủ quan còn để lại. 5.4.1. Kiểm thử đơn vị Sử dụng kỹ thuật hộp trắng và dựa vào hồ sơ thiết kế để xây dựng các bộ thử nghiệm sao cho khả năng phát hiện lỗi là lớn nhất. Vì đơn vị được kiểm tra không là 1 chương trình đầy đủ, hơn nữa đơn vị này có thể được gọi bởi những đơn vị khác hoặc gọi đến những đơn vị khác nên dù chương trình đã được hoàn tất đầy đủ các đơn vị, chúng ta cũng không nên giả thuyết sự tồn tại hoặc tính đúng đắn của các đơn vị khác mà phải xây dựng các module giả lập đơn vị gọi tên là driver và đơn vị bị gọi là stub. Driver đóng vai trò như một chương trình chính nhập các bộ số thử nghiệm và gởi chúng đến đơn vị cần kiểm tra đồng thời nhận kết quả trả về của đơn vị cần kiểm tra. Stub là chương trình giả lập thay thế các đơn vị được gọi bởi đơn vị cần kiểm tra. Stub thực hiện các thao tác xử lý dữ liệu đơn giản như in ấn, kiểm tra dữ liệu nhập và trả kết quả ra. Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 65 Hình 5.3. Kiểm thử đơn vị 5.4.2 Kiểm thử tích hợp Giai đoạn này được tiến hành sau khi đã hoàn tất công việc kiểm thử từng môđun riêng lẻ bằng cách tích hợp các môđun này lại với nhau. Mục đích của giai đoạn này là kiểm tra giao diện của các đơn vị, kiểm tra tính đúng đắn so với đặc tả, kiểm tra tính hiệu quả. Phương pháp thực hiện chủ yếu sử dụng kiểm tra chức năng. Các đơn vị có thể được tích hợp theo một trong hai chiến lược: từ trên xuống (top-down) hoặc từ dưới lên (bottomup). 5.4.2.1. Trên xuống Thuật giải của hướng tiếp cận này gồm những bước sau: - Sử dụng Module chính như 1 driver và các stub được thay cho tất cả các module là con trực tiếp của module chính. - Lần lượt thay thế các stub mỗi lần 1 cái bởi các module thực sự. - Tiến hành kiểm tra tính đúng đắn. - Một tập hợp bộ thử nghiệm được hoàn tất khi hết stub. - Kiểm tra lùi có thể được tiến hành để đảm bảo rằng không phát sinh lỗi mới. Ưu điểm - Kiểm thử trên xuống kết hợp với phát triển trên xuống sẽ giúp phát hiện sớm các lỗi thiết kế và làm giảm giá thành sửa đổi. Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 66 - Nhanh chóng có phiên bản thực hiện với các chức năng chính. - Có thể thẩm định tính dùng được của sản phẩm sớm Nhược điểm - Nhiều môđun cấp thấp rất khó mô phỏng: thao tác với cấu trúc dữ liệu phức tạp, kết quả trả về phức tạp 5.4.2.2. Dưới lên Kiểm ta module lá trước do đó không cần phải viết stub. Thuật giả của hướng này là: - Các module cấp thấp được nhóm thành từng nhóm (thực hiện cùng chức năng) - Viết driver điều khiển tham số nhập xuất. - Bỏ driver và gắn chùm vào module cao hơn. Ưu điểm - Tránh xây dựng các môđun tạm thời phức tạp. - Tránh sinh các kết quả nhân tạo (nhập từ bàn phím) - Thuận tiện cho phát triển các môđun để dùng lại Nhược điểm - Chậm phát hiện các lỗi kiến trúc - Chậm có phiên bản thực hiện 5.4.3. Kiểm thử chấp nhận Kiểm thử chấp nhận được tiến hành bởi khách hàng, còn được gọi là alpha testing. Mục đích là nhằm thẩm định lại xem phần mềm có những sai sót, thiếu sót so với yêu cầu người sử dụng không. Trong giai đoạn này dữ liệu dùng để kiểm thử do người sử dụng cung cấp. Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 67 5.4.4. Kiểm thử beta Đây là giai đoạn mở rộng của alpha testing. Công việc kiểm thử được thực hiện bởi một số lượng lớn người sử dụng. Công việc kiểm thử được tiến hành một cách ngẫu nhiên mà không có sự hướng dẫn của các nhà phát triển. Các lỗi nếu được phát hiện sẽ được thông báo lại cho nhà phát triển. 5.4.5. Kiểm thử hệ thống Đến giai đoạn này, công việc kiểm thử được tiến hành với nhìn nhận phần mềm như là một yếu tố trong một hệ thống thông tin phức tạp hoàn chỉnh. Công việc kiểm thử nhằm kiểm tra khả năng phục hồi sau lỗi, độ an toàn, hiệu năng và giới hạn của phần mềm. 5.5. Xây dựng test case Xây dựng bộ dữ liệu để thử nghiệm theo yêu cầu tối thiểu sau: - Chi tiết và đầy đủ theo từng giao diện của phần mểm - Chi tiết và tổ hợp được tất cả các tình huống có thể phát sinh của dữ liệu đầu vào - Có kết quả mong đợi khi kết quả đúng xảy ra cho từng tình huống Bài tập Câu 1: Trình bày sự khác biệt của giai đoạn thiết kế trong các qui trình khác nhau Câu 2: Trình bày sự khác biệt của giai đoạn lập trình trong các qui trình khác nhau Câu 3: Khi tiến hành thực hiện phần mềm qua các giai đoạn (trong qui trình 5 giai đoạn) có thể phát sinh lỗi trong một giai đoạn nào đó (kết quả chuyển giao không chính xác, thiếu sót, v.v). Theo các anh chị lỗi (nếu phát sinh) của giai đoạn nào là nghiêm trọng nhất Câu 4: Theo các anh chị trong các giai đoạn của qui trình công nghệ phần mềm - Giai đoạn nào là quan trọng nhất (tại sao) - Giai đoạn nào dễ thực hiện nhất (tại sao) - Giai đoạn nào là tốn nhiều thời gian và chi phí nhất (tại sao) - Giai đoạn nào là có thể bỏ qua (trong trường hợp nào và tại sao) Câu 5: Cho biết sự khác biệt cơ bản giữa yêu cầu chức năng (yêu cầu nghiệp vụ, yêu cầu hệ thống) và phi chức năng (yêu cầu chất lượng). Theo anh chị thì loại yêu cầu nào là quan trọng hơn Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 68 Câu 6: Xác định tất cả các yêu cầu chức năng hệ thống có thể có trong các phần mềm sau (chi tiết về qui định, biểu mẫu liên quan có trong mô tả của đề tài) - Phần mềm quản lý bán sách - Phần mềm quản lý học sinh trường cấp 3 - Phần mềm đánh cờ gánh - Phần mềm hỗ trợ giải bài tập phương trình đại số - Phần mềm quản lý giải vô địch bóng đá quốc giá Câu 7: Nhận xét về phát biểu sau “Mọi phần mềm đều có yêu cầu về tính tiện dụng”. - Nếu đúng: giải thích - Nếu sai: giải thích và ví dụ minh họa Câu 8: Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu về tính hiệu quả - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Câu 9: Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu chức năng hệ thống - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Câu 10: Nhận xét về phát biểu sau “Việc mô hình hóa yêu cầu không cung cấp thêm thông tin mới về yêu cầu của phần mềm mà chỉ giúp trình bày lại yêu cầu của phần mềm dưới dạng trực quan hơn - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Câu 11: Nếu không thực hiện qua bước mô hình hóa yêu cầu thì việc lập mô hình đối tượng sẽ có các khó khăn gì? tại sao? Câu 12: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước thiết kế giao diện của đối tượng hay không ? - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Câu 13: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước xác định thuộc tính đối tượng (giai đoạn thiết kế) hay không - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 69 Câu 14: Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước xác định hàm xử lý của đối tượng (giai đoạn thiết kế) hay không - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Bài 1: Xây dựng hồ sơ phần mềm Quản lý thuê bao điện thoại Lưu trữ: Các thông tin về - Các hợp đồng thuê bao điện thoại (Khách hàng, loại thuê bao, máy điện thoại) - Các cuộc gọi (Máy điện thoại, Ngày, Giờ, Thời gian, Nơi gọi đến). Tính toán: - Số tiền phải trả của từng máy điện thoại trong từng tháng: Tiền thuê bao hàng tháng (phụ thuộc vào từng loại thuê bao với các định mức riêng). Tiền cước phí trả thêm (hụ thuộc vào thời gian gọi, số phút gọi, nơi gọi đến) - Tính công nợ khách hàng đối với các khách hàng chưa thanh toán tiền điện thoại. Kết xuất: - Hóa đơn tính tiền điện thoại cho từng khách hàng trong từng tháng. - Danh sách khách hàng chưa thanh toán tiền điện thoại. - Thống kê về nơi gọi đến, thời điểm gọi theo từng khu vực trong từng tháng. Bài 2: Xây dựng hồ sơ phần mềm Quản lý trung tâm giới thiệu việc làm sinh viên Lưu trữ: Các thông tin về - Sinh viên đăng ký tìm việc: Họ và tên, ngày sinh, địa chỉ, tình hình sức khỏe, quá trình học tập và bằng cấp, các công việc có thể đảm nhận, các yêu cầu khi tìm việc. - Đơn vị đăng ký tìm người: Tên, địa chỉ, người đại diện, các công việc cùng yêu cầu tuyển dụng. - Giới thiệu việc làm: Sinh viên, đơn vị, công việc, tình trạng. Tra cứu: Sinh viên tra cứu công việc - Loại công việc. - Mức lương. - Hình thức làm việc. Bài 5: Kiểm tra và đánh giá phần mềm quản lý KHOA CÔNG NGHỆ THÔNG TIN 70 - Nơi làm việc Đơn vị tuyển dụng tra cứu các sinh viên - Bằng cấp chuyên môn. - Sức khỏe. - Phương tiện làm việc. Tính toán: - Các công việc thích hợp cho sinh viên đăng ký làm việc. - Các sinh viên thích hợp cho công việc cần tuyển dụng của 1 đơn vị. Kết xuất: - Danh sách sinh viên đăng ký theo từng công việc. - Danh sách số lượng sinh viên đăng ký theo từng loại công việc. - Danh sách các đơn vị tuyển dụng theo từng công việc. - Danh sách số lượng đơn vị tuyển dụng theo từng công việc. - Thống kê tình hình giới thiệu việc làm thực hiện trong năm. KHOA CÔNG NGHỆ THÔNG TIN 71 MỤC LỤC HÌNH ẢNH TRANG Hình 1.1. Các dạng HTTTQL theo cấp ứng dụng ........................................................ 11 Hình 1.2. Sơ đồ cấu trúc của MIS ................................................................................ 14 Hình 2.1 Sơ đồ chức năng quản lý tài chính ................................................................ 23 Hình 2.2 Sơ đồ BFD quản lý bán hàng của Công ty X ................................................ 24 Hình 2.3. Phân rã DFD ................................................................................................. 27 Hình 2.4. Cân bằng các dòng dữ liệu và chia nhỏ dữ liệu ............................................ 28 Hình 2.5. Ví dụ hệ thống các sơ đồ DFD ..................................................................... 29 Hình 2.6. Sơ đồ cây phân loại yêu cầu ......................................................................... 31 Hình 2.7. Quá trình hình thành yêu cầu ........................................................................ 33 Hình 2.8. Tiến trình phần tích yêu cầu ......................................................................... 33 Hình 3.1. Sơ đồ logic khi tách các thuộc tính rời rạc ................................................... 39 Hình 3.2. Xét phần mềm quản lý thư viện ................................................................... 41 Hình 3.3. Xét phần mềm quản lý giải bóng đá ............................................................. 41 Hình 4.1. Sơ đồ màn hình ............................................................................................. 45 Hình 4.2. Màn hình chính phần mềm thư viện ............................................................. 48 Hình 4.3. Màn hình chính phần mềm quản lý học sinh ................................................ 48 Hình 4.4. Màn hình chính phần mềm quản lý giải bóng đá ......................................... 49 Hình 4.5. Các nút điều khiển của Màn hình chính phần mềm quản lý giải bóng đá ... 49 Hình 4.6. Màn hình mượn sách của phần mềm quản lý thư viện ................................. 50 Hình 4.7. Màn hình nhập học sinh của phần mềm quản lý học sinh ............................ 50 Hình 4.8. Màn hình nhập điểm của phần mềm quản lý học sinh ................................. 50 Hình 4.9. Màn hình đăng ký cầu thủ của phần mềm quản lý giải bóng đá .................. 51 Hình 4.10. Màn hình tra cứu sách của phần mềm quản lý thư viện ............................. 51 Hình 4.11. Màn hình tra cứu học sinh của phần mềm quản lý học sinh ...................... 51 Hình 4.12. Màn hình tra cứu cầu thủ của phần mềm quản lý giải bóng đá .................. 52 Hình 4.13. Màn hình tra cứu học sinh (nâng cao) của phần mềm quản lý học sinh .... 52 Hình 4.14. Màn hình tra cứu cầu thủ (nâng cao) của phần mềm quản lý giải bóng đá 53 Hình 5.1. Kiểm thử giải phương trình bậc 2 theo phương pháp hộp đen ..................... 62 Hình 5.2. Kiểm thử theo phương pháp hộp trắng ......................................................... 63 Hình 5.3. Kiểm thử đơn vị ............................................................................................ 65 KHOA CÔNG NGHỆ THÔNG TIN 72 MỤC LỤC BẢNG TRANG Bảng 1.1. Ví dụ về các HTTTQL trong một doanh nghiệp .......................................... 12 Bảng 2.1. Các mức DFD ................................................................................................ 30 Bảng 4.1. Danh sách các thao tác có thể thực hiện ...................................................... 45 KHOA CÔNG NGHỆ THÔNG TIN 73 TÀI LIỆU THAM KHẢO 1. Nguyễn Xuân Huy, Software Engineering, Institue of Information Technology 2. Nguyễn Tiến Huy, Nhập môn công nghệ phần mềm, ĐH Khoa học Tự Nhiên. 3. Nhóm tác giả, Nhập môn công nghệ phần mềm, Hà Nội, 2012 4. ThS. Lê Thị Ngọc Diệp, Bài giảng Hệ thống thông tin quản lý, PTIT, 2013. 5. TS, Lê Văn Phùng, Kỹ nghệ Phần mềm, Thông tin và truyền thông, 2010. 6. Roger S.Pressman, Kĩ nghệ Phần mềm (tập 2), Giáo dục, 1999 7. Ian Sommerville, Software Engineering, 8th Edition, Addidson-Wesley, 2007. 8. Một số tài liệu tham khảo từ Internet.
File đính kèm:
- giao_trinh_cong_nghe_phan_mem.pdf