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
  • Phân tích thiết kế triển khai phần mềm
Thiết kế tình huống điển hình, thực hành và ví dụ

Thiết kế tình huống điển hình, thực hành và ví dụ

  • 26-06-2025
  • Toanngo92
  • 0 Comments

Mục lục

  • 📄 Tình huống thực tế
  • 🪜 Bước Một: Hiểu tình huống
  • 👥 Bước Một (tiếp): Phân tích người dùng và nền tảng
  • 📄 Bước Một (tiếp): Paper Prototype
  • 🧩 Bước Hai: Sơ đồ lớp
  • 🔁 Bước Ba: Sơ đồ hoạt động mức cao (Hiện tại)
  • 🧠 Bước Bốn: Sơ đồ hoạt động mức thấp (Tương lai)
  • 🧾 TÌNH HUỐNG: HỆ THỐNG ĐẶT LỊCH HẸN CẮT TÓC TRỰC TUYẾN
    • 🧩 Mô tả ngắn:
  • ✅ Cách xử lý theo các bước hướng dẫn
    • 🔹 Bước Một: Hiểu tình huống
    • 🔹 Bước Một (tiếp): Paper Prototype
    • 🔹 Bước Hai: Sơ đồ lớp
    • 🔹 Bước Ba: Sơ đồ hoạt động mức cao (hiện tại)
    • 🔹 Bước Bốn: Sơ đồ hoạt động mức thấp (tự động hóa tương lai)
    • 🔹 Sơ đồ trình tự minh họa

📄 Tình huống thực tế

  • Bạn sẽ được cung cấp bản in giấy hoặc bản điện tử của tình huống
  • Hãy dành thời gian suy nghĩ cách tiếp cận việc phân tích và thiết kế hệ thống
  • Trong nghiên cứu tình huống này, bạn cần thực hiện: ✅ Tạo nguyên mẫu giấy (paper prototype)
    ✅ Vẽ sơ đồ use-case
    ✅ Vẽ sơ đồ class diagram
    ✅ Vẽ sơ đồ activity diagram

🪜 Bước Một: Hiểu tình huống

  • Bước đầu tiên là đọc kỹ tình huống
  • Yêu cầu làm rõ nếu bạn chưa hiểu
  • Giải quyết các điểm mơ hồ
  • Sau đó, bạn có thể bắt đầu bằng:
    • Phân tích ngôn ngữ tự nhiên (NLA)
    • Xác định các use-case

Cả hai việc trên nên được làm trước khi chuyển sang giai đoạn thiết kế.


👥 Bước Một (tiếp): Phân tích người dùng và nền tảng

Lưu ý rằng có ba nhóm người dùng và giao diện khác nhau:

Người dùngNền tảng sử dụng
Khách hàngĐiện thoại
Nhân viên quản trịMáy tính để bàn
Tài xếĐồng hồ thông minh

→ Mỗi nhóm cần một cách tiếp cận thiết kế giao diện khác nhau


📄 Bước Một (tiếp): Paper Prototype

  • Bạn sẽ được cung cấp mẫu giấy để thiết kế nguyên mẫu
  • Dùng chúng để phác thảo giao diện và cách hoạt động của hệ thống theo tưởng tượng của bạn
  • Hợp tác cùng bạn bè trong lớp:
    • Giúp nhau kiểm thử và đánh giá
    • Tham gia các mô phỏng kiểu “Wizard of Oz”
  • Hãy lắng nghe phản hồi của người khác
    → Và diễn giải những gì họ nói thành cải tiến cho thiết kế

🧩 Bước Hai: Sơ đồ lớp

  • Sau khi xác định use case và lớp ứng viên:
    • Đánh giá kỹ từng lớp có nên giữ hay không
    • Loại bỏ:
      • Các lớp trùng lặp
      • Các lớp đồng nghĩa
      • Các lớp không thể triển khai thực tế
  • Lập bản luận cứ giữ hay loại bỏ từng lớp ứng viên

→ Sau đó, xây dựng sơ đồ lớp chính thức


🔁 Bước Ba: Sơ đồ hoạt động mức cao (Hiện tại)

  • Xem xét cách hệ thống hiện tại đang hoạt động
  • Thiết kế sơ đồ hoạt động mức cao cho các quy trình: ✅ Đặt chỗ (Make a reservation)
    ✅ Xem đặt chỗ (View a reservation)
    ✅ Hủy đặt chỗ (Cancel a reservation)

→ Đây là sơ đồ mô tả quy trình thực tế đang diễn ra


🧠 Bước Bốn: Sơ đồ hoạt động mức thấp (Tương lai)

  • Sau khi đã mô hình hóa quy trình hiện tại, bạn cần:
    • Thiết kế sơ đồ hoạt động chi tiết hơn (low-level) cho hệ thống sẽ triển khai
    • Xem xét làm sao để hệ thống tự động hóa các bước từng do con người làm
    • Cải thiện luồng logic trong quy trình

→ Sau đó, vẽ các sơ đồ hoàn chỉnh

🧾 TÌNH HUỐNG: HỆ THỐNG ĐẶT LỊCH HẸN CẮT TÓC TRỰC TUYẾN

🧩 Mô tả ngắn:

Một chuỗi tiệm cắt tóc muốn phát triển hệ thống đặt lịch trực tuyến đa nền tảng. Hệ thống sẽ phục vụ:

  • Khách hàng: Đặt lịch, xem lịch, hủy lịch từ điện thoại
  • Nhân viên tiệm: Quản lý lịch hẹn, phân bổ thợ từ máy tính
  • Thợ cắt tóc: Xem lịch hẹn trên đồng hồ thông minh

✅ Cách xử lý theo các bước hướng dẫn


🔹 Bước Một: Hiểu tình huống

  1. Đọc kỹ yêu cầu, xác định rõ:
    • Người dùng chính: Khách hàng, Nhân viên, Thợ
    • Thiết bị sử dụng: Điện thoại, PC, Smartwatch
  2. Làm rõ các điểm mơ hồ:
    • Lịch hẹn có thời gian cố định hay chọn linh hoạt?
    • Một thợ có thể nhận bao nhiêu khách/ngày?
  3. Sử dụng Phân tích ngôn ngữ tự nhiên (NLA):
    • Danh từ → lớp: Appointment, Customer, Staff, Stylist, Service, TimeSlot
    • Động từ → hành động: đặt, hủy, xác nhận, xem, phân công

🔹 Bước Một (tiếp): Paper Prototype

Tạo 3 nguyên mẫu giao diện riêng:

Đối tượngGiao diện sơ bộ phác thảo
Khách hàngForm đặt lịch, danh sách lịch, nút hủy
Nhân viên quản trịGiao diện quản lý ngày giờ, danh sách lịch đã đặt
ThợMàn hình hiển thị lịch làm việc trong ngày (giản lược, ít nút)

🔹 Bước Hai: Sơ đồ lớp

Sau khi lọc danh sách lớp ứng viên, giữ lại các lớp chính:

  • Appointment: mã hẹn, ngày giờ, dịch vụ, trạng thái
  • Customer: họ tên, số điện thoại, email
  • Stylist: tên, lịch làm việc
  • Service: tên dịch vụ, thời lượng
  • Staff: xác nhận lịch, phân công

→ Vẽ sơ đồ lớp và thể hiện các quan hệ:

  • Customer đặt Appointment
  • Appointment sử dụng Service
  • Staff quản lý Appointment
  • Stylist được gán cho Appointment

🔹 Bước Ba: Sơ đồ hoạt động mức cao (hiện tại)

Hiện tại quy trình thủ công là:

  1. Khách gọi điện → nhân viên ghi vào sổ
  2. Nhân viên phân công thợ
  3. Khách đến đúng giờ

→ Vẽ sơ đồ hoạt động cho:

  • MakeAppointment
  • CancelAppointment
  • AssignStylist

🔹 Bước Bốn: Sơ đồ hoạt động mức thấp (tự động hóa tương lai)

Ví dụ: MakeAppointment:

  1. Khách đăng nhập ứng dụng
  2. Chọn ngày, giờ, dịch vụ
  3. Hệ thống kiểm tra stylist trống
  4. Gán stylist
  5. Xác nhận & gửi thông báo

→ Vẽ lại sơ đồ hoạt động chi tiết thể hiện:

  • Kiểm tra trùng lịch
  • Xử lý lỗi (stylist bận, hết slot…)

🔹 Sơ đồ trình tự minh họa

Use-case: Customer books appointment

Customer → AppointmentService: createAppointment()
AppointmentService → StylistManager: findAvailableStylist()
StylistManager → Database: query()
Database → StylistManager: stylistData
StylistManager → AppointmentService: availableStylist
AppointmentService → Appointment: save()
Appointment → Customer: confirm()

Bài viết liên quan:

Thiết kế lại và Triển khai
Bảo trì và tái cấu trúc phần mềm
Các yếu tố để thiết kế phần mềm hiệu quả
Một số mẫu thiết kế phổ biến
Mẫu thiết kế (Design Pattern)
Phân tích và thiết kế động
Phân tích và Thiết kế Tĩnh
Phân tích & Thiết kế hướng đối tượng linh hoạt (Agile Object Orientation)
Thiết kế Lấy Người Dùng Làm Trung Tâm (User Centred Design)
Giới thiệu nội dung series phân tích thiết kế và triển khai phần mềm

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

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

3. Quản lý dự án công nghệ thông tin (IT PROJECT MANAGEMENT)

1. Giới thiệu khái niệm chuẩn mực và đạo đức nghề nghiệp trong CNTT

2. Áp dụng các chuẩn mực và đạo đức nghề nghiệp trong CNTT

Phát triển .NET Core và Tương lai.

Kiến trúc Onion trong ASP.NET Core

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
×