hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Thực hành triển khai dự án CNTT
3. THIẾT KẾ HỆ THỐNG

3. THIẾT KẾ HỆ THỐNG

  • 10-05-2025
  • Toanngo92
  • 0 Comments

Mục lục

  • 3.1 Giới thiệu
    • 3.2 Các thành phần thiết kế chính
    • 3.3 Thiết kế lớp (Class Diagram)
      • 3.3.1 Vai trò của Class Diagram
      • 3.3.2 Thành phần chính
      • 3.3.3 Ví dụ thực tế
    • 3.4 Thiết kế hành vi (Sequence Diagram)
      • 3.4.1 Khái niệm
      • 3.4.2 Các yếu tố cơ bản
      • 3.4.3 Ví dụ thực tế: Đăng ký khoá học
    • 3.5 Thiết kế cơ sở dữ liệu (ERD)
      • 3.5.1 Cơ bản về ERD (Entity Relationship Diagram)
      • 3.5.2 Ví dụ thực tế
    • 3.6 Kiến trúc tổng thể hệ thống
      • 3.6.1 Mô hình 3 lớp (Three-tier Architecture)
      • 3.6.2 Ví dụ kiến trúc thực tế
    • 3.7 Tổng kết chương

3.1 Giới thiệu

Thiết kế hệ thống là bước tiếp theo sau khi hoàn tất việc phân tích và đặc tả yêu cầu. Trong bước này, kiến trúc phần mềm được mô hình hóa bằng các biểu đồ giúp nhóm phát triển hiểu được cách hệ thống sẽ được xây dựng và vận hành. Thiết kế tốt giúp tiết kiệm chi phí lập trình và bảo trì sau này.

3.2 Các thành phần thiết kế chính

  1. Sơ đồ lớp (Class Diagram)
  2. Sơ đồ trình tự (Sequence Diagram)
  3. Sơ đồ cơ sở dữ liệu (ERD hoặc Logical Data Model)
  4. Kiến trúc tổng thể của hệ thống (System Architecture)

3.3 Thiết kế lớp (Class Diagram)

3.3.1 Vai trò của Class Diagram

Class Diagram mô tả cấu trúc tĩnh của hệ thống, thể hiện các lớp, thuộc tính, phương thức và mối quan hệ giữa các lớp. Đây là nền tảng để xây dựng mã nguồn theo hướng đối tượng.

3.3.2 Thành phần chính

  • Class name: Tên lớp.
  • Attributes: Biến đại diện cho dữ liệu.
  • Methods: Các hàm xử lý.
  • Relationships:
    • Association (liên kết)
    • Aggregation (tập hợp)
    • Inheritance (kế thừa)
    • Composition (cấu thành)

3.3.3 Ví dụ thực tế

Dự án: Quản lý khoá học

  • Class: User
    • Attributes: id, name, email, password, role
    • Methods: login(), logout(), updateProfile()
  • Class: Course
    • Attributes: id, title, description, teacherId
    • Methods: registerStudent(), closeCourse()
  • Class: Enrollment
    • Attributes: id, courseId, userId, registerDate
    • Quan hệ: Nhiều User – Nhiều Course (qua Enrollment)
  • Inheritance:
    • User ← Student, Admin, Teacher

3.4 Thiết kế hành vi (Sequence Diagram)

3.4.1 Khái niệm

Sequence Diagram thể hiện luồng tương tác giữa các đối tượng theo thời gian. Mỗi đối tượng được vẽ theo trục đứng, các thông điệp được trao đổi là các mũi tên theo chiều ngang.

3.4.2 Các yếu tố cơ bản

  • Actor: người dùng tương tác với hệ thống
  • Object: các thực thể trong hệ thống
  • Message: lời gọi hàm, truyền dữ liệu giữa các đối tượng
  • Activation: phần xử lý tại mỗi đối tượng

3.4.3 Ví dụ thực tế: Đăng ký khoá học

  1. Student → LoginForm: submit(login, pass)
  2. LoginForm → AuthService: validate()
  3. AuthService → DB: SELECT user
  4. AuthService → Session: create
  5. Session → Student: forward to dashboard

Lưu ý: Cần thể hiện rõ ràng trình tự và logic nghiệp vụ.


3.5 Thiết kế cơ sở dữ liệu (ERD)

3.5.1 Cơ bản về ERD (Entity Relationship Diagram)

ERD biểu diễn các thực thể trong hệ thống, mối quan hệ giữa chúng và các thuộc tính tương ứng. Đây là cơ sở để sinh viên chuyển thành thiết kế bảng CSDL thực tế.

3.5.2 Ví dụ thực tế

Các bảng chính:

  • Users: id, name, email, password, role
  • Courses: id, title, description, teacher_id
  • Enrollments: id, user_id, course_id, created_at

Mối quan hệ:

  • Một User có thể đăng ký nhiều Course → N:N (giải bằng bảng Enrollment)
  • Một Course chỉ do một giáo viên phụ trách (1:1)

Chuẩn hoá:

  • Tránh lặp dữ liệu
  • Tách bảng phụ cho danh mục: ví dụ bảng CourseTypes

3.6 Kiến trúc tổng thể hệ thống

3.6.1 Mô hình 3 lớp (Three-tier Architecture)

  1. Presentation Layer: Giao diện người dùng (HTML/CSS/JS, React…)
  2. Business Logic Layer: Xử lý nghiệp vụ (Laravel, Spring, Django…)
  3. Data Access Layer: Tương tác CSDL (MySQL, PostgreSQL…)

3.6.2 Ví dụ kiến trúc thực tế

Công nghệ sử dụng:

  • Frontend: Bootstrap 5
  • Backend: Laravel 10
  • Database: MySQL
  • Authentication: Laravel Sanctum / Session

Sơ đồ kiến trúc: User ↔ Web UI ↔ Laravel Route ↔ Controller ↔ Service ↔ Model ↔ DB


3.7 Tổng kết chương

  • Thiết kế là cầu nối giữa phân tích và lập trình.
  • Class Diagram và ERD giúp lập trình có định hướng rõ ràng.
  • Sequence Diagram hỗ trợ mô tả logic theo thời gian.
  • Kiến trúc hệ thống phải phù hợp với năng lực nhóm và phạm vi đề tài.

Bài tập

Bài tập thực hành:

  • Vẽ Class Diagram cho hệ thống của bạn
  • Viết mô tả cho 1 lớp chính (attributes + methods)
  • Tạo Sequence Diagram cho chức năng "Đăng nhập"
  • Thiết kế bảng dữ liệu theo sơ đồ ERD

Bài viết liên quan:

5. VIẾT BÁO CÁO VÀ THUYẾT TRÌNH DỰ ÁN
4. KIỂM THỬ VÀ TRIỂN KHAI HỆ THỐNG
2. PHÂN TÍCH VÀ ĐẶC TẢ HỆ THỐNG
1. TỔNG QUAN KIẾN THỨC THỰC HÀNH TRIỂN KHAI DỰ ÁN CÔNG NGHỆ THÔNG TIN

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

KHÁI NIỆM QUẢN LÝ DỰ ÁN CÔNG NGHỆ THÔNG TIN (IT PROJECT MANAGEMENT)

Cấu trúc lập trình và Mảng

Bắt đầu với C#

1. GIỚI THIỆU KHÁI NIỆM CHUẨN MỰC – ĐẠO ĐỨC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

2. ÁP DỤNG CÁC CHUẨN MỰC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×