2009-03-07 19 views
6

Phương pháp "vạch ra" ý tưởng của bạn trước khi tạo ý tưởng là gì?Đối với một dự án lớn, cần lập kế hoạch gì trước khi viết mã và tiếp cận như thế nào?

Giả sử tôi muốn tham gia vào một dự án lớn, ví dụ như quy mô của một trang web như Facebook hoặc MySpace. Tôi nên thực hiện các bước lập kế hoạch/thiết kế nào trước khi bắt đầu công việc thực tế?

Ví dụ: tôi có nên ánh xạ mọi thứ ra từng trang (chức năng, dữ liệu, v.v ...) của họ không?

Trả lời

0

Nếu bạn làm việc cho công ty giống như người này, bắt đầu bằng cách nhận tất cả mọi thứ bằng văn bản, do đó bạn không phải là người để có sự sụp đổ khi không thể tránh khỏi xảy ra ...

+0

whats the không thể tránh khỏi? Bạn không nghĩ rằng nó có thể xây dựng thành công một SNS? anh ta KHÔNG nói rằng anh ta muốn cạnh tranh với FB hay MS - –

+0

Bài đăng của tôi có ý nghĩa hơn khi đọc như một câu trả lời cho câu hỏi ban đầu được hỏi. – flussence

+0

@Scott: Những gì OP _originally_ đã nói (http://stackoverflow.com/revisions/621140/list/ về nhân bản các trang web khác) là khá ngớ ngẩn, và phản ứng của Ant P là thích hợp vào thời điểm đó. –

2
  • Lập một danh sách tất cả các tính năng mà trang web có.

  • Tạo danh sách các tính năng tuyệt vời.

  • Lập danh sách điểm yếu của trang web.

  • Đặt hàng danh sách đó và ưu tiên các mục sẽ được tạo trước.

  • Xác định những gì sẽ có thể thực hiện và những gì không.

  • Gặp gỡ khách hàng của bạn và trình bày các kết quả này.

6

Đối với một dự án lớn, trước tiên hãy nghĩ đến một dòng mô tả trang web của bạn (cố gắng không sử dụng bất kỳ buzzwords nào tại đây). Tiếp theo suy nghĩ của ba thiết kế maxims (quy tắc thiết kế của bạn Không bao giờ nên xung đột với). Sau đó, vẽ một vài khung nhìn và suy nghĩ một vài trường hợp người dùng (1 ngày) sau đó làm việc trong mã trong 2 tuần (đây sẽ là nguyên mẫu vứt đi vì vậy chỉ làm việc nhanh như bạn có thể quên lỗi và chi tiết, đừng lo lắng về mùi mã hoặc mẫu thiết kế, chỉ cần làm càng nhiều càng tốt), sau đó đánh giá lại tất cả các bước trên và vứt bỏ nguyên mẫu hai tuần của bạn, và bắt đầu dự án của bạn một cách nghiêm túc áp dụng kỹ thuật và thiết kế vững chắc. Sau một tháng đã trôi qua bằng cách đánh giá đạo đức (nhóm) của bạn và nhận phản hồi. Nếu tất cả có vẻ ổn, tiếp tục, bạn có một chuyến đi dài phía trước, nếu không chỉ cần bỏ cuộc, làm một bài hậu kỳ, và bắt đầu lại với những mục tiêu mới.

+0

INteresting và hữu ích +1 :) – OscarRyz

3

Tôi luôn bắt đầu với thiết kế giao diện người dùng. Tôi tìm hiểu xem người dùng có thể làm gì và điều khiển nào tôi sẽ cung cấp cho họ để làm điều đó. Một khi tôi nhận được rằng đặt ra theo một cách tôi thích nó, sau đó tôi bắt đầu với mã "dây".

2

Thường thì tôi làm một mindmap của

  1. vấn đề tôi đang cố gắng để giải quyết,
  2. dịch sang các yêu cầu chính xác,
  3. sau đó lập bản đồ đó để công việc người dùng.

Tính năng liên kết chéo của các phần mềm ghi nhớ giúp dễ dàng hơn rất nhiều. Kể từ khi mindmapping là 'loại freeform', tôi cuối cùng tập trung vào 'nhiệm vụ' hơn là 'đại diện' (ví dụ như loại sơ đồ UML tôi nên sử dụng để đại diện cho điều này)?

Khi ý tưởng ban đầu rõ ràng thì tôi có thể làm việc trên kế hoạch dự án, tài liệu thiết kế/spec sử dụng UML để biết thêm chi tiết cấp thấp. Cách tiếp cận này thường hoạt động tốt cho tôi.

Để xem tính năng này có hoạt động cho bạn hay không, bạn có thể sử dụng FreeMind (phần mềm mindmaping mã nguồn mở, chức năng tốt nhưng hiện bị hạn chế). Sau đó, bạn có thể thử Mindmanager hoặc iMindmap để tạo hình ảnh. Cả hai đều tích hợp tốt với các sản phẩm Office khác.

1

Thông thường tôi bắt đầu bằng cách lấy sổ tay của tôi và chỉ bắt đầu viết ra những gì tôi muốn về mặt tính năng, điều này sẽ khá chi tiết. Và có thể khá lộn xộn với mọi thứ tranh giành với nhau, nếu như vậy, khi bạn hoàn thành một 'phiên bản chính thức' của ý tưởng của bạn trên giấy (bút thực tế và giấy hoạt động tốt nhất cho điều này theo ý kiến ​​của tôi).

Sau đó, tôi bắt đầu thực hiện một số tìm kiếm về cách các trang trông như thế nào, thông tin nào phải chứa và dịch nó thành thiết kế cơ sở dữ liệu toàn cầu. Sau đó, làm việc thiết kế toàn cầu đến một cấp độ cao hơn, nơi tất cả các trang đến với nhau, với các mối quan hệ giữa các bảng và các công cụ.

Sau đó, tôi xây dựng các trang quan trọng nhất trên khuôn khổ mã (tôi luôn sử dụng khung công tác, nếu bạn không quên phần khung công tác), và bằng 'các trang quan trọng nhất', tôi muốn nói ví dụ một blog sẽ là bài đăng. Sau đó xây dựng các trang không quan trọng, trong trường hợp một blog có thể là một kho lưu trữ các bài đăng.

Nếu bạn đã thực hiện xong, hãy đặt mã cùng với thiết kế hoặc làm điều đó trong khi mã hóa nếu bạn không tách riêng mã từ HTML/CSS/JS.

Ồ và có, KHÔNG mở rộng ý tưởng đầu tiên của bạn trên đường đi. Chỉ cần viết xuống và thực hiện điều đó sau đó. Vì vậy, nếu, trong trường hợp của blog một lần nữa, bạn nghĩ rằng một nửa cách bạn muốn các thẻ Youtube trong bạn đang BB-code, viết nó xuống. Thêm sau đó, offcourse trước khi bạn phát hành trang web ban đầu.

Đó là quy trình làm việc của tôi, ít nhất là mô tả cơ bản cơ bản về nó.

1

Bắt đầu bằng "nguyên mẫu giấy", i. e. lấy một cây bút chì và phác thảo mỗi trang rất gần. Điều này cho phép bạn bắt đầu từ góc độ người dùng, điều mà tôi nghĩ là một ý tưởng hay.

Sau đó, bạn có thể sử dụng các bản phác thảo cho thử nghiệm khả năng sử dụng hành lang đầu tiên và sau đó làm cơ sở cho "wireframes" bạn sẽ cung cấp cho một nhà thiết kế web để làm việc.

Nếu bạn đã trải qua toàn bộ trang web một lần, bạn có thể có ý tưởng hay về những gì mà chương trình phụ trợ có thể thực hiện. Giờ đây, bạn có thể sử dụng các bản phác thảo trang của mình và biên soạn danh sách các hành động mà người dùng có thể kích hoạt bằng cách nhấp vào mọi thứ. Đây là tài liệu thô để thiết kế API phía máy chủ mà giao diện người dùng có thể gọi.

Sử dụng các cuộc gọi cần được phân phát, bạn có thể thiết kế phụ trợ: Nhóm chức năng nào độc đáo, dữ liệu cần được tìm nạp, bạn cần lưu trữ gì giữa các lệnh gọi trang (== Biến số phiên) v.v.

Trong quá trình này, tôi đã khá tốt bằng cách trì hoãn các quyết định công nghệ (khung, giao thức, vv) và thậm chí cả cấu trúc lớp học, cho đến khi tôi trải qua toàn bộ điều một lần về "những điều nên làm gì những thứ khác "(tôi đoán có một thuật ngữ tốt hơn).

1

Tôi nghĩ tôi sẽ bắt đầu với giải pháp SNS mã nguồn mở gần với những gì bạn cần và sau đó tìm hiểu cách thêm các trình cắm thêm, mô-đun và chủ đề cụ thể cho từng mục đích. Có rất nhiều em ở ngoài kia. Xây dựng từ đầu sẽ mất rất nhiều công sức và lập kế hoạch. Hầu hết các chức năng SNS không đáng để tái phát minh. Tập trung vào những gì sẽ làm cho trang web của bạn trở nên độc đáo và xây dựng hướng tới đó.

1

Tôi là một người khá trực quan khi nói đến thiết kế phần mềm vì vậy tôi phác thảo ra các dữ liệu, phân cấp lớp, giao diện người dùng và biểu đồ luồng trên bảng trắng và giấy đầu tiên.

Giấy bán thịt và bút màu có thể đặc biệt thú vị khi sử dụng vì nó rộng 3 feet và có 100 cuộn tròn. Khi bạn đã có một thiết kế thỏa mãn hoặc đầy đủ, hãy xé nó ra khỏi cuộn và ghim vào tường. Cập nhật khi cần thiết.

Kỹ thuật đó đã hoạt động đối với một số công cụ tái cấu trúc lớn cũng như các dự án mới.

1

Bạn có thể bắt đầu với một cái gì đó rất đơn giản và sau đó thêm các tính năng một chút tại một thời điểm. Bạn có thể đạt đến một điểm mà bạn muốn bắt đầu lại, nhưng nền tảng bạn đã làm sẽ có lợi. Hoặc bạn có thể cố gắng làm toàn bộ điều cùng một lúc, trong trường hợp đó bạn sẽ cần những lời khuyên đã được đưa ra trong các trả lời khác.

Một ý tưởng khác: Chỉ định các tính năng bạn đang không sẽ bao gồm và các hạn chế khác. Chúng được gọi là các ràng buộc và quan trọng như phần còn lại của kế hoạch vì nó cung cấp cho bạn ranh giới để bạn biết khi nào bạn đã lập kế hoạch xong!

Các vấn đề liên quan