Làm thế nào để thiết kế quy trình làm việc của trang web?


18

Tôi đã suy nghĩ về điều này trong một thời gian dài mà không đạt được câu trả lời tối ưu.

Trước hết, tôi là một bác sĩ y khoa yêu thích lập trình nhưng chưa bao giờ thực sự nghiên cứu về nó, ngoại trừ việc học ở nhà và nhiều năm chơi với mã trong thời gian rảnh.

Hiện tại tôi đang cố gắng xây dựng một dự án nhỏ để quản lý phòng khám của mình, để thực hiện điều đó tôi đã bắt đầu bằng cách tạo một danh sách các tùy chọn tôi muốn có thể thực hiện.

Thí dụ:

  1. hồ sơ bệnh nhân tích cực.
  2. xác thực với các vai trò khác nhau (ví dụ: bệnh nhân, y tá, dr)
  3. lịch hẹn (bao gồm lịch để bỏ lịch / phẫu thuật vv với một lời nhắc nhở)
  4. cho phép bác sĩ tạo ra các plugin của riêng mình.
  5. bảng điều khiển cho bác sĩ để xem số liệu thống kê của mình

Sau đó, tôi bắt đầu với codeigniter / mysql / php / jquery và bắt đầu viết mã.

Các bước của tôi trong quá trình phát triển: -

  1. Cơ sở dữ liệu thứ 1.

nhập mô tả hình ảnh ở đây

Tôi bắt đầu bằng cách tạo tất cả các bảng mà tôi sẽ cần.

  1. Đã tạo tất cả các mô hình của tôi để xử lý các bảng này (1 mô hình chính xử lý đọc / ghi / cập nhật / xác minh cơ bản trong khi xem xét các quan hệ bảng của tôi

Sau đó tôi bắt đầu viết mã các quan điểm và bộ điều khiển của mình. Trước tiên tôi đã tạo HTML xem, sau đó tạo bộ điều khiển sẽ xử lý chế độ xem này và bắt đầu các chức năng mã hóa để làm cho các tương tác xem hoạt động.

Ví dụ khi mã hóa chế độ xem cuộc hẹn (bộ điều khiển booking.php):

nhập mô tả hình ảnh ở đây

đã tạo bố cục này và tạo bảng có thể nhấp vào td, khi người dùng nhấp: jquery get (booking / add_patient_form) và bật nó lên

Khi người dùng lưu: đăng lên đặt phòng / lưu - hãy lưu cuộc hẹn sau đó tải lại chức năng index ()

vv .. và tôi đã tiếp tục các bước tương tự để tạo chế độ xem sau đó bộ điều khiển của nó - chứa tất cả logic mà khung nhìn này cần - để thực hiện toàn bộ dự án.

Cuối cùng, tôi đã làm tất cả các chức năng mục tiêu của mình hoạt động tốt, nhưng vì không có KẾ HOẠCH ngay từ đầu và vì toàn bộ dự án đã gây bão và gỡ lỗi mà không có kế hoạch gì, nên sau khi tôi đi đến dự án này, tôi đã tìm thấy tự mắc kẹt với khả năng bảo trì và linh hoạt! và không thể liên kết chúng lại với nhau.

Tôi có cảm giác rằng mọi trang trên trang web hoàn toàn tách biệt với các trang khác và tôi thậm chí không thể nhớ được mỗi trang được tải như thế nào và các chức năng bên trong mà không nhìn trộm!

Có dù sao tôi có thể phục hồi điều này và có được một thiết kế ra?


5
Tôi thường lấy ra một mảnh giấy lớn (A3 hoặc lớn hơn) và một cây bút và bắt đầu vẽ sơ đồ cho đến khi tôi tìm ra 'quy trình công việc' hoàn chỉnh của chức năng trên trang web, cũng như các cấu trúc cơ sở dữ liệu. Sau đó tôi sẽ lấy một tờ giấy khác và tìm ra một số khung lưới thực sự cơ bản. Từ đó trở đi, chỉ là mã hóa và một chút thiết kế đồ họa. Tôi sẽ thêm các chi tiết hoàn thiện và chi tiết sau khi hoàn thành. Các sơ đồ làm cho nó thực sự dễ dàng để tìm ra nơi bạn đặt chức năng và nghĩa là nó biến từ vị trí nào.

3
Thậm chí tốt hơn với bảng trắng rộng lớn;) +1 @LuudJacobs. Bạn biết rõ hơn bất cứ ai về cách quá trình nhấp của bạn nên chạy, từ những thực thể và chức năng nào sẽ xuất hiện mỗi lần và dữ liệu nào bạn muốn tìm kiếm thường xuyên nhất, dữ liệu nào bạn không cần nhiều (hiếm khi). Nếu bạn muốn giữ lịch sử hay không và nơi nào. Việc vẽ một vài sơ đồ Thực thể sẽ đưa bạn đến một nơi mà bạn cảm thấy ổn và đảm bảo các công cụ (db. Front end) bạn chọn có thể hỗ trợ nhu cầu của bạn hôm nay cũng như cho ngày mai mà không cần nhiều thay đổi :)
bonCodigo

@LuudJacobs cũng cảm ơn :), nhưng tôi đã cố gắng làm điều đó, lấy một bảng trắng và in ra lược đồ db của tôi và ... không vẽ được gì cả! Tôi đoán tôi không biết một sơ đồ sẽ như thế nào. tôi sẽ cố gắng để google xung quanh cho ví dụ. nếu bạn có bất kỳ sơ đồ nào của một dự án thực tế, tôi rất muốn thấy điều đó
Zalaboza

+1 @bonCodigo: Bảng trắng là một lựa chọn tốt hơn, vì bạn a) có nhiều không gian hơn để làm việc và b) thật dễ dàng để xóa công cụ. Đây là một tìm kiếm google với một số ví dụ sơ đồ. Phần mềm tốt để tạo sơ đồ bao gồm MS Visio và cho Mac OmniGraffle

Đối với một bác sĩ, bạn đã thực hiện một công việc đáng ngưỡng mộ với điều này, đặc biệt là bạn đã chọn Nickleback của Ngôn ngữ lập trình để làm việc.
Robert Harvey

Câu trả lời:


6

Câu hỏi của bạn - quá trình phát triển một phần mềm - là một chủ đề tranh luận sôi nổi; chỉ cần google "phương pháp phần mềm" để xem sâu này có thể đi sâu đến đâu ...

Không có câu trả lời thường được chấp nhận. Thực tế, nếu bạn hỏi 5 lập trình viên, bạn sẽ nhận được 7 câu trả lời, theo kinh nghiệm của tôi.

Tôi khuyên bạn nên mua "Hoàn thành mã" của Steve McConnell để xem các thực tiễn mã hóa cấp thấp hơn - những thứ như cách trình bày mã của bạn, cách nhận xét mã, cách kiểm tra mã. Tôi muốn giới thiệu "Thiết kế hướng tên miền" của Eric Evans để biết tổng quan về cách cấu trúc các ứng dụng ở cấp độ kiến ​​trúc. Tôi muốn giới thiệu "Phát triển phần mềm linh hoạt: Nguyên tắc, mô hình và thực tiễn" của Robert Martin như một tổng quan về cách "phát triển" phần mềm theo thời gian trong khi vẫn duy trì chất lượng.

Một nhà phát triển khác có thể từ chối tất cả những cuốn sách này và hướng bạn đến UML, Quy trình hợp nhất Rational và tạo mã. Không có câu trả lời đúng!


Để minh họa quan điểm của Neville K về các câu trả lời khác nhau, anh ấy đã bỏ ra một nguồn tài nguyên tốt để thiết kế các tương tác của người dùng cuối, đó là nơi tôi muốn bắt đầu. ;-)
Eric G

1

0

Tôi sẽ khuyên bạn nên giữ cấu trúc cơ sở dữ liệu và tạo mã PHP mới với Trình tạo PHP cho MySQL được tạo bởi công ty SQL Maestro . Nó thực sự làm việc cho tôi. Tôi sử dụng nó rất nhiều và tôi thực sự hài lòng với nó, đặc biệt là khả năng điều chỉnh mã PHP theo nhu cầu của riêng tôi. Hơn nữa, họ kết hợp các tính năng mới được yêu cầu của bạn trong các bản cập nhật của họ và có hướng dẫn tốt về cách điều chỉnh mã. Để hiểu rõ hơn hãy xem dự án demo này .

Trên trang web của họ mô tả sản phẩm sau đây được đưa ra:

Trình tạo PHP cho MySQL là một giao diện GUI của MySQL cho phép bạn tạo các tập lệnh PHP chất lượng cao cho các bảng, dạng xem và truy vấn đã chọn để tiếp tục làm việc với các đối tượng này thông qua web. Các tính năng chính bao gồm:

  • Quản lý dữ liệu: thêm, chỉnh sửa, xóa và sao chép hồ sơ
  • Tùy biến giao diện HTML
  • Khả năng lọc và sắp xếp
  • Bảo vệ dữ liệu với nhiều cài đặt bảo mật
  • Thuyết trình chi tiết
  • Quản lý nội dung theo sự kiện
  • Xuất dữ liệu sang PDF, XML, CVS, Excel và Word

Trình tạo PHP cho MySQL tạo mã rõ ràng và dễ hiểu, có thể được sử dụng hoặc được sửa đổi theo bất kỳ cách nào bạn cần.

Tiết kiệm chi phí rất lớn khi thuê một lập trình viên, học bất kỳ ngôn ngữ lập trình nào hoặc mua một phần mềm đắt tiền - tất cả các mã được tạo tự động cho bạn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.