Thiết kế "mở" là gì?
Last updated: March 25, 2024 Xem trên toàn màn hình



- 04 Mar 2020
Kinh nghiệm lập dự toán chi phí dự án phần mềm theo phương pháp Man-Month 2148
- 01 Jul 2023
Phương pháp Shuhari - Làm sao học ít hiểu nhiều? 598
- 01 Aug 2022
"Sponsored Content" là gì? Khác nhau giữa Sponsored Content và Native Advertising? 526
- 01 Feb 2022
Thách thức với doanh nghiệp chuyển đổi số trong thời đại VUCA 500
- 15 Apr 2020
Phần mềm BPM là gì? So sánh với ERP và các phần mềm Workflows 332
- 03 Feb 2020
Sản phẩm OEM và ODM là gì? 326
- 12 May 2021
Các yêu cầu thay đổi (Change Requests) - nỗi ám ảnh của team dự án phần mềm 267
- 14 Aug 2022
Khác biệt giữa tiêu chí hoàn thành DOD (Definition of Done) với tiêu chí nghiệm thu (Acceptance Criteria) 267
- 04 Jan 2023
Đánh giá nhân sự theo chuẩn người Nhật 220
- 17 Aug 2020
Mục tiêu dự án là gì? Làm thế nào để xác định mục tiêu? 180
- 08 Mar 2022
Mô hình nguồn mở hoạt động ra sao? 151
- 14 May 2024
Chiến lược răng lược là gì? Làm thế nào để tận dụng chiến lược răng lược trong kinh doanh? 149
- 08 Mar 2020
Vì sao doanh nghiệp cần phải tạo Web bán hàng? 143
- 01 May 2023
[Tư vấn CNTT] Quản lý ngân sách CNTT cho doanh nghiệp 133
- 01 Apr 2022
Chi phí nhà thầu phụ chiếm bao nhiêu phần trăm gói thầu? 130
- 01 Sep 2020
Co-founder là gì? Vai trò của các Co-Founder khi lập nghiệp. 130
- 19 Aug 2020
Lift & Shift - Phương pháp tối ưu dịch chuyển hệ thống phần mềm qua đám mây 129
- 17 Feb 2018
Hệ luỵ khi sử dụng Web Hosting từ nhà cung cấp kém chất lượng 118
- 28 Feb 2023
Đừng biến phần mềm thành công việc bàn giấy hay một "tờ sớ" dài vô tận 113
- 18 Mar 2018
Dịch vụ Hosting cho Website là gì? Các lời khuyên chọn Hosting tốt nhất 110
- 09 Feb 2021
Tầm nhìn là gì? Tí dụ minh họa cụ thể về tầm nhìn 103
- 03 Oct 2021
Khác biệt giữa thiết kế phần mềm và thiết kế công trình xây dựng 98
- 21 May 2024
Hiệu ứng chữ động (kinetic typography) là gì? 91
- 25 Apr 2018
Bảo hộ bản quyền phần mềm dưới khía cạnh sở hữu trí tuệ như thế nào? 86
Đã bao giờ bạn nghe khái niệm thiết kế mở? Có khái niệm phần mềm mở, hệ thống mở... Vậy thiết kế mở thì sẽ như thế nào?
Thiết kế phần mềm là khâu thứ 2 (sau giai đoạn thu thập, làm rõ yêu cầu) nên đóng vai trò quan trọng trong quá trình chuyển từ yêu cầu sang tính năng của phần mềm.
Sau đây TIGOSOFT sẽ trình bày một thí dụ thực tế hết sức đơn giản dễ hiểu, một thí dụ "real-world case study" lấy từ chính dự án mà TIGO team đã triển khai cho một tập đoàn lớn trong nước.
Hình 1: Trang khai báo và đăng tải báo cáo. Bạn có nhận thấy grid động với số hàng được thêm/xóa ngay trên trang? Đó chính là tính năng Bulk Edit rất tiện lợi khi người dùng có thể thao tác cùng lúc trên cùng một trang, với khung nhìn tổng quan hơn là cách thiết kế theo tiến trính (wirzard) nhiều bước.
Hình 2: Hãy tưởng tượng, khi phát triển version 2.0, khách hàng yêu cầu tính năng đính kèm files vào từng dự án đang được liệt kê trong grid ở trên. Vấn đề mới phát sinh? Không có cách nào khác, bạn và các cộng sự phải thiết kế một form riêng để quản lý các thông tin dự án.
Một rủi ro khác là khi thiết kế tất cả trong một (all-in-one) như trên, toàn bộ data sẽ được lưu bất chấp bạn chỉ update 1 trường thông tin nhỏ. Quá trình kiểm thử (testing) và nghiệm thu thực tế (UAT) sẽ rất vất vả khi không thể "chia nhỏ" để kiểm tra.
Thiết kế mở là gì?
Thiết kế mở là khi thiết kế không thay đổi đáng kể về cấu trúc (thêm form, thêm mẫu...) khi cần mở rộng chúng theo chiều ngang và chiều dọc. Bạn có thể thêm trường, bạn có thể tự định nghĩa trường (custom fields)...
Thí dụ về thiết kế mở:
Hình 3: Bằng cách chia để trị (nhóm các thông tin theo từng cụm liên quan) và trao quyền "tự trị" (save, delete...) cho từng nhóm thông tin, bạn đã có thể tự tạo ra thiết kế mở cho chính mình.
Bài viết tuy ngắn gọn nhưng đã truyền tải được toàn bộ thí dụ thực tế. Nếu còn băn khoăn chưa rõ, hãy liên hệ với tác giả để biết thêm chi tiết. Emnail: phamdinhtruong@gmail.com
Tác giả: Phạm Đình Trường