PDA

View Full Version : Tập thiết kế một project tốt.



5diopt
07-07-2007, 10:27
Dạo này mới nhận ra hồi trước đến giờ mình viết đồ án bậy bạ quá. Nên hè này định thiết kế một project nhỏ nhưng hợp quy trình để sau này viết đề tài tốt hơn. Do ban đầu mù mờ quá, nên làm đến đâu viết đến đó để mọi người góp ý cho.

+ SQL Server 2005.
+ C# .NET 2005.

Nội dung yêu câù:
+ Chương trình quản lý tài chính cho gia đình, số người trong gia đình thường không nhìu nên vấn đề tốc độ không phải bàn.
+ Các User sử dụng gồm: Chủ Hộ và Người Thân.
+ Đảm bảo các chức năng cơ bản cho cơ sở dữ liêụ: Backup, Restore, security. (chưa biết cách)
+ Người dùng có các chức năng chung: Dự toán chi tiêu trong tương lai, quản lý chi tiêu đã thực hiện, tạo các nhắc việc hàng ngaỳ. Các chi tiêu và dự đoán có thể công khai hoặc không công khai.
+ Mỗi thành viên có thể xem các chi tiêu, dự toán chi tiêu, nhắc việc công khai của người khác.
+ Chức năng riêng của chủ hộ: Xem tổng số chi tiêu không công khai của người khác. Backup, restore cơ sở dữ liêụ, toàn quyền quản lý chi tiêu chung của gia đình, Tạo các nhắc việc và các khoản chi tiêu cho người khác, Quản lý các tài khoản người dùng.
+ Thu nhập của gia đình = thu nhập đóng góp của chủ hộ + thu nhập đóng góp của người khác.
+ Định viết viết cho chạy nội mạng, tiếc là cái này chưa làm thử bao giờ.
+ Các chức năng bổ xung: Chương trình đánh giá quá trình chi tiêu của gia đình và đưa ra các ý kiến của mình.

=> Đã thiết kế Use case diagram.
=> Mới viết xong cái yêu cầu, chưa viết bảng chú giaỉ.
=> Mới viết cái class diagram cho chức năng quản lý người dùng.

* Class diaram cơ bản:

{frmMain}
|---agregation---> {Accessor}
|---agregation---> {User Control}

{User Control}
|------<Inheritance>-- {ControlLogin}
|------<Inheritance>-- {Control... }
// Note: Thừa kế để có thể đa xạ tùy biến giao diện cho từng chức năng.

{User Control}----Dêpndency--->{Accessor}


Accessor: Cung cấp những phương thức truy cập và xử lý cơ sở dữ liệu. Các phương thức được cung cấp là static (kể cả constructor để khởi tạo ngầm định).
User Control: Cung cấp những giao diện đại diện cho chức năng.


* Cho hỏi: Nghe nói có cái khuôn mẫu chuẩn của Microsoft cho thiết kế thông tin tài khoản, ai có biết qua xin chỉ giúp.
* Mình code trên Windows nhưng thiết kế thực hiện trên Umbrelo (Fedora core)

* Bất kỳ ý kiến nào xin mọi người đưa ra giúp.
* Nếu không có ý kiến nào mình sẽ xin ngưng topic này .

SupaTrupa
07-07-2007, 12:04
Từ cái nội dung yêu cầu, bác cố gắng việc 1 cái SRS (Software Requirement Specifications).

Trước khi bác có (hoặc gần xong) SRS, đừng làm gì cả.

5diopt
08-07-2007, 21:53
Bác có biết cách viết Requirement không, chỉ giúp đi hay gửi tài liệu, mình chỉ xem các Requirement trong các ebook hướng dẫn rồi làm theo thôi, cũng không biết có chuẩn không nữa!?
Mình định gửi project lên "step by step" nhưng không biết cách đính kèm file theo bài viết.
Mình đã viết xong phần quản lý User Accounts rồi nhưng đang có vài bug về xử lý dataset.

SupaTrupa
10-07-2007, 15:02
Tài liệu về làm sao lấy được requirements thì nhiều lắm, bác kiếm nhựng sách về [software] project management đều có hết.

Bài của bác cũng không khó lắm. Chúng ta có thể viết Requirements liền được.

Requirements cho User
1) User có những tính năng gì. Liệt kê cụ thể từng chức năng.
2) Hệ thống sẽ làm gì khi người dùng lựa chọn những chức năng đó
3) Có dữ liệu nào cần lưu khi người dùng chọn các chức năng không?

Requirements cho chủ hộ
[Tương tự]

Requirements khi login
1) Khi khởi động chương trình, màn hình sẽ hiện ra 1 số ô để người dùng điền thông tin vào [cụ thể là thông tin gì thì bác phải liệt kê ra]
2) Nếu đăng nhập thành công thì như thế nào?
3) Nếu đăng nhập không thành công thì như thế nào

Tới đây, tôi chưa thấy chức năng khởi tạo user ở đâu hết. Vậy thì ai có quyền tạo người dùng bình thường, ai có quyền tạo chủ hộ?

Trong trường hợp của bác, bác có thể vừa viết requirements vừa design (và 1 ít của implementation), với 1 design tốt thì trong vòng 1 ngày là bác có thể có code hoàn chỉnh của chương trình.

Còn làm sao để biết 1 SRS có tốt hay không thì nhìn vào 1 số characteristics của 1 good SRS
1) Are the requirements correct? Requirements có đáp ứng mục đích chương trình hay khôn?
2) Are the requirements complete? Bác có liệt kê tất cả các trường hợp của possible inputs hay chưa (ex invalid input)
3) Are the requirements unambiguous? Có requirement nào mà bác có thể có nhiều cách hiểu khác nhau hay không?
4) Are the requirements feasible? Có thể build được cái system đó hay không với máy của bác.
5) Are the requirements testable? Có thể viết test cases để test cái requirement đó hay không?
6) Are the requirements tracable? Requirements đã được sắp xếp dễ nhìn và tìm kiếm không?

Còn 1-2 cái criteria nữa mà em quên mất rồi.

5diopt
10-07-2007, 15:22
Tôi vừa viết xong phần quản lý accounts. Vấn đề của bác nêu ra tôi giải quyết thế này:
+ Chủ hộ có quyền thay đổi và quản lý các account (Thêm, Xóa, Sửa).
+ Khi chạy chương trình, chương trình sẽ kiểm tra trong danh sách csdl có account nào là chủ hộ (family header) không? nếu không có chương trình sẽ yêu cầu người dùng tạo một tài khoản header.
+ (Tất nhiên khi mới cài đặt chương trình, người dùng sẽ được yêu cầu tạo một header. Nên chỉ có người cài đặt chương trình mới gặp yêu cầu trên - bảo mật kiểu này có vẻ không an toàn lắm, nhưng cũng không biết thế nào)
+ Các tài khoản người thân chỉ có quyền điều chỉnh tài khoản của riêng mình (không có quyền xóa).

Hôm trước gặp cái bug trong lúc xóa một hàng trong bảng của csdl:
+ khi bạn muốn xóa một hàng trong DataTable:
Nếu bạn dùng theo kiểu sau:
myTable.Rows.Remove(myRow);
hoặc:
myTable.Rows.RemoveAt(RowID);
thì khi bạn cập nhật lại vào CSDL sẽ không thành công. Lý do là csdl chỉ cập nhật phương thức xóa hàng trong trường hợp hàng vẫn tồn tại nhưng ở trường RowState là Deletion. (Xem RowState trong MSDN).

Nếu bạn muốn xóa hàng thì bạn nên dùng cách sau:
myTabel.Rows[ID].Delete();
UpdateDatabase();

hoặc:
myRow.Delete();
UpdateDatabase();

Cụ thể là thế này, khi bạn gọi phương thức Update(myDataset), thì cái thằng CommandBuilder sẽ tìm trong các hàng của bảng trong dataset, nếu hàng nào chứa trạng thái là Deletetion thì nó sẽ tự động sinh ra SQL delete command. Nếu ta xóa hàng đó bằng phương thức Rows.Remove() hay Rows.RemoveAt() thì khi update nó không tìm thấy hàng, suy ra nó không tìm thấy trạng thái Deletion của hàng, suy ra việc xóa hàng sẽ không được thự thi.

SupaTrupa
10-07-2007, 15:57
Wow bác nhảy nhanh quá từ Requirement -> Implementation em hết biết đường luôn :D

Nếu có thể bác up lên cho em xem mấy cái class diagrams và sequence diagrams mà bác có để em góp ý cho.

vneye
11-07-2007, 01:25
Cái này là bệnh nan y của coder khi tập phân tích, luôn tập trung vào công đoạn coding. Ở đây quay trở lại mục đích là bạn đang muốn "xây dựng 1 project tốt", vậy nó phải đi đúng theo những bước để xây dựng project, xong bước này mới chuyển sang bước kết tiếp.

Mình thấy cái requirement vẫn chưa rõ ràng, trong requirement phải xác định được chức năng hệ thống, các actor chính tham gia hệ thống. Từ bản mô tả sơ lược này sẽ tiến hành gom nhóm những actor và sau đó phỏng vấn từng nhóm (bạn tự giả lập để phỏng vấn). Từ đó mới có tư liệu để vẽ UseCase.

5diopt
13-07-2007, 08:58
Ah, mình đang tập thiết kế project theo kiểu vòng lặp. Mình viết Requirement, Code, Test cho phần phân quyền và backup, restore cho cơ sở dữ liệu trước, sau đó mới tính đến chuyện khác, nhưng những phần khác mình cũng đã có ý tưởng và viết các document sơ lược rồi.
Các bác chỉ cho mình cách gửi kèm file mình sẽ đưa các phần làm được lên cho mọi người xem (Diagrams, Requirement, Code + Test). Phần test mình chỉ làm được một ít thôi vì chưa biết cách sử dụng các công cụ test sao cho tốt, chỉ là step by step rồi đưa ra các message tương ứng, hoặc là làm bằng debug. Có bác nào biết chỉ dùm.
Phần test mình cũng có đọc qua về test case, phương pháp hộp đen, hộp trắng. Nhưng vẫn chưa hiểu làm thế nào để tạo test case, thực thi test case, tổ chức cơ chế hộp đen, hộp trắng như thế nào (nói chung, kiến thức đang ở dạng... lý thuyết.)

SupaTrupa
13-07-2007, 10:52
Mình xin góp 1 vài ý kiến

1) Khi đọc bài của những posts trên của bạn mình cũng đoán được là bác dùng iterative model nhưng cách bác dùng chưa đúng lắm. Cũng như bác vneye đã nói, requirements của bác chưa rõ ràng. Requirements mà bác đã nêu là user requirements chứ không phải là software requirements.

2) Mình không thể bàn về test cases khi chưa thấy được design diagrams.

3) Bác nên quên User Interface và thằng SQL đi. Mấy thằng này chỉ là cái khung tranh thôi, bác còn chưa có bức tranh hoàn chỉnh thì lo cái khung đẹp làm gì.

Còn việc up mấy cái diagrams thì bác up mấy cái screenshots lên là được rồi

SupaTrupa
13-07-2007, 10:54
Mình xin góp 1 vài ý kiến

1) Khi đọc bài của những posts trên của bạn mình cũng đoán được là bác dùng iterative model nhưng cách bác dùng chưa đúng lắm. Cũng như bác vneye đã nói, requirements của bác chưa rõ ràng. Requirements mà bác đã nêu là user requirements chứ không phải là software requirements.

2) Mình không thể bàn về test cases khi chưa thấy được design diagrams.

3) Bác nên quên User Interface và thằng SQL đi. Mấy thằng này chỉ là cái khung tranh thôi, bác còn chưa có bức tranh hoàn chỉnh thì lo cái khung đẹp làm gì.

Còn việc up mấy cái diagrams thì bác up mấy cái screenshots lên là được rồi

5diopt
13-07-2007, 17:46
Uh, thầy mình cũng từng nói về vấn đề này rồi. Quả thật mình quá gắn liền project của mình với giao diện, trong khi thật ra điều đó không phải là trọng tâm của vấn đề. Mình cũng chỉ nghĩ đơn giản là giao diện chương trình của mình thể hiện các chức năng mà mình cần thực hiện nên lần trước cũng bị thầy la một lần nhưng vẫn chưa hiểu ra.

Mình cảm thấy vấn đề khó chịu ở chổ mình không thể nhìn toàn cảnh những vấn đề cần làm khi thiết kế diagrams. Nói xin đừng cười là mình cảm thấy đầu óc trống rỗng, hoàn toàn không có khả năng biết được chi tiết mình phải làm gì khi chưa đặt tay vào code.

Bây giờ dù mình đã viết xong phần quản lý user accounts rồi, nhưng mọng các bác chỉ giúp với vai trò thiết kế mình phải làm thế nào để coder có thể thực hiện được ý tưởng!? Vì mình cũng thấy những gì mình đã viết ra có vẻ rất không ổn.

SupaTrupa
15-07-2007, 16:42
Bác không có ý tưởng 1 phần vì mới tập làm, 1 phần vì chưa có 1 SRS rõ ràng.

Mình xin nhấn mạnh là SRS là nền tảng của mọi hoạt động tiếp theo. Có 1 SRS rõ ràng mới có thể có 1 good design.

Mình sẽ làm cơ bản 1 ví dụ:
1a) Trong Requirements cho chủ hộ có 1 requirement là "chủ hộ cũng là 1 người dùng"
=> Điều này sẽ cho bác biết được chủ hộ là subclass của người dùng thường. Xa hơn nữa, nó sẽ cho bác chỉ cần 1 database duy nhất để lưu danh sách người dùng. Tuy nhiên trong class user, bác cần phải có 1 attribute để cho biết user đó có phải là landlord/family header hay không.
1b) Nhưng nếu không có requirement trên thì chủ hộ sẽ là 1 class riêng biệt cùng những tính năng riêng biệt (chủ hộ như là system admisnistrator vậy)

Thêm 1 ví dụ
2) Trong Requirements của bác có "chủ hộ có quyền thêm/xóa/sửa account"
Tạm bỏ qua tính rõ ràng của requirement này thì khi nhìn vào đây ta có thể thấy
+class chủ hộ phải làm sao "nhìn thấy" user database để thêm/xóa/sửa. Có nhiều cách để nhìn thấy, nhưng em thấy có 2 cách là hợp nhất thôi là parameter visibility (user database được passed như là 1 parameter khi gọi 1 method nào đó của class chủ hộ) và attribute visibility (class chủ hộ có 1 attribute là user database). Mình thì thiên về trường hợp thứ 2 (attribute) hơn. Lúc đó, class chủ hộ sẽ như là database wrapper của user database. Còn cách thứ nhất thì cũng dùng được mà em không thích thôi ;D
+Tới đây designer sẽ thắc mắc là chủ hộ có quyền thêm/xóa/sửa account của mình không?

Bác thấy đấy chỉ vài câu đơn giản trong Requirement thôi đã đưa đến nhiều hướng design khác nhau và đều thỏa mãn requirement hết. Thằng làm requirements mà làm bậy là cả đám chết chùm.

Nếu bác muốn nâng cao trình độ design thì bác phải đọc cuốn "Applying UML and design patterns" của Craig Larman, đây là cuốn sách giới thiệu về OO Design hay nhất mà em từng đọc.

5diopt
16-07-2007, 09:23
Uh, tạm thời các bạn xem đỡ phần này, mình mới viết đến đây thôi, mày phần kia do bận quá nên chưa viết. Tạm thời sẽ viết lại từ đầu mấy cái requirement, và vẽ mấy cái diagrams, sẽ đưa lên tiếp sau hén.

SupaTrupa
18-07-2007, 08:27
Em không đọc được file nào cả.

vneye
18-07-2007, 11:01
Uh, thầy mình cũng từng nói về vấn đề này rồi. Quả thật mình quá gắn liền project của mình với giao diện, trong khi thật ra điều đó không phải là trọng tâm của vấn đề. Mình cũng chỉ nghĩ đơn giản là giao diện chương trình của mình thể hiện các chức năng mà mình cần thực hiện nên lần trước cũng bị thầy la một lần nhưng vẫn chưa hiểu ra.

Mình cảm thấy vấn đề khó chịu ở chổ mình không thể nhìn toàn cảnh những vấn đề cần làm khi thiết kế diagrams. Nói xin đừng cười là mình cảm thấy đầu óc trống rỗng, hoàn toàn không có khả năng biết được chi tiết mình phải làm gì khi chưa đặt tay vào code.

Bây giờ dù mình đã viết xong phần quản lý user accounts rồi, nhưng mọng các bác chỉ giúp với vai trò thiết kế mình phải làm thế nào để coder có thể thực hiện được ý tưởng!? Vì mình cũng thấy những gì mình đã viết ra có vẻ rất không ổn.

5diopt cảm thấy đầu óc trống rỗng, ko biết được chi tiết mình phải làm gì cũng bình thường thôi, không có gì đáng cười đâu. Cũng giống như người họa sĩ khi vẽ một bức tranh Thu hoạch lúa. Nếu không hình dung cụ thể bức tranh đó vẽ vào buổi sáng hay chiều, tả cảnh gì, có bao nhiêu con người, chia thành những nhóm nào, mỗi nhóm làm công việc gì (ví dụ nhóm gặt lúa, nhóm tuốt lúa, xay lúa, có trẻ em đang thả diều, mò ốc...) thì làm sao bắt đầu vẽ được. Đó là cái quan trọng mà SRS mang lại, phải nhớ là càng rõ ràng càng tốt, đến khi nào bạn có thể hình dung cụ thể từng actor có những chức năng gì trong hệ thống.

Kế đến 5diopt phải nắm được qua những công đoạn nào thì bức tranh sẽ hoàn thành, giả sử đầu tiên là Chuẩn bị cọ, giấy, định kích thước. Sau đó pha màu, dựng bố cục, xác định hướng ánh sáng v.v..(cái này mình minh họa chứ chưa chắc đúng trong hội họa :)). Như vậy bạn thấy rõ ràng là sau mỗi công đoạn trên, một phần việc được hoàn thành giúp mình hiểu sâu hơn về chính sản phẩm của mình. Vậy thì không còn mù mờ trước khi code rồi phải ko. Đó chính là tác dụng của các diagram khi phân tích thiết kế = UML mang lại. Mỗi diagram mô tả 1 khía cạnh của hệ thống.

Về tài liệu thì bạn có thể tham khảo các sách về UML, ebook về RUP. Nói nghe to tát và phức tạp, nhưng mình cứ làm từng bước thôi, cũng ko thể apply tất cả kiến thức của UML và RUP vào được, vì nó làm project của bạn cồng kềnh và kéo dài thời gian thực hiện, theo mình chỉ apply cái công đoạn cần thiết mà thôi (vì project của bạn cũng nhỏ và đơn giản). Vậy thì bây giờ hãy bắt đầu bằng SRS của bạn nào.

Hope đây sẽ là 1 case study tốt cho mình và các bạn. (trước giờ mình phân tích, thiết kế các các project trong công ty cũng không apply chặt chẽ các diagram UML và tuân theo RUP, hi vọng sẽ được trao đổi kinh nghiệm để biết thêm về quy trình phân tích thiết kế tại các công ty khác.)

5diopt
04-08-2007, 16:36
Hiện giờ em đang đọc lại một số sách để làm lại từ đầu (hix, tức là ngâm muối topic này đó...).
Nhưng em sẽ đưa một số bài học về UML, RUP, và Design Pattern lên đây vì có nhiều vấn đề em cũng không hiểu lắm.
Hiện giờ em đang đọc 2 quyển sách em thấy cũng khá hay, em xin giới thiệu cho mọi người, đó là quyển "C# design pattern" và quyển "design pattern element". Link download em cũng không nhớ nhưng em sẽ post lại sau.
Em đọc đến phần "Builder pattern" đang gặp khó khăn ở chổ code mẫu của hai quyển sách này khác nhau nên làm em rối.

5diopt
05-08-2007, 17:19
Mình cũng hơi hiểu cái Buider pattern rồi. Nhưng không biết cách hiểu của mình có đúng hay không nên post lên cho các bạn xem thử.
Buider Pattern:

Nhu cầu:
+ Khi mình xây dựng một lớp, mình nhận thấy các phần đều có thể xây dựng dễ dàng, ngoại trừ một thành phần nào đó. Ví dụ: trong quyển "C# design pattern"-Tạo ra một giao diện, nhưng có một panel tùy trường hợp mà tạo ra nó, đồng thời cách xây dựng nó cũng phức tạp... Thế là tách nó ra một lớp riêng kiểu:
ChoiceChange <abstract class>
|_________ ListChange <subclass>
|_________ SelectChange <subclass>

Còn trong quyển "Design Pattern Element"-Khi bạn tổ chức một ứng dụng RTFReader, tùy thuộc vào định dạng text mà bạn muốn xem mà ta chỉ định cho Converter làm việc.
RTFReader
|(depedency)
Converter <abtract class>
|_________ ACSIIConverter <subclass>
|_________ .... (Là các subclass converter khác)

Theo mình nghĩ ban đầu mình đã nhầm việc tách rời các thành phần phải xây dựng nằm ở chổ bên trong lớp Converter có các phương thức: TextChange(), FontChange(), GraphicChange() nó convert từng phần của văn bản.

Thật ra không phải vậy, Việc tách ra một phần để khởi tạo nằm ở chổ ứng dụng nếu thực hiện cả việc convert nữa thì sẽ rất phức tạp nên nó sẽ ủy quyển cho một lớp Converter thực hiện điều đó.

Còn việc converter thực hiện FontChange(), TextChange(), GraphicChange() chỉ là tùy biến cài đặt chứ không liên quan đến pattern. "Phương thức nằm trong lớp converter thể hiện rõ bản chất của Pattern này là phương thức GetToken()-Trả về kết quả sau khi convert".

ChungITT
06-08-2007, 07:55
GIá như bạn có link down 2 cuốn sách kia hay là post lên đây cho anh em đọc rồi cùng học, cùng nghiên cứu, thảo luận thì hay quá.

conank
06-08-2007, 08:32
GIá như bạn có link down 2 cuốn sách kia hay là post lên đây cho anh em đọc rồi cùng học, cùng nghiên cứu, thảo luận thì hay quá.

www.flazx.com
Bạn vào trang web trên search sẽ có đủ :)

5diopt
06-08-2007, 10:46
Link download "C# design patterns":
http://www.song-coatings.com/chamhet/download/Download%20Ebook%20.Net/
Còn quyển kia, mình thấy hầu hết ai cũng có. Quyển này mình xin được của thầy. Chắc là nhiều người trong diễn đàn biết link download quyển này.

5diopt
18-08-2007, 12:02
Mình gửi lên cho các bạn một số documents và một số diagrams quan trọng của project (không phải là tất cả). Phiền mọi người xem và đánh giá (mình biết là có khá nhiều lỗi!), một phần là do mình không hiểu sao trong Rational Rose khi vẽ sequent diagram mình dùng không thể vẽ được các phân khúc điều kiện, ai biết xin chỉ dùm.

Ban đầu mình dùng Fedora Core4, định vẽ diagram bằng Umbrelo nhưng phát hiện ra ổ cứng bị lỗi nên phải hủy phân vùng cài đặt linux. Đối với Fedora Core4 các bạn chú ý, khi bạn cài song song với windows Patition Magic sẽ cho rằng ổ cứng bị lỗi (hình như là lỗi 411 thì phải). Một số bạn mình cho biết là nếu dùng Smart FDisk sẽ không lỗi, nghe nói actronic cũng đọc được. Nhưng dù sao "True Image" cũng không thể đọc được phân vùng nên mình quyết định hủy phân vùng luôn (vì bản ghost của mình dùng True Image dạng file *.PQI).

Bây giờ mình đang bắt tay vào code. Mình cũng không tự tin lắm về các documents và diagrams, nếu quan tâm các bạn nhớ xem dùm. Mình sẽ vừa code vừa sửa lại,
Cảm ơn!

5diopt
22-08-2007, 09:20
http://austin.youareinferior.net/books/Design%20Patterns%20-%20Elements%20Of%20Reusable%20Object%20Oriented%20 Software.chm
đây là link download quyển "Design Pattern element..."

namtom
24-08-2007, 01:20
bác nào ở đây có cái bảng phân tích thiết kế một project chuẩn ko, gửi lên cho anh em tham khảo với,

5diopt
24-08-2007, 09:52
uh, bac nào có không cho tui xin luôn, có lẽ tự mò mệt quá. Gửi lên cho anh em học hỏi với.

VietSmall
25-08-2007, 14:33
Các bạn có thể vào tìm http://vietrose.org

anhphan
26-08-2007, 16:45
Mình cũng là người tham gia diễn đàn. Chào bạn 5diopt! Xin hỏi Project của bạn làm xong chưa vậy? Chúc bạn thành công!

anhphan
26-08-2007, 16:50
Ban 5diopt ah! Bạn vô trang http://www.codeproject.com/cs/samples/#CodeProject+Utilities có nhữnng project demo rat hay, download về rồi nghiên cứu tiếp nhé!

5diopt
27-08-2007, 07:47
Theo mình tự nghĩ, đối với bài của mình phải hoạt động trên mạng LAN. Dù không biết cũng phải tìm hiểu nên hiện giờ mình đang tìm hiểu về lập trình mạng. Không biết có khó quá không? Có hỏi trong mục Ebook về sách lập trình mạng với C#. Nếu không có thì phải đọc MSDN vậy.
Hôm trước gửi cho các bạn phần quản lý User account nhưng không có ý kiến.
Mình cũng tự phát hiện một bug trong phần đó, nhưng phải gặp trường hợp rất đặc biệt mới xảy ra.
Trong thời gian tìm tài liệu lập trình mạng mình đang mò học qua Mạng máy tính, được khoảng 2 Chương. Thấy cũng khá hay, nhưng không biết có kết quả nào không?

Trong quá trình làm, mình nghĩ project này cũng đơn giản làm chỉ để học, nhưng làm rồi mới biết khi muốn làm được một ứng dụng hoàn hảo theo ý mình là rất khó. Với kiến thức chưa đủ, và kinh nghiệm không nhiều nên nhiều lúc cũng nản lắm,
Ban đầu mình cũng nghĩ đến những lúc như thế này rồi, nên đưa lên cho mọi người xem cho có vui.
Nghĩ lại mà phục những người làm PM, làm sao có thể quản lý một đồ án lớn để đưa ra những sản phẩm chuyên nghiệp để rồi bị ... *****, keygen... hay thật!

(Hình như diễn đàn mình có chế độ tự động biến những từ nhạy cảm thành **** ấy nhỉ, chắc là mình ghi "c r a c k" sẽ không bị chuyển đâu nhỉ.)

ngohien
27-10-2007, 23:06
Mình đang có ý định viết một phần mêm tạm gọi là phần mềm quản lý công việc.
Phần mềm có một số đặc thù nhw sau.
Mình sẽ nhập một số thông tin về dự án. Như thời gian hoàn thành, và một dự án đến thời gian hoàn thành trong khoảng thời gian là 1 tháng sẽ nhắc nhở chủ nhân là dự án còn 1 tháng nữa là hoàn thành. Nếu trong khoảng thời gian 1 tuần thì lúc nào cũng nhắc nếu mình nhấn cancel. Như vậy liệu chương trình của mình có phải chạy cùng lúc khởi động lại không.
Ngoài ra chương trình còn cho phép quản lý cả những công việc đã hoàn thành và không hoàn thành và bị hủy bỏ hợp đồng.
Xin các bạn cho ý kiến.
Vì mình mới có ý tưởng. Mong các bạn đóng góp thêm. Vì mình cũng chưa lập trình

hung170872
27-11-2007, 08:58
Chào các bạn tham gia chủ đề này. Mình thành lập công ty phần mềm 2 năm, công ty đang phát triển, đang cần những người có tâm huyết với phần mềm quản lý để phát triển, phần mềm xây dựng trên C# 2005 và SQL Server. Bạn nào có nhu cầu liên lạc với mình để có thêm thông tin.
E-Mail : HUNG170872@YAHOO.COM (ym HUNG170872)

kuong
30-01-2008, 16:34
Topic này rất hay vì cái món OOAD with UML/RUP tôi cũng thấy "trừu tượng" quá các bác ạ. Có bác nào có kinh nghiệm thực tế vào chỉ giáo cho anh em với.