Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,552 views

Published on

  • Be the first to comment

  • Be the first to like this

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>

×