Xây dựng phần mềm  hướng đối tượng Lớp 05HCB Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Bộ môn Cô...
Giới thiệu chung <ul><li>Mục tiêu môn học : </li></ul><ul><ul><li>Cung cấp cho các sinh viên các  kiến thức chuyên sâu  li...
Giới thiệu chung <ul><li>Giảng viên lý thuyết:  </li></ul><ul><ul><li>ThS. Trần Minh Triết  [email_address] </li></ul></ul...
Website và Mail Group <ul><li>Website môn học: </li></ul><ul><ul><li>http://courses.cs.hcmuns.edu.vn/   </li></ul></ul><ul...
Nội dung #1 <ul><li>Chương 1: Mở đầu </li></ul><ul><li>Một số khái niệm về Phần mềm, quy trình phần mềm </li></ul><ul><ul>...
Nội dung #2 <ul><li>Chương 2: Yêu cầu của người sử dụng </li></ul><ul><li>Mục tiêu của giai đoạn khảo sát hiện trạng và xá...
Nội dung #3 <ul><li>Chương 3: Phân tích yêu cầu </li></ul><ul><li>Mô hình hóa yêu cầu: </li></ul><ul><ul><li>Lược đồ Use-c...
Nội dung #4 <ul><li>Chương 4: Phân tích theo hướng đối tượng </li></ul><ul><li>Sơ đồ lớp ở mức phân tích </li></ul><ul><ul...
Nội dung #5 <ul><li>Chương 5: Thiết kế dữ liệu lưu trữ </li></ul><ul><li>Lưu trữ dữ liệu bằng CSDL quan hệ </li></ul><ul><...
Nội dung #6 <ul><li>Chương 6: Thiết kế kiến trúc phần mềm </li></ul><ul><li>Khái niệm Kiến trúc phần mềm </li></ul><ul><ul...
Nội dung #7 <ul><li>Chương 7: Thiết kế giao diện </li></ul><ul><li>Mở đầu </li></ul><ul><ul><li>Nội dung và hình thức của ...
Nội dung #8 <ul><li>Chương 8: Một số vấn đề khác </li></ul><ul><li>Mẫu thiết kế hướng đối tượng </li></ul><ul><ul><li>Khái...
Tài liệu tham khảo <ul><li>Roger S Pressman, Roger Pressman (2004),  Software Engineering: A Practitioner's Approach , McG...
Hình thức kiểm tra và đánh giá <ul><li>Thi lý thuyết :  6 điểm </li></ul><ul><ul><li>Thi viết,  không  tham khảo tài liệu ...
Hình thức kiểm tra và đánh giá (t.t) <ul><li>Bài tập giữa kỳ 1 điểm </li></ul><ul><ul><li>Bài tập làm cá nhân </li></ul></...
Hình thức kiểm tra và đánh giá (t.t) <ul><li>Đồ án cuối kỳ 3 điểm (+ 1 điểm) </li></ul><ul><ul><li>Làm theo nhóm, tối đa 2...
Hình thức kiểm tra và đánh giá (t.t) <ul><li>Đồ án nâng cao 3 điểm (+ 3 điểm) </li></ul><ul><ul><li>Đồ án nâng cao ( nếu c...
Upcoming SlideShare
Loading in …5
×

Giới thiệu môn học

1,353 views
1,271 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,353
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Giới thiệu môn học

  1. 1. Xây dựng phần mềm hướng đối tượng Lớp 05HCB Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Bộ môn Công Nghệ Phần Mềm GVLT: ThS. Trần Minh Triết
  2. 2. Giới thiệu chung <ul><li>Mục tiêu môn học : </li></ul><ul><ul><li>Cung cấp cho các sinh viên các kiến thức chuyên sâu liên quan đến việc xây dựng phần mềm theo tiếp cận hướng đối tượng . </li></ul></ul><ul><ul><li>Sinh viên sẽ được giới thiệu phương pháp , kỹ thuật để xây dựng phần mềm theo hướng đối tượng, đặc biệt trong giai đoạn phân tích và thiết kế phần mềm . </li></ul></ul><ul><ul><li>Tính tiến hóa và kiến trúc linh hoạt của phần mềm là nội dung quan trọng trong môn học này. </li></ul></ul><ul><li>Số đơn vị học trình </li></ul><ul><ul><li>5 đơn vị học trình (4 tín chỉ lý thuyết + 1 tín chỉ thực hành) </li></ul></ul><ul><li>Môn tiên quyết : </li></ul><ul><ul><li>Phương pháp lập trình hướng đ ối tượng </li></ul></ul><ul><ul><li>Nhập môn công nghệ phần mềm </li></ul></ul>
  3. 3. Giới thiệu chung <ul><li>Giảng viên lý thuyết: </li></ul><ul><ul><li>ThS. Trần Minh Triết [email_address] </li></ul></ul><ul><li>Nhóm Giảng viên phụ trách hướng dẫn thực hành: </li></ul><ul><ul><li>Thầy Phạm Minh Tuấn [email_address] </li></ul></ul><ul><ul><li>Thầy Nguyễn Minh Huy [email_address] </li></ul></ul><ul><ul><li>Thầy Nguyễn Văn Tâm [email_address] </li></ul></ul><ul><ul><li>Thầy Bùi Tấn Lộc btloc@fit.hcmuns.edu.vn </li></ul></ul><ul><ul><li>Thầy Trần Duy Thảo tdthao@fit.hcmuns.edu.vn </li></ul></ul><ul><ul><li>Thầy Nguyễn Thành Trung [email_address] </li></ul></ul>
  4. 4. Website và Mail Group <ul><li>Website môn học: </li></ul><ul><ul><li>http://courses.cs.hcmuns.edu.vn/ </li></ul></ul><ul><ul><li>vào mục Xây dựng phần mềm hướng đối tượng 05HCB </li></ul></ul><ul><li>Mail Group : 05hcb-xdpmhdt </li></ul><ul><ul><li>Đăng ký tham gia Group : gửi email vào địa chỉ </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Truy cập thông tin trao đổi tại địa chỉ : </li></ul></ul><ul><ul><li>http://groups-beta.google.com/group/05hcb-xdpmhdt </li></ul></ul><ul><ul><li>Muốn hỏi bài hoặc thông báo cho các bạn trong lớp , gửi email đến địa chỉ (dùng địa chỉ email đã join vào Group) </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
  5. 5. Nội dung #1 <ul><li>Chương 1: Mở đầu </li></ul><ul><li>Một số khái niệm về Phần mềm, quy trình phần mềm </li></ul><ul><ul><li>Phần mềm </li></ul></ul><ul><ul><li>Chất lượng phần mềm </li></ul></ul><ul><ul><li>Quy trình phần mềm </li></ul></ul><ul><ul><ul><li>Quy trình thác nước </li></ul></ul></ul><ul><ul><ul><li>Quy trình thác nước cải tiến </li></ul></ul></ul><ul><ul><ul><li>Quy trình Prototype </li></ul></ul></ul><ul><ul><ul><li>Quy trình xoắn ốc </li></ul></ul></ul><ul><ul><li>Xây dựng phần mềm theo tiếp cận hướng đối tượng </li></ul></ul><ul><li>Nhắc lại một số khái niệm về hướng đối tượng </li></ul><ul><ul><li>Lớp đối tượng và đối tượng </li></ul></ul><ul><ul><ul><li>Thuộc tính và phương thức </li></ul></ul></ul><ul><ul><ul><li>Visibility: Public, protected, private </li></ul></ul></ul><ul><ul><ul><li>Tính kế thừa và đa xạ </li></ul></ul></ul><ul><ul><li>Quan hệ giữa các lớp đối tượng: </li></ul></ul><ul><ul><ul><li>Quan hệ tổng quát hóa (Generalization) </li></ul></ul></ul><ul><ul><ul><li>Quan hệ Association, Aggregation, Composition </li></ul></ul></ul><ul><ul><ul><li>Quan hệ Dependency </li></ul></ul></ul><ul><ul><li>Một số ký hiệu </li></ul></ul>
  6. 6. Nội dung #2 <ul><li>Chương 2: Yêu cầu của người sử dụng </li></ul><ul><li>Mục tiêu của giai đoạn khảo sát hiện trạng và xác định yêu cầu </li></ul><ul><ul><li>Hiện trạng tổ chức </li></ul></ul><ul><ul><li>Hiện trạng nghiệp vụ </li></ul></ul><ul><ul><li>Hiện trạng Tin học (phần cứng, phần mềm, con người) </li></ul></ul><ul><li>Xác định và thu thập yêu cầu: </li></ul><ul><ul><li>Phân loại yêu cầu: </li></ul></ul><ul><ul><ul><li>Yêu cầu chức năng: Lưu trữ, tra cứu, tính toán, kết xuất </li></ul></ul></ul><ul><ul><ul><li>Yêu cầu phi chức năng </li></ul></ul></ul><ul><ul><li>Kỹ thuật thu thập yêu cầu: </li></ul></ul><ul><ul><ul><li>Phỏng vấn </li></ul></ul></ul><ul><ul><ul><li>Bảng câu hỏi </li></ul></ul></ul><ul><ul><ul><li>Nghiên cứu các tài liệu </li></ul></ul></ul><ul><ul><ul><li>Quan sát thực tế </li></ul></ul></ul><ul><ul><ul><li>Phân tích thiết kế nhóm (JAD) </li></ul></ul></ul>
  7. 7. Nội dung #3 <ul><li>Chương 3: Phân tích yêu cầu </li></ul><ul><li>Mô hình hóa yêu cầu: </li></ul><ul><ul><li>Lược đồ Use-case </li></ul></ul><ul><ul><li>Khái niệm Actor và Usecase </li></ul></ul><ul><ul><li>Ví dụ </li></ul></ul><ul><li>Mô hình hóa các dòng dữ liệu của mỗi Use-case </li></ul><ul><ul><li>Giới thiệu Mô hình DFD </li></ul></ul><ul><ul><li>Sử dụng mô hình DFD để mô hình hóa yêu cầu lưu trữ, tra cứu, tính toán, kết xuất </li></ul></ul>
  8. 8. Nội dung #4 <ul><li>Chương 4: Phân tích theo hướng đối tượng </li></ul><ul><li>Sơ đồ lớp ở mức phân tích </li></ul><ul><ul><li>Xác định các lớp đối tượng chính </li></ul></ul><ul><ul><li>Xác định các thông tin (  thuộc tính) và hành động/trách nhiệm (  phương thức) của mỗi lớp đối tượng chính </li></ul></ul><ul><ul><li>Xác định các quan hệ chính </li></ul></ul><ul><ul><li>Xác định các lớp đối tượng phụ, các danh mục </li></ul></ul><ul><li>Sơ đồ lớp và Khả năng tiến hóa của hệ thống </li></ul><ul><ul><li>Áp dụng kỹ thuật đa xạ và kế thừa để tăng khả năng tiến hóa của hệ thống </li></ul></ul><ul><li>Sơ đồ trạng thái </li></ul><ul><ul><li>Khái niệm và các ký hiệu </li></ul></ul><ul><ul><ul><li>Trạng thái </li></ul></ul></ul><ul><ul><ul><li>Biến cố, điều kiện </li></ul></ul></ul><ul><ul><ul><li>Trạng thái đầu, trạng thái cuối </li></ul></ul></ul><ul><ul><ul><li>Superstate </li></ul></ul></ul><ul><ul><li>Áp dụng </li></ul></ul>
  9. 9. Nội dung #5 <ul><li>Chương 5: Thiết kế dữ liệu lưu trữ </li></ul><ul><li>Lưu trữ dữ liệu bằng CSDL quan hệ </li></ul><ul><ul><li>Một số kỹ thuật để ánh xạ sơ đồ lớp sang sơ đồ logic (tổ chức lưu trữ dữ liệu bằng CSDL quan hệ) </li></ul></ul><ul><li>Lưu trữ dữ liệu bằng XML </li></ul><ul><ul><li>Giới thiệu sơ lược về XML </li></ul></ul><ul><ul><li>Cách lưu trữ dữ liệu </li></ul></ul><ul><ul><li>So sánh giữa cách sử dụng lưu trữ bằng XML, lưu trữ bằng CSDL quan hệ, và kết hợp cả 2 cách. </li></ul></ul>
  10. 10. Nội dung #6 <ul><li>Chương 6: Thiết kế kiến trúc phần mềm </li></ul><ul><li>Khái niệm Kiến trúc phần mềm </li></ul><ul><ul><li>Kiến trúc 1 tầng </li></ul></ul><ul><ul><li>Kiến trúc 2 tầng </li></ul></ul><ul><li>Kiến trúc 3 tầng </li></ul><ul><ul><li>Tầng giao diện </li></ul></ul><ul><ul><li>Tầng xử lý (nghiệp vụ) </li></ul></ul><ul><ul><li>Tầng dữ liệu </li></ul></ul><ul><li>Một số kiến trúc cụ thể phổ biến </li></ul>
  11. 11. Nội dung #7 <ul><li>Chương 7: Thiết kế giao diện </li></ul><ul><li>Mở đầu </li></ul><ul><ul><li>Nội dung và hình thức của giao diện </li></ul></ul><ul><ul><li>Một số hướng tiếp cận khi thiết kế giao diện: Hướng chức năng, Hướng nghiệp vụ, Hướng đối tượng </li></ul></ul><ul><ul><li>Một số ký hiệu cơ bản để thiết kế giao diện </li></ul></ul><ul><li>Áp dụng </li></ul><ul><ul><li>Thiết kế giao diện nhập liệu: Nhập liệu cho đối tượng đơn, Nhập liệu cho đối tượng phức, Nhập liệu cho quan hệ </li></ul></ul><ul><ul><li>Thiết kế giao diện tra cứu </li></ul></ul><ul><ul><li>Thiết kế giao diện tính toán </li></ul></ul><ul><ul><li>Thiết kế giao diện kết xuất </li></ul></ul><ul><li>Một số kỹ thuật nâng cao chất lượng giao diện </li></ul><ul><ul><li>Kỹ thuật bổ sung thông tin </li></ul></ul><ul><ul><li>Kỹ thuật bổ sung xử lý </li></ul></ul><ul><ul><li>Kỹ thuật tăng tốc thao tác </li></ul></ul><ul><ul><li>Kỹ thuật xử lý lỗi </li></ul></ul><ul><ul><li>Kỹ thuật bổ sung, thay thế hình thức trình bày </li></ul></ul><ul><li>Một số lưu ý khi thiết kế giao diện </li></ul>
  12. 12. Nội dung #8 <ul><li>Chương 8: Một số vấn đề khác </li></ul><ul><li>Mẫu thiết kế hướng đối tượng </li></ul><ul><ul><li>Khái niệm </li></ul></ul><ul><ul><li>Ý nghĩa </li></ul></ul><ul><ul><li>Một số mẫu thiết kế thông dụng </li></ul></ul><ul><li>Tái tổ chức phần mềm </li></ul><ul><ul><li>Nhu cầu </li></ul></ul><ul><ul><li>Một số chức năng cơ bản khi tái tổ chức phần mềm </li></ul></ul><ul><li>Một số kỹ thuật để bổ sung tính năng “động” cho phần mềm </li></ul><ul><li>Web Service và Kiến trúc hướng dịch vụ </li></ul>
  13. 13. Tài liệu tham khảo <ul><li>Roger S Pressman, Roger Pressman (2004), Software Engineering: A Practitioner's Approach , McGraw-Hill Science/Engineering/Math </li></ul><ul><li>Ian Sommerville (2006), Software Engineering: (Update) (8th Edition) , Addison Wesley </li></ul><ul><li>Dennis de Champeaux, Douglas Lea, Penelope, Faure (1993). Software Engineering - Object-Oriented System Development , Addison Wesley </li></ul><ul><li>Len Bass, Paul Clements, Rick Kazman (2003), Software Architecture in Practice, 2 nd edition , Addison Wesley </li></ul><ul><li>Clifton Nock (2003), Data Access Patterns: Database Interactions in Object-Oriented Applications , Addison Wesley </li></ul><ul><li>Sherif M. Yacoub, Hany H. Ammar (2003), Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems , Addison Wesley. </li></ul><ul><li>Microsoft Corporation (2003), Enterprise Solution Patterns Using Microsoft .NET , Microsoft Press </li></ul><ul><li>Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford (2002), Patterns of Enterprise Application Architecture , Addison Wesley. </li></ul><ul><li>Alan Shalloway, James R. Trott (2004), Design Patterns Explained – A New Perspective on Object Oriented Design , Addison Wesley </li></ul><ul><li>Gregor Hohpe, Bobby Woolf (2003), Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , Addison Wesley </li></ul>
  14. 14. Hình thức kiểm tra và đánh giá <ul><li>Thi lý thuyết : 6 điểm </li></ul><ul><ul><li>Thi viết, không tham khảo tài liệu </li></ul></ul><ul><li>Thực hành : </li></ul><ul><ul><li>Bài tập giữa kỳ 1 điểm </li></ul></ul><ul><ul><ul><li>Bài tập làm cá nhân </li></ul></ul></ul><ul><ul><ul><li>Nộp 1-2 lần trong học kỳ trên website môn học theo thông báo của GV </li></ul></ul></ul><ul><ul><li>Đồ án cuối kỳ 3 điểm (+ 1 điểm) </li></ul></ul><ul><ul><ul><li>Làm theo nhóm, tối đa 2SV/nhóm. </li></ul></ul></ul><ul><ul><ul><li>Báo cáo : 1.5 điểm (+0.5 điểm) </li></ul></ul></ul><ul><ul><ul><li>Chương trình : 1.5 điểm (+0.5 điểm) </li></ul></ul></ul><ul><li>Ghi chú: </li></ul><ul><ul><li>Điểm Tổng kết môn học (tối đa là 10 điểm) được làm tròn lên đến 0.5. </li></ul></ul><ul><ul><ul><li>Ví dụ: 8.25  8.5, 7.75  8.0 </li></ul></ul></ul><ul><ul><li>Đồ án nâng cao (nếu có, tùy theo tình hình học tập của SV) sẽ được thông báo vào khoảng tuần lễ thứ 5 của môn học. </li></ul></ul>
  15. 15. Hình thức kiểm tra và đánh giá (t.t) <ul><li>Bài tập giữa kỳ 1 điểm </li></ul><ul><ul><li>Bài tập làm cá nhân </li></ul></ul><ul><ul><li>Nộp 1-2 lần trong học kỳ trên website môn học theo thông báo của GV </li></ul></ul><ul><ul><li>Lưu ý: khi nộp bài cần tuân theo đầy đủ quy định được thông báo trên website môn học (về cách tổ chức file bài làm, đặt tên file…) </li></ul></ul><ul><ul><li>Các mức đánh giá : </li></ul></ul><ul><ul><ul><li>A - Xuât sắc 100% số điểm </li></ul></ul></ul><ul><ul><ul><li>B - Đạt yêu cầu ~70% số điểm </li></ul></ul></ul><ul><ul><ul><li>C - Không đạt yêu cầu ~30% số điểm </li></ul></ul></ul><ul><ul><ul><li>F - Không nộp, hoặc giống bài của SV khác 0% số điểm </li></ul></ul></ul>
  16. 16. Hình thức kiểm tra và đánh giá (t.t) <ul><li>Đồ án cuối kỳ 3 điểm (+ 1 điểm) </li></ul><ul><ul><li>Làm theo nhóm, tối đa 2SV/nhóm. </li></ul></ul><ul><ul><li>Đề tài tự chọn (GV sẽ cung cấp danh sách một số đề tài gợi ý) </li></ul></ul><ul><ul><li>Nộp vào cuối khóa học. Hình thức&thời điểm nộp theo thông báo của GV. </li></ul></ul><ul><ul><li>Môi trường lập trình: Sinh viên có thể sử dụng các công cụ và môi trường lập trình thông dụng hiện nay. </li></ul></ul><ul><ul><li>Báo cáo : 1.5 điểm (+0.5 điểm) </li></ul></ul><ul><ul><li>Chương trình : 1.5 điểm (+0.5 điểm) </li></ul></ul>
  17. 17. Hình thức kiểm tra và đánh giá (t.t) <ul><li>Đồ án nâng cao 3 điểm (+ 3 điểm) </li></ul><ul><ul><li>Đồ án nâng cao ( nếu có, tùy theo tình hình học tập của SV ) sẽ được thông báo vào khoảng tuần lễ thứ 5 của môn học. </li></ul></ul><ul><ul><li>Yêu cầu: Phân tích thiết kế và cài đặt hoàn chỉnh (hoặc gần hoàn chỉnh) một phần mềm có tính tiến hóa cao và kiến trúc linh hoạt . </li></ul></ul><ul><ul><li>Làm theo nhóm, tối đa 2SV/nhóm. </li></ul></ul><ul><ul><li>Môi trường lập trình: Sinh viên có thể sử dụng các công cụ và môi trường lập trình thông dụng hiện nay. </li></ul></ul><ul><ul><li>Báo cáo : 1.5 điểm (+1 điểm) </li></ul></ul><ul><ul><li>Chương trình : 1.5 điểm (+2 điểm) </li></ul></ul><ul><ul><li>Lưu ý : Điểm cộng (xét riêng từng sinh viên trong nhóm) chỉ được tính khi sinh viên thi lý thuyết đạt trên 50% số điểm của bài thi lý thuyết (điểm thi LT  3đ) </li></ul></ul>

×