Về lý thuyết, có ít nhất năm phương pháp khả thi.
Từ trên xuống:
Bắt đầu với UI mock-shot hoặc nguyên mẫu giấy. Biến chúng thành các hộp thoại thực và hoạt động theo cách của bạn từ trình xử lý nút và các điều khiển khác thông qua logic và đến cơ sở dữ liệu.
Từ dưới lên:
Bắt đầu với các cấu trúc dữ liệu (có thể là lược đồ cơ sở dữ liệu). Sau đó thêm logic (mô hình hóa các quy trình trong thế giới thực); cuối cùng, giao diện người dùng của bạn chỉ là một giao diện để kích hoạt logic và hiển thị kết quả.
Logic đầu tiên:
Bắt đầu với logic chương trình, thực hiện truy cập dữ liệu và giao diện người dùng thô sơ khi cần. Sau đó chính thức hóa và làm cứng cấu trúc dữ liệu, và cuối cùng xác định UI đúng cách.
Gặp ở giữa:
Bắt đầu với lược đồ cơ sở dữ liệu và giao diện người dùng và đồng thời làm việc tại điểm mà chúng gặp nhau. Với phương pháp này, logic đến sau cùng.
Mở rộng theo chiều ngang:
Bắt đầu bằng cách xác định số lượng chức năng tối thiểu tuyệt đối sẽ làm điều gì đó thú vị và triển khai toàn bộ ngăn xếp (cấu trúc dữ liệu, logic và giao diện người dùng) cho phần này. Nó có thể chỉ là một chu trình CRUD cơ bản với hộp thoại chỉnh sửa đơn giản cho chỉ một thực thể. Sau đó bắt đầu thêm nhiều tính năng, triển khai toàn bộ ngăn xếp cho từng tính năng (do đó là 'ngang').
Mỗi cái đều có ưu và nhược điểm.
Từ trên xuống cung cấp cho bạn một cái gì đó có thể nhìn thấy sớm trong quá trình và cho phép bạn kiểm tra thiết kế chức năng của mình với các bên liên quan - ảnh giả thường cho người dùng biết nhiều hơn về một thiết kế so với sơ đồ hoặc tường văn bản.
Từ dưới lên cho bạn cơ hội thiết kế lược đồ cơ sở dữ liệu vững chắc trước khi bạn cam kết với bất cứ điều gì; do lược đồ cơ sở dữ liệu nổi tiếng là khó sửa đổi một khi được phát hành, bạn muốn làm cho phần này đúng - tác động của việc sửa đổi UI nhỏ hơn nhiều và tạo ra các lỗi ít nghiêm trọng hơn.
Logic trước tiên có nghĩa là bạn có thể kiểm tra logic trước khi dành thời gian nghiêm túc cho cơ sở dữ liệu và bản trình bày, điều này đặc biệt thú vị nếu logic của bạn sẽ thực sự phức tạp.
Gặp gỡ ở giữa kết hợp các lợi thế của từ dưới lên và từ trên xuống, nhưng bạn sẽ phải nhảy qua lại giữa hai nhiệm vụ và bạn có nguy cơ kết thúc bằng logic phức tạp hơn mức cần thiết vì hai đầu của bạn đừng gặp nhau một cách tự nhiên.
Mở rộng theo chiều ngang phù hợp với quy trình lặp lại và có một ưu điểm nữa là, nếu bạn ưu tiên tốt, bạn sẽ có một ứng dụng hoạt động vào bất kỳ thời điểm nào, vì vậy nếu bạn không đưa ra thời hạn, bạn sẽ có một phiên bản có Ít tính năng hơn, nhưng vẫn đầy đủ chức năng, trái ngược với phiên bản có cơ sở dữ liệu hoàn chỉnh, nhưng không có giao diện người dùng nào cả.
Vì vậy, cái nào bạn chọn phụ thuộc vào phong cách cá nhân của bạn, và hoàn cảnh.