Nhập môn Công nghệ phần mềm

53 548 0
Nhập môn Công nghệ phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

nhập môn công nghệ phần mềm×câu hỏi nhập môn công nghệ phần mềm×nhập môn công nghệ phân mềm×vấn đáp nhập môn công nghệ phần mềm×đề thi nhập môn công nghệ phần mềm×thực hành nhập môn công nghệ phần mềm× Từ khóa báo cáo nhập môn công nghệ phần mềmnhập môn công nghệ phần mềm quản lý khách sạnnhập môn công nghệ phần mềm ngô trung việtnhập môn công nghệ phần mềm khtn

TRƯỜNG CAO ĐẲNG CỘNG ĐỒNG GIÁO TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM BẬC, NGÀNH ĐÀO TẠO: CAO ĐẲNG TIN HỌC Biên soạn: Ths Lê Thanh Minh ……………… , ngày tháng Duyệt Khoa: năm 2017 Bài giảng Nhập môn CNPM NĂM 2017 Bài giảng Nhập môn CNPM Mục lục Phần mềm gì? Khái niệm lớp phần mềm Chất lượng phần mềm Phát triển Công nghệ phần mềm Công nghệ phần mềm Qui trình Công nghệ phần mềm 10 Quy trình thác nước .10 Quy trình thác nước cải tiến 11 Quy trình Prototype .11 Quy trình xoắn ốc 12 Chương 2: Xác định phân tích yêu cầu 13 Khảo sát trạng .13 Xác định thu thập yêu cầu .14 Kỹ thuật Phỏng vấn .14 Kỹ thuật dùng bảng câu hỏi 15 Kỹ thuật Nghiên cứu tài liệu .15 Kỹ thuật Quan sát thực tế 16 Phân tích thiết kế nhóm - JAD 16 Mô hình hóa yêu cầu 16 Sơ đồ luồng liệu .17 Sơ đồ tổng quát 17 Sơ đồ tổng quát cho Yêu cầu lưu trữ 22 Sơ đồ tổng quát cho Yêu cầu tra cứu 22 Sơ đồ tổng quát cho Yêu cầu tính toán .23 Sơ đồ tổng quát cho Yêu cầu báo biểu 24 Chương 3: Thiết kế Phần mềm .27 Tổng quan 27 Thiết kế giao diện 27 Thiết kế liệu (lưu trữ) .28 Thiết kế Xử lý .28 Thiết kế liệu 31 Phân loại thuộc tính .33 Thiết kế liệu 36 Sơ đồ kiểu liệu .37 Thiết kế giao diện 38 Tầm quan trọng giao diện .38 Các thành phần giao diện .39 Mục tiêu 39 Các yêu cầu chất lượng .39 Kỹ thuật nâng cao chất lượng .40 Thiết kế Xử lý .45 Chương 4: Kỹ lập trình 49 Kỹ lập trình 49 Lập trình tuyến tính .50 Lập trình cấu trúc 50 Lập trình Hướng đối tượng 50 Mô hình kiến trúc tầng (1 layer) 51 Mô hình kiến trúc tầng (2 layer) 52 Mô hình kiến trúc tầng (3 layer) 53 Bài giảng Nhập môn CNPM Chương 1: Khái niệm phần mềm  Ví dụ: xét số phần mềm sau: Phần mềm quản lý học sinh cấp Phần mềm quản lý thư viện Phần mềm quản lý nhà sách Phần mềm quản lý khách sạn Phần mềm quản lý phòng mạch tư Phần mềm quản lý sổ tiết kiệm Phần mềm quản lý bán vé chuyến bay Phần mềm xếp thời khóa biểu … Phần mềm gì?  Được xem xét hai góc độ: Góc nhìn người dùng Góc nhìn chuyên viên tin học  Phần mềm góc nhìn người sử dụng: Chương trình thực thi máy tính thiết bị chuyên dụng khác Nhằm hỗ trợ cho nhà chuyên môn lĩnh vực chuyên ngành thực tốt thao tác nghiệp vụ  Môi trường triển khai phần mềm: Máy tính: Desktop, Laptop, Tablet PC… Thiết bị chuyên dụng: Thiết bị di động: PDA, Pocket PC, ĐTDĐ Các thiết bị chuyên dụng khác: set-top box, router,  Hỗ trợ làm tốt thao tác nghiệp vụ: Tin học hóa nghiệp vụ làm thủ công Cải tiến chức nghiệp vụ thực máy tính Đề ra, xây dựng triển khai chức nghiệp vụ  Phần mềm góc nhìn chuyên viên Tin học: Đây hệ thống bao gồm thành phần bản: Thành phần giao tiếp Thành phần xử lý Bài giảng Nhập môn CNPM Thành phần lưu trữ Cần xây dựng để thực theo yêu cầu người sử dụng  Thành phần giao tiếp (Giao diện): Cho phép tiếp nhận yêu cầu việc sử dụng phần mềm từ người sử dụng, từ thiết bị thu thập liệu, từ phần mềm khác Cho phép trình bày kết việc thực yêu cầu cho người dùng (kết công việc thực máy tính) điều khiển hoạt động thiết bị điều khiển (đóng/mở cửa, dừng hay cho chuyển động…)  Thành phần giao tiếp (Giao diện): Một cách tổng quát, thành phần giao tiếp cho phép nhập/xuất thông tin với hình thức trình bày/giao tiếp tương ứng Mục tiêu thành phần đưa thông tin từ giới thực bên phần mềm (người sử dụng, thiết bị, phần mềm khác…) vào bên trong, ngược lại  Thành phần xử lý: Kiểm tra tính hợp lệ thông tin nguồn cung cấp từ người dùng theo quy định ràng buộc giới thực Ví dụ: cho mượn tối đa sách, lớp học không 50 học sinh… Tiến hành xử lý cho kết mong đợi theo quy định tính toán có sẵn giới thực Hoặc tiến hành xử lý theo thuật giải tự đề xuất  Thành phần xử lý (tt): Việc xử lý dựa thông tin nguồn từ người sử dụng cung cấp Ví dụ: tính nghiệm phương trình bậc dựa hệ số nhập vào liệu lưu trữ có sẵn Ví dụ: tính tiền phạt dựa ngày trả sách nhập vào thông tin loại sách lưu trữ Việc xử lý cho kết dùng để xuất cho người dùng xem qua thành phần giao diện, hay lưu trữ lại qua thành phần lưu trữ, hai  Một cách tổng quát, thành phần xử lý hệ thống chuyên xử lý tính toán, biến đổi liệu Dùng thông tin nguồn từ thành phần giao diện (chức nhập) hay thành phần liệu (chức đọc); Kiểm tra tính hợp lệ (chức kiểm tra) sau tiến hành xử lý (chức xử lý) – cần thiết Để cho kết trình bày thông qua thành phần giao diện (chức xuất) lưu trữ lại thành phần liệu (chức ghi) Bài giảng Nhập môn CNPM  Thành phần lưu trữ (thành phần liệu) Cho phép lưu trữ lại (chức ghi) kết xử lý Ví dụ: Việc mượn sách kiểm tra hợp lệ, bảng lương tháng tính nhớ phụ với tổ chức lưu trữ xác định trước Ví dụ: tập tin có cấu trúc, tập tin nhị phân, sở liệu  Thành phần lưu trữ (thành phần liệu) Cho phép truy xuất lại (chức đọc) liệu lưu trữ phục vụ cho hàm xử lý tương ứng Một cách tổng quát thành phần liệu hệ thống chuyên đọc ghi liệu với mô hình tổ chức lưu trữ liệu tương ứng Mục tiêu thành phần chuyển đổi liệu nhớ nhớ phụ Khái niệm lớp phần mềmPhân lớp theo mục đích sử dụng: Lớp phần mềm quản lý học sinh Lớp phần mềm đánh cờ Lớp phần mềm giải tập  Phân lớp theo mục tiêu tạo lập Lớp phần mềm theo hợp đồng Lớp phần mềm khung Lớp phần mềm đóng gói  Lớp phần mềm: Lớp phần mềm hệ thống phần mềm lĩnh vực hoạt động Do lĩnh vực hoạt động nên phần mềm lớp thường có cấu trúc chức tương tự  Mục tiêu ngành Công nghệ Phần mềm Xây dựng phần mềm có chất lượng Dễ dàng xây dựng phần mềm từ phần mềm có sẵn lớp Chất lượng phần mềm Dưới góc nhìn Người sử dụng Bài giảng Nhập môn CNPM Dưới góc nhìn chuyên viên Tin học  Tính dễ kiểm tra: việc kiểm tra thành phần phù hợp với yêu cầu phần mềm dễ dàng  Tính dễ sửa lỗi: có không phù hợp (so với yêu cầu) trình kiểm tra thành phần, việc phát xác “vị trí lỗi” sửa lỗi nhanh  Tính dễ bảo trì: cần nâng cấp, cải tiến thành phần (theo yêu cầu mới), việc cập nhật phần mềm nhanh, xác đặc biệt cố gắng hạn chế ảnh hưởng đến thành phần khác  Tính tái sử dụng: thành phần thực dùng lại phần mềm lớp (hoặc lĩnh vực) với thời gian công sức Bài giảng Nhập môn CNPM Phát triển Công nghệ phần mềm  Giai đoạn (1950 – 1960) Xử lý theo lô, xử lý tập trung, xử lý phân tán, sửa đổi phần mềm  Giai đoạn (từ 1960 đến 1970) Hệ thống đa chương trình đa nguời dùng Bắt đầu “khủng hoảng” phần mềm  Giai đoạn (từ 1970 đến 1980) Sự phát triển sử dụng rộng rãi máy tính cá nhân Sự phát triển công ty phần mềm  Giai đoạn (từ 1980 đến nay) Phần cứng ngày phát triển Hệ thống phần mềm ngày đa dạng, phong phú, xử lý ngày phức tạp, công nghệ ngày phát triển…  Số lượng phần mềm tăng vọt (do phát triển phần cứng: tăng khả năng, giá thành hạ)  Có nhiều khuyết điểm phần mềm dùng xã hội: Thực không yêu cầu (tính toán sai, không ổn định…) Thời gian bảo trì nâng cấp lâu, chi phí cao, hiệu thấp Khó sử dụng, Thực chậm Bài giảng Nhập môn CNPM Không chuyển đổi liệu phần mềm …  Một số kết luận: Việc tăng vọt số lượng phần mềm điều hợp lý tiếp diễn Các khuyết điểm phần mềm có nguồn gốc từ phương pháp, cách thức quy trình tiến hành xây dựng phần mềm: Cảm tính: người theo phương pháp riêng Thô sơ, đơn giản: tập trung vào việc lập trình mà quan tâm đến công việc cần làm khác (khảo sát trạng, phân tích yêu cầu, thiết kế…) Thủ công: thiếu công cụ hỗ trợ quy trình phát triển Công nghệ phần mềm  Khái niệm: Công nghệ phần mềm ngành khoa học nghiên cứu việc xây dựng phần mềm có chất lượng cao thời gian chi phí thực hợp lý  Các đối tượng nghiên cứu Công nghệ phần mềm: Quy trình công nghệ phần mềm: Hệ thống giai đoạn mà trình phát triển phần mềm phải trải qua, với giai đoạn cần xác định rõ: Mục tiêu, kết nhận từ giai đoạn trước đó, Kết chuyển giao cho giai đoạn Phương pháp phát triển phần mềm: Hệ thống hướng dẫn cho phép bước thực giai đoạn quy trình phần mềm Công cụ Môi trường phát triển phần mềm: Hệ thống phần mềm trợ giúp lĩnh vực xây dựng phần mềm Hỗ trợ chuyên viên tin học bước xây dựng phần mềm theo phương pháp với quy trình chọn trước Bài giảng Nhập môn CNPM Qui trình Công nghệ phần mềmPhân tích: Mô tả mức phát thảo thành phần phần mềm (đã có yêu cầu)  Thiết kế: Mô tả mức chi tiết thành phần phần mềm (đã có yêu cầu)  Lập trình: Thực thành phần phần mềm (đã thiết kế)  Kiểm tra: kiểm chứng thành phần phần mềm (đã thực hiện) Quy trình thác nước 10 Bài giảng Nhập môn CNPM 39 Các thành phần giao diện Mục tiêu  Mục tiêu: mô tả chi tiết cách thức giao tiếp người dùng phần mềm trình thực nghiệp vụ liên quan - Nội dung trình bày D1, D2 - Hình thức trình bày D1, D2 - Biến cố phải xử lý Các yêu cầu chất lượng  Tính tiện dụng Dễ học Thứ tự nhập trực quan, dễ sử dụng  Tính hiệu Quy trình nhập đơn giản nhất, tự nhiên Tận dụng bước xử lý hình Tránh thêm công đoạn (thao tác) thừa (không cần thiết) Bài giảng Nhập môn CNPM Tốc độ thực nhanh  Tính tiến hóa Các tùy chọn nội dung Hình thức trình bày Biến cố phải xử lý  Phải quan sát thói quen người sử dụng  Thói quen phải tôn trọng => bắt buộc phải tôn trọng Quen với phím enter nhập liệu  Thói quen chưa hợp lý mâu thuẫn với kỹ thuật => Phải trao đổi, thuyết phục thống với người sử dụng Kỹ thuật nâng cao chất lượng Bổ sung nội dung - Hướng dẫn sử dụng - Thuộc tính tính toán - Thông tin chi tiết liên quan Tăng tốc thao tác - Dùng giá trị định sẵn - Chuyển ô nhập liệu thành cột nhập liệu - Sử dụng giá trị thay - … Xử lý lỗi - Thông báo lỗi xác, hội sửa lỗi - Hạn chế lỗi - Cấm tuyệt đối lỗi Bổ sung, thay hình thức trình bày - Dùng biểu tượng - Dùng thực đơn động - Dùng - Dùng sơ đồ - Thao tác trực tiếp Ví dụ  Xét phần mềm Quản lý học sinh với chức tiếp nhận học sinh 40 Bài giảng Nhập môn CNPM 41  Hãy thiết kế liệu giao diện  Mô tả thành phần giao diện STT Tên Kiểu Ý nghĩa Lb_Tieu_de A_Label Tiêu đề hình Lb_Hoten A_Label Tiêu đề họ tên Txt_Hoten A_Textbox Text box nhập họ tên Ch_Phai A_Checkbox Lb_Ngaysinh A_Datetime … … … Bài tập … Miền giá Giá trị mặc Ghi trị định … … … Bài giảng Nhập môn CNPM 42  Xét phần mềm quản lý giải bóng đá với yêu cầu sau: - Tiếp nhận đăng ký tham gia - Xếp lịch thi đấu - Ghi nhận kết thi đấu - Lập bảng xếp hạng  Giải gồm có đội tham gia Thông tin đội bao gồm: Tên đội, danh sách cầu thủ đội Thông tin cầu thủ bao gồm: Tên cầu thủ, vị trí sở trường  Xếp lịch thi đấu Các đội thi đấu vòng tròn hai lượt Thông tin trận đấu xếp lịch: Hai đội bóng tham dự, ngày thi đấu, sân thi đấu (giải diễn hai sân: A, B)  Ghi nhận kết thi đấu, yêu cầu ghi nhận: Tỉ số Tổng số thẻ vàng, thẻ đỏ  Lập bảng xếp hạng: Hạng dựa tiêu chí sau: Điểm số Hiệu số Số bàn thắng Điểm cho trân thua 0, hòa 1, thắng Hãy lập sơ đồ luồng liệu cho yêu cầu Lập sơ đồ logic liệu Thiết kế hình giao diện cho yêu cầu Giao diện ghi nhận KQTĐ  Cách 1: Bài giảng Nhập môn CNPM  Cách 2:  Cách 3: 43 Bài giảng Nhập môn CNPM  Cách 4:  Cách 5: 44 Bài giảng Nhập môn CNPM Bài tập  Cho CSDL phần mềm quản lý bán hàng sau:  Hãy thiết kế giao diện mô tả thành phần giao diện: Lập phiếu nhập, lập phiếu xuất Tra cứu hàng hóa Thiết kế Xử lý  Mục tiêu: Mô tả chi tiết hệ thống hàm xử lý phần mềm 45 Bài giảng Nhập môn CNPM  Kết quả: Danh cách đơn thể/đối tượng Danh sách hàm đơn thể/đối tượng Các sơ đồ phối hợp  Yêu cầu thiết kế: Tính đắn Tính dễ bảo trì Tính tái sử dụng Tính dễ mang chuyển  Kỹ thuật thiết kế: Phân rã/tích hợp Tham số hóa Đối tượng hóa  Sơ đồ phối hợp: Mô tả cách thức phối hợp (gọi thực hiện) hàm 46 Bài giảng Nhập môn CNPM 47 Ví dụ Hãy: Mô tả biến cố Lập danh sách hàm xử lý Lập sơ đồ phối hợp (Khi có hai hàm tham gia biến cố) Ví dụ - Mô tả biến cố Biến cố 0: Khởi động hình Biến cố 1: Kiểm tra tuổi học sinh hợp lệ (tuổi từ 15 đến 20) Biến cố 2: Khi chọn lớp học combobox Biến cố 3: Kiểm tra liệu hợp lệ ghi Ví dụ - Danh sách biến cố BC Điều kiện kích hoạt Khởi động hình Xử lý - Đọc danh sách lớp, danh sách học sinh, tham số - Xuất danh sách lớp, danh sách học sinh, hồ sơ học sinh Ghi Bài giảng Nhập môn CNPM Kết thúc nhập ngày sinh Kết thúc chọn lớp Nhút nút ghi 48 - - Kiểm tra ngày sinh hợp lệ xuất thông báo lỗi không hợp lệ Tuổi theo qui định 15à20 Ghi nhận vị trí lớp chọn Chuẩn bị ghi hồ sơ danh sách lớp - Kiểm tra hồ sơ hợp lệ Nếu hợp lệ nhập hồ sơ học sinh ghi hồ sơ học sinh Xuất thông báo Mã tên phải khác rỗng Ví dụ - Danh sách hàm xử lý STT Tên hàm Tham số … Ví dụ - Lập sơ đồ phối hợp  Xử lý biến cố  Xử lý biến cố 0: Phân rã hàm Ví dụ - Lập sơ đồ phối hợp Kết Ý nghĩa Ghi Bài giảng Nhập môn CNPM Xử lý biến cố Dùng hàm Xử lý biến cố ? Xử lý biến cố ? Bài tập Lập sơ đồ phối hợp cho biến cố lại ví dụ Đánh giá sơ đồ phối hợp dựa tính chất - Tính đắn - Tính tái sử dụng - Tính dễ bảo trì - Tính dễ mang chuyển -… Chương 4: Kỹ lập trình Kỹ lập trình  Hiểu rõ ngôn ngữ (language-specific)  Sử dụng tên biến thích hợp có nghĩa Tên biến phải rõ ràng, tránh nhầm lẫn  Nên có thích bên mô-đun  Mã lệnh chuẩn 49 Bài giảng Nhập môn CNPM 50 Thống cách đặt tên Mô-đun, tên hàm, tên biến,…  Khả tái sử dụng  Thông tin tối thiểu mô-đun: Tên mô-đun Mô tả vắn tắt công việc mô-đun phải thực Tên lập trình viên Ngày viết Ngày chỉnh sửa Danh sách tham số Danh sách biến … Lập trình tuyến tính  Khi phần mềm đơn giản: Chương trình viết với câu lệnh thực từ đầu đến cuối  Tuy nhiên: Khoa học máy tính ngày phát triển Các phần mềm đòi hỏi ngày phức tạp lớn nhiều  Phương pháp lập trình tuyến tính hiệu ? Lập trình cấu trúc  Phương pháp lập trình thủ tục hay lập trình cấu trúc Hệ thống chia chức (hàm) thành chức nhở Chương trình tổ chức thành chương trình Chương trình = Cấu trúc liệu + giải thuật  Tổ chức liệu nào?  Khi thay đổi cấu trúc liệu? Lập trình Hướng đối tượng  Lập trình hướng đối tượng – Lập trình định hướng đối tượng - OOP Là phương pháp lập trình lấy đối tượng làm tảng để xây dựng thuật giải, xây dựng chương trình Dữ liệu + Hành vi liệu = Đối tượng  Cách tiếp cận gần gũi thực tế Bài giảng Nhập môn CNPM Mô hình kiến trúc tầng (1 layer)  Hệ thống bao gồm: người sử dụng đơn vị xử lý đơn vị lưu trữ  Đặc điểm: Không có phân loại xử lý  Ưu điểm: Thiết kế lập trình nhanh  Khuyết điểm: Mỗi đơn vị xử lý phức tạp Khó bảo trì 51 Bài giảng Nhập môn CNPM Không có tính tái sử dụng Mô hình kiến trúc tầng (2 layer)  Đặc điểm: Các đơn vị xử lý phân thành loại Loại 1: Các đơn vị xử lý chuyên biệt giao tiếp người dùng Loại 2: Các đơn vị xử lý nghiệp vụ (kiểm tra, tính toán), lưu trữ (đọc, ghi)  Ưu điểm, khuyết điểm ? 52 Bài giảng Nhập môn CNPM Mô hình kiến trúc tầng (3 layer)  Đặc điểm: Các đơn vị xử lý phân thành loại Loại 1: Các đơn vị xử lý chuyên biệt giao tiếp người dùng Loại 2: Các đơn vị xử lý nghiệp vụ (kiểm tra, tính toán) Loại 3: Các đơn vị xử lý lưu trữ (đọc, ghi)  Ưu điểm, khuyết điểm Mỗi đơn vị xử lý chuyên biệt, đơn giản Dễ bảo trì, nâng cấp Có tính tái sử dụng cao 53

Ngày đăng: 31/03/2017, 18:28

Mục lục

    Phần mềm là gì?

    Khái niệm lớp phần mềm

    Chất lượng phần mềm

    Phát triển của Công nghệ phần mềm

    Công nghệ phần mềm

    Qui trình Công nghệ phần mềm

    Quy trình thác nước

    Quy trình thác nước cải tiến

    Quy trình xoắn ốc

    Chương 2: Xác định và phân tích yêu cầu

Tài liệu cùng người dùng

Tài liệu liên quan