intTypePromotion=3

Đề cương bài giảng Phân tích thiết kế phần mềm

Chia sẻ: Le Thanh Hai | Ngày: | Loại File: PDF | Số trang:149

0
43
lượt xem
8
download

Đề cương bài giảng Phân tích thiết kế phần mềm

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục đích của cuốn đề cương Phân tích thiết kế phần mềm nhằm cung cấp cho sinh viên công nghệ thông tin các kiến thức cơ bản về: nguyên tắc, phương pháp luận, quy trình và các kỹ thuật để xây dựng cũng như bảo trì các sản phẩm phần mềm. Do vậy, cuốn đề cương cung cấp các kiến thức cơ bản về: xác định yêu cầu phần mềm, đặc tả yêu cầu, phân tích, thiết kế, cài đặt phần mềm, kiểm thử phần mềm, bảo trì và quản lý thay đổi phần mềm.

Chủ đề:
Lưu

Nội dung Text: Đề cương bài giảng Phân tích thiết kế phần mềm

LỜI MỞ ĐẦU<br /> Ngày nay, công nghệ phần mềm đã đi tới một kỷ nguyên mới, tên gọi công việc "kỹ<br /> sư phần mềm" đã thay thế cho "người lập trình". Việc đặc tả các yêu cầu, phát triển phần<br /> mềm, quản lý, bảo trì phần mềm là các hoạt động của công nghệ phần mềm để tạo<br /> nên các sản phẩm phần mềm cho người sử dụng.<br /> Mục đích của cuốn đề cương Phân tích thiết kế phần mềm nhằm cung cấp cho sinh<br /> viên công nghệ thông tin các kiến thức cơ bản về: nguyên tắc, phương pháp luận, quy<br /> trình và các kỹ thuật để xây dựng cũng như bảo trì các sản phẩm phần mềm. Do vậy,<br /> cuốn đề cương cung cấp các kiến thức cơ bản về: xác định yêu cầu phần mềm, đặc tả<br /> yêu cầu, phân tích, thiết kế, cài đặt phần mềm, kiểm thử phần mềm, bảo trì và quản lý<br /> thay đổi phần mềm. Để tiếp thu tốt kiến thức trong cuốn đề cương này, sinh viên cần<br /> nắm được các kiến thức cơ bản đã được trang bị ở năm thứ nhất và thứ hai như: Cở sở<br /> kỹ thuật lập trình, cơ sở dữ liệu quan hệ, cấu trúc dữ liệu và giải thuật...và một số môn<br /> cơ sở khác.<br /> Mặc dầu có cố gắng song bản thân còn nhiều hạn chế nên cuốn đề cương không<br /> tránh khỏi những thiếu sót, rất mong nhận được các ý kiến đóng góp của bạn đọc.<br /> Giáo trình có sử dụng tư liệu của các đồng nghiệp, tài liệu của Công ty cổ phần điện<br /> tử tin học Việt Nam FSC.<br /> <br /> MỤC LỤC<br /> BÀI 1: TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM ......................................... 6<br /> 1.1.<br /> <br /> Một số khái niệm chung ................................................................................ 6<br /> <br /> 1.2.<br /> <br /> Nhân tố con người và phân loại nghề nghiệp ................................................ 8<br /> <br /> 1.2.1.<br /> <br /> Nhân tố con người trong ngành công nghiệp phần mềm ........................ 8<br /> <br /> 1.2.2.<br /> <br /> Phân loại nghề nghiệp ............................................................................. 8<br /> <br /> 1.3.<br /> <br /> Sản phẩm phần mềm – đặc tính và phần loại .............................................. 13<br /> <br /> 1.3.1.<br /> <br /> Các đặc tính phần mềm ......................................................................... 14<br /> <br /> 1.3.2.<br /> <br /> Phân loại phần mềm .............................................................................. 16<br /> <br /> 1.4.<br /> <br /> Phương pháp phát triển phần mềm .............................................................. 18<br /> <br /> 1.5.<br /> <br /> Vai trò của người dùng trong giai đoạn phát triển phần mềm ..................... 18<br /> <br /> 1.6. Tiêu chuẩn của sản phẩm phần mềm............................................................... 19<br /> BÀI 2: TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM .............................................. 23<br /> 2.1.1.<br /> <br /> Mô hình tuyến tính (The linear sequential model) ............................... 23<br /> <br /> 2.1.2.<br /> <br /> Mô hình mẫu (Prototyping model) ....................................................... 23<br /> <br /> 2.1.3.<br /> <br /> Mô hình xoắn ốc (The spiral model) .................................................... 24<br /> <br /> 2.1.4.<br /> <br /> Mô hình thác nước ................................................................................ 25<br /> <br /> 2.1.5.<br /> <br /> Mô hình phát triển dựa trên thành phần ................................................ 26<br /> <br /> 2.2. Quản lý dự án phần mềm................................................................................. 27<br /> 2.2.1. Các hoạt động chuẩn bị dự án .................................................................. 27<br /> 2.2.2. Lập kế hoạch dự án................................................................................... 28<br /> 2.2.3. Nghiên cứu tính khả thi dự án .................................................................. 29<br /> 2.2.4. Lựa chọn giải pháp ................................................................................... 29<br /> 2.2.5. Giám sát và kiểm soát............................................................................... 31<br /> 2.2.6. Quản lý nhân sự ........................................................................................ 35<br /> 2.3. Hồ sơ của sản phẩm phần mềm ....................................................................... 36<br /> BÀI 3: KHẢO SÁT - PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU ............................... 38<br /> 3.1. Tìm hiểu – xác định yêu cầu............................................................................ 38<br /> 3.1.1. Khảo sát, tìm hiểu yêu cầu ....................................................................... 38<br /> 3.1.2. Đánh giá các yêu cầu ................................................................................ 39<br /> 3.2. Phân tích yêu cầu ............................................................................................. 40<br /> 3.3. Đặc tả yêu cầu.................................................................................................. 42<br /> 3.3.1. Đặc tả yêu cầu .......................................................................................... 42<br /> 3.3.2. Nguyên lý đặc tả ....................................................................................... 44<br /> <br /> 3.4. Tư liệu hóa yêu cầu của phần mềm ................................................................. 45<br /> 3.5. Đặc tính dữ liệu và các kỹ thuật để thu thập dữ liệu ....................................... 47<br /> 3.5.1. Đặc tính dữ liệu ........................................................................................ 47<br /> 3.5.2. Các kỹ thuật để thu thập dữ liệu cho ứng dụng ........................................ 50<br /> Bài 4: Thực hành 01- Khảo sát và phân tích yêu cầu ........................................... 60<br /> Bài 5: Thảo luận 01-Kỹ thuật khảo sát phân tích và đặc tả yêu cầu ................... 61<br /> Bài 6: Thực hành 02 - Đặc tả yêu cầu ..................................................................... 62<br /> BÀI 7: THIẾT KẾ PHẦN MỀM (buổi 1) .............................................................. 63<br /> 7.1. Đặc điểm của quá trình thiết kế phần mềm ..................................................... 63<br /> 7.2. Các hoạt động của quá trình thiết kế phần mềm ............................................. 65<br /> 7.3. Nền tảng thiết kế phần mềm ............................................................................ 68<br /> 7.3.1. Trừu tượng (abstraction) .......................................................................... 68<br /> 7.3.2. Làm mịn (Refinement) ............................................................................. 69<br /> 7.3.3. Tính module.............................................................................................. 69<br /> 7.3.4. Kiến trúc phần mềm ................................................................................. 69<br /> 7.3.5. Che dấu thông tin...................................................................................... 71<br /> 7.3.6. Thiết kế module ........................................................................................ 72<br /> 7.4. Chất lượng thiết kế .......................................................................................... 72<br /> 7.4.1. Sự kết dính ................................................................................................ 72<br /> 7.4.2. Sự ghép nối ............................................................................................... 73<br /> 7.4.3. Sự hiểu được ............................................................................................. 73<br /> 7.4.4. Sự thích nghi được.................................................................................... 74<br /> 7.4.5. Một số yêu cầu thiết kế............................................................................. 75<br /> 7.5. Chiến lược thiết kế........................................................................................... 76<br /> 7.5.1. Thiết kế hướng chức năng ........................................................................ 76<br /> 7.5.2. Thiết kế hướng đối tượng ......................................................................... 77<br /> Bài 8: Thực hành 03 - Thiết kế hệ thống hướng đối tượng .................................. 80<br /> Bài 9: THIẾT KẾ PHẦN MỀM (buổi 2) ................................................................ 81<br /> 9.1. Thiết kế kiến trúc cho ứng dụng và các mô hình cho thiết kế ứng dụng ........ 81<br /> 9.1.1. Thiết kế kiến trúc ứng dụng...................................................................... 81<br /> 9.1.2. Các mô hình thiết kế ứng dụng................................................................. 81<br /> 9.2. Thiết kế Cơ sở dữ liệu ..................................................................................... 84<br /> 9.3. Thiết kế giao diện người dùng ......................................................................... 86<br /> 9.3.1. Nhân tố con người .................................................................................... 86<br /> <br /> 9.3.2. Phong cách tương tác người - máy ........................................................... 87<br /> 9.3.3. Thiết kế giao diện người - máy ................................................................ 87<br /> 9.3.4. Hướng dẫn thiết kế giao diện ................................................................... 89<br /> Bài 10: Thực hành 04: Thiết kế cơ sở dữ liệu ........................................................ 91<br /> Bài 11: Thảo luận 02: Thiết kế phần mềm ............................................................. 92<br /> Bài 12: Thực hành 05 – Thiết kế và đặc tả giao diện ............................................ 93<br /> BÀI 13: LẬP TRÌNH PHẦN MỀM ........................................................................ 94<br /> 13.1. Phong cách cài đặt chương trình ................................................................... 94<br /> 13.1.1. Tài liệu chương trình .............................................................................. 94<br /> 13.1.2. Khai báo dữ liệu ..................................................................................... 96<br /> 13.1.3. Xây dựng câu lệnh .................................................................................. 96<br /> 13.1.4. Vào và ra................................................................................................. 96<br /> 13.2. Nền tảng của ngôn ngữ lập trình ................................................................... 97<br /> 13.2.1. Kiểu dữ liệu, định nghĩa kiểu dữ liệu và kiểm tra kiểu dữ liệu .............. 97<br /> 13.2.2. Chương trình con .................................................................................... 98<br /> 13.2.3. Cấu trúc điều khiển ................................................................................. 99<br /> 13.2.4. Vào và ra dữ liệu .................................................................................. 100<br /> 13.2.5. Quản lý bộ nhớ ..................................................................................... 100<br /> 13.2.6. Quản lý lỗi ............................................................................................ 101<br /> 13.3. Các đặc trưng của ngôn ngữ cài đặt ............................................................ 101<br /> 13.4. Hiệu quả của chương trình và tầm quan trọng ............................................ 102<br /> 13.5. Một số vấn đề trong cải tiến hiệu suất ......................................................... 102<br /> 13.5.1. Tốc độ xử lý.......................................................................................... 102<br /> 13.5.2. Không gian bộ nhớ ............................................................................... 103<br /> 13.5.3. Lựa chọn hệ thống và phần cứng ......................................................... 103<br /> 13.6. Công cụ trợ giúp và phân loại ..................................................................... 103<br /> 13.6.1. Công cụ CASE ..................................................................................... 104<br /> 13.6.2. Phân loại các công cụ CASE ................................................................ 107<br /> Bài 14: Thực hành 06 – Lập trình phần mềm (buổi 1) ....................................... 114<br /> 15.1. Độ tin cậy của phần mềm ............................................................................ 115<br /> 15.1.1. Chất lượng phần mềm và việc đảm bảo chất lượng phần mềm ........... 115<br /> 15.1.2. Độ tin cậy của phần mềm ..................................................................... 116<br /> 15.2. Kiểm tra và các chiến lược kiểm tra phần mềm .......................................... 121<br /> 15.2.1. Đặc điểm của kiểm tra phần mềm ........................................................ 121<br /> <br /> 15.2.2. Chiến lược kiểm tra phần mềm ............................................................ 124<br /> 15.3. Kỹ thuật kiểm thử phần mềm và đặc điểm .................................................. 127<br /> 15.3.1. Khái niệm ............................................................................................. 128<br /> 15.3.2. Đặc điểm của kiểm thử ......................................................................... 128<br /> 15.3.3. Kế hoạch thử nghiệm............................................................................ 129<br /> 15.3.4. Phân loại một số công cụ kiểm thử tự động ......................................... 130<br /> Bài 16: Thực hành 07 – Lập trình phần mềm (buổi 2) ....................................... 132<br /> Bài 17: Thảo luận 03: Kiểm thử phần mềm ......................................................... 133<br /> Bài 18: Thực hành 08 – Kiểm thử phần mềm ...................................................... 134<br /> BÀI 19: BẢO TRÌ PHẦN MỀM VÀ QUẢN LÝ THAY ĐỔI PHẦN MỀM .... 135<br /> 19.1. Hoạt động bảo trì phần mềm và phân loại................................................... 135<br /> 19.1.1. Bảo trì hiệu chỉnh ................................................................................. 135<br /> 19.1.2. Bảo trì tiếp hợp ..................................................................................... 135<br /> 19.1.3. Bảo trì hoàn thiện ................................................................................. 135<br /> 19.1.4. Bảo trì phòng ngừa ............................................................................... 135<br /> 19.2. Đặc điểm của bảo trì phần mềm .................................................................. 136<br /> 19.2.1. Bảo trì có cấu trúc đối với bảo trì không cấu trúc. ............................... 136<br /> 19.2.2. Giá thành bảo trì ................................................................................... 137<br /> 19.2.3. Một số vấn đề khác............................................................................... 138<br /> 19.3. Công việc bảo trì phần mềm và một số hiệu ứng lề .................................... 139<br /> 19.3.1. Khả năng bảo trì ................................................................................... 139<br /> 19.3.2. Các công việc bảo trì ............................................................................ 140<br /> 19.3.3. Một số hiệu ứng lề của công việc bảo trì ............................................. 142<br /> 19.4. Một số hình thức bảo trì phần mềm............................................................. 143<br /> 19.4.1. Bảo trì mã chương trình xa lạ ............................................................... 143<br /> 19.4.2. Công nghệ phản hồi và công nghệ tái sử dụng..................................... 144<br /> 19.4.3. Bảo trì phòng ngừa ............................................................................... 144<br /> 19.4.4. Chiến lược phần mềm thành phần ........................................................ 145<br /> 19.5. Quản lý thay đổi phần mềm......................................................................... 146<br /> 19.5.1. Các thủ tục quản lý thay đổi ................................................................. 146<br /> 19.5.2. Ghi quyết định theo thời gian ............................................................... 148<br /> 19.5.3. Quản lý thay đổi tài liệu ....................................................................... 148<br /> TÀI LIỆU THAM KHẢO...................................................................................... 149<br /> <br />

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản