Đề cương chi tiết môn Phân tích và thiết kế phần mềm
Sau khi hoàn thành môn học này, sinh viên có thể có được các kĩ năng sau:
- Về kiến thức: nắm được đầy đủ các bước chính trong quá trình phân tích và thiết kế
phần mềm. Sinh viên biết cách phân tích các yêu cầu phần mềm, mô hình hóa yêu cầu
từ đó xây dựng các lược đồ phân tích tạo cơ sở cho bước thiết kế phần mềm (kể cả
thiết kế CSDL). Hiểu được nguyên tắc phân tích và thiết kế hướng đối tượng.
- Về kĩ năng: sử dụng thành thạo các lược đồ (UML) để mô hình hóa các yêu cầu phục
vụ cho quá trình phân tích. Biết vận dụng kiến thức lập trình hướng đối tượng hỗ trợ
cho quá trình xây dựng phần mềm. Sinh viên sẽ nắm rõ các qui tắc trong thiết kế giao
diện đế ứng dụng trong thực tế và biết chọn lọc các kiến trúc phần mềm phù hợp ứng
với từng điều kiện cụ thể. Sinh viên biết vận dụng kiến thức đã học để xây dựng các cơ
sở dữ liệu hỗ trợ cho việc lưu trữ dữ liệu.
- Về thái độ: Tin tưởng vào ý nghĩa khoa học cũng như giá trị thực tế của kiến thức
môn học trong việc áp dụng vào quá trình xây dựng các hệ thống phần mềm hoàn
chỉnh và có thể áp dụng cho nghiên cứu khoa học chuyên sâu về sau. Xây dựng tinh
thần có trách nhiệm với công việc mà mình thực hiện cũng như trách nhiệm với tập thể
khi làm việc nhóm. Đảm bảo chất lượng của phần mềm được xây dựng.
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: Đề cương chi tiết môn Phân tích và thiết kế phần mềm
ến thức lập trình hướng đối tượng hỗ trợ cho quá trình xây dựng phần mềm. Sinh viên sẽ nắm rõ các qui tắc trong thiết kế giao diện đế ứng dụng trong thực tế và biết chọn lọc các kiến trúc phần mềm phù hợp ứng với từng điều kiện cụ thể. Sinh viên biết vận dụng kiến thức đã học để xây dựng các cơ sở dữ liệu hỗ trợ cho việc lưu trữ dữ liệu. - Về thái độ: Tin tưởng vào ý nghĩa khoa học cũng như giá trị thực tế của kiến thức môn học trong việc áp dụng vào quá trình xây dựng các hệ thống phần mềm hoàn chỉnh và có thể áp dụng cho nghiên cứu khoa học chuyên sâu về sau. Xây dựng tinh thần có trách nhiệm với công việc mà mình thực hiện cũng như trách nhiệm với tập thể khi làm việc nhóm. Đảm bảo chất lượng của phần mềm được xây dựng. BM01.QT02/ĐNT-ĐT 2 4. Chuẩn đầu ra: Nội dung Đáp ứng CĐR CTĐT Kiến thức 4.1.1. Nắm được kiến thức cơ bản về các khái niệm liên quan tới phần mềm K1 4.1.2. Nắm vững kiến thức lập trình hướng đối tượng (OOP) K2 4.1.3. Biết rõ các phương pháp thu thập yêu cầu K2 4.1.4. Nắm vững phương pháp phân tích và thiết kế hướng đối tượng (OOAD) K2 4.1.5. Nắm vững các dạng lược đồ (UML) được sử dụng trong quá trình phân tích để mô hình hóa cũng như thiết kế K2 4.1.6 Hiểu được một số qui tắc cơ bản trong thiết kế giao diện, kiến trúc và CSDL K3 Kỹ năng 4.2.1. Biết cách thu thập yêu cầu S1 4.2.2. Biết cách phân tích và mô hình hóa yêu cầu, xây dựng các tài liệu mô hình hóa S2 4.2.3. Có kĩ năng xây dựng các lược đồ yêu cầu, lược đồ lớp phân tích S2 4.2.4. Có kĩ năng thiết kế một phần mềm hoàn chỉnh dựa trên những đặc tả và phân tích đã có (kể cả CSDL) S2 Thái độ 4.3.1. Nhìn nhận đúng vai trò của môn học cho công việc tương lai A2 4.3.2. Tự tin và chủ động trong công việc, tham gia tích cực vào các hoạt động nghiên cứu cập nhật kiến thức A3 5. Mô tả tóm tắt nội dung học phần: Thiết kế và phân tích phần mềm là học phần được xây dựng nhằm cung cấp những kiến thức chính yếu cho các giai đoạn thiết kế và phân tích phần mềm. Thông qua học phần, sinh viên sẽ có cơ hội ôn lại các khái niệm liên quan đến phần mềm, các qui trình phát triển phần mềm, các kĩ thuật cơ bản trong lấy yêu cầu và phương pháp lập trình hướng đối tượng. Quan trọng hơn, học phần sẽ chú trọng đến kĩ thuật phân tích và thiết kế phần mềm theo hướng đối tượng thông qua sử dụng các lược đồ UML. Môn học sẽ giới thiệu các kiến trúc phần mềm thông dụng cũng như giới thiệu một số phương pháp để đảm bảo tính linh hoạt cũng như khả năng mở rộng phần mềm trong tương lai. 3 6. Nội dung và lịch trình giảng dạy: - Các học phần lý thuyết: Buổi/ Tiết Nội dung Hoạt động của giảng viên Hoạt động của sinh viên Giáo trình chính Tài liệu tham khảo Ghi chú 1 Chương 1: Giới thiệu 1.1 Các khái niệm cơ bản - Phần mềm, tính chất phần mềm - Công nghệ phần mềm - Các vấn đề liên quan đến đạo đức khi thiết kế phần mềm 1.2 Qui trình xây dựng phần mềm - Mô hình waterfall, phát triển gia tăng, mô hình xoắn ốc ... - Những hành vi chính trong quá trình phát triển phần mềm - Một số khái niệm quan trọng về phân tích và thiết kế phần mềm - Thuyết giảng - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 1 [1] Chương 2 Giải quyết mục tiêu 4.1.1, 4.3.1 2 Chương 2: Tổng quan về hướng đối tượng 2.1 Các khái niệm lập trình hướng đối tượng 2.2 Các tính chất trong lập trình hướng đối tượng (tính bao đóng, đa xạ, thừa kế ...) - Thuyết giảng - Đặt câu hỏi - Đưa ra các ví dụ minh họa cụ thể - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 1 Giải quyết mục tiêu 4.1.2, 4.3.1 4 Đưa các ví dụ tương ứng 3 Chương 3: Yêu cầu phần mềm 3.1 Các khái niệm về yêu cầu - Phân loại yêu cầu - Tài liệu hóa yêu cầu - Kiểm định yêu cầu 3.2 Giới thiệu một số kĩ thuật lấy yêu cầu - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 5 [3] Chương 1 Giải quyết mục tiêu 4.1.3, 4.2.1 4 Chương 4: Mô hình hóa hệ thống 4.1 Giới thiệu về UML - Giới thiệu 9 loại diagrams cơ bản - Ví dụ và trường hợp sử dụng 4.2 Mô hình hóa yêu cầu - Lược đồ UseCase, các thành phần và các mối liên hệ - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi - Làm 1 số bài tập ví dụ tại lớp [1] Chương 5 [3] Chương 2 Giải quyết mục tiêu 4.1.5, 4.2.1, 4.2.2 5 Chương 4 (tiếp theo) 4.2 Lược đồ UseCase, các thành phần và các mối liên hệ (tt) 4.3 Mô hình hóa dựa trên ngữ cảnh 4.4 Các lược đồ hỗ trợ UseCase - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 5 [1] Chương 6 (Mục 6.1, 6.2, 6.3) [3] Chương 2 [3] Chương 3 Giải quyết mục tiêu 4.1.5, 4.2.2, 4.2.3 5 - Activity Diagram 6 Chương 5: Phân tích hướng đối tượng 5.1 Phân tích UseCase, nhận diện lớp phân tích 5.2 Lược đồ cộng tác 5.3 Phân tích Class - Nhận diện thuộc tính - Nhận diện các quan hệ - Nhận diện các tác vụ 5.4 Phân tích Package - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi - Làm 1 số bài tập ví dụ tại lớp [1] Chương 6 (Mục 6.5) [3] Chương 1,2 Giải quyết mục tiêu 4.1.4, 4.1.5, 4.2.3 7 Chương 6: Thiết kế 6.1 Thiết kế trong ngữ cảnh phát triển phần mềm 6.2 Một số khái niệm cơ bản về thiết kế 6.3 Mô hình thiết kế - Lớp thiết kế - Các lược đồ Class thiết kế, lược đồ tương tác (Sequence diagram, state) - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 6 (Mục 6.5) [1] Chương 8, Chương 9 [3] Chương 4,5,6,7 Giải quyết mục tiêu 4.1.4, 4.1.5, 4.2.3, 4.2.4 6 8 Chương 7: Thiết kế giao diện 7.1 Một số quy tắc trong thiết kế giao diện 7.2 Phân tích và thiết kế giao diện 7.3 Các ví dụ - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 11 Giải quyết mục tiêu 4.2.4, 4.1.6 9 Chương 8: Thiết kế kiến trúc 8.1 Các khái niệm về kiến trúc 8.2 Một số kiến trúc thông dụng cũng như đặc điểm - Client Server - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 9 [1] Chương 13 Giải quyết mục tiêu 4.1.5, 4.1.6, 4.2.1, 4.2.4 10 Chương 8: Thiết kế kiến trúc (tiếp theo) 8.2 Một số kiến trúc thông dụng cũng như đặc điểm - MVC - Đa lớp (multi-layered), đa tầng (multi-tired) 8.3 Một số quy tắc khi thiết kế kiến trúc - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [1] Chương 9 [1] Chương 13 Giải quyết mục tiêu 4.1.5, 4.1.6, 4.2.1, 4.2.4 11 Chương 9: Thiết kế CSDL lưu trữ 9.1 Các khái niệm về CSDL quan - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [4] Chương 2, Chương 3, Chương 5 Giải quyết mục tiêu 4.1.6, 4.2.4 7 hệ 9.2 Các thao tác chính trên CSDL - DDL - DML 12 Chương 9: Thiết kế CSDL lưu trữ (tt) 9.2 Các thao tác chính trên CSDL - Nhóm lệnh DML (tt) 9.3 Một số qui tắc chuẩn hóa dữ liệu - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú - Trả lời câu hỏi [4] Chương 10 Giải quyết mục tiêu 4.1.6, 4.2.4 13 Chương 10: Giới thiệu một số mẫu thiết kế (design patterns) thông dụng - Adapter - Composite - Proxy - Thuyết giảng - Nghe giảng, ghi chú [2] Chương 1-3 Giải quyết mục tiêu 4.1.5, 4.2.4 14 Chương 10: Giới thiệu một số mẫu thiết kế (design patterns) thông dụng - Decorator - Bridge - Singleton - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú [2] Chương 1-5 Giải quyết mục tiêu 4.1.5 8 15 Ôn tập - Thuyết giảng - Đặt câu hỏi - Nghe giảng, ghi chú Giải quyết mục tiêu 4.3.1 - Các học phần thực hành: Buổi/ Tiết Nội dung Hoạt động của giảng viên Hoạt động của sinh viên Giáo trình chính Tài liệu tham khảo Ghi chú 1 Bài 1: Phân tích và mô hình hóa các yêu cầu từ một requirement cho trước - Sử dụng UseCase Diagram - Thực hành vẽ UseCase Diagram - Thuyết giảng - Hướng dẫn sinh viên thực hiện - Nghe giảng, ghi chú - Trả lời câu hỏi - Thực hành trên máy [1] Chương 5 [3] Chương 2 Giải quyết mục tiêu 4.1.3, 4.2.1 2 Bài 2: Phân tích và mô hình hóa yêu cầu (tt), kết hợp vẽ lược đồ hoạt động để mổ tả luồng thực thi của từng use case - Sử dụng UseCase Diagram - Sử dụng Activity Diagram - Thực hành vẽ UseCase Diagram và Activity Diagram cho một yêu cầu cụ thể - Thuyết giảng - Hướng dẫn sinh viên thực hiện - Nghe giảng, ghi chú - Trả lời câu hỏi - Thực hành trên máy [1] Chương 5 [3] Chương 2,3 Giải quyết mục tiêu 4.1.3, 4.2.1 3 Bài 3: Phân tích hướng đối tượng - Xác định lớp phân tích - Xác định các thuộc tính, tác vụ, quan hệ Tiếp tục thực hiện dựa trên kết quả của 2 buổi thực hành 1 và 2 - Hướng dẫn sinh viên thực hiện - Trả lời câu hỏi - Thực hành trên máy [1] Chương 6 (Mục 6.5) [3] Chương 4,5 Giải quyết mục tiêu 4.1.4, 4.1.5, 4.2.3 9 4 Bài 4: Phân tích – thiết kế hướng đối tượng - Xác định lớp phân tích - Xác định các thuộc tính, tác vụ, quan hệ Tiếp tục thực hiện dựa trên kết quả của 2 buổi thực hành 3 - Xây dựng các lược đồ trạng thái, lược đồ tuần tự để hỗ trợ xác định các tác vụ chi tiết cho từng lớp - Thực hành vẽ sơ đồ tuần tự - Hướng dẫn sinh viên thực hiện - Trả lời câu hỏi - Thực hành trên máy [1] Chương 6 (Mục 6.5) [3] Chương 4,5,7 Giải quyết mục tiêu 4.1.4, 4.1.5, 4.1.6, 4.2.3 5 Bài 5: Thiết kế giao diện (Screen Design) cho phần yêu cầu đã được thực hành ở những buổi trước. Áp dụng các nguyên tắc về thiết kế đã được trình bày ở lớp - Vẽ Mockup Screen - Hướng dẫn sinh viên thực hiện - Vẽ minh họa - Trả lời câu hỏi - Thực hành trên máy [1] Chương 11 Giải quyết mục tiêu 4.1.6, 4.2.4 6 Bài 6: Chọn lựa và hiện thực kiến trúc phù hợp với yêu cầu đề bài - Hiện thực các lớp xử lý, lớp giao diện và lớp thao tác dữ liệu - Ngôn ngữ sử dụng là C# - Hướng dẫn sinh viên thực hiện - Trả lời câu hỏi - Thực hành trên máy [1] Chương 9 [1] Chương 13 [3][4] Giải quyết mục tiêu 4.1.5, 4.2.1, 4.2.4 10 7 Bài 7: - Hiện thực các lớp xử lý, lớp giao diện và lớp thao tác dữ liệu - Ngôn ngữ sử dụng là C# (tiếp tục hoàn thiện nội dung trong buổi 6) - Hướng dẫn sinh viên thực hiện - Trả lời câu hỏi - Thực hành trên máy [1] Chương 9 [1] Chương 13 Giải quyết mục tiêu 4.1.5, 4.1.6, 4.2.1, 4.2.4 8 Bài 8: Thiết kế CSDL từ quá trình phân tích các lược đồ lớp tương ứng - Thực hành vẽ lược đồ dữ liệu mức luận lý, vật lý - Sử dụng MS SQL Server 2008 để tạo CSDL và lưu trữ - Hướng dẫn sinh viên thực hiện - Trả lời câu hỏi - Thực hành trên máy [4] Chương 2, Chương 3, Chương 5, Chương 10 Giải quyết mục tiêu 4.1.5, 4.2.1, 4.2.4 9 Bài 9: Hoàn thiện toàn bộ chương trình - Hướng dẫn sinh viên thực hiện - Thực hành trên máy Giải quyết mục tiêu 4.1.5, 4.2.1, 4.2.4 10 Bài 10: Thi thực hành - Nghe báo cáo kết quả thực hành và chấm điểm - Từng nhóm lần lượt báo cáo kết quả 11 7. Nhiệm vụ của sinh viên: Sinh viên phải thực hiện các nhiệm vụ như sau: - Thực hiện đầy đủ các bài tập nhóm/ bài tập và được đánh giá kết quả thực hiện. - Tham dự kiểm tra giữa học kỳ. - Tham dự thi kết thúc học phần. - Chủ động tổ chức thực hiện giờ tự học. 8. Đánh giá kết quả học tập của sinh viên: 8.1. Cách đánh giá Sinh viên được đánh giá tích lũy học phần như sau: TT Thành phần Điểm thành phần Quy định Trọng số Mục tiêu 1 Giữa kì Điểm chuyên cần Tham dự các buổi học trên lớp 30% 4.3.1, 4.3.2 Từ 4.2.1 đến 4.2.4 Từ 4.1.1 đến 4.1.6 Điểm thực hành - Báo cáo/kỹ năng, kỹ xảo thực hành - Tham gia và hoàn thành các buổi thực hành 2 Cuối kì Điểm thi kết thúc học phần Đồ án 70% Từ 4.1.1 đến 4.3.2 8.2. Cách tính điểm - Điểm đánh giá thành phần và điểm thi kết thúc học phần được chấm theo thang điểm 10 (từ 0 đến 10), làm tròn đến 0.5. - Điểm học phần là tổng điểm của tất cả các điểm đánh giá thành phần của học phần nhân với trọng số tương ứng. Điểm học phần theo thang điểm 10 làm tròn đến một chữ số thập phân. 9. Tài liệu học tập: 9.1. Giáo trình chính: [1] Software Engineering: A Practitioner's Approach, Roger. S Pressman, McGraw- Hill Higher Education, 2015 9.2. Tài liệu tham khảo: [2] “C# Design Pattern Essentials”, Tony Bevis, Ability First Limited, 2012 [3] Learning UML, Russ Miles, Kim Hamilton, O'Reilly Media, 2006 [4] Fundamentals of Database Systems 4th Edition - Ramez Elmasri & Navathe, Pearson, 2016. 12 10. Hướng dẫn sinh viên tự học: Tuần/ Buổi Nội dung Lý thuyết (tiết) Thực hành (tiết) Nhiệm vụ của sinh viên 1 Chương 1: Giới thiệu 1.1 Các khái niệm cơ bản 1.2 Qui trình xây dựng phần mềm 3 0 Nghiên cứu trước [1] Chương 1, Chương 2 2 Chương 2: Tổng quan về hướng đối tượng 2.1 Các khái niệm lập trình hướng đối tượng 2.2 Các tính chất trong lập trình hướng đối tượng (tính bao đóng, đa xạ, thừa kế ...) 3 0 Nghiên cứu trước [2] Chương 1 3 Chương 3: Yêu cầu phần mềm 3.1 Các khái niệm về yêu cầu 3.2 Giới thiệu một số kĩ thuật lấy yêu cầu 3 6 Nghiên cứu trước [1] Chương 5 4-5 Chương 4: Mô hình hóa hệ thống 4.1 Giới thiệu về UML 4.2 Mô hình hóa yêu cầu 6 3 Nghiên cứu trước [1] Chương 5 [1] Chương 6 (Mục 6.1, 6.2, 6.3) 6 Chương 5: Phân tích hướng đối tượng 5.1 Phân tích UseCase, nhận diện lớp phân tích 5.2 Lược đồ cộng tác 5.3 Phân tích Class 5.4 Phân tích Package 3 3 Nghiên cứu trước [1] Chương 6 (Mục 6.5) 7 Chương 6: Thiết kế 6.1 Thiết kế trong ngữ cảnh phát triển phần mềm 6.2 Một số khái niệm cơ bản về thiết kế 6.3 Mô hình thiết kế 3 6 Nghiên cứu trước [1] Chương 6 (Mục 6.5) [1] Chương 8, Chương 9 8 Chương 7: Thiết kế giao diện 3 3 Nghiên cứu trước [1] Chương 11 13 7.1 Một số quy tắc trong thiết kế giao diện 7.2 Phân tích và thiết kế giao diện 7.3 Các ví dụ 9-10 Chương 8: Thiết kế kiến trúc 8.1 Các khái niệm về kiến trúc 8.2 Một số kiến trúc thông dụng cũng như đặc điểm 6 3 Nghiên cứu trước [1] Chương 9 [1] Chương 13 11-12 Chương 9: Thiết kế CSDL lưu trữ 9.1 Các khái niệm về CSDL quan hệ 9.2 Các thao tác chính trên CSDL 9.3 Một số qui tắc chuẩn hóa CSDL 6 6 Nghiên cứu trước [4] Chương 2, Chương 3, Chương 5, Chương 10 13-14 Chương 10: Giới thiệu một số mẫu thiết kế (design patterns) thông dụng 6 0 Nghiên cứu trước [2] Chương [1-5] 15 Ôn tập 3 0 Ôn lại toàn bộ nội dung các chương đã học Ngày tháng. Năm 201 Trưởng khoa (Ký và ghi rõ họ tên) Ngày tháng. Năm 201 Trưởng Bộ môn (Ký và ghi rõ họ tên) Ngày tháng. Năm 2016 Người biên soạn (Ký và ghi rõ họ tên) Ngày tháng. Năm 201 Ban giám hiệu NGUYỄN THANH VŨ
File đính kèm:
- de_cuong_chi_tiet_mon_phan_tich_va_thiet_ke_phan_mem.pdf