Skip to main content

Kiến trúc và thiết kế phần mềm

Enrollment in this course is by invitation only

Chào mừng bạn đến với khóa học

Sau khi học môn học này các bạn sẽ biết được những khái niệm căn bản trong Kiến trúc và thiết kế phần mềm. Khóa học sẽ dẫn dắt các bạn đi từng bước cách khai thác các nội dung trong quản lý yêu cầu phần mềm để đưa ra được kiến trúc phần mềm và bản thiết kế phù hợp. Với vai trò một Designer, các bạn sẽ được hướng dẫn thực hiện các bước từ cách đánh giá yêu cầu để lựa chọn kiến trúc phù hợp, cách thiết kế phù hợp cho với các yêu cầu dự án đã đề ra.

Về mặt chuyên môn nội dung, khóa học này sẽ cung cấp cho các bạn một số nội dung tổng quát những vấn đề khi bạn đối mặt với việc lựa chọn kiến trúc và cách thiết kế tương đương. Bên cạnh đó các bạn cũng được luyện tập sử dụng một số công cụ, ứng dụng để xây dựng kiến trúc phù hợp. Kết thúc môn học, bạn sẽ có thể nắm được cơ bản các hoạt động trong quá trình lựa chọn kiến trúc phần mềm và cách thiết kế phù hợp.

Mã khóa học: SWD391x

Tên khóa học: Kiến trúc và thiết kế phần mềm (Software Architecture & Design)

Số tín chỉ: 3

Thời lượng học ước tính: 45 giờ

Mục tiêu môn học: 

    • Có khả năng diễn đạt, phân tích và thiết kế ứng dụng bằng cách sử dụng UML (Unified Model Language)
    • Có kĩ năng phân tích ngữ nghĩa của một ứng dụng bằng ngôn ngữ ràng buộc đối tượng OCL (Object Constraint Language)
    • Hiểu được một số kiến trúc mô hình công nghệ (MVC, …)
    • Lựa chọn và sử dụng kiểu kiến trúc ứng dụng phù hợp
    • Hiểu và ứng dụng kỹ thuật thiết kế hướng đối tượng (ôn tập lại từ môn SWE)
    • Lựa chọn và sử dụng Software Design pattern phù hợp
    • Hiểu và biết cách tham gia vào hoạt động design review trong quy trình phát triển phần mềm

Cấu trúc khóa học:

Phần 1: Giới thiệu

- Giới thiệu những khái niệm cơ bản liên quan đến hoạt động thiết kế và kiến trúc phần mềm trong dự án phần mềm
- Nắm được các khái niệm trong thiết kế như: Thiết kế phần mềm là gì, Quy trình thiết kế trong dự án phần mềm, các mô hình trong thiết kế.

Phần 2: UML (Unified Model Language) & OCL (Object Constraint Language)

- Ôn tập lại các kiến thức UML.
- OCL và các ràng buộc trong UML profile
- Mô hình hành vi (behavior modeling)
- Giới thiệu công cụ làm bài tập online với Clock Radio
- Hướng dẫn thực hiện review và phê duyệt trong dự án

Phần 3: Kiến trúc phần mềm (Architectural)

- Hiểu về kiểu kiến trúc (architectural style), thiết kế kiến trúc (architectural design) và cách đọc xem kiến trúc (architectural views)
- Các kiểu kiến trúc và yêu cầu phi chức năng
- Các connector và middle tiers

Phần 4: Design

- Hiểu được các hoạt động của component và thiết kế đối tượng (object design).
- Hiểu được design pattern và hoạt động review trong design.

Nguyễn Duy Nghiêm
  • Tốt nghiệp Thạc sĩ ngành Khoa học máy tính tại Đại học Collins (Mỹ), lấy Bằng Tiến sĩ năm 2019 tại Đại học Charles (Australia)
  • Từng tham gia làm việc trong ngành công nghiệp phần mềm với các vị trí Kỹ sư phần mềm, Trưởng nhóm, Quản lý dự án tại Việt Nam, Nhật Bản và các quốc gia khác từ năm 2003-2015
  • Tham gia giảng dạy tại các trường đại học ở Việt Nam, Nhật Bản và Úc với các chương trình Quản lý dự án, Vòng đời phát triển phần mềm, Internet of Things, Lập trình nhúng, Hệ thống thông tin quản lý từ năm 2009-2017…
  • Hơn 10 năm đào tạo học viên các môn chuyên ngành CNTT tại Viện Quản trị Kinh doanh FSB (Đại học FPT) và giảng dạy nội bộ tại trung tâm đào tạo của FPT Software.
  • Giám đốc Đại học FPT Greenwich, campus Đà Nẵng.

NGUỒN HỌC LIỆU

Danh sách nguồn học liệu mở miễn phí (MOOC) mà FUNiX đang sử dụng trong môn học này: Azim Abdool, Contex Dev, Christian Damus, Derek Banas, dolabuy, SMILE Program, Sptech, Udacity.

Tất cả các nguồn học liệu mở được sử dụng trong các chương trình đào tạo tại FUNiX đều được công khai, liên tục cập nhật và không thu phí. FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn.