1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website thời trang shop3d

44 388 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng website thời trang shop3d
Tác giả Cao Thanh Tùng
Người hướng dẫn TS. Phan Lê Na
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo đồ án tốt nghiệp
Năm xuất bản 2009
Thành phố Vinh
Định dạng
Số trang 44
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

tổ chức GNU, đảm bảo hàng triệu lập trình viên phát triển các bản Linux khácnhau nhng vẫn chung một phần lõi Linux.- Sự phát triển mạnh mẽ của Microsoft với hệ điều hành Windows đã gây r

Trang 1

TRƯỜNG ĐẠI HỌC VINH

Khoa công nghệ thông tin

- -Hå Minh HiÕu

XÂY DỰNG TỪ ĐIỂN ANH VIỆT

HTDICT TRÊN NỀN J2ME

Môc lôc

Trang 2

12

3.3 C¸c m« h×nh kinh doanh phÇn mÒm nguån më 20

Ch¬ng 2 x©y dùng website thêi trang shop3d 27

2.6 Mét sè giao diÖn cña website Thêi trang Shop3D 44

Trang 3

Đầu tiên em chân thành cảm ơn các thầy cô khoa Công Nghệ Thông Tin

đã dạy dỗ, truyền thụ kiến thức cho em trong suốt 5 năm học tại trờng Đại họcVinh

Xin cảm ơn TS Phan Lê Na đã tận tình hớng dẫn, chỉ bảo để em có thểhoàn thành đồ án này

Cảm ơn cửa hàng thời trang Shop3D đã tạo điều kiện để tôi có thể thu thậpthông tin dùng cho đề tài này

Xin chân thành cảm ơn tất cả các bạn đã hỗ trợ tôi trong suốt thời gianhoàn thành đồ án

Xin chân thành cảm ơn

Vinh, tháng 05 năm 2009

Lời nói đầu

Công nghệ thông tin đang phát triển không ngừng, chúng ta đang sốngtrong một thế giới mà máy vi tính, mạng internet và các thiết bị kỹ thuật số luônhiện hữu ở tất cả mọi góc độ, lĩnh vực của cuộc sống hiện đại Một nhu cầu thực

tế trong xu thế hội nhập ngày nay đang đòi hỏi là trao đổi thông tin, kết nốithông tin, tìm kiếm các thông tin một cách nhanh nhất, chính xác nhất và đángtin cậy nhất Đối với các phần mềm trớc đây thờng thiên hớng cho việc lập trình

Trang 4

ứng dụng cho một số ngời, thì ngày nay xu thế phát triển của ngành công nghệphần mềm là phải làm sao tạo ra đợc các sản phẩm có thể ứng dụng cho nhiềungời để tìm kiếm thông tin một cách chính xác và nhanh nhất Không những thếhàng loạt các mã nguồn mở ra đời nhằm giúp chúng ta thực hiện một cách nhanhchóng và tiết kiệm thời gian làm việc.

Bên cạnh đó sinh viên CNTT ngày nay không ngừng học hỏi, cập nhậtnhững công cụ mới và biết ứng dụng những kiến thức đã đợc học vào thực tiễncủa cuộc sống Bớc đầu tiên đi sâu vào tìm hiểu lĩnh vực công nghệ thông tin ứngdụng trong thực tiễn

Đứng trớc thực trạng trên em chọn đề tài ứng dụng các gói phần mềm mã

mở để thiết kế Website Thời Trang Shop3D nhằm góp phần giúp ngời tiêu dùngthuận lợi hơn trong nhu cầu mua sắm đồ thời trang cho mình, và giúp các cửahàng có điều kiện quảng bá sản phẩm tốt hơn tới ngời tiêu dùng

Đề tài gồm có 2 chơng:

Chơng 1: Giới thiệu về phần mềm mã nguồn mở và các gói ứng dụng

Chơng 2: Xây dựng Website Thời Trang Shop3D:

- Thiết kế cơ sở dữ liệu

- Xây dựng chức năng quản lý dữ liệu

- Một số giao diện và chức năng của website

Vì kinh nghiệm và kiến thức còn hạn chế, nên không tránh khỏi những sailầm và thiếu sót trong việc thực hiện Em rất mong đợc sự đóng góp ý kiến để đ-

ợc hoàn thiện hơn, đạt đợc hiệu quả cao trong việc áp dụng

Trong quá trình thực hiện em xin chân thành cảm ơn Tiến sỹ Phan Lê Na

và các bạn đã tận tình giúp đỡ Hy vọng đồ án sẽ giúp cho những ai quan tâm đếnlĩnh vực thiết kế website sẽ biết thêm những điều bổ ích, thú vị Rất mong nhận

đợc sự quan tâm, đánh giá, đóng góp ý kiến của các thầy cô và các bạn

Vinh, ngày 04 tháng 05 năm 2009

Sinh viên thực hiện: Cao Thanh Tùng

Trang 5

Chơng 1 Tổng quan về phần mềm nguồn mở Và

cài đặt web server trên windows

1 Sơ lợc về trào lu phần mềm nguồn mở trên thế giới

Đến nay, khái niệm phần mềm nguồn mở đã không còn xa lạ với nhiềungời và đợc ứng dụng ngày càng rộng rãi trong các chính phủ, các tổ chức vàdoanh nghiệp Đợc đánh giá là một phơng tiện hữu hiệu để san sẻ sự thịnh vợngcủa thế giới công nghiệp hoá sang các nớc đang phát triển, sự ra đời của phầnmềm nguồn mở thực sự là một cuộc cách mạng của công nghiệp phần mềm

Phần mềm nguồn mở (OSS – Open Source Software) có lịch sử phát triểnqua hàng chục năm Lợi ích của phần mềm nguồn mở có thể thấy rõ qua sự hìnhthành của các cộng đồng nguồn mở với các sản phẩm có giá trị cao trong thực tế

và cả giá trị trong đào tạo

Phần mềm nguồn mở không chỉ đảm bảo cho ngời phát triển (developer)

mà còn cho phép tất cả ngời dùng đều đợc đọc và sửa đổi mã nguồn

 Sự ra đời và phát triển của trào lu phần mềm nguồn mở :

Trang 6

Hơn 2 thập kỷ trớc, khi máy tính lần đầu tiên vơn tới mã nguồn của các ờng Đại học và đợc truyền đi miễn phí, các nhà lập trình cho rằng, sẽ đợc trả tiềncho việc lập ra chơng trình chứ không phải bản thân các chơng trình đó Sự việcthay đổi khi máy tính tiến đến thế giới thơng mại và các Công ty bắt đầu pháttriển, cấp phép cho phần mềm dựa trên nền tảng thơng mại, hạn chế sự truy cậpmã nguồn.

tr Năm 1940: Đã có những hoạt động chia sẻ mã nguồn khi làm việc trên

máy tính ENIAC, các hoạt động chia sẻ phần mềm dùng chung, các nghiên cứucông bố kèm theo mã nguồn

Trong giới kỹ thuật, từng có nhiều th viện tính toán kèm theo mã nguồn viết trênFORTRAN, BASIC

- Từ 1970 - 1980: Donald Knuth phát triển hệ xử lý văn bản nguồn mở

TeX

- Năm 1983: Richrd Stallman đa ra tuyên ngôn GNU (GNU is Not Unix):

Các phần mềm đợc hàng triệu ngời sử dụng (hệ điều hành, hệ soạn thảo văn bản)

là tài sản văn hoá chung của nhân loại, cần đợc công khai mã nguồn miễn phí vàxem nh phần mềm nguồn mở Công lao chính của ông là tạo ra giấy phép nguồn

mở GNU – viết tắt là GPL, chủ yếu nhằm bảo vệ quyền cho phép bất kỳ ai cũng

có thể sử dụng, sửa đổi và phân phối lại mã nguồn của chơng trình gốc và các

ch-ơng trình dẫn xuất

- Năm 1984: Dự án GNU và tổ chức phần mềm tự do FSF đã thực hiện một

loại chơng trình PMNM Thông qua dự án GNU của FSF, những công cụ lậptrình nh Emacs, GCC, GNU C++, GNU Ada, GNU Pascal, G77, F2C v.v… và vànhiều phần mềm khác đã gặt hái thành công Chính đề án GNU và giấy pháp mãnguồn mở GPL là nền tảng then chốt cho sự phát triển của thế giới mã nguồn mởtrong đó có Linux

- Năm 1985: MIT công bố mã nguồn mở của X-Window (hệ thống giao

diện cho các HDH dòng UNIX) nh là thành quả của dự án phát triển phầm mềmdùng cho đào tạo

- Năm 1991: Linus Torvalds viết phần nhân của hệ điều hành Linux và

công khai mã nguồn trên Internet Nó có thể hoạt động trên điện thoại di độngcũng nh những máy tính phức tạp Và phát minh của Torvalds có thể downloadmiễn phí Từ đó bắt đầu một phong trào rầm rộ các tình nguyện viên phát triểnLinux (từ 1 năm 1991 đến 8.10 năm 1998)

- Năm 1995: Phần mềm nguồn mở Apache Web Server 1.0 đợc công bố,

ngay lập tức đợc nhiều ngời dùng làm Web Server và tiếp tục phát triển mạnh mẽcho đến hiện nay

Trang 7

- Năm 1997: Eric Raymond đúc kết những thành công trong dự án phần

mềm nguồn mở fetchmail (một chơng trình nhận mail từ server kiểu nh MSOutlook)

- Năm 1998: The Open Source Initiative – một tổ chức xúc tiến phần

mềm nguồn mở miễn phí đợc thành lập bởi 2 nhà lập trình Eric Raymond vàBruce Perens Hai ông cho rằng, từ miễn phí nên thay bằng mở để tránh sự nhầmlẫn Vì vậy, bằng cách đặt lại tên từ miễn phí thành phần mềm mở, Bruce Perens

và đồng nghiệp của ông hi vọng rằng những hình mẫu doanh nghiệp mới sẽ đợc

mở rộng Netscape công bố mã nguồn Netscape Nagivator đã tạo ra sự cạnhtranh, kết quả là ngời dùng có lợi từ cả các trình duyệt nguồn mở miễn phí vàtrình duyệt nguồn đóng (IE)

- Từ năm 1998 đến nay: Phong trào phần mềm nguồn mở đã phát triểm

mạnh mẽ ở nhiều nớc với việc ca ngợi, đề cao Linux (coi là cứu cánh, là giảipháp duy nhất cho các nớc nghèo)

Cộng đồng Linux đã đạt đợc những thành công nhất định trong các lĩnh cựcNetwork Server, Web Server

 Phần mềm nguồn mở, các hệ điều hành:

- Các hệ điều hành nguồn mở dòng Linux: Red Hat, OpenLinux, Debin,

ManDrake, SuSE, TurboLinux, VA Linux, Nirvana, Slackware

- Các hệ điều hành nguồn mở dòng BSD: FreeBSD, NetBSD, OpenBSD.

- Mail Client: Netscape Messenger, MS Outlook, MS Internet Mail,

Qualcomm Eudora, Kmail, (versions hỗ trợ S/MIME)

- Trình duyệt Web: MS IE, Netscape Navigator, Mozila, Opera,

Konqueror, Galeon, Nautilus

Trang 8

- Mô phỏng Windows: Conntectix Virtual PC, Lindows, Wine.

 Phần mềm nguồn mở, phần mềm server:

- Web: Apache (61,4%), MS IIS *28,5%), Sun iPlanet (2%), Zeus (1,4%).

- Th điện tử: Cyrus IMAP, Postfix SMTP, Sendmail, Quickmail,

Fetchmail

- Xác thực: Cistron Radius

- Cấp đại chỉ động: ISC DHCP

- Tổ chức danh bạ: Michigan Univ, OpenLDAP

- Dịch vụ tên miền: ISC Bind

- Khác: Tomcat (Java servlet), Squid (proxy), Proftp (FTP).

 Phần mềm nguồn mở, công cụ lập trình:

- Trình dịch: Borland Kylix (C++), GNU C, GNU C++, Sun JDK (Java),

PERL, PHP

- Web Portal: Borland Jbuilder, IBM WebSphere Studio Application

Developer, Sun J2EE

- Windows: Microsoft Visual Studio Net

- Soạn trang Web: Webalizer

- Phát triển ứng dụng điểm - điểm: Sun JXTA

- Chuyển đổi: Sun LinCat (Linux Compatibility Assurance Toolkit)

2 Các hệ phần mềm nguồn mở phổ biến:

 Linux & Unix:

Những năm 70, trào lu UNIX phát triển mạnh mẽ (đợc viết đầu tiên bởi

AT &T Bell Labs cho máy tính lớn – mainframe) Hầu hết các trờng Đại họctrên thế giới đều nghiên cứu phát triển UNIX (vì tại thời điểm đó đây là HĐHmiễn phí, mã nguồn mở duy nhất) Tuy nhiên việc này làm UNIX bị phân ranhiều nhánh Việc liên kết các mạng riêng UNIX là tiền đề cho sự ra đời củamạng Internet Sau khi PC ra đời, trào lu UNIX lắng xuống với sự ra đời và pháttriển của một loạt các hệ điều hành: DOS, OS/2, Netware, Windows, NT

Trào lu UNIX sống lại lần thứ hai với sự ra đời của Linux Giai đoạn pháttriển thứ hai của Linux, đợc gọi là Linux/GNU đang đợc toàn thế giới quan tâm(không chỉ các chuyên gia lập trình mà còn có các nguyên thủ quốc gia, các nhàhoạch định chính sách)

Linux đợc thiết kế giống hệt Unix (98% lệch của Linux giống Unix) cónhững đặc điểm sau:

- Linux đợc viết cho PC, trong khi Unix sử dụng cho các máy tính lớn

- Linux là phần mềm mã nguồn mở, có thể nghiên cứu, sửa đổi theo nhu cầu

- Bản quyền: Khi UNIX bùng nổ, không có luật lệ ràng buộc, vì vậy phát triển

tự phát, không kiểm soát đợc Còn sự phát triển của Linux đợc kiểm soát bởi

Trang 9

tổ chức GNU, đảm bảo hàng triệu lập trình viên phát triển các bản Linux khácnhau nhng vẫn chung một phần lõi Linux.

- Sự phát triển mạnh mẽ của Microsoft với hệ điều hành Windows đã gây ra

sự bất bình lớn trong thế giới IT về các hành động độc quyền Chính thái độnày đã đẩy cộng đồng gần hơn với Linux

- Với đặc điểm là một hệ điều hành đa nhiệm, mạnh mẽ và ổn định (do thiết

kế dựa theo kiến trúc của Unix) Linux là một hệ điều hành đáng tin cậy Điềunày đợc chứng tỏ dựa vào tỷ lệ máy chủ chạy Linux

- Với mã nguồn mở, Linux đang là sự lựa chọn số một, mang tính chiến lợccủa các nớc không muốn phụ thuộc bí mật quốc gia của mình vào một hãngphần mềm

- Linux đợc coi là đối thủ nặng ký nhất của Windows Tuy nhiên, trên môi ờng Desktop, u thế này vẫn cha đợc khẳng định

tr- Apache: A patchy web server

- Là phần mềm web Server do đội ngũ tình nguyện viên đông đảo củaphần lớn các nớc Mỹ, Anh, Canada, Đức, ý thực hiện toàn bộ các công việcphát triển Apache chạy trên các hệ điều hành tơng tự nh Unix, MicrosoftWindows, Novell Netware và các hệ điều hành khác Apache đóng một vaitrò quan trọng trong quá trình phát triển của mạng web thế giới

- Cung cấp hệ thống HTTP server ổn định, bảo mật quan trọng nhất là cómã nguồn mở

- Đây là phần mềm Server nguồn mở số 1 chiếm 57% thị phần WebServernăm 1999, 67% năm 2996 và có tới 20 Công ty hỗ trợ trong đó có cả IBM Khi

đợc phát hành lần đầu, Apache là chơng trình máy chủ mã nguồn mở duy nhất

có khả năng cạnh tranh với chơng trình máy chủ tơng tự của NetscapeCommunications Corporation mà ngày nay đợc biết đến qua tên thơng mạiSun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển

và trở thành một phần mềm có sức cạnh tranh mạnh so với các chơng trìnhmáy chủ khác về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm 1996,Apache trở thành một chơng trình máy chủ HTTP thông dụng nhất Hơn nữa,Apache thờng đợc dùng để so sánh với các phầm mềm khác có chức năng tơng

tự, Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trờng các chơngtrình phân phối trang web

- Apache tận dụng đợc tính năng của third - party Bởi vì đây là nguồn mởnên bất kỳ ai có khả năng đều có thể viết chơng trình mở rộng tính năng củaApache PHP hoạt động với t cách là một phần mở rộng của Apache, và ngời

ta gọi là một module của Apache Tuy nhiên, cũng có một số sự nhàm chán về

Trang 10

nó là không hỗ trợ công cụ đồ học trực quan, điều có thể giúp ngời ta làm việcmột cách dễ dàng hơn.

- Apache đợc phát triển và duy trì bởi một cộng đồng mã nguồn mở dới sựbảo trợ của Apache Software Foundation Apache đợc phát hành với giấy phépApache License và là một phần mềm tự do và miễn phí

- Apache là một kiểu mẫu Web Server rất phổ biến Giống nh Linux, PHP,MySQL Nó là một dự án nguồn mở Không có gì ngạc nhiên khi ngời ta thấyApache đợc hỗ trợ rất tốt trên môi trờng Unix, nhng chỉ khá tốt trongWindows

 PHP: PHP Hypertext Preprocessor.

- Là ngôn ngữ lập trình kịch bản phía máy chủ, mã nguồn mở PHP thíchhợp với các trang Web, đợc tối u hoá cho ứng dụng Web do tính nhanh và nhỏgọn PHP có cú pháp giống ngôn ngữ C và Java nên dễ học, thời gian xây dựngsản phẩm tơng đối ngắn so với các ngôn ngữ khác PHP là một trong các ngônngữ lập trình Web phổ biến nhất trên thế giới

- PHP đợc phát triển từ ngôn ngữ kịch bản với mục đích xây dựng trang

web cá nhân Sau đó đợc phát triển thành một ngôn ngữ hoàn chỉnh và đợc achuộng trên toàn thế giới trong việc phát triển các ứng dụng web basrd

Phiên bản đầu tiên của PHP đợc phát triển năm 1994 do Ramus Lerdorfsáng tạo, lúc đầu là tập các mã đơn giản Perl để theo dõi trang web cá nhân,sau đó đợc phát triển bởi một bộ thực thi C, có thể truy vấn đợc CSDL Sau đó,PHP đợc phát triển thêm một số chức năng mới gọi là FormInterpreter(PHP/FI) và có đợc sự quan tâm lớn từ phía cộng đồng

- Khi sử dụng PHP, ngời dùng sẽ có đợc tốc độ nhanh hơn nhiều so với cácngôn ngữ kịch bản khác, bởi PHP là phần mềm mã nguồn mở PHP có cú phápgiống ngôn ngữ C và Java nên dễ học, đợc hỗ trợ bởi nhiều lập trình viên giỏi,

có số lợng ngời dùng đông đảo Ngoài ra PHP chạy đợc trên nhiều hệ điềuhành khác nhau

- PHP cho phép tách phần HTML code và phần script, do đó có thể độc lậpgiữa công việc phát triển mã và thiết kế

Trang 11

- Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng

Các phần mềm (mở hay đóng) đều thực hiện theo các bớc sau:

- Xác định các yêu cầu phần mềm (Requirement Engineering)

 Quy trình phát triển phần mềm nguồn đóng:

Các phần mềm nguồn đóng tuân thủ nghiêm ngặt theo các bớc của quytrình nêu trên Tuy nhiên, phần mềm nguồn đóng thờng phụ thuộc hệ điều hành,

sử dụng các hàm của hệ điều hành đó (các hàm API – ApplicationProgramming Interface)

- Các hàm API đợc mô tả chi tiết về dữ liệu đầu vào, đầu ra, các hoạt động(tài liệu của nhà cung cấp hệ điều hành)

- Không đợc biết mã nguồn của hàm (vì đó là bí mật kinh doanh của nhàcung cấp hệ điều hành)

- Nhà cung cấp chịu trách nhiệm đảm bảo hàm hoạt động đúng theo mô tả

 Mô hình phát triển phần mềm nguồn mở:

Mô hình phát triển phần mềm nguồn mở có đủ tất cả các giai đoạn củaquy trình phát triển phần mềm nói chung Dự án phần mềm nguồn mở đợc làm 2theo tính chất:

- Dự án đợc tài trợ toàn phần: Kinh phí đợc tài trợ toàn phần bởi các

tổ chức Quy trình phát triển giống bất kỳ dự án phần mềm thơng mại nào khác(nhng tính chất lại là nguồn mở)

- Dự án không đợc tài trợ: Không đợc hỗ trợ kinh phí, mọi ngời tham

gia dự án với tính chất phi thơng mại tuy nhiên vẫn có những điều khoản quy

định: Cung cấp mã nguồn miễn phí hay có phí, ngời sử dụng có quyền sửa đổi và

sử dụng mã nguồn hay không

Trang 12

 Các quy trình của dự án phần mềm nguồn mở:

(1) Xác định yêu cầu của phần mềm (Requirement Engineering):

- Thông thờng các yêu cầu phầm mềm đợc phân tán và lan truyền trênInternet

- Lập trình viên và những ngời quan tâm trao đổi các thông tin về đặctính của hệ thống và công cụ

(2) Phân tích hệ thống phần mềm (Analysis): Thông thờng, các phân tích

hệ thống không đợc thực hiện trên các dự án không đợc tài trợ

(3) Thiết kế chi tiết (Design): Đây cũng là một bớc bị xem nhẹ trong quá

trình phát triển phần mềm nguồn mở Thông thờng, thiết kế chi tiết đợc thực hiện

ở giai đoạn thực hiện

(4) Thực hiện (Development): Cơ hội viết mã nguồn đợc xem là động cơ

chính thúc đẩy cá nhân tham gia vào dự án

(5) Kiểm thử (Testing): Các chức năng của phần mềm đợc kiểm thử miễn

phí và tích cực vì ngời tiêu dùng không phải trả tiền sử dụng phần mềm

(6) Triển khai: Phần mềm đợc tự triển khai bởi ngời sử dụng

(7) Bão dỡng: Phần mềm nguồn mở không cần bão dỡng

 Các đặc điểm của quá trình phát triển phần mềm nguồn mở

- Trao đổi thông tin: Quá trình trao đổi thông tin giữa các thành viên trong dự

án nguồn mở thông thờng đợc thực hiện trên các dịch vụ Internet (Email lists,Newsgroups của các Website của dự án)

- Khả năng hợp tác lớn và không phụ thuộc vào vị trí địa lý của các thànhviên

- Khả năng thực hiện song song: Nếu nh mô hình các thành phần đã đợcxác định thì có thể tổ chức các nhóm lập trình viên giải quyết các nhiệm vụ

độc lập Lập trình viên tham gia theo sở thích nên quá trình thực hiện rấtnhanh chóng

- Tránh đợc hiện tợng Code Focking (phân nhánh) là hiện tợng thờng gặpphải khi có nhiều phiên bản mã nguồn của phần mềm - nhất là trong các dự

án lớn

 Các u điểm của mô hình phát triển phần mền nguồn mở

Phát triển phần mền nguồn mở cho phép xây dựng các sản phẩm phầnmềm chất lợng và miễn phí dựa trên sự hợp tác của đông đảo các lập trình viên(ví dụ nh Lunix)

- Thúc đẩy quá trình tham gia của nhiều ngời vào quá trình xây dựng vàphát triển phần mềm Phát triển phần mềm nguồn mở là quá trình tự phát triển,

Trang 13

nếu dự án phần mềm nguồn mở thu hút đợc sự quan tâm của đông đảo ngời sửdụng thì nó sẽ phát triển rất nhanh chóng.

- Phần mềm nguồn mở cho phép kiểm soát mã nguồn, kiểm thử và gỡ lỗivới chất lợng cao hơn các phần mềm nguồn đóng

- Phần mềm nguồn mở thúc đẩy khả năng tái sử dụng của mã Lập trìnhviên có khả năng truy cập toàn bộ mã nguồn và có khả năng để lựa chọn sử dụng

và kế thừa những gì cần thiết

3.2 Cộng đồng phần mềm nguồn mở

Nếu nh phần mềm nguồn đóng đợc phát triển bởi một đội dự án thì phầnmềm nguồn mở đợc phát triển bởi cả một cộng đồng Cộng đồng phần mềmnguồn mở là lực lợng điều khiển sự tiến hoá của phần mềm nguồn mở Để thamgia cộng đồng hoặc xây dựng phát triển và duy trì cộng đồng, phải nắm đ ợc bảnchất, cấu trúc, hoạt động của cộng đồng đó

 Các thành viên trong cộng đồng

Một số nhóm nghiên cứu phần mềm nguồn mở phân định ra 8 loại thànhviên trong cộng đồng phần mềm nguồn mở:

- Ngời dùng thụ động (passive User): Chỉ đơn thuần sử dụng các phần

mềm nh các phần mềm thơng mại, quan tâm đến phần mềm nguồn mở chủ yếu

do chất lợng và khả năng tự thay đổi khi cần thiết

- Ngời đọc (reader): Ngời dùng chủ động, tích cực, không chỉ sử dụng mà

còn cố gắng tìm hiểu xem hệ thống hoạt động nh thế nào bằng cách đọc mãnguồn đóng vai trò nh ngời xét duyệt (Peer Reviewers) trong tổ chức phát triểnphần mềm truyền thống

- Ngời báo lỗi (Bug Reporter): Phát hiện và thông báo lỗi (không sửa lỗi

và có thể không đọc mã nguồn), đóng vai trò của ngời kiểm thử (testers) trong tổchức phần mềm truyền thống

- Ngời sửa lỗi ( Bug Fixer): Sửa các lỗi do họ phát hiện hoặc ngời khác

thông báo Phải đọc, hiểu cặn kẽ phần mã nguồn phát sinh lỗi thì mới có thểchỉnh sửa đợc

- Ngời phát triển ngoại vi ( peripheral Developer): Đóng góp thêm các

chức năng, tính năng mới cho hệ thống (đóng góp là không thờng xuyên do đóthời gian tham gia ngắn)

- Ngời phát triển tích cực ( Active Developer): Thờng xuyên đóng góp các

tính năng mới và giải quyết các lỗi Là lực lợng phát triển chủ yếu của các hệthống phần mềm mã nguồn mở

- Thành viên cốt cán (core Member): Chịu trách nhiệm dẫn dắt, điều phối

sự phát triển của dự án phần mềm nguồn mở Là những ngời “thờng trực” của dự

án, tham gia với thời gian đủ dài và có những đóng góp nhất định cho sự tiến hoá

Trang 14

và phát triển của hệ thống Trong một số công đồng phần mềm mã nguồn mở,những thành viên cốt cán đợc gọi là những ngời bảo trì ( Maintainers)

- Trởng dự án ( Project Leader): Là ngời nêu sáng kiến, tạp chí dự án, có

trách nhiệm quán xuyến hớng phát triển của dự án

Không phải cả 8 loại nêu trên nhất thiết có trong dự án phần mềm nguồn

mở Tỷ lệ phân bố có thể khác nhau, tên gọi các loại thành viên trong từng dự áncũng có thể khác nhau Điều đáng chú ý ở đây là trong dự án phần mềm thơngmại, vai trò của các thành viên là “bị đình chỉ” bởi lãnh đạo, cấp trên còn trongtrong dự án phần mềm nguồn mở, các thành viên tự xác định vai trò của mìnhtheo khả năng và sở thích cá nhân

 Cấu trúc cộng đồng:

Cấu trúc đĩa bao từ ngoài vào trong (có thể coi là cấu trúc phân cấp).Trung cấp của đĩa là trởng dự án Càng gần tâm thì vai trò của thành viên càng

có nhiều ảnh hởng tới dự án

- Vòng ngoài cùng là ngời dùng thụ động, là thành viên ít có ảnh hởng tới

dự án nhất Tuy nhiên lại có vai trò quyết định tới sự tồn tại và phát triển dự án

Điều này thể hiện ở chỗ nếu có đông đảo ngời dùng quan tâm đến dự án sẽ kíchthích thành viên cốt cán làm việc hăng say hơn- tạo nên yếu tố tâm lý và xã hội

- Vai trò và ảnh hởng trong cộng đồng không liên quan đến tuổi tác và

địa vị của thành viên Càng đóng góp nhiều thì thnhf viên càng tiến gần vào tâmcủa cấu trúc hơn (việc thay đổi vai trò thờng xuyên, không cố định nh phần mềmthơng mại)

- Để duy trì cộng đồng phần mềm mở có đớc sự phát triển bền vững, phải

đảm bảo tính cân dối trong cấu trúc Nếu tất cả các thành viên là ngời dùng thụ

động thì phần không thể tiến hoá đợc, còn nếu tất cả đều là thành viên cốt cán thìkhó có thể điều hoà mọi cố gắng, sự phát triển của phần mềm Do đó tạo nên sựtiến hoá không bền vững của phần mềm

- Phân bố thành viên trong từng cộng đồng phần mềm nguồn mở khácnhau phụ thuộc vào bản chất của từng hệ phần mềm nguồn mở

- Nói chung, phần lớn thành viên là ngời dùng thụ động (trong cộng đồngApache, 99% thành viên là ngời dùng thụ động)

- Tỷ lệ ngời dùng giảm nhanh từ ngời đọc đến thành viên cốt cán Đa sốcác phần mềm nguồn mở chỉ do số ít các thành viên thực sự phát triển

 Cấu trúc của một số dự án phần mềm nguồn

- GNU (GNU, s not UNIX): GUN là dự án xây dựng các phần mềm hệthống nguồn mở chạy trên các hệ thống Unix nhng không phải là UNIX (Viết tắtcụm từ GNU,s Not UNIX)

 Một số phần mềm GNU:

Trang 15

Phần mềm hệ thống

- Bash: command shell

- Emacs: hệ soạn thảo văn bản

- Gnash: Flash player

- GNOME: hệ thống giao diện

 Trởng dự án (project Leader):

- Các chơng trình GNU thờng do trởng dự án đề xuất dới dự trợ giúp đắc

lực của các thành viên cốt cán

- Trởng dự án đa ra phần lớn các quyết định về phát triển của hệ thống,

quyết định đóng góp nào đợc ghi nhận và đa ra phần mềm nguồn mở đó

 Ngời phát triển tích cực (Active Developer): Là thành viên đóng góp bằng

chơng trình và mã nguồn Họ là cầu nối trung gian để cải tiến các mã nguồn

do ngời phát triển ngoại vi và ngời sửa lỗi thực hiện, đồng thời lựa chọn mãnguồn tốt để trởng dự án xem xét và quyết định tích hợp vào sản phẩm phầnmềm nguồn mở

 Ngời đọc (Reader): GNU là một phần mềm cho chất lợng cao, đợc phát triển

bởi đội ngũ lập trinh chuyên nghiệp nên có cộng đồng đảo ngời đọc Qua việctìm hiểu hoạt động của hệ thống bằng cách đọc mã nguồn, ngời đọc GNU thu

đợc nhiều hiểu biết về kỹ năng lập trình, các tri thức hữu ích Họ là ngời xétduyệt tốt cho phần mềm

- LUNIX

Trởng dự án: Linus Torvalds, cùng một số ít thành viên cốt cán chịu trách

nhiệm phát triển các hệ thống con

Ngời phát triển tích cực: Nhiều ngời phát triển tích cực làm việc trên các

bài toán độc lập (viết trình điều khiển cho các thiết bị mới)

Ngời dùng thụ động: Lực lợng ngời dùng thụ động rất đông đảo, họ

không quan tâm đến việc đọc hay hiểu mã nguồn

- PostgreSQL

Hệ quản trị cơ sở dữ liệu đối tợng – quan hệ (Object – RelationalDatabase) PostgreSQL là phần mềm nguồn mở tơng tự MySQL

Trởng dự án: Không có trởng dự án duy nhất nh Linux, do các thành viên

cốt cán liên lực với nhau qua mailing-list để thảo luận và quyết định hớng đi của

Trang 16

hệ thống Việc đa vào hệ thống một cách năng mới phải do ít nhất 1 thành viêncốt cán đa ra và đợc bỏ phiếu bởi tất cả các thành viên cốt cán.

Ngời phát triển tích cực (nhóm phát triển chủ đạo): Gồm khoảng 30

ng-ời, phát triển các chơng trình dới dạng gói và chỉ đợc tích hợp vào hệ thống khi

đợc phê duyệt bởi các thành viên cốt cán

Ngời dùng thụ động & ngời báo lỗi: Phần lớn thành viên thuộc loại này.

Số ngời đọc ít, ngời sửa lỗi lại càng ít hơn

- Jun: Là dự án nguồn mở thuộc lĩnh vực đa phơng tiện

Trởng dự án: Có 1 trởng dự án (Atsuki Aoki), làm việc với các thành viên

cốt cán Tất cả các phát triển đều thực hiện trong nhóm này

Ngời báo lỗi: Rất ít ngời báo lỗi do phiên bản chỉ đợc công bố sau khi đã

kiểm thử cẩn thận

Ngời đọc: Số lợng ít, phần lớn đọc mã nguồn Jun để học hỏi và sử dụng

cho hệ thống tơng tự viết trên ngôn ngữ khác

 Tiến hoá của hệ thống và cộng đồng

Xem xét đặc tính tiến hoá của hệ thống phần mềm nguồn mở bằng cáchphân tích sự tiến hoá của 4 hệ thống đã nêu trên

- GNU:

(1) Đây là một dự án chất lợng cao, phiên bản thống nhất và “sạch” Đặc

điểm tiến hoá của hệ thống này là: một gói chơng trình trớc khi đợc tích hợpvào phiên bản chính thức phải đợc kiểm thử và chỉnh sữa kỹ

(2) Mẫu hình tiến hoá của GNU là tập trung theo một luồng trục chính

- Linux:

(1) Cho phép nhiều cách cài đặt khác nhau cho cùng 1 chức năng.

(2) Có thể có nhiều nhanh tiến hoá khác nhau từ cùng một chơng trình.

(3) Mẫu hình tiến hoá của Linux là mẫu hình phân rã

- PostgreSQL:

(1): PostgreSQL có thể đợc coi là giải pháp hỗn hợp Mỗi khi có yêu cầu

mới, ngời phát triển tích cực tự tạo đội để triển khai đáp ứng yêu cầu đó

(2): Tuy nhiên những cài đặt trên (đợc nhiều nhóm phát triển cho cùngmột chức năng) chỉ tồn tại trong một khoảng thời gian nhất định, sau đó sẽ đợccác thành viên cốt cán xem xét tích hợp vào phiên bản lõi

(3): Mẫu hình tiến hoá của PostgreSQL là mẫu hình hội tụ từ nhiềunhánh vào một cành chung

- Jun:

(1): Có ít ngời tham gia phát triển, tiến hoá theo mẫu hình tuyến tính

đơn (cây có một nhánh) với các phiên bản kế tiếp nhau

Trang 17

(2): Trớc khi công bố ra cộng đồng, các thành viên của Jun đã kiểm thửrất nhiều phiên bản nội bộ để có đợc một phiên bản tốt cho cộng đồng.

Sự tiến hoá của cộng đồng phần mềm nguồn mở liên quan đến sự thay đổivai trò của các thành viên Không giống dự án phầm mềm thơng mại, ở dự ánphần mềm nguồn mở thành viên có thể thay đổi vai trò của mình theo khả năng

và sở thích, mối quan tâm và thời gian

Con đờng từ một thành viên mới đến thành viên cốt cán:

- Bị cuốn hút vào cộng đồng phần mềm nguồn mở vì phần mềm ấy có thể giảiquyết đợc những vấn đề mà thành viên ấy quan tâm

- Tính sâu sắc, kỹ năng cao và độc đáo của một hệ phần mềm nguồn mở là

động lực chính thu hút các thành viên mới học hỏi nhiều hơn bằng cách đọcmã nguồn và chuyển thành ngời đọc

- Từ hiểu mã nguồn thành viên (giờ đã là ngời đọc) có thể gỡ lỗi do mình tìm

ra hoặc ngờikhác thông báo và chuyển thành ngời gỡ rối

- Muốn có thêm một số chức năng mới để hệ thống mạnh hơn, đáp ứng nhucầu tốt hơn, thành viên phải cải tiến mã nguồn của chơng trình và trở thànhngời phát triển ngoại vi

- Thành viên có nhiều đóng góp đợc cộng đồng thừa nhận đợc coi là ngời pháttriển

- Thành viên có uy tín đủ cao thì đợc coi là thành viên cốt lõi

Sự tiến hoá của cộng đồng phần mềm nguồn mở thực chất là quá trình học

để nâng cao trình độ của từng thành viên Tuy nhiên, để có đợc sự thừa nhận củacộng đồng, không phải thành viên nào muốn cũng có thể đi sâu vào bên trong màcòn phải phụ thuộc vào năng lực của chính thành viên đó Phần lớn các thànhviên di chuyển qua lại tại 3 lớp ngoài cùng

Có 2 yếu tố quan trọng cho sự tiến hoá của cộng đồng

- Sự có mặt của thành viên có mong muốn đóng góp và tăng ảnh hởng củamình trong cộng đồng

- Cơ chế xã hội của cộng đồng trong việc khuyến khích và cho phép thànhviên thay đổi vai trò của mình một cách dễ dàng

Phần mềm nguồn mở muốn phát triển bền vững thì phải có đợc cả sự pháttriển của hệ thống và cộng đồng của nó

3.3 Các mô hình kinh doanh phần mềm nguồn mở

Thông thờng, ngời dùng phần mềm nguồn mở đều tin tởng phần mềmnguồn mở có chi phí rất thấp Song thực tế “không hẳn 100% các phần mềmnguồn mở đều rẻ hơn các phầm mềm có bản quyền Nhìn qua giá phần mềm củaMicrosoft và Linux, có thể thấy, nguồn mở rẻ hơn rất nhiều

Trang 18

Mô hình kinh doanh của một số doanh nghiệp nguồn mở (chủ yếu kinhdoanh từ các dịch vụ bổ sung nh t vấn và hỗ trợ Phân biệt giữa kinh doanh dựasản phẩm (product related business) và kinh doanh dựa vào các dịch vụ (servicerelated busines): Các nhà cung cấp dịch vụ và hỗ trợ đa ra các dịch vụ nh: t vấn,tích hợp, triển khai hệ thống, ácc dịch vụ hỗ trợ, đào tạo, tuyển nhân sự và cungcấp nhân sự.

4 cài đặt web server:

Một trong những khó khăn ban đầu của ngời mới làm quen với ứng dụng

hệ phần mềm nguồn mở đó là cài đặt Web Server Đa phần cảm thấy khó khăn trong việc cài đặt Apache (Web Server) + MySQL (Database Server) + PHP và

cấu hình sao cho chúng làm việc tốt với nhau Tuy nhiên có một giải pháp khátiện lợi, là sử dụng gói cài đặt tích hợp gồm Apache + MySQL + PHP +PHPMyAdmin (một công cụ quản trị CSDL) Chỉ cần download bản cài đặt vàtiến hành cài đặt

Có 2 sản phẩm rất nổi tiếng là XAMPP và WAMP Tuy nhiên với mục

đích cài đặt trên localhost để chạy thử thì WAMP chính là lựa chọn đầu tiên

WAMP: Một gói phần mềm Web Server tất cả trong một (All-in-One) gồm: Apache, MySQL, PHP chạy trên nền Windows.

Trang 19

Giao diện quản trị Webserver WAMP

Các đặc điểm nổi trội của WAMP

- Cài đặt WAMP dễ dàng

- WAMP đợc cập nhật đều đặn

- Cho phép lựa chọn các phiên bản PHP, MySQL khác nhau

- Thuận lợi cho việc tạo máy chủ Web để chạy thử, thiết kế Website bằngPHP

- Hỗ trợ phiên bản PHP5 mới nhất

- Tơng thích Windows XP / Windows Vista / Windows 7

- Hoàn toàn miễn phí

Download bản cài đặt WAMP

- Download WAMP tại địa chỉ http://www.wampserver.com/en/download.php

Trang 20

Nhấn [Yes] để tiến hành cài đặt

Bớc 2: Xác nhận cài đặt : Yêu cầu tắt các ứng dụng trớc khi tiến hành cài đặt

Nhấn [Next] và thực hiện các bớc tiếp theo

Bớc 3: Chọn trình duyệt cho web server khi chạy http://localhost

Trang 21

Nếu Nếu trên máy có cài trình duyệt Firefox và muốn chọn Firefox làm trình

duyệt mặc định khi mở http://localhost thì nhấn [Yes]

Bớc 4: Điền các thông số để gửi/nhận mail qua SMTP sever.

Điền các thông số để có thể gửi/nhận mail thông qua một SMTP server.

Nếu không biết hãy để mặc định và nhấn [Next]

Bớc 5: Kết thúc cài đặt

Trang 22

Nhấn nút [Finish] để hoàn tất quá trình cài đặt

Hoàn tất việc cài đặt và chạy thử

Sau khi cài đặt thành công, biểu tợng của WAMP sẽ xuất hiện ở góc màn

hình nh dới đây:

- Để chạy thử, nhấn vào mục "localhost" Hoặc mở trình duyệt và gõ địa chỉ http://localhost

Ngày đăng: 27/12/2013, 21:10

HÌNH ẢNH LIÊN QUAN

2.2.2. Bảng liên hệ với quản trị 28 - Xây dựng website thời trang shop3d
2.2.2. Bảng liên hệ với quản trị 28 (Trang 2)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w